@atlaskit/media-card 77.6.3 → 77.6.5
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 +12 -0
- package/dist/cjs/card/card.js +1 -1
- package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/cjs/card/v2/cardV2.js +1 -1
- package/dist/cjs/card/v2/fileCard.js +6 -2
- package/dist/cjs/card/v2/useFilePreview/getPreview/index.js +8 -14
- package/dist/cjs/card/v2/useFilePreview/helpers.js +0 -8
- package/dist/cjs/card/v2/useFilePreview/useFilePreview.js +45 -150
- package/dist/cjs/inline/loader.js +1 -1
- package/dist/cjs/inline/mediaInlineCard.js +7 -7
- package/dist/cjs/utils/ufoExperiences.js +1 -1
- package/dist/es2019/card/card.js +1 -1
- package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/es2019/card/v2/cardV2.js +1 -1
- package/dist/es2019/card/v2/fileCard.js +6 -2
- package/dist/es2019/card/v2/useFilePreview/getPreview/index.js +2 -2
- package/dist/es2019/card/v2/useFilePreview/helpers.js +1 -8
- package/dist/es2019/card/v2/useFilePreview/useFilePreview.js +39 -96
- package/dist/es2019/inline/loader.js +1 -1
- package/dist/es2019/inline/mediaInlineCard.js +8 -8
- package/dist/es2019/utils/ufoExperiences.js +1 -1
- package/dist/esm/card/card.js +1 -1
- package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/esm/card/v2/cardV2.js +1 -1
- package/dist/esm/card/v2/fileCard.js +6 -2
- package/dist/esm/card/v2/useFilePreview/getPreview/index.js +2 -2
- package/dist/esm/card/v2/useFilePreview/helpers.js +1 -8
- package/dist/esm/card/v2/useFilePreview/useFilePreview.js +48 -153
- package/dist/esm/inline/loader.js +1 -1
- package/dist/esm/inline/mediaInlineCard.js +8 -8
- package/dist/esm/utils/ufoExperiences.js +1 -1
- package/dist/types/card/v2/useFilePreview/getPreview/index.d.ts +1 -1
- package/dist/types/card/v2/useFilePreview/helpers.d.ts +0 -1
- package/dist/types/card/v2/useFilePreview/types.d.ts +0 -6
- package/dist/types/inline/mediaInlineCard.d.ts +1 -1
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/index.d.ts +1 -1
- package/dist/types-ts4.5/card/v2/useFilePreview/helpers.d.ts +0 -1
- package/dist/types-ts4.5/card/v2/useFilePreview/types.d.ts +0 -6
- package/dist/types-ts4.5/inline/mediaInlineCard.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/card/v2/useFilePreview/getPreview/filePreviewStatus.js +0 -45
- package/dist/es2019/card/v2/useFilePreview/getPreview/filePreviewStatus.js +0 -43
- package/dist/esm/card/v2/useFilePreview/getPreview/filePreviewStatus.js +0 -40
- package/dist/types/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +0 -4
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +0 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/media-card
|
|
2
2
|
|
|
3
|
+
## 77.6.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#61878](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/61878) [`7392ec59e8d7`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7392ec59e8d7) - Reorganised preview resolution logic in preview hook
|
|
8
|
+
|
|
9
|
+
## 77.6.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#61611](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/61611) [`fd753abb6b83`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/fd753abb6b83) - [ED-21557] Add optional chaining in the unsubscribe to avoid tests cases failing in React 18
|
|
14
|
+
|
|
3
15
|
## 77.6.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/cjs/card/card.js
CHANGED
|
@@ -49,7 +49,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
49
49
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
50
50
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
51
|
var packageName = "@atlaskit/media-card";
|
|
52
|
-
var packageVersion = "77.6.
|
|
52
|
+
var packageVersion = "77.6.5";
|
|
53
53
|
var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
|
|
54
54
|
(0, _inherits2.default)(CardBase, _Component);
|
|
55
55
|
var _super = _createSuper(CardBase);
|
|
@@ -90,7 +90,7 @@ var WrappedMediaCardAnalyticsErrorBoundary = /*#__PURE__*/function (_React$Compo
|
|
|
90
90
|
}(_react.default.Component);
|
|
91
91
|
(0, _defineProperty2.default)(WrappedMediaCardAnalyticsErrorBoundary, "displayName", 'MediaCardAnalyticsErrorBoundary');
|
|
92
92
|
var packageName = "@atlaskit/media-card";
|
|
93
|
-
var packageVersion = "77.6.
|
|
93
|
+
var packageVersion = "77.6.5";
|
|
94
94
|
var MediaCardAnalyticsErrorBoundary = (0, _mediaCommon.withMediaAnalyticsContext)({
|
|
95
95
|
packageVersion: packageVersion,
|
|
96
96
|
packageName: packageName,
|
|
@@ -16,7 +16,7 @@ var _externalImageCard = require("./externalImageCard");
|
|
|
16
16
|
var _fileCard = require("./fileCard");
|
|
17
17
|
var _excluded = ["identifier"];
|
|
18
18
|
var packageName = "@atlaskit/media-card";
|
|
19
|
-
var packageVersion = "77.6.
|
|
19
|
+
var packageVersion = "77.6.5";
|
|
20
20
|
var CardV2Base = exports.CardV2Base = function CardV2Base(_ref) {
|
|
21
21
|
var identifier = _ref.identifier,
|
|
22
22
|
otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
@@ -328,8 +328,12 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
|
|
|
328
328
|
if (!metadata) {
|
|
329
329
|
return;
|
|
330
330
|
}
|
|
331
|
-
var isVideo = metadata
|
|
332
|
-
|
|
331
|
+
var isVideo = metadata.mediaType === 'video';
|
|
332
|
+
var isBrowserSupported = metadata.mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(metadata.mimeType);
|
|
333
|
+
|
|
334
|
+
// TODO: this should be handled by Inline Player
|
|
335
|
+
var isPlayable = !!fileState && (fileState.status === 'processed' || isBrowserSupported && ['processing', 'uploading'].includes(fileState.status));
|
|
336
|
+
if (useInlinePlayer && isVideo && isPlayable && finalStatus !== 'error') {
|
|
333
337
|
setIsPlayingFile(true);
|
|
334
338
|
setShouldAutoplay(true);
|
|
335
339
|
} else if (shouldOpenMediaViewer) {
|
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "extractFilePreviewStatus", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _filePreviewStatus.extractFilePreviewStatus;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
6
|
Object.defineProperty(exports, "getAndCacheLocalPreview", {
|
|
13
7
|
enumerable: true,
|
|
14
8
|
get: function get() {
|
|
@@ -33,12 +27,6 @@ Object.defineProperty(exports, "isLocalPreview", {
|
|
|
33
27
|
return _getPreview.isLocalPreview;
|
|
34
28
|
}
|
|
35
29
|
});
|
|
36
|
-
Object.defineProperty(exports, "isPreviewableStatus", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function get() {
|
|
39
|
-
return _filePreviewStatus.isPreviewableStatus;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
30
|
Object.defineProperty(exports, "isSSRClientPreview", {
|
|
43
31
|
enumerable: true,
|
|
44
32
|
get: function get() {
|
|
@@ -51,6 +39,12 @@ Object.defineProperty(exports, "isSSRDataPreview", {
|
|
|
51
39
|
return _getPreview.isSSRDataPreview;
|
|
52
40
|
}
|
|
53
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "isSupportedLocalPreview", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _helpers.isSupportedLocalPreview;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
54
48
|
Object.defineProperty(exports, "mediaFilePreviewCache", {
|
|
55
49
|
enumerable: true,
|
|
56
50
|
get: function get() {
|
|
@@ -58,5 +52,5 @@ Object.defineProperty(exports, "mediaFilePreviewCache", {
|
|
|
58
52
|
}
|
|
59
53
|
});
|
|
60
54
|
var _cache = require("./cache");
|
|
61
|
-
var
|
|
62
|
-
var
|
|
55
|
+
var _getPreview = require("./getPreview");
|
|
56
|
+
var _helpers = require("./helpers");
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.isBigger = exports.createRequestDimensions = void 0;
|
|
7
7
|
exports.useCurrentValueRef = useCurrentValueRef;
|
|
8
|
-
exports.usePrevious = usePrevious;
|
|
9
8
|
var _react = require("react");
|
|
10
9
|
/**
|
|
11
10
|
* Checks if at least one of next dimensions is bigger than current
|
|
@@ -54,11 +53,4 @@ function useCurrentValueRef(value) {
|
|
|
54
53
|
var ref = (0, _react.useRef)(value);
|
|
55
54
|
ref.current = value;
|
|
56
55
|
return ref;
|
|
57
|
-
}
|
|
58
|
-
function usePrevious(value) {
|
|
59
|
-
var ref = (0, _react.useRef)();
|
|
60
|
-
(0, _react.useEffect)(function () {
|
|
61
|
-
ref.current = value;
|
|
62
|
-
}, [value]);
|
|
63
|
-
return ref.current;
|
|
64
56
|
}
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.useFilePreview = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
10
|
var _mediaClient = require("@atlaskit/media-client");
|
|
@@ -53,7 +51,6 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
53
51
|
return dimensions ? (0, _helpers.createRequestDimensions)(dimensions) : undefined;
|
|
54
52
|
}, [dimensions]);
|
|
55
53
|
var requestDimensionsRef = (0, _helpers.useCurrentValueRef)(requestDimensions);
|
|
56
|
-
var prevRequestDimensions = (0, _helpers.usePrevious)(requestDimensions);
|
|
57
54
|
var imageURLParams = (0, _react.useMemo)(function () {
|
|
58
55
|
return _objectSpread(_objectSpread({
|
|
59
56
|
collection: identifier.collectionName,
|
|
@@ -98,7 +95,6 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
98
95
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
99
96
|
preview = _useState10[0],
|
|
100
97
|
setPreview = _useState10[1];
|
|
101
|
-
var prevPreview = (0, _helpers.usePrevious)(preview);
|
|
102
98
|
var _useFileState = (0, _mediaClientReact.useFileState)(identifier.id, {
|
|
103
99
|
skipRemote: skipRemote,
|
|
104
100
|
collectionName: identifier.collectionName,
|
|
@@ -124,8 +120,8 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
124
120
|
var mediaType = 'mediaType' in fileState ? fileState.mediaType : undefined;
|
|
125
121
|
var isPreviewable = !!mediaType && ['audio', 'video', 'image', 'doc'].indexOf(mediaType) > -1;
|
|
126
122
|
var isPreviewableFileState = !!fileState.preview;
|
|
127
|
-
var
|
|
128
|
-
var hasLocalPreview = !isBannedLocalPreview && isPreviewableFileState &&
|
|
123
|
+
var _isSupportedLocalPreview = mediaType === 'image' || mediaType === 'video';
|
|
124
|
+
var hasLocalPreview = !isBannedLocalPreview && isPreviewableFileState && _isSupportedLocalPreview && !!fileState.mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType);
|
|
129
125
|
var hasRemotePreview = (0, _mediaClient.isImageRepresentationReady)(fileState);
|
|
130
126
|
var hasPreview = hasLocalPreview || hasRemotePreview;
|
|
131
127
|
var newStatus;
|
|
@@ -190,7 +186,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
190
186
|
// https://product-fabric.atlassian.net/browse/MEX-1071
|
|
191
187
|
});
|
|
192
188
|
}
|
|
193
|
-
}, [
|
|
189
|
+
}, [getAndCacheRemotePreviewRef, preview, skipRemote, ssr]);
|
|
194
190
|
|
|
195
191
|
//----------------------------------------------------------------
|
|
196
192
|
// Refetch SRR Preview if dimensions from Server have changed and are bigger,
|
|
@@ -203,161 +199,60 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
|
|
|
203
199
|
setNonCriticalError(wrappedError);
|
|
204
200
|
});
|
|
205
201
|
}
|
|
206
|
-
}, [getAndCacheRemotePreviewRef,
|
|
202
|
+
}, [getAndCacheRemotePreviewRef, preview, requestDimensions, skipRemote]);
|
|
207
203
|
|
|
208
204
|
//----------------------------------------------------------------
|
|
209
205
|
// Upfront Preview
|
|
210
206
|
//----------------------------------------------------------------
|
|
211
207
|
(0, _react.useEffect)(function () {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
newPreview = _context.sent;
|
|
227
|
-
areValidFetchedDimensions = !(0, _helpers.isBigger)(fetchedDimensions, requestDimensionsRef.current); // If there are new and bigger dimensions in the props, and the upfront preview is still resolving,
|
|
228
|
-
// the fetched preview is no longer valid, and thus, we dismiss it
|
|
229
|
-
if (areValidFetchedDimensions) {
|
|
230
|
-
setPreview(newPreview);
|
|
231
|
-
}
|
|
232
|
-
_context.next = 12;
|
|
233
|
-
break;
|
|
234
|
-
case 10:
|
|
235
|
-
_context.prev = 10;
|
|
236
|
-
_context.t0 = _context["catch"](1);
|
|
237
|
-
case 12:
|
|
238
|
-
case "end":
|
|
239
|
-
return _context.stop();
|
|
240
|
-
}
|
|
241
|
-
}, _callee, null, [[1, 10]]);
|
|
242
|
-
}));
|
|
243
|
-
return function resolveUpfrontPreview() {
|
|
244
|
-
return _ref2.apply(this, arguments);
|
|
245
|
-
};
|
|
246
|
-
}();
|
|
247
|
-
|
|
248
|
-
// CXP-2723 TODO: `hadSSRPreview` is most likely redundant
|
|
249
|
-
var hadSSRPreview = ssr === 'client' && !!prevPreview && (0, _getPreview.isSSRClientPreview)(prevPreview);
|
|
250
|
-
if (!preview && !wasResolvedUpfrontPreviewRef.current && (!skipRemote || hadSSRPreview)) {
|
|
251
|
-
resolveUpfrontPreview();
|
|
208
|
+
if (!preview && !wasResolvedUpfrontPreviewRef.current && !skipRemote) {
|
|
209
|
+
// We block any possible future call to this method regardless of the outcome (success or fail)
|
|
210
|
+
// If it fails, the normal preview fetch should occur after the file state is fetched anyways
|
|
211
|
+
wasResolvedUpfrontPreviewRef.current = true;
|
|
212
|
+
var fetchedDimensions = _objectSpread({}, requestDimensions);
|
|
213
|
+
getAndCacheRemotePreviewRef.current().then(function (newPreview) {
|
|
214
|
+
// If there are new and bigger dimensions in the props, and the upfront preview is still resolving,
|
|
215
|
+
// the fetched preview is no longer valid, and thus, we dismiss it
|
|
216
|
+
if (!(0, _helpers.isBigger)(fetchedDimensions, requestDimensionsRef.current)) {
|
|
217
|
+
setPreview(newPreview);
|
|
218
|
+
}
|
|
219
|
+
}).catch(function () {
|
|
220
|
+
// NO need to log error. If this call fails, a refetch will happen after
|
|
221
|
+
});
|
|
252
222
|
}
|
|
253
|
-
}, [preview, requestDimensions, requestDimensionsRef,
|
|
223
|
+
}, [getAndCacheRemotePreviewRef, preview, requestDimensions, requestDimensionsRef, skipRemote]);
|
|
254
224
|
|
|
255
225
|
//----------------------------------------------------------------
|
|
256
|
-
//
|
|
226
|
+
// Cache, Local & Remote Preview
|
|
257
227
|
//----------------------------------------------------------------
|
|
258
228
|
|
|
259
|
-
var resolvePreviewRef = (0, _helpers.useCurrentValueRef)( /*#__PURE__*/function () {
|
|
260
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(identifier, fileState) {
|
|
261
|
-
var filePreview, isRemotePreviewReady, mode, cachedPreview, dimensionsAreBigger, localPreview, remotePreview, wrappedError;
|
|
262
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
263
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
264
|
-
case 0:
|
|
265
|
-
filePreview = isBannedLocalPreview ? undefined : fileState.status !== 'error' && 'mimeType' in fileState && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType) ? fileState.preview : undefined;
|
|
266
|
-
isRemotePreviewReady = (0, _mediaClient.isImageRepresentationReady)(fileState);
|
|
267
|
-
_context2.prev = 2;
|
|
268
|
-
mode = imageURLParams.mode;
|
|
269
|
-
cachedPreview = _getPreview.mediaFilePreviewCache.get(identifier.id, mode);
|
|
270
|
-
dimensionsAreBigger = (0, _helpers.isBigger)(cachedPreview === null || cachedPreview === void 0 ? void 0 : cachedPreview.dimensions, requestDimensions);
|
|
271
|
-
if (!(cachedPreview && !dimensionsAreBigger)) {
|
|
272
|
-
_context2.next = 8;
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
return _context2.abrupt("return", cachedPreview);
|
|
276
|
-
case 8:
|
|
277
|
-
_context2.prev = 8;
|
|
278
|
-
if (!filePreview) {
|
|
279
|
-
_context2.next = 15;
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
_context2.next = 12;
|
|
283
|
-
return (0, _getPreview.getAndCacheLocalPreview)(identifier.id, filePreview, requestDimensions || {}, mode, mediaBlobUrlAttrs);
|
|
284
|
-
case 12:
|
|
285
|
-
localPreview = _context2.sent;
|
|
286
|
-
setPreview(localPreview);
|
|
287
|
-
return _context2.abrupt("return");
|
|
288
|
-
case 15:
|
|
289
|
-
_context2.next = 22;
|
|
290
|
-
break;
|
|
291
|
-
case 17:
|
|
292
|
-
_context2.prev = 17;
|
|
293
|
-
_context2.t0 = _context2["catch"](8);
|
|
294
|
-
/**
|
|
295
|
-
* We report the error if:
|
|
296
|
-
* - local preview is supported and fails
|
|
297
|
-
* - local preview is unsupported and remote preview is NOT READY
|
|
298
|
-
* i.e. the function was called for "no reason".
|
|
299
|
-
* We DON'T report the error if:
|
|
300
|
-
* - local preview is unsupported and remote preview IS READY
|
|
301
|
-
* i.e. local preview is available and not supported,
|
|
302
|
-
* but we are after the remote preview instead.
|
|
303
|
-
*/
|
|
304
|
-
if (!(0, _errors.isUnsupportedLocalPreviewError)(_context2.t0) || (0, _errors.isUnsupportedLocalPreviewError)(_context2.t0) && !isRemotePreviewReady) {
|
|
305
|
-
// CXP-2723 TODO: We might have to wrap this error in MediaCardError
|
|
306
|
-
setNonCriticalError(_context2.t0);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* No matter the reason why the local preview failed, we break the process
|
|
310
|
-
* if there is no remote preview available
|
|
311
|
-
*/
|
|
312
|
-
if (isRemotePreviewReady) {
|
|
313
|
-
_context2.next = 22;
|
|
314
|
-
break;
|
|
315
|
-
}
|
|
316
|
-
throw _context2.t0;
|
|
317
|
-
case 22:
|
|
318
|
-
if (isRemotePreviewReady) {
|
|
319
|
-
_context2.next = 24;
|
|
320
|
-
break;
|
|
321
|
-
}
|
|
322
|
-
throw new _errors.MediaFilePreviewError('remote-preview-not-ready');
|
|
323
|
-
case 24:
|
|
324
|
-
_context2.next = 26;
|
|
325
|
-
return getAndCacheRemotePreviewRef.current();
|
|
326
|
-
case 26:
|
|
327
|
-
remotePreview = _context2.sent;
|
|
328
|
-
setPreview(remotePreview);
|
|
329
|
-
return _context2.abrupt("return");
|
|
330
|
-
case 31:
|
|
331
|
-
_context2.prev = 31;
|
|
332
|
-
_context2.t1 = _context2["catch"](2);
|
|
333
|
-
wrappedError = (0, _errors.ensureMediaFilePreviewError)('preview-fetch', _context2.t1); // If remote preview fails, we set status 'error'
|
|
334
|
-
// If local preview fails (i.e, no remote preview available),
|
|
335
|
-
// we can stay in the same status until there is a remote preview available
|
|
336
|
-
// If it's any other error we set status 'error'
|
|
337
|
-
if ((0, _errors.isLocalPreviewError)(wrappedError)) {
|
|
338
|
-
// This error should already been logged inside the getCardPreview. No need to log it here.
|
|
339
|
-
setIsBannedLocalPreview(true);
|
|
340
|
-
} else {
|
|
341
|
-
if (!['complete', 'error', 'failed-processing'].includes(status)) {
|
|
342
|
-
setStatus('error');
|
|
343
|
-
setError(wrappedError);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
case 35:
|
|
347
|
-
case "end":
|
|
348
|
-
return _context2.stop();
|
|
349
|
-
}
|
|
350
|
-
}, _callee2, null, [[2, 31], [8, 17]]);
|
|
351
|
-
}));
|
|
352
|
-
return function (_x, _x2) {
|
|
353
|
-
return _ref3.apply(this, arguments);
|
|
354
|
-
};
|
|
355
|
-
}());
|
|
356
229
|
(0, _react.useEffect)(function () {
|
|
357
|
-
|
|
358
|
-
|
|
230
|
+
var cachedPreview = _getPreview.mediaFilePreviewCache.get(identifier.id, imageURLParams.mode);
|
|
231
|
+
|
|
232
|
+
// Cached Preview ----------------------------------------------------------------
|
|
233
|
+
if (!preview && cachedPreview && !(0, _helpers.isBigger)(cachedPreview === null || cachedPreview === void 0 ? void 0 : cachedPreview.dimensions, requestDimensions)) {
|
|
234
|
+
setPreview(cachedPreview);
|
|
235
|
+
}
|
|
236
|
+
// Local Preview ----------------------------------------------------------------
|
|
237
|
+
else if (!preview && !isBannedLocalPreview && !!fileState && 'preview' in fileState && !!fileState.preview && (0, _getPreview.isSupportedLocalPreview)(fileState.mediaType) && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType)) {
|
|
238
|
+
// Local preview is available only if it's supported by browser and supported by Media Card (isSupportedLocalPreview)
|
|
239
|
+
// For example, SVGs are mime type NOT supported by browser but media type supported by Media Card (image)
|
|
240
|
+
// Then, local Preview NOT available
|
|
241
|
+
|
|
242
|
+
(0, _getPreview.getAndCacheLocalPreview)(identifier.id, fileState.preview, requestDimensions || {}, imageURLParams.mode, mediaBlobUrlAttrs).then(setPreview).catch(function (e) {
|
|
243
|
+
setIsBannedLocalPreview(true);
|
|
244
|
+
// CXP-2723 TODO: We might have to wrap this error in MediaCardError
|
|
245
|
+
setNonCriticalError(e);
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
// Remote Preview ----------------------------------------------------------------
|
|
249
|
+
else if ((!preview || (0, _helpers.isBigger)(preview.dimensions, requestDimensions)) && !skipRemote && wasResolvedUpfrontPreviewRef.current && !!fileState && (0, _mediaClient.isImageRepresentationReady)(fileState)) {
|
|
250
|
+
getAndCacheRemotePreviewRef.current().then(setPreview).catch(function (e) {
|
|
251
|
+
setStatus('error');
|
|
252
|
+
setError((0, _errors.ensureMediaFilePreviewError)('preview-fetch', e));
|
|
253
|
+
});
|
|
359
254
|
}
|
|
360
|
-
}, [fileState, identifier, isBannedLocalPreview,
|
|
255
|
+
}, [fileState, getAndCacheRemotePreviewRef, identifier.id, imageURLParams.mode, isBannedLocalPreview, mediaBlobUrlAttrs, preview, requestDimensions, skipRemote]);
|
|
361
256
|
|
|
362
257
|
//----------------------------------------------------------------
|
|
363
258
|
// RETURN
|
|
@@ -119,7 +119,7 @@ var MediaInlineCardLoader = exports.default = /*#__PURE__*/function (_React$Pure
|
|
|
119
119
|
ErrorBoundary = _this$state.ErrorBoundary;
|
|
120
120
|
var analyticsContext = {
|
|
121
121
|
packageVersion: "@atlaskit/media-card",
|
|
122
|
-
packageName: "77.6.
|
|
122
|
+
packageName: "77.6.5",
|
|
123
123
|
componentName: 'mediaInlineCard',
|
|
124
124
|
component: 'mediaInlineCard'
|
|
125
125
|
};
|
|
@@ -7,18 +7,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.MediaInlineCardInternal = exports.MediaInlineCard = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var
|
|
11
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
12
11
|
var _mediaClient = require("@atlaskit/media-client");
|
|
13
|
-
var _reactIntlNext = require("react-intl-next");
|
|
14
12
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
13
|
+
var _formatDate = require("@atlaskit/media-ui/formatDate");
|
|
15
14
|
var _mimeTypeIcon = require("@atlaskit/media-ui/mime-type-icon");
|
|
16
15
|
var _mediaViewer = require("@atlaskit/media-viewer");
|
|
17
16
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
var _reactIntlNext = require("react-intl-next");
|
|
21
20
|
var _errors = require("../errors");
|
|
21
|
+
var _analytics = require("../utils/analytics");
|
|
22
22
|
var _mediaInlineCardAnalytics = require("./mediaInlineCardAnalytics");
|
|
23
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -114,7 +114,7 @@ var MediaInlineCardInternal = exports.MediaInlineCardInternal = function MediaIn
|
|
|
114
114
|
}
|
|
115
115
|
});
|
|
116
116
|
return function () {
|
|
117
|
-
subscription.unsubscribe();
|
|
117
|
+
subscription === null || subscription === void 0 || subscription.unsubscribe();
|
|
118
118
|
};
|
|
119
119
|
}, [identifier.collectionName, identifier.id, mediaClient.file]);
|
|
120
120
|
if (subscribeError) {
|
|
@@ -14,7 +14,7 @@ var _mediaClient = require("@atlaskit/media-client");
|
|
|
14
14
|
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; }
|
|
15
15
|
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; }
|
|
16
16
|
var packageName = "@atlaskit/media-card";
|
|
17
|
-
var packageVersion = "77.6.
|
|
17
|
+
var packageVersion = "77.6.5";
|
|
18
18
|
var concurrentExperience;
|
|
19
19
|
var getExperience = function getExperience(id) {
|
|
20
20
|
if (!concurrentExperience) {
|
package/dist/es2019/card/card.js
CHANGED
|
@@ -27,7 +27,7 @@ import { getMediaCardCursor } from '../utils/getMediaCardCursor';
|
|
|
27
27
|
import { completeUfoExperience, startUfoExperience, abortUfoExperience } from '../utils/ufoExperiences';
|
|
28
28
|
import { generateUniqueId } from '../utils/generateUniqueId';
|
|
29
29
|
const packageName = "@atlaskit/media-card";
|
|
30
|
-
const packageVersion = "77.6.
|
|
30
|
+
const packageVersion = "77.6.5";
|
|
31
31
|
export class CardBase extends Component {
|
|
32
32
|
constructor(props) {
|
|
33
33
|
super(props);
|
|
@@ -66,7 +66,7 @@ class WrappedMediaCardAnalyticsErrorBoundary extends React.Component {
|
|
|
66
66
|
}
|
|
67
67
|
_defineProperty(WrappedMediaCardAnalyticsErrorBoundary, "displayName", 'MediaCardAnalyticsErrorBoundary');
|
|
68
68
|
const packageName = "@atlaskit/media-card";
|
|
69
|
-
const packageVersion = "77.6.
|
|
69
|
+
const packageVersion = "77.6.5";
|
|
70
70
|
const MediaCardAnalyticsErrorBoundary = withMediaAnalyticsContext({
|
|
71
71
|
packageVersion,
|
|
72
72
|
packageName,
|
|
@@ -7,7 +7,7 @@ import { IntlProvider, injectIntl } from 'react-intl-next';
|
|
|
7
7
|
import { ExternalImageCard } from './externalImageCard';
|
|
8
8
|
import { FileCard } from './fileCard';
|
|
9
9
|
const packageName = "@atlaskit/media-card";
|
|
10
|
-
const packageVersion = "77.6.
|
|
10
|
+
const packageVersion = "77.6.5";
|
|
11
11
|
export const CardV2Base = ({
|
|
12
12
|
identifier,
|
|
13
13
|
...otherProps
|
|
@@ -277,8 +277,12 @@ export const FileCard = ({
|
|
|
277
277
|
if (!metadata) {
|
|
278
278
|
return;
|
|
279
279
|
}
|
|
280
|
-
const isVideo = metadata
|
|
281
|
-
|
|
280
|
+
const isVideo = metadata.mediaType === 'video';
|
|
281
|
+
const isBrowserSupported = metadata.mimeType && isMimeTypeSupportedByBrowser(metadata.mimeType);
|
|
282
|
+
|
|
283
|
+
// TODO: this should be handled by Inline Player
|
|
284
|
+
const isPlayable = !!fileState && (fileState.status === 'processed' || isBrowserSupported && ['processing', 'uploading'].includes(fileState.status));
|
|
285
|
+
if (useInlinePlayer && isVideo && isPlayable && finalStatus !== 'error') {
|
|
282
286
|
setIsPlayingFile(true);
|
|
283
287
|
setShouldAutoplay(true);
|
|
284
288
|
} else if (shouldOpenMediaViewer) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { mediaFilePreviewCache } from './cache';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
2
|
+
export { getSSRPreview, isLocalPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview } from './getPreview';
|
|
3
|
+
export { isSupportedLocalPreview } from './helpers';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRef
|
|
1
|
+
import { useRef } from 'react';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Checks if at least one of next dimensions is bigger than current
|
|
@@ -51,11 +51,4 @@ export function useCurrentValueRef(value) {
|
|
|
51
51
|
const ref = useRef(value);
|
|
52
52
|
ref.current = value;
|
|
53
53
|
return ref;
|
|
54
|
-
}
|
|
55
|
-
export function usePrevious(value) {
|
|
56
|
-
const ref = useRef();
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
ref.current = value;
|
|
59
|
-
}, [value]);
|
|
60
|
-
return ref.current;
|
|
61
54
|
}
|