@atlaskit/media-card 77.12.4 → 78.0.0
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 +9 -0
- package/dist/cjs/card/card.js +20 -1039
- package/dist/cjs/card/cardLoader.js +2 -2
- package/dist/cjs/card/cardView.js +255 -417
- package/dist/cjs/card/cardWithMediaClient.js +5 -9
- package/dist/cjs/card/{v2/cardviews → cardviews}/cardViewWrapper.js +8 -8
- package/dist/cjs/card/{v2/cardviews → cardviews}/errorCardView.js +6 -6
- package/dist/cjs/card/{v2/cardviews → cardviews}/iconCardView.js +5 -5
- package/dist/cjs/card/{v2/cardviews → cardviews}/imageCardView.js +5 -5
- package/dist/cjs/card/{v2/cardviews → cardviews}/index.js +2 -2
- package/dist/cjs/card/{v2/cardviews → cardviews}/loadingCardView.js +3 -3
- package/dist/cjs/card/{v2/cardviews → cardviews}/processingCardView.js +4 -4
- package/dist/cjs/card/{v2/cardviews → cardviews}/videoCardView.js +7 -7
- package/dist/cjs/card/{v2/externalImageCard.js → externalImageCard.js} +11 -11
- package/dist/cjs/card/{v2/fileCard.js → fileCard.js} +18 -18
- package/dist/cjs/card/index.js +2 -2
- package/dist/cjs/card/inlinePlayer.js +184 -267
- package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/cjs/card/{v2/svgView → svgView}/svgView.js +9 -9
- package/dist/cjs/inline/loader.js +1 -1
- package/dist/cjs/utils/ufoExperiences.js +1 -1
- package/dist/es2019/card/card.js +20 -1023
- package/dist/es2019/card/cardLoader.js +2 -2
- package/dist/es2019/card/cardView.js +252 -403
- package/dist/es2019/card/cardWithMediaClient.js +6 -10
- package/dist/es2019/card/{v2/cardviews → cardviews}/cardViewWrapper.js +8 -8
- package/dist/es2019/card/{v2/cardviews → cardviews}/errorCardView.js +6 -6
- package/dist/es2019/card/{v2/cardviews → cardviews}/iconCardView.js +5 -5
- package/dist/es2019/card/{v2/cardviews → cardviews}/imageCardView.js +5 -5
- package/dist/es2019/card/{v2/cardviews → cardviews}/index.js +2 -2
- package/dist/es2019/card/{v2/cardviews → cardviews}/loadingCardView.js +3 -3
- package/dist/es2019/card/{v2/cardviews → cardviews}/processingCardView.js +4 -4
- package/dist/es2019/card/{v2/cardviews → cardviews}/videoCardView.js +7 -7
- package/dist/es2019/card/{v2/externalImageCard.js → externalImageCard.js} +11 -11
- package/dist/es2019/card/{v2/fileCard.js → fileCard.js} +18 -18
- package/dist/es2019/card/index.js +1 -1
- package/dist/es2019/card/inlinePlayer.js +127 -208
- package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/es2019/card/{v2/svgView → svgView}/svgView.js +9 -9
- package/dist/es2019/inline/loader.js +1 -1
- package/dist/es2019/utils/ufoExperiences.js +1 -1
- package/dist/esm/card/card.js +21 -1040
- package/dist/esm/card/cardLoader.js +2 -2
- package/dist/esm/card/cardView.js +251 -416
- package/dist/esm/card/cardWithMediaClient.js +6 -10
- package/dist/esm/card/{v2/cardviews → cardviews}/cardViewWrapper.js +8 -8
- package/dist/esm/card/{v2/cardviews → cardviews}/errorCardView.js +6 -6
- package/dist/esm/card/{v2/cardviews → cardviews}/iconCardView.js +5 -5
- package/dist/esm/card/{v2/cardviews → cardviews}/imageCardView.js +5 -5
- package/dist/esm/card/{v2/cardviews → cardviews}/index.js +2 -2
- package/dist/esm/card/{v2/cardviews → cardviews}/loadingCardView.js +3 -3
- package/dist/esm/card/{v2/cardviews → cardviews}/processingCardView.js +4 -4
- package/dist/esm/card/{v2/cardviews → cardviews}/videoCardView.js +7 -7
- package/dist/esm/card/{v2/externalImageCard.js → externalImageCard.js} +11 -11
- package/dist/esm/card/{v2/fileCard.js → fileCard.js} +18 -18
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/card/inlinePlayer.js +185 -269
- package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/esm/card/{v2/svgView → svgView}/svgView.js +9 -9
- package/dist/esm/inline/loader.js +1 -1
- package/dist/esm/utils/ufoExperiences.js +1 -1
- package/dist/types/card/card.d.ts +5 -66
- package/dist/types/card/cardLoader.d.ts +1 -1
- package/dist/types/card/cardView.d.ts +23 -45
- package/dist/types/card/cardWithMediaClient.d.ts +1 -1
- package/dist/types/card/{v2/cardviews → cardviews}/cardViewWrapper.d.ts +3 -3
- package/dist/types/card/{v2/cardviews → cardviews}/errorCardView.d.ts +1 -1
- package/dist/{types-ts4.5/card/v2 → types/card}/cardviews/iconCardView.d.ts +1 -1
- package/dist/{types-ts4.5/card/v2 → types/card}/cardviews/imageCardView.d.ts +1 -1
- package/dist/{types-ts4.5/card/v2 → types/card}/cardviews/index.d.ts +5 -5
- package/dist/types/card/{v2/cardviews → cardviews}/videoCardView.d.ts +1 -1
- package/dist/types/card/{v2/externalImageCard.d.ts → externalImageCard.d.ts} +1 -1
- package/dist/types/card/{v2/fileCard.d.ts → fileCard.d.ts} +2 -2
- package/dist/types/card/index.d.ts +1 -1
- package/dist/types/card/inlinePlayer.d.ts +2 -31
- package/dist/types/card/{v2/svgView → svgView}/errors.d.ts +1 -1
- package/dist/{types-ts4.5/card/v2 → types/card}/svgView/svgView.d.ts +2 -2
- package/dist/types-ts4.5/card/card.d.ts +5 -66
- package/dist/types-ts4.5/card/cardLoader.d.ts +1 -1
- package/dist/types-ts4.5/card/cardView.d.ts +23 -45
- package/dist/types-ts4.5/card/cardWithMediaClient.d.ts +1 -1
- package/dist/types-ts4.5/card/{v2/cardviews → cardviews}/cardViewWrapper.d.ts +3 -3
- package/dist/types-ts4.5/card/{v2/cardviews → cardviews}/errorCardView.d.ts +1 -1
- package/dist/{types/card/v2 → types-ts4.5/card}/cardviews/iconCardView.d.ts +1 -1
- package/dist/{types/card/v2 → types-ts4.5/card}/cardviews/imageCardView.d.ts +1 -1
- package/dist/{types/card/v2 → types-ts4.5/card}/cardviews/index.d.ts +5 -5
- package/dist/types-ts4.5/card/{v2/cardviews → cardviews}/videoCardView.d.ts +1 -1
- package/dist/types-ts4.5/card/{v2/externalImageCard.d.ts → externalImageCard.d.ts} +1 -1
- package/dist/types-ts4.5/card/{v2/fileCard.d.ts → fileCard.d.ts} +2 -2
- package/dist/types-ts4.5/card/index.d.ts +1 -1
- package/dist/types-ts4.5/card/inlinePlayer.d.ts +2 -31
- package/dist/types-ts4.5/card/{v2/svgView → svgView}/errors.d.ts +1 -1
- package/dist/{types/card/v2 → types-ts4.5/card}/svgView/svgView.d.ts +2 -2
- package/package.json +1 -4
- package/dist/cjs/card/cardSwitcher.js +0 -15
- package/dist/cjs/card/v2/cardV2.js +0 -41
- package/dist/cjs/card/v2/cardV2Loader.js +0 -36
- package/dist/cjs/card/v2/cardViewV2.js +0 -298
- package/dist/cjs/card/v2/cardWithMediaClientV2.js +0 -34
- package/dist/cjs/card/v2/inlinePlayerLazyV2.js +0 -35
- package/dist/cjs/card/v2/inlinePlayerV2.js +0 -224
- package/dist/es2019/card/cardSwitcher.js +0 -8
- package/dist/es2019/card/v2/cardV2.js +0 -33
- package/dist/es2019/card/v2/cardV2Loader.js +0 -18
- package/dist/es2019/card/v2/cardViewV2.js +0 -294
- package/dist/es2019/card/v2/cardWithMediaClientV2.js +0 -25
- package/dist/es2019/card/v2/inlinePlayerLazyV2.js +0 -10
- package/dist/es2019/card/v2/inlinePlayerV2.js +0 -166
- package/dist/esm/card/cardSwitcher.js +0 -8
- package/dist/esm/card/v2/cardV2.js +0 -34
- package/dist/esm/card/v2/cardV2Loader.js +0 -24
- package/dist/esm/card/v2/cardViewV2.js +0 -290
- package/dist/esm/card/v2/cardWithMediaClientV2.js +0 -27
- package/dist/esm/card/v2/inlinePlayerLazyV2.js +0 -23
- package/dist/esm/card/v2/inlinePlayerV2.js +0 -214
- package/dist/types/card/cardSwitcher.d.ts +0 -4
- package/dist/types/card/v2/cardV2.d.ts +0 -7
- package/dist/types/card/v2/cardV2Loader.d.ts +0 -4
- package/dist/types/card/v2/cardViewV2.d.ts +0 -59
- package/dist/types/card/v2/cardWithMediaClientV2.d.ts +0 -3
- package/dist/types/card/v2/inlinePlayerLazyV2.d.ts +0 -2
- package/dist/types/card/v2/inlinePlayerV2.d.ts +0 -24
- package/dist/types-ts4.5/card/cardSwitcher.d.ts +0 -4
- package/dist/types-ts4.5/card/v2/cardV2.d.ts +0 -7
- package/dist/types-ts4.5/card/v2/cardV2Loader.d.ts +0 -4
- package/dist/types-ts4.5/card/v2/cardViewV2.d.ts +0 -59
- package/dist/types-ts4.5/card/v2/cardWithMediaClientV2.d.ts +0 -3
- package/dist/types-ts4.5/card/v2/inlinePlayerLazyV2.d.ts +0 -2
- package/dist/types-ts4.5/card/v2/inlinePlayerV2.d.ts +0 -24
- /package/dist/cjs/card/{v2/performance.js → performance.js} +0 -0
- /package/dist/cjs/card/{v2/svgView → svgView}/errors.js +0 -0
- /package/dist/cjs/card/{v2/svgView → svgView}/helpers.js +0 -0
- /package/dist/cjs/card/{v2/svgView → svgView}/index.js +0 -0
- /package/dist/es2019/card/{v2/performance.js → performance.js} +0 -0
- /package/dist/es2019/card/{v2/svgView → svgView}/errors.js +0 -0
- /package/dist/es2019/card/{v2/svgView → svgView}/helpers.js +0 -0
- /package/dist/es2019/card/{v2/svgView → svgView}/index.js +0 -0
- /package/dist/esm/card/{v2/performance.js → performance.js} +0 -0
- /package/dist/esm/card/{v2/svgView → svgView}/errors.js +0 -0
- /package/dist/esm/card/{v2/svgView → svgView}/helpers.js +0 -0
- /package/dist/esm/card/{v2/svgView → svgView}/index.js +0 -0
- /package/dist/types/card/{v2/cardviews → cardviews}/loadingCardView.d.ts +0 -0
- /package/dist/types/card/{v2/cardviews → cardviews}/processingCardView.d.ts +0 -0
- /package/dist/types/card/{v2/performance.d.ts → performance.d.ts} +0 -0
- /package/dist/types/card/{v2/svgView → svgView}/helpers.d.ts +0 -0
- /package/dist/types/card/{v2/svgView → svgView}/index.d.ts +0 -0
- /package/dist/types-ts4.5/card/{v2/cardviews → cardviews}/loadingCardView.d.ts +0 -0
- /package/dist/types-ts4.5/card/{v2/cardviews → cardviews}/processingCardView.d.ts +0 -0
- /package/dist/types-ts4.5/card/{v2/performance.d.ts → performance.d.ts} +0 -0
- /package/dist/types-ts4.5/card/{v2/svgView → svgView}/helpers.d.ts +0 -0
- /package/dist/types-ts4.5/card/{v2/svgView → svgView}/index.d.ts +0 -0
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.CardViewBase = exports.CardView = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
11
|
var _react = require("@emotion/react");
|
|
16
|
-
var _react2 =
|
|
12
|
+
var _react2 = _interopRequireWildcard(require("react"));
|
|
17
13
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
18
14
|
var _mimeTypeIcon = require("@atlaskit/media-ui/mime-type-icon");
|
|
19
15
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
20
16
|
var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
21
17
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
22
|
-
var _cardDimensions = require("../utils/cardDimensions");
|
|
23
|
-
var _isValidPercentageUnit = require("../utils/isValidPercentageUnit");
|
|
24
|
-
var _getElementDimension = require("../utils/getElementDimension");
|
|
25
18
|
var _analytics = require("../utils/analytics");
|
|
26
19
|
var _actions = require("./actions");
|
|
27
|
-
var _styles = require("./ui/styles");
|
|
28
20
|
var _imageRenderer = require("./ui/imageRenderer/imageRenderer");
|
|
29
21
|
var _titleBox = require("./ui/titleBox/titleBox");
|
|
30
22
|
var _failedTitleBox = require("./ui/titleBox/failedTitleBox");
|
|
@@ -34,422 +26,268 @@ var _tickBox = require("./ui/tickBox/tickBox");
|
|
|
34
26
|
var _blanket = require("./ui/blanket/blanket");
|
|
35
27
|
var _actionsBar = require("./ui/actionsBar/actionsBar");
|
|
36
28
|
var _iconWrapper = require("./ui/iconWrapper/iconWrapper");
|
|
37
|
-
var
|
|
29
|
+
var _iconMessage2 = require("./ui/iconMessage");
|
|
38
30
|
var _errors = require("../errors");
|
|
39
31
|
var _wrapper = require("./ui/wrapper");
|
|
40
32
|
var _classnames = require("./classnames");
|
|
33
|
+
var _useBreakpoint = require("./useBreakpoint");
|
|
41
34
|
var _openMediaViewerButton = _interopRequireDefault(require("./ui/openMediaViewerButton/openMediaViewerButton"));
|
|
35
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
36
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
42
37
|
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; }
|
|
43
|
-
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; }
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
38
|
+
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; } /** @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
39
|
+
var CardViewBase = exports.CardViewBase = function CardViewBase(_ref) {
|
|
40
|
+
var innerRef = _ref.innerRef,
|
|
41
|
+
onImageLoad = _ref.onImageLoad,
|
|
42
|
+
onImageError = _ref.onImageError,
|
|
43
|
+
dimensions = _ref.dimensions,
|
|
44
|
+
onClick = _ref.onClick,
|
|
45
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
46
|
+
testId = _ref.testId,
|
|
47
|
+
metadata = _ref.metadata,
|
|
48
|
+
status = _ref.status,
|
|
49
|
+
selected = _ref.selected,
|
|
50
|
+
selectable = _ref.selectable,
|
|
51
|
+
cardPreview = _ref.cardPreview,
|
|
52
|
+
mediaCardCursor = _ref.mediaCardCursor,
|
|
53
|
+
shouldHideTooltip = _ref.shouldHideTooltip,
|
|
54
|
+
progress = _ref.progress,
|
|
55
|
+
alt = _ref.alt,
|
|
56
|
+
resizeMode = _ref.resizeMode,
|
|
57
|
+
onDisplayImage = _ref.onDisplayImage,
|
|
58
|
+
nativeLazyLoad = _ref.nativeLazyLoad,
|
|
59
|
+
forceSyncDisplay = _ref.forceSyncDisplay,
|
|
60
|
+
actions = _ref.actions,
|
|
61
|
+
disableOverlay = _ref.disableOverlay,
|
|
62
|
+
titleBoxBgColor = _ref.titleBoxBgColor,
|
|
63
|
+
titleBoxIcon = _ref.titleBoxIcon,
|
|
64
|
+
error = _ref.error,
|
|
65
|
+
disableAnimation = _ref.disableAnimation,
|
|
66
|
+
_ref$openMediaViewerB = _ref.openMediaViewerButtonRef,
|
|
67
|
+
openMediaViewerButtonRef = _ref$openMediaViewerB === void 0 ? null : _ref$openMediaViewerB,
|
|
68
|
+
shouldOpenMediaViewer = _ref.shouldOpenMediaViewer,
|
|
69
|
+
overriddenCreationDate = _ref.overriddenCreationDate;
|
|
70
|
+
var _useState = (0, _react2.useState)(false),
|
|
71
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
72
|
+
didImageRender = _useState2[0],
|
|
73
|
+
setDidImageRender = _useState2[1];
|
|
74
|
+
var divRef = (0, _react2.useRef)(null);
|
|
75
|
+
var prevCardPreviewRef = (0, _react2.useRef)();
|
|
76
|
+
var breakpoint = (0, _useBreakpoint.useBreakpoint)(dimensions === null || dimensions === void 0 ? void 0 : dimensions.width, divRef);
|
|
77
|
+
(0, _react2.useEffect)(function () {
|
|
78
|
+
innerRef && !!divRef.current && innerRef(divRef.current);
|
|
79
|
+
}, [innerRef]);
|
|
80
|
+
(0, _react2.useEffect)(function () {
|
|
81
|
+
// We should only switch didImageRender to false when cardPreview goes undefined, not when it is changed. as this method could be triggered after onImageLoad callback, falling on a race condition
|
|
82
|
+
if (prevCardPreviewRef.current && !cardPreview) {
|
|
83
|
+
setDidImageRender(false);
|
|
58
84
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageLoad", function (prevCardPreview) {
|
|
65
|
-
var _this$props = _this.props,
|
|
66
|
-
onImageLoad = _this$props.onImageLoad,
|
|
67
|
-
cardPreview = _this$props.cardPreview;
|
|
68
|
-
if (prevCardPreview.dataURI !== (cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI)) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
// We render the icon & icon message always, even if there is cardPreview available.
|
|
72
|
-
// If the image fails to load/render, the icon will remain, i.e. the user won't see a change until
|
|
73
|
-
// the root card decides to chage status to error.
|
|
74
|
-
// If the image renders successfully, we switch this variable to hide the icon & icon message
|
|
75
|
-
// behind the thumbnail in case the image has transparency.
|
|
76
|
-
// It is less likely that root component replaces a suceeded cardPreview for a failed one
|
|
77
|
-
// than the opposite case. Therefore we prefer to hide the icon instead show when the image fails,
|
|
78
|
-
// for a smoother transition
|
|
79
|
-
_this.setState({
|
|
80
|
-
didImageRender: true
|
|
81
|
-
});
|
|
82
|
-
onImageLoad && onImageLoad(cardPreview);
|
|
83
|
-
});
|
|
84
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageError", function (cardPreview) {
|
|
85
|
-
var onImageError = _this.props.onImageError;
|
|
86
|
-
_this.setState({
|
|
87
|
-
didImageRender: false
|
|
88
|
-
});
|
|
89
|
-
onImageError && onImageError(cardPreview);
|
|
90
|
-
});
|
|
91
|
-
// If the dimensions.width is a percentage, we need to transform it
|
|
92
|
-
// into a pixel value in order to get the right breakpoints applied.
|
|
93
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "saveElementWidth", function () {
|
|
94
|
-
var dimensions = _this.props.dimensions;
|
|
95
|
-
if (!dimensions) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
var width = dimensions.width;
|
|
99
|
-
if (width && (0, _isValidPercentageUnit.isValidPercentageUnit)(width) && !!_this.divRef.current) {
|
|
100
|
-
var elementWidth = (0, _getElementDimension.getElementDimension)(_this.divRef.current, 'width');
|
|
101
|
-
_this.setState({
|
|
102
|
-
elementWidth: elementWidth
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getRenderConfigByStatus", function () {
|
|
107
|
-
var _this$props2 = _this.props,
|
|
108
|
-
cardPreview = _this$props2.cardPreview,
|
|
109
|
-
status = _this$props2.status,
|
|
110
|
-
metadata = _this$props2.metadata,
|
|
111
|
-
disableOverlay = _this$props2.disableOverlay,
|
|
112
|
-
error = _this$props2.error,
|
|
113
|
-
selectable = _this$props2.selectable,
|
|
114
|
-
disableAnimation = _this$props2.disableAnimation;
|
|
115
|
-
var _ref = metadata || {},
|
|
116
|
-
name = _ref.name,
|
|
117
|
-
mediaType = _ref.mediaType;
|
|
118
|
-
var didImageRender = _this.state.didImageRender;
|
|
119
|
-
var isZeroSize = !!(metadata && metadata.size === 0);
|
|
120
|
-
var defaultConfig = {
|
|
121
|
-
renderTypeIcon: !didImageRender,
|
|
122
|
-
renderImageRenderer: !!cardPreview,
|
|
123
|
-
renderPlayButton: !!cardPreview && mediaType === 'video',
|
|
124
|
-
renderBlanket: !disableOverlay,
|
|
125
|
-
renderTitleBox: !disableOverlay && !!name,
|
|
126
|
-
renderTickBox: !disableOverlay && !!selectable
|
|
127
|
-
};
|
|
128
|
-
switch (status) {
|
|
129
|
-
case 'uploading':
|
|
130
|
-
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
131
|
-
renderBlanket: !disableOverlay || mediaType !== 'video',
|
|
132
|
-
isFixedBlanket: true,
|
|
133
|
-
renderProgressBar: true
|
|
134
|
-
});
|
|
135
|
-
case 'processing':
|
|
136
|
-
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
137
|
-
iconMessage: !didImageRender && !isZeroSize ? (0, _react.jsx)(_iconMessage.CreatingPreview, {
|
|
138
|
-
disableAnimation: disableAnimation
|
|
139
|
-
}) : undefined
|
|
140
|
-
});
|
|
141
|
-
case 'complete':
|
|
142
|
-
return defaultConfig;
|
|
143
|
-
case 'error':
|
|
144
|
-
case 'failed-processing':
|
|
145
|
-
var baseErrorConfig = _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
146
|
-
renderTypeIcon: true,
|
|
147
|
-
renderImageRenderer: false,
|
|
148
|
-
renderTitleBox: false,
|
|
149
|
-
renderPlayButton: false
|
|
150
|
-
});
|
|
151
|
-
var iconMessage;
|
|
152
|
-
var customTitleMessage;
|
|
153
|
-
var _ref2 = error || {},
|
|
154
|
-
secondaryError = _ref2.secondaryError;
|
|
155
|
-
if ((0, _errors.isRateLimitedError)(secondaryError) || (0, _errors.isPollingError)(secondaryError)) {
|
|
156
|
-
iconMessage = (0, _react.jsx)(_iconMessage.PreviewCurrentlyUnavailable, null);
|
|
157
|
-
} else if ((0, _errors.isUploadError)(error)) {
|
|
158
|
-
iconMessage = (0, _react.jsx)(_iconMessage.FailedToUpload, null);
|
|
159
|
-
customTitleMessage = _mediaUi.messages.failed_to_upload;
|
|
160
|
-
} else if (!metadata) {
|
|
161
|
-
iconMessage = (0, _react.jsx)(_iconMessage.FailedToLoad, null);
|
|
162
|
-
} else {
|
|
163
|
-
iconMessage = (0, _react.jsx)(_iconMessage.PreviewUnavailable, null);
|
|
164
|
-
}
|
|
165
|
-
if (!disableOverlay) {
|
|
166
|
-
var renderFailedTitleBox = !name || !!customTitleMessage;
|
|
167
|
-
return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
|
|
168
|
-
renderTitleBox: !!name && !customTitleMessage,
|
|
169
|
-
renderFailedTitleBox: renderFailedTitleBox,
|
|
170
|
-
iconMessage: !renderFailedTitleBox ? iconMessage : undefined,
|
|
171
|
-
customTitleMessage: customTitleMessage
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
|
|
175
|
-
iconMessage: iconMessage
|
|
176
|
-
});
|
|
177
|
-
case 'loading-preview':
|
|
178
|
-
case 'loading':
|
|
179
|
-
default:
|
|
180
|
-
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
181
|
-
renderPlayButton: false,
|
|
182
|
-
renderTypeIcon: false,
|
|
183
|
-
renderSpinner: !didImageRender
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderContents", function () {
|
|
188
|
-
var _this$getRenderConfig = _this.getRenderConfigByStatus(),
|
|
189
|
-
renderTypeIcon = _this$getRenderConfig.renderTypeIcon,
|
|
190
|
-
iconMessage = _this$getRenderConfig.iconMessage,
|
|
191
|
-
renderImageRenderer = _this$getRenderConfig.renderImageRenderer,
|
|
192
|
-
renderSpinner = _this$getRenderConfig.renderSpinner,
|
|
193
|
-
renderPlayButton = _this$getRenderConfig.renderPlayButton,
|
|
194
|
-
renderBlanket = _this$getRenderConfig.renderBlanket,
|
|
195
|
-
renderProgressBar = _this$getRenderConfig.renderProgressBar,
|
|
196
|
-
renderTitleBox = _this$getRenderConfig.renderTitleBox,
|
|
197
|
-
renderFailedTitleBox = _this$getRenderConfig.renderFailedTitleBox,
|
|
198
|
-
renderTickBox = _this$getRenderConfig.renderTickBox,
|
|
199
|
-
isFixedBlanket = _this$getRenderConfig.isFixedBlanket,
|
|
200
|
-
customTitleMessage = _this$getRenderConfig.customTitleMessage;
|
|
201
|
-
var _this$props3 = _this.props,
|
|
202
|
-
progress = _this$props3.progress,
|
|
203
|
-
selected = _this$props3.selected,
|
|
204
|
-
status = _this$props3.status,
|
|
205
|
-
metadata = _this$props3.metadata;
|
|
206
|
-
var _ref3 = metadata || {},
|
|
207
|
-
name = _ref3.name;
|
|
208
|
-
var hasTitleBox = !!renderTitleBox || !!renderFailedTitleBox;
|
|
209
|
-
return (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)(_wrapper.ImageContainer, {
|
|
210
|
-
testId: _classnames.fileCardImageViewSelector,
|
|
211
|
-
mediaName: name,
|
|
212
|
-
status: status,
|
|
213
|
-
progress: progress,
|
|
214
|
-
selected: selected ? true : undefined
|
|
215
|
-
}, renderTypeIcon && _this.renderMediaTypeIcon(hasTitleBox, iconMessage), renderSpinner && _this.renderSpinner(hasTitleBox), renderImageRenderer && _this.renderImageRenderer(), renderPlayButton && _this.renderPlayButton(hasTitleBox), renderBlanket && _this.renderBlanket(!!isFixedBlanket), renderTitleBox && _this.renderTitleBox(), renderFailedTitleBox && _this.renderFailedTitleBox(customTitleMessage), renderProgressBar && _this.renderProgressBar(!hasTitleBox), renderTickBox && _this.renderTickBox()), _this.renderActionsBar());
|
|
216
|
-
});
|
|
217
|
-
return _this;
|
|
218
|
-
}
|
|
219
|
-
(0, _createClass2.default)(CardViewBase, [{
|
|
220
|
-
key: "componentDidMount",
|
|
221
|
-
value: function componentDidMount() {
|
|
222
|
-
this.saveElementWidth();
|
|
223
|
-
var innerRef = this.props.innerRef;
|
|
224
|
-
!!innerRef && !!this.divRef.current && innerRef(this.divRef.current);
|
|
225
|
-
}
|
|
226
|
-
}, {
|
|
227
|
-
key: "componentDidUpdate",
|
|
228
|
-
value: function componentDidUpdate(_ref4) {
|
|
229
|
-
var prevCardPreview = _ref4.cardPreview;
|
|
230
|
-
var cardPreview = this.props.cardPreview;
|
|
231
|
-
// We should only switch didImageRender to false
|
|
232
|
-
// when cardPreview goes undefined, not when it is updated.
|
|
233
|
-
// as this method could be triggered after onImageLoad callback,
|
|
234
|
-
// falling on a race condition
|
|
235
|
-
!!prevCardPreview && !cardPreview && this.setState({
|
|
236
|
-
didImageRender: false
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}, {
|
|
240
|
-
key: "breakpoint",
|
|
241
|
-
get: function get() {
|
|
242
|
-
var width = this.state.elementWidth || (this.props.dimensions ? this.props.dimensions.width : '') || _cardDimensions.defaultImageCardDimensions.width;
|
|
243
|
-
return (0, _styles.calcBreakpointSize)(parseInt("".concat(width), 10));
|
|
244
|
-
}
|
|
245
|
-
}, {
|
|
246
|
-
key: "renderSpinner",
|
|
247
|
-
value: function renderSpinner(hasTitleBox) {
|
|
248
|
-
return (0, _react.jsx)(_iconWrapper.IconWrapper, {
|
|
249
|
-
breakpoint: this.breakpoint,
|
|
250
|
-
hasTitleBox: hasTitleBox
|
|
251
|
-
}, (0, _react.jsx)(_spinner.default, {
|
|
252
|
-
testId: 'media-card-loading',
|
|
253
|
-
interactionName: 'media-card-loading'
|
|
254
|
-
}));
|
|
255
|
-
}
|
|
256
|
-
}, {
|
|
257
|
-
key: "shouldRenderPlayButton",
|
|
258
|
-
value: function shouldRenderPlayButton() {
|
|
259
|
-
var _this$props4 = this.props,
|
|
260
|
-
metadata = _this$props4.metadata,
|
|
261
|
-
cardPreview = _this$props4.cardPreview;
|
|
262
|
-
var _ref5 = metadata || {},
|
|
263
|
-
mediaType = _ref5.mediaType;
|
|
264
|
-
if (mediaType !== 'video' || !cardPreview) {
|
|
265
|
-
return false;
|
|
266
|
-
}
|
|
267
|
-
return true;
|
|
268
|
-
}
|
|
269
|
-
}, {
|
|
270
|
-
key: "renderPlayButton",
|
|
271
|
-
value: function renderPlayButton(hasTitleBox) {
|
|
272
|
-
return (0, _react.jsx)(_iconWrapper.IconWrapper, {
|
|
273
|
-
breakpoint: this.breakpoint,
|
|
274
|
-
hasTitleBox: hasTitleBox
|
|
275
|
-
}, (0, _react.jsx)(_playButton.PlayButton, null));
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
//This Blanket will provide a shadow backround for uploading status by
|
|
279
|
-
//setting isFixed.
|
|
280
|
-
}, {
|
|
281
|
-
key: "renderBlanket",
|
|
282
|
-
value: function renderBlanket(isFixed) {
|
|
283
|
-
return (0, _react.jsx)(_blanket.Blanket, {
|
|
284
|
-
isFixed: isFixed
|
|
285
|
-
});
|
|
85
|
+
prevCardPreviewRef.current = cardPreview;
|
|
86
|
+
}, [cardPreview]);
|
|
87
|
+
var handleOnImageLoad = function handleOnImageLoad(prevCardPreview) {
|
|
88
|
+
if (prevCardPreview.dataURI !== (cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI)) {
|
|
89
|
+
return;
|
|
286
90
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
return
|
|
299
|
-
name: name,
|
|
300
|
-
createdAt: overriddenCreationDate !== null && overriddenCreationDate !== void 0 ? overriddenCreationDate : createdAt,
|
|
301
|
-
breakpoint: this.breakpoint,
|
|
302
|
-
titleBoxIcon: titleBoxIcon,
|
|
303
|
-
titleBoxBgColor: titleBoxBgColor
|
|
304
|
-
});
|
|
91
|
+
/*
|
|
92
|
+
We render the icon & icon message always, even if there is cardPreview available.
|
|
93
|
+
If the image fails to load/render, the icon will remain, i.e. the user won't see a change until the root card decides to chage status to error.
|
|
94
|
+
If the image renders successfully, we switch this variable to hide the icon & icon message behind the thumbnail in case the image has transparency.
|
|
95
|
+
It is less likely that root component replaces a suceeded cardPreview for a failed one than the opposite case. Therefore we prefer to hide the icon instead show when the image fails, for a smoother transition
|
|
96
|
+
*/
|
|
97
|
+
setDidImageRender(true);
|
|
98
|
+
onImageLoad === null || onImageLoad === void 0 || onImageLoad(cardPreview);
|
|
99
|
+
};
|
|
100
|
+
var handleOnImageError = function handleOnImageError(prevCardPreview) {
|
|
101
|
+
if (prevCardPreview.dataURI !== (cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI)) {
|
|
102
|
+
return;
|
|
305
103
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
104
|
+
setDidImageRender(false);
|
|
105
|
+
onImageError === null || onImageError === void 0 || onImageError(cardPreview);
|
|
106
|
+
};
|
|
107
|
+
var shouldRenderPlayButton = function shouldRenderPlayButton() {
|
|
108
|
+
var _ref2 = metadata || {},
|
|
109
|
+
mediaType = _ref2.mediaType;
|
|
110
|
+
if (mediaType !== 'video' || !cardPreview) {
|
|
111
|
+
return false;
|
|
313
112
|
}
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
|
|
387
|
-
if (disableOverlay || !actions || actions.length === 0) {
|
|
388
|
-
return null;
|
|
389
|
-
}
|
|
390
|
-
return (0, _react.jsx)(_actionsBar.ActionsBar, {
|
|
391
|
-
filename: metadata === null || metadata === void 0 ? void 0 : metadata.name,
|
|
392
|
-
actions: actionsWithDetails
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
}, {
|
|
396
|
-
key: "render",
|
|
397
|
-
value: function render() {
|
|
398
|
-
var _this$props8 = this.props,
|
|
399
|
-
dimensions = _this$props8.dimensions,
|
|
400
|
-
appearance = _this$props8.appearance,
|
|
401
|
-
onClick = _this$props8.onClick,
|
|
402
|
-
onMouseEnter = _this$props8.onMouseEnter,
|
|
403
|
-
testId = _this$props8.testId,
|
|
404
|
-
metadata = _this$props8.metadata,
|
|
405
|
-
status = _this$props8.status,
|
|
406
|
-
selected = _this$props8.selected,
|
|
407
|
-
selectable = _this$props8.selectable,
|
|
408
|
-
disableOverlay = _this$props8.disableOverlay,
|
|
409
|
-
cardPreview = _this$props8.cardPreview,
|
|
410
|
-
mediaCardCursor = _this$props8.mediaCardCursor,
|
|
411
|
-
shouldHideTooltip = _this$props8.shouldHideTooltip,
|
|
412
|
-
_this$props8$openMedi = _this$props8.openMediaViewerButtonRef,
|
|
413
|
-
openMediaViewerButtonRef = _this$props8$openMedi === void 0 ? null : _this$props8$openMedi,
|
|
414
|
-
shouldOpenMediaViewer = _this$props8.shouldOpenMediaViewer;
|
|
415
|
-
var _ref9 = metadata || {},
|
|
416
|
-
name = _ref9.name;
|
|
417
|
-
var shouldDisplayBackground = !cardPreview || !disableOverlay || status === 'error' || status === 'failed-processing';
|
|
418
|
-
var isPlayButtonClickable = !!(this.shouldRenderPlayButton() && disableOverlay);
|
|
419
|
-
var isTickBoxSelectable = !disableOverlay && !!selectable && !selected;
|
|
420
|
-
// Disable tooltip for Media Single
|
|
421
|
-
var shouldDisplayTooltip = !disableOverlay && !shouldHideTooltip;
|
|
422
|
-
return (0, _react.jsx)(_react2.default.Fragment, null, shouldOpenMediaViewer && (0, _react.jsx)(_openMediaViewerButton.default, {
|
|
423
|
-
fileName: name !== null && name !== void 0 ? name : '',
|
|
424
|
-
innerRef: openMediaViewerButtonRef,
|
|
425
|
-
onClick: onClick
|
|
426
|
-
}), (0, _react.jsx)(_wrapper.Wrapper, {
|
|
427
|
-
testId: testId || 'media-card-view',
|
|
428
|
-
dimensions: dimensions,
|
|
429
|
-
appearance: appearance,
|
|
430
|
-
onClick: onClick,
|
|
431
|
-
onMouseEnter: onMouseEnter,
|
|
432
|
-
innerRef: this.divRef,
|
|
433
|
-
breakpoint: this.breakpoint,
|
|
434
|
-
mediaCardCursor: mediaCardCursor,
|
|
435
|
-
disableOverlay: !!disableOverlay,
|
|
436
|
-
selected: !!selected,
|
|
437
|
-
displayBackground: shouldDisplayBackground,
|
|
438
|
-
isPlayButtonClickable: isPlayButtonClickable,
|
|
439
|
-
isTickBoxSelectable: isTickBoxSelectable,
|
|
440
|
-
shouldDisplayTooltip: shouldDisplayTooltip
|
|
441
|
-
}, shouldDisplayTooltip ? (0, _react.jsx)(_tooltip.default, {
|
|
442
|
-
content: name,
|
|
443
|
-
position: "bottom",
|
|
444
|
-
tag: 'div'
|
|
445
|
-
}, this.renderContents()) : this.renderContents()));
|
|
113
|
+
return true;
|
|
114
|
+
};
|
|
115
|
+
var getRenderConfigByStatus = function getRenderConfigByStatus() {
|
|
116
|
+
var _ref3 = metadata || {},
|
|
117
|
+
name = _ref3.name,
|
|
118
|
+
mediaType = _ref3.mediaType;
|
|
119
|
+
var isZeroSize = metadata && metadata.size === 0;
|
|
120
|
+
var defaultConfig = {
|
|
121
|
+
renderTypeIcon: !didImageRender,
|
|
122
|
+
renderImageRenderer: !!cardPreview,
|
|
123
|
+
renderPlayButton: !!cardPreview && mediaType === 'video',
|
|
124
|
+
renderBlanket: !disableOverlay,
|
|
125
|
+
renderTitleBox: !disableOverlay && !!name,
|
|
126
|
+
renderTickBox: !disableOverlay && !!selectable
|
|
127
|
+
};
|
|
128
|
+
switch (status) {
|
|
129
|
+
case 'uploading':
|
|
130
|
+
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
131
|
+
renderBlanket: !disableOverlay || mediaType !== 'video',
|
|
132
|
+
isFixedBlanket: true,
|
|
133
|
+
renderProgressBar: true
|
|
134
|
+
});
|
|
135
|
+
case 'processing':
|
|
136
|
+
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
137
|
+
iconMessage: !didImageRender && !isZeroSize ? (0, _react.jsx)(_iconMessage2.CreatingPreview, {
|
|
138
|
+
disableAnimation: disableAnimation
|
|
139
|
+
}) : undefined
|
|
140
|
+
});
|
|
141
|
+
case 'complete':
|
|
142
|
+
return defaultConfig;
|
|
143
|
+
case 'error':
|
|
144
|
+
case 'failed-processing':
|
|
145
|
+
var baseErrorConfig = _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
146
|
+
renderTypeIcon: true,
|
|
147
|
+
renderImageRenderer: false,
|
|
148
|
+
renderTitleBox: false,
|
|
149
|
+
renderPlayButton: false
|
|
150
|
+
});
|
|
151
|
+
var _iconMessage;
|
|
152
|
+
var _customTitleMessage;
|
|
153
|
+
var _ref4 = error || {},
|
|
154
|
+
secondaryError = _ref4.secondaryError;
|
|
155
|
+
if ((0, _errors.isRateLimitedError)(secondaryError) || (0, _errors.isPollingError)(secondaryError)) {
|
|
156
|
+
_iconMessage = (0, _react.jsx)(_iconMessage2.PreviewCurrentlyUnavailable, null);
|
|
157
|
+
} else if ((0, _errors.isUploadError)(error)) {
|
|
158
|
+
_iconMessage = (0, _react.jsx)(_iconMessage2.FailedToUpload, null);
|
|
159
|
+
_customTitleMessage = _mediaUi.messages.failed_to_upload;
|
|
160
|
+
} else if (!metadata) {
|
|
161
|
+
_iconMessage = (0, _react.jsx)(_iconMessage2.FailedToLoad, null);
|
|
162
|
+
} else {
|
|
163
|
+
_iconMessage = (0, _react.jsx)(_iconMessage2.PreviewUnavailable, null);
|
|
164
|
+
}
|
|
165
|
+
if (!disableOverlay) {
|
|
166
|
+
var _renderFailedTitleBox = !name || !!_customTitleMessage;
|
|
167
|
+
return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
|
|
168
|
+
renderTitleBox: !!name && !_customTitleMessage,
|
|
169
|
+
renderFailedTitleBox: _renderFailedTitleBox,
|
|
170
|
+
iconMessage: !_renderFailedTitleBox ? _iconMessage : undefined,
|
|
171
|
+
customTitleMessage: _customTitleMessage
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
|
|
175
|
+
iconMessage: _iconMessage
|
|
176
|
+
});
|
|
177
|
+
case 'loading-preview':
|
|
178
|
+
case 'loading':
|
|
179
|
+
default:
|
|
180
|
+
return _objectSpread(_objectSpread({}, defaultConfig), {}, {
|
|
181
|
+
renderPlayButton: false,
|
|
182
|
+
renderTypeIcon: false,
|
|
183
|
+
renderSpinner: !didImageRender
|
|
184
|
+
});
|
|
446
185
|
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
186
|
+
};
|
|
187
|
+
var _getRenderConfigBySta = getRenderConfigByStatus(),
|
|
188
|
+
renderTypeIcon = _getRenderConfigBySta.renderTypeIcon,
|
|
189
|
+
iconMessage = _getRenderConfigBySta.iconMessage,
|
|
190
|
+
renderImageRenderer = _getRenderConfigBySta.renderImageRenderer,
|
|
191
|
+
renderSpinner = _getRenderConfigBySta.renderSpinner,
|
|
192
|
+
renderPlayButton = _getRenderConfigBySta.renderPlayButton,
|
|
193
|
+
renderBlanket = _getRenderConfigBySta.renderBlanket,
|
|
194
|
+
renderProgressBar = _getRenderConfigBySta.renderProgressBar,
|
|
195
|
+
renderTitleBox = _getRenderConfigBySta.renderTitleBox,
|
|
196
|
+
renderFailedTitleBox = _getRenderConfigBySta.renderFailedTitleBox,
|
|
197
|
+
renderTickBox = _getRenderConfigBySta.renderTickBox,
|
|
198
|
+
isFixedBlanket = _getRenderConfigBySta.isFixedBlanket,
|
|
199
|
+
customTitleMessage = _getRenderConfigBySta.customTitleMessage;
|
|
200
|
+
var shouldDisplayBackground = !cardPreview || !disableOverlay || status === 'error' || status === 'failed-processing';
|
|
201
|
+
var isPlayButtonClickable = shouldRenderPlayButton() && !!disableOverlay;
|
|
202
|
+
var isTickBoxSelectable = !disableOverlay && !!selectable && !selected;
|
|
203
|
+
// Disable tooltip for Media Single
|
|
204
|
+
var shouldDisplayTooltip = !disableOverlay && !shouldHideTooltip;
|
|
205
|
+
var hasTitleBox = !!(renderTitleBox || renderFailedTitleBox);
|
|
206
|
+
var _ref5 = metadata || {},
|
|
207
|
+
mediaType = _ref5.mediaType,
|
|
208
|
+
mimeType = _ref5.mimeType,
|
|
209
|
+
name = _ref5.name,
|
|
210
|
+
createdAt = _ref5.createdAt;
|
|
211
|
+
var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
|
|
212
|
+
var contents = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)(_wrapper.ImageContainer, {
|
|
213
|
+
testId: _classnames.fileCardImageViewSelector,
|
|
214
|
+
mediaName: name,
|
|
215
|
+
status: status,
|
|
216
|
+
progress: progress,
|
|
217
|
+
selected: selected,
|
|
218
|
+
source: cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.source
|
|
219
|
+
}, renderTypeIcon && (0, _react.jsx)(_iconWrapper.IconWrapper, {
|
|
220
|
+
breakpoint: breakpoint,
|
|
221
|
+
hasTitleBox: hasTitleBox
|
|
222
|
+
}, (0, _react.jsx)(_mimeTypeIcon.MimeTypeIcon, {
|
|
223
|
+
testId: "media-card-file-type-icon",
|
|
224
|
+
mediaType: mediaType,
|
|
225
|
+
mimeType: mimeType,
|
|
226
|
+
name: name
|
|
227
|
+
}), iconMessage), renderSpinner && (0, _react.jsx)(_iconWrapper.IconWrapper, {
|
|
228
|
+
breakpoint: breakpoint,
|
|
229
|
+
hasTitleBox: hasTitleBox
|
|
230
|
+
}, (0, _react.jsx)(_spinner.default, {
|
|
231
|
+
testId: "media-card-loading",
|
|
232
|
+
interactionName: "media-card-loading"
|
|
233
|
+
})), renderImageRenderer && !!cardPreview && (0, _react.jsx)(_imageRenderer.ImageRenderer, {
|
|
234
|
+
cardPreview: cardPreview,
|
|
235
|
+
mediaType: (metadata === null || metadata === void 0 ? void 0 : metadata.mediaType) || 'unknown',
|
|
236
|
+
alt: alt || name,
|
|
237
|
+
resizeMode: resizeMode,
|
|
238
|
+
onDisplayImage: onDisplayImage,
|
|
239
|
+
onImageLoad: handleOnImageLoad,
|
|
240
|
+
onImageError: handleOnImageError,
|
|
241
|
+
nativeLazyLoad: nativeLazyLoad,
|
|
242
|
+
forceSyncDisplay: forceSyncDisplay
|
|
243
|
+
}), renderPlayButton && (0, _react.jsx)(_iconWrapper.IconWrapper, {
|
|
244
|
+
breakpoint: breakpoint,
|
|
245
|
+
hasTitleBox: hasTitleBox
|
|
246
|
+
}, (0, _react.jsx)(_playButton.PlayButton, null)), renderBlanket && (0, _react.jsx)(_blanket.Blanket, {
|
|
247
|
+
isFixed: isFixedBlanket
|
|
248
|
+
}), renderTitleBox && name && (0, _react.jsx)(_titleBox.TitleBox, {
|
|
249
|
+
name: name,
|
|
250
|
+
createdAt: overriddenCreationDate !== null && overriddenCreationDate !== void 0 ? overriddenCreationDate : createdAt,
|
|
251
|
+
breakpoint: breakpoint,
|
|
252
|
+
titleBoxIcon: titleBoxIcon,
|
|
253
|
+
titleBoxBgColor: titleBoxBgColor
|
|
254
|
+
}), renderFailedTitleBox && (0, _react.jsx)(_failedTitleBox.FailedTitleBox, {
|
|
255
|
+
breakpoint: breakpoint,
|
|
256
|
+
customMessage: customTitleMessage
|
|
257
|
+
}), renderProgressBar && (0, _react.jsx)(_progressBar.ProgressBar, {
|
|
258
|
+
progress: progress,
|
|
259
|
+
breakpoint: breakpoint,
|
|
260
|
+
positionBottom: !hasTitleBox
|
|
261
|
+
}), renderTickBox && (0, _react.jsx)(_tickBox.TickBox, {
|
|
262
|
+
selected: selected
|
|
263
|
+
})), disableOverlay || !actions || actions.length === 0 ? null : (0, _react.jsx)(_actionsBar.ActionsBar, {
|
|
264
|
+
filename: name,
|
|
265
|
+
actions: actionsWithDetails
|
|
266
|
+
}));
|
|
267
|
+
return (0, _react.jsx)(_react2.default.Fragment, null, shouldOpenMediaViewer && (0, _react.jsx)(_openMediaViewerButton.default, {
|
|
268
|
+
fileName: name !== null && name !== void 0 ? name : '',
|
|
269
|
+
innerRef: openMediaViewerButtonRef,
|
|
270
|
+
onClick: onClick
|
|
271
|
+
}), (0, _react.jsx)(_wrapper.Wrapper, {
|
|
272
|
+
testId: testId || 'media-card-view',
|
|
273
|
+
dimensions: dimensions,
|
|
274
|
+
onClick: onClick,
|
|
275
|
+
onMouseEnter: onMouseEnter,
|
|
276
|
+
innerRef: divRef,
|
|
277
|
+
breakpoint: breakpoint,
|
|
278
|
+
mediaCardCursor: mediaCardCursor,
|
|
279
|
+
disableOverlay: !!disableOverlay,
|
|
280
|
+
selected: !!selected,
|
|
281
|
+
displayBackground: shouldDisplayBackground,
|
|
282
|
+
isPlayButtonClickable: isPlayButtonClickable,
|
|
283
|
+
isTickBoxSelectable: isTickBoxSelectable,
|
|
284
|
+
shouldDisplayTooltip: shouldDisplayTooltip
|
|
285
|
+
}, shouldDisplayTooltip ? (0, _react.jsx)(_tooltip.default, {
|
|
286
|
+
content: name,
|
|
287
|
+
position: "bottom",
|
|
288
|
+
tag: "div"
|
|
289
|
+
}, contents) : contents));
|
|
290
|
+
};
|
|
453
291
|
var CardView = exports.CardView = (0, _analyticsNext.withAnalyticsEvents)({
|
|
454
292
|
onClick: (0, _analytics.createAndFireMediaCardEvent)({
|
|
455
293
|
eventType: 'ui',
|