@atlaskit/media-card 70.11.0 → 73.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.
Files changed (197) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/dist/cjs/errors.js +78 -5
  3. package/dist/cjs/files/cardImageView/cardOverlay/styled.js +1 -1
  4. package/dist/cjs/files/cardImageView/index.js +53 -104
  5. package/dist/cjs/files/cardImageView/styled.js +1 -1
  6. package/dist/cjs/files/index.js +0 -6
  7. package/dist/cjs/index.js +12 -6
  8. package/dist/cjs/root/card/cardAnalytics.js +11 -17
  9. package/dist/cjs/root/card/cardLoader.js +66 -124
  10. package/dist/cjs/root/card/cardState.js +50 -0
  11. package/dist/cjs/root/card/getCardPreview/cache.js +6 -1
  12. package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +53 -0
  13. package/dist/cjs/root/card/getCardPreview/helpers.js +14 -22
  14. package/dist/cjs/root/card/getCardPreview/index.js +176 -102
  15. package/dist/cjs/root/card/getCardStatus.js +7 -1
  16. package/dist/cjs/root/card/index.js +361 -281
  17. package/dist/cjs/root/cardView.js +109 -86
  18. package/dist/cjs/root/index.js +9 -1
  19. package/dist/cjs/root/inline/loader.js +22 -21
  20. package/dist/cjs/root/inline/{inlineMediaCard.js → mediaInlineCard.js} +84 -26
  21. package/dist/cjs/root/inlinePlayer.js +4 -3
  22. package/dist/cjs/root/styled.js +7 -3
  23. package/dist/cjs/root/ui/actionsBar/styled.js +1 -1
  24. package/dist/cjs/root/ui/blanket/styled.js +1 -1
  25. package/dist/cjs/root/ui/common.js +11 -5
  26. package/dist/cjs/root/ui/iconMessage/index.js +16 -7
  27. package/dist/cjs/root/ui/iconWrapper/styled.js +1 -1
  28. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +34 -124
  29. package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +6 -4
  30. package/dist/cjs/root/ui/loadingRateLimited/styled.js +1 -1
  31. package/dist/cjs/root/ui/playButton/styled.js +1 -1
  32. package/dist/cjs/root/ui/progressBar/progressBar.js +2 -2
  33. package/dist/cjs/root/ui/progressBar/styled.js +2 -4
  34. package/dist/cjs/root/ui/styled.js +80 -17
  35. package/dist/cjs/root/ui/tickBox/styled.js +1 -1
  36. package/dist/cjs/root/ui/titleBox/failedTitleBox.js +9 -3
  37. package/dist/cjs/root/ui/titleBox/styled.js +2 -4
  38. package/dist/cjs/root/ui/titleBox/titleBox.js +2 -2
  39. package/dist/cjs/styles/index.js +25 -23
  40. package/dist/cjs/styles/mixins.js +1 -1
  41. package/dist/cjs/utils/analytics.js +21 -43
  42. package/dist/cjs/utils/breakpoint.js +1 -1
  43. package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  44. package/dist/cjs/utils/cardActions/index.js +10 -10
  45. package/dist/cjs/utils/cardActions/styled.js +1 -1
  46. package/dist/cjs/utils/cardDimensions.js +1 -1
  47. package/dist/cjs/utils/dimensionComparer.js +1 -1
  48. package/dist/cjs/utils/getErrorMessage.js +2 -2
  49. package/dist/cjs/utils/index.js +46 -46
  50. package/dist/cjs/utils/lightCards/styled.js +1 -1
  51. package/dist/cjs/utils/metadata.js +11 -3
  52. package/dist/cjs/utils/objectURLCache.js +7 -1
  53. package/dist/cjs/utils/shouldDisplayImageThumbnail.js +1 -1
  54. package/dist/cjs/utils/viewportDetector.js +1 -1
  55. package/dist/cjs/version.json +1 -1
  56. package/dist/es2019/errors.js +42 -2
  57. package/dist/es2019/files/cardImageView/index.js +8 -61
  58. package/dist/es2019/files/index.js +1 -1
  59. package/dist/es2019/index.js +1 -1
  60. package/dist/es2019/root/card/cardAnalytics.js +7 -15
  61. package/dist/es2019/root/card/cardLoader.js +47 -53
  62. package/dist/es2019/root/card/cardState.js +26 -0
  63. package/dist/es2019/root/card/getCardPreview/cache.js +5 -0
  64. package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +38 -0
  65. package/dist/es2019/root/card/getCardPreview/helpers.js +2 -12
  66. package/dist/es2019/root/card/getCardPreview/index.js +112 -79
  67. package/dist/es2019/root/card/getCardStatus.js +1 -0
  68. package/dist/es2019/root/card/index.js +285 -190
  69. package/dist/es2019/root/cardView.js +93 -68
  70. package/dist/es2019/root/index.js +2 -1
  71. package/dist/es2019/root/inline/loader.js +16 -15
  72. package/dist/es2019/root/inline/mediaInlineCard.js +143 -0
  73. package/dist/es2019/root/inlinePlayer.js +3 -2
  74. package/dist/es2019/root/styled.js +2 -1
  75. package/dist/es2019/root/ui/common.js +7 -1
  76. package/dist/es2019/root/ui/iconMessage/index.js +8 -5
  77. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +25 -88
  78. package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
  79. package/dist/es2019/root/ui/progressBar/progressBar.js +1 -1
  80. package/dist/es2019/root/ui/progressBar/styled.js +1 -2
  81. package/dist/es2019/root/ui/styled.js +64 -3
  82. package/dist/es2019/root/ui/titleBox/failedTitleBox.js +6 -3
  83. package/dist/es2019/root/ui/titleBox/styled.js +1 -2
  84. package/dist/es2019/root/ui/titleBox/titleBox.js +1 -1
  85. package/dist/es2019/utils/analytics.js +15 -34
  86. package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
  87. package/dist/es2019/utils/dimensionComparer.js +1 -1
  88. package/dist/es2019/utils/getErrorMessage.js +1 -1
  89. package/dist/es2019/utils/metadata.js +12 -4
  90. package/dist/es2019/utils/objectURLCache.js +5 -0
  91. package/dist/es2019/utils/shouldDisplayImageThumbnail.js +1 -1
  92. package/dist/es2019/version.json +1 -1
  93. package/dist/esm/errors.js +60 -1
  94. package/dist/esm/files/cardImageView/index.js +51 -102
  95. package/dist/esm/files/index.js +1 -1
  96. package/dist/esm/index.js +1 -1
  97. package/dist/esm/root/card/cardAnalytics.js +7 -16
  98. package/dist/esm/root/card/cardLoader.js +66 -126
  99. package/dist/esm/root/card/cardState.js +32 -0
  100. package/dist/esm/root/card/getCardPreview/cache.js +6 -0
  101. package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +38 -0
  102. package/dist/esm/root/card/getCardPreview/helpers.js +13 -21
  103. package/dist/esm/root/card/getCardPreview/index.js +142 -95
  104. package/dist/esm/root/card/getCardStatus.js +3 -0
  105. package/dist/esm/root/card/index.js +370 -284
  106. package/dist/esm/root/cardView.js +109 -84
  107. package/dist/esm/root/index.js +2 -1
  108. package/dist/esm/root/inline/loader.js +23 -22
  109. package/dist/esm/root/inline/mediaInlineCard.js +156 -0
  110. package/dist/esm/root/inlinePlayer.js +3 -2
  111. package/dist/esm/root/styled.js +3 -2
  112. package/dist/esm/root/ui/common.js +7 -1
  113. package/dist/esm/root/ui/iconMessage/index.js +10 -5
  114. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +27 -118
  115. package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
  116. package/dist/esm/root/ui/progressBar/progressBar.js +1 -1
  117. package/dist/esm/root/ui/progressBar/styled.js +1 -2
  118. package/dist/esm/root/ui/styled.js +61 -13
  119. package/dist/esm/root/ui/titleBox/failedTitleBox.js +7 -3
  120. package/dist/esm/root/ui/titleBox/styled.js +1 -2
  121. package/dist/esm/root/ui/titleBox/titleBox.js +1 -1
  122. package/dist/esm/utils/analytics.js +16 -35
  123. package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  124. package/dist/esm/utils/dimensionComparer.js +1 -1
  125. package/dist/esm/utils/getErrorMessage.js +1 -1
  126. package/dist/esm/utils/metadata.js +12 -4
  127. package/dist/esm/utils/objectURLCache.js +6 -0
  128. package/dist/esm/utils/shouldDisplayImageThumbnail.js +1 -1
  129. package/dist/esm/version.json +1 -1
  130. package/dist/types/errors.d.ts +15 -1
  131. package/dist/types/files/cardImageView/index.d.ts +4 -13
  132. package/dist/types/files/cardImageView/styled.d.ts +1 -1
  133. package/dist/types/files/index.d.ts +1 -1
  134. package/dist/types/index.d.ts +7 -5
  135. package/dist/types/root/card/cardAnalytics.d.ts +2 -6
  136. package/dist/types/root/card/cardLoader.d.ts +5 -19
  137. package/dist/types/root/card/cardState.d.ts +5 -0
  138. package/dist/types/root/card/getCardPreview/cache.d.ts +3 -1
  139. package/dist/types/root/card/getCardPreview/filePreviewStatus.d.ts +5 -0
  140. package/dist/types/root/card/getCardPreview/helpers.d.ts +3 -4
  141. package/dist/types/root/card/getCardPreview/index.d.ts +24 -14
  142. package/dist/types/root/card/getCardStatus.d.ts +1 -0
  143. package/dist/types/root/card/index.d.ts +19 -18
  144. package/dist/types/root/cardView.d.ts +13 -8
  145. package/dist/types/root/index.d.ts +1 -0
  146. package/dist/types/root/inline/loader.d.ts +8 -8
  147. package/dist/types/root/inline/{inlineMediaCard.d.ts → mediaInlineCard.d.ts} +4 -6
  148. package/dist/types/root/inlinePlayer.d.ts +1 -1
  149. package/dist/types/root/styled.d.ts +1 -0
  150. package/dist/types/root/ui/common.d.ts +4 -1
  151. package/dist/types/root/ui/iconMessage/index.d.ts +4 -3
  152. package/dist/types/root/ui/iconWrapper/styled.d.ts +1 -1
  153. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +5 -15
  154. package/dist/types/root/ui/loadingRateLimited/loadingRateLimited.d.ts +2 -1
  155. package/dist/types/root/ui/loadingRateLimited/styled.d.ts +1 -1
  156. package/dist/types/root/ui/playButton/playButton.d.ts +1 -0
  157. package/dist/types/root/ui/progressBar/progressBar.d.ts +2 -1
  158. package/dist/types/root/ui/progressBar/styled.d.ts +1 -1
  159. package/dist/types/root/ui/styled.d.ts +10 -3
  160. package/dist/types/root/ui/tickBox/tickBox.d.ts +1 -0
  161. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +3 -1
  162. package/dist/types/root/ui/titleBox/styled.d.ts +1 -1
  163. package/dist/types/root/ui/titleBox/titleBox.d.ts +2 -10
  164. package/dist/types/styles/mixins.d.ts +1 -1
  165. package/dist/types/types.d.ts +7 -1
  166. package/dist/types/utils/analytics.d.ts +14 -15
  167. package/dist/types/utils/cardDimensions.d.ts +4 -4
  168. package/dist/types/utils/dimensionComparer.d.ts +1 -1
  169. package/dist/types/utils/getErrorMessage.d.ts +1 -0
  170. package/dist/types/utils/metadata.d.ts +2 -2
  171. package/dist/types/utils/objectURLCache.d.ts +2 -1
  172. package/example-helpers/developmentUseMessage.tsx +14 -0
  173. package/example-helpers/index.tsx +55 -4
  174. package/example-helpers/selectableCard.tsx +2 -1
  175. package/package.json +20 -16
  176. package/dist/cjs/root/card/cardSSRView.js +0 -99
  177. package/dist/cjs/root/card/getCardPreview/types.js +0 -5
  178. package/dist/cjs/root/ui/Breakpoint.js +0 -13
  179. package/dist/cjs/root/ui/styledSSR.js +0 -108
  180. package/dist/cjs/utils/fileAttributesContext.js +0 -40
  181. package/dist/es2019/root/card/cardSSRView.js +0 -79
  182. package/dist/es2019/root/card/getCardPreview/types.js +0 -1
  183. package/dist/es2019/root/inline/inlineMediaCard.js +0 -92
  184. package/dist/es2019/root/ui/Breakpoint.js +0 -6
  185. package/dist/es2019/root/ui/styledSSR.js +0 -93
  186. package/dist/es2019/utils/fileAttributesContext.js +0 -19
  187. package/dist/esm/root/card/cardSSRView.js +0 -78
  188. package/dist/esm/root/card/getCardPreview/types.js +0 -1
  189. package/dist/esm/root/inline/inlineMediaCard.js +0 -100
  190. package/dist/esm/root/ui/Breakpoint.js +0 -6
  191. package/dist/esm/root/ui/styledSSR.js +0 -76
  192. package/dist/esm/utils/fileAttributesContext.js +0 -18
  193. package/dist/types/root/card/cardSSRView.d.ts +0 -12
  194. package/dist/types/root/card/getCardPreview/types.d.ts +0 -5
  195. package/dist/types/root/ui/Breakpoint.d.ts +0 -4
  196. package/dist/types/root/ui/styledSSR.d.ts +0 -16
  197. package/dist/types/utils/fileAttributesContext.d.ts +0 -10
@@ -2,7 +2,13 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
3
  var _responsiveSettings;
4
4
 
5
- import { Breakpoint } from './Breakpoint';
5
+ export var Breakpoint;
6
+
7
+ (function (Breakpoint) {
8
+ Breakpoint["SMALL"] = "small";
9
+ Breakpoint["LARGE"] = "large";
10
+ })(Breakpoint || (Breakpoint = {}));
11
+
6
12
  export var responsiveSettings = (_responsiveSettings = {}, _defineProperty(_responsiveSettings, Breakpoint.SMALL, {
7
13
  fontSize: 11,
8
14
  lineHeight: 14,
@@ -2,7 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import { IconMessageWrapper } from './styled';
4
4
  import { messages } from '@atlaskit/media-ui';
5
- import { FormattedMessage } from 'react-intl';
5
+ import { FormattedMessage } from 'react-intl-next';
6
+ import { FormattedMessageWrapper } from '../../styled';
6
7
  export var IconMessage = function IconMessage(_ref) {
7
8
  var messageDescriptor = _ref.messageDescriptor,
8
9
  _ref$animated = _ref.animated,
@@ -12,7 +13,7 @@ export var IconMessage = function IconMessage(_ref) {
12
13
  return /*#__PURE__*/React.createElement(IconMessageWrapper, {
13
14
  animated: animated,
14
15
  reducedFont: reducedFont
15
- }, /*#__PURE__*/React.createElement(FormattedMessage, messageDescriptor));
16
+ }, /*#__PURE__*/React.createElement(FormattedMessageWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messageDescriptor)));
16
17
  };
17
18
  export var CreatingPreview = function CreatingPreview(_ref2) {
18
19
  var disableAnimation = _ref2.disableAnimation;
@@ -26,10 +27,14 @@ export var PreviewUnavailable = function PreviewUnavailable(props) {
26
27
  messageDescriptor: messages.preview_unavailable
27
28
  }));
28
29
  };
29
- export var RateLimited = function RateLimited(props) {
30
+ export var FailedToLoad = function FailedToLoad(props) {
30
31
  return /*#__PURE__*/React.createElement(IconMessage, _extends({}, props, {
31
- messageDescriptor: messages.preview_rateLimited,
32
- reducedFont: true
32
+ messageDescriptor: messages.failed_to_load
33
+ }));
34
+ };
35
+ export var FailedToUpload = function FailedToUpload(props) {
36
+ return /*#__PURE__*/React.createElement(IconMessage, _extends({}, props, {
37
+ messageDescriptor: messages.failed_to_upload
33
38
  }));
34
39
  };
35
40
  export var PreviewCurrentlyUnavailable = function PreviewCurrentlyUnavailable(props) {
@@ -1,122 +1,31 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
-
10
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
-
12
- 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; } }
13
-
14
- import React from 'react';
2
+ import React, { useEffect } from 'react';
15
3
  import { MediaImage } from '@atlaskit/media-ui';
16
- import { withAnalyticsEvents } from '@atlaskit/analytics-next';
17
- import { fireMediaCardEvent, RenderEventAction, getRenderSucceededEventPayload, getRenderFailedFileUriPayload, getRenderFailedExternalUriPayload } from '../../../utils/analytics';
18
- import { withFileAttributes } from '../../../utils/fileAttributesContext';
19
4
  import { resizeModeToMediaImageProps } from '../../../utils/resizeModeToMediaImageProps';
20
- export var ImageRendererBase = /*#__PURE__*/function (_React$Component) {
21
- _inherits(ImageRendererBase, _React$Component);
22
-
23
- var _super = _createSuper(ImageRendererBase);
24
-
25
- function ImageRendererBase() {
26
- var _this;
27
-
28
- _classCallCheck(this, ImageRendererBase);
29
-
30
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
- args[_key] = arguments[_key];
5
+ export var ImageRenderer = function ImageRenderer(_ref) {
6
+ var dataURI = _ref.dataURI,
7
+ previewOrientation = _ref.previewOrientation,
8
+ alt = _ref.alt,
9
+ resizeMode = _ref.resizeMode,
10
+ onImageLoad = _ref.onImageLoad,
11
+ onImageError = _ref.onImageError,
12
+ onDisplayImage = _ref.onDisplayImage,
13
+ mediaType = _ref.mediaType,
14
+ nativeLazyLoad = _ref.nativeLazyLoad,
15
+ forceSyncDisplay = _ref.forceSyncDisplay;
16
+ useEffect(function () {
17
+ // TODO: trigger accordingly with the succeeded event. This could be a breaking change
18
+ if (mediaType === 'image' && onDisplayImage) {
19
+ onDisplayImage();
32
20
  }
33
-
34
- _this = _super.call.apply(_super, [this].concat(args));
35
-
36
- _defineProperty(_assertThisInitialized(_this), "onImageLoad", function () {
37
- var _this$props = _this.props,
38
- createAnalyticsEvent = _this$props.createAnalyticsEvent,
39
- fileAttributes = _this$props.fileAttributes,
40
- timeElapsedTillCommenced = _this$props.timeElapsedTillCommenced;
41
-
42
- if (fileAttributes && _this.shouldFireEvent(RenderEventAction.SUCCEEDED)) {
43
- var timeElapsedTillSucceeded = performance.now();
44
- var durationSinceCommenced = timeElapsedTillCommenced && timeElapsedTillSucceeded - timeElapsedTillCommenced;
45
- var performanceAttributes = {
46
- overall: {
47
- durationSincePageStart: timeElapsedTillSucceeded,
48
- durationSinceCommenced: durationSinceCommenced
49
- }
50
- };
51
- fireMediaCardEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
52
- }
53
- });
54
-
55
- _defineProperty(_assertThisInitialized(_this), "onImageError", function () {
56
- var _this$props2 = _this.props,
57
- onImageError = _this$props2.onImageError,
58
- fileAttributes = _this$props2.fileAttributes;
59
- onImageError && onImageError();
60
-
61
- if (fileAttributes && _this.shouldFireEvent(RenderEventAction.FAILED)) {
62
- var _this$props3 = _this.props,
63
- createAnalyticsEvent = _this$props3.createAnalyticsEvent,
64
- mediaItemType = _this$props3.mediaItemType,
65
- timeElapsedTillCommenced = _this$props3.timeElapsedTillCommenced;
66
- var timeElapsedTillFailed = performance.now();
67
- var durationSinceCommenced = timeElapsedTillCommenced && timeElapsedTillFailed - timeElapsedTillCommenced;
68
- var performanceAttributes = {
69
- overall: {
70
- durationSincePageStart: timeElapsedTillFailed,
71
- durationSinceCommenced: durationSinceCommenced
72
- }
73
- };
74
-
75
- if (mediaItemType === 'file') {
76
- fireMediaCardEvent(getRenderFailedFileUriPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
77
- } else if (mediaItemType === 'external-image') {
78
- fireMediaCardEvent(getRenderFailedExternalUriPayload(fileAttributes, performanceAttributes), createAnalyticsEvent);
79
- }
80
- }
81
- });
82
-
83
- _defineProperty(_assertThisInitialized(_this), "shouldFireEvent", function (action) {
84
- return !_this.lastAnalyticsAction || _this.lastAnalyticsAction !== action;
85
- });
86
-
87
- return _this;
88
- }
89
-
90
- _createClass(ImageRendererBase, [{
91
- key: "componentDidMount",
92
- value: function componentDidMount() {
93
- // TODO: trigger accordingly with the succeeded event. This could be a breaking change
94
- var _this$props4 = this.props,
95
- onDisplayImage = _this$props4.onDisplayImage,
96
- mediaType = _this$props4.mediaType;
97
-
98
- if (mediaType === 'image' && onDisplayImage) {
99
- onDisplayImage();
100
- }
101
- }
102
- }, {
103
- key: "render",
104
- value: function render() {
105
- var _this$props5 = this.props,
106
- dataURI = _this$props5.dataURI,
107
- previewOrientation = _this$props5.previewOrientation,
108
- alt = _this$props5.alt,
109
- resizeMode = _this$props5.resizeMode;
110
- return /*#__PURE__*/React.createElement(MediaImage, _extends({
111
- dataURI: dataURI,
112
- alt: alt,
113
- previewOrientation: previewOrientation,
114
- onImageLoad: this.onImageLoad,
115
- onImageError: this.onImageError
116
- }, resizeModeToMediaImageProps(resizeMode)));
117
- }
118
- }]);
119
-
120
- return ImageRendererBase;
121
- }(React.Component);
122
- export var ImageRenderer = withAnalyticsEvents()(withFileAttributes(ImageRendererBase));
21
+ }, [mediaType, onDisplayImage]);
22
+ return /*#__PURE__*/React.createElement(MediaImage, _extends({
23
+ dataURI: dataURI,
24
+ alt: alt,
25
+ previewOrientation: previewOrientation,
26
+ onImageLoad: onImageLoad,
27
+ onImageError: onImageError,
28
+ loading: nativeLazyLoad ? 'lazy' : undefined,
29
+ forceSyncDisplay: forceSyncDisplay
30
+ }, resizeModeToMediaImageProps(resizeMode)));
31
+ };
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { errorIcon } from '@atlaskit/media-ui/errorIcon';
3
3
  import { WarningIconWrapper, LoadingRateLimitedContainer, CouldntLoadWrapper, ErrorWrapper, LoadingRateLimitedTextWrapper } from './styled';
4
+ import { FormattedMessageWrapper } from '../../styled';
4
5
  import { messages } from '@atlaskit/media-ui';
5
- import { FormattedMessage } from 'react-intl';
6
- import { Breakpoint } from '../Breakpoint';
6
+ import { FormattedMessage } from 'react-intl-next';
7
+ import { Breakpoint } from '../common';
7
8
  export var LoadingRateLimited = function LoadingRateLimited(_ref) {
8
9
  var _ref$breakpoint = _ref.breakpoint,
9
10
  breakpoint = _ref$breakpoint === void 0 ? Breakpoint.SMALL : _ref$breakpoint,
@@ -12,5 +13,5 @@ export var LoadingRateLimited = function LoadingRateLimited(_ref) {
12
13
  return /*#__PURE__*/React.createElement(LoadingRateLimitedContainer, null, /*#__PURE__*/React.createElement(WarningIconWrapper, null, errorIcon), /*#__PURE__*/React.createElement(LoadingRateLimitedTextWrapper, {
13
14
  breakpoint: breakpoint,
14
15
  positionBottom: positionBottom
15
- }, /*#__PURE__*/React.createElement(CouldntLoadWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.couldnt_load_file)), /*#__PURE__*/React.createElement(ErrorWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.error_429))));
16
+ }, /*#__PURE__*/React.createElement(CouldntLoadWrapper, null, /*#__PURE__*/React.createElement(FormattedMessageWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.couldnt_load_file))), /*#__PURE__*/React.createElement(ErrorWrapper, null, /*#__PURE__*/React.createElement(FormattedMessageWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.error_429)))));
16
17
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StyledBar } from './styled';
3
- import { Breakpoint } from '../Breakpoint';
3
+ import { Breakpoint } from '../common';
4
4
  export var ProgressBar = function ProgressBar(_ref) {
5
5
  var progress = _ref.progress,
6
6
  _ref$breakpoint = _ref.breakpoint,
@@ -6,8 +6,7 @@ import styled from 'styled-components';
6
6
  import { borderRadius } from '@atlaskit/media-ui';
7
7
  import { rgba } from '../../../styles/mixins';
8
8
  import { N0, N400 } from '@atlaskit/theme/colors';
9
- import { getTitleBoxHeight, responsiveSettings } from '../common';
10
- import { Breakpoint } from '../Breakpoint';
9
+ import { Breakpoint, getTitleBoxHeight, responsiveSettings } from '../common';
11
10
  var height = 3;
12
11
  var padding = 1;
13
12
  var width = 95; // %
@@ -1,26 +1,68 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
 
3
- var _templateObject;
4
+ var _templateObject, _templateObject2;
4
5
 
5
6
  import styled from 'styled-components';
6
7
  import { getCSSUnitValue } from '../../utils/getCSSUnitValue';
7
8
  import { getDefaultCardDimensions } from '../../utils/cardDimensions';
9
+ import { fontFamily } from '@atlaskit/theme/constants';
10
+ import { borderRadius } from '@atlaskit/media-ui';
11
+ import { N20, N60A } from '@atlaskit/theme/colors';
12
+ import { akEditorSelectedBoxShadow } from '@atlaskit/editor-shared-styles/consts';
8
13
  import { hideNativeBrowserTextSelectionStyles } from '@atlaskit/editor-shared-styles/selection';
14
+ import { transition } from '../../styles';
9
15
  import { tickBoxClassName, tickboxFixedStyles } from './tickBox/styled';
16
+ import { fixedBlanketStyles, blanketClassName } from './blanket/styled';
10
17
  import { fixedActionBarStyles, actionsBarClassName } from './actionsBar/styled';
11
18
  import { fixedPlayButtonStyles, playButtonClassName } from './playButton/styled';
12
- import { SSRFileExperienceWrapper } from './styledSSR';
19
+ import { Breakpoint, responsiveSettings } from './common';
20
+ var breakpointSizes = [[Breakpoint.SMALL, 599], [Breakpoint.LARGE, Infinity]];
21
+ export var calcBreakpointSize = function calcBreakpointSize() {
22
+ var wrapperWidth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
23
+
24
+ var _ref = breakpointSizes.find(function (_ref3) {
25
+ var _ref4 = _slicedToArray(_ref3, 2),
26
+ _breakpoint = _ref4[0],
27
+ limit = _ref4[1];
28
+
29
+ return wrapperWidth <= limit;
30
+ }) || [Breakpoint.SMALL],
31
+ _ref2 = _slicedToArray(_ref, 1),
32
+ breakpoint = _ref2[0];
33
+
34
+ return breakpoint;
35
+ };
36
+
37
+ var generateResponsiveStyles = function generateResponsiveStyles() {
38
+ var breakpoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Breakpoint.SMALL;
39
+ var setting = responsiveSettings[breakpoint];
40
+ return "\n font-size: ".concat(setting.fontSize, "px;\n line-height: ").concat(setting.lineHeight, "px;\n ");
41
+ };
13
42
 
14
43
  var getWrapperDimensions = function getWrapperDimensions(dimensions, appearance) {
15
- var _ref = dimensions || {},
16
- width = _ref.width,
17
- height = _ref.height;
44
+ var _ref5 = dimensions || {},
45
+ width = _ref5.width,
46
+ height = _ref5.height;
18
47
 
19
48
  var _getDefaultCardDimens = getDefaultCardDimensions(appearance),
20
49
  defaultWidth = _getDefaultCardDimens.width,
21
50
  defaultHeight = _getDefaultCardDimens.height;
22
51
 
23
52
  return "\n width: ".concat(getCSSUnitValue(width || defaultWidth), ";\n max-width: 100%;\n height: ").concat(getCSSUnitValue(height || defaultHeight), ";\n max-height: 100%;\n ");
53
+ }; // This is a trick to simulate the blue border without affecting the dimensions.
54
+ // CSS outline has no 'radius', therefore we can't achieve the same effect with it
55
+
56
+
57
+ var getWrapperShadow = function getWrapperShadow(disableOverlay, selected) {
58
+ var withOverlayShadow = !disableOverlay ? "0 1px 1px ".concat(N60A, ", 0 0 1px 0 ").concat(N60A) : '';
59
+ var selectedShadow = selected ? akEditorSelectedBoxShadow : '';
60
+ var shadow = [selectedShadow, withOverlayShadow].filter(Boolean).join(', ');
61
+ return shadow ? "box-shadow: ".concat(shadow, ";") : '';
62
+ };
63
+
64
+ var getCursorStyle = function getCursorStyle(shouldUsePointerCursor) {
65
+ return "cursor: ".concat(shouldUsePointerCursor ? 'pointer' : 'default', ";");
24
66
  };
25
67
 
26
68
  var getClickablePlayButtonStyles = function getClickablePlayButtonStyles(isPlayButtonClickable) {
@@ -39,12 +81,18 @@ var getSelectableTickBoxStyles = function getSelectableTickBoxStyles(isTickBoxSe
39
81
  return "\n &:hover .".concat(tickBoxClassName, " {\n ").concat(tickboxFixedStyles, "\n }\n ");
40
82
  };
41
83
 
42
- export var NewFileExperienceWrapper = styled(SSRFileExperienceWrapper)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n"])), function (_ref2) {
43
- var dimensions = _ref2.dimensions,
44
- appearance = _ref2.appearance,
45
- isPlayButtonClickable = _ref2.isPlayButtonClickable,
46
- isTickBoxSelectable = _ref2.isTickBoxSelectable,
47
- shouldDisplayTooltip = _ref2.shouldDisplayTooltip;
48
- return "\n ".concat(hideNativeBrowserTextSelectionStyles, "\n\n /* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ").concat(getClickablePlayButtonStyles(isPlayButtonClickable), "\n ").concat(getSelectableTickBoxStyles(isTickBoxSelectable), "\n\n &:hover .").concat(actionsBarClassName, " {\n ").concat(fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { ".concat(getWrapperDimensions(dimensions, appearance), " }") : '', "\n");
84
+ export var NewFileExperienceWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n"])), function (_ref6) {
85
+ var breakpoint = _ref6.breakpoint,
86
+ dimensions = _ref6.dimensions,
87
+ appearance = _ref6.appearance,
88
+ shouldUsePointerCursor = _ref6.shouldUsePointerCursor,
89
+ disableOverlay = _ref6.disableOverlay,
90
+ displayBackground = _ref6.displayBackground,
91
+ selected = _ref6.selected,
92
+ isPlayButtonClickable = _ref6.isPlayButtonClickable,
93
+ isTickBoxSelectable = _ref6.isTickBoxSelectable,
94
+ shouldDisplayTooltip = _ref6.shouldDisplayTooltip;
95
+ return "\n ".concat(transition(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat(fontFamily(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(N20, ";") : '', "\n ").concat(borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(hideNativeBrowserTextSelectionStyles, "\n\n /* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ").concat(getClickablePlayButtonStyles(isPlayButtonClickable), "\n ").concat(getSelectableTickBoxStyles(isTickBoxSelectable), "\n &:hover .").concat(blanketClassName, " {\n ").concat(fixedBlanketStyles, "\n }\n\n &:hover .").concat(actionsBarClassName, " {\n ").concat(fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { ".concat(getWrapperDimensions(dimensions, appearance), " }") : '', "\n");
49
96
  });
50
- NewFileExperienceWrapper.displayName = 'NewFileExperienceWrapper';
97
+ NewFileExperienceWrapper.displayName = 'NewFileExperienceWrapper';
98
+ export var CardImageContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n position: relative;\n max-width: 100%;\n width: 100%;\n height: 100%;\n max-height: 100%;\n overflow: hidden;\n ", "\n"])), borderRadius);
@@ -1,15 +1,19 @@
1
1
  import React from 'react';
2
2
  import { TitleBoxWrapper, ErrorMessageWrapper } from './styled';
3
3
  import EditorWarningIcon from '@atlaskit/icon/glyph/editor/warning';
4
+ import { messages } from '@atlaskit/media-ui';
4
5
  import { R300 } from '@atlaskit/theme/colors';
5
- import { getErrorMessage } from '../../../utils/getErrorMessage';
6
+ import { FormattedMessage } from 'react-intl-next';
7
+ import { FormattedMessageWrapper } from '../../styled';
6
8
  export var FailedTitleBox = function FailedTitleBox(_ref) {
7
- var breakpoint = _ref.breakpoint;
9
+ var breakpoint = _ref.breakpoint,
10
+ _ref$customMessage = _ref.customMessage,
11
+ customMessage = _ref$customMessage === void 0 ? messages.failed_to_load : _ref$customMessage;
8
12
  return /*#__PURE__*/React.createElement(TitleBoxWrapper, {
9
13
  breakpoint: breakpoint
10
14
  }, /*#__PURE__*/React.createElement(ErrorMessageWrapper, null, /*#__PURE__*/React.createElement(EditorWarningIcon, {
11
15
  label: 'Warning',
12
16
  size: 'small',
13
17
  primaryColor: R300
14
- }), getErrorMessage('error')));
18
+ }), /*#__PURE__*/React.createElement(FormattedMessageWrapper, null, /*#__PURE__*/React.createElement(FormattedMessage, customMessage))));
15
19
  };
@@ -3,8 +3,7 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
4
4
 
5
5
  import styled from 'styled-components';
6
- import { responsiveSettings, getTitleBoxHeight } from '../common';
7
- import { Breakpoint } from '../Breakpoint';
6
+ import { responsiveSettings, getTitleBoxHeight, Breakpoint } from '../common';
8
7
  import { N0 } from '@atlaskit/theme/colors';
9
8
  import { rgba } from '../../../styles/mixins';
10
9
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import LockFilledIcon from '@atlaskit/icon/glyph/lock-filled';
3
- import { injectIntl } from 'react-intl';
3
+ import { injectIntl } from 'react-intl-next';
4
4
  import { TitleBoxWrapper, TitleBoxHeader, TitleBoxFooter, TitleBoxIcon } from './styled';
5
5
  import { Truncate } from '@atlaskit/media-ui/truncateText';
6
6
  import { formatDate } from '@atlaskit/media-ui/formatDate';
@@ -2,14 +2,6 @@ import { getMediaClientErrorReason, isRequestError } from '@atlaskit/media-clien
2
2
  import { ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
3
3
  import { createAndFireEvent } from '@atlaskit/analytics-next';
4
4
  import { isMediaCardError } from '../errors';
5
- export var RenderEventAction;
6
-
7
- (function (RenderEventAction) {
8
- RenderEventAction["COMMENCED"] = "commenced";
9
- RenderEventAction["SUCCEEDED"] = "succeeded";
10
- RenderEventAction["FAILED"] = "failed";
11
- })(RenderEventAction || (RenderEventAction = {}));
12
-
13
5
  export var getFileAttributes = function getFileAttributes(metadata, fileStatus) {
14
6
  return {
15
7
  fileMediatype: metadata.mediaType,
@@ -19,56 +11,45 @@ export var getFileAttributes = function getFileAttributes(metadata, fileStatus)
19
11
  fileStatus: fileStatus
20
12
  };
21
13
  };
22
- export var getRenderCommencedEventPayload = function getRenderCommencedEventPayload(fileAttributes, performanceAttributes) {
14
+ export var getRenderPreviewableCardPayload = function getRenderPreviewableCardPayload(fileAttributes) {
23
15
  return {
24
- eventType: 'operational',
25
- action: RenderEventAction.COMMENCED,
26
- actionSubject: 'mediaCardRender',
16
+ eventType: 'screen',
17
+ action: 'viewed',
18
+ actionSubject: 'mediaCardRenderScreen',
19
+ name: 'mediaCardRenderScreen',
27
20
  attributes: {
28
- fileAttributes: fileAttributes,
29
- performanceAttributes: performanceAttributes
21
+ type: fileAttributes.fileMediatype,
22
+ fileAttributes: fileAttributes
30
23
  }
31
24
  };
32
25
  };
33
- export var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes, performanceAttributes) {
26
+ export var getRenderCommencedEventPayload = function getRenderCommencedEventPayload(fileAttributes, performanceAttributes) {
34
27
  return {
35
28
  eventType: 'operational',
36
- action: RenderEventAction.SUCCEEDED,
29
+ action: 'commenced',
37
30
  actionSubject: 'mediaCardRender',
38
31
  attributes: {
39
32
  fileAttributes: fileAttributes,
40
- performanceAttributes: performanceAttributes,
41
- status: 'success'
33
+ performanceAttributes: performanceAttributes
42
34
  }
43
35
  };
44
36
  };
45
- export var getFailedFileUriFailReason = function getFailedFileUriFailReason(fileStatus) {
46
- if (!fileStatus) {
47
- // This fail reason will come from a bug, most likely.
48
- return "unknown-uri";
49
- } else if (fileStatus === 'uploading') {
50
- return 'local-uri';
51
- }
52
-
53
- return 'remote-uri';
54
- };
55
- export var getRenderFailedFileUriPayload = function getRenderFailedFileUriPayload(fileAttributes, performanceAttributes) {
37
+ export var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes, performanceAttributes) {
56
38
  return {
57
39
  eventType: 'operational',
58
- action: RenderEventAction.FAILED,
40
+ action: 'succeeded',
59
41
  actionSubject: 'mediaCardRender',
60
42
  attributes: {
61
43
  fileAttributes: fileAttributes,
62
44
  performanceAttributes: performanceAttributes,
63
- status: 'fail',
64
- failReason: getFailedFileUriFailReason(fileAttributes.fileStatus)
45
+ status: 'success'
65
46
  }
66
47
  };
67
48
  };
68
49
  export var getRenderFailedExternalUriPayload = function getRenderFailedExternalUriPayload(fileAttributes, performanceAttributes) {
69
50
  return {
70
51
  eventType: 'operational',
71
- action: RenderEventAction.FAILED,
52
+ action: 'failed',
72
53
  actionSubject: 'mediaCardRender',
73
54
  attributes: {
74
55
  fileAttributes: fileAttributes,
@@ -111,7 +92,7 @@ export var getRenderErrorRequestMetadata = function getRenderErrorRequestMetadat
111
92
  export var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttributes, performanceAttributes, error) {
112
93
  return {
113
94
  eventType: 'operational',
114
- action: RenderEventAction.FAILED,
95
+ action: 'failed',
115
96
  actionSubject: 'mediaCardRender',
116
97
  attributes: {
117
98
  fileAttributes: fileAttributes,
@@ -127,7 +108,7 @@ export var getRenderErrorEventPayload = function getRenderErrorEventPayload(file
127
108
  export var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes) {
128
109
  return {
129
110
  eventType: 'operational',
130
- action: RenderEventAction.FAILED,
111
+ action: 'failed',
131
112
  actionSubject: 'mediaCardRender',
132
113
  attributes: {
133
114
  fileAttributes: fileAttributes,
@@ -1,3 +1,4 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/createClass";
3
4
  import _inherits from "@babel/runtime/helpers/inherits";
@@ -80,16 +81,22 @@ export var CardActionsDropdownMenu = /*#__PURE__*/function (_Component) {
80
81
 
81
82
  if (actions.length > 0) {
82
83
  return /*#__PURE__*/React.createElement(DropdownMenu, {
83
- "data-testid": "media-card-actions-menu",
84
+ testId: "media-card-actions-menu",
84
85
  onOpenChange: onOpenChange,
85
- trigger: /*#__PURE__*/React.createElement(CardActionButtonWithAnalytics, {
86
- variant: triggerVariant,
87
- style: {
88
- color: triggerColor
89
- }
90
- }, /*#__PURE__*/React.createElement(MoreIcon, {
91
- label: "more"
92
- }))
86
+ trigger: function trigger(_ref) {
87
+ var triggerRef = _ref.triggerRef,
88
+ providedProps = _objectWithoutProperties(_ref, ["triggerRef"]);
89
+
90
+ return /*#__PURE__*/React.createElement(CardActionButtonWithAnalytics, _extends({
91
+ variant: triggerVariant,
92
+ style: {
93
+ color: triggerColor
94
+ },
95
+ ref: triggerRef
96
+ }, providedProps), /*#__PURE__*/React.createElement(MoreIcon, {
97
+ label: "more"
98
+ }));
99
+ }
93
100
  }, /*#__PURE__*/React.createElement(DropdownItemGroup, null, actions.map(createDropdownItemWithAnalytics)));
94
101
  } else {
95
102
  return null;
@@ -20,7 +20,7 @@ export var canCompareDimension = function canCompareDimension(current, next) {
20
20
  return false;
21
21
  };
22
22
  export var isBigger = function isBigger(current, next) {
23
- if (canCompareDimension(current.width, next.width) && canCompareDimension(current.height, next.height)) {
23
+ if (!!current && !!next && canCompareDimension(current.width, next.width) && canCompareDimension(current.height, next.height)) {
24
24
  var nextIsHigher = parseInt("".concat(current.width), 10) < parseInt("".concat(next.width), 10);
25
25
  var nextIsWider = parseInt("".concat(current.height), 10) < parseInt("".concat(next.height), 10);
26
26
  return nextIsHigher || nextIsWider;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { FormattedMessage } from 'react-intl';
2
+ import { FormattedMessage } from 'react-intl-next';
3
3
  import { messages } from '@atlaskit/media-ui';
4
4
  export var getErrorMessage = function getErrorMessage(status) {
5
5
  return status === 'error' && /*#__PURE__*/React.createElement(FormattedMessage, messages.failed_to_load);
@@ -1,4 +1,4 @@
1
- import { isErrorFileState } from '@atlaskit/media-client';
1
+ import { isErrorFileState, isFileIdentifier } from '@atlaskit/media-client';
2
2
 
3
3
  var getProcessingStatusFromFileState = function getProcessingStatusFromFileState(status) {
4
4
  switch (status) {
@@ -13,8 +13,8 @@ var getProcessingStatusFromFileState = function getProcessingStatusFromFileState
13
13
  }
14
14
  };
15
15
 
16
- export var getFileDetails = function getFileDetails(state) {
17
- return !isErrorFileState(state) ? {
16
+ var getFileDetailsFromFileState = function getFileDetailsFromFileState(state) {
17
+ return {
18
18
  id: state.id,
19
19
  name: state.name,
20
20
  size: state.size,
@@ -22,7 +22,15 @@ export var getFileDetails = function getFileDetails(state) {
22
22
  createdAt: state.createdAt,
23
23
  mediaType: state.mediaType,
24
24
  processingStatus: getProcessingStatusFromFileState(state.status)
25
+ };
26
+ };
27
+
28
+ export var getFileDetails = function getFileDetails(identifier, fileState) {
29
+ return isFileIdentifier(identifier) ? fileState && !isErrorFileState(fileState) ? getFileDetailsFromFileState(fileState) : {
30
+ id: identifier.id
25
31
  } : {
26
- id: state.id
32
+ id: identifier.mediaItemType,
33
+ name: identifier.name || identifier.dataURI,
34
+ mediaType: 'image'
27
35
  };
28
36
  };
@@ -73,6 +73,12 @@ export var ObjectURLCache = /*#__PURE__*/function () {
73
73
  value: function set(key, value) {
74
74
  this.cache.set(key, value);
75
75
  }
76
+ }, {
77
+ key: "remove",
78
+ value: function remove(key) {
79
+ var removed = this.cache.remove(key);
80
+ removed && URL.revokeObjectURL(removed.dataURI);
81
+ }
76
82
  }]);
77
83
 
78
84
  return ObjectURLCache;
@@ -5,7 +5,7 @@ export var shouldDisplayImageThumbnail = function shouldDisplayImageThumbnail(ca
5
5
  }
6
6
 
7
7
  if (dataURI) {
8
- return mediaItemType === 'external-image' || mimeType && isMimeTypeSupportedByBrowser(mimeType) || cardStatus === 'complete';
8
+ return mediaItemType === 'external-image' || mimeType && isMimeTypeSupportedByBrowser(mimeType) || cardStatus === 'complete' || cardStatus === 'loading-preview';
9
9
  }
10
10
 
11
11
  return false;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-card",
3
- "version": "70.11.0",
3
+ "version": "73.0.0",
4
4
  "sideEffects": false
5
5
  }