@atlaskit/media-card 77.5.1 → 77.6.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/card/card.js +1 -1
  3. package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
  4. package/dist/cjs/card/v2/cardV2.js +1 -1
  5. package/dist/cjs/card/v2/cardviews/cardViewWrapper.js +100 -0
  6. package/dist/cjs/card/v2/cardviews/errorCardView.js +87 -0
  7. package/dist/cjs/card/v2/cardviews/iconCardView.js +79 -0
  8. package/dist/cjs/card/v2/cardviews/imageCardView.js +89 -0
  9. package/dist/cjs/card/v2/cardviews/index.js +282 -0
  10. package/dist/cjs/card/v2/cardviews/loadingCardView.js +53 -0
  11. package/dist/cjs/card/v2/cardviews/processingCardView.js +65 -0
  12. package/dist/cjs/card/v2/cardviews/videoCardView.js +94 -0
  13. package/dist/cjs/card/v2/fileCard.js +4 -1
  14. package/dist/cjs/inline/loader.js +1 -1
  15. package/dist/cjs/utils/ufoExperiences.js +1 -1
  16. package/dist/es2019/card/card.js +1 -1
  17. package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
  18. package/dist/es2019/card/v2/cardV2.js +1 -1
  19. package/dist/es2019/card/v2/cardviews/cardViewWrapper.js +92 -0
  20. package/dist/es2019/card/v2/cardviews/errorCardView.js +82 -0
  21. package/dist/es2019/card/v2/cardviews/iconCardView.js +70 -0
  22. package/dist/es2019/card/v2/cardviews/imageCardView.js +75 -0
  23. package/dist/es2019/card/v2/cardviews/index.js +268 -0
  24. package/dist/es2019/card/v2/cardviews/loadingCardView.js +48 -0
  25. package/dist/es2019/card/v2/cardviews/processingCardView.js +60 -0
  26. package/dist/es2019/card/v2/cardviews/videoCardView.js +80 -0
  27. package/dist/es2019/card/v2/fileCard.js +4 -1
  28. package/dist/es2019/inline/loader.js +1 -1
  29. package/dist/es2019/utils/ufoExperiences.js +1 -1
  30. package/dist/esm/card/card.js +1 -1
  31. package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
  32. package/dist/esm/card/v2/cardV2.js +1 -1
  33. package/dist/esm/card/v2/cardviews/cardViewWrapper.js +93 -0
  34. package/dist/esm/card/v2/cardviews/errorCardView.js +79 -0
  35. package/dist/esm/card/v2/cardviews/iconCardView.js +71 -0
  36. package/dist/esm/card/v2/cardviews/imageCardView.js +81 -0
  37. package/dist/esm/card/v2/cardviews/index.js +271 -0
  38. package/dist/esm/card/v2/cardviews/loadingCardView.js +45 -0
  39. package/dist/esm/card/v2/cardviews/processingCardView.js +57 -0
  40. package/dist/esm/card/v2/cardviews/videoCardView.js +86 -0
  41. package/dist/esm/card/v2/fileCard.js +4 -1
  42. package/dist/esm/inline/loader.js +1 -1
  43. package/dist/esm/utils/ufoExperiences.js +1 -1
  44. package/dist/types/card/ui/wrapper/types.d.ts +2 -2
  45. package/dist/types/card/v2/cardviews/cardViewWrapper.d.ts +38 -0
  46. package/dist/types/card/v2/cardviews/errorCardView.d.ts +11 -0
  47. package/dist/types/card/v2/cardviews/iconCardView.d.ts +12 -0
  48. package/dist/types/card/v2/cardviews/imageCardView.d.ts +21 -0
  49. package/dist/types/card/v2/cardviews/index.d.ts +45 -0
  50. package/dist/types/card/v2/cardviews/loadingCardView.d.ts +10 -0
  51. package/dist/types/card/v2/cardviews/processingCardView.d.ts +8 -0
  52. package/dist/types/card/v2/cardviews/videoCardView.d.ts +21 -0
  53. package/dist/types-ts4.5/card/ui/wrapper/types.d.ts +2 -2
  54. package/dist/types-ts4.5/card/v2/cardviews/cardViewWrapper.d.ts +38 -0
  55. package/dist/types-ts4.5/card/v2/cardviews/errorCardView.d.ts +11 -0
  56. package/dist/types-ts4.5/card/v2/cardviews/iconCardView.d.ts +12 -0
  57. package/dist/types-ts4.5/card/v2/cardviews/imageCardView.d.ts +21 -0
  58. package/dist/types-ts4.5/card/v2/cardviews/index.d.ts +45 -0
  59. package/dist/types-ts4.5/card/v2/cardviews/loadingCardView.d.ts +10 -0
  60. package/dist/types-ts4.5/card/v2/cardviews/processingCardView.d.ts +8 -0
  61. package/dist/types-ts4.5/card/v2/cardviews/videoCardView.d.ts +21 -0
  62. package/package.json +5 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/media-card
2
2
 
3
+ ## 77.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#60120](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60120) [`90b15e5dd475`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/90b15e5dd475) - Extract CardView logic into individual "view" components
8
+
9
+ ### Patch Changes
10
+
11
+ - [#60464](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60464) [`a30f9a5f3e0d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a30f9a5f3e0d) - Removing unused dependencies
12
+
13
+ ## 77.5.2
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies
18
+
3
19
  ## 77.5.1
4
20
 
5
21
  ### Patch Changes
@@ -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.5.1";
52
+ var packageVersion = "77.6.0";
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.5.1";
93
+ var packageVersion = "77.6.0";
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.5.1";
19
+ var packageVersion = "77.6.0";
20
20
  var CardV2Base = exports.CardV2Base = function CardV2Base(_ref) {
21
21
  var identifier = _ref.identifier,
22
22
  otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CardViewWrapper = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = require("@emotion/react");
11
+ var _react2 = _interopRequireDefault(require("react"));
12
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
13
+ var _wrapper = require("../../ui/wrapper");
14
+ var _actions = require("../../actions");
15
+ var _styles = require("../../ui/styles");
16
+ var _titleBox = require("../../ui/titleBox/titleBox");
17
+ var _tickBox = require("../../ui/tickBox/tickBox");
18
+ var _blanket = require("../../ui/blanket/blanket");
19
+ var _actionsBar = require("../../ui/actionsBar/actionsBar");
20
+ var _classnames = require("../../classnames");
21
+ var _excluded = ["cardPreview", "testId", "dimensions", "appearance", "metadata", "selected", "selectable", "actions", "breakpoint", "disableOverlay", "titleBoxBgColor", "titleBoxIcon", "shouldHideTooltip", "children", "onClick", "onMouseEnter", "mediaCardCursor", "customBlanket", "customTitleBox", "progressBar"];
22
+ /** @jsx jsx */
23
+ var CardViewWrapper = exports.CardViewWrapper = /*#__PURE__*/_react2.default.forwardRef(function (_ref, ref) {
24
+ var cardPreview = _ref.cardPreview,
25
+ testId = _ref.testId,
26
+ dimensions = _ref.dimensions,
27
+ _ref$appearance = _ref.appearance,
28
+ appearance = _ref$appearance === void 0 ? 'auto' : _ref$appearance,
29
+ metadata = _ref.metadata,
30
+ selected = _ref.selected,
31
+ selectable = _ref.selectable,
32
+ actions = _ref.actions,
33
+ breakpoint = _ref.breakpoint,
34
+ disableOverlay = _ref.disableOverlay,
35
+ titleBoxBgColor = _ref.titleBoxBgColor,
36
+ titleBoxIcon = _ref.titleBoxIcon,
37
+ shouldHideTooltip = _ref.shouldHideTooltip,
38
+ children = _ref.children,
39
+ onClick = _ref.onClick,
40
+ onMouseEnter = _ref.onMouseEnter,
41
+ mediaCardCursor = _ref.mediaCardCursor,
42
+ customBlanket = _ref.customBlanket,
43
+ customTitleBox = _ref.customTitleBox,
44
+ progressBar = _ref.progressBar,
45
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
46
+ var _ref2 = metadata || {},
47
+ name = _ref2.name,
48
+ createdAt = _ref2.createdAt,
49
+ mediaType = _ref2.mediaType;
50
+ var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
51
+ var defaultBlanket = !disableOverlay && (0, _react.jsx)(_blanket.Blanket, null);
52
+ var defaultTitleBox = !disableOverlay && !!name && (0, _react.jsx)(_titleBox.TitleBox, {
53
+ name: name,
54
+ createdAt: createdAt,
55
+ breakpoint: breakpoint,
56
+ titleBoxIcon: titleBoxIcon,
57
+ titleBoxBgColor: titleBoxBgColor
58
+ });
59
+ var content = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("div", (0, _extends2.default)({
60
+ css: _styles.cardImageContainerStyles,
61
+ className: _classnames.fileCardImageViewSelector,
62
+ "data-testid": _classnames.fileCardImageViewSelector,
63
+ "data-test-media-name": name,
64
+ "data-test-selected": selected ? true : undefined
65
+ }, props), children, customBlanket ? customBlanket() : defaultBlanket, customTitleBox ? customTitleBox() : defaultTitleBox, !disableOverlay && !!selectable && (0, _react.jsx)(_tickBox.TickBox, {
66
+ selected: selected
67
+ }), progressBar && progressBar()), !disableOverlay && actions && actions.length !== 0 && (0, _react.jsx)(_actionsBar.ActionsBar, {
68
+ actions: actionsWithDetails
69
+ }));
70
+ var shouldRenderPlayButton = function shouldRenderPlayButton() {
71
+ if (mediaType !== 'video' || !cardPreview) {
72
+ return false;
73
+ }
74
+ return true;
75
+ };
76
+ var isPlayButtonClickable = shouldRenderPlayButton() && disableOverlay;
77
+ var isTickBoxSelectable = !disableOverlay && !!selectable && !selected;
78
+ var shouldDisplayTooltip = !disableOverlay && !shouldHideTooltip;
79
+ var shouldDisplayBackground = !cardPreview || !disableOverlay;
80
+ return (0, _react.jsx)(_wrapper.Wrapper, {
81
+ testId: testId || 'media-card-view',
82
+ dimensions: dimensions,
83
+ appearance: appearance,
84
+ onClick: onClick,
85
+ onMouseEnter: onMouseEnter,
86
+ innerRef: ref,
87
+ breakpoint: breakpoint,
88
+ mediaCardCursor: mediaCardCursor,
89
+ disableOverlay: !!disableOverlay,
90
+ selected: !!selected,
91
+ displayBackground: shouldDisplayBackground,
92
+ isPlayButtonClickable: !!isPlayButtonClickable,
93
+ isTickBoxSelectable: isTickBoxSelectable,
94
+ shouldDisplayTooltip: shouldDisplayTooltip
95
+ }, shouldDisplayTooltip ? (0, _react.jsx)(_tooltip.default, {
96
+ content: name,
97
+ position: "bottom",
98
+ tag: "div"
99
+ }, content) : content);
100
+ });
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ErrorCardView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = require("@emotion/react");
10
+ var _react2 = require("react");
11
+ var _analyticsNext = require("@atlaskit/analytics-next");
12
+ var _analytics = require("../../../utils/analytics");
13
+ var _useBreakpoint = require("../../useBreakpoint");
14
+ var _cardViewWrapper = require("./cardViewWrapper");
15
+ var _mimeTypeIcon = require("@atlaskit/media-ui/mime-type-icon");
16
+ var _iconWrapper = require("../../ui/iconWrapper/iconWrapper");
17
+ var _failedTitleBox = require("../../ui/titleBox/failedTitleBox");
18
+ var _iconMessage = require("../../ui/iconMessage");
19
+ var _errors = require("../../../errors");
20
+ var _mediaUi = require("@atlaskit/media-ui");
21
+ /** @jsx jsx */
22
+
23
+ var IconMessage = function IconMessage(_ref) {
24
+ var error = _ref.error,
25
+ metadata = _ref.metadata;
26
+ var _ref2 = error || {},
27
+ secondaryError = _ref2.secondaryError;
28
+ if ((0, _errors.isRateLimitedError)(secondaryError) || (0, _errors.isPollingError)(secondaryError)) {
29
+ return (0, _react.jsx)(_iconMessage.PreviewCurrentlyUnavailable, null);
30
+ } else if ((0, _errors.isUploadError)(error)) {
31
+ return (0, _react.jsx)(_iconMessage.FailedToUpload, null);
32
+ } else if (!metadata) {
33
+ return (0, _react.jsx)(_iconMessage.FailedToLoad, null);
34
+ } else {
35
+ return (0, _react.jsx)(_iconMessage.PreviewUnavailable, null);
36
+ }
37
+ };
38
+ var ErrorCardViewBase = function ErrorCardViewBase(props) {
39
+ var error = props.error,
40
+ metadata = props.metadata,
41
+ dimensions = props.dimensions,
42
+ disableOverlay = props.disableOverlay;
43
+ var _ref3 = metadata || {},
44
+ name = _ref3.name,
45
+ mediaType = _ref3.mediaType,
46
+ mimeType = _ref3.mimeType;
47
+ var divRef = (0, _react2.useRef)(null);
48
+ var breakpoint = (0, _useBreakpoint.useBreakpoint)(dimensions === null || dimensions === void 0 ? void 0 : dimensions.width, divRef);
49
+ var customMessage = (0, _errors.isUploadError)(props.error) ? _mediaUi.messages.failed_to_upload : undefined;
50
+ var renderFailedTitleBox = !disableOverlay && (!name || !!customMessage);
51
+ var renderTitleBox = !disableOverlay && !!name && !customMessage;
52
+ var hasTitleBox = !!renderTitleBox || !!renderFailedTitleBox;
53
+ return (0, _react.jsx)(_cardViewWrapper.CardViewWrapper, (0, _extends2.default)({}, props, {
54
+ metadata: metadata,
55
+ breakpoint: breakpoint,
56
+ "data-test-status": "error",
57
+ ref: divRef,
58
+ customTitleBox: renderFailedTitleBox ? function () {
59
+ return (0, _react.jsx)(_failedTitleBox.FailedTitleBox, {
60
+ breakpoint: breakpoint,
61
+ customMessage: customMessage
62
+ });
63
+ } : undefined
64
+ }), (0, _react.jsx)(_iconWrapper.IconWrapper, {
65
+ breakpoint: breakpoint,
66
+ hasTitleBox: hasTitleBox
67
+ }, (0, _react.jsx)(_mimeTypeIcon.MimeTypeIcon, {
68
+ testId: "media-card-file-type-icon",
69
+ mediaType: mediaType,
70
+ mimeType: mimeType,
71
+ name: name
72
+ }), !renderFailedTitleBox && (0, _react.jsx)(IconMessage, {
73
+ error: error,
74
+ metadata: metadata
75
+ })));
76
+ };
77
+
78
+ // TODO: check if analytics is correct
79
+
80
+ var ErrorCardView = exports.ErrorCardView = (0, _analyticsNext.withAnalyticsEvents)({
81
+ onClick: (0, _analytics.createAndFireMediaCardEvent)({
82
+ eventType: 'ui',
83
+ action: 'clicked',
84
+ actionSubject: 'mediaCard',
85
+ attributes: {}
86
+ })
87
+ })(ErrorCardViewBase);
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.IconCardView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = require("@emotion/react");
10
+ var _react2 = require("react");
11
+ var _mimeTypeIcon = require("@atlaskit/media-ui/mime-type-icon");
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
13
+ var _analytics = require("../../../utils/analytics");
14
+ var _iconWrapper = require("../../ui/iconWrapper/iconWrapper");
15
+ var _useBreakpoint = require("../../useBreakpoint");
16
+ var _cardViewWrapper = require("./cardViewWrapper");
17
+ var _progressBar = require("../../ui/progressBar/progressBar");
18
+ var _blanket = require("../../ui/blanket/blanket");
19
+ /** @jsx jsx */
20
+
21
+ // NOTE: should we call this Icon or UploadingCardView since we now have ProgressBar?
22
+
23
+ var IconCardViewBase = function IconCardViewBase(props) {
24
+ var dimensions = props.dimensions,
25
+ metadata = props.metadata,
26
+ disableOverlay = props.disableOverlay,
27
+ innerRef = props.innerRef,
28
+ progress = props.progress,
29
+ status = props.status;
30
+ var divRef = (0, _react2.useRef)(null);
31
+ var breakpoint = (0, _useBreakpoint.useBreakpoint)(dimensions === null || dimensions === void 0 ? void 0 : dimensions.width, divRef);
32
+ (0, _react2.useEffect)(function () {
33
+ innerRef && !!divRef.current && innerRef(divRef.current);
34
+ }, [innerRef]);
35
+ var _ref = metadata || {},
36
+ name = _ref.name,
37
+ mediaType = _ref.mediaType,
38
+ mimeType = _ref.mimeType;
39
+ var hasTitleBox = !disableOverlay && !!name;
40
+ var isUploading = status === 'uploading';
41
+ return (0, _react.jsx)(_cardViewWrapper.CardViewWrapper, (0, _extends2.default)({}, props, {
42
+ metadata: metadata,
43
+ breakpoint: breakpoint,
44
+ "data-test-status": status,
45
+ "data-test-progress": progress,
46
+ ref: divRef,
47
+ customBlanket: function customBlanket() {
48
+ return (0, _react.jsx)(_blanket.Blanket, {
49
+ isFixed: isUploading
50
+ });
51
+ },
52
+ progressBar: isUploading ? function () {
53
+ return (0, _react.jsx)(_progressBar.ProgressBar, {
54
+ progress: progress,
55
+ breakpoint: breakpoint,
56
+ positionBottom: !hasTitleBox
57
+ });
58
+ } : undefined
59
+ }), (0, _react.jsx)(_iconWrapper.IconWrapper, {
60
+ breakpoint: breakpoint,
61
+ hasTitleBox: hasTitleBox
62
+ }, (0, _react.jsx)(_mimeTypeIcon.MimeTypeIcon, {
63
+ testId: "media-card-file-type-icon",
64
+ mediaType: mediaType,
65
+ mimeType: mimeType,
66
+ name: name
67
+ })));
68
+ };
69
+
70
+ // TODO: check if analytics is correct
71
+
72
+ var IconCardView = exports.IconCardView = (0, _analyticsNext.withAnalyticsEvents)({
73
+ onClick: (0, _analytics.createAndFireMediaCardEvent)({
74
+ eventType: 'ui',
75
+ action: 'clicked',
76
+ actionSubject: 'mediaCard',
77
+ attributes: {}
78
+ })
79
+ })(IconCardViewBase);
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ImageCardView = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = require("@emotion/react");
10
+ var _react2 = require("react");
11
+ var _analyticsNext = require("@atlaskit/analytics-next");
12
+ var _analytics = require("../../../utils/analytics");
13
+ var _imageRenderer = require("../../ui/imageRenderer/imageRenderer");
14
+ var _useBreakpoint = require("../../useBreakpoint");
15
+ var _cardViewWrapper = require("./cardViewWrapper");
16
+ var _progressBar = require("../../ui/progressBar/progressBar");
17
+ var _blanket = require("../../ui/blanket/blanket");
18
+ /** @jsx jsx */
19
+
20
+ var ImageCardViewBase = function ImageCardViewBase(props) {
21
+ var status = props.status,
22
+ dimensions = props.dimensions,
23
+ metadata = props.metadata,
24
+ disableOverlay = props.disableOverlay,
25
+ innerRef = props.innerRef,
26
+ progress = props.progress,
27
+ cardPreview = props.cardPreview,
28
+ alt = props.alt,
29
+ resizeMode = props.resizeMode,
30
+ onDisplayImage = props.onDisplayImage,
31
+ nativeLazyLoad = props.nativeLazyLoad,
32
+ forceSyncDisplay = props.forceSyncDisplay,
33
+ _onImageLoad = props.onImageLoad,
34
+ _onImageError = props.onImageError;
35
+ var divRef = (0, _react2.useRef)(null);
36
+ var breakpoint = (0, _useBreakpoint.useBreakpoint)(dimensions === null || dimensions === void 0 ? void 0 : dimensions.width, divRef);
37
+ (0, _react2.useEffect)(function () {
38
+ innerRef && !!divRef.current && innerRef(divRef.current);
39
+ }, [innerRef]);
40
+ var _ref = metadata || {},
41
+ name = _ref.name,
42
+ _ref$mediaType = _ref.mediaType,
43
+ mediaType = _ref$mediaType === void 0 ? 'unknown' : _ref$mediaType;
44
+ var hasTitleBox = !disableOverlay && !!name;
45
+ var isUploading = status === 'uploading';
46
+ return (0, _react.jsx)(_cardViewWrapper.CardViewWrapper, (0, _extends2.default)({}, props, {
47
+ breakpoint: breakpoint,
48
+ "data-test-status": status,
49
+ "data-test-progress": progress,
50
+ ref: divRef,
51
+ customBlanket: function customBlanket() {
52
+ return (0, _react.jsx)(_blanket.Blanket, {
53
+ isFixed: isUploading
54
+ });
55
+ },
56
+ progressBar: isUploading ? function () {
57
+ return (0, _react.jsx)(_progressBar.ProgressBar, {
58
+ progress: progress,
59
+ breakpoint: breakpoint,
60
+ positionBottom: !hasTitleBox
61
+ });
62
+ } : undefined
63
+ }), (0, _react.jsx)(_imageRenderer.ImageRenderer, {
64
+ cardPreview: cardPreview,
65
+ mediaType: mediaType,
66
+ alt: alt,
67
+ resizeMode: resizeMode,
68
+ onDisplayImage: onDisplayImage,
69
+ onImageLoad: function onImageLoad() {
70
+ return _onImageLoad === null || _onImageLoad === void 0 ? void 0 : _onImageLoad(cardPreview);
71
+ },
72
+ onImageError: function onImageError() {
73
+ return _onImageError === null || _onImageError === void 0 ? void 0 : _onImageError(cardPreview);
74
+ },
75
+ nativeLazyLoad: nativeLazyLoad,
76
+ forceSyncDisplay: forceSyncDisplay
77
+ }));
78
+ };
79
+
80
+ // TODO: check if analytics is correct
81
+
82
+ var ImageCardView = exports.ImageCardView = (0, _analyticsNext.withAnalyticsEvents)({
83
+ onClick: (0, _analytics.createAndFireMediaCardEvent)({
84
+ eventType: 'ui',
85
+ action: 'clicked',
86
+ actionSubject: 'mediaCard',
87
+ attributes: {}
88
+ })
89
+ })(ImageCardViewBase);