@atlaskit/media-card 70.10.0 → 72.1.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 (150) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/cjs/errors.js +76 -5
  3. package/dist/cjs/files/cardImageView/index.js +58 -89
  4. package/dist/cjs/files/index.js +0 -6
  5. package/dist/cjs/index.js +16 -6
  6. package/dist/cjs/root/card/cardAnalytics.js +33 -19
  7. package/dist/cjs/root/card/cardConstants.js +8 -0
  8. package/dist/cjs/root/card/cardLoader.js +66 -124
  9. package/dist/cjs/root/card/cardState.js +50 -0
  10. package/dist/cjs/root/card/getCardPreview/cache.js +5 -0
  11. package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +50 -0
  12. package/dist/cjs/root/card/getCardPreview/helpers.js +13 -21
  13. package/dist/cjs/root/card/getCardPreview/index.js +171 -100
  14. package/dist/cjs/root/card/getCardStatus.js +7 -1
  15. package/dist/cjs/root/card/index.js +407 -322
  16. package/dist/cjs/root/cardView.js +115 -76
  17. package/dist/cjs/root/index.js +9 -1
  18. package/dist/cjs/root/inline/loader.js +22 -21
  19. package/dist/cjs/root/inline/{inlineMediaCard.js → mediaInlineCard.js} +72 -25
  20. package/dist/cjs/root/inlinePlayer.js +5 -15
  21. package/dist/cjs/root/ui/iconMessage/index.js +17 -9
  22. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +36 -115
  23. package/dist/cjs/root/ui/styled.js +1 -1
  24. package/dist/cjs/root/ui/titleBox/failedTitleBox.js +7 -3
  25. package/dist/cjs/utils/analytics.js +26 -43
  26. package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  27. package/dist/cjs/utils/dimensionComparer.js +1 -1
  28. package/dist/cjs/utils/document.js +12 -0
  29. package/dist/cjs/utils/getDataURIDimension.js +13 -2
  30. package/dist/cjs/utils/metadata.js +11 -3
  31. package/dist/cjs/utils/objectURLCache.js +6 -0
  32. package/dist/cjs/utils/resizeModeToMediaImageProps.js +13 -0
  33. package/dist/cjs/utils/shouldDisplayImageThumbnail.js +1 -1
  34. package/dist/cjs/version.json +1 -1
  35. package/dist/es2019/errors.js +42 -2
  36. package/dist/es2019/files/cardImageView/index.js +12 -46
  37. package/dist/es2019/files/index.js +1 -1
  38. package/dist/es2019/index.js +3 -3
  39. package/dist/es2019/root/card/cardAnalytics.js +23 -17
  40. package/dist/es2019/root/card/cardConstants.js +1 -0
  41. package/dist/es2019/root/card/cardLoader.js +47 -53
  42. package/dist/es2019/root/card/cardState.js +26 -0
  43. package/dist/es2019/root/card/getCardPreview/cache.js +5 -0
  44. package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +35 -0
  45. package/dist/es2019/root/card/getCardPreview/helpers.js +2 -12
  46. package/dist/es2019/root/card/getCardPreview/index.js +112 -79
  47. package/dist/es2019/root/card/getCardStatus.js +1 -0
  48. package/dist/es2019/root/card/index.js +356 -254
  49. package/dist/es2019/root/cardView.js +98 -58
  50. package/dist/es2019/root/index.js +2 -1
  51. package/dist/es2019/root/inline/loader.js +16 -15
  52. package/dist/es2019/root/inline/mediaInlineCard.js +132 -0
  53. package/dist/es2019/root/inlinePlayer.js +5 -13
  54. package/dist/es2019/root/ui/iconMessage/index.js +10 -6
  55. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +26 -74
  56. package/dist/es2019/root/ui/styled.js +1 -0
  57. package/dist/es2019/root/ui/titleBox/failedTitleBox.js +5 -3
  58. package/dist/es2019/utils/analytics.js +29 -40
  59. package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
  60. package/dist/es2019/utils/dimensionComparer.js +1 -1
  61. package/dist/es2019/utils/document.js +1 -0
  62. package/dist/es2019/utils/getDataURIDimension.js +8 -0
  63. package/dist/es2019/utils/metadata.js +12 -4
  64. package/dist/es2019/utils/objectURLCache.js +5 -0
  65. package/dist/es2019/utils/resizeModeToMediaImageProps.js +6 -0
  66. package/dist/es2019/utils/shouldDisplayImageThumbnail.js +1 -1
  67. package/dist/es2019/version.json +1 -1
  68. package/dist/esm/errors.js +60 -1
  69. package/dist/esm/files/cardImageView/index.js +55 -87
  70. package/dist/esm/files/index.js +1 -1
  71. package/dist/esm/index.js +3 -3
  72. package/dist/esm/root/card/cardAnalytics.js +23 -18
  73. package/dist/esm/root/card/cardConstants.js +1 -0
  74. package/dist/esm/root/card/cardLoader.js +66 -126
  75. package/dist/esm/root/card/cardState.js +32 -0
  76. package/dist/esm/root/card/getCardPreview/cache.js +6 -0
  77. package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +35 -0
  78. package/dist/esm/root/card/getCardPreview/helpers.js +13 -21
  79. package/dist/esm/root/card/getCardPreview/index.js +142 -95
  80. package/dist/esm/root/card/getCardStatus.js +3 -0
  81. package/dist/esm/root/card/index.js +416 -325
  82. package/dist/esm/root/cardView.js +114 -73
  83. package/dist/esm/root/index.js +2 -1
  84. package/dist/esm/root/inline/loader.js +23 -22
  85. package/dist/esm/root/inline/mediaInlineCard.js +145 -0
  86. package/dist/esm/root/inlinePlayer.js +5 -13
  87. package/dist/esm/root/ui/iconMessage/index.js +12 -7
  88. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +28 -106
  89. package/dist/esm/root/ui/styled.js +1 -1
  90. package/dist/esm/root/ui/titleBox/failedTitleBox.js +6 -3
  91. package/dist/esm/utils/analytics.js +22 -35
  92. package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  93. package/dist/esm/utils/dimensionComparer.js +1 -1
  94. package/dist/esm/utils/document.js +3 -0
  95. package/dist/esm/utils/getDataURIDimension.js +8 -0
  96. package/dist/esm/utils/metadata.js +12 -4
  97. package/dist/esm/utils/objectURLCache.js +6 -0
  98. package/dist/esm/utils/resizeModeToMediaImageProps.js +6 -0
  99. package/dist/esm/utils/shouldDisplayImageThumbnail.js +1 -1
  100. package/dist/esm/version.json +1 -1
  101. package/dist/types/errors.d.ts +15 -1
  102. package/dist/types/files/cardImageView/index.d.ts +5 -12
  103. package/dist/types/files/cardImageView/styled.d.ts +1 -1
  104. package/dist/types/files/index.d.ts +1 -1
  105. package/dist/types/index.d.ts +11 -13
  106. package/dist/types/root/card/cardAnalytics.d.ts +5 -7
  107. package/dist/types/root/card/cardConstants.d.ts +1 -0
  108. package/dist/types/root/card/cardLoader.d.ts +4 -18
  109. package/dist/types/root/card/cardState.d.ts +5 -0
  110. package/dist/types/root/card/getCardPreview/cache.d.ts +4 -2
  111. package/dist/types/root/card/getCardPreview/filePreviewStatus.d.ts +5 -0
  112. package/dist/types/root/card/getCardPreview/helpers.d.ts +4 -5
  113. package/dist/types/root/card/getCardPreview/index.d.ts +25 -14
  114. package/dist/types/root/card/getCardStatus.d.ts +1 -0
  115. package/dist/types/root/card/index.d.ts +18 -15
  116. package/dist/types/root/cardView.d.ts +14 -8
  117. package/dist/types/root/index.d.ts +1 -0
  118. package/dist/types/root/inline/loader.d.ts +8 -8
  119. package/dist/types/root/inline/{inlineMediaCard.d.ts → mediaInlineCard.d.ts} +4 -4
  120. package/dist/types/root/inlinePlayer.d.ts +1 -1
  121. package/dist/types/root/ui/iconMessage/index.d.ts +7 -2
  122. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +5 -18
  123. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +2 -0
  124. package/dist/types/types.d.ts +9 -1
  125. package/dist/types/utils/analytics.d.ts +20 -21
  126. package/dist/types/utils/cardDimensions.d.ts +5 -1
  127. package/dist/types/utils/dimensionComparer.d.ts +1 -1
  128. package/dist/types/utils/document.d.ts +2 -0
  129. package/dist/types/utils/getDataURIDimension.d.ts +3 -1
  130. package/dist/types/utils/index.d.ts +1 -0
  131. package/dist/types/utils/lazyContent/styled.d.ts +1 -1
  132. package/dist/types/utils/lightCards/types.d.ts +1 -1
  133. package/dist/types/utils/metadata.d.ts +2 -2
  134. package/dist/types/utils/objectURLCache.d.ts +2 -1
  135. package/dist/types/utils/resizeModeToMediaImageProps.d.ts +5 -0
  136. package/dist/types/utils/shouldDisplayImageThumbnail.d.ts +1 -1
  137. package/example-helpers/developmentUseMessage.tsx +14 -0
  138. package/example-helpers/index.tsx +55 -4
  139. package/example-helpers/selectableCard.tsx +2 -1
  140. package/package.json +18 -14
  141. package/dist/cjs/root/card/getCardPreview/types.js +0 -5
  142. package/dist/cjs/utils/fileAttributesContext.js +0 -40
  143. package/dist/es2019/root/card/getCardPreview/types.js +0 -1
  144. package/dist/es2019/root/inline/inlineMediaCard.js +0 -92
  145. package/dist/es2019/utils/fileAttributesContext.js +0 -19
  146. package/dist/esm/root/card/getCardPreview/types.js +0 -1
  147. package/dist/esm/root/inline/inlineMediaCard.js +0 -100
  148. package/dist/esm/utils/fileAttributesContext.js +0 -18
  149. package/dist/types/root/card/getCardPreview/types.d.ts +0 -5
  150. package/dist/types/utils/fileAttributesContext.d.ts +0 -10
@@ -41,10 +41,6 @@ var _ = require("..");
41
41
 
42
42
  var _cardLoading = require("../utils/lightCards/cardLoading");
43
43
 
44
- var _analyticsNext = require("@atlaskit/analytics-next");
45
-
46
- var _analytics = require("../utils/analytics");
47
-
48
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
45
 
50
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -307,10 +303,11 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
307
303
  onClick: onClick,
308
304
  innerRef: forwardRef || undefined,
309
305
  dimensions: dimensions
310
- }, /*#__PURE__*/_react.default.createElement(_mediaUi.InactivityDetector, null, function () {
306
+ }, /*#__PURE__*/_react.default.createElement(_mediaUi.InactivityDetector, null, function (checkMouseMovement) {
311
307
  return /*#__PURE__*/_react.default.createElement(_mediaUi.CustomMediaPlayer, {
312
308
  type: "video",
313
309
  src: fileSrc,
310
+ fileId: identifier.id,
314
311
  isAutoPlay: true,
315
312
  isHDAvailable: false,
316
313
  onDownloadClick: _this3.onDownloadClick,
@@ -318,7 +315,8 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
318
315
  lastWatchTimeConfig: {
319
316
  contentId: identifier.id
320
317
  },
321
- originalDimensions: originalDimensions
318
+ originalDimensions: originalDimensions,
319
+ showControls: checkMouseMovement
322
320
  });
323
321
  }));
324
322
  }
@@ -337,13 +335,5 @@ var InlinePlayerForwardRef = /*#__PURE__*/_react.default.forwardRef(function (pr
337
335
  }));
338
336
  });
339
337
 
340
- var InlinePlayer = (0, _analyticsNext.withAnalyticsEvents)({
341
- onClick: (0, _analytics.createAndFireMediaCardEvent)({
342
- eventType: 'ui',
343
- action: 'clicked',
344
- actionSubject: 'mediaCard',
345
- actionSubjectId: 'mediaCardInlinePlayer',
346
- attributes: {}
347
- })
348
- })(InlinePlayerForwardRef);
338
+ var InlinePlayer = InlinePlayerForwardRef;
349
339
  exports.InlinePlayer = InlinePlayer;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.PreviewCurrentlyUnavailable = exports.RateLimited = exports.PreviewUnavailable = exports.CreatingPreview = exports.IconMessage = void 0;
8
+ exports.PreviewCurrentlyUnavailable = exports.FailedToUpload = exports.FailedToLoad = exports.PreviewUnavailable = exports.CreatingPreview = exports.IconMessage = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -31,11 +31,12 @@ var IconMessage = function IconMessage(_ref) {
31
31
 
32
32
  exports.IconMessage = IconMessage;
33
33
 
34
- var CreatingPreview = function CreatingPreview(props) {
35
- return /*#__PURE__*/_react.default.createElement(IconMessage, (0, _extends2.default)({}, props, {
34
+ var CreatingPreview = function CreatingPreview(_ref2) {
35
+ var disableAnimation = _ref2.disableAnimation;
36
+ return /*#__PURE__*/_react.default.createElement(IconMessage, {
36
37
  messageDescriptor: _mediaUi.messages.creating_preview,
37
- animated: true
38
- }));
38
+ animated: !disableAnimation
39
+ });
39
40
  };
40
41
 
41
42
  exports.CreatingPreview = CreatingPreview;
@@ -48,14 +49,21 @@ var PreviewUnavailable = function PreviewUnavailable(props) {
48
49
 
49
50
  exports.PreviewUnavailable = PreviewUnavailable;
50
51
 
51
- var RateLimited = function RateLimited(props) {
52
+ var FailedToLoad = function FailedToLoad(props) {
52
53
  return /*#__PURE__*/_react.default.createElement(IconMessage, (0, _extends2.default)({}, props, {
53
- messageDescriptor: _mediaUi.messages.preview_rateLimited,
54
- reducedFont: true
54
+ messageDescriptor: _mediaUi.messages.failed_to_load
55
+ }));
56
+ };
57
+
58
+ exports.FailedToLoad = FailedToLoad;
59
+
60
+ var FailedToUpload = function FailedToUpload(props) {
61
+ return /*#__PURE__*/_react.default.createElement(IconMessage, (0, _extends2.default)({}, props, {
62
+ messageDescriptor: _mediaUi.messages.failed_to_upload
55
63
  }));
56
64
  };
57
65
 
58
- exports.RateLimited = RateLimited;
66
+ exports.FailedToUpload = FailedToUpload;
59
67
 
60
68
  var PreviewCurrentlyUnavailable = function PreviewCurrentlyUnavailable(props) {
61
69
  return /*#__PURE__*/_react.default.createElement(IconMessage, (0, _extends2.default)({}, props, {
@@ -2,130 +2,51 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.ImageRenderer = exports.ImageRendererBase = exports.resizeModeToMediaImageProps = void 0;
10
+ exports.ImageRenderer = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
13
 
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
27
15
 
28
16
  var _mediaUi = require("@atlaskit/media-ui");
29
17
 
30
- var _analyticsNext = require("@atlaskit/analytics-next");
31
-
32
- var _analytics = require("../../../utils/analytics");
33
-
34
- var _fileAttributesContext = require("../../../utils/fileAttributesContext");
35
-
36
- 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); }; }
37
-
38
- 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; } }
39
-
40
- var resizeModeToMediaImageProps = function resizeModeToMediaImageProps(resizeMode) {
41
- return {
42
- crop: resizeMode === 'crop',
43
- stretch: resizeMode === 'stretchy-fit'
44
- };
45
- };
46
-
47
- exports.resizeModeToMediaImageProps = resizeModeToMediaImageProps;
48
-
49
- var ImageRendererBase = /*#__PURE__*/function (_React$Component) {
50
- (0, _inherits2.default)(ImageRendererBase, _React$Component);
51
-
52
- var _super = _createSuper(ImageRendererBase);
53
-
54
- function ImageRendererBase() {
55
- var _this;
56
-
57
- (0, _classCallCheck2.default)(this, ImageRendererBase);
58
-
59
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
60
- args[_key] = arguments[_key];
61
- }
62
-
63
- _this = _super.call.apply(_super, [this].concat(args));
64
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageLoad", function () {
65
- var _this$props = _this.props,
66
- createAnalyticsEvent = _this$props.createAnalyticsEvent,
67
- fileAttributes = _this$props.fileAttributes;
68
-
69
- if (fileAttributes && _this.shouldFireEvent(_analytics.RenderEventAction.SUCCEEDED)) {
70
- (0, _analytics.fireMediaCardEvent)((0, _analytics.getRenderSucceededEventPayload)(fileAttributes), createAnalyticsEvent);
71
- }
72
- });
73
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageError", function () {
74
- var _this$props2 = _this.props,
75
- onImageError = _this$props2.onImageError,
76
- fileAttributes = _this$props2.fileAttributes;
77
- onImageError && onImageError();
78
-
79
- if (fileAttributes && _this.shouldFireEvent(_analytics.RenderEventAction.FAILED)) {
80
- var _this$props3 = _this.props,
81
- createAnalyticsEvent = _this$props3.createAnalyticsEvent,
82
- mediaItemType = _this$props3.mediaItemType;
83
-
84
- if (mediaItemType === 'file') {
85
- (0, _analytics.fireMediaCardEvent)((0, _analytics.getRenderFailedFileUriPayload)(fileAttributes), createAnalyticsEvent);
86
- } else if (mediaItemType === 'external-image') {
87
- (0, _analytics.fireMediaCardEvent)((0, _analytics.getRenderFailedExternalUriPayload)(fileAttributes), createAnalyticsEvent);
88
- }
89
- }
90
- });
91
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shouldFireEvent", function (action) {
92
- return !_this.lastAnalyticsAction || _this.lastAnalyticsAction !== action;
93
- });
94
- return _this;
95
- }
96
-
97
- (0, _createClass2.default)(ImageRendererBase, [{
98
- key: "componentDidMount",
99
- value: function componentDidMount() {
100
- // TODO: trigger accordingly with the succeeded event. This could be a breaking change
101
- var _this$props4 = this.props,
102
- onDisplayImage = _this$props4.onDisplayImage,
103
- mediaType = _this$props4.mediaType;
104
-
105
- if (mediaType === 'image' && onDisplayImage) {
106
- onDisplayImage();
107
- }
108
- }
109
- }, {
110
- key: "render",
111
- value: function render() {
112
- var _this$props5 = this.props,
113
- dataURI = _this$props5.dataURI,
114
- previewOrientation = _this$props5.previewOrientation,
115
- alt = _this$props5.alt,
116
- resizeMode = _this$props5.resizeMode;
117
- return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaImage, (0, _extends2.default)({
118
- dataURI: dataURI,
119
- alt: alt,
120
- previewOrientation: previewOrientation,
121
- onImageLoad: this.onImageLoad,
122
- onImageError: this.onImageError
123
- }, resizeModeToMediaImageProps(resizeMode)));
18
+ var _resizeModeToMediaImageProps = require("../../../utils/resizeModeToMediaImageProps");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var ImageRenderer = function ImageRenderer(_ref) {
25
+ var dataURI = _ref.dataURI,
26
+ previewOrientation = _ref.previewOrientation,
27
+ alt = _ref.alt,
28
+ resizeMode = _ref.resizeMode,
29
+ onImageLoad = _ref.onImageLoad,
30
+ onImageError = _ref.onImageError,
31
+ onDisplayImage = _ref.onDisplayImage,
32
+ mediaType = _ref.mediaType,
33
+ nativeLazyLoad = _ref.nativeLazyLoad,
34
+ forceSyncDisplay = _ref.forceSyncDisplay;
35
+ (0, _react.useEffect)(function () {
36
+ // TODO: trigger accordingly with the succeeded event. This could be a breaking change
37
+ if (mediaType === 'image' && onDisplayImage) {
38
+ onDisplayImage();
124
39
  }
125
- }]);
126
- return ImageRendererBase;
127
- }(_react.default.Component);
40
+ }, [mediaType, onDisplayImage]);
41
+ return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaImage, (0, _extends2.default)({
42
+ dataURI: dataURI,
43
+ alt: alt,
44
+ previewOrientation: previewOrientation,
45
+ onImageLoad: onImageLoad,
46
+ onImageError: onImageError,
47
+ loading: nativeLazyLoad ? 'lazy' : undefined,
48
+ forceSyncDisplay: forceSyncDisplay
49
+ }, (0, _resizeModeToMediaImageProps.resizeModeToMediaImageProps)(resizeMode)));
50
+ };
128
51
 
129
- exports.ImageRendererBase = ImageRendererBase;
130
- var ImageRenderer = (0, _analyticsNext.withAnalyticsEvents)()((0, _fileAttributesContext.withFileAttributes)(ImageRendererBase));
131
52
  exports.ImageRenderer = ImageRenderer;
@@ -119,7 +119,7 @@ var NewFileExperienceWrapper = _styledComponents.default.div(_templateObject ||
119
119
  isPlayButtonClickable = _ref6.isPlayButtonClickable,
120
120
  isTickBoxSelectable = _ref6.isTickBoxSelectable,
121
121
  shouldDisplayTooltip = _ref6.shouldDisplayTooltip;
122
- return "\n ".concat((0, _styles.transition)(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat((0, _constants.fontFamily)(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(_colors.N20, ";") : '', "\n ").concat(_mediaUi.borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(_selection.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(_styled2.blanketClassName, " {\n ").concat(_styled2.fixedBlanketStyles, "\n }\n &:hover .").concat(_styled3.actionsBarClassName, " {\n ").concat(_styled3.fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { ".concat(getWrapperDimensions(dimensions, appearance), " }") : '', "\n");
122
+ return "\n ".concat((0, _styles.transition)(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat((0, _constants.fontFamily)(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(_colors.N20, ";") : '', "\n ").concat(_mediaUi.borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(_selection.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(_styled2.blanketClassName, " {\n ").concat(_styled2.fixedBlanketStyles, "\n }\n\n &:hover .").concat(_styled3.actionsBarClassName, " {\n ").concat(_styled3.fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { ".concat(getWrapperDimensions(dimensions, appearance), " }") : '', "\n");
123
123
  });
124
124
 
125
125
  exports.NewFileExperienceWrapper = NewFileExperienceWrapper;
@@ -13,19 +13,23 @@ var _styled = require("./styled");
13
13
 
14
14
  var _warning = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/warning"));
15
15
 
16
+ var _mediaUi = require("@atlaskit/media-ui");
17
+
16
18
  var _colors = require("@atlaskit/theme/colors");
17
19
 
18
- var _getErrorMessage = require("../../../utils/getErrorMessage");
20
+ var _reactIntl = require("react-intl");
19
21
 
20
22
  var FailedTitleBox = function FailedTitleBox(_ref) {
21
- var breakpoint = _ref.breakpoint;
23
+ var breakpoint = _ref.breakpoint,
24
+ _ref$customMessage = _ref.customMessage,
25
+ customMessage = _ref$customMessage === void 0 ? _mediaUi.messages.failed_to_load : _ref$customMessage;
22
26
  return /*#__PURE__*/_react.default.createElement(_styled.TitleBoxWrapper, {
23
27
  breakpoint: breakpoint
24
28
  }, /*#__PURE__*/_react.default.createElement(_styled.ErrorMessageWrapper, null, /*#__PURE__*/_react.default.createElement(_warning.default, {
25
29
  label: 'Warning',
26
30
  size: 'small',
27
31
  primaryColor: _colors.R300
28
- }), (0, _getErrorMessage.getErrorMessage)('error')));
32
+ }), /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, customMessage)));
29
33
  };
30
34
 
31
35
  exports.FailedTitleBox = FailedTitleBox;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.fireMediaCardEvent = fireMediaCardEvent;
7
- exports.createAndFireMediaCardEvent = exports.getCopiedFilePayload = exports.getRenderFailedFileStatusPayload = exports.getRenderErrorEventPayload = exports.getRenderErrorRequestMetadata = exports.getRenderErrorErrorDetail = exports.getRenderErrorErrorReason = exports.getRenderErrorFailReason = exports.getRenderFailedExternalUriPayload = exports.getRenderFailedFileUriPayload = exports.getFailedFileUriFailReason = exports.getRenderSucceededEventPayload = exports.getRenderCommencedEventPayload = exports.getFileAttributes = exports.RenderEventAction = void 0;
7
+ exports.createAndFireMediaCardEvent = exports.getCopiedFilePayload = exports.getRenderFailedFileStatusPayload = exports.getRenderErrorEventPayload = exports.getRenderErrorRequestMetadata = exports.getRenderErrorErrorDetail = exports.getRenderErrorErrorReason = exports.getRenderErrorFailReason = exports.getRenderFailedExternalUriPayload = exports.getRenderSucceededEventPayload = exports.getRenderCommencedEventPayload = exports.getRenderPreviewableCardPayload = exports.getFileAttributes = void 0;
8
8
 
9
9
  var _mediaClient = require("@atlaskit/media-client");
10
10
 
@@ -14,15 +14,6 @@ var _analyticsNext = require("@atlaskit/analytics-next");
14
14
 
15
15
  var _errors = require("../errors");
16
16
 
17
- var RenderEventAction;
18
- exports.RenderEventAction = RenderEventAction;
19
-
20
- (function (RenderEventAction) {
21
- RenderEventAction["COMMENCED"] = "commenced";
22
- RenderEventAction["SUCCEEDED"] = "succeeded";
23
- RenderEventAction["FAILED"] = "failed";
24
- })(RenderEventAction || (exports.RenderEventAction = RenderEventAction = {}));
25
-
26
17
  var getFileAttributes = function getFileAttributes(metadata, fileStatus) {
27
18
  return {
28
19
  fileMediatype: metadata.mediaType,
@@ -35,68 +26,58 @@ var getFileAttributes = function getFileAttributes(metadata, fileStatus) {
35
26
 
36
27
  exports.getFileAttributes = getFileAttributes;
37
28
 
38
- var getRenderCommencedEventPayload = function getRenderCommencedEventPayload(fileAttributes) {
29
+ var getRenderPreviewableCardPayload = function getRenderPreviewableCardPayload(fileAttributes) {
39
30
  return {
40
- eventType: 'operational',
41
- action: RenderEventAction.COMMENCED,
42
- actionSubject: 'mediaCardRender',
31
+ eventType: 'screen',
32
+ action: 'viewed',
33
+ actionSubject: 'mediaCardRenderScreen',
34
+ name: 'mediaCardRenderScreen',
43
35
  attributes: {
36
+ type: fileAttributes.fileMediatype,
44
37
  fileAttributes: fileAttributes
45
38
  }
46
39
  };
47
40
  };
48
41
 
49
- exports.getRenderCommencedEventPayload = getRenderCommencedEventPayload;
42
+ exports.getRenderPreviewableCardPayload = getRenderPreviewableCardPayload;
50
43
 
51
- var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes) {
44
+ var getRenderCommencedEventPayload = function getRenderCommencedEventPayload(fileAttributes, performanceAttributes) {
52
45
  return {
53
46
  eventType: 'operational',
54
- action: RenderEventAction.SUCCEEDED,
47
+ action: 'commenced',
55
48
  actionSubject: 'mediaCardRender',
56
49
  attributes: {
57
50
  fileAttributes: fileAttributes,
58
- status: 'success'
51
+ performanceAttributes: performanceAttributes
59
52
  }
60
53
  };
61
54
  };
62
55
 
63
- exports.getRenderSucceededEventPayload = getRenderSucceededEventPayload;
64
-
65
- var getFailedFileUriFailReason = function getFailedFileUriFailReason(fileStatus) {
66
- if (!fileStatus) {
67
- // This fail reason will come from a bug, most likely.
68
- return "unknown-uri";
69
- } else if (fileStatus === 'uploading') {
70
- return 'local-uri';
71
- }
72
-
73
- return 'remote-uri';
74
- };
75
-
76
- exports.getFailedFileUriFailReason = getFailedFileUriFailReason;
56
+ exports.getRenderCommencedEventPayload = getRenderCommencedEventPayload;
77
57
 
78
- var getRenderFailedFileUriPayload = function getRenderFailedFileUriPayload(fileAttributes) {
58
+ var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes, performanceAttributes) {
79
59
  return {
80
60
  eventType: 'operational',
81
- action: RenderEventAction.FAILED,
61
+ action: 'succeeded',
82
62
  actionSubject: 'mediaCardRender',
83
63
  attributes: {
84
64
  fileAttributes: fileAttributes,
85
- status: 'fail',
86
- failReason: getFailedFileUriFailReason(fileAttributes.fileStatus)
65
+ performanceAttributes: performanceAttributes,
66
+ status: 'success'
87
67
  }
88
68
  };
89
69
  };
90
70
 
91
- exports.getRenderFailedFileUriPayload = getRenderFailedFileUriPayload;
71
+ exports.getRenderSucceededEventPayload = getRenderSucceededEventPayload;
92
72
 
93
- var getRenderFailedExternalUriPayload = function getRenderFailedExternalUriPayload(fileAttributes) {
73
+ var getRenderFailedExternalUriPayload = function getRenderFailedExternalUriPayload(fileAttributes, performanceAttributes) {
94
74
  return {
95
75
  eventType: 'operational',
96
- action: RenderEventAction.FAILED,
76
+ action: 'failed',
97
77
  actionSubject: 'mediaCardRender',
98
78
  attributes: {
99
79
  fileAttributes: fileAttributes,
80
+ performanceAttributes: performanceAttributes,
100
81
  status: 'fail',
101
82
  failReason: 'external-uri'
102
83
  }
@@ -147,13 +128,14 @@ var getRenderErrorRequestMetadata = function getRenderErrorRequestMetadata(error
147
128
 
148
129
  exports.getRenderErrorRequestMetadata = getRenderErrorRequestMetadata;
149
130
 
150
- var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttributes, error) {
131
+ var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttributes, performanceAttributes, error) {
151
132
  return {
152
133
  eventType: 'operational',
153
- action: RenderEventAction.FAILED,
134
+ action: 'failed',
154
135
  actionSubject: 'mediaCardRender',
155
136
  attributes: {
156
137
  fileAttributes: fileAttributes,
138
+ performanceAttributes: performanceAttributes,
157
139
  status: 'fail',
158
140
  failReason: getRenderErrorFailReason(error),
159
141
  error: getRenderErrorErrorReason(error),
@@ -165,13 +147,14 @@ var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttribu
165
147
 
166
148
  exports.getRenderErrorEventPayload = getRenderErrorEventPayload;
167
149
 
168
- var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes) {
150
+ var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes) {
169
151
  return {
170
152
  eventType: 'operational',
171
- action: RenderEventAction.FAILED,
153
+ action: 'failed',
172
154
  actionSubject: 'mediaCardRender',
173
155
  attributes: {
174
156
  fileAttributes: fileAttributes,
157
+ performanceAttributes: performanceAttributes,
175
158
  status: 'fail',
176
159
  failReason: 'failed-processing'
177
160
  }
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.CardActionsDropdownMenu = void 0;
11
11
 
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
15
 
14
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -103,16 +105,21 @@ var CardActionsDropdownMenu = /*#__PURE__*/function (_Component) {
103
105
 
104
106
  if (actions.length > 0) {
105
107
  return /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
106
- "data-testid": "media-card-actions-menu",
108
+ testId: "media-card-actions-menu",
107
109
  onOpenChange: onOpenChange,
108
- trigger: /*#__PURE__*/_react.default.createElement(CardActionButtonWithAnalytics, {
109
- variant: triggerVariant,
110
- style: {
111
- color: triggerColor
112
- }
113
- }, /*#__PURE__*/_react.default.createElement(_more.default, {
114
- label: "more"
115
- }))
110
+ trigger: function trigger(_ref) {
111
+ var triggerRef = _ref.triggerRef,
112
+ providedProps = (0, _objectWithoutProperties2.default)(_ref, ["triggerRef"]);
113
+ return /*#__PURE__*/_react.default.createElement(CardActionButtonWithAnalytics, (0, _extends2.default)({
114
+ variant: triggerVariant,
115
+ style: {
116
+ color: triggerColor
117
+ },
118
+ ref: triggerRef
119
+ }, providedProps), /*#__PURE__*/_react.default.createElement(_more.default, {
120
+ label: "more"
121
+ }));
122
+ }
116
123
  }, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null, actions.map(createDropdownItemWithAnalytics)));
117
124
  } else {
118
125
  return null;
@@ -32,7 +32,7 @@ var canCompareDimension = function canCompareDimension(current, next) {
32
32
  exports.canCompareDimension = canCompareDimension;
33
33
 
34
34
  var isBigger = function isBigger(current, next) {
35
- if (canCompareDimension(current.width, next.width) && canCompareDimension(current.height, next.height)) {
35
+ if (!!current && !!next && canCompareDimension(current.width, next.width) && canCompareDimension(current.height, next.height)) {
36
36
  var nextIsHigher = parseInt("".concat(current.width), 10) < parseInt("".concat(next.width), 10);
37
37
  var nextIsWider = parseInt("".concat(current.height), 10) < parseInt("".concat(next.height), 10);
38
38
  return nextIsHigher || nextIsWider;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _default = function _default() {
9
+ return document;
10
+ };
11
+
12
+ exports.default = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getDataURIDimension = void 0;
6
+ exports.getRequestedDimensions = exports.getDataURIDimension = void 0;
7
7
 
8
8
  var _isRetina = require("./isRetina");
9
9
 
@@ -34,4 +34,15 @@ var getDataURIDimension = function getDataURIDimension(dimension, options) {
34
34
  return _cardDimensions.defaultImageCardDimensions[dimension] * retinaFactor;
35
35
  };
36
36
 
37
- exports.getDataURIDimension = getDataURIDimension;
37
+ exports.getDataURIDimension = getDataURIDimension;
38
+
39
+ var getRequestedDimensions = function getRequestedDimensions(options) {
40
+ var width = getDataURIDimension('width', options);
41
+ var height = getDataURIDimension('height', options);
42
+ return {
43
+ width: width,
44
+ height: height
45
+ };
46
+ };
47
+
48
+ exports.getRequestedDimensions = getRequestedDimensions;
@@ -20,8 +20,8 @@ var getProcessingStatusFromFileState = function getProcessingStatusFromFileState
20
20
  }
21
21
  };
22
22
 
23
- var getFileDetails = function getFileDetails(state) {
24
- return !(0, _mediaClient.isErrorFileState)(state) ? {
23
+ var getFileDetailsFromFileState = function getFileDetailsFromFileState(state) {
24
+ return {
25
25
  id: state.id,
26
26
  name: state.name,
27
27
  size: state.size,
@@ -29,8 +29,16 @@ var getFileDetails = function getFileDetails(state) {
29
29
  createdAt: state.createdAt,
30
30
  mediaType: state.mediaType,
31
31
  processingStatus: getProcessingStatusFromFileState(state.status)
32
+ };
33
+ };
34
+
35
+ var getFileDetails = function getFileDetails(identifier, fileState) {
36
+ return (0, _mediaClient.isFileIdentifier)(identifier) ? fileState && !(0, _mediaClient.isErrorFileState)(fileState) ? getFileDetailsFromFileState(fileState) : {
37
+ id: identifier.id
32
38
  } : {
33
- id: state.id
39
+ id: identifier.mediaItemType,
40
+ name: identifier.name || identifier.dataURI,
41
+ mediaType: 'image'
34
42
  };
35
43
  };
36
44
 
@@ -86,6 +86,12 @@ var ObjectURLCache = /*#__PURE__*/function () {
86
86
  value: function set(key, value) {
87
87
  this.cache.set(key, value);
88
88
  }
89
+ }, {
90
+ key: "remove",
91
+ value: function remove(key) {
92
+ var removed = this.cache.remove(key);
93
+ removed && URL.revokeObjectURL(removed.dataURI);
94
+ }
89
95
  }]);
90
96
  return ObjectURLCache;
91
97
  }();
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resizeModeToMediaImageProps = resizeModeToMediaImageProps;
7
+
8
+ function resizeModeToMediaImageProps(resizeMode) {
9
+ return {
10
+ crop: resizeMode === 'crop',
11
+ stretch: resizeMode === 'stretchy-fit'
12
+ };
13
+ }
@@ -13,7 +13,7 @@ var shouldDisplayImageThumbnail = function shouldDisplayImageThumbnail(cardStatu
13
13
  }
14
14
 
15
15
  if (dataURI) {
16
- return mediaItemType === 'external-image' || mimeType && (0, _mediaClient.isMimeTypeSupportedByBrowser)(mimeType) || cardStatus === 'complete';
16
+ return mediaItemType === 'external-image' || mimeType && (0, _mediaClient.isMimeTypeSupportedByBrowser)(mimeType) || cardStatus === 'complete' || cardStatus === 'loading-preview';
17
17
  }
18
18
 
19
19
  return false;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-card",
3
- "version": "70.10.0",
3
+ "version": "72.1.0",
4
4
  "sideEffects": false
5
5
  }