@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,149 +2,91 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
9
 
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
21
11
 
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
23
13
 
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _react = _interopRequireWildcard(require("react"));
25
15
 
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
+ var _mediaCommon = require("@atlaskit/media-common");
27
17
 
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
- var _react = _interopRequireDefault(require("react"));
18
+ var _reactLoadable = _interopRequireDefault(require("react-loadable"));
33
19
 
34
20
  var _ = require("../..");
35
21
 
36
22
  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); }
37
23
 
38
- 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; }
39
-
40
- 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); }; }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(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; }
41
25
 
42
- 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; } }
26
+ var MediaCardContext = /*#__PURE__*/_react.default.createContext({});
43
27
 
44
- var CardLoader = /*#__PURE__*/function (_React$PureComponent) {
45
- (0, _inherits2.default)(CardLoader, _React$PureComponent);
28
+ var CardLoadingWithContext = function CardLoadingWithContext() {
29
+ var props = (0, _react.useContext)(MediaCardContext);
30
+ return /*#__PURE__*/_react.default.createElement(_.CardLoading, props);
31
+ };
46
32
 
47
- var _super = _createSuper(CardLoader);
33
+ var MediaCard = (0, _reactLoadable.default)({
34
+ loader: function loader() {
35
+ return Promise.resolve().then(function () {
36
+ return _interopRequireWildcard(require('./index'));
37
+ }).then(function (mod) {
38
+ return mod.Card;
39
+ });
40
+ },
41
+ loading: function loading() {
42
+ return /*#__PURE__*/_react.default.createElement(CardLoadingWithContext, null);
43
+ }
44
+ });
45
+ var MediaCardErrorBoundary = (0, _reactLoadable.default)({
46
+ loader: function loader() {
47
+ return Promise.resolve().then(function () {
48
+ return _interopRequireWildcard(require('../media-card-analytics-error-boundary'));
49
+ }).then(function (mod) {
50
+ return mod.default;
51
+ });
52
+ },
53
+ loading: function loading() {
54
+ return /*#__PURE__*/_react.default.createElement(CardLoadingWithContext, null);
55
+ }
56
+ });
57
+ var MediaCardWithMediaClient = (0, _reactLoadable.default)({
58
+ loader: function loader() {
59
+ return Promise.resolve().then(function () {
60
+ return _interopRequireWildcard(require('@atlaskit/media-client'));
61
+ });
62
+ },
63
+ loading: function loading() {
64
+ return /*#__PURE__*/_react.default.createElement(CardLoadingWithContext, null);
65
+ },
66
+ render: function render(loaded, props) {
67
+ return /*#__PURE__*/_react.default.createElement(CardWithMediaClient, (0, _extends2.default)({}, props, {
68
+ withMediaClient: loaded.withMediaClient
69
+ }));
70
+ }
71
+ });
48
72
 
49
- function CardLoader() {
50
- var _this;
73
+ var CardWithMediaClient = function CardWithMediaClient(props) {
74
+ var withMediaClient = props.withMediaClient,
75
+ featureFlags = props.featureFlags;
76
+ var memoizedFeatureFlags = (0, _mediaCommon.useMemoizeFeatureFlags)(featureFlags);
51
77
 
52
- (0, _classCallCheck2.default)(this, CardLoader);
78
+ var Card = _react.default.useMemo(function () {
79
+ return withMediaClient(MediaCard, memoizedFeatureFlags);
80
+ }, [withMediaClient, memoizedFeatureFlags]);
53
81
 
54
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55
- args[_key] = arguments[_key];
56
- }
82
+ return /*#__PURE__*/_react.default.createElement(MediaCardErrorBoundary, null, /*#__PURE__*/_react.default.createElement(Card, props));
83
+ };
57
84
 
58
- _this = _super.call.apply(_super, [this].concat(args));
59
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
60
- Card: CardLoader.Card,
61
- MediaCardErrorBoundary: CardLoader.MediaCardErrorBoundary
62
- });
63
- return _this;
64
- }
85
+ var CardLoader = function CardLoader(props) {
86
+ return /*#__PURE__*/_react.default.createElement(MediaCardContext.Provider, {
87
+ value: props
88
+ }, /*#__PURE__*/_react.default.createElement(MediaCardWithMediaClient, props));
89
+ };
65
90
 
66
- (0, _createClass2.default)(CardLoader, [{
67
- key: "componentDidMount",
68
- value: function () {
69
- var _componentDidMount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
70
- var _yield$Promise$all, _yield$Promise$all2, mediaClient, cardModule, mediaCardErrorBoundaryModule;
71
-
72
- return _regenerator.default.wrap(function _callee$(_context) {
73
- while (1) {
74
- switch (_context.prev = _context.next) {
75
- case 0:
76
- if (this.state.Card) {
77
- _context.next = 16;
78
- break;
79
- }
80
-
81
- _context.prev = 1;
82
- _context.next = 4;
83
- return Promise.all([Promise.resolve().then(function () {
84
- return _interopRequireWildcard(require('@atlaskit/media-client'));
85
- }), Promise.resolve().then(function () {
86
- return _interopRequireWildcard(require('./index'));
87
- }), Promise.resolve().then(function () {
88
- return _interopRequireWildcard(require('../media-card-analytics-error-boundary'));
89
- })]);
90
-
91
- case 4:
92
- _yield$Promise$all = _context.sent;
93
- _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 3);
94
- mediaClient = _yield$Promise$all2[0];
95
- cardModule = _yield$Promise$all2[1];
96
- mediaCardErrorBoundaryModule = _yield$Promise$all2[2];
97
- CardLoader.Card = mediaClient.withMediaClient(cardModule.Card, this.props.featureFlags);
98
- CardLoader.MediaCardErrorBoundary = mediaCardErrorBoundaryModule.default;
99
- this.setState({
100
- Card: CardLoader.Card,
101
- MediaCardErrorBoundary: CardLoader.MediaCardErrorBoundary
102
- });
103
- _context.next = 16;
104
- break;
105
-
106
- case 14:
107
- _context.prev = 14;
108
- _context.t0 = _context["catch"](1);
109
-
110
- case 16:
111
- case "end":
112
- return _context.stop();
113
- }
114
- }
115
- }, _callee, this, [[1, 14]]);
116
- }));
117
-
118
- function componentDidMount() {
119
- return _componentDidMount.apply(this, arguments);
120
- }
121
-
122
- return componentDidMount;
123
- }()
124
- }, {
125
- key: "render",
126
- value: function render() {
127
- var _this$props = this.props,
128
- dimensions = _this$props.dimensions,
129
- testId = _this$props.testId,
130
- featureFlags = _this$props.featureFlags;
131
- var _this$state = this.state,
132
- Card = _this$state.Card,
133
- MediaCardErrorBoundary = _this$state.MediaCardErrorBoundary;
134
-
135
- if (!Card || !MediaCardErrorBoundary) {
136
- return /*#__PURE__*/_react.default.createElement(_.CardLoading, {
137
- testId: testId,
138
- dimensions: dimensions,
139
- featureFlags: featureFlags
140
- });
141
- }
142
-
143
- return /*#__PURE__*/_react.default.createElement(MediaCardErrorBoundary, null, /*#__PURE__*/_react.default.createElement(Card, this.props));
144
- }
145
- }]);
146
- return CardLoader;
147
- }(_react.default.PureComponent);
148
-
149
- exports.default = CardLoader;
150
- (0, _defineProperty2.default)(CardLoader, "displayName", 'AsyncCard');
91
+ var _default = CardLoader;
92
+ exports.default = _default;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getCardStateFromFileState = exports.createStateUpdater = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _mediaClient = require("@atlaskit/media-client");
13
+
14
+ var _errors = require("../../errors");
15
+
16
+ var _getCardStatus = require("./getCardStatus");
17
+
18
+ var _getCardPreview = require("./getCardPreview");
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ var createStateUpdater = function createStateUpdater(newState) {
25
+ return function (prevState) {
26
+ // Only override if previous status is non-final
27
+ // or new status is 'complete'
28
+ if ((0, _getCardStatus.isFinalCardStatus)(prevState.status) && newState.status !== 'complete') {
29
+ return prevState;
30
+ }
31
+
32
+ return _objectSpread(_objectSpread({}, prevState), newState);
33
+ };
34
+ };
35
+
36
+ exports.createStateUpdater = createStateUpdater;
37
+
38
+ var getCardStateFromFileState = function getCardStateFromFileState(fileState, isBannedLocalPreview, featureFlags) {
39
+ var status = (0, _getCardStatus.getCardStatus)(fileState.status, (0, _getCardPreview.extractFilePreviewStatus)(fileState, isBannedLocalPreview, featureFlags));
40
+ var error = status === 'error' && (0, _mediaClient.isErrorFileState)(fileState) ? new _errors.MediaCardError('error-file-state', new Error(fileState.message)) : undefined;
41
+ var progress = status === 'uploading' && fileState.status === 'uploading' ? fileState.progress : 1;
42
+ return {
43
+ fileState: fileState,
44
+ status: status,
45
+ progress: progress,
46
+ error: error
47
+ };
48
+ };
49
+
50
+ exports.getCardStateFromFileState = getCardStateFromFileState;
@@ -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.default = exports.CardPreviewCacheImpl = exports.getCacheKey = void 0;
8
+ exports.getCacheKey = exports.default = exports.CardPreviewCacheImpl = void 0;
9
9
 
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
 
@@ -34,6 +34,11 @@ var CardPreviewCacheImpl = function CardPreviewCacheImpl(previewCache) {
34
34
 
35
35
  _this.previewCache.set(cacheKey, cardPreview);
36
36
  });
37
+ (0, _defineProperty2.default)(this, "remove", function (id, dimensions) {
38
+ var cacheKey = getCacheKey(id, dimensions);
39
+
40
+ _this.previewCache.remove(cacheKey);
41
+ });
37
42
  this.previewCache = previewCache;
38
43
  };
39
44
 
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isPreviewableStatus = exports.extractFilePreviewStatus = void 0;
7
+
8
+ var _mediaCommon = require("@atlaskit/media-common");
9
+
10
+ var _mediaClient = require("@atlaskit/media-client");
11
+
12
+ var _helpers = require("./helpers");
13
+
14
+ // TODO: align these checks with helpers from Media Client
15
+ // https://product-fabric.atlassian.net/browse/BMPT-1300
16
+ var extractFilePreviewStatus = function extractFilePreviewStatus(fileState, isBannedLocalPreview, featureFlags) {
17
+ var hasFilesize = 'size' in fileState && !!fileState.size;
18
+
19
+ var _ref = 'mediaType' in fileState && fileState || {},
20
+ mediaType = _ref.mediaType;
21
+
22
+ var _ref2 = 'mimeType' in fileState && fileState || {},
23
+ mimeType = _ref2.mimeType;
24
+
25
+ var isPreviewable = !!mediaType && (0, _mediaClient.isPreviewableType)(mediaType, featureFlags); // Local preview is available only if it's supported by browser and supported by Media Card (isSupportedLocalPreview)
26
+ // For example, SVGs are mime type NOT supported by browser but media type supported by Media Card (image)
27
+ // Then, local Preview NOT available
28
+
29
+ var hasLocalPreview = !isBannedLocalPreview && (0, _mediaClient.isPreviewableFileState)(fileState) && (0, _helpers.isSupportedLocalPreview)(mediaType) && !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
30
+ var hasRemotePreview = (0, _mediaClient.isImageRepresentationReady)(fileState);
31
+ var hasPreview = hasLocalPreview || hasRemotePreview;
32
+ var isSupportedByBrowser = !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
33
+ return {
34
+ hasFilesize: hasFilesize,
35
+ isPreviewable: isPreviewable,
36
+ hasPreview: hasPreview,
37
+ isSupportedByBrowser: isSupportedByBrowser
38
+ };
39
+ };
40
+
41
+ exports.extractFilePreviewStatus = extractFilePreviewStatus;
42
+
43
+ var isPreviewableStatus = function isPreviewableStatus(cardStatus, _ref3) {
44
+ var isPreviewable = _ref3.isPreviewable,
45
+ hasPreview = _ref3.hasPreview,
46
+ isSupportedByBrowser = _ref3.isSupportedByBrowser;
47
+ return hasPreview && isPreviewable && (cardStatus === 'complete' || cardStatus === 'loading-preview' || cardStatus === 'uploading' || // For Video, we can have local or remote preview while processing.
48
+ // Then, we only want to show the thumbnail if the file is supported by the browser,
49
+ // this way we prevent playing unsupported videos that are not procesed
50
+ cardStatus === 'processing' && isSupportedByBrowser);
51
+ };
52
+
53
+ exports.isPreviewableStatus = isPreviewableStatus;
@@ -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.getCardPreviewFromBackend = exports.getCardPreviewFromFilePreview = exports.isSupportedLocalPreview = void 0;
8
+ exports.isSupportedLocalPreview = exports.getCardPreviewFromFilePreview = exports.getCardPreviewFromBackend = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
@@ -176,25 +176,17 @@ var getCardPreviewFromFilePreview = /*#__PURE__*/function () {
176
176
  exports.getCardPreviewFromFilePreview = getCardPreviewFromFilePreview;
177
177
 
178
178
  var getCardPreviewFromBackend = /*#__PURE__*/function () {
179
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(mediaClient, id, _ref4, collectionName, resizeMode) {
180
- var width, height, mode, blob;
179
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(mediaClient, id, params) {
180
+ var blob;
181
181
  return _regenerator.default.wrap(function _callee4$(_context4) {
182
182
  while (1) {
183
183
  switch (_context4.prev = _context4.next) {
184
184
  case 0:
185
- width = _ref4.width, height = _ref4.height;
186
- _context4.prev = 1;
187
- mode = resizeMode === 'stretchy-fit' ? 'full-fit' : resizeMode;
188
- _context4.next = 5;
189
- return mediaClient.getImage(id, {
190
- collection: collectionName,
191
- mode: mode,
192
- width: width,
193
- height: height,
194
- allowAnimated: true
195
- });
185
+ _context4.prev = 0;
186
+ _context4.next = 3;
187
+ return mediaClient.getImage(id, params);
196
188
 
197
- case 5:
189
+ case 3:
198
190
  blob = _context4.sent;
199
191
  return _context4.abrupt("return", {
200
192
  dataURI: URL.createObjectURL(blob),
@@ -202,21 +194,21 @@ var getCardPreviewFromBackend = /*#__PURE__*/function () {
202
194
  source: 'remote'
203
195
  });
204
196
 
205
- case 9:
206
- _context4.prev = 9;
207
- _context4.t0 = _context4["catch"](1);
197
+ case 7:
198
+ _context4.prev = 7;
199
+ _context4.t0 = _context4["catch"](0);
208
200
  throw new _errors.RemotePreviewError('remote-preview-fetch', _context4.t0);
209
201
 
210
- case 12:
202
+ case 10:
211
203
  case "end":
212
204
  return _context4.stop();
213
205
  }
214
206
  }
215
- }, _callee4, null, [[1, 9]]);
207
+ }, _callee4, null, [[0, 7]]);
216
208
  }));
217
209
 
218
- return function getCardPreviewFromBackend(_x4, _x5, _x6, _x7, _x8) {
219
- return _ref5.apply(this, arguments);
210
+ return function getCardPreviewFromBackend(_x4, _x5, _x6) {
211
+ return _ref4.apply(this, arguments);
220
212
  };
221
213
  }();
222
214