@atlaskit/media-card 71.0.0 → 72.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 (110) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/errors.js +56 -5
  3. package/dist/cjs/files/cardImageView/index.js +53 -104
  4. package/dist/cjs/files/index.js +0 -6
  5. package/dist/cjs/root/card/cardAnalytics.js +3 -15
  6. package/dist/cjs/root/card/cardSSRView.js +4 -2
  7. package/dist/cjs/root/card/cardState.js +50 -0
  8. package/dist/cjs/root/card/getCardPreview/cache.js +5 -0
  9. package/dist/cjs/root/card/getCardPreview/filePreviewStatus.js +50 -0
  10. package/dist/cjs/root/card/getCardPreview/helpers.js +13 -21
  11. package/dist/cjs/root/card/getCardPreview/index.js +91 -94
  12. package/dist/cjs/root/card/getCardStatus.js +7 -1
  13. package/dist/cjs/root/card/index.js +271 -266
  14. package/dist/cjs/root/cardView.js +96 -60
  15. package/dist/cjs/root/inline/loader.js +2 -1
  16. package/dist/cjs/root/inline/mediaInlineCard.js +4 -3
  17. package/dist/cjs/root/ui/iconMessage/index.js +12 -5
  18. package/dist/cjs/root/ui/imageRenderer/imageRenderer.js +30 -124
  19. package/dist/cjs/root/ui/titleBox/failedTitleBox.js +7 -3
  20. package/dist/cjs/utils/analytics.js +6 -44
  21. package/dist/cjs/utils/dimensionComparer.js +1 -1
  22. package/dist/cjs/utils/metadata.js +11 -3
  23. package/dist/cjs/utils/objectURLCache.js +6 -0
  24. package/dist/cjs/utils/shouldDisplayImageThumbnail.js +1 -1
  25. package/dist/cjs/version.json +1 -1
  26. package/dist/es2019/errors.js +34 -2
  27. package/dist/es2019/files/cardImageView/index.js +8 -61
  28. package/dist/es2019/files/index.js +1 -1
  29. package/dist/es2019/root/card/cardAnalytics.js +3 -14
  30. package/dist/es2019/root/card/cardSSRView.js +3 -2
  31. package/dist/es2019/root/card/cardState.js +26 -0
  32. package/dist/es2019/root/card/getCardPreview/cache.js +5 -0
  33. package/dist/es2019/root/card/getCardPreview/filePreviewStatus.js +35 -0
  34. package/dist/es2019/root/card/getCardPreview/helpers.js +2 -12
  35. package/dist/es2019/root/card/getCardPreview/index.js +71 -74
  36. package/dist/es2019/root/card/getCardStatus.js +1 -0
  37. package/dist/es2019/root/card/index.js +193 -171
  38. package/dist/es2019/root/cardView.js +100 -61
  39. package/dist/es2019/root/inline/loader.js +2 -1
  40. package/dist/es2019/root/inline/mediaInlineCard.js +4 -3
  41. package/dist/es2019/root/ui/iconMessage/index.js +5 -3
  42. package/dist/es2019/root/ui/imageRenderer/imageRenderer.js +21 -88
  43. package/dist/es2019/root/ui/titleBox/failedTitleBox.js +5 -3
  44. package/dist/es2019/utils/analytics.js +5 -34
  45. package/dist/es2019/utils/dimensionComparer.js +1 -1
  46. package/dist/es2019/utils/metadata.js +12 -4
  47. package/dist/es2019/utils/objectURLCache.js +5 -0
  48. package/dist/es2019/utils/shouldDisplayImageThumbnail.js +1 -1
  49. package/dist/es2019/version.json +1 -1
  50. package/dist/esm/errors.js +42 -1
  51. package/dist/esm/files/cardImageView/index.js +51 -102
  52. package/dist/esm/files/index.js +1 -1
  53. package/dist/esm/root/card/cardAnalytics.js +3 -15
  54. package/dist/esm/root/card/cardSSRView.js +3 -2
  55. package/dist/esm/root/card/cardState.js +32 -0
  56. package/dist/esm/root/card/getCardPreview/cache.js +6 -0
  57. package/dist/esm/root/card/getCardPreview/filePreviewStatus.js +35 -0
  58. package/dist/esm/root/card/getCardPreview/helpers.js +13 -21
  59. package/dist/esm/root/card/getCardPreview/index.js +79 -88
  60. package/dist/esm/root/card/getCardStatus.js +3 -0
  61. package/dist/esm/root/card/index.js +278 -268
  62. package/dist/esm/root/cardView.js +98 -61
  63. package/dist/esm/root/inline/loader.js +2 -1
  64. package/dist/esm/root/inline/mediaInlineCard.js +4 -3
  65. package/dist/esm/root/ui/iconMessage/index.js +7 -3
  66. package/dist/esm/root/ui/imageRenderer/imageRenderer.js +23 -118
  67. package/dist/esm/root/ui/titleBox/failedTitleBox.js +6 -3
  68. package/dist/esm/utils/analytics.js +5 -36
  69. package/dist/esm/utils/dimensionComparer.js +1 -1
  70. package/dist/esm/utils/metadata.js +12 -4
  71. package/dist/esm/utils/objectURLCache.js +6 -0
  72. package/dist/esm/utils/shouldDisplayImageThumbnail.js +1 -1
  73. package/dist/esm/version.json +1 -1
  74. package/dist/types/errors.d.ts +9 -1
  75. package/dist/types/files/cardImageView/index.d.ts +4 -13
  76. package/dist/types/files/cardImageView/styled.d.ts +1 -1
  77. package/dist/types/files/index.d.ts +1 -1
  78. package/dist/types/index.d.ts +4 -3
  79. package/dist/types/root/card/cardAnalytics.d.ts +1 -6
  80. package/dist/types/root/card/cardSSRView.d.ts +1 -1
  81. package/dist/types/root/card/cardState.d.ts +5 -0
  82. package/dist/types/root/card/getCardPreview/cache.d.ts +3 -1
  83. package/dist/types/root/card/getCardPreview/filePreviewStatus.d.ts +5 -0
  84. package/dist/types/root/card/getCardPreview/helpers.d.ts +3 -4
  85. package/dist/types/root/card/getCardPreview/index.d.ts +17 -13
  86. package/dist/types/root/card/getCardStatus.d.ts +1 -0
  87. package/dist/types/root/card/index.d.ts +11 -10
  88. package/dist/types/root/cardView.d.ts +11 -8
  89. package/dist/types/root/inlinePlayer.d.ts +1 -1
  90. package/dist/types/root/ui/iconMessage/index.d.ts +2 -1
  91. package/dist/types/root/ui/imageRenderer/imageRenderer.d.ts +2 -13
  92. package/dist/types/root/ui/styledSSR.d.ts +1 -1
  93. package/dist/types/root/ui/titleBox/failedTitleBox.d.ts +2 -0
  94. package/dist/types/styles/mixins.d.ts +1 -1
  95. package/dist/types/types.d.ts +7 -1
  96. package/dist/types/utils/analytics.d.ts +6 -15
  97. package/dist/types/utils/cardDimensions.d.ts +4 -4
  98. package/dist/types/utils/dimensionComparer.d.ts +1 -1
  99. package/dist/types/utils/metadata.d.ts +2 -2
  100. package/dist/types/utils/objectURLCache.d.ts +2 -1
  101. package/example-helpers/index.tsx +21 -0
  102. package/package.json +6 -5
  103. package/dist/cjs/root/card/getCardPreview/types.js +0 -5
  104. package/dist/cjs/utils/fileAttributesContext.js +0 -40
  105. package/dist/es2019/root/card/getCardPreview/types.js +0 -1
  106. package/dist/es2019/utils/fileAttributesContext.js +0 -19
  107. package/dist/esm/root/card/getCardPreview/types.js +0 -1
  108. package/dist/esm/utils/fileAttributesContext.js +0 -18
  109. package/dist/types/root/card/getCardPreview/types.d.ts +0 -5
  110. package/dist/types/utils/fileAttributesContext.d.ts +0 -10
@@ -23,14 +23,20 @@ Object.defineProperty(exports, "isSupportedLocalPreview", {
23
23
  return _helpers.isSupportedLocalPreview;
24
24
  }
25
25
  });
26
- exports.getCardPreview = exports.getFilePreviewFromFileState = exports.getCardPreviewFromCache = exports.shouldGetCardPreview = exports.extractFilePreviewStatus = void 0;
26
+ Object.defineProperty(exports, "extractFilePreviewStatus", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _filePreviewStatus.extractFilePreviewStatus;
30
+ }
31
+ });
32
+ exports.shouldResolvePreview = exports.getCardPreview = exports.getFilePreviewFromFileState = exports.removeCardPreviewFromCache = exports.getCardPreviewFromCache = void 0;
27
33
 
28
34
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
29
35
 
30
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
36
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
33
37
 
38
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
39
+
34
40
  var _mediaClient = require("@atlaskit/media-client");
35
41
 
36
42
  var _mediaCommon = require("@atlaskit/media-common");
@@ -41,57 +47,23 @@ var _helpers = require("./helpers");
41
47
 
42
48
  var _errors = require("../../../errors");
43
49
 
44
- 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; }
50
+ var _dimensionComparer = require("../../../utils/dimensionComparer");
45
51
 
46
- 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; }
52
+ var _filePreviewStatus = require("./filePreviewStatus");
47
53
 
48
- // TODO: align these checks with helpers from Media Client
49
- // https://product-fabric.atlassian.net/browse/BMPT-1300
50
- var extractFilePreviewStatus = function extractFilePreviewStatus(fileState, featureFlags) {
51
- var hasFilesize = 'size' in fileState && !!fileState.size;
52
-
53
- var _ref = 'mediaType' in fileState && fileState || {},
54
- mediaType = _ref.mediaType;
55
-
56
- var _ref2 = 'mimeType' in fileState && fileState || {},
57
- mimeType = _ref2.mimeType;
58
-
59
- var isPreviewable = !!mediaType && (0, _mediaClient.isPreviewableType)(mediaType, featureFlags);
60
- /**
61
- * Local preview is available only if it's supported by browser and supported by Media Card (isSupportedLocalPreview)
62
- * For example, SVGs are mime type NOT supported by browser but media type supported by Media Card (image)
63
- * Then, local Preview NOT available
64
- */
65
-
66
- var hasLocalPreview = (0, _mediaClient.isPreviewableFileState)(fileState) && (0, _helpers.isSupportedLocalPreview)(mediaType) && !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
67
- var hasRemotePreview = (0, _mediaClient.isImageRepresentationReady)(fileState);
68
- var hasPreview = hasLocalPreview || hasRemotePreview;
69
- var isSupportedByBrowser = !!mimeType && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(mimeType);
70
- return {
71
- hasFilesize: hasFilesize,
72
- isPreviewable: isPreviewable,
73
- hasPreview: hasPreview,
74
- isSupportedByBrowser: isSupportedByBrowser
75
- };
76
- };
77
-
78
- exports.extractFilePreviewStatus = extractFilePreviewStatus;
54
+ 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; }
79
55
 
80
- var shouldGetCardPreview = function shouldGetCardPreview(cardStatus, _ref3) {
81
- var isPreviewable = _ref3.isPreviewable,
82
- hasPreview = _ref3.hasPreview,
83
- isSupportedByBrowser = _ref3.isSupportedByBrowser;
84
- return cardStatus === 'loading-preview' || cardStatus === 'uploading' && hasPreview && isPreviewable || cardStatus === 'processing' && hasPreview && isPreviewable && isSupportedByBrowser;
85
- };
56
+ 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; }
86
57
 
87
- exports.shouldGetCardPreview = shouldGetCardPreview;
88
58
  var getCardPreviewFromCache = _cache.default.get;
59
+ exports.getCardPreviewFromCache = getCardPreviewFromCache;
60
+ var removeCardPreviewFromCache = _cache.default.remove;
89
61
  /**
90
62
  * Will return the preview if available and supported by the browser
91
63
  * See extractFilePreviewStatus "hasLocalPreview" logic
92
64
  */
93
65
 
94
- exports.getCardPreviewFromCache = getCardPreviewFromCache;
66
+ exports.removeCardPreviewFromCache = removeCardPreviewFromCache;
95
67
 
96
68
  var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState) {
97
69
  return 'mimeType' in fileState && (0, _mediaCommon.isMimeTypeSupportedByBrowser)(fileState.mimeType) && (0, _mediaClient.isPreviewableFileState)(fileState) ? fileState.preview : undefined;
@@ -99,6 +71,34 @@ var getFilePreviewFromFileState = function getFilePreviewFromFileState(fileState
99
71
 
100
72
  exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
101
73
 
74
+ var extendAndCachePreview = function extendAndCachePreview(id, dimensions, preview, mediaBlobUrlAttrs) {
75
+ var source;
76
+
77
+ switch (preview.source) {
78
+ case 'local':
79
+ source = 'cache-local';
80
+ break;
81
+
82
+ case 'remote':
83
+ source = 'cache-remote';
84
+ break;
85
+
86
+ default:
87
+ source = preview.source;
88
+ } // We want to embed some meta context into dataURI for Copy/Paste to work.
89
+
90
+
91
+ var dataURI = mediaBlobUrlAttrs ? (0, _mediaClient.addFileAttrsToUrl)(preview.dataURI, mediaBlobUrlAttrs) : preview.dataURI; // We store new cardPreview into cache
92
+
93
+ _cache.default.set(id, dimensions, _objectSpread(_objectSpread({}, preview), {}, {
94
+ source: source,
95
+ dataURI: dataURI
96
+ }));
97
+
98
+ return _objectSpread(_objectSpread({}, preview), {}, {
99
+ dataURI: dataURI
100
+ });
101
+ };
102
102
  /**
103
103
  * This function will try to return a Card preview, either from cache, local preview or remote preview.
104
104
  * It should only be called if there is a chance to get either a remote or a local preview, or both.
@@ -109,49 +109,48 @@ exports.getFilePreviewFromFileState = getFilePreviewFromFileState;
109
109
  * In that case, we still want to report the local preview error to the caller, for feature realiability track.
110
110
  * hence the use of the optional callback onLocalPreviewError
111
111
  */
112
+
113
+
112
114
  var getCardPreview = /*#__PURE__*/function () {
113
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref4) {
114
- var mediaClient, id, collectionName, requestedDimensions, isRemotePreviewReady, addContextToDataURI, filePreview, _ref4$dimensions, dimensions, resizeMode, onLocalPreviewError, cardPreview;
115
+ 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;
115
117
 
116
118
  return _regenerator.default.wrap(function _callee$(_context) {
117
119
  while (1) {
118
120
  switch (_context.prev = _context.next) {
119
121
  case 0:
120
- mediaClient = _ref4.mediaClient, id = _ref4.id, collectionName = _ref4.collectionName, requestedDimensions = _ref4.requestedDimensions, isRemotePreviewReady = _ref4.isRemotePreviewReady, addContextToDataURI = _ref4.addContextToDataURI, filePreview = _ref4.filePreview, _ref4$dimensions = _ref4.dimensions, dimensions = _ref4$dimensions === void 0 ? {} : _ref4$dimensions, resizeMode = _ref4.resizeMode, onLocalPreviewError = _ref4.onLocalPreviewError;
121
- cardPreview = _cache.default.get(id, dimensions);
122
+ mediaClient = _ref.mediaClient, id = _ref.id, _ref$dimensions = _ref.dimensions, dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions, filePreview = _ref.filePreview, onLocalPreviewError = _ref.onLocalPreviewError, isRemotePreviewReady = _ref.isRemotePreviewReady, imageUrlParams = _ref.imageUrlParams, mediaBlobUrlAttrs = _ref.mediaBlobUrlAttrs;
123
+ cachedPreview = _cache.default.get(id, dimensions);
122
124
 
123
- if (!cardPreview) {
125
+ if (!cachedPreview) {
124
126
  _context.next = 4;
125
127
  break;
126
128
  }
127
129
 
128
- return _context.abrupt("return", _objectSpread(_objectSpread({}, cardPreview), {}, {
129
- source: 'cache'
130
- }));
130
+ return _context.abrupt("return", cachedPreview);
131
131
 
132
132
  case 4:
133
133
  _context.prev = 4;
134
- _context.t0 = filePreview;
135
134
 
136
- if (!_context.t0) {
135
+ if (!filePreview) {
137
136
  _context.next = 10;
138
137
  break;
139
138
  }
140
139
 
141
- _context.next = 9;
140
+ _context.next = 8;
142
141
  return (0, _helpers.getCardPreviewFromFilePreview)(filePreview);
143
142
 
144
- case 9:
145
- _context.t0 = _context.sent;
143
+ case 8:
144
+ localPreview = _context.sent;
145
+ return _context.abrupt("return", extendAndCachePreview(id, dimensions, localPreview, mediaBlobUrlAttrs));
146
146
 
147
147
  case 10:
148
- cardPreview = _context.t0;
149
- _context.next = 18;
148
+ _context.next = 17;
150
149
  break;
151
150
 
152
- case 13:
153
- _context.prev = 13;
154
- _context.t1 = _context["catch"](4);
151
+ case 12:
152
+ _context.prev = 12;
153
+ _context.t0 = _context["catch"](4);
155
154
 
156
155
  /**
157
156
  * We report the error if:
@@ -163,8 +162,8 @@ var getCardPreview = /*#__PURE__*/function () {
163
162
  * i.e. local preview is available and not supported,
164
163
  * but we are after the remote preview instead.
165
164
  */
166
- if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.t1) || (0, _errors.isUnsupportedLocalPreviewError)(_context.t1) && !isRemotePreviewReady) {
167
- onLocalPreviewError && onLocalPreviewError(_context.t1);
165
+ if (!(0, _errors.isUnsupportedLocalPreviewError)(_context.t0) || (0, _errors.isUnsupportedLocalPreviewError)(_context.t0) && !isRemotePreviewReady) {
166
+ onLocalPreviewError && onLocalPreviewError(_context.t0);
168
167
  }
169
168
  /**
170
169
  * No matter the reason why the local preview failed, we break the process
@@ -173,56 +172,54 @@ var getCardPreview = /*#__PURE__*/function () {
173
172
 
174
173
 
175
174
  if (isRemotePreviewReady) {
176
- _context.next = 18;
175
+ _context.next = 17;
177
176
  break;
178
177
  }
179
178
 
180
- throw _context.t1;
181
-
182
- case 18:
183
- if (cardPreview) {
184
- _context.next = 24;
185
- break;
186
- }
179
+ throw _context.t0;
187
180
 
181
+ case 17:
188
182
  if (isRemotePreviewReady) {
189
- _context.next = 21;
183
+ _context.next = 19;
190
184
  break;
191
185
  }
192
186
 
193
187
  throw new _errors.MediaCardError('remote-preview-not-ready');
194
188
 
189
+ case 19:
190
+ _context.next = 21;
191
+ return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, imageUrlParams);
192
+
195
193
  case 21:
196
- _context.next = 23;
197
- return (0, _helpers.getCardPreviewFromBackend)(mediaClient, id, requestedDimensions, collectionName, resizeMode);
194
+ remotePreview = _context.sent;
195
+ return _context.abrupt("return", extendAndCachePreview(id, dimensions, remotePreview, mediaBlobUrlAttrs));
198
196
 
199
197
  case 23:
200
- cardPreview = _context.sent;
201
-
202
- case 24:
203
- /**
204
- * In case we've retrieved cardPreview using one of the two methods above,
205
- * we want to embed some meta context into dataURI for Copy/Paste to work.
206
- */
207
- cardPreview = _objectSpread(_objectSpread({}, cardPreview), {}, {
208
- dataURI: addContextToDataURI(cardPreview.dataURI)
209
- }); // We store new cardPreview into cache
210
-
211
- _cache.default.set(id, dimensions, cardPreview);
212
-
213
- return _context.abrupt("return", cardPreview);
214
-
215
- case 27:
216
198
  case "end":
217
199
  return _context.stop();
218
200
  }
219
201
  }
220
- }, _callee, null, [[4, 13]]);
202
+ }, _callee, null, [[4, 12]]);
221
203
  }));
222
204
 
223
205
  return function getCardPreview(_x) {
224
- return _ref5.apply(this, arguments);
206
+ return _ref2.apply(this, arguments);
225
207
  };
226
208
  }();
227
209
 
228
- exports.getCardPreview = getCardPreview;
210
+ exports.getCardPreview = getCardPreview;
211
+
212
+ var shouldResolvePreview = function shouldResolvePreview(_ref3) {
213
+ var status = _ref3.status,
214
+ fileState = _ref3.fileState,
215
+ dimensions = _ref3.dimensions,
216
+ prevDimensions = _ref3.prevDimensions,
217
+ hasCardPreview = _ref3.hasCardPreview,
218
+ isBannedLocalPreview = _ref3.isBannedLocalPreview,
219
+ featureFlags = _ref3.featureFlags;
220
+ var statusIsPreviewable = (0, _filePreviewStatus.isPreviewableStatus)(status, (0, _filePreviewStatus.extractFilePreviewStatus)(fileState, isBannedLocalPreview, featureFlags));
221
+ var dimensionsAreBigger = (0, _dimensionComparer.isBigger)(prevDimensions, dimensions);
222
+ return statusIsPreviewable && (!hasCardPreview || dimensionsAreBigger);
223
+ };
224
+
225
+ exports.shouldResolvePreview = shouldResolvePreview;
@@ -3,7 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getCardStatus = void 0;
6
+ exports.getCardStatus = exports.isFinalCardStatus = void 0;
7
+
8
+ var isFinalCardStatus = function isFinalCardStatus(status) {
9
+ return ['complete', 'error', 'failed-processing'].includes(status);
10
+ };
11
+
12
+ exports.isFinalCardStatus = isFinalCardStatus;
7
13
 
8
14
  var getCardStatus = function getCardStatus(fileStatus, _ref) {
9
15
  var hasFilesize = _ref.hasFilesize,