@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
@@ -83,6 +83,8 @@ var _cardConstants = require("./card/cardConstants");
83
83
 
84
84
  var _errors = require("../errors");
85
85
 
86
+ var _types = require("../types");
87
+
86
88
  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; }
87
89
 
88
90
  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; }
@@ -114,30 +116,37 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
114
116
  didImageRender: false
115
117
  });
116
118
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "divRef", /*#__PURE__*/_react.default.createRef());
117
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageLoad", function () {
118
- var onImageLoad = _this.props.onImageLoad; // We render the icon & icon message always, even if there is dataURI available.
119
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageLoad", function (prevCardPreview) {
120
+ var _this$props = _this.props,
121
+ onImageLoad = _this$props.onImageLoad,
122
+ cardPreview = _this$props.cardPreview;
123
+
124
+ if (prevCardPreview.dataURI !== (cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI)) {
125
+ return;
126
+ } // We render the icon & icon message always, even if there is cardPreview available.
119
127
  // If the image fails to load/render, the icon will remain, i.e. the user won't see a change until
120
128
  // the root card decides to chage status to error.
121
129
  // If the image renders successfully, we switch this variable to hide the icon & icon message
122
130
  // behind the thumbnail in case the image has transparency.
123
- // It is less likely that root component replaces a suceeded dataURI for a failed one
131
+ // It is less likely that root component replaces a suceeded cardPreview for a failed one
124
132
  // than the opposite case. Therefore we prefer to hide the icon instead show when the image fails,
125
133
  // for a smoother transition
126
134
 
135
+
127
136
  _this.setState({
128
137
  didImageRender: true
129
138
  });
130
139
 
131
- onImageLoad && onImageLoad();
140
+ onImageLoad && onImageLoad(cardPreview);
132
141
  });
133
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageError", function () {
142
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onImageError", function (cardPreview) {
134
143
  var onImageError = _this.props.onImageError;
135
144
 
136
145
  _this.setState({
137
146
  didImageRender: false
138
147
  });
139
148
 
140
- onImageError && onImageError();
149
+ onImageError && onImageError(cardPreview);
141
150
  });
142
151
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "saveElementWidth", function () {
143
152
  var dimensions = _this.props.dimensions;
@@ -157,24 +166,24 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
157
166
  }
158
167
  });
159
168
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderFileNewExperience", function () {
160
- var _this$props = _this.props,
161
- dimensions = _this$props.dimensions,
162
- appearance = _this$props.appearance,
163
- onClick = _this$props.onClick,
164
- onMouseEnter = _this$props.onMouseEnter,
165
- testId = _this$props.testId,
166
- metadata = _this$props.metadata,
167
- status = _this$props.status,
168
- selected = _this$props.selected,
169
- selectable = _this$props.selectable,
170
- disableOverlay = _this$props.disableOverlay,
171
- dataURI = _this$props.dataURI;
169
+ var _this$props2 = _this.props,
170
+ dimensions = _this$props2.dimensions,
171
+ appearance = _this$props2.appearance,
172
+ onClick = _this$props2.onClick,
173
+ onMouseEnter = _this$props2.onMouseEnter,
174
+ testId = _this$props2.testId,
175
+ metadata = _this$props2.metadata,
176
+ status = _this$props2.status,
177
+ selected = _this$props2.selected,
178
+ selectable = _this$props2.selectable,
179
+ disableOverlay = _this$props2.disableOverlay,
180
+ cardPreview = _this$props2.cardPreview,
181
+ mediaCardCursor = _this$props2.mediaCardCursor;
172
182
 
173
183
  var _ref = metadata || {},
174
184
  name = _ref.name;
175
185
 
176
- var shouldUsePointerCursor = status !== 'error' && status !== 'failed-processing';
177
- var shouldDisplayBackground = !dataURI || !disableOverlay || status === 'error' || status === 'failed-processing';
186
+ var shouldDisplayBackground = !cardPreview || !disableOverlay || status === 'error' || status === 'failed-processing';
178
187
  var isPlayButtonClickable = !!(_this.shouldRenderPlayButton() && disableOverlay);
179
188
  var isTickBoxSelectable = !disableOverlay && !!selectable && !selected; // Disable tooltip for Media Single
180
189
 
@@ -188,7 +197,7 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
188
197
  onMouseEnter: onMouseEnter,
189
198
  innerRef: _this.divRef,
190
199
  breakpoint: _this.breakpoint,
191
- shouldUsePointerCursor: shouldUsePointerCursor,
200
+ mediaCardCursor: mediaCardCursor,
192
201
  disableOverlay: !!disableOverlay,
193
202
  selected: !!selected,
194
203
  displayBackground: shouldDisplayBackground,
@@ -202,27 +211,30 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
202
211
  }, _this.renderNewExperienceCard()) : _this.renderNewExperienceCard());
203
212
  });
204
213
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderFile", function () {
205
- var _this$props2 = _this.props,
206
- status = _this$props2.status,
207
- mediaItemType = _this$props2.mediaItemType,
208
- metadata = _this$props2.metadata,
209
- dataURI = _this$props2.dataURI,
210
- progress = _this$props2.progress,
211
- resizeMode = _this$props2.resizeMode,
212
- dimensions = _this$props2.dimensions,
213
- selectable = _this$props2.selectable,
214
- selected = _this$props2.selected,
215
- disableOverlay = _this$props2.disableOverlay,
216
- previewOrientation = _this$props2.previewOrientation,
217
- alt = _this$props2.alt,
218
- onDisplayImage = _this$props2.onDisplayImage,
219
- actions = _this$props2.actions;
214
+ var _this$props3 = _this.props,
215
+ cardPreview = _this$props3.cardPreview,
216
+ status = _this$props3.status,
217
+ mediaItemType = _this$props3.mediaItemType,
218
+ metadata = _this$props3.metadata,
219
+ progress = _this$props3.progress,
220
+ resizeMode = _this$props3.resizeMode,
221
+ dimensions = _this$props3.dimensions,
222
+ selectable = _this$props3.selectable,
223
+ selected = _this$props3.selected,
224
+ disableOverlay = _this$props3.disableOverlay,
225
+ alt = _this$props3.alt,
226
+ onDisplayImage = _this$props3.onDisplayImage,
227
+ actions = _this$props3.actions;
228
+
229
+ var _ref2 = cardPreview || {},
230
+ dataURI = _ref2.dataURI,
231
+ orientation = _ref2.orientation;
220
232
 
221
- var _ref2 = metadata || {},
222
- name = _ref2.name,
223
- mediaType = _ref2.mediaType,
224
- mimeType = _ref2.mimeType,
225
- size = _ref2.size;
233
+ var _ref3 = metadata || {},
234
+ name = _ref3.name,
235
+ mediaType = _ref3.mediaType,
236
+ mimeType = _ref3.mimeType,
237
+ size = _ref3.size;
226
238
 
227
239
  var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
228
240
  var errorMessage = (0, _getErrorMessage.getErrorMessage)(status);
@@ -244,32 +256,33 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
244
256
  onDisplayImage: onDisplayImage,
245
257
  actions: actionsWithDetails,
246
258
  disableOverlay: disableOverlay,
247
- previewOrientation: previewOrientation,
259
+ previewOrientation: orientation,
248
260
  alt: alt,
249
261
  onImageLoad: _this.onImageLoad,
250
- onImageError: _this.onImageError
262
+ onImageError: _this.onImageError,
263
+ cardPreview: cardPreview
251
264
  });
252
265
  });
253
266
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getRenderConfigByStatus", function () {
254
- var _this$props3 = _this.props,
255
- dataURI = _this$props3.dataURI,
256
- status = _this$props3.status,
257
- metadata = _this$props3.metadata,
258
- disableOverlay = _this$props3.disableOverlay,
259
- error = _this$props3.error,
260
- selectable = _this$props3.selectable,
261
- disableAnimation = _this$props3.disableAnimation;
267
+ var _this$props4 = _this.props,
268
+ cardPreview = _this$props4.cardPreview,
269
+ status = _this$props4.status,
270
+ metadata = _this$props4.metadata,
271
+ disableOverlay = _this$props4.disableOverlay,
272
+ error = _this$props4.error,
273
+ selectable = _this$props4.selectable,
274
+ disableAnimation = _this$props4.disableAnimation;
262
275
 
263
- var _ref3 = metadata || {},
264
- name = _ref3.name,
265
- mediaType = _ref3.mediaType;
276
+ var _ref4 = metadata || {},
277
+ name = _ref4.name,
278
+ mediaType = _ref4.mediaType;
266
279
 
267
280
  var didImageRender = _this.state.didImageRender;
268
281
  var isZeroSize = !!(metadata && metadata.size === 0);
269
282
  var defaultConfig = {
270
283
  renderTypeIcon: !didImageRender,
271
- renderImageRenderer: !!dataURI,
272
- renderPlayButton: !!dataURI && mediaType === 'video',
284
+ renderImageRenderer: !!cardPreview,
285
+ renderPlayButton: !!cardPreview && mediaType === 'video',
273
286
  renderBlanket: !disableOverlay,
274
287
  renderTitleBox: !disableOverlay && !!name,
275
288
  renderTickBox: !disableOverlay && !!selectable
@@ -306,8 +319,8 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
306
319
  var iconMessage;
307
320
  var customTitleMessage;
308
321
 
309
- var _ref4 = error || {},
310
- secondaryError = _ref4.secondaryError;
322
+ var _ref5 = error || {},
323
+ secondaryError = _ref5.secondaryError;
311
324
 
312
325
  if ((0, _mediaClient.isRateLimitedError)(secondaryError) || (0, _mediaClient.isPollingError)(secondaryError)) {
313
326
  iconMessage = /*#__PURE__*/_react.default.createElement(_iconMessage.PreviewCurrentlyUnavailable, null);
@@ -358,14 +371,14 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
358
371
  isFixedBlanket = _this$getRenderConfig.isFixedBlanket,
359
372
  customTitleMessage = _this$getRenderConfig.customTitleMessage;
360
373
 
361
- var _this$props4 = _this.props,
362
- progress = _this$props4.progress,
363
- selected = _this$props4.selected,
364
- status = _this$props4.status,
365
- metadata = _this$props4.metadata;
374
+ var _this$props5 = _this.props,
375
+ progress = _this$props5.progress,
376
+ selected = _this$props5.selected,
377
+ status = _this$props5.status,
378
+ metadata = _this$props5.metadata;
366
379
 
367
- var _ref5 = metadata || {},
368
- name = _ref5.name;
380
+ var _ref6 = metadata || {},
381
+ name = _ref6.name;
369
382
 
370
383
  var hasTitleBox = !!renderTitleBox || !!renderFailedTitleBox;
371
384
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled2.CardImageContainer, {
@@ -389,14 +402,14 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
389
402
  }
390
403
  }, {
391
404
  key: "componentDidUpdate",
392
- value: function componentDidUpdate(_ref6) {
393
- var prevDataURI = _ref6.dataURI;
394
- var dataURI = this.props.dataURI; // We should only switch didImageRender to false
395
- // when dataURI goes undefined, not when it is updated.
405
+ value: function componentDidUpdate(_ref7) {
406
+ var prevCardPreview = _ref7.cardPreview;
407
+ var cardPreview = this.props.cardPreview; // We should only switch didImageRender to false
408
+ // when cardPreview goes undefined, not when it is updated.
396
409
  // as this method could be triggered after onImageLoad callback,
397
410
  // falling on a race condition
398
411
 
399
- prevDataURI && !dataURI && this.setState({
412
+ !!prevCardPreview && !cardPreview && this.setState({
400
413
  didImageRender: false
401
414
  });
402
415
  }
@@ -411,10 +424,10 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
411
424
  return elementWidth;
412
425
  }
413
426
 
414
- var _ref7 = this.props.dimensions || {
427
+ var _ref8 = this.props.dimensions || {
415
428
  width: undefined
416
429
  },
417
- width = _ref7.width;
430
+ width = _ref8.width;
418
431
 
419
432
  if (!width) {
420
433
  return _cardDimensions.defaultImageCardDimensions.width;
@@ -439,12 +452,12 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
439
452
  return this.renderFileNewExperience();
440
453
  }
441
454
 
442
- var _this$props5 = this.props,
443
- dimensions = _this$props5.dimensions,
444
- appearance = _this$props5.appearance,
445
- onClick = _this$props5.onClick,
446
- onMouseEnter = _this$props5.onMouseEnter,
447
- testId = _this$props5.testId;
455
+ var _this$props6 = this.props,
456
+ dimensions = _this$props6.dimensions,
457
+ appearance = _this$props6.appearance,
458
+ onClick = _this$props6.onClick,
459
+ onMouseEnter = _this$props6.onMouseEnter,
460
+ testId = _this$props6.testId;
448
461
  var wrapperDimensions = dimensions ? dimensions : (0, _cardDimensions.getDefaultCardDimensions)(appearance);
449
462
  return /*#__PURE__*/_react.default.createElement(_styled.Wrapper, {
450
463
  "data-testid": testId || 'media-card-view',
@@ -467,14 +480,14 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
467
480
  }, {
468
481
  key: "shouldRenderPlayButton",
469
482
  value: function shouldRenderPlayButton() {
470
- var _this$props6 = this.props,
471
- metadata = _this$props6.metadata,
472
- dataURI = _this$props6.dataURI;
483
+ var _this$props7 = this.props,
484
+ metadata = _this$props7.metadata,
485
+ cardPreview = _this$props7.cardPreview;
473
486
 
474
- var _ref8 = metadata || {},
475
- mediaType = _ref8.mediaType;
487
+ var _ref9 = metadata || {},
488
+ mediaType = _ref9.mediaType;
476
489
 
477
- if (mediaType !== 'video' || !dataURI) {
490
+ if (mediaType !== 'video' || !cardPreview) {
478
491
  return false;
479
492
  }
480
493
 
@@ -500,14 +513,14 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
500
513
  }, {
501
514
  key: "renderTitleBox",
502
515
  value: function renderTitleBox() {
503
- var _this$props7 = this.props,
504
- metadata = _this$props7.metadata,
505
- titleBoxBgColor = _this$props7.titleBoxBgColor,
506
- titleBoxIcon = _this$props7.titleBoxIcon;
516
+ var _this$props8 = this.props,
517
+ metadata = _this$props8.metadata,
518
+ titleBoxBgColor = _this$props8.titleBoxBgColor,
519
+ titleBoxIcon = _this$props8.titleBoxIcon;
507
520
 
508
- var _ref9 = metadata || {},
509
- name = _ref9.name,
510
- createdAt = _ref9.createdAt;
521
+ var _ref10 = metadata || {},
522
+ name = _ref10.name,
523
+ createdAt = _ref10.createdAt;
511
524
 
512
525
  return !!name && /*#__PURE__*/_react.default.createElement(_titleBox.TitleBox, {
513
526
  name: name,
@@ -538,31 +551,27 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
538
551
  }, {
539
552
  key: "renderImageRenderer",
540
553
  value: function renderImageRenderer() {
541
- var _this$props8 = this.props,
542
- dataURI = _this$props8.dataURI,
543
- _this$props8$metadata = _this$props8.metadata;
544
- _this$props8$metadata = _this$props8$metadata === void 0 ? {} : _this$props8$metadata;
545
- var _this$props8$metadata2 = _this$props8$metadata.mediaType,
546
- mediaType = _this$props8$metadata2 === void 0 ? 'unknown' : _this$props8$metadata2,
547
- previewOrientation = _this$props8.previewOrientation,
548
- alt = _this$props8.alt,
549
- resizeMode = _this$props8.resizeMode,
550
- onDisplayImage = _this$props8.onDisplayImage,
551
- nativeLazyLoad = _this$props8.nativeLazyLoad,
552
- forceSyncDisplay = _this$props8.forceSyncDisplay;
553
- var didImageRender = this.state.didImageRender;
554
- return !!dataURI && /*#__PURE__*/_react.default.createElement(_imageRenderer.ImageRenderer, {
555
- dataURI: dataURI,
554
+ var _this$props9 = this.props,
555
+ cardPreview = _this$props9.cardPreview,
556
+ _this$props9$metadata = _this$props9.metadata;
557
+ _this$props9$metadata = _this$props9$metadata === void 0 ? {} : _this$props9$metadata;
558
+ var _this$props9$metadata2 = _this$props9$metadata.mediaType,
559
+ mediaType = _this$props9$metadata2 === void 0 ? 'unknown' : _this$props9$metadata2,
560
+ alt = _this$props9.alt,
561
+ resizeMode = _this$props9.resizeMode,
562
+ onDisplayImage = _this$props9.onDisplayImage,
563
+ nativeLazyLoad = _this$props9.nativeLazyLoad,
564
+ forceSyncDisplay = _this$props9.forceSyncDisplay;
565
+ return !!cardPreview && /*#__PURE__*/_react.default.createElement(_imageRenderer.ImageRenderer, {
566
+ cardPreview: cardPreview,
556
567
  mediaType: mediaType,
557
- previewOrientation: previewOrientation,
558
568
  alt: alt,
559
569
  resizeMode: resizeMode,
560
570
  onDisplayImage: onDisplayImage,
561
571
  onImageLoad: this.onImageLoad,
562
572
  onImageError: this.onImageError,
563
573
  nativeLazyLoad: nativeLazyLoad,
564
- forceSyncDisplay: forceSyncDisplay,
565
- isImageVisible: forceSyncDisplay || didImageRender
574
+ forceSyncDisplay: forceSyncDisplay
566
575
  });
567
576
  }
568
577
  }, {
@@ -578,10 +587,10 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
578
587
  value: function renderMediaTypeIcon(hasTitleBox, iconMessage) {
579
588
  var metadata = this.props.metadata;
580
589
 
581
- var _ref10 = metadata || {},
582
- mediaType = _ref10.mediaType,
583
- mimeType = _ref10.mimeType,
584
- name = _ref10.name;
590
+ var _ref11 = metadata || {},
591
+ mediaType = _ref11.mediaType,
592
+ mimeType = _ref11.mimeType,
593
+ name = _ref11.name;
585
594
 
586
595
  return /*#__PURE__*/_react.default.createElement(_styled4.IconWrapper, {
587
596
  breakpoint: this.breakpoint,
@@ -596,10 +605,10 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
596
605
  }, {
597
606
  key: "renderActionsBar",
598
607
  value: function renderActionsBar() {
599
- var _this$props9 = this.props,
600
- disableOverlay = _this$props9.disableOverlay,
601
- actions = _this$props9.actions,
602
- metadata = _this$props9.metadata;
608
+ var _this$props10 = this.props,
609
+ disableOverlay = _this$props10.disableOverlay,
610
+ actions = _this$props10.actions,
611
+ metadata = _this$props10.metadata;
603
612
  var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
604
613
 
605
614
  if (disableOverlay || !actions || actions.length === 0) {
@@ -616,7 +625,8 @@ var CardViewBase = /*#__PURE__*/function (_React$Component) {
616
625
 
617
626
  exports.CardViewBase = CardViewBase;
618
627
  (0, _defineProperty2.default)(CardViewBase, "defaultProps", {
619
- appearance: 'auto'
628
+ appearance: 'auto',
629
+ mediaCardCursor: _types.MediaCardCursor.NoAction
620
630
  });
621
631
  var CardView = (0, _analyticsNext.withAnalyticsEvents)({
622
632
  onClick: (0, _analytics.createAndFireMediaCardEvent)({
@@ -331,7 +331,8 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
331
331
  testId = _this$props4.testId,
332
332
  identifier = _this$props4.identifier,
333
333
  forwardRef = _this$props4.forwardRef,
334
- autoplay = _this$props4.autoplay;
334
+ autoplay = _this$props4.autoplay,
335
+ cardPreview = _this$props4.cardPreview;
335
336
  var _this$state = this.state,
336
337
  fileSrc = _this$state.fileSrc,
337
338
  isUploading = _this$state.isUploading,
@@ -364,7 +365,8 @@ var InlinePlayerBase = /*#__PURE__*/function (_Component) {
364
365
  contentId: identifier.id
365
366
  },
366
367
  originalDimensions: originalDimensions,
367
- showControls: checkMouseMovement
368
+ showControls: checkMouseMovement,
369
+ poster: cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI
368
370
  });
369
371
  }), isUploading ? /*#__PURE__*/_react.default.createElement(_progressBar.ProgressBar, {
370
372
  progress: progress,
@@ -7,9 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.ImageRendererBase = exports.ImageRenderer = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ exports.ImageRenderer = void 0;
13
11
 
14
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
13
 
@@ -19,17 +17,12 @@ var _mediaUi = require("@atlaskit/media-ui");
19
17
 
20
18
  var _resizeModeToMediaImageProps = require("../../../utils/resizeModeToMediaImageProps");
21
19
 
22
- var _styledComponents = _interopRequireDefault(require("styled-components"));
23
-
24
- var _templateObject;
25
-
26
20
  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); }
27
21
 
28
22
  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; }
29
23
 
30
- var ImageRendererBase = function ImageRendererBase(_ref) {
31
- var dataURI = _ref.dataURI,
32
- previewOrientation = _ref.previewOrientation,
24
+ var ImageRenderer = function ImageRenderer(_ref) {
25
+ var cardPreview = _ref.cardPreview,
33
26
  alt = _ref.alt,
34
27
  resizeMode = _ref.resizeMode,
35
28
  onImageLoad = _ref.onImageLoad,
@@ -37,30 +30,31 @@ var ImageRendererBase = function ImageRendererBase(_ref) {
37
30
  onDisplayImage = _ref.onDisplayImage,
38
31
  mediaType = _ref.mediaType,
39
32
  nativeLazyLoad = _ref.nativeLazyLoad,
40
- forceSyncDisplay = _ref.forceSyncDisplay,
41
- _ref$className = _ref.className,
42
- className = _ref$className === void 0 ? 'media-card-image-renderer' : _ref$className;
33
+ forceSyncDisplay = _ref.forceSyncDisplay;
43
34
  (0, _react.useEffect)(function () {
44
35
  // TODO: trigger accordingly with the succeeded event. This could be a breaking change
45
36
  if (mediaType === 'image' && onDisplayImage) {
46
37
  onDisplayImage();
47
38
  }
48
39
  }, [mediaType, onDisplayImage]);
40
+
41
+ var onLoad = function onLoad() {
42
+ onImageLoad && onImageLoad(cardPreview);
43
+ };
44
+
45
+ var onError = function onError() {
46
+ onImageError && onImageError(cardPreview);
47
+ };
48
+
49
49
  return /*#__PURE__*/_react.default.createElement(_mediaUi.MediaImage, (0, _extends2.default)({
50
- className: className,
51
- dataURI: dataURI,
50
+ dataURI: cardPreview.dataURI,
52
51
  alt: alt,
53
- previewOrientation: previewOrientation,
54
- onImageLoad: onImageLoad,
55
- onImageError: onImageError,
52
+ previewOrientation: cardPreview.orientation,
53
+ onImageLoad: onLoad,
54
+ onImageError: onError,
56
55
  loading: nativeLazyLoad ? 'lazy' : undefined,
57
56
  forceSyncDisplay: forceSyncDisplay
58
57
  }, (0, _resizeModeToMediaImageProps.resizeModeToMediaImageProps)(resizeMode)));
59
58
  };
60
59
 
61
- exports.ImageRendererBase = ImageRendererBase;
62
- var ImageRenderer = (0, _styledComponents.default)(ImageRendererBase)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), function (_ref2) {
63
- var isImageVisible = _ref2.isImageVisible;
64
- return "\n visibility: ".concat(isImageVisible ? 'visible' : 'hidden', ";\n");
65
- });
66
60
  exports.ImageRenderer = ImageRenderer;
@@ -88,8 +88,8 @@ var getWrapperShadow = function getWrapperShadow(disableOverlay, selected) {
88
88
  return shadow ? "box-shadow: ".concat(shadow, ";") : '';
89
89
  };
90
90
 
91
- var getCursorStyle = function getCursorStyle(shouldUsePointerCursor) {
92
- return "cursor: ".concat(shouldUsePointerCursor ? 'pointer' : 'default', ";");
91
+ var getCursorStyle = function getCursorStyle(cursor) {
92
+ return "cursor: ".concat(cursor, ";");
93
93
  };
94
94
 
95
95
  var getClickablePlayButtonStyles = function getClickablePlayButtonStyles(isPlayButtonClickable) {
@@ -112,14 +112,14 @@ var NewFileExperienceWrapper = _styledComponents.default.div(_templateObject ||
112
112
  var breakpoint = _ref6.breakpoint,
113
113
  dimensions = _ref6.dimensions,
114
114
  appearance = _ref6.appearance,
115
- shouldUsePointerCursor = _ref6.shouldUsePointerCursor,
116
115
  disableOverlay = _ref6.disableOverlay,
117
116
  displayBackground = _ref6.displayBackground,
118
117
  selected = _ref6.selected,
119
118
  isPlayButtonClickable = _ref6.isPlayButtonClickable,
120
119
  isTickBoxSelectable = _ref6.isTickBoxSelectable,
121
- shouldDisplayTooltip = _ref6.shouldDisplayTooltip;
122
- return "\n ".concat((0, _styles.transition)(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat((0, _constants.fontFamily)(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(_colors.N20, ";") : '', "\n ").concat(_mediaUi.borderRadius, "\n ").concat(getCursorStyle(shouldUsePointerCursor), "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(_selection.hideNativeBrowserTextSelectionStyles, "\n\n /* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ").concat(getClickablePlayButtonStyles(isPlayButtonClickable), "\n ").concat(getSelectableTickBoxStyles(isTickBoxSelectable), "\n &:hover .").concat(_styled2.blanketClassName, " {\n ").concat(_styled2.fixedBlanketStyles, "\n }\n\n &:hover .").concat(_styled3.actionsBarClassName, " {\n ").concat(_styled3.fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { width: 100%; height: 100% }" : '', "\n");
120
+ shouldDisplayTooltip = _ref6.shouldDisplayTooltip,
121
+ mediaCardCursor = _ref6.mediaCardCursor;
122
+ return "\n ".concat((0, _styles.transition)(), "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ").concat((0, _constants.fontFamily)(), ";\n ").concat(getWrapperDimensions(dimensions, appearance), "\n ").concat(displayBackground ? "background-color: ".concat(_colors.N20, ";") : '', "\n ").concat(_mediaUi.borderRadius, "\n ").concat(getCursorStyle(mediaCardCursor), "\n ").concat(getWrapperShadow(disableOverlay, selected), "\n ").concat(generateResponsiveStyles(breakpoint), "\n ").concat(_selection.hideNativeBrowserTextSelectionStyles, "\n\n /* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ").concat(getClickablePlayButtonStyles(isPlayButtonClickable), "\n ").concat(getSelectableTickBoxStyles(isTickBoxSelectable), "\n &:hover .").concat(_styled2.blanketClassName, " {\n ").concat(_styled2.fixedBlanketStyles, "\n }\n\n &:hover .").concat(_styled3.actionsBarClassName, " {\n ").concat(_styled3.fixedActionBarStyles, "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ").concat(shouldDisplayTooltip ? "> div { width: 100%; height: 100% }" : '', "\n");
123
123
  });
124
124
 
125
125
  exports.NewFileExperienceWrapper = NewFileExperienceWrapper;
package/dist/cjs/types.js CHANGED
@@ -2,4 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+ exports.MediaCardCursor = void 0;
7
+ var MediaCardCursor;
8
+ exports.MediaCardCursor = MediaCardCursor;
9
+
10
+ (function (MediaCardCursor) {
11
+ MediaCardCursor["Action"] = "pointer";
12
+ MediaCardCursor["NoAction"] = "default";
13
+ MediaCardCursor["NotReady"] = "wait";
14
+ })(MediaCardCursor || (exports.MediaCardCursor = MediaCardCursor = {}));