@atlaskit/media-card 77.4.7 → 77.4.8

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 (47) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/card/card.js +1 -1
  3. package/dist/cjs/card/cardView.js +11 -7
  4. package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
  5. package/dist/cjs/card/v2/cardV2.js +1 -1
  6. package/dist/cjs/card/v2/cardViewV2.js +0 -3
  7. package/dist/cjs/card/v2/externalImageCard.js +3 -3
  8. package/dist/cjs/card/v2/fileCard.js +16 -15
  9. package/dist/cjs/card/v2/useFilePreview.js +44 -20
  10. package/dist/cjs/inline/loader.js +1 -1
  11. package/dist/cjs/utils/getDataURIDimension.js +38 -1
  12. package/dist/cjs/utils/ufoExperiences.js +1 -1
  13. package/dist/es2019/card/card.js +1 -1
  14. package/dist/es2019/card/cardView.js +6 -1
  15. package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
  16. package/dist/es2019/card/v2/cardV2.js +1 -1
  17. package/dist/es2019/card/v2/cardViewV2.js +0 -2
  18. package/dist/es2019/card/v2/externalImageCard.js +3 -3
  19. package/dist/es2019/card/v2/fileCard.js +18 -17
  20. package/dist/es2019/card/v2/useFilePreview.js +46 -21
  21. package/dist/es2019/inline/loader.js +1 -1
  22. package/dist/es2019/utils/getDataURIDimension.js +39 -0
  23. package/dist/es2019/utils/ufoExperiences.js +1 -1
  24. package/dist/esm/card/card.js +1 -1
  25. package/dist/esm/card/cardView.js +11 -7
  26. package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
  27. package/dist/esm/card/v2/cardV2.js +1 -1
  28. package/dist/esm/card/v2/cardViewV2.js +0 -3
  29. package/dist/esm/card/v2/externalImageCard.js +3 -3
  30. package/dist/esm/card/v2/fileCard.js +18 -17
  31. package/dist/esm/card/v2/useFilePreview.js +45 -21
  32. package/dist/esm/inline/loader.js +1 -1
  33. package/dist/esm/utils/getDataURIDimension.js +38 -0
  34. package/dist/esm/utils/ufoExperiences.js +1 -1
  35. package/dist/types/card/v2/cardViewV2.d.ts +17 -6
  36. package/dist/types/card/v2/fileCard.d.ts +40 -6
  37. package/dist/types/card/v2/useFilePreview.d.ts +5 -9
  38. package/dist/types/utils/getDataURIDimension.d.ts +17 -0
  39. package/dist/types/utils/globalScope/globalScope.d.ts +2 -2
  40. package/dist/types/utils/globalScope/types.d.ts +1 -1
  41. package/dist/types-ts4.5/card/v2/cardViewV2.d.ts +17 -6
  42. package/dist/types-ts4.5/card/v2/fileCard.d.ts +40 -6
  43. package/dist/types-ts4.5/card/v2/useFilePreview.d.ts +5 -9
  44. package/dist/types-ts4.5/utils/getDataURIDimension.d.ts +17 -0
  45. package/dist/types-ts4.5/utils/globalScope/globalScope.d.ts +2 -2
  46. package/dist/types-ts4.5/utils/globalScope/types.d.ts +1 -1
  47. package/package.json +5 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/media-card
2
2
 
3
+ ## 77.4.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [#59147](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59147) [`f12e489f23b0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f12e489f23b0) - Re-build and deploy packages to NPM to resolve React/Compiled not found error (HOT-106483).
8
+ - [#58813](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/58813) [`28b2b3f41843`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/28b2b3f41843) - Internal components use useMediaClient hook
9
+ - [#56822](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/56822) [`77f4fbf44e93`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/77f4fbf44e93) - ECA11Y-78: Added announce for the selected file
10
+ - [#58473](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/58473) [`7c4103bcdc2c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7c4103bcdc2c) - refactored use of card dimensions and requested dimensions in card V2
11
+
3
12
  ## 77.4.7
4
13
 
5
14
  ### Patch Changes
@@ -49,7 +49,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
49
49
  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); }; }
50
50
  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; } }
51
51
  var packageName = "@atlaskit/media-card";
52
- var packageVersion = "77.4.7";
52
+ var packageVersion = "77.4.8";
53
53
  var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
54
54
  (0, _inherits2.default)(CardBase, _Component);
55
55
  var _super = _createSuper(CardBase);
@@ -38,6 +38,7 @@ var _iconMessage = require("./ui/iconMessage");
38
38
  var _errors = require("../errors");
39
39
  var _wrapper = require("./ui/wrapper");
40
40
  var _classnames = require("./classnames");
41
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
41
42
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
42
43
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
43
44
  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); }; }
@@ -334,10 +335,13 @@ var CardViewBase = exports.CardViewBase = /*#__PURE__*/function (_React$Componen
334
335
  onDisplayImage = _this$props6.onDisplayImage,
335
336
  nativeLazyLoad = _this$props6.nativeLazyLoad,
336
337
  forceSyncDisplay = _this$props6.forceSyncDisplay;
338
+ var _ref7 = this.props.metadata || {},
339
+ name = _ref7.name;
340
+ var altText = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-media_er96o') ? alt || name : alt;
337
341
  return !!cardPreview && (0, _react.jsx)(_imageRenderer.ImageRenderer, {
338
342
  cardPreview: cardPreview,
339
343
  mediaType: mediaType,
340
- alt: alt,
344
+ alt: altText,
341
345
  resizeMode: resizeMode,
342
346
  onDisplayImage: onDisplayImage,
343
347
  onImageLoad: this.onImageLoad,
@@ -358,10 +362,10 @@ var CardViewBase = exports.CardViewBase = /*#__PURE__*/function (_React$Componen
358
362
  key: "renderMediaTypeIcon",
359
363
  value: function renderMediaTypeIcon(hasTitleBox, iconMessage) {
360
364
  var metadata = this.props.metadata;
361
- var _ref7 = metadata || {},
362
- mediaType = _ref7.mediaType,
363
- mimeType = _ref7.mimeType,
364
- name = _ref7.name;
365
+ var _ref8 = metadata || {},
366
+ mediaType = _ref8.mediaType,
367
+ mimeType = _ref8.mimeType,
368
+ name = _ref8.name;
365
369
  return (0, _react.jsx)(_iconWrapper.IconWrapper, {
366
370
  breakpoint: this.breakpoint,
367
371
  hasTitleBox: hasTitleBox
@@ -404,8 +408,8 @@ var CardViewBase = exports.CardViewBase = /*#__PURE__*/function (_React$Componen
404
408
  cardPreview = _this$props8.cardPreview,
405
409
  mediaCardCursor = _this$props8.mediaCardCursor,
406
410
  shouldHideTooltip = _this$props8.shouldHideTooltip;
407
- var _ref8 = metadata || {},
408
- name = _ref8.name;
411
+ var _ref9 = metadata || {},
412
+ name = _ref9.name;
409
413
  var shouldDisplayBackground = !cardPreview || !disableOverlay || status === 'error' || status === 'failed-processing';
410
414
  var isPlayButtonClickable = !!(this.shouldRenderPlayButton() && disableOverlay);
411
415
  var isTickBoxSelectable = !disableOverlay && !!selectable && !selected;
@@ -90,7 +90,7 @@ var WrappedMediaCardAnalyticsErrorBoundary = /*#__PURE__*/function (_React$Compo
90
90
  }(_react.default.Component);
91
91
  (0, _defineProperty2.default)(WrappedMediaCardAnalyticsErrorBoundary, "displayName", 'MediaCardAnalyticsErrorBoundary');
92
92
  var packageName = "@atlaskit/media-card";
93
- var packageVersion = "77.4.7";
93
+ var packageVersion = "77.4.8";
94
94
  var MediaCardAnalyticsErrorBoundary = (0, _mediaCommon.withMediaAnalyticsContext)({
95
95
  packageVersion: packageVersion,
96
96
  packageName: packageName,
@@ -16,7 +16,7 @@ var _externalImageCard = require("./externalImageCard");
16
16
  var _fileCard = require("./fileCard");
17
17
  var _excluded = ["identifier"];
18
18
  var packageName = "@atlaskit/media-card";
19
- var packageVersion = "77.4.7";
19
+ var packageVersion = "77.4.8";
20
20
  var CardV2Base = exports.CardV2Base = function CardV2Base(_ref) {
21
21
  var identifier = _ref.identifier,
22
22
  otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -41,8 +41,6 @@ var CardViewV2Base = exports.CardViewV2Base = function CardViewV2Base(_ref) {
41
41
  onImageLoad = _ref.onImageLoad,
42
42
  onImageError = _ref.onImageError,
43
43
  dimensions = _ref.dimensions,
44
- _ref$appearance = _ref.appearance,
45
- appearance = _ref$appearance === void 0 ? 'auto' : _ref$appearance,
46
44
  onClick = _ref.onClick,
47
45
  onMouseEnter = _ref.onMouseEnter,
48
46
  testId = _ref.testId,
@@ -263,7 +261,6 @@ var CardViewV2Base = exports.CardViewV2Base = function CardViewV2Base(_ref) {
263
261
  return (0, _react.jsx)(_wrapper.Wrapper, {
264
262
  testId: testId || 'media-card-view',
265
263
  dimensions: dimensions,
266
- appearance: appearance,
267
264
  onClick: onClick,
268
265
  onMouseEnter: onMouseEnter,
269
266
  innerRef: divRef,
@@ -19,6 +19,7 @@ var _generateUniqueId = require("../../utils/generateUniqueId");
19
19
  var _getMediaCardCursor = require("../../utils/getMediaCardCursor");
20
20
  var _ufoExperiences = require("../../utils/ufoExperiences");
21
21
  var _useCurrentValueRef = require("../../utils/useCurrentValueRef");
22
+ var _cardDimensions = require("../../utils/cardDimensions");
22
23
  var _usePrevious = require("../../utils/usePrevious");
23
24
  var _cardAnalytics = require("../cardAnalytics");
24
25
  var _cardViewV = require("./cardViewV2");
@@ -52,6 +53,7 @@ var ExternalImageCard = exports.ExternalImageCard = function ExternalImageCard(_
52
53
  _onClick = _ref.onClick,
53
54
  _onMouseEnter = _ref.onMouseEnter,
54
55
  createAnalyticsEvent = _ref.createAnalyticsEvent;
56
+ var cardDimensions = dimensions || (0, _cardDimensions.getDefaultCardDimensions)(appearance);
55
57
  var internalOccurrenceKey = (0, _react.useMemo)(function () {
56
58
  return (0, _generateUniqueId.generateUniqueId)();
57
59
  }, []);
@@ -233,9 +235,8 @@ var ExternalImageCard = exports.ExternalImageCard = function ExternalImageCard(_
233
235
  metadata: metadata,
234
236
  cardPreview: cardPreview,
235
237
  alt: alt,
236
- appearance: appearance,
237
238
  resizeMode: resizeMode,
238
- dimensions: dimensions,
239
+ dimensions: cardDimensions,
239
240
  actions: actions,
240
241
  selectable: selectable,
241
242
  selected: selected,
@@ -273,7 +274,6 @@ var ExternalImageCard = exports.ExternalImageCard = function ExternalImageCard(_
273
274
  },
274
275
  innerRef: setCardElement,
275
276
  testId: testId,
276
- featureFlags: featureFlags,
277
277
  titleBoxBgColor: titleBoxBgColor,
278
278
  titleBoxIcon: titleBoxIcon,
279
279
  onImageError: function onImageError(newCardPreview) {
@@ -27,6 +27,7 @@ var _useCurrentValueRef = require("../../utils/useCurrentValueRef");
27
27
  var _usePrevious = require("../../utils/usePrevious");
28
28
  var _videoIsPlayable = require("../../utils/videoIsPlayable");
29
29
  var _viewportDetector = require("../../utils/viewportDetector");
30
+ var _cardDimensions = require("../../utils/cardDimensions");
30
31
  var _cardAnalytics = require("../cardAnalytics");
31
32
  var _getCardPreview = require("../getCardPreview");
32
33
  var _cardViewV = require("./cardViewV2");
@@ -49,7 +50,6 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
49
50
  featureFlags = _ref$featureFlags === void 0 ? {} : _ref$featureFlags,
50
51
  identifier = _ref.identifier,
51
52
  ssr = _ref.ssr,
52
- mediaClient = _ref.mediaClient,
53
53
  dimensions = _ref.dimensions,
54
54
  originalDimensions = _ref.originalDimensions,
55
55
  contextId = _ref.contextId,
@@ -73,19 +73,24 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
73
73
  //------------ State, Refs & Initial Values ----------------------//
74
74
  //----------------------------------------------------------------//
75
75
 
76
+ var mediaClient = (0, _mediaClientReact.useMediaClient)();
76
77
  var _useState = (0, _react.useState)(null),
77
78
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
78
79
  cardElement = _useState2[0],
79
80
  setCardElement = _useState2[1];
80
- var requestedDimensions = (0, _react.useMemo)(function () {
81
+ var cardDimensions = dimensions || (0, _cardDimensions.getDefaultCardDimensions)(appearance);
82
+
83
+ // Calculate the preview dimensions if card dimensions are "percentage" based
84
+ var previewDimensions = (0, _react.useMemo)(function () {
81
85
  return (
82
- // requested dimensions is eventually an expensive operation if the dimensions are a percentage
83
- (0, _getDataURIDimension.getRequestedDimensions)({
84
- dimensions: dimensions,
86
+ // resolving dimensions is eventually an expensive operation if the dimensions are a percentage
87
+ // thus needs to be memoized
88
+ (0, _getDataURIDimension.resolveCardPreviewDimensions)({
89
+ dimensions: cardDimensions,
85
90
  element: cardElement
86
91
  })
87
92
  );
88
- }, [dimensions, cardElement]);
93
+ }, [cardDimensions, cardElement]);
89
94
  var _useState3 = (0, _react.useState)(!isLazy),
90
95
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
91
96
  isCardVisible = _useState4[0],
@@ -164,18 +169,16 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
164
169
  mimeType: mimeType,
165
170
  name: name,
166
171
  size: size
167
- }, originalDimensions || requestedDimensions), {}, {
172
+ }, originalDimensions || previewDimensions), {}, {
168
173
  alt: alt
169
174
  }) : undefined;
170
- }, [alt, requestedDimensions, contextId, fileStateValue, identifier, originalDimensions]);
175
+ }, [alt, previewDimensions, contextId, fileStateValue, identifier, originalDimensions]);
171
176
  var _useFilePreview = (0, _useFilePreview2.useFilePreview)({
172
177
  mediaBlobUrlAttrs: mediaBlobUrlAttrs,
173
178
  resizeMode: resizeMode,
174
179
  identifier: identifier,
175
180
  ssr: ssr,
176
- mediaClient: mediaClient,
177
- dimensions: dimensions,
178
- requestedDimensions: requestedDimensions,
181
+ dimensions: previewDimensions,
179
182
  traceContext: traceContext,
180
183
  previewDidRender: previewDidRender,
181
184
  skipRemote: !isCardVisible
@@ -523,9 +526,8 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
523
526
  metadata: metadata,
524
527
  cardPreview: cardPreview,
525
528
  alt: alt,
526
- appearance: appearance,
527
529
  resizeMode: resizeMode,
528
- dimensions: dimensions,
530
+ dimensions: cardDimensions,
529
531
  actions: computedActions,
530
532
  selectable: selectable,
531
533
  selected: selected,
@@ -549,7 +551,6 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
549
551
  } : undefined,
550
552
  innerRef: setCardElement,
551
553
  testId: testId,
552
- featureFlags: featureFlags,
553
554
  titleBoxBgColor: titleBoxBgColor,
554
555
  titleBoxIcon: titleBoxIcon,
555
556
  onImageError: withCallbacks ? onImageError : undefined,
@@ -576,7 +577,7 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
576
577
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isPlayingFile ? /*#__PURE__*/_react.default.createElement(_react.Suspense, {
577
578
  fallback: inlinePlayerFallback
578
579
  }, /*#__PURE__*/_react.default.createElement(_inlinePlayerLazyV.InlinePlayerLazyV2, {
579
- dimensions: dimensions,
580
+ dimensions: cardDimensions,
580
581
  originalDimensions: originalDimensions,
581
582
  identifier: identifier,
582
583
  autoplay: !!shouldAutoplay,
@@ -17,6 +17,7 @@ var _react = require("react");
17
17
  var _errors = require("../../errors");
18
18
  var _analytics = require("../../utils/analytics");
19
19
  var _dimensionComparer = require("../../utils/dimensionComparer");
20
+ var _isRetina = require("../../utils/isRetina");
20
21
  var _globalScope = require("../../utils/globalScope");
21
22
  var _useCurrentValueRef = require("../../utils/useCurrentValueRef");
22
23
  var _usePrevious = require("../../utils/usePrevious");
@@ -30,13 +31,12 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
30
31
  resizeMode = _ref$resizeMode === void 0 ? 'crop' : _ref$resizeMode,
31
32
  identifier = _ref.identifier,
32
33
  ssr = _ref.ssr,
33
- mediaClient = _ref.mediaClient,
34
34
  dimensions = _ref.dimensions,
35
- requestedDimensions = _ref.requestedDimensions,
36
35
  traceContext = _ref.traceContext,
37
36
  previewDidRender = _ref.previewDidRender,
38
37
  skipRemote = _ref.skipRemote,
39
38
  mediaBlobUrlAttrs = _ref.mediaBlobUrlAttrs;
39
+ var mediaClient = (0, _mediaClientReact.useMediaClient)();
40
40
  var _useState = (0, _react.useState)(),
41
41
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
42
42
  error = _useState2[0],
@@ -45,6 +45,10 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
45
45
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
46
46
  nonCriticalError = _useState4[0],
47
47
  setNonCriticalError = _useState4[1];
48
+ var requestDimensions = (0, _react.useMemo)(function () {
49
+ return dimensions ? createRequestDimensions(dimensions) : undefined;
50
+ }, [dimensions]);
51
+
48
52
  //----------------------------------------------------------------//
49
53
  //---------------- State Initializer Functions -------------------//
50
54
  //----------------------------------------------------------------//
@@ -62,10 +66,10 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
62
66
  return _objectSpread(_objectSpread({
63
67
  collection: identifier.collectionName,
64
68
  mode: resizeMode === 'stretchy-fit' ? 'full-fit' : resizeMode
65
- }, requestedDimensions), {}, {
69
+ }, requestDimensions), {}, {
66
70
  allowAnimated: true
67
71
  });
68
- }, [requestedDimensions, identifier.collectionName, resizeMode]);
72
+ }, [requestDimensions, identifier.collectionName, resizeMode]);
69
73
  var getSSRPreview = function getSSRPreview(ssr, identifier, mediaClient) {
70
74
  var _ssrDataRef$current, _ssrDataRef$current2;
71
75
  ssrDataRef.current = (0, _globalScope.getSSRData)(identifier);
@@ -83,8 +87,12 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
83
87
  }, (0, _analytics.extractErrorInfo)(e));
84
88
  }
85
89
  } else {
90
+ var _ssrDataRef$current3 = ssrDataRef.current,
91
+ _dimensions = _ssrDataRef$current3.dimensions,
92
+ dataURI = _ssrDataRef$current3.dataURI;
86
93
  return {
87
- dataURI: ssrDataRef.current.dataURI,
94
+ dataURI: dataURI,
95
+ dimensions: _dimensions,
88
96
  source: 'ssr-data'
89
97
  };
90
98
  }
@@ -132,7 +140,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
132
140
  //----------------------------------------------------------------//
133
141
 
134
142
  var fetchRemotePreviewRef = (0, _useCurrentValueRef.useCurrentValueRef)(function (identifier) {
135
- return (0, _getCardPreview.fetchAndCacheRemotePreview)(mediaClient, identifier.id, dimensions !== null && dimensions !== void 0 ? dimensions : {}, imageURLParams, mediaBlobUrlAttrs);
143
+ return (0, _getCardPreview.fetchAndCacheRemotePreview)(mediaClient, identifier.id, requestDimensions || {}, imageURLParams, mediaBlobUrlAttrs, traceContext);
136
144
  });
137
145
  var resolvePreviewRef = (0, _useCurrentValueRef.useCurrentValueRef)( /*#__PURE__*/function () {
138
146
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(identifier, fileState) {
@@ -145,7 +153,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
145
153
  _context.prev = 2;
146
154
  mode = imageURLParams.mode;
147
155
  cachedPreview = _cache.default.get(identifier.id, mode);
148
- dimensionsAreBigger = (0, _dimensionComparer.isBigger)(cachedPreview === null || cachedPreview === void 0 ? void 0 : cachedPreview.dimensions, dimensions);
156
+ dimensionsAreBigger = (0, _dimensionComparer.isBigger)(cachedPreview === null || cachedPreview === void 0 ? void 0 : cachedPreview.dimensions, requestDimensions);
149
157
  if (!(cachedPreview && !dimensionsAreBigger)) {
150
158
  _context.next = 8;
151
159
  break;
@@ -239,7 +247,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
239
247
  throw new _errors.LocalPreviewError('local-preview-unsupported');
240
248
  case 57:
241
249
  preview = _objectSpread(_objectSpread({}, localPreview), {}, {
242
- dimensions: dimensions
250
+ dimensions: requestDimensions
243
251
  });
244
252
  _context.t4 = preview.source;
245
253
  _context.next = _context.t4 === 'local' ? 61 : _context.t4 === 'remote' ? 63 : _context.t4 === 'ssr-server' ? 65 : _context.t4 === 'ssr-client' ? 67 : 69;
@@ -306,7 +314,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
306
314
  throw new _errors.MediaCardError('remote-preview-not-ready');
307
315
  case 83:
308
316
  _context.next = 85;
309
- return (0, _getCardPreview.fetchAndCacheRemotePreview)(mediaClient, identifier.id, dimensions !== null && dimensions !== void 0 ? dimensions : {}, imageURLParams, mediaBlobUrlAttrs, traceContext);
317
+ return fetchRemotePreviewRef.current(identifier);
310
318
  case 85:
311
319
  remotePreview = _context.sent;
312
320
  setCardPreview(remotePreview);
@@ -342,7 +350,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
342
350
  //------------ resolveUpfrontPreview useEffect -------------------//
343
351
  //----------------------------------------------------------------//
344
352
  var prevCardPreview = (0, _usePrevious.usePrevious)(cardPreview);
345
- var dimensionsRef = (0, _useCurrentValueRef.useCurrentValueRef)(dimensions);
353
+ var requestDimensionsRef = (0, _useCurrentValueRef.useCurrentValueRef)(requestDimensions);
346
354
  (0, _react.useEffect)(function () {
347
355
  var resolveUpfrontPreview = /*#__PURE__*/function () {
348
356
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(identifier) {
@@ -354,12 +362,12 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
354
362
  // If it fails, the normal preview fetch should occur after the file state is fetched anyways
355
363
  wasResolvedUpfrontPreviewRef.current = true;
356
364
  _context2.prev = 1;
357
- fetchedDimensions = _objectSpread({}, dimensions);
365
+ fetchedDimensions = _objectSpread({}, requestDimensions);
358
366
  _context2.next = 5;
359
367
  return fetchRemotePreviewRef.current(identifier);
360
368
  case 5:
361
369
  newCardPreview = _context2.sent;
362
- areValidFetchedDimensions = !(0, _dimensionComparer.isBigger)(fetchedDimensions, dimensionsRef.current); // If there are new and bigger dimensions in the props, and the upfront preview is still resolving,
370
+ areValidFetchedDimensions = !(0, _dimensionComparer.isBigger)(fetchedDimensions, requestDimensionsRef.current); // If there are new and bigger dimensions in the props, and the upfront preview is still resolving,
363
371
  // the fetched preview is no longer valid, and thus, we dismiss it
364
372
  if (areValidFetchedDimensions) {
365
373
  setCardPreview(newCardPreview);
@@ -385,16 +393,16 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
385
393
  if (!wasResolvedUpfrontPreviewRef.current && (!skipRemote || hadSSRCardPreview) && !cardPreview) {
386
394
  resolveUpfrontPreview(identifier);
387
395
  }
388
- }, [cardPreview, dimensions, dimensionsRef, fetchRemotePreviewRef, identifier, skipRemote, prevCardPreview, ssr]);
396
+ }, [cardPreview, requestDimensions, requestDimensionsRef, fetchRemotePreviewRef, identifier, skipRemote, prevCardPreview, ssr]);
389
397
 
390
398
  //----------------------------------------------------------------//
391
399
  //---------------- fetch and resolve card preview ----------------//
392
400
  //----------------------------------------------------------------//
393
401
 
394
- var prevDimensions = (0, _usePrevious.usePrevious)(dimensions);
402
+ var prevRequestDimensions = (0, _usePrevious.usePrevious)(requestDimensions);
395
403
  (0, _react.useEffect)(function () {
396
- var _ssrDataRef$current3;
397
- if (cardPreview && !skipRemote && (0, _getCardPreview.isSSRDataPreview)(cardPreview) && (0, _dimensionComparer.isBigger)((_ssrDataRef$current3 = ssrDataRef.current) === null || _ssrDataRef$current3 === void 0 ? void 0 : _ssrDataRef$current3.dimensions, dimensions)) {
404
+ // CXP-2813 TODO: This is called too many times if the refetch failed. Should be called only once
405
+ if (cardPreview && !skipRemote && (0, _getCardPreview.isSSRDataPreview)(cardPreview) && (0, _dimensionComparer.isBigger)(cardPreview.dimensions, requestDimensions)) {
398
406
  // refetchSRRPreview: If dimensions from Server have changed and are bigger,
399
407
  // we need to refetch
400
408
  fetchRemotePreviewRef.current(identifier).then(setCardPreview).catch(function (e) {
@@ -409,8 +417,8 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
409
417
  if (fileState && (0, _getCardPreview.shouldResolvePreview)({
410
418
  status: status,
411
419
  fileState: fileState,
412
- prevDimensions: prevDimensions,
413
- dimensions: dimensions,
420
+ prevDimensions: prevRequestDimensions,
421
+ dimensions: requestDimensions,
414
422
  hasCardPreview: !!cardPreview,
415
423
  isBannedLocalPreview: isBannedLocalPreview,
416
424
  wasResolvedUpfrontPreview: wasResolvedUpfrontPreviewRef.current
@@ -427,7 +435,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
427
435
  // https://product-fabric.atlassian.net/browse/MEX-1071
428
436
  });
429
437
  }
430
- }, [cardPreview, dimensions, fetchRemotePreviewRef, fileState, identifier, isBannedLocalPreview, prevDimensions, resolvePreviewRef, skipRemote, ssr, status]);
438
+ }, [cardPreview, requestDimensions, fetchRemotePreviewRef, fileState, identifier, isBannedLocalPreview, prevRequestDimensions, resolvePreviewRef, skipRemote, ssr, status]);
431
439
 
432
440
  //----------------------------------------------------------------//
433
441
  //----------------- set complete status --------------------------//
@@ -568,7 +576,7 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
568
576
  // FOR SSR
569
577
  var getScriptProps = function getScriptProps() {
570
578
  var _ssrReliabilityRef$cu;
571
- return (0, _globalScope.generateScriptProps)(identifier, cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI, requestedDimensions, ((_ssrReliabilityRef$cu = ssrReliabilityRef.current.server) === null || _ssrReliabilityRef$cu === void 0 ? void 0 : _ssrReliabilityRef$cu.status) === 'fail' ? ssrReliabilityRef.current.server : undefined);
579
+ return (0, _globalScope.generateScriptProps)(identifier, cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.dataURI, requestDimensions, ((_ssrReliabilityRef$cu = ssrReliabilityRef.current.server) === null || _ssrReliabilityRef$cu === void 0 ? void 0 : _ssrReliabilityRef$cu.status) === 'fail' ? ssrReliabilityRef.current.server : undefined);
572
580
  };
573
581
 
574
582
  // CXP-2723 TODO: should consider simplifying our analytics, and how
@@ -582,4 +590,20 @@ var useFilePreview = exports.useFilePreview = function useFilePreview(_ref) {
582
590
  onImageLoad: onImageLoad,
583
591
  getScriptProps: getScriptProps
584
592
  };
593
+ };
594
+ var createRequestDimensions = function createRequestDimensions(dimensions) {
595
+ if (!dimensions) {
596
+ return;
597
+ }
598
+ var retinaFactor = (0, _isRetina.isRetina)() ? 2 : 1;
599
+ var width = dimensions.width,
600
+ height = dimensions.height;
601
+ var result = {};
602
+ if (width) {
603
+ result.width = width * retinaFactor;
604
+ }
605
+ if (height) {
606
+ result.height = height * retinaFactor;
607
+ }
608
+ return result;
585
609
  };
@@ -119,7 +119,7 @@ var MediaInlineCardLoader = exports.default = /*#__PURE__*/function (_React$Pure
119
119
  ErrorBoundary = _this$state.ErrorBoundary;
120
120
  var analyticsContext = {
121
121
  packageVersion: "@atlaskit/media-card",
122
- packageName: "77.4.7",
122
+ packageName: "77.4.8",
123
123
  componentName: 'mediaInlineCard',
124
124
  component: 'mediaInlineCard'
125
125
  };
@@ -3,12 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRequestedDimensions = exports.getDataURIDimension = void 0;
6
+ exports.resolveCardPreviewDimensions = exports.resolveCardPreviewDimension = exports.getRequestedDimensions = exports.getDataURIDimension = void 0;
7
7
  var _isRetina = require("./isRetina");
8
8
  var _getElementDimension = require("./getElementDimension");
9
9
  var _cardDimensions = require("./cardDimensions");
10
10
  var _isValidPercentageUnit = require("./isValidPercentageUnit");
11
11
  var _containsPixelUnit = require("./containsPixelUnit");
12
+ /**
13
+ * ************************************************
14
+ * For Card v1
15
+ * ************************************************
16
+ */
17
+
12
18
  var getDataURIDimension = exports.getDataURIDimension = function getDataURIDimension(dimension, options) {
13
19
  var retinaFactor = (0, _isRetina.isRetina)() ? 2 : 1;
14
20
  var dimensionValue = options.dimensions && options.dimensions[dimension] || '';
@@ -30,4 +36,35 @@ var getRequestedDimensions = exports.getRequestedDimensions = function getReques
30
36
  width: width,
31
37
  height: height
32
38
  };
39
+ };
40
+
41
+ /**
42
+ * ************************************************
43
+ * For Card v2
44
+ * ************************************************
45
+ */
46
+
47
+ // Same as getDataURIDimension but without Retina factor
48
+ var resolveCardPreviewDimension = exports.resolveCardPreviewDimension = function resolveCardPreviewDimension(dimensionName, _ref) {
49
+ var dimensions = _ref.dimensions,
50
+ element = _ref.element;
51
+ var dimensionValue = (dimensions === null || dimensions === void 0 ? void 0 : dimensions[dimensionName]) || '';
52
+ if ((0, _isValidPercentageUnit.isValidPercentageUnit)(dimensionValue) && element) {
53
+ return (0, _getElementDimension.getElementDimension)(element, dimensionName);
54
+ }
55
+ if (typeof dimensionValue === 'number') {
56
+ return dimensionValue;
57
+ }
58
+ if ((0, _containsPixelUnit.containsPixelUnit)("".concat(dimensionValue))) {
59
+ return parseInt("".concat(dimensionValue), 10);
60
+ }
61
+ return _cardDimensions.defaultImageCardDimensions[dimensionName];
62
+ };
63
+ var resolveCardPreviewDimensions = exports.resolveCardPreviewDimensions = function resolveCardPreviewDimensions(options) {
64
+ var width = resolveCardPreviewDimension('width', options);
65
+ var height = resolveCardPreviewDimension('height', options);
66
+ return {
67
+ width: width,
68
+ height: height
69
+ };
33
70
  };
@@ -14,7 +14,7 @@ var _mediaClient = require("@atlaskit/media-client");
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  var packageName = "@atlaskit/media-card";
17
- var packageVersion = "77.4.7";
17
+ var packageVersion = "77.4.8";
18
18
  var concurrentExperience;
19
19
  var getExperience = function getExperience(id) {
20
20
  if (!concurrentExperience) {
@@ -27,7 +27,7 @@ import { getMediaCardCursor } from '../utils/getMediaCardCursor';
27
27
  import { completeUfoExperience, startUfoExperience, abortUfoExperience } from '../utils/ufoExperiences';
28
28
  import { generateUniqueId } from '../utils/generateUniqueId';
29
29
  const packageName = "@atlaskit/media-card";
30
- const packageVersion = "77.4.7";
30
+ const packageVersion = "77.4.8";
31
31
  export class CardBase extends Component {
32
32
  constructor(props) {
33
33
  super(props);
@@ -26,6 +26,7 @@ import { PreviewUnavailable, CreatingPreview, FailedToUpload, PreviewCurrentlyUn
26
26
  import { isUploadError, isRateLimitedError, isPollingError } from '../errors';
27
27
  import { Wrapper } from './ui/wrapper';
28
28
  import { fileCardImageViewSelector } from './classnames';
29
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
29
30
  /**
30
31
  * This is classic vanilla CardView class. To create an instance of class one would need to supply
31
32
  * `createAnalyticsEvent` prop to satisfy it's Analytics Events needs.
@@ -320,10 +321,14 @@ export class CardViewBase extends React.Component {
320
321
  nativeLazyLoad,
321
322
  forceSyncDisplay
322
323
  } = this.props;
324
+ const {
325
+ name
326
+ } = this.props.metadata || {};
327
+ const altText = getBooleanFF('platform.editor.a11y-media_er96o') ? alt || name : alt;
323
328
  return !!cardPreview && jsx(ImageRenderer, {
324
329
  cardPreview: cardPreview,
325
330
  mediaType: mediaType,
326
- alt: alt,
331
+ alt: altText,
327
332
  resizeMode: resizeMode,
328
333
  onDisplayImage: onDisplayImage,
329
334
  onImageLoad: this.onImageLoad,
@@ -66,7 +66,7 @@ class WrappedMediaCardAnalyticsErrorBoundary extends React.Component {
66
66
  }
67
67
  _defineProperty(WrappedMediaCardAnalyticsErrorBoundary, "displayName", 'MediaCardAnalyticsErrorBoundary');
68
68
  const packageName = "@atlaskit/media-card";
69
- const packageVersion = "77.4.7";
69
+ const packageVersion = "77.4.8";
70
70
  const MediaCardAnalyticsErrorBoundary = withMediaAnalyticsContext({
71
71
  packageVersion,
72
72
  packageName,
@@ -7,7 +7,7 @@ import { IntlProvider, injectIntl } from 'react-intl-next';
7
7
  import { ExternalImageCard } from './externalImageCard';
8
8
  import { FileCard } from './fileCard';
9
9
  const packageName = "@atlaskit/media-card";
10
- const packageVersion = "77.4.7";
10
+ const packageVersion = "77.4.8";
11
11
  export const CardV2Base = ({
12
12
  identifier,
13
13
  ...otherProps
@@ -28,7 +28,6 @@ export const CardViewV2Base = ({
28
28
  onImageLoad,
29
29
  onImageError,
30
30
  dimensions,
31
- appearance = 'auto',
32
31
  onClick,
33
32
  onMouseEnter,
34
33
  testId,
@@ -258,7 +257,6 @@ export const CardViewV2Base = ({
258
257
  return jsx(Wrapper, {
259
258
  testId: testId || 'media-card-view',
260
259
  dimensions: dimensions,
261
- appearance: appearance,
262
260
  onClick: onClick,
263
261
  onMouseEnter: onMouseEnter,
264
262
  innerRef: divRef,
@@ -9,6 +9,7 @@ import { generateUniqueId } from '../../utils/generateUniqueId';
9
9
  import { getMediaCardCursor } from '../../utils/getMediaCardCursor';
10
10
  import { abortUfoExperience, completeUfoExperience, startUfoExperience } from '../../utils/ufoExperiences';
11
11
  import { useCurrentValueRef } from '../../utils/useCurrentValueRef';
12
+ import { getDefaultCardDimensions } from '../../utils/cardDimensions';
12
13
  import { usePrevious } from '../../utils/usePrevious';
13
14
  import { fireCommencedEvent, fireCopiedEvent, fireOperationalEvent, fireScreenEvent } from '../cardAnalytics';
14
15
  import { CardViewV2 } from './cardViewV2';
@@ -36,6 +37,7 @@ export const ExternalImageCard = ({
36
37
  onMouseEnter,
37
38
  createAnalyticsEvent
38
39
  }) => {
40
+ const cardDimensions = dimensions || getDefaultCardDimensions(appearance);
39
41
  const internalOccurrenceKey = useMemo(() => generateUniqueId(), []);
40
42
  const timeElapsedTillCommenced = useMemo(() => performance.now(), []);
41
43
 
@@ -194,9 +196,8 @@ export const ExternalImageCard = ({
194
196
  metadata: metadata,
195
197
  cardPreview: cardPreview,
196
198
  alt: alt,
197
- appearance: appearance,
198
199
  resizeMode: resizeMode,
199
- dimensions: dimensions,
200
+ dimensions: cardDimensions,
200
201
  actions: actions,
201
202
  selectable: selectable,
202
203
  selected: selected,
@@ -235,7 +236,6 @@ export const ExternalImageCard = ({
235
236
  },
236
237
  innerRef: setCardElement,
237
238
  testId: testId,
238
- featureFlags: featureFlags,
239
239
  titleBoxBgColor: titleBoxBgColor,
240
240
  titleBoxIcon: titleBoxIcon,
241
241
  onImageError: newCardPreview => {