@atlaskit/media-card 73.1.0 → 73.3.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 (74) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/cjs/files/cardImageView/index.js +51 -41
  3. package/dist/cjs/root/card/cardAnalytics.js +4 -4
  4. package/dist/cjs/root/card/getCardPreview/index.js +7 -1
  5. package/dist/cjs/root/card/index.js +301 -155
  6. package/dist/cjs/root/cardView.js +128 -118
  7. package/dist/cjs/root/inlinePlayer.js +4 -2
  8. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +17 -23
  9. package/dist/cjs/root/ui/styled.js +5 -5
  10. package/dist/cjs/types.js +10 -1
  11. package/dist/cjs/utils/analytics.js +32 -13
  12. package/dist/cjs/utils/dimensionComparer.js +7 -13
  13. package/dist/cjs/utils/getMediaCardCursor.js +29 -0
  14. package/dist/cjs/utils/globalScope/getSSRData.js +20 -0
  15. package/dist/cjs/utils/globalScope/globalScope.js +94 -0
  16. package/dist/cjs/utils/globalScope/index.js +39 -0
  17. package/dist/cjs/utils/globalScope/types.js +5 -0
  18. package/dist/cjs/utils/printScript.js +44 -0
  19. package/dist/cjs/version.json +1 -1
  20. package/dist/es2019/files/cardImageView/index.js +19 -5
  21. package/dist/es2019/root/card/cardAnalytics.js +4 -4
  22. package/dist/es2019/root/card/getCardPreview/index.js +1 -0
  23. package/dist/es2019/root/card/index.js +167 -40
  24. package/dist/es2019/root/cardView.js +41 -35
  25. package/dist/es2019/root/inlinePlayer.js +4 -2
  26. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +17 -19
  27. package/dist/es2019/root/ui/styled.js +4 -4
  28. package/dist/es2019/types.js +7 -1
  29. package/dist/es2019/utils/analytics.js +17 -9
  30. package/dist/es2019/utils/dimensionComparer.js +6 -13
  31. package/dist/es2019/utils/getMediaCardCursor.js +19 -0
  32. package/dist/es2019/utils/globalScope/getSSRData.js +10 -0
  33. package/dist/es2019/utils/globalScope/globalScope.js +62 -0
  34. package/dist/es2019/utils/globalScope/index.js +2 -0
  35. package/dist/es2019/utils/globalScope/types.js +1 -0
  36. package/dist/es2019/utils/printScript.js +19 -0
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/esm/files/cardImageView/index.js +53 -41
  39. package/dist/esm/root/card/cardAnalytics.js +4 -4
  40. package/dist/esm/root/card/getCardPreview/index.js +3 -0
  41. package/dist/esm/root/card/index.js +284 -138
  42. package/dist/esm/root/cardView.js +127 -118
  43. package/dist/esm/root/inlinePlayer.js +4 -2
  44. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +17 -21
  45. package/dist/esm/root/ui/styled.js +5 -5
  46. package/dist/esm/types.js +7 -1
  47. package/dist/esm/utils/analytics.js +26 -12
  48. package/dist/esm/utils/dimensionComparer.js +8 -13
  49. package/dist/esm/utils/getMediaCardCursor.js +19 -0
  50. package/dist/esm/utils/globalScope/getSSRData.js +10 -0
  51. package/dist/esm/utils/globalScope/globalScope.js +69 -0
  52. package/dist/esm/utils/globalScope/index.js +2 -0
  53. package/dist/esm/utils/globalScope/types.js +1 -0
  54. package/dist/esm/utils/printScript.js +30 -0
  55. package/dist/esm/version.json +1 -1
  56. package/dist/types/__tests_external__/page-objects/MediaCard.d.ts +0 -1
  57. package/dist/types/errors.d.ts +1 -1
  58. package/dist/types/files/cardImageView/index.d.ts +6 -2
  59. package/dist/types/root/card/cardAnalytics.d.ts +2 -1
  60. package/dist/types/root/card/getCardPreview/index.d.ts +1 -0
  61. package/dist/types/root/card/index.d.ts +5 -1
  62. package/dist/types/root/cardView.d.ts +8 -6
  63. package/dist/types/root/inlinePlayer.d.ts +3 -1
  64. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +5 -14
  65. package/dist/types/root/ui/styled.d.ts +2 -1
  66. package/dist/types/types.d.ts +6 -1
  67. package/dist/types/utils/analytics.d.ts +27 -5
  68. package/dist/types/utils/getMediaCardCursor.d.ts +2 -0
  69. package/dist/types/utils/globalScope/getSSRData.d.ts +3 -0
  70. package/dist/types/utils/globalScope/globalScope.d.ts +21 -0
  71. package/dist/types/utils/globalScope/index.d.ts +4 -0
  72. package/dist/types/utils/globalScope/types.d.ts +8 -0
  73. package/dist/types/utils/printScript.d.ts +2 -0
  74. package/package.json +12 -12
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.createAndFireMediaCardEvent = void 0;
8
+ exports.extractErrorInfo = exports.createAndFireMediaCardEvent = void 0;
7
9
  exports.fireMediaCardEvent = fireMediaCardEvent;
8
10
  exports.getRenderSucceededEventPayload = exports.getRenderPreviewableCardPayload = exports.getRenderFailedFileStatusPayload = exports.getRenderFailedExternalUriPayload = exports.getRenderErrorRequestMetadata = exports.getRenderErrorFailReason = exports.getRenderErrorEventPayload = exports.getRenderErrorErrorReason = exports.getRenderErrorErrorDetail = exports.getRenderCommencedEventPayload = exports.getFileAttributes = exports.getCopiedFilePayload = void 0;
9
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
10
14
  var _mediaClient = require("@atlaskit/media-client");
11
15
 
12
16
  var _mediaCommon = require("@atlaskit/media-common");
@@ -15,6 +19,10 @@ var _analyticsNext = require("@atlaskit/analytics-next");
15
19
 
16
20
  var _errors = require("../errors");
17
21
 
22
+ 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; }
23
+
24
+ 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; }
25
+
18
26
  var getFileAttributes = function getFileAttributes(metadata, fileStatus) {
19
27
  return {
20
28
  fileMediatype: metadata.mediaType,
@@ -56,7 +64,7 @@ var getRenderCommencedEventPayload = function getRenderCommencedEventPayload(fil
56
64
 
57
65
  exports.getRenderCommencedEventPayload = getRenderCommencedEventPayload;
58
66
 
59
- var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes, performanceAttributes) {
67
+ var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fileAttributes, performanceAttributes, ssrReliability) {
60
68
  return {
61
69
  eventType: 'operational',
62
70
  action: 'succeeded',
@@ -64,7 +72,8 @@ var getRenderSucceededEventPayload = function getRenderSucceededEventPayload(fil
64
72
  attributes: {
65
73
  fileAttributes: fileAttributes,
66
74
  performanceAttributes: performanceAttributes,
67
- status: 'success'
75
+ status: 'success',
76
+ ssrReliability: ssrReliability
68
77
  }
69
78
  };
70
79
  };
@@ -129,26 +138,35 @@ var getRenderErrorRequestMetadata = function getRenderErrorRequestMetadata(error
129
138
 
130
139
  exports.getRenderErrorRequestMetadata = getRenderErrorRequestMetadata;
131
140
 
132
- var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttributes, performanceAttributes, error) {
141
+ var extractErrorInfo = function extractErrorInfo(error) {
142
+ return {
143
+ failReason: getRenderErrorFailReason(error),
144
+ error: getRenderErrorErrorReason(error),
145
+ errorDetail: getRenderErrorErrorDetail(error)
146
+ };
147
+ };
148
+
149
+ exports.extractErrorInfo = extractErrorInfo;
150
+
151
+ var getRenderErrorEventPayload = function getRenderErrorEventPayload(fileAttributes, performanceAttributes, error, ssrReliability) {
133
152
  return {
134
153
  eventType: 'operational',
135
154
  action: 'failed',
136
155
  actionSubject: 'mediaCardRender',
137
- attributes: {
156
+ attributes: _objectSpread(_objectSpread({
138
157
  fileAttributes: fileAttributes,
139
158
  performanceAttributes: performanceAttributes,
140
- status: 'fail',
141
- failReason: getRenderErrorFailReason(error),
142
- error: getRenderErrorErrorReason(error),
143
- errorDetail: getRenderErrorErrorDetail(error),
144
- request: getRenderErrorRequestMetadata(error)
145
- }
159
+ status: 'fail'
160
+ }, extractErrorInfo(error)), {}, {
161
+ request: getRenderErrorRequestMetadata(error),
162
+ ssrReliability: ssrReliability
163
+ })
146
164
  };
147
165
  };
148
166
 
149
167
  exports.getRenderErrorEventPayload = getRenderErrorEventPayload;
150
168
 
151
- var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes) {
169
+ var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability) {
152
170
  return {
153
171
  eventType: 'operational',
154
172
  action: 'failed',
@@ -157,7 +175,8 @@ var getRenderFailedFileStatusPayload = function getRenderFailedFileStatusPayload
157
175
  fileAttributes: fileAttributes,
158
176
  performanceAttributes: performanceAttributes,
159
177
  status: 'fail',
160
- failReason: 'failed-processing'
178
+ failReason: 'failed-processing',
179
+ ssrReliability: ssrReliability
161
180
  }
162
181
  };
163
182
  };
@@ -9,24 +9,18 @@ var _isValidPercentageUnit = require("./isValidPercentageUnit");
9
9
 
10
10
  var _containsPixelUnit = require("./containsPixelUnit");
11
11
 
12
+ var isPixelEquivalent = function isPixelEquivalent(dimension) {
13
+ return typeof dimension === 'number' || (0, _containsPixelUnit.containsPixelUnit)("".concat(dimension));
14
+ };
15
+
12
16
  var canCompareDimension = function canCompareDimension(current, next) {
13
17
  if (!current || !next) {
14
18
  return false;
15
19
  }
16
20
 
17
- if ((0, _isValidPercentageUnit.isValidPercentageUnit)(current) && (0, _isValidPercentageUnit.isValidPercentageUnit)(next)) {
18
- return true;
19
- }
20
-
21
- if ((0, _containsPixelUnit.containsPixelUnit)("".concat(current)) && (0, _containsPixelUnit.containsPixelUnit)("".concat(next))) {
22
- return true;
23
- }
24
-
25
- if (typeof current === 'number' && typeof next === 'number') {
26
- return true;
27
- }
28
-
29
- return false;
21
+ var bothPixelEquivalent = isPixelEquivalent(current) && isPixelEquivalent(next);
22
+ var bothPercentage = (0, _isValidPercentageUnit.isValidPercentageUnit)(current) && (0, _isValidPercentageUnit.isValidPercentageUnit)(next);
23
+ return bothPixelEquivalent || bothPercentage;
30
24
  };
31
25
 
32
26
  exports.canCompareDimension = canCompareDimension;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getMediaCardCursor = void 0;
7
+
8
+ var _types = require("../types");
9
+
10
+ var getMediaCardCursor = function getMediaCardCursor(useInlinePlayer, useMediaViewer, isErrorStatus, hasCardPreview, mediaType) {
11
+ // If error status or no action is requested = NoAction
12
+ if (isErrorStatus || !useInlinePlayer && !useMediaViewer) {
13
+ return _types.MediaCardCursor.NoAction;
14
+ }
15
+
16
+ if (!mediaType && (useInlinePlayer || useInlinePlayer && useMediaViewer)) {
17
+ return _types.MediaCardCursor.NotReady;
18
+ } else if (mediaType === 'video' && hasCardPreview && useInlinePlayer) {
19
+ return _types.MediaCardCursor.Action;
20
+ }
21
+
22
+ if (useMediaViewer) {
23
+ return _types.MediaCardCursor.Action;
24
+ }
25
+
26
+ return _types.MediaCardCursor.NoAction;
27
+ };
28
+
29
+ exports.getMediaCardCursor = getMediaCardCursor;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSSRData = void 0;
7
+
8
+ var _globalScope = require("./globalScope");
9
+
10
+ var getSSRData = function getSSRData(identifier) {
11
+ var mediaCardSsr = (0, _globalScope.getMediaCardSSR)();
12
+
13
+ if (!mediaCardSsr) {
14
+ return;
15
+ }
16
+
17
+ return mediaCardSsr[(0, _globalScope.getKey)(identifier)];
18
+ };
19
+
20
+ exports.getSSRData = getSSRData;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getKey = exports.StoreSSRDataScript = exports.GLOBAL_MEDIA_NAMESPACE = exports.GLOBAL_MEDIA_CARD_SSR = void 0;
9
+ exports.getMediaCardSSR = getMediaCardSSR;
10
+ exports.getMediaGlobalScope = getMediaGlobalScope;
11
+ exports.storeDataURI = void 0;
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _printScript = require("../printScript");
16
+
17
+ // ----- WARNING -----
18
+ // This is a very sensitive fraction of code.
19
+ // Any changes to this file must be tested directly in product before merging.
20
+ // The scripts printed here might differ from what we observe in our internal tests
21
+ // due to minimification, for example.
22
+ var GLOBAL_MEDIA_CARD_SSR = 'mediaCardSsr';
23
+ exports.GLOBAL_MEDIA_CARD_SSR = GLOBAL_MEDIA_CARD_SSR;
24
+ var GLOBAL_MEDIA_NAMESPACE = '__MEDIA_INTERNAL';
25
+ exports.GLOBAL_MEDIA_NAMESPACE = GLOBAL_MEDIA_NAMESPACE;
26
+
27
+ function getMediaGlobalScope() {
28
+ var globalScope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
29
+ // Must match GLOBAL_MEDIA_NAMESPACE. Can't reference the constant from here.
30
+ var namespace = '__MEDIA_INTERNAL';
31
+
32
+ if (!globalScope[namespace]) {
33
+ globalScope[namespace] = {};
34
+ }
35
+
36
+ return globalScope[namespace];
37
+ }
38
+
39
+ function getMediaCardSSR() {
40
+ var globalScope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
41
+ var globalMedia = getMediaGlobalScope(globalScope); // Must match GLOBAL_MEDIA_CARD_SSR. Can't reference the constant from here.
42
+
43
+ var key = 'mediaCardSsr';
44
+
45
+ if (!globalMedia[key]) {
46
+ globalMedia[key] = {};
47
+ }
48
+
49
+ return globalMedia[key];
50
+ }
51
+
52
+ var dashed = function dashed(param) {
53
+ return param ? "-".concat(param) : '';
54
+ };
55
+
56
+ var getKey = function getKey(_ref) {
57
+ var id = _ref.id,
58
+ collectionName = _ref.collectionName,
59
+ occurrenceKey = _ref.occurrenceKey;
60
+ return "".concat(id).concat(dashed(collectionName)).concat(dashed(occurrenceKey));
61
+ };
62
+
63
+ exports.getKey = getKey;
64
+
65
+ var storeDataURI = function storeDataURI(key, dataURI, dimensions, error) {
66
+ var globalScope = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : window;
67
+ var mediaCardSsr = getMediaCardSSR(globalScope);
68
+ mediaCardSsr[key] = {
69
+ dataURI: dataURI,
70
+ dimensions: dimensions,
71
+ error: error
72
+ };
73
+ };
74
+
75
+ exports.storeDataURI = storeDataURI;
76
+
77
+ var generateScript = function generateScript(identifier, dataURI, dimensions, error) {
78
+ var functionCall = (0, _printScript.printFunctionCall)(storeDataURI, getKey(identifier), dataURI, dimensions, error);
79
+ return (0, _printScript.printScript)([getMediaCardSSR.toString(), getMediaGlobalScope.toString(), functionCall]);
80
+ };
81
+
82
+ var StoreSSRDataScript = function StoreSSRDataScript(_ref2) {
83
+ var dataURI = _ref2.dataURI,
84
+ identifier = _ref2.identifier,
85
+ dimensions = _ref2.dimensions,
86
+ error = _ref2.error;
87
+ return /*#__PURE__*/_react.default.createElement("script", {
88
+ dangerouslySetInnerHTML: {
89
+ __html: generateScript(identifier, dataURI, dimensions, error)
90
+ }
91
+ });
92
+ };
93
+
94
+ exports.StoreSSRDataScript = StoreSSRDataScript;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "GLOBAL_MEDIA_CARD_SSR", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _globalScope.GLOBAL_MEDIA_CARD_SSR;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "GLOBAL_MEDIA_NAMESPACE", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _globalScope.GLOBAL_MEDIA_NAMESPACE;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "StoreSSRDataScript", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _globalScope.StoreSSRDataScript;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "getKey", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _globalScope.getKey;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "getSSRData", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _getSSRData.getSSRData;
34
+ }
35
+ });
36
+
37
+ var _globalScope = require("./globalScope");
38
+
39
+ var _getSSRData = require("./getSSRData");
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.printScript = exports.printFunctionCall = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var printParam = function printParam(param) {
13
+ if (typeof param === 'string') {
14
+ return "'".concat(param, "'");
15
+ } else if ((0, _typeof2.default)(param) === 'object') {
16
+ return JSON.stringify(param);
17
+ } else if (param === undefined) {
18
+ return 'undefined';
19
+ }
20
+
21
+ return param;
22
+ };
23
+
24
+ var printParams = function printParams(args) {
25
+ return args.map(function (arg) {
26
+ return printParam(arg);
27
+ }).join(',');
28
+ };
29
+
30
+ var printFunctionCall = function printFunctionCall(fn) {
31
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
32
+ args[_key - 1] = arguments[_key];
33
+ }
34
+
35
+ return "(".concat(fn.toString(), ")(").concat(printParams(args), ");");
36
+ };
37
+
38
+ exports.printFunctionCall = printFunctionCall;
39
+
40
+ var printScript = function printScript(statements) {
41
+ return "(function(){\n ".concat(statements.join(';'), "\n})();\n");
42
+ };
43
+
44
+ exports.printScript = printScript;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-card",
3
- "version": "73.1.0",
3
+ "version": "73.3.0",
4
4
  "sideEffects": false
5
5
  }
@@ -138,6 +138,22 @@ export class FileCardImageView extends Component {
138
138
  })));
139
139
  });
140
140
 
141
+ _defineProperty(this, "onImageLoad", () => {
142
+ const {
143
+ onImageLoad,
144
+ cardPreview
145
+ } = this.props;
146
+ onImageLoad && onImageLoad(cardPreview);
147
+ });
148
+
149
+ _defineProperty(this, "onImageError", () => {
150
+ const {
151
+ onImageError,
152
+ cardPreview
153
+ } = this.props;
154
+ onImageError && onImageError(cardPreview);
155
+ });
156
+
141
157
  _defineProperty(this, "renderMediaImage", () => {
142
158
  const {
143
159
  status,
@@ -147,9 +163,7 @@ export class FileCardImageView extends Component {
147
163
  mimeType,
148
164
  previewOrientation,
149
165
  onDisplayImage,
150
- alt,
151
- onImageLoad,
152
- onImageError
166
+ alt
153
167
  } = this.props;
154
168
 
155
169
  if (!shouldDisplayImageThumbnail(status, mediaItemType, dataURI, mediaType, mimeType)) {
@@ -167,8 +181,8 @@ export class FileCardImageView extends Component {
167
181
  crop: this.isCropped,
168
182
  stretch: this.isStretched,
169
183
  previewOrientation: previewOrientation,
170
- onImageLoad: onImageLoad,
171
- onImageError: onImageError
184
+ onImageLoad: this.onImageLoad,
185
+ onImageError: this.onImageError
172
186
  });
173
187
  });
174
188
 
@@ -1,19 +1,19 @@
1
1
  import { fireMediaCardEvent, getRenderSucceededEventPayload, getRenderErrorEventPayload, getRenderFailedFileStatusPayload, getCopiedFilePayload, getRenderCommencedEventPayload, getRenderPreviewableCardPayload } from '../../utils/analytics';
2
2
  export const relevantFeatureFlagNames = ['newCardExperience', 'captions', 'timestampOnVideo'];
3
- export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, error) => {
3
+ export const fireOperationalEvent = (createAnalyticsEvent, status, fileAttributes, performanceAttributes, ssrReliability, error) => {
4
4
  const fireEvent = payload => fireMediaCardEvent(payload, createAnalyticsEvent);
5
5
 
6
6
  switch (status) {
7
7
  case 'complete':
8
- fireEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes));
8
+ fireEvent(getRenderSucceededEventPayload(fileAttributes, performanceAttributes, ssrReliability));
9
9
  break;
10
10
 
11
11
  case 'failed-processing':
12
- fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes));
12
+ fireEvent(getRenderFailedFileStatusPayload(fileAttributes, performanceAttributes, ssrReliability));
13
13
  break;
14
14
 
15
15
  case 'error':
16
- error && fireEvent(getRenderErrorEventPayload(fileAttributes, performanceAttributes, error));
16
+ error && fireEvent(getRenderErrorEventPayload(fileAttributes, performanceAttributes, error, ssrReliability));
17
17
  break;
18
18
  }
19
19
  };
@@ -165,6 +165,7 @@ export const isSSRClientPreview = preview => {
165
165
  const ssrClientSources = ['ssr-client', 'cache-ssr-client'];
166
166
  return ssrClientSources.includes(preview.source);
167
167
  };
168
+ export const isSSRDataPreview = preview => preview.source === 'ssr-data';
168
169
  export const fetchAndCacheRemotePreview = async (mediaClient, id, dimensions, params, mediaBlobUrlAttrs) => {
169
170
  const remotePreview = await getCardPreviewFromBackend(mediaClient, id, params);
170
171
  return extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs);