@atlaskit/media-card 79.15.2 → 79.15.3
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 +6 -0
- package/dist/cjs/card/cardAnalytics.js +2 -1
- package/dist/cjs/card/fileCard.js +37 -15
- package/dist/cjs/inline/mediaInlineCardAnalytics.js +7 -3
- package/dist/cjs/utils/analytics/analytics.js +3 -1
- package/dist/cjs/utils/metadata.js +2 -1
- package/dist/es2019/card/cardAnalytics.js +2 -2
- package/dist/es2019/card/fileCard.js +37 -15
- package/dist/es2019/inline/mediaInlineCardAnalytics.js +7 -3
- package/dist/es2019/utils/analytics/analytics.js +3 -1
- package/dist/es2019/utils/metadata.js +2 -1
- package/dist/esm/card/cardAnalytics.js +2 -1
- package/dist/esm/card/fileCard.js +37 -15
- package/dist/esm/inline/mediaInlineCardAnalytics.js +7 -3
- package/dist/esm/utils/analytics/analytics.js +3 -1
- package/dist/esm/utils/metadata.js +2 -1
- package/dist/types/card/cardAnalytics.d.ts +2 -1
- package/dist/types/card/fileCard.d.ts +4 -1
- package/dist/types/card/inlinePlayerWrapperStyles.d.ts +1 -1
- package/dist/types/card/types.d.ts +5 -0
- package/dist/types/card/ui/actionsBar/cardActions/styles.d.ts +1 -1
- package/dist/types/card/ui/actionsBar/styles.d.ts +1 -1
- package/dist/types/card/ui/blanket/styles.d.ts +1 -1
- package/dist/types/card/ui/iconWrapper/styles.d.ts +1 -1
- package/dist/types/card/ui/playButton/styles.d.ts +2 -2
- package/dist/types/card/ui/progressBar/styles.d.ts +1 -1
- package/dist/types/card/ui/titleBox/styles.d.ts +6 -6
- package/dist/types/card/ui/wrapper/styles.d.ts +1 -1
- package/dist/types/inline/mediaInlineCardAnalytics.d.ts +2 -1
- package/dist/types/utils/analytics/analytics.d.ts +4 -1
- package/dist/types/utils/lightCards/errorIcon/styles.d.ts +1 -1
- package/dist/types/utils/lightCards/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/cardAnalytics.d.ts +2 -1
- package/dist/types-ts4.5/card/fileCard.d.ts +4 -1
- package/dist/types-ts4.5/card/inlinePlayerWrapperStyles.d.ts +1 -1
- package/dist/types-ts4.5/card/types.d.ts +5 -0
- package/dist/types-ts4.5/card/ui/actionsBar/cardActions/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/ui/actionsBar/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/ui/blanket/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/ui/iconWrapper/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/ui/playButton/styles.d.ts +2 -2
- package/dist/types-ts4.5/card/ui/progressBar/styles.d.ts +1 -1
- package/dist/types-ts4.5/card/ui/titleBox/styles.d.ts +6 -6
- package/dist/types-ts4.5/card/ui/wrapper/styles.d.ts +1 -1
- package/dist/types-ts4.5/inline/mediaInlineCardAnalytics.d.ts +2 -1
- package/dist/types-ts4.5/utils/analytics/analytics.d.ts +4 -1
- package/dist/types-ts4.5/utils/lightCards/errorIcon/styles.d.ts +1 -1
- package/dist/types-ts4.5/utils/lightCards/styles.d.ts +1 -1
- package/package.json +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -13,6 +13,7 @@ var fireOperationalEvent = exports.fireOperationalEvent = function fireOperation
|
|
|
13
13
|
var error = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : new _errors.MediaCardError('missing-error-data');
|
|
14
14
|
var traceContext = arguments.length > 6 ? arguments[6] : undefined;
|
|
15
15
|
var metadataTraceContext = arguments.length > 7 ? arguments[7] : undefined;
|
|
16
|
+
var processingFailReason = arguments.length > 8 ? arguments[8] : undefined;
|
|
16
17
|
var fireEvent = function fireEvent(payload) {
|
|
17
18
|
return (0, _analytics.fireMediaCardEvent)(payload, createAnalyticsEvent);
|
|
18
19
|
};
|
|
@@ -27,7 +28,7 @@ var fireOperationalEvent = exports.fireOperationalEvent = function fireOperation
|
|
|
27
28
|
break;
|
|
28
29
|
case 'failed-processing':
|
|
29
30
|
// Always emit failed events (no sampling)
|
|
30
|
-
fireEvent((0, _analytics.getRenderFailedFileStatusPayload)(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext));
|
|
31
|
+
fireEvent((0, _analytics.getRenderFailedFileStatusPayload)(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason));
|
|
31
32
|
break;
|
|
32
33
|
case 'error':
|
|
33
34
|
// Always emit error events (no sampling)
|
|
@@ -92,6 +92,7 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
|
|
|
92
92
|
videoControlsWrapperRef = _ref.videoControlsWrapperRef,
|
|
93
93
|
viewerOptions = _ref.viewerOptions,
|
|
94
94
|
includeHashForDuplicateFiles = _ref.includeHashForDuplicateFiles,
|
|
95
|
+
ssrItemDetails = _ref.ssrItemDetails,
|
|
95
96
|
onError = _ref.onError;
|
|
96
97
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
97
98
|
formatMessage = _useIntl.formatMessage;
|
|
@@ -257,22 +258,43 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
|
|
|
257
258
|
return 'failed';
|
|
258
259
|
}
|
|
259
260
|
};
|
|
260
|
-
if (
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
261
|
+
if ((0, _platformFeatureFlags.fg)('dfo_attachments_late_render_fix')) {
|
|
262
|
+
if (fileStateValue) {
|
|
263
|
+
return {
|
|
264
|
+
id: fileStateValue.id,
|
|
265
|
+
name: fileStateValue.name || ssrItemDetails && ssrItemDetails.filename,
|
|
266
|
+
size: fileStateValue.size,
|
|
267
|
+
mimeType: fileStateValue.mimeType || ssrItemDetails && ssrItemDetails.mimetype,
|
|
268
|
+
createdAt: fileStateValue.createdAt || ssrItemDetails && ssrItemDetails.createdDate,
|
|
269
|
+
mediaType: fileStateValue.mediaType,
|
|
270
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
271
|
+
};
|
|
272
|
+
} else {
|
|
273
|
+
return {
|
|
274
|
+
id: identifier.id,
|
|
275
|
+
name: ssrItemDetails && ssrItemDetails.filename,
|
|
276
|
+
mimeType: ssrItemDetails && ssrItemDetails.mimetype,
|
|
277
|
+
createdAt: ssrItemDetails && ssrItemDetails.createdDate
|
|
278
|
+
};
|
|
279
|
+
}
|
|
270
280
|
} else {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
281
|
+
if (fileStateValue) {
|
|
282
|
+
return {
|
|
283
|
+
id: fileStateValue.id,
|
|
284
|
+
name: fileStateValue.name,
|
|
285
|
+
size: fileStateValue.size,
|
|
286
|
+
mimeType: fileStateValue.mimeType,
|
|
287
|
+
createdAt: fileStateValue.createdAt,
|
|
288
|
+
mediaType: fileStateValue.mediaType,
|
|
289
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
290
|
+
};
|
|
291
|
+
} else {
|
|
292
|
+
return {
|
|
293
|
+
id: identifier.id
|
|
294
|
+
};
|
|
295
|
+
}
|
|
274
296
|
}
|
|
275
|
-
}, [fileStateValue, identifier.id]);
|
|
297
|
+
}, [fileStateValue, identifier.id, ssrItemDetails]);
|
|
276
298
|
var fileAttributes = (0, _react.useMemo)(function () {
|
|
277
299
|
return {
|
|
278
300
|
fileMediatype: metadata.mediaType,
|
|
@@ -356,7 +378,7 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
|
|
|
356
378
|
durationSinceCommenced: durationSinceCommenced
|
|
357
379
|
}
|
|
358
380
|
};
|
|
359
|
-
createAnalyticsEvent && (0, _cardAnalytics.fireOperationalEvent)(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext);
|
|
381
|
+
createAnalyticsEvent && (0, _cardAnalytics.fireOperationalEvent)(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext, metadata.failReason);
|
|
360
382
|
|
|
361
383
|
// Emit stored auth provider events when card reaches final state
|
|
362
384
|
if (createAnalyticsEvent && pendingAuthProviderEventRef.current && ['complete', 'error', 'failed-processing'].includes(finalStatus) && (0, _platformFeatureFlags.fg)('platform_media_auth_provider_analytics')) {
|
|
@@ -41,7 +41,7 @@ var getErrorStatusPayload = exports.getErrorStatusPayload = function getErrorSta
|
|
|
41
41
|
}, (0, _analytics.extractErrorInfo)(error))
|
|
42
42
|
};
|
|
43
43
|
};
|
|
44
|
-
var getFailedProcessingStatusPayload = exports.getFailedProcessingStatusPayload = function getFailedProcessingStatusPayload(fileId, fileState) {
|
|
44
|
+
var getFailedProcessingStatusPayload = exports.getFailedProcessingStatusPayload = function getFailedProcessingStatusPayload(fileId, fileState, processingFailReason) {
|
|
45
45
|
return {
|
|
46
46
|
eventType: 'operational',
|
|
47
47
|
action: 'failed',
|
|
@@ -52,7 +52,9 @@ var getFailedProcessingStatusPayload = exports.getFailedProcessingStatusPayload
|
|
|
52
52
|
fileId: fileId,
|
|
53
53
|
fileStatus: fileState === null || fileState === void 0 ? void 0 : fileState.status
|
|
54
54
|
},
|
|
55
|
-
failReason: 'failed-processing'
|
|
55
|
+
failReason: 'failed-processing',
|
|
56
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
57
|
+
processingFailReason: processingFailReason || 'not-available'
|
|
56
58
|
}
|
|
57
59
|
};
|
|
58
60
|
};
|
|
@@ -60,7 +62,9 @@ var fireFailedOperationalEvent = exports.fireFailedOperationalEvent = function f
|
|
|
60
62
|
var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _errors.MediaCardError('missing-error-data');
|
|
61
63
|
var failReason = arguments.length > 2 ? arguments[2] : undefined;
|
|
62
64
|
var createAnalyticsEvent = arguments.length > 3 ? arguments[3] : undefined;
|
|
63
|
-
|
|
65
|
+
// Extract processingFailReason from fileState if available
|
|
66
|
+
var processingFailReason = (fileState === null || fileState === void 0 ? void 0 : fileState.status) === 'failed-processing' ? fileState.failReason : undefined;
|
|
67
|
+
var payload = failReason ? getFailedProcessingStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', fileState, processingFailReason) : getErrorStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', error, fileState);
|
|
64
68
|
(0, _analytics.fireMediaCardEvent)(payload, createAnalyticsEvent);
|
|
65
69
|
};
|
|
66
70
|
var fireSucceededOperationalEvent = exports.fireSucceededOperationalEvent = function fireSucceededOperationalEvent(fileState, createAnalyticsEvent) {
|
|
@@ -184,7 +184,7 @@ var getErrorEventPayload = exports.getErrorEventPayload = function getErrorEvent
|
|
|
184
184
|
})
|
|
185
185
|
};
|
|
186
186
|
};
|
|
187
|
-
var getRenderFailedFileStatusPayload = exports.getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext) {
|
|
187
|
+
var getRenderFailedFileStatusPayload = exports.getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason) {
|
|
188
188
|
return {
|
|
189
189
|
eventType: 'operational',
|
|
190
190
|
action: 'failed',
|
|
@@ -195,6 +195,8 @@ var getRenderFailedFileStatusPayload = exports.getRenderFailedFileStatusPayload
|
|
|
195
195
|
performanceAttributes: performanceAttributes,
|
|
196
196
|
status: 'fail',
|
|
197
197
|
failReason: 'failed-processing',
|
|
198
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
199
|
+
processingFailReason: processingFailReason || 'not-available',
|
|
198
200
|
ssrReliability: ssrReliability,
|
|
199
201
|
traceContext: traceContext,
|
|
200
202
|
metadataTraceContext: metadataTraceContext
|
|
@@ -23,7 +23,8 @@ var getFileDetailsFromFileState = function getFileDetailsFromFileState(state) {
|
|
|
23
23
|
mimeType: state.mimeType,
|
|
24
24
|
createdAt: state.createdAt,
|
|
25
25
|
mediaType: state.mediaType,
|
|
26
|
-
processingStatus: getProcessingStatusFromFileState(state.status)
|
|
26
|
+
processingStatus: getProcessingStatusFromFileState(state.status),
|
|
27
|
+
failReason: state.status === 'failed-processing' ? state.failReason : undefined
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
var getFileDetails = exports.getFileDetails = function getFileDetails(identifier, fileState) {
|
|
@@ -4,7 +4,7 @@ import { fg } from '@atlaskit/platform-feature-flags';
|
|
|
4
4
|
|
|
5
5
|
// Sampling rate for mediaCardRender success events (10%)
|
|
6
6
|
const MEDIA_CARD_RENDER_SUCCESS_SAMPLE_RATE = 0.1;
|
|
7
|
-
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, ssrReliability, error = new MediaCardError('missing-error-data'), traceContext, metadataTraceContext) => {
|
|
7
|
+
export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, ssrReliability, error = new MediaCardError('missing-error-data'), traceContext, metadataTraceContext, processingFailReason) => {
|
|
8
8
|
const fireEvent = payload => fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
9
9
|
switch (status) {
|
|
10
10
|
case 'complete':
|
|
@@ -17,7 +17,7 @@ export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttribute
|
|
|
17
17
|
break;
|
|
18
18
|
case 'failed-processing':
|
|
19
19
|
// Always emit failed events (no sampling)
|
|
20
|
-
fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext));
|
|
20
|
+
fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason));
|
|
21
21
|
break;
|
|
22
22
|
case 'error':
|
|
23
23
|
// Always emit error events (no sampling)
|
|
@@ -73,6 +73,7 @@ export const FileCard = ({
|
|
|
73
73
|
videoControlsWrapperRef,
|
|
74
74
|
viewerOptions,
|
|
75
75
|
includeHashForDuplicateFiles,
|
|
76
|
+
ssrItemDetails,
|
|
76
77
|
onError
|
|
77
78
|
}) => {
|
|
78
79
|
const {
|
|
@@ -210,22 +211,43 @@ export const FileCard = ({
|
|
|
210
211
|
return 'failed';
|
|
211
212
|
}
|
|
212
213
|
};
|
|
213
|
-
if (
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
214
|
+
if (fg('dfo_attachments_late_render_fix')) {
|
|
215
|
+
if (fileStateValue) {
|
|
216
|
+
return {
|
|
217
|
+
id: fileStateValue.id,
|
|
218
|
+
name: fileStateValue.name || ssrItemDetails && ssrItemDetails.filename,
|
|
219
|
+
size: fileStateValue.size,
|
|
220
|
+
mimeType: fileStateValue.mimeType || ssrItemDetails && ssrItemDetails.mimetype,
|
|
221
|
+
createdAt: fileStateValue.createdAt || ssrItemDetails && ssrItemDetails.createdDate,
|
|
222
|
+
mediaType: fileStateValue.mediaType,
|
|
223
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
224
|
+
};
|
|
225
|
+
} else {
|
|
226
|
+
return {
|
|
227
|
+
id: identifier.id,
|
|
228
|
+
name: ssrItemDetails && ssrItemDetails.filename,
|
|
229
|
+
mimeType: ssrItemDetails && ssrItemDetails.mimetype,
|
|
230
|
+
createdAt: ssrItemDetails && ssrItemDetails.createdDate
|
|
231
|
+
};
|
|
232
|
+
}
|
|
223
233
|
} else {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
234
|
+
if (fileStateValue) {
|
|
235
|
+
return {
|
|
236
|
+
id: fileStateValue.id,
|
|
237
|
+
name: fileStateValue.name,
|
|
238
|
+
size: fileStateValue.size,
|
|
239
|
+
mimeType: fileStateValue.mimeType,
|
|
240
|
+
createdAt: fileStateValue.createdAt,
|
|
241
|
+
mediaType: fileStateValue.mediaType,
|
|
242
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
243
|
+
};
|
|
244
|
+
} else {
|
|
245
|
+
return {
|
|
246
|
+
id: identifier.id
|
|
247
|
+
};
|
|
248
|
+
}
|
|
227
249
|
}
|
|
228
|
-
}, [fileStateValue, identifier.id]);
|
|
250
|
+
}, [fileStateValue, identifier.id, ssrItemDetails]);
|
|
229
251
|
const fileAttributes = useMemo(() => {
|
|
230
252
|
return {
|
|
231
253
|
fileMediatype: metadata.mediaType,
|
|
@@ -277,7 +299,7 @@ export const FileCard = ({
|
|
|
277
299
|
durationSinceCommenced
|
|
278
300
|
}
|
|
279
301
|
};
|
|
280
|
-
createAnalyticsEvent && fireOperationalEvent(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext);
|
|
302
|
+
createAnalyticsEvent && fireOperationalEvent(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext, metadata.failReason);
|
|
281
303
|
|
|
282
304
|
// Emit stored auth provider events when card reaches final state
|
|
283
305
|
if (createAnalyticsEvent && pendingAuthProviderEventRef.current && ['complete', 'error', 'failed-processing'].includes(finalStatus) && fg('platform_media_auth_provider_analytics')) {
|
|
@@ -32,7 +32,7 @@ export const getErrorStatusPayload = (fileId, error, fileState) => {
|
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
-
export const getFailedProcessingStatusPayload = (fileId, fileState) => {
|
|
35
|
+
export const getFailedProcessingStatusPayload = (fileId, fileState, processingFailReason) => {
|
|
36
36
|
return {
|
|
37
37
|
eventType: 'operational',
|
|
38
38
|
action: 'failed',
|
|
@@ -43,12 +43,16 @@ export const getFailedProcessingStatusPayload = (fileId, fileState) => {
|
|
|
43
43
|
fileId,
|
|
44
44
|
fileStatus: fileState === null || fileState === void 0 ? void 0 : fileState.status
|
|
45
45
|
},
|
|
46
|
-
failReason: 'failed-processing'
|
|
46
|
+
failReason: 'failed-processing',
|
|
47
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
48
|
+
processingFailReason: processingFailReason || 'not-available'
|
|
47
49
|
}
|
|
48
50
|
};
|
|
49
51
|
};
|
|
50
52
|
export const fireFailedOperationalEvent = (fileState, error = new MediaCardError('missing-error-data'), failReason, createAnalyticsEvent) => {
|
|
51
|
-
|
|
53
|
+
// Extract processingFailReason from fileState if available
|
|
54
|
+
const processingFailReason = (fileState === null || fileState === void 0 ? void 0 : fileState.status) === 'failed-processing' ? fileState.failReason : undefined;
|
|
55
|
+
const payload = failReason ? getFailedProcessingStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', fileState, processingFailReason) : getErrorStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', error, fileState);
|
|
52
56
|
fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
53
57
|
};
|
|
54
58
|
export const fireSucceededOperationalEvent = (fileState, createAnalyticsEvent) => {
|
|
@@ -169,7 +169,7 @@ export const getErrorEventPayload = (cardStatus, fileAttributes, error, ssrRelia
|
|
|
169
169
|
}
|
|
170
170
|
};
|
|
171
171
|
};
|
|
172
|
-
export const getRenderFailedFileStatusPayload = (fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext) => ({
|
|
172
|
+
export const getRenderFailedFileStatusPayload = (fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason) => ({
|
|
173
173
|
eventType: 'operational',
|
|
174
174
|
action: 'failed',
|
|
175
175
|
actionSubject: 'mediaCardRender',
|
|
@@ -179,6 +179,8 @@ export const getRenderFailedFileStatusPayload = (fileAttributes, performanceAttr
|
|
|
179
179
|
performanceAttributes,
|
|
180
180
|
status: 'fail',
|
|
181
181
|
failReason: 'failed-processing',
|
|
182
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
183
|
+
processingFailReason: processingFailReason || 'not-available',
|
|
182
184
|
ssrReliability,
|
|
183
185
|
traceContext,
|
|
184
186
|
metadataTraceContext
|
|
@@ -16,7 +16,8 @@ const getFileDetailsFromFileState = state => ({
|
|
|
16
16
|
mimeType: state.mimeType,
|
|
17
17
|
createdAt: state.createdAt,
|
|
18
18
|
mediaType: state.mediaType,
|
|
19
|
-
processingStatus: getProcessingStatusFromFileState(state.status)
|
|
19
|
+
processingStatus: getProcessingStatusFromFileState(state.status),
|
|
20
|
+
failReason: state.status === 'failed-processing' ? state.failReason : undefined
|
|
20
21
|
});
|
|
21
22
|
export const getFileDetails = (identifier, fileState) => {
|
|
22
23
|
return isFileIdentifier(identifier) ? fileState && !isErrorFileState(fileState) ? getFileDetailsFromFileState(fileState) : {
|
|
@@ -8,6 +8,7 @@ export var fireOperationalEvent = function fireOperationalEvent(createAnalyticsE
|
|
|
8
8
|
var error = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : new MediaCardError('missing-error-data');
|
|
9
9
|
var traceContext = arguments.length > 6 ? arguments[6] : undefined;
|
|
10
10
|
var metadataTraceContext = arguments.length > 7 ? arguments[7] : undefined;
|
|
11
|
+
var processingFailReason = arguments.length > 8 ? arguments[8] : undefined;
|
|
11
12
|
var fireEvent = function fireEvent(payload) {
|
|
12
13
|
return fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
13
14
|
};
|
|
@@ -22,7 +23,7 @@ export var fireOperationalEvent = function fireOperationalEvent(createAnalyticsE
|
|
|
22
23
|
break;
|
|
23
24
|
case 'failed-processing':
|
|
24
25
|
// Always emit failed events (no sampling)
|
|
25
|
-
fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext));
|
|
26
|
+
fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason));
|
|
26
27
|
break;
|
|
27
28
|
case 'error':
|
|
28
29
|
// Always emit error events (no sampling)
|
|
@@ -84,6 +84,7 @@ export var FileCard = function FileCard(_ref) {
|
|
|
84
84
|
videoControlsWrapperRef = _ref.videoControlsWrapperRef,
|
|
85
85
|
viewerOptions = _ref.viewerOptions,
|
|
86
86
|
includeHashForDuplicateFiles = _ref.includeHashForDuplicateFiles,
|
|
87
|
+
ssrItemDetails = _ref.ssrItemDetails,
|
|
87
88
|
onError = _ref.onError;
|
|
88
89
|
var _useIntl = useIntl(),
|
|
89
90
|
formatMessage = _useIntl.formatMessage;
|
|
@@ -249,22 +250,43 @@ export var FileCard = function FileCard(_ref) {
|
|
|
249
250
|
return 'failed';
|
|
250
251
|
}
|
|
251
252
|
};
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
253
|
+
if (fg('dfo_attachments_late_render_fix')) {
|
|
254
|
+
if (fileStateValue) {
|
|
255
|
+
return {
|
|
256
|
+
id: fileStateValue.id,
|
|
257
|
+
name: fileStateValue.name || ssrItemDetails && ssrItemDetails.filename,
|
|
258
|
+
size: fileStateValue.size,
|
|
259
|
+
mimeType: fileStateValue.mimeType || ssrItemDetails && ssrItemDetails.mimetype,
|
|
260
|
+
createdAt: fileStateValue.createdAt || ssrItemDetails && ssrItemDetails.createdDate,
|
|
261
|
+
mediaType: fileStateValue.mediaType,
|
|
262
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
263
|
+
};
|
|
264
|
+
} else {
|
|
265
|
+
return {
|
|
266
|
+
id: identifier.id,
|
|
267
|
+
name: ssrItemDetails && ssrItemDetails.filename,
|
|
268
|
+
mimeType: ssrItemDetails && ssrItemDetails.mimetype,
|
|
269
|
+
createdAt: ssrItemDetails && ssrItemDetails.createdDate
|
|
270
|
+
};
|
|
271
|
+
}
|
|
262
272
|
} else {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
273
|
+
if (fileStateValue) {
|
|
274
|
+
return {
|
|
275
|
+
id: fileStateValue.id,
|
|
276
|
+
name: fileStateValue.name,
|
|
277
|
+
size: fileStateValue.size,
|
|
278
|
+
mimeType: fileStateValue.mimeType,
|
|
279
|
+
createdAt: fileStateValue.createdAt,
|
|
280
|
+
mediaType: fileStateValue.mediaType,
|
|
281
|
+
processingStatus: getProcessingStatusFromFileState(fileStateValue.status)
|
|
282
|
+
};
|
|
283
|
+
} else {
|
|
284
|
+
return {
|
|
285
|
+
id: identifier.id
|
|
286
|
+
};
|
|
287
|
+
}
|
|
266
288
|
}
|
|
267
|
-
}, [fileStateValue, identifier.id]);
|
|
289
|
+
}, [fileStateValue, identifier.id, ssrItemDetails]);
|
|
268
290
|
var fileAttributes = useMemo(function () {
|
|
269
291
|
return {
|
|
270
292
|
fileMediatype: metadata.mediaType,
|
|
@@ -348,7 +370,7 @@ export var FileCard = function FileCard(_ref) {
|
|
|
348
370
|
durationSinceCommenced: durationSinceCommenced
|
|
349
371
|
}
|
|
350
372
|
};
|
|
351
|
-
createAnalyticsEvent && fireOperationalEvent(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext);
|
|
373
|
+
createAnalyticsEvent && fireOperationalEvent(createAnalyticsEvent, finalStatus, fileAttributes, performanceAttributes, ssrReliability, finalError, traceContext, fileStateValue === null || fileStateValue === void 0 ? void 0 : fileStateValue.metadataTraceContext, metadata.failReason);
|
|
352
374
|
|
|
353
375
|
// Emit stored auth provider events when card reaches final state
|
|
354
376
|
if (createAnalyticsEvent && pendingAuthProviderEventRef.current && ['complete', 'error', 'failed-processing'].includes(finalStatus) && fg('platform_media_auth_provider_analytics')) {
|
|
@@ -34,7 +34,7 @@ export var getErrorStatusPayload = function getErrorStatusPayload(fileId, error,
|
|
|
34
34
|
}, extractErrorInfo(error))
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
|
-
export var getFailedProcessingStatusPayload = function getFailedProcessingStatusPayload(fileId, fileState) {
|
|
37
|
+
export var getFailedProcessingStatusPayload = function getFailedProcessingStatusPayload(fileId, fileState, processingFailReason) {
|
|
38
38
|
return {
|
|
39
39
|
eventType: 'operational',
|
|
40
40
|
action: 'failed',
|
|
@@ -45,7 +45,9 @@ export var getFailedProcessingStatusPayload = function getFailedProcessingStatus
|
|
|
45
45
|
fileId: fileId,
|
|
46
46
|
fileStatus: fileState === null || fileState === void 0 ? void 0 : fileState.status
|
|
47
47
|
},
|
|
48
|
-
failReason: 'failed-processing'
|
|
48
|
+
failReason: 'failed-processing',
|
|
49
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
50
|
+
processingFailReason: processingFailReason || 'not-available'
|
|
49
51
|
}
|
|
50
52
|
};
|
|
51
53
|
};
|
|
@@ -53,7 +55,9 @@ export var fireFailedOperationalEvent = function fireFailedOperationalEvent(file
|
|
|
53
55
|
var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new MediaCardError('missing-error-data');
|
|
54
56
|
var failReason = arguments.length > 2 ? arguments[2] : undefined;
|
|
55
57
|
var createAnalyticsEvent = arguments.length > 3 ? arguments[3] : undefined;
|
|
56
|
-
|
|
58
|
+
// Extract processingFailReason from fileState if available
|
|
59
|
+
var processingFailReason = (fileState === null || fileState === void 0 ? void 0 : fileState.status) === 'failed-processing' ? fileState.failReason : undefined;
|
|
60
|
+
var payload = failReason ? getFailedProcessingStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', fileState, processingFailReason) : getErrorStatusPayload((fileState === null || fileState === void 0 ? void 0 : fileState.id) || 'unknown-id', error, fileState);
|
|
57
61
|
fireMediaCardEvent(payload, createAnalyticsEvent);
|
|
58
62
|
};
|
|
59
63
|
export var fireSucceededOperationalEvent = function fireSucceededOperationalEvent(fileState, createAnalyticsEvent) {
|
|
@@ -175,7 +175,7 @@ export var getErrorEventPayload = function getErrorEventPayload(cardStatus, file
|
|
|
175
175
|
})
|
|
176
176
|
};
|
|
177
177
|
};
|
|
178
|
-
export var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext) {
|
|
178
|
+
export var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability, traceContext, metadataTraceContext, processingFailReason) {
|
|
179
179
|
return {
|
|
180
180
|
eventType: 'operational',
|
|
181
181
|
action: 'failed',
|
|
@@ -186,6 +186,8 @@ export var getRenderFailedFileStatusPayload = function getRenderFailedFileStatus
|
|
|
186
186
|
performanceAttributes: performanceAttributes,
|
|
187
187
|
status: 'fail',
|
|
188
188
|
failReason: 'failed-processing',
|
|
189
|
+
// 'not-available' is used for cases before processingFailReason implementation (backward compatibility)
|
|
190
|
+
processingFailReason: processingFailReason || 'not-available',
|
|
189
191
|
ssrReliability: ssrReliability,
|
|
190
192
|
traceContext: traceContext,
|
|
191
193
|
metadataTraceContext: metadataTraceContext
|
|
@@ -17,7 +17,8 @@ var getFileDetailsFromFileState = function getFileDetailsFromFileState(state) {
|
|
|
17
17
|
mimeType: state.mimeType,
|
|
18
18
|
createdAt: state.createdAt,
|
|
19
19
|
mediaType: state.mediaType,
|
|
20
|
-
processingStatus: getProcessingStatusFromFileState(state.status)
|
|
20
|
+
processingStatus: getProcessingStatusFromFileState(state.status),
|
|
21
|
+
failReason: state.status === 'failed-processing' ? state.failReason : undefined
|
|
21
22
|
};
|
|
22
23
|
};
|
|
23
24
|
export var getFileDetails = function getFileDetails(identifier, fileState) {
|
|
@@ -3,7 +3,8 @@ import { type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
|
3
3
|
import { type SSRStatus } from '../utils/analytics';
|
|
4
4
|
import { type CardStatus } from '../types';
|
|
5
5
|
import { MediaCardError } from '../errors';
|
|
6
|
-
|
|
6
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
7
|
+
export declare const fireOperationalEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, status: CardStatus, fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext, processingFailReason?: ProcessingFailReason) => void;
|
|
7
8
|
export declare const fireNonCriticalErrorEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, cardStatus: CardStatus, fileAttributes: FileAttributes, ssrReliability: SSRStatus, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
8
9
|
export declare const fireDownloadSucceededEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, fileAttributes: FileAttributes, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
9
10
|
export declare const fireDownloadFailedEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, fileAttributes: FileAttributes, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
@@ -6,6 +6,7 @@ import { type MediaCardErrorPrimaryReason } from '../errors';
|
|
|
6
6
|
import { type CardAppearance, type CardDimensions, type CardEventProps, type TitleBoxIcon } from '../types';
|
|
7
7
|
import { type MediaFilePreviewErrorPrimaryReason } from '@atlaskit/media-file-preview';
|
|
8
8
|
import { type CardAction } from './actions';
|
|
9
|
+
import type { SsrItemDetails } from './types';
|
|
9
10
|
export interface FileCardProps extends CardEventProps {
|
|
10
11
|
/** Overlay the media file. */
|
|
11
12
|
readonly disableOverlay?: boolean;
|
|
@@ -54,7 +55,9 @@ export interface FileCardProps extends CardEventProps {
|
|
|
54
55
|
readonly viewerOptions?: ViewerOptionsProps;
|
|
55
56
|
/** Sets options for viewer **/
|
|
56
57
|
readonly includeHashForDuplicateFiles?: boolean;
|
|
58
|
+
/** Optional file details to render straight away **/
|
|
59
|
+
readonly ssrItemDetails?: SsrItemDetails;
|
|
57
60
|
/** General Error handling include status errors and display errors*/
|
|
58
61
|
readonly onError?: (reason: MediaFilePreviewErrorPrimaryReason | MediaCardErrorPrimaryReason) => void;
|
|
59
62
|
}
|
|
60
|
-
export declare const FileCard: ({ appearance, resizeMode, isLazy, disableOverlay, featureFlags, identifier, ssr, dimensions, originalDimensions, contextId, alt, actions, shouldEnableDownloadButton, useInlinePlayer, shouldOpenMediaViewer, onFullscreenChange, selectable, selected, testId, titleBoxBgColor, titleBoxIcon, shouldHideTooltip, mediaViewerItems, onClick, onMouseEnter, videoControlsWrapperRef, viewerOptions, includeHashForDuplicateFiles, onError, }: FileCardProps) => React.JSX.Element;
|
|
63
|
+
export declare const FileCard: ({ appearance, resizeMode, isLazy, disableOverlay, featureFlags, identifier, ssr, dimensions, originalDimensions, contextId, alt, actions, shouldEnableDownloadButton, useInlinePlayer, shouldOpenMediaViewer, onFullscreenChange, selectable, selected, testId, titleBoxBgColor, titleBoxIcon, shouldHideTooltip, mediaViewerItems, onClick, onMouseEnter, videoControlsWrapperRef, viewerOptions, includeHashForDuplicateFiles, ssrItemDetails, onError, }: FileCardProps) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type InlinePlayerWrapperProps } from './types';
|
|
2
2
|
export declare const inlinePlayerClassName = "media-card-inline-player";
|
|
3
3
|
export declare const inlinePlayerWrapperStyles: {
|
|
4
|
-
({ dimensions, selected, }: InlinePlayerWrapperProps): import("@emotion/
|
|
4
|
+
({ dimensions, selected, }: InlinePlayerWrapperProps): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -14,4 +14,9 @@ export type InlinePlayerWrapperProps = {
|
|
|
14
14
|
innerRef?: RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | undefined;
|
|
15
15
|
children?: JSX.Element[] | ReactElement<any, any> | null | any;
|
|
16
16
|
};
|
|
17
|
+
export type SsrItemDetails = {
|
|
18
|
+
filename: string;
|
|
19
|
+
mimetype: string;
|
|
20
|
+
createdDate: number;
|
|
21
|
+
};
|
|
17
22
|
export type CardWithMediaClientConfigProps = WithMediaClientConfigProps<CardBaseProps>;
|
|
@@ -17,4 +17,4 @@ export type CardActionButtonOwnProps = {
|
|
|
17
17
|
children?: React.ReactNode;
|
|
18
18
|
};
|
|
19
19
|
export type CardActionButtonProps = CardActionButtonOwnProps & HTMLAttributes<HTMLButtonElement>;
|
|
20
|
-
export declare const cardActionButtonStyles: ({ variant }: CardActionButtonProps) => import("@emotion/
|
|
20
|
+
export declare const cardActionButtonStyles: ({ variant }: CardActionButtonProps) => import("@emotion/utils").SerializedStyles;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const actionsBarClassName = "media-card-actions-bar";
|
|
2
2
|
export declare const fixedActionBarStyles = "opacity: 1;";
|
|
3
3
|
export declare const wrapperStyles: {
|
|
4
|
-
(isFixed?: boolean): import("@emotion/
|
|
4
|
+
(isFixed?: boolean): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const blanketClassName = "media-card-blanket";
|
|
2
2
|
export declare const fixedBlanketStyles: string;
|
|
3
3
|
export declare const blanketStyles: {
|
|
4
|
-
(isFixed?: boolean): import("@emotion/
|
|
4
|
+
(isFixed?: boolean): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -2,6 +2,6 @@ import { type Breakpoint } from '../common';
|
|
|
2
2
|
import { type IconWrapperProps } from './types';
|
|
3
3
|
export declare function titleBoxHeight(hasTitleBox: boolean, breakpoint: Breakpoint): string;
|
|
4
4
|
export declare const iconWrapperStyles: {
|
|
5
|
-
({ hasTitleBox, breakpoint }: IconWrapperProps): import("@emotion/
|
|
5
|
+
({ hasTitleBox, breakpoint }: IconWrapperProps): import("@emotion/utils").SerializedStyles;
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const playButtonClassName = "media-card-play-button";
|
|
2
2
|
export declare const bkgClassName = "play-icon-background";
|
|
3
3
|
export declare const fixedPlayButtonStyles = "\n .play-icon-background {\n width: 56px;\n height: 56px;\n }\n";
|
|
4
|
-
export declare const playButtonWrapperStyles: import("@emotion/
|
|
5
|
-
export declare const backgroundStyles: import("@emotion/
|
|
4
|
+
export declare const playButtonWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
5
|
+
export declare const backgroundStyles: import("@emotion/utils").SerializedStyles;
|
|
@@ -2,6 +2,6 @@ import { Breakpoint } from '../common';
|
|
|
2
2
|
import { type StyledBarProps } from './types';
|
|
3
3
|
export declare function generateResponsiveStyles(breakpoint: Breakpoint, positionBottom: boolean, showOnTop: boolean, multiplier?: number): string;
|
|
4
4
|
export declare const styledBarStyles: {
|
|
5
|
-
(props: StyledBarProps): import("@emotion/
|
|
5
|
+
(props: StyledBarProps): import("@emotion/utils").SerializedStyles;
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
@@ -6,18 +6,18 @@ type TitleBoxWrapperStyleArgs = {
|
|
|
6
6
|
display?: 'none' | 'flex';
|
|
7
7
|
};
|
|
8
8
|
export declare const titleBoxWrapperStyles: {
|
|
9
|
-
({ breakpoint, display, titleBoxBgColor, }: TitleBoxWrapperStyleArgs): import("@emotion/
|
|
9
|
+
({ breakpoint, display, titleBoxBgColor, }: TitleBoxWrapperStyleArgs): import("@emotion/utils").SerializedStyles;
|
|
10
10
|
displayName: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const titleBoxHeaderStyles: {
|
|
13
|
-
({ hasIconOverlap }: TitleBoxHeaderProps): import("@emotion/
|
|
13
|
+
({ hasIconOverlap }: TitleBoxHeaderProps): import("@emotion/utils").SerializedStyles;
|
|
14
14
|
displayName: string;
|
|
15
15
|
};
|
|
16
16
|
export declare const titleBoxFooterStyles: {
|
|
17
|
-
({ hasIconOverlap }: TitleBoxFooterProps): import("@emotion/
|
|
17
|
+
({ hasIconOverlap }: TitleBoxFooterProps): import("@emotion/utils").SerializedStyles;
|
|
18
18
|
displayName: string;
|
|
19
19
|
};
|
|
20
|
-
export declare const titleBoxIconStyles: import("@emotion/
|
|
21
|
-
export declare const newTitleBoxIconStyles: import("@emotion/
|
|
22
|
-
export declare const errorMessageWrapperStyles: import("@emotion/
|
|
20
|
+
export declare const titleBoxIconStyles: import("@emotion/utils").SerializedStyles;
|
|
21
|
+
export declare const newTitleBoxIconStyles: import("@emotion/utils").SerializedStyles;
|
|
22
|
+
export declare const errorMessageWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
23
23
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type WrapperProps } from './types';
|
|
2
2
|
export declare const wrapperStyles: {
|
|
3
|
-
({ breakpoint, dimensions, appearance, disableOverlay, displayBackground, selected, isPlayButtonClickable, isTickBoxSelectable, shouldDisplayTooltip, mediaCardCursor, }: WrapperProps): import("@emotion/
|
|
3
|
+
({ breakpoint, dimensions, appearance, disableOverlay, displayBackground, selected, isPlayButtonClickable, isTickBoxSelectable, shouldDisplayTooltip, mediaCardCursor, }: WrapperProps): import("@emotion/utils").SerializedStyles;
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
@@ -2,8 +2,9 @@ import { type FileState } from '@atlaskit/media-client';
|
|
|
2
2
|
import { type RenderInlineCardFailedEventPayload, type RenderInlineCardSucceededEventPayload } from '../utils/analytics';
|
|
3
3
|
import { MediaCardError } from '../errors';
|
|
4
4
|
import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
5
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
5
6
|
export declare const getSucceededStatusPayload: (fileState?: FileState) => RenderInlineCardSucceededEventPayload;
|
|
6
7
|
export declare const getErrorStatusPayload: (fileId: string, error: MediaCardError, fileState?: FileState) => RenderInlineCardFailedEventPayload;
|
|
7
|
-
export declare const getFailedProcessingStatusPayload: (fileId: string, fileState?: FileState) => RenderInlineCardFailedEventPayload;
|
|
8
|
+
export declare const getFailedProcessingStatusPayload: (fileId: string, fileState?: FileState, processingFailReason?: ProcessingFailReason) => RenderInlineCardFailedEventPayload;
|
|
8
9
|
export declare const fireFailedOperationalEvent: (fileState: FileState, error?: MediaCardError, failReason?: "failed-processing", createAnalyticsEvent?: CreateUIAnalyticsEvent) => void;
|
|
9
10
|
export declare const fireSucceededOperationalEvent: (fileState: FileState, createAnalyticsEvent?: CreateUIAnalyticsEvent) => void;
|
|
@@ -5,6 +5,7 @@ import { type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
|
5
5
|
import { type MediaCardError, type MediaCardErrorPrimaryReason } from '../../errors';
|
|
6
6
|
import { type CardPreviewSource, type CardDimensions, type CardStatus } from '../../types';
|
|
7
7
|
import { type SSR } from '@atlaskit/media-common';
|
|
8
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
8
9
|
export type CardPreviewAttributes = {
|
|
9
10
|
fileId: string;
|
|
10
11
|
prevDimensions: CardDimensions | undefined;
|
|
@@ -65,6 +66,7 @@ export type RenderFailedEventPayload = OperationalEventPayload<WithFileAttribute
|
|
|
65
66
|
error?: MediaClientErrorReason | 'nativeError';
|
|
66
67
|
statusCode?: number;
|
|
67
68
|
request?: RequestMetadata;
|
|
69
|
+
processingFailReason?: ProcessingFailReason | 'not-available';
|
|
68
70
|
}, 'failed', 'mediaCardRender'>;
|
|
69
71
|
export type DownloadFailedEventPayload = OperationalEventPayload<WithFileAttributes & WithTraceContext & FailureAttributes & {
|
|
70
72
|
failReason: FailedErrorFailReason;
|
|
@@ -95,6 +97,7 @@ export type RenderInlineCardFailedEventPayload = OperationalEventPayload<WithFil
|
|
|
95
97
|
failReason: FailedErrorFailReason | 'failed-processing';
|
|
96
98
|
error?: MediaClientErrorReason | 'nativeError';
|
|
97
99
|
request?: RequestMetadata;
|
|
100
|
+
processingFailReason?: ProcessingFailReason | 'not-available';
|
|
98
101
|
}, 'failed', 'mediaInlineRender'>;
|
|
99
102
|
export type DownloadSucceededEventPayload = OperationalEventPayload<WithFileAttributes & SuccessAttributes & WithTraceContext, 'succeeded', 'mediaCardDownload'>;
|
|
100
103
|
export type RenderSucceededEventPayload = OperationalEventPayload<WithFileAttributes & WithPerformanceAttributes & WithSSRReliability & SuccessAttributes & WithTraceContext, 'succeeded', 'mediaCardRender'>;
|
|
@@ -136,7 +139,7 @@ export declare const extractErrorInfo: (error: MediaCardError, metadataTraceCont
|
|
|
136
139
|
export declare const getRenderErrorEventPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, error: MediaCardError, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => RenderFailedEventPayload;
|
|
137
140
|
export declare const getDownloadFailedEventPayload: (fileAttributes: FileAttributes, error: MediaCardError, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => DownloadFailedEventPayload;
|
|
138
141
|
export declare const getErrorEventPayload: (cardStatus: CardStatus, fileAttributes: FileAttributes, error: MediaCardError, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => ErrorEventPayload;
|
|
139
|
-
export declare const getRenderFailedFileStatusPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => RenderFailedEventPayload;
|
|
142
|
+
export declare const getRenderFailedFileStatusPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext, processingFailReason?: ProcessingFailReason) => RenderFailedEventPayload;
|
|
140
143
|
export declare const getAuthProviderSucceededPayload: (durationMs: number, timeoutMs: number, authContext?: {
|
|
141
144
|
access?: Array<{
|
|
142
145
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const errorIconWrapperStyles: import("@emotion/
|
|
1
|
+
export declare const errorIconWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type WrapperProps } from './types';
|
|
2
|
-
export declare const wrapperStyles: ({ dimensions }: WrapperProps) => import("@emotion/
|
|
2
|
+
export declare const wrapperStyles: ({ dimensions }: WrapperProps) => import("@emotion/utils").SerializedStyles;
|
|
@@ -3,7 +3,8 @@ import { type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
|
3
3
|
import { type SSRStatus } from '../utils/analytics';
|
|
4
4
|
import { type CardStatus } from '../types';
|
|
5
5
|
import { MediaCardError } from '../errors';
|
|
6
|
-
|
|
6
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
7
|
+
export declare const fireOperationalEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, status: CardStatus, fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext, processingFailReason?: ProcessingFailReason) => void;
|
|
7
8
|
export declare const fireNonCriticalErrorEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, cardStatus: CardStatus, fileAttributes: FileAttributes, ssrReliability: SSRStatus, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
8
9
|
export declare const fireDownloadSucceededEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, fileAttributes: FileAttributes, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
9
10
|
export declare const fireDownloadFailedEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent, fileAttributes: FileAttributes, error: MediaCardError | undefined, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => void;
|
|
@@ -6,6 +6,7 @@ import { type MediaCardErrorPrimaryReason } from '../errors';
|
|
|
6
6
|
import { type CardAppearance, type CardDimensions, type CardEventProps, type TitleBoxIcon } from '../types';
|
|
7
7
|
import { type MediaFilePreviewErrorPrimaryReason } from '@atlaskit/media-file-preview';
|
|
8
8
|
import { type CardAction } from './actions';
|
|
9
|
+
import type { SsrItemDetails } from './types';
|
|
9
10
|
export interface FileCardProps extends CardEventProps {
|
|
10
11
|
/** Overlay the media file. */
|
|
11
12
|
readonly disableOverlay?: boolean;
|
|
@@ -54,7 +55,9 @@ export interface FileCardProps extends CardEventProps {
|
|
|
54
55
|
readonly viewerOptions?: ViewerOptionsProps;
|
|
55
56
|
/** Sets options for viewer **/
|
|
56
57
|
readonly includeHashForDuplicateFiles?: boolean;
|
|
58
|
+
/** Optional file details to render straight away **/
|
|
59
|
+
readonly ssrItemDetails?: SsrItemDetails;
|
|
57
60
|
/** General Error handling include status errors and display errors*/
|
|
58
61
|
readonly onError?: (reason: MediaFilePreviewErrorPrimaryReason | MediaCardErrorPrimaryReason) => void;
|
|
59
62
|
}
|
|
60
|
-
export declare const FileCard: ({ appearance, resizeMode, isLazy, disableOverlay, featureFlags, identifier, ssr, dimensions, originalDimensions, contextId, alt, actions, shouldEnableDownloadButton, useInlinePlayer, shouldOpenMediaViewer, onFullscreenChange, selectable, selected, testId, titleBoxBgColor, titleBoxIcon, shouldHideTooltip, mediaViewerItems, onClick, onMouseEnter, videoControlsWrapperRef, viewerOptions, includeHashForDuplicateFiles, onError, }: FileCardProps) => React.JSX.Element;
|
|
63
|
+
export declare const FileCard: ({ appearance, resizeMode, isLazy, disableOverlay, featureFlags, identifier, ssr, dimensions, originalDimensions, contextId, alt, actions, shouldEnableDownloadButton, useInlinePlayer, shouldOpenMediaViewer, onFullscreenChange, selectable, selected, testId, titleBoxBgColor, titleBoxIcon, shouldHideTooltip, mediaViewerItems, onClick, onMouseEnter, videoControlsWrapperRef, viewerOptions, includeHashForDuplicateFiles, ssrItemDetails, onError, }: FileCardProps) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type InlinePlayerWrapperProps } from './types';
|
|
2
2
|
export declare const inlinePlayerClassName = "media-card-inline-player";
|
|
3
3
|
export declare const inlinePlayerWrapperStyles: {
|
|
4
|
-
({ dimensions, selected, }: InlinePlayerWrapperProps): import("@emotion/
|
|
4
|
+
({ dimensions, selected, }: InlinePlayerWrapperProps): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -14,4 +14,9 @@ export type InlinePlayerWrapperProps = {
|
|
|
14
14
|
innerRef?: RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | undefined;
|
|
15
15
|
children?: JSX.Element[] | ReactElement<any, any> | null | any;
|
|
16
16
|
};
|
|
17
|
+
export type SsrItemDetails = {
|
|
18
|
+
filename: string;
|
|
19
|
+
mimetype: string;
|
|
20
|
+
createdDate: number;
|
|
21
|
+
};
|
|
17
22
|
export type CardWithMediaClientConfigProps = WithMediaClientConfigProps<CardBaseProps>;
|
|
@@ -17,4 +17,4 @@ export type CardActionButtonOwnProps = {
|
|
|
17
17
|
children?: React.ReactNode;
|
|
18
18
|
};
|
|
19
19
|
export type CardActionButtonProps = CardActionButtonOwnProps & HTMLAttributes<HTMLButtonElement>;
|
|
20
|
-
export declare const cardActionButtonStyles: ({ variant }: CardActionButtonProps) => import("@emotion/
|
|
20
|
+
export declare const cardActionButtonStyles: ({ variant }: CardActionButtonProps) => import("@emotion/utils").SerializedStyles;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const actionsBarClassName = "media-card-actions-bar";
|
|
2
2
|
export declare const fixedActionBarStyles = "opacity: 1;";
|
|
3
3
|
export declare const wrapperStyles: {
|
|
4
|
-
(isFixed?: boolean): import("@emotion/
|
|
4
|
+
(isFixed?: boolean): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const blanketClassName = "media-card-blanket";
|
|
2
2
|
export declare const fixedBlanketStyles: string;
|
|
3
3
|
export declare const blanketStyles: {
|
|
4
|
-
(isFixed?: boolean): import("@emotion/
|
|
4
|
+
(isFixed?: boolean): import("@emotion/utils").SerializedStyles;
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
@@ -2,6 +2,6 @@ import { type Breakpoint } from '../common';
|
|
|
2
2
|
import { type IconWrapperProps } from './types';
|
|
3
3
|
export declare function titleBoxHeight(hasTitleBox: boolean, breakpoint: Breakpoint): string;
|
|
4
4
|
export declare const iconWrapperStyles: {
|
|
5
|
-
({ hasTitleBox, breakpoint }: IconWrapperProps): import("@emotion/
|
|
5
|
+
({ hasTitleBox, breakpoint }: IconWrapperProps): import("@emotion/utils").SerializedStyles;
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const playButtonClassName = "media-card-play-button";
|
|
2
2
|
export declare const bkgClassName = "play-icon-background";
|
|
3
3
|
export declare const fixedPlayButtonStyles = "\n .play-icon-background {\n width: 56px;\n height: 56px;\n }\n";
|
|
4
|
-
export declare const playButtonWrapperStyles: import("@emotion/
|
|
5
|
-
export declare const backgroundStyles: import("@emotion/
|
|
4
|
+
export declare const playButtonWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
5
|
+
export declare const backgroundStyles: import("@emotion/utils").SerializedStyles;
|
|
@@ -2,6 +2,6 @@ import { Breakpoint } from '../common';
|
|
|
2
2
|
import { type StyledBarProps } from './types';
|
|
3
3
|
export declare function generateResponsiveStyles(breakpoint: Breakpoint, positionBottom: boolean, showOnTop: boolean, multiplier?: number): string;
|
|
4
4
|
export declare const styledBarStyles: {
|
|
5
|
-
(props: StyledBarProps): import("@emotion/
|
|
5
|
+
(props: StyledBarProps): import("@emotion/utils").SerializedStyles;
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
|
@@ -6,18 +6,18 @@ type TitleBoxWrapperStyleArgs = {
|
|
|
6
6
|
display?: 'none' | 'flex';
|
|
7
7
|
};
|
|
8
8
|
export declare const titleBoxWrapperStyles: {
|
|
9
|
-
({ breakpoint, display, titleBoxBgColor, }: TitleBoxWrapperStyleArgs): import("@emotion/
|
|
9
|
+
({ breakpoint, display, titleBoxBgColor, }: TitleBoxWrapperStyleArgs): import("@emotion/utils").SerializedStyles;
|
|
10
10
|
displayName: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const titleBoxHeaderStyles: {
|
|
13
|
-
({ hasIconOverlap }: TitleBoxHeaderProps): import("@emotion/
|
|
13
|
+
({ hasIconOverlap }: TitleBoxHeaderProps): import("@emotion/utils").SerializedStyles;
|
|
14
14
|
displayName: string;
|
|
15
15
|
};
|
|
16
16
|
export declare const titleBoxFooterStyles: {
|
|
17
|
-
({ hasIconOverlap }: TitleBoxFooterProps): import("@emotion/
|
|
17
|
+
({ hasIconOverlap }: TitleBoxFooterProps): import("@emotion/utils").SerializedStyles;
|
|
18
18
|
displayName: string;
|
|
19
19
|
};
|
|
20
|
-
export declare const titleBoxIconStyles: import("@emotion/
|
|
21
|
-
export declare const newTitleBoxIconStyles: import("@emotion/
|
|
22
|
-
export declare const errorMessageWrapperStyles: import("@emotion/
|
|
20
|
+
export declare const titleBoxIconStyles: import("@emotion/utils").SerializedStyles;
|
|
21
|
+
export declare const newTitleBoxIconStyles: import("@emotion/utils").SerializedStyles;
|
|
22
|
+
export declare const errorMessageWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
23
23
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type WrapperProps } from './types';
|
|
2
2
|
export declare const wrapperStyles: {
|
|
3
|
-
({ breakpoint, dimensions, appearance, disableOverlay, displayBackground, selected, isPlayButtonClickable, isTickBoxSelectable, shouldDisplayTooltip, mediaCardCursor, }: WrapperProps): import("@emotion/
|
|
3
|
+
({ breakpoint, dimensions, appearance, disableOverlay, displayBackground, selected, isPlayButtonClickable, isTickBoxSelectable, shouldDisplayTooltip, mediaCardCursor, }: WrapperProps): import("@emotion/utils").SerializedStyles;
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
@@ -2,8 +2,9 @@ import { type FileState } from '@atlaskit/media-client';
|
|
|
2
2
|
import { type RenderInlineCardFailedEventPayload, type RenderInlineCardSucceededEventPayload } from '../utils/analytics';
|
|
3
3
|
import { MediaCardError } from '../errors';
|
|
4
4
|
import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
5
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
5
6
|
export declare const getSucceededStatusPayload: (fileState?: FileState) => RenderInlineCardSucceededEventPayload;
|
|
6
7
|
export declare const getErrorStatusPayload: (fileId: string, error: MediaCardError, fileState?: FileState) => RenderInlineCardFailedEventPayload;
|
|
7
|
-
export declare const getFailedProcessingStatusPayload: (fileId: string, fileState?: FileState) => RenderInlineCardFailedEventPayload;
|
|
8
|
+
export declare const getFailedProcessingStatusPayload: (fileId: string, fileState?: FileState, processingFailReason?: ProcessingFailReason) => RenderInlineCardFailedEventPayload;
|
|
8
9
|
export declare const fireFailedOperationalEvent: (fileState: FileState, error?: MediaCardError, failReason?: "failed-processing", createAnalyticsEvent?: CreateUIAnalyticsEvent) => void;
|
|
9
10
|
export declare const fireSucceededOperationalEvent: (fileState: FileState, createAnalyticsEvent?: CreateUIAnalyticsEvent) => void;
|
|
@@ -5,6 +5,7 @@ import { type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
|
5
5
|
import { type MediaCardError, type MediaCardErrorPrimaryReason } from '../../errors';
|
|
6
6
|
import { type CardPreviewSource, type CardDimensions, type CardStatus } from '../../types';
|
|
7
7
|
import { type SSR } from '@atlaskit/media-common';
|
|
8
|
+
import { type ProcessingFailReason } from '@atlaskit/media-state';
|
|
8
9
|
export type CardPreviewAttributes = {
|
|
9
10
|
fileId: string;
|
|
10
11
|
prevDimensions: CardDimensions | undefined;
|
|
@@ -65,6 +66,7 @@ export type RenderFailedEventPayload = OperationalEventPayload<WithFileAttribute
|
|
|
65
66
|
error?: MediaClientErrorReason | 'nativeError';
|
|
66
67
|
statusCode?: number;
|
|
67
68
|
request?: RequestMetadata;
|
|
69
|
+
processingFailReason?: ProcessingFailReason | 'not-available';
|
|
68
70
|
}, 'failed', 'mediaCardRender'>;
|
|
69
71
|
export type DownloadFailedEventPayload = OperationalEventPayload<WithFileAttributes & WithTraceContext & FailureAttributes & {
|
|
70
72
|
failReason: FailedErrorFailReason;
|
|
@@ -95,6 +97,7 @@ export type RenderInlineCardFailedEventPayload = OperationalEventPayload<WithFil
|
|
|
95
97
|
failReason: FailedErrorFailReason | 'failed-processing';
|
|
96
98
|
error?: MediaClientErrorReason | 'nativeError';
|
|
97
99
|
request?: RequestMetadata;
|
|
100
|
+
processingFailReason?: ProcessingFailReason | 'not-available';
|
|
98
101
|
}, 'failed', 'mediaInlineRender'>;
|
|
99
102
|
export type DownloadSucceededEventPayload = OperationalEventPayload<WithFileAttributes & SuccessAttributes & WithTraceContext, 'succeeded', 'mediaCardDownload'>;
|
|
100
103
|
export type RenderSucceededEventPayload = OperationalEventPayload<WithFileAttributes & WithPerformanceAttributes & WithSSRReliability & SuccessAttributes & WithTraceContext, 'succeeded', 'mediaCardRender'>;
|
|
@@ -136,7 +139,7 @@ export declare const extractErrorInfo: (error: MediaCardError, metadataTraceCont
|
|
|
136
139
|
export declare const getRenderErrorEventPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, error: MediaCardError, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => RenderFailedEventPayload;
|
|
137
140
|
export declare const getDownloadFailedEventPayload: (fileAttributes: FileAttributes, error: MediaCardError, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => DownloadFailedEventPayload;
|
|
138
141
|
export declare const getErrorEventPayload: (cardStatus: CardStatus, fileAttributes: FileAttributes, error: MediaCardError, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => ErrorEventPayload;
|
|
139
|
-
export declare const getRenderFailedFileStatusPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext) => RenderFailedEventPayload;
|
|
142
|
+
export declare const getRenderFailedFileStatusPayload: (fileAttributes: FileAttributes, performanceAttributes: PerformanceAttributes, ssrReliability: SSRStatus, traceContext: MediaTraceContext, metadataTraceContext?: MediaTraceContext, processingFailReason?: ProcessingFailReason) => RenderFailedEventPayload;
|
|
140
143
|
export declare const getAuthProviderSucceededPayload: (durationMs: number, timeoutMs: number, authContext?: {
|
|
141
144
|
access?: Array<{
|
|
142
145
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const errorIconWrapperStyles: import("@emotion/
|
|
1
|
+
export declare const errorIconWrapperStyles: import("@emotion/utils").SerializedStyles;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type WrapperProps } from './types';
|
|
2
|
-
export declare const wrapperStyles: ({ dimensions }: WrapperProps) => import("@emotion/
|
|
2
|
+
export declare const wrapperStyles: ({ dimensions }: WrapperProps) => import("@emotion/utils").SerializedStyles;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-card",
|
|
3
|
-
"version": "79.15.
|
|
3
|
+
"version": "79.15.3",
|
|
4
4
|
"description": "Includes all media card related components, CardView, CardViewSmall, Card...",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@atlaskit/analytics-next": "^11.1.0",
|
|
35
35
|
"@atlaskit/dropdown-menu": "^16.4.0",
|
|
36
36
|
"@atlaskit/editor-shared-styles": "^3.10.0",
|
|
37
|
-
"@atlaskit/icon": "^
|
|
37
|
+
"@atlaskit/icon": "^31.0.0",
|
|
38
38
|
"@atlaskit/link": "^3.3.0",
|
|
39
39
|
"@atlaskit/media-client": "^35.7.0",
|
|
40
40
|
"@atlaskit/media-client-react": "^4.1.0",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@atlaskit/media-viewer": "^52.7.0",
|
|
46
46
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
47
47
|
"@atlaskit/primitives": "^18.0.0",
|
|
48
|
-
"@atlaskit/react-ufo": "^5.
|
|
48
|
+
"@atlaskit/react-ufo": "^5.2.0",
|
|
49
49
|
"@atlaskit/spinner": "^19.0.0",
|
|
50
50
|
"@atlaskit/theme": "^21.0.0",
|
|
51
51
|
"@atlaskit/tokens": "^11.0.0",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"@atlaskit/range": "^9.3.0",
|
|
83
83
|
"@atlaskit/ssr": "workspace:^",
|
|
84
84
|
"@atlaskit/toggle": "^15.2.0",
|
|
85
|
-
"@atlassian/a11y-jest-testing": "^0.
|
|
85
|
+
"@atlassian/a11y-jest-testing": "^0.10.0",
|
|
86
86
|
"@atlassian/feature-flags-test-utils": "^1.0.0",
|
|
87
87
|
"@atlassian/ufo": "^0.7.0",
|
|
88
88
|
"@testing-library/dom": "^10.1.0",
|
|
@@ -149,6 +149,9 @@
|
|
|
149
149
|
},
|
|
150
150
|
"media_card_failed_messaging_ui_revamp": {
|
|
151
151
|
"type": "boolean"
|
|
152
|
+
},
|
|
153
|
+
"dfo_attachments_late_render_fix": {
|
|
154
|
+
"type": "boolean"
|
|
152
155
|
}
|
|
153
156
|
},
|
|
154
157
|
"techstack": {
|