@atlaskit/media-card 72.0.0 → 73.1.1

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 (157) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/dist/cjs/actions.js +2 -2
  3. package/dist/cjs/errors.js +35 -11
  4. package/dist/cjs/files/cardImageView/cardOverlay/styled.js +1 -1
  5. package/dist/cjs/files/cardImageView/index.js +1 -1
  6. package/dist/cjs/files/cardImageView/styled.js +1 -1
  7. package/dist/cjs/index.js +8 -8
  8. package/dist/cjs/root/card/cardAnalytics.js +2 -2
  9. package/dist/cjs/root/card/cardLoader.js +66 -124
  10. package/dist/cjs/root/card/cardState.js +2 -2
  11. package/dist/cjs/root/card/getCardPreview/cache.js +5 -5
  12. package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +4 -1
  13. package/dist/cjs/root/card/getCardPreview/helpers.js +1 -1
  14. package/dist/cjs/root/card/getCardPreview/index.js +101 -18
  15. package/dist/cjs/root/card/getCardStatus.js +1 -1
  16. package/dist/cjs/root/card/index.js +191 -97
  17. package/dist/cjs/root/cardView.js +44 -57
  18. package/dist/cjs/root/inline/loader.js +45 -14
  19. package/dist/cjs/root/inline/mediaInlineCard.js +31 -11
  20. package/dist/cjs/root/inlinePlayer.js +77 -24
  21. package/dist/cjs/root/styled.js +7 -3
  22. package/dist/cjs/root/ui/actionsBar/styled.js +1 -1
  23. package/dist/cjs/root/ui/blanket/styled.js +1 -1
  24. package/dist/cjs/root/ui/common.js +11 -5
  25. package/dist/cjs/root/ui/iconMessage/index.js +5 -3
  26. package/dist/cjs/root/ui/iconWrapper/styled.js +1 -1
  27. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +6 -2
  28. package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +6 -4
  29. package/dist/cjs/root/ui/loadingRateLimited/styled.js +2 -2
  30. package/dist/cjs/root/ui/playButton/styled.js +1 -1
  31. package/dist/cjs/root/ui/progressBar/progressBar.js +7 -4
  32. package/dist/cjs/root/ui/progressBar/styled.js +8 -9
  33. package/dist/cjs/root/ui/styled.js +80 -17
  34. package/dist/cjs/root/ui/tickBox/styled.js +1 -1
  35. package/dist/cjs/root/ui/titleBox/failedTitleBox.js +4 -2
  36. package/dist/cjs/root/ui/titleBox/styled.js +2 -4
  37. package/dist/cjs/root/ui/titleBox/titleBox.js +2 -2
  38. package/dist/cjs/styles/index.js +25 -23
  39. package/dist/cjs/styles/mixins.js +1 -1
  40. package/dist/cjs/utils/analytics.js +2 -1
  41. package/dist/cjs/utils/breakpoint.js +1 -1
  42. package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +18 -9
  43. package/dist/cjs/utils/cardActions/index.js +10 -10
  44. package/dist/cjs/utils/cardActions/styled.js +1 -1
  45. package/dist/cjs/utils/cardDimensions.js +1 -1
  46. package/dist/cjs/utils/getErrorMessage.js +2 -2
  47. package/dist/cjs/utils/index.js +46 -46
  48. package/dist/cjs/utils/lightCards/styled.js +1 -1
  49. package/dist/cjs/utils/objectURLCache.js +1 -1
  50. package/dist/cjs/utils/viewportDetector.js +49 -22
  51. package/dist/cjs/version.json +1 -1
  52. package/dist/es2019/errors.js +9 -1
  53. package/dist/es2019/root/card/cardAnalytics.js +1 -1
  54. package/dist/es2019/root/card/cardLoader.js +47 -53
  55. package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +4 -1
  56. package/dist/es2019/root/card/getCardPreview/index.js +45 -3
  57. package/dist/es2019/root/card/index.js +131 -35
  58. package/dist/es2019/root/cardView.js +26 -40
  59. package/dist/es2019/root/inline/loader.js +15 -4
  60. package/dist/es2019/root/inline/mediaInlineCard.js +30 -10
  61. package/dist/es2019/root/inlinePlayer.js +56 -4
  62. package/dist/es2019/root/styled.js +2 -1
  63. package/dist/es2019/root/ui/common.js +7 -1
  64. package/dist/es2019/root/ui/iconMessage/index.js +3 -2
  65. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +6 -2
  66. package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
  67. package/dist/es2019/root/ui/loadingRateLimited/styled.js +1 -1
  68. package/dist/es2019/root/ui/progressBar/progressBar.js +5 -3
  69. package/dist/es2019/root/ui/progressBar/styled.js +7 -6
  70. package/dist/es2019/root/ui/styled.js +65 -4
  71. package/dist/es2019/root/ui/titleBox/failedTitleBox.js +3 -2
  72. package/dist/es2019/root/ui/titleBox/styled.js +1 -2
  73. package/dist/es2019/root/ui/titleBox/titleBox.js +1 -1
  74. package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
  75. package/dist/es2019/utils/getErrorMessage.js +1 -1
  76. package/dist/es2019/utils/viewportDetector.js +48 -18
  77. package/dist/es2019/version.json +1 -1
  78. package/dist/esm/actions.js +2 -2
  79. package/dist/esm/errors.js +28 -9
  80. package/dist/esm/root/card/cardAnalytics.js +1 -1
  81. package/dist/esm/root/card/cardLoader.js +66 -126
  82. package/dist/esm/root/card/cardState.js +2 -2
  83. package/dist/esm/root/card/getCardPreview/cache.js +3 -2
  84. package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +4 -1
  85. package/dist/esm/root/card/getCardPreview/index.js +74 -12
  86. package/dist/esm/root/card/index.js +198 -100
  87. package/dist/esm/root/cardView.js +42 -54
  88. package/dist/esm/root/inline/loader.js +46 -14
  89. package/dist/esm/root/inline/mediaInlineCard.js +30 -10
  90. package/dist/esm/root/inlinePlayer.js +74 -23
  91. package/dist/esm/root/styled.js +3 -2
  92. package/dist/esm/root/ui/common.js +7 -1
  93. package/dist/esm/root/ui/iconMessage/index.js +3 -2
  94. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +6 -2
  95. package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +4 -3
  96. package/dist/esm/root/ui/loadingRateLimited/styled.js +1 -1
  97. package/dist/esm/root/ui/progressBar/progressBar.js +6 -3
  98. package/dist/esm/root/ui/progressBar/styled.js +7 -7
  99. package/dist/esm/root/ui/styled.js +61 -13
  100. package/dist/esm/root/ui/titleBox/failedTitleBox.js +3 -2
  101. package/dist/esm/root/ui/titleBox/styled.js +1 -2
  102. package/dist/esm/root/ui/titleBox/titleBox.js +1 -1
  103. package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +17 -9
  104. package/dist/esm/utils/getErrorMessage.js +1 -1
  105. package/dist/esm/utils/viewportDetector.js +48 -21
  106. package/dist/esm/version.json +1 -1
  107. package/dist/types/errors.d.ts +9 -3
  108. package/dist/types/index.d.ts +3 -1
  109. package/dist/types/root/card/cardLoader.d.ts +5 -19
  110. package/dist/types/root/card/getCardPreview/index.d.ts +7 -1
  111. package/dist/types/root/card/index.d.ts +9 -8
  112. package/dist/types/root/cardView.d.ts +5 -3
  113. package/dist/types/root/inline/loader.d.ts +2 -0
  114. package/dist/types/root/inline/mediaInlineCard.d.ts +3 -5
  115. package/dist/types/root/inlinePlayer.d.ts +8 -1
  116. package/dist/types/root/styled.d.ts +1 -0
  117. package/dist/types/root/ui/common.d.ts +4 -1
  118. package/dist/types/root/ui/iconMessage/index.d.ts +2 -2
  119. package/dist/types/root/ui/iconWrapper/styled.d.ts +1 -1
  120. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +3 -2
  121. package/dist/types/root/ui/loadingRateLimited/loadingRateLimited.d.ts +2 -1
  122. package/dist/types/root/ui/loadingRateLimited/styled.d.ts +1 -1
  123. package/dist/types/root/ui/playButton/playButton.d.ts +1 -0
  124. package/dist/types/root/ui/progressBar/progressBar.d.ts +4 -2
  125. package/dist/types/root/ui/progressBar/styled.d.ts +3 -2
  126. package/dist/types/root/ui/styled.d.ts +10 -3
  127. package/dist/types/root/ui/tickBox/tickBox.d.ts +1 -0
  128. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +3 -3
  129. package/dist/types/root/ui/titleBox/styled.d.ts +1 -1
  130. package/dist/types/root/ui/titleBox/titleBox.d.ts +2 -10
  131. package/dist/types/types.d.ts +1 -1
  132. package/dist/types/utils/getErrorMessage.d.ts +1 -0
  133. package/dist/types/utils/viewportDetector.d.ts +13 -5
  134. package/example-helpers/developmentUseMessage.tsx +14 -0
  135. package/example-helpers/index.tsx +34 -4
  136. package/example-helpers/selectableCard.tsx +2 -1
  137. package/package.json +16 -15
  138. package/dist/cjs/root/card/cardSSRView.js +0 -114
  139. package/dist/cjs/root/ui/Breakpoint.js +0 -13
  140. package/dist/cjs/root/ui/styledSSR.js +0 -108
  141. package/dist/cjs/utils/lazyContent/index.js +0 -56
  142. package/dist/cjs/utils/lazyContent/styled.js +0 -23
  143. package/dist/es2019/root/card/cardSSRView.js +0 -93
  144. package/dist/es2019/root/ui/Breakpoint.js +0 -6
  145. package/dist/es2019/root/ui/styledSSR.js +0 -93
  146. package/dist/es2019/utils/lazyContent/index.js +0 -18
  147. package/dist/es2019/utils/lazyContent/styled.js +0 -12
  148. package/dist/esm/root/card/cardSSRView.js +0 -92
  149. package/dist/esm/root/ui/Breakpoint.js +0 -6
  150. package/dist/esm/root/ui/styledSSR.js +0 -76
  151. package/dist/esm/utils/lazyContent/index.js +0 -41
  152. package/dist/esm/utils/lazyContent/styled.js +0 -14
  153. package/dist/types/root/card/cardSSRView.d.ts +0 -13
  154. package/dist/types/root/ui/Breakpoint.d.ts +0 -4
  155. package/dist/types/root/ui/styledSSR.d.ts +0 -16
  156. package/dist/types/utils/lazyContent/index.d.ts +0 -11
  157. package/dist/types/utils/lazyContent/styled.d.ts +0 -5
@@ -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.CardView = exports.CardViewBase = void 0;
8
+ exports.CardViewBase = exports.CardView = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -51,8 +51,6 @@ var _mediaUi = require("@atlaskit/media-ui");
51
51
 
52
52
  var _styled2 = require("./ui/styled");
53
53
 
54
- var _styledSSR = require("./ui/styledSSR");
55
-
56
54
  var _imageRenderer = require("./ui/imageRenderer/imageRenderer");
57
55
 
58
56
  var _titleBox = require("./ui/titleBox/titleBox");
@@ -85,9 +83,9 @@ var _cardConstants = require("./card/cardConstants");
85
83
 
86
84
  var _errors = require("../errors");
87
85
 
88
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
86
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
89
87
 
90
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
88
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
91
89
 
92
90
  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); }; }
93
91
 
@@ -178,11 +176,9 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
178
176
  var shouldUsePointerCursor = status !== 'error' && status !== 'failed-processing';
179
177
  var shouldDisplayBackground = !dataURI || !disableOverlay || status === 'error' || status === 'failed-processing';
180
178
  var isPlayButtonClickable = !!(_this.shouldRenderPlayButton() && disableOverlay);
181
- var isTickBoxSelectable = !disableOverlay && !!selectable && !selected; // Make tooltip optional for media singles - images, videos.
182
- // Intention is to show full file name when it's truncate in titlebox,
183
- // and to hide it when no titlebox exists.
179
+ var isTickBoxSelectable = !disableOverlay && !!selectable && !selected; // Disable tooltip for Media Single
184
180
 
185
- var shouldDisplayTooltip = !!name && !disableOverlay;
181
+ var shouldDisplayTooltip = !disableOverlay;
186
182
  return /*#__PURE__*/_react.default.createElement(_styled2.NewFileExperienceWrapper, {
187
183
  className: _cardConstants.newFileExperienceClassName,
188
184
  "data-testid": testId || 'media-card-view',
@@ -308,40 +304,29 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
308
304
  });
309
305
 
310
306
  var iconMessage;
307
+ var customTitleMessage;
311
308
 
312
- if (!!metadata) {
313
- if (error) {
314
- var secondaryError = error.secondaryError;
315
-
316
- if ((0, _mediaClient.isRateLimitedError)(secondaryError) || secondaryError && (0, _mediaClient.isPollingError)(secondaryError)) {
317
- iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.PreviewCurrentlyUnavailable, null);
318
- }
319
- } else if (!isZeroSize) {
320
- iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.PreviewUnavailable, null);
321
- }
322
- } else if (!!disableOverlay) {
323
- iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.FailedToLoad, null);
324
- }
325
-
326
- if (error && (0, _errors.isUploadError)(error)) {
327
- if (!disableOverlay) {
328
- return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
329
- renderFailedTitleBox: true,
330
- customTitleMessage: _mediaUi.messages.failed_to_upload
331
- });
332
- }
309
+ var _ref4 = error || {},
310
+ secondaryError = _ref4.secondaryError;
333
311
 
334
- return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
335
- renderTitleBox: !metadata && !!name,
336
- iconMessage: /*#__PURE__*/_react.default.createElement(_iconMessage.FailedToUpload, null)
337
- });
312
+ if ((0, _mediaClient.isRateLimitedError)(secondaryError) || (0, _mediaClient.isPollingError)(secondaryError)) {
313
+ iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.PreviewCurrentlyUnavailable, null);
314
+ } else if ((0, _errors.isUploadError)(error)) {
315
+ iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.FailedToUpload, null);
316
+ customTitleMessage = _mediaUi.messages.failed_to_upload;
317
+ } else if (!metadata) {
318
+ iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.FailedToLoad, null);
319
+ } else {
320
+ iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.PreviewUnavailable, null);
338
321
  }
339
322
 
340
323
  if (!disableOverlay) {
324
+ var renderFailedTitleBox = !name || !!customTitleMessage;
341
325
  return _objectSpread(_objectSpread({}, baseErrorConfig), {}, {
342
- renderTitleBox: !!name,
343
- renderFailedTitleBox: !metadata,
344
- iconMessage: iconMessage
326
+ renderTitleBox: !!name && !customTitleMessage,
327
+ renderFailedTitleBox: renderFailedTitleBox,
328
+ iconMessage: !renderFailedTitleBox ? iconMessage : undefined,
329
+ customTitleMessage: customTitleMessage
345
330
  });
346
331
  }
347
332
 
@@ -379,11 +364,11 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
379
364
  status = _this$props4.status,
380
365
  metadata = _this$props4.metadata;
381
366
 
382
- var _ref4 = metadata || {},
383
- name = _ref4.name;
367
+ var _ref5 = metadata || {},
368
+ name = _ref5.name;
384
369
 
385
370
  var hasTitleBox = !!renderTitleBox || !!renderFailedTitleBox;
386
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styledSSR.CardImageContainer, {
371
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled2.CardImageContainer, {
387
372
  className: "media-file-card-view",
388
373
  "data-testid": "media-file-card-view",
389
374
  "data-test-media-name": name,
@@ -404,8 +389,8 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
404
389
  }
405
390
  }, {
406
391
  key: "componentDidUpdate",
407
- value: function componentDidUpdate(_ref5) {
408
- var prevDataURI = _ref5.dataURI;
392
+ value: function componentDidUpdate(_ref6) {
393
+ var prevDataURI = _ref6.dataURI;
409
394
  var dataURI = this.props.dataURI; // We should only switch didImageRender to false
410
395
  // when dataURI goes undefined, not when it is updated.
411
396
  // as this method could be triggered after onImageLoad callback,
@@ -426,10 +411,10 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
426
411
  return elementWidth;
427
412
  }
428
413
 
429
- var _ref6 = this.props.dimensions || {
414
+ var _ref7 = this.props.dimensions || {
430
415
  width: undefined
431
416
  },
432
- width = _ref6.width;
417
+ width = _ref7.width;
433
418
 
434
419
  if (!width) {
435
420
  return _cardDimensions.defaultImageCardDimensions.width;
@@ -441,7 +426,7 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
441
426
  key: "breakpoint",
442
427
  get: function get() {
443
428
  var width = this.state.elementWidth || (this.props.dimensions ? this.props.dimensions.width : '') || _cardDimensions.defaultImageCardDimensions.width;
444
- return (0, _styledSSR.calcBreakpointSize)(parseInt("".concat(width), 10));
429
+ return (0, _styled2.calcBreakpointSize)(parseInt("".concat(width), 10));
445
430
  } // If the dimensions.width is a percentage, we need to transform it
446
431
  // into a pixel value in order to get the right breakpoints applied.
447
432
 
@@ -486,8 +471,8 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
486
471
  metadata = _this$props6.metadata,
487
472
  dataURI = _this$props6.dataURI;
488
473
 
489
- var _ref7 = metadata || {},
490
- mediaType = _ref7.mediaType;
474
+ var _ref8 = metadata || {},
475
+ mediaType = _ref8.mediaType;
491
476
 
492
477
  if (mediaType !== 'video' || !dataURI) {
493
478
  return false;
@@ -520,9 +505,9 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
520
505
  titleBoxBgColor = _this$props7.titleBoxBgColor,
521
506
  titleBoxIcon = _this$props7.titleBoxIcon;
522
507
 
523
- var _ref8 = metadata || {},
524
- name = _ref8.name,
525
- createdAt = _ref8.createdAt;
508
+ var _ref9 = metadata || {},
509
+ name = _ref9.name,
510
+ createdAt = _ref9.createdAt;
526
511
 
527
512
  return !!name && /*#__PURE__*/_react.default.createElement(_titleBox.TitleBox, {
528
513
  name: name,
@@ -563,17 +548,19 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
563
548
  alt = _this$props8.alt,
564
549
  resizeMode = _this$props8.resizeMode,
565
550
  onDisplayImage = _this$props8.onDisplayImage,
566
- mediaItemType = _this$props8.mediaItemType;
551
+ nativeLazyLoad = _this$props8.nativeLazyLoad,
552
+ forceSyncDisplay = _this$props8.forceSyncDisplay;
567
553
  return !!dataURI && /*#__PURE__*/_react.default.createElement(_imageRenderer.ImageRenderer, {
568
554
  dataURI: dataURI,
569
555
  mediaType: mediaType,
570
- mediaItemType: mediaItemType,
571
556
  previewOrientation: previewOrientation,
572
557
  alt: alt,
573
558
  resizeMode: resizeMode,
574
559
  onDisplayImage: onDisplayImage,
575
560
  onImageLoad: this.onImageLoad,
576
- onImageError: this.onImageError
561
+ onImageError: this.onImageError,
562
+ nativeLazyLoad: nativeLazyLoad,
563
+ forceSyncDisplay: forceSyncDisplay
577
564
  });
578
565
  }
579
566
  }, {
@@ -589,10 +576,10 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
589
576
  value: function renderMediaTypeIcon(hasTitleBox, iconMessage) {
590
577
  var metadata = this.props.metadata;
591
578
 
592
- var _ref9 = metadata || {},
593
- mediaType = _ref9.mediaType,
594
- mimeType = _ref9.mimeType,
595
- name = _ref9.name;
579
+ var _ref10 = metadata || {},
580
+ mediaType = _ref10.mediaType,
581
+ mimeType = _ref10.mimeType,
582
+ name = _ref10.name;
596
583
 
597
584
  return /*#__PURE__*/_react.default.createElement(_styled4.IconWrapper, {
598
585
  breakpoint: this.breakpoint,
@@ -56,6 +56,7 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
56
56
  }
57
57
 
58
58
  _this = _super.call.apply(_super, [this].concat(args));
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMounted", false);
59
60
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
60
61
  MediaInlineCard: MediaInlineCardLoader.MediaInlineCard,
61
62
  ErrorBoundary: MediaInlineCardLoader.ErrorBoundary
@@ -73,13 +74,15 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
73
74
  while (1) {
74
75
  switch (_context.prev = _context.next) {
75
76
  case 0:
77
+ this.isMounted = true;
78
+
76
79
  if (this.state.MediaInlineCard) {
77
- _context.next = 16;
80
+ _context.next = 17;
78
81
  break;
79
82
  }
80
83
 
81
- _context.prev = 1;
82
- _context.next = 4;
84
+ _context.prev = 2;
85
+ _context.next = 5;
83
86
  return Promise.all([Promise.resolve().then(function () {
84
87
  return _interopRequireWildcard(require('@atlaskit/media-client'));
85
88
  }), Promise.resolve().then(function () {
@@ -88,7 +91,7 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
88
91
  return _interopRequireWildcard(require('../media-card-analytics-error-boundary'));
89
92
  })]);
90
93
 
91
- case 4:
94
+ case 5:
92
95
  _yield$Promise$all = _context.sent;
93
96
  _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 3);
94
97
  mediaClient = _yield$Promise$all2[0];
@@ -96,23 +99,27 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
96
99
  mediaCardErrorBoundaryModule = _yield$Promise$all2[2];
97
100
  MediaInlineCardLoader.MediaInlineCard = mediaClient.withMediaClient(cardModule.MediaInlineCard);
98
101
  MediaInlineCardLoader.ErrorBoundary = mediaCardErrorBoundaryModule.default;
99
- this.setState({
100
- MediaInlineCard: MediaInlineCardLoader.MediaInlineCard,
101
- ErrorBoundary: MediaInlineCardLoader.ErrorBoundary
102
- });
103
- _context.next = 16;
102
+
103
+ if (this.isMounted) {
104
+ this.setState({
105
+ MediaInlineCard: MediaInlineCardLoader.MediaInlineCard,
106
+ ErrorBoundary: MediaInlineCardLoader.ErrorBoundary
107
+ });
108
+ }
109
+
110
+ _context.next = 17;
104
111
  break;
105
112
 
106
- case 14:
107
- _context.prev = 14;
108
- _context.t0 = _context["catch"](1);
113
+ case 15:
114
+ _context.prev = 15;
115
+ _context.t0 = _context["catch"](2);
109
116
 
110
- case 16:
117
+ case 17:
111
118
  case "end":
112
119
  return _context.stop();
113
120
  }
114
121
  }
115
- }, _callee, this, [[1, 14]]);
122
+ }, _callee, this, [[2, 15]]);
116
123
  }));
117
124
 
118
125
  function componentDidMount() {
@@ -121,6 +128,30 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
121
128
 
122
129
  return componentDidMount;
123
130
  }()
131
+ }, {
132
+ key: "componentWillUnmount",
133
+ value: function () {
134
+ var _componentWillUnmount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
135
+ return _regenerator.default.wrap(function _callee2$(_context2) {
136
+ while (1) {
137
+ switch (_context2.prev = _context2.next) {
138
+ case 0:
139
+ this.isMounted = false;
140
+
141
+ case 1:
142
+ case "end":
143
+ return _context2.stop();
144
+ }
145
+ }
146
+ }, _callee2, this);
147
+ }));
148
+
149
+ function componentWillUnmount() {
150
+ return _componentWillUnmount.apply(this, arguments);
151
+ }
152
+
153
+ return componentWillUnmount;
154
+ }()
124
155
  }, {
125
156
  key: "render",
126
157
  value: function render() {
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.MediaInlineCard = exports.MediaInlineCardInternal = void 0;
10
+ exports.MediaInlineCardInternal = exports.MediaInlineCard = void 0;
11
11
 
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
 
@@ -15,7 +15,7 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _reactDom = _interopRequireDefault(require("react-dom"));
17
17
 
18
- var _reactIntl = require("react-intl");
18
+ var _reactIntlNext = require("react-intl-next");
19
19
 
20
20
  var _mediaUi = require("@atlaskit/media-ui");
21
21
 
@@ -87,46 +87,64 @@ var MediaInlineCardInternal = function MediaInlineCardInternal(_ref) {
87
87
  return null;
88
88
  };
89
89
 
90
+ var renderContent = function renderContent(children) {
91
+ return intl ? children : /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
92
+ locale: "en"
93
+ }, children);
94
+ };
95
+
96
+ var defaultIntl = (0, _reactIntlNext.createIntl)({
97
+ locale: 'en'
98
+ });
90
99
  (0, _react.useEffect)(function () {
91
- mediaClient.file.getFileState(identifier.id, {
100
+ var subscription = mediaClient.file.getFileState(identifier.id, {
92
101
  collectionName: identifier.collectionName
93
102
  }).subscribe({
94
103
  next: function next(fileState) {
95
104
  setFileState(fileState);
105
+ setIsErrored(false);
96
106
  },
97
107
  error: function error() {
98
108
  setIsErrored(true);
99
109
  }
100
110
  });
111
+ return function () {
112
+ subscription.unsubscribe();
113
+ };
101
114
  }, [identifier.collectionName, identifier.id, mediaClient.file]);
102
115
 
103
116
  if (!fileState) {
104
117
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardLoadingView, {
105
- message: intl.formatMessage(_mediaUi.messages.loading_file)
118
+ message: (intl || defaultIntl).formatMessage(_mediaUi.messages.loading_file),
119
+ isSelected: isSelected
106
120
  });
107
121
  }
108
122
 
109
123
  if (isErrored) {
110
124
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardErroredView, {
111
- message: intl.formatMessage(_mediaUi.messages.couldnt_load_file)
125
+ message: (intl || defaultIntl).formatMessage(_mediaUi.messages.couldnt_load_file),
126
+ isSelected: isSelected
112
127
  });
113
128
  }
114
129
 
115
130
  if (fileState.status === 'error') {
116
131
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardErroredView, {
117
- message: fileState.message || ''
132
+ message: fileState.message || '',
133
+ isSelected: isSelected
118
134
  });
119
135
  }
120
136
 
121
137
  if (fileState.status === 'failed-processing') {
122
138
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardErroredView, {
123
- message: intl.formatMessage(_mediaUi.messages.couldnt_load_file)
139
+ message: (intl || defaultIntl).formatMessage(_mediaUi.messages.couldnt_load_file),
140
+ isSelected: isSelected
124
141
  });
125
142
  }
126
143
 
127
144
  if (fileState.status === 'uploading') {
128
145
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaInlineCardLoadingView, {
129
- message: fileState.name
146
+ message: fileState.name,
147
+ isSelected: isSelected
130
148
  });
131
149
  }
132
150
 
@@ -152,7 +170,7 @@ var MediaInlineCardInternal = function MediaInlineCardInternal(_ref) {
152
170
  formattedDate = (0, _formatDate.formatDate)(fileState.createdAt, locale);
153
171
  }
154
172
 
155
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
173
+ return renderContent( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
156
174
  position: "bottom",
157
175
  content: formattedDate,
158
176
  tag: "span"
@@ -161,9 +179,11 @@ var MediaInlineCardInternal = function MediaInlineCardInternal(_ref) {
161
179
  title: name,
162
180
  onClick: onMediaInlineCardClick,
163
181
  isSelected: isSelected
164
- })), mediaViewer);
182
+ })), mediaViewer));
165
183
  };
166
184
 
167
185
  exports.MediaInlineCardInternal = MediaInlineCardInternal;
168
- var MediaInlineCard = (0, _reactIntl.injectIntl)(MediaInlineCardInternal);
186
+ var MediaInlineCard = (0, _reactIntlNext.injectIntl)(MediaInlineCardInternal, {
187
+ enforceContext: false
188
+ });
169
189
  exports.MediaInlineCard = MediaInlineCard;
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.InlinePlayer = exports.InlinePlayerBase = exports.getPreferredVideoArtifact = exports.inlinePlayerClassName = void 0;
10
+ exports.inlinePlayerClassName = exports.getPreferredVideoArtifact = exports.InlinePlayerBase = exports.InlinePlayer = void 0;
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
@@ -41,6 +41,14 @@ var _ = require("..");
41
41
 
42
42
  var _cardLoading = require("../utils/lightCards/cardLoading");
43
43
 
44
+ var _progressBar = require("./ui/progressBar/progressBar");
45
+
46
+ var _styled2 = require("./ui/styled");
47
+
48
+ var _isValidPercentageUnit = require("../utils/isValidPercentageUnit");
49
+
50
+ var _getElementDimension = require("../utils/getElementDimension");
51
+
44
52
  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); }
45
53
 
46
54
  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; }
@@ -84,6 +92,7 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
84
92
 
85
93
  _this = _super.call.apply(_super, [this].concat(args));
86
94
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {});
95
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "divRef", /*#__PURE__*/_react.default.createRef());
87
96
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setFileSrc", function (fileSrc) {
88
97
  _this.setState({
89
98
  fileSrc: fileSrc
@@ -153,6 +162,23 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
153
162
  viewingLevel: 'full'
154
163
  });
155
164
  });
165
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "saveElementWidth", function () {
166
+ var dimensions = _this.props.dimensions;
167
+
168
+ if (!dimensions) {
169
+ return;
170
+ }
171
+
172
+ var width = dimensions.width;
173
+
174
+ if (width && (0, _isValidPercentageUnit.isValidPercentageUnit)(width) && !!_this.divRef.current) {
175
+ var elementWidth = (0, _getElementDimension.getElementDimension)(_this.divRef.current, 'width');
176
+
177
+ _this.setState({
178
+ elementWidth: elementWidth
179
+ });
180
+ }
181
+ });
156
182
  return _this;
157
183
  }
158
184
 
@@ -161,6 +187,7 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
161
187
  value: function componentDidMount() {
162
188
  var _this2 = this;
163
189
 
190
+ this.saveElementWidth();
164
191
  var _this$props3 = this.props,
165
192
  mediaClient = _this$props3.mediaClient,
166
193
  identifier = _this$props3.identifier;
@@ -179,30 +206,41 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
179
206
  while (1) {
180
207
  switch (_context2.prev = _context2.next) {
181
208
  case 0:
209
+ if (fileState.status === 'uploading') {
210
+ _this2.setState({
211
+ isUploading: true,
212
+ progress: fileState.progress
213
+ });
214
+ } else {
215
+ _this2.setState({
216
+ isUploading: false
217
+ });
218
+ }
219
+
182
220
  existingFileSrc = _this2.state.fileSrc; // we want to reuse the existing fileSrc to prevent re renders
183
221
 
184
222
  if (!existingFileSrc) {
185
- _context2.next = 3;
223
+ _context2.next = 4;
186
224
  break;
187
225
  }
188
226
 
189
227
  return _context2.abrupt("return");
190
228
 
191
- case 3:
229
+ case 4:
192
230
  if (!(fileState.status !== 'error' && fileState.preview)) {
193
- _context2.next = 12;
231
+ _context2.next = 13;
194
232
  break;
195
233
  }
196
234
 
197
- _context2.next = 6;
235
+ _context2.next = 7;
198
236
  return fileState.preview;
199
237
 
200
- case 6:
238
+ case 7:
201
239
  _yield$fileState$prev = _context2.sent;
202
240
  value = _yield$fileState$prev.value;
203
241
 
204
242
  if (!(value instanceof Blob && value.type.indexOf('video/') === 0)) {
205
- _context2.next = 12;
243
+ _context2.next = 13;
206
244
  break;
207
245
  }
208
246
 
@@ -212,9 +250,9 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
212
250
 
213
251
  return _context2.abrupt("return");
214
252
 
215
- case 12:
253
+ case 13:
216
254
  if (!(fileState.status === 'processed' || fileState.status === 'processing')) {
217
- _context2.next = 29;
255
+ _context2.next = 30;
218
256
  break;
219
257
  }
220
258
 
@@ -222,7 +260,7 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
222
260
  artifacts = fileState.artifacts;
223
261
 
224
262
  if (!(!artifactName || !artifacts)) {
225
- _context2.next = 18;
263
+ _context2.next = 19;
226
264
  break;
227
265
  }
228
266
 
@@ -230,34 +268,34 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
230
268
 
231
269
  return _context2.abrupt("return");
232
270
 
233
- case 18:
234
- _context2.prev = 18;
235
- _context2.next = 21;
271
+ case 19:
272
+ _context2.prev = 19;
273
+ _context2.next = 22;
236
274
  return mediaClient.file.getArtifactURL(artifacts, artifactName, collectionName);
237
275
 
238
- case 21:
276
+ case 22:
239
277
  _fileSrc = _context2.sent;
240
278
 
241
279
  _this2.setFileSrc(_fileSrc);
242
280
 
243
- _context2.next = 29;
281
+ _context2.next = 30;
244
282
  break;
245
283
 
246
- case 25:
247
- _context2.prev = 25;
248
- _context2.t0 = _context2["catch"](18);
284
+ case 26:
285
+ _context2.prev = 26;
286
+ _context2.t0 = _context2["catch"](19);
249
287
  onError = _this2.props.onError;
250
288
 
251
289
  if (onError) {
252
290
  onError(_context2.t0);
253
291
  }
254
292
 
255
- case 29:
293
+ case 30:
256
294
  case "end":
257
295
  return _context2.stop();
258
296
  }
259
297
  }
260
- }, _callee2, null, [[18, 25]]);
298
+ }, _callee2, null, [[19, 26]]);
261
299
  }));
262
300
 
263
301
  function next(_x) {
@@ -274,6 +312,12 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
274
312
  this.unsubscribe();
275
313
  this.revoke();
276
314
  }
315
+ }, {
316
+ key: "breakpoint",
317
+ get: function get() {
318
+ var width = this.state.elementWidth || (this.props.dimensions ? this.props.dimensions.width : '') || _.defaultImageCardDimensions.width;
319
+ return (0, _styled2.calcBreakpointSize)(parseInt("".concat(width), 10));
320
+ }
277
321
  }, {
278
322
  key: "render",
279
323
  value: function render() {
@@ -286,8 +330,12 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
286
330
  selected = _this$props4.selected,
287
331
  testId = _this$props4.testId,
288
332
  identifier = _this$props4.identifier,
289
- forwardRef = _this$props4.forwardRef;
290
- var fileSrc = this.state.fileSrc;
333
+ forwardRef = _this$props4.forwardRef,
334
+ autoplay = _this$props4.autoplay;
335
+ var _this$state = this.state,
336
+ fileSrc = _this$state.fileSrc,
337
+ isUploading = _this$state.isUploading,
338
+ progress = _this$state.progress;
291
339
 
292
340
  if (!fileSrc) {
293
341
  return /*#__PURE__*/_react.default.createElement(_cardLoading.CardLoading, {
@@ -308,7 +356,7 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
308
356
  type: "video",
309
357
  src: fileSrc,
310
358
  fileId: identifier.id,
311
- isAutoPlay: true,
359
+ isAutoPlay: autoplay,
312
360
  isHDAvailable: false,
313
361
  onDownloadClick: _this3.onDownloadClick,
314
362
  onFirstPlay: _this3.onFirstPlay,
@@ -318,7 +366,12 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
318
366
  originalDimensions: originalDimensions,
319
367
  showControls: checkMouseMovement
320
368
  });
321
- }));
369
+ }), isUploading ? /*#__PURE__*/_react.default.createElement(_progressBar.ProgressBar, {
370
+ progress: progress,
371
+ breakpoint: this.breakpoint,
372
+ positionBottom: true,
373
+ showOnTop: true
374
+ }) : null);
322
375
  }
323
376
  }]);
324
377
  return InlinePlayerBase;