@atlaskit/media-card 72.0.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 (80) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/errors.js +26 -6
  3. package/dist/cjs/root/card/cardLoader.js +66 -124
  4. package/dist/cjs/root/card/getCardPreview/index.js +90 -10
  5. package/dist/cjs/root/card/index.js +154 -84
  6. package/dist/cjs/root/cardView.js +41 -54
  7. package/dist/cjs/root/inline/mediaInlineCard.js +10 -5
  8. package/dist/cjs/root/ui/common.js +11 -5
  9. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +6 -2
  10. package/dist/cjs/root/ui/loadingRateLimited/loadingRateLimited.js +2 -2
  11. package/dist/cjs/root/ui/progressBar/progressBar.js +2 -2
  12. package/dist/cjs/root/ui/progressBar/styled.js +1 -3
  13. package/dist/cjs/root/ui/styled.js +80 -17
  14. package/dist/cjs/root/ui/titleBox/styled.js +1 -3
  15. package/dist/cjs/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  16. package/dist/cjs/version.json +1 -1
  17. package/dist/es2019/errors.js +9 -1
  18. package/dist/es2019/root/card/cardLoader.js +47 -53
  19. package/dist/es2019/root/card/getCardPreview/index.js +45 -3
  20. package/dist/es2019/root/card/index.js +87 -20
  21. package/dist/es2019/root/cardView.js +26 -40
  22. package/dist/es2019/root/inline/mediaInlineCard.js +10 -5
  23. package/dist/es2019/root/ui/common.js +7 -1
  24. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +6 -2
  25. package/dist/es2019/root/ui/loadingRateLimited/loadingRateLimited.js +1 -1
  26. package/dist/es2019/root/ui/progressBar/progressBar.js +1 -1
  27. package/dist/es2019/root/ui/progressBar/styled.js +1 -2
  28. package/dist/es2019/root/ui/styled.js +64 -3
  29. package/dist/es2019/root/ui/titleBox/styled.js +1 -2
  30. package/dist/es2019/utils/cardActions/cardActionsDropdownMenu.js +8 -4
  31. package/dist/es2019/version.json +1 -1
  32. package/dist/esm/errors.js +23 -5
  33. package/dist/esm/root/card/cardLoader.js +66 -126
  34. package/dist/esm/root/card/getCardPreview/index.js +72 -10
  35. package/dist/esm/root/card/index.js +156 -85
  36. package/dist/esm/root/cardView.js +40 -52
  37. package/dist/esm/root/inline/mediaInlineCard.js +10 -5
  38. package/dist/esm/root/ui/common.js +7 -1
  39. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +6 -2
  40. package/dist/esm/root/ui/loadingRateLimited/loadingRateLimited.js +1 -1
  41. package/dist/esm/root/ui/progressBar/progressBar.js +1 -1
  42. package/dist/esm/root/ui/progressBar/styled.js +1 -2
  43. package/dist/esm/root/ui/styled.js +61 -13
  44. package/dist/esm/root/ui/titleBox/styled.js +1 -2
  45. package/dist/esm/utils/cardActions/cardActionsDropdownMenu.js +16 -9
  46. package/dist/esm/version.json +1 -1
  47. package/dist/types/errors.d.ts +9 -3
  48. package/dist/types/index.d.ts +2 -1
  49. package/dist/types/root/card/cardLoader.d.ts +4 -18
  50. package/dist/types/root/card/getCardPreview/index.d.ts +7 -1
  51. package/dist/types/root/card/index.d.ts +2 -0
  52. package/dist/types/root/cardView.d.ts +3 -1
  53. package/dist/types/root/ui/common.d.ts +4 -1
  54. package/dist/types/root/ui/iconWrapper/styled.d.ts +1 -1
  55. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +3 -2
  56. package/dist/types/root/ui/loadingRateLimited/loadingRateLimited.d.ts +1 -1
  57. package/dist/types/root/ui/loadingRateLimited/styled.d.ts +1 -1
  58. package/dist/types/root/ui/progressBar/progressBar.d.ts +1 -1
  59. package/dist/types/root/ui/progressBar/styled.d.ts +1 -1
  60. package/dist/types/root/ui/styled.d.ts +10 -3
  61. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +1 -1
  62. package/dist/types/root/ui/titleBox/styled.d.ts +1 -1
  63. package/dist/types/root/ui/titleBox/titleBox.d.ts +1 -1
  64. package/dist/types/types.d.ts +1 -1
  65. package/example-helpers/developmentUseMessage.tsx +14 -0
  66. package/example-helpers/index.tsx +34 -4
  67. package/example-helpers/selectableCard.tsx +2 -1
  68. package/package.json +8 -5
  69. package/dist/cjs/root/card/cardSSRView.js +0 -114
  70. package/dist/cjs/root/ui/Breakpoint.js +0 -13
  71. package/dist/cjs/root/ui/styledSSR.js +0 -108
  72. package/dist/es2019/root/card/cardSSRView.js +0 -93
  73. package/dist/es2019/root/ui/Breakpoint.js +0 -6
  74. package/dist/es2019/root/ui/styledSSR.js +0 -93
  75. package/dist/esm/root/card/cardSSRView.js +0 -92
  76. package/dist/esm/root/ui/Breakpoint.js +0 -6
  77. package/dist/esm/root/ui/styledSSR.js +0 -76
  78. package/dist/types/root/card/cardSSRView.d.ts +0 -13
  79. package/dist/types/root/ui/Breakpoint.d.ts +0 -4
  80. package/dist/types/root/ui/styledSSR.d.ts +0 -16
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/media-card
2
2
 
3
+ ## 72.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`1724e1b8277`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1724e1b8277) - Added SSR capabilities to Media Card
8
+ - [`ca519a86b1d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ca519a86b1d) - Add new prop forceSyncDisplay in MediaImage to provide an option of always showing images.
9
+ Enable MediaCard to turn on forceSyncDisplay when server side rendering is enabled.
10
+ - [`ac4846d0f3f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ac4846d0f3f) - Added native lazy load support
11
+
12
+ ### Patch Changes
13
+
14
+ - [`fc70978492a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fc70978492a) - Using type for SSR prop to reduce dependency on media-common
15
+ - [`dc1f9d42903`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dc1f9d42903) - Fixed error message logic
16
+ - [`27c61b8cdd8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/27c61b8cdd8) - revert CardSSRView component
17
+ - [`12bfc09a21e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/12bfc09a21e) - Fixing internal prop calls for testId and removing references to the old DropdownMenuStateless export when using the new default export.
18
+ - [`2b24fcc59f2`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2b24fcc59f2) - Removed Code Viewer and Zip Previews Feature Flags
19
+ - [`bccde8a4127`](https://bitbucket.org/atlassian/atlassian-frontend/commits/bccde8a4127) - Update dependency of dropdown menu to the lite mode version. Update all usages to cater to the new API. The padding within dropdown menu items is 8px more, which makes the menu look bigger.
20
+ - [`3a56ce8792b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3a56ce8792b) - [ux] Show selected for mediaInline in other states
21
+ - [`f461edcfd05`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f461edcfd05) - Update CardLoader to use react-loadable
22
+ Add SSR feature prop to be passed in renderer and media card
23
+ - Updated dependencies
24
+
3
25
  ## 72.0.0
4
26
 
5
27
  ### Major Changes
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.isMediaCardError = isMediaCardError;
9
9
  exports.isImageLoadError = isImageLoadError;
10
- exports.isUploadError = exports.ensureMediaCardError = exports.isUnsupportedLocalPreviewError = exports.isRemotePreviewError = exports.isLocalPreviewError = exports.ImageLoadError = exports.getImageLoadPrimaryReason = exports.RemotePreviewError = exports.LocalPreviewError = exports.MediaCardError = void 0;
10
+ exports.isUploadError = exports.ensureMediaCardError = exports.isUnsupportedLocalPreviewError = exports.isRemotePreviewError = exports.isLocalPreviewError = exports.ImageLoadError = exports.getImageLoadPrimaryReason = exports.SsrPreviewError = exports.RemotePreviewError = exports.LocalPreviewError = exports.MediaCardError = void 0;
11
11
 
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
@@ -92,6 +92,26 @@ var RemotePreviewError = /*#__PURE__*/function (_MediaCardError2) {
92
92
 
93
93
  exports.RemotePreviewError = RemotePreviewError;
94
94
 
95
+ var SsrPreviewError = /*#__PURE__*/function (_MediaCardError3) {
96
+ (0, _inherits2.default)(SsrPreviewError, _MediaCardError3);
97
+
98
+ var _super4 = _createSuper(SsrPreviewError);
99
+
100
+ function SsrPreviewError(primaryReason, secondaryError) {
101
+ var _this4;
102
+
103
+ (0, _classCallCheck2.default)(this, SsrPreviewError);
104
+ _this4 = _super4.call(this, primaryReason, secondaryError);
105
+ _this4.primaryReason = primaryReason;
106
+ _this4.secondaryError = secondaryError;
107
+ return _this4;
108
+ }
109
+
110
+ return SsrPreviewError;
111
+ }(MediaCardError);
112
+
113
+ exports.SsrPreviewError = SsrPreviewError;
114
+
95
115
  var getImageLoadPrimaryReason = function getImageLoadPrimaryReason(source) {
96
116
  switch (source) {
97
117
  case 'cache-remote':
@@ -117,14 +137,14 @@ var getImageLoadPrimaryReason = function getImageLoadPrimaryReason(source) {
117
137
 
118
138
  exports.getImageLoadPrimaryReason = getImageLoadPrimaryReason;
119
139
 
120
- var ImageLoadError = /*#__PURE__*/function (_MediaCardError3) {
121
- (0, _inherits2.default)(ImageLoadError, _MediaCardError3);
140
+ var ImageLoadError = /*#__PURE__*/function (_MediaCardError4) {
141
+ (0, _inherits2.default)(ImageLoadError, _MediaCardError4);
122
142
 
123
- var _super4 = _createSuper(ImageLoadError);
143
+ var _super5 = _createSuper(ImageLoadError);
124
144
 
125
145
  function ImageLoadError(source) {
126
146
  (0, _classCallCheck2.default)(this, ImageLoadError);
127
- return _super4.call(this, getImageLoadPrimaryReason(source));
147
+ return _super5.call(this, getImageLoadPrimaryReason(source));
128
148
  }
129
149
 
130
150
  return ImageLoadError;
@@ -167,7 +187,7 @@ var ensureMediaCardError = function ensureMediaCardError(primaryReason, error) {
167
187
  exports.ensureMediaCardError = ensureMediaCardError;
168
188
 
169
189
  var isUploadError = function isUploadError(error) {
170
- return error.primaryReason === 'upload';
190
+ return error && error.primaryReason === 'upload';
171
191
  };
172
192
 
173
193
  exports.isUploadError = isUploadError;
@@ -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;
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "extractFilePreviewStatus", {
29
29
  return _filePreviewStatus.extractFilePreviewStatus;
30
30
  }
31
31
  });
32
- exports.shouldResolvePreview = exports.getCardPreview = exports.getFilePreviewFromFileState = exports.removeCardPreviewFromCache = exports.getCardPreviewFromCache = void 0;
32
+ exports.fetchAndCacheRemotePreview = exports.isSSRClientPreview = exports.isSSRServerPreview = exports.isSSRPreview = exports.isLocalPreview = exports.getSSRCardPreview = exports.shouldResolvePreview = exports.getCardPreview = exports.getFilePreviewFromFileState = exports.removeCardPreviewFromCache = exports.getCardPreviewFromCache = void 0;
33
33
 
34
34
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
35
35
 
@@ -83,6 +83,14 @@ var extendAndCachePreview = function extendAndCachePreview(id, dimensions, previ
83
83
  source = 'cache-remote';
84
84
  break;
85
85
 
86
+ case 'ssr-server':
87
+ source = 'cache-ssr-server';
88
+ break;
89
+
90
+ case 'ssr-client':
91
+ source = 'cache-ssr-client';
92
+ break;
93
+
86
94
  default:
87
95
  source = preview.source;
88
96
  } // We want to embed some meta context into dataURI for Copy/Paste to work.
@@ -113,7 +121,7 @@ var extendAndCachePreview = function extendAndCachePreview(id, dimensions, previ
113
121
 
114
122
  var getCardPreview = /*#__PURE__*/function () {
115
123
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
116
- var mediaClient, id, _ref$dimensions, dimensions, filePreview, onLocalPreviewError, isRemotePreviewReady, imageUrlParams, mediaBlobUrlAttrs, cachedPreview, localPreview, remotePreview;
124
+ var mediaClient, id, _ref$dimensions, dimensions, filePreview, onLocalPreviewError, isRemotePreviewReady, imageUrlParams, mediaBlobUrlAttrs, cachedPreview, localPreview;
117
125
 
118
126
  return _regenerator.default.wrap(function _callee$(_context) {
119
127
  while (1) {
@@ -187,14 +195,9 @@ var getCardPreview = /*#__PURE__*/function () {
187
195
  throw new _errors.MediaCardError('remote-preview-not-ready');
188
196
 
189
197
  case 19:
190
- _context.next = 21;
191
- return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, imageUrlParams);
192
-
193
- case 21:
194
- remotePreview = _context.sent;
195
- return _context.abrupt("return", extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs));
198
+ return _context.abrupt("return", fetchAndCacheRemotePreview(mediaClient, id, dimensions, imageUrlParams, mediaBlobUrlAttrs));
196
199
 
197
- case 23:
200
+ case 20:
198
201
  case "end":
199
202
  return _context.stop();
200
203
  }
@@ -222,4 +225,81 @@ var shouldResolvePreview = function shouldResolvePreview(_ref3) {
222
225
  return statusIsPreviewable && (!hasCardPreview || dimensionsAreBigger);
223
226
  };
224
227
 
225
- exports.shouldResolvePreview = shouldResolvePreview;
228
+ exports.shouldResolvePreview = shouldResolvePreview;
229
+
230
+ var getSSRCardPreview = function getSSRCardPreview(ssr, mediaClient, id, params, mediaBlobUrlAttrs) {
231
+ var dataURI;
232
+
233
+ try {
234
+ var rawDataURI = mediaClient.getImageUrlSync(id, params); // We want to embed some meta context into dataURI for Copy/Paste to work.
235
+
236
+ dataURI = mediaBlobUrlAttrs ? (0, _mediaClient.addFileAttrsToUrl)(rawDataURI, mediaBlobUrlAttrs) : rawDataURI;
237
+ var source = ssr === 'client' ? 'ssr-client' : 'ssr-server';
238
+ return {
239
+ dataURI: dataURI,
240
+ source: source,
241
+ orientation: 1
242
+ };
243
+ } catch (e) {
244
+ var reason = ssr === 'server' ? 'ssr-server-uri' : 'ssr-client-uri';
245
+ throw new _errors.SsrPreviewError(reason, e);
246
+ }
247
+ };
248
+
249
+ exports.getSSRCardPreview = getSSRCardPreview;
250
+
251
+ var isLocalPreview = function isLocalPreview(preview) {
252
+ var localSources = ['local', 'cache-local'];
253
+ return localSources.includes(preview.source);
254
+ };
255
+
256
+ exports.isLocalPreview = isLocalPreview;
257
+
258
+ var isSSRPreview = function isSSRPreview(preview) {
259
+ return isSSRClientPreview(preview) || isSSRServerPreview(preview);
260
+ };
261
+
262
+ exports.isSSRPreview = isSSRPreview;
263
+
264
+ var isSSRServerPreview = function isSSRServerPreview(preview) {
265
+ var ssrClientSources = ['ssr-server', 'cache-ssr-server'];
266
+ return ssrClientSources.includes(preview.source);
267
+ };
268
+
269
+ exports.isSSRServerPreview = isSSRServerPreview;
270
+
271
+ var isSSRClientPreview = function isSSRClientPreview(preview) {
272
+ var ssrClientSources = ['ssr-client', 'cache-ssr-client'];
273
+ return ssrClientSources.includes(preview.source);
274
+ };
275
+
276
+ exports.isSSRClientPreview = isSSRClientPreview;
277
+
278
+ var fetchAndCacheRemotePreview = /*#__PURE__*/function () {
279
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(mediaClient, id, dimensions, params, mediaBlobUrlAttrs) {
280
+ var remotePreview;
281
+ return _regenerator.default.wrap(function _callee2$(_context2) {
282
+ while (1) {
283
+ switch (_context2.prev = _context2.next) {
284
+ case 0:
285
+ _context2.next = 2;
286
+ return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, params);
287
+
288
+ case 2:
289
+ remotePreview = _context2.sent;
290
+ return _context2.abrupt("return", extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs));
291
+
292
+ case 4:
293
+ case "end":
294
+ return _context2.stop();
295
+ }
296
+ }
297
+ }, _callee2);
298
+ }));
299
+
300
+ return function fetchAndCacheRemotePreview(_x2, _x3, _x4, _x5, _x6) {
301
+ return _ref4.apply(this, arguments);
302
+ };
303
+ }();
304
+
305
+ exports.fetchAndCacheRemotePreview = fetchAndCacheRemotePreview;