@atlaskit/media-card 77.11.3 → 77.12.1

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 (93) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/card/card.js +5 -5
  3. package/dist/cjs/card/cardView.js +6 -10
  4. package/dist/cjs/card/inlinePlayerWrapperStyles.js +1 -1
  5. package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
  6. package/dist/cjs/card/ui/styles.js +1 -12
  7. package/dist/cjs/card/ui/wrapper/imageContainer.js +52 -0
  8. package/dist/cjs/card/ui/wrapper/index.js +8 -1
  9. package/dist/cjs/card/ui/wrapper/styles.js +1 -1
  10. package/dist/cjs/card/v2/cardV2.js +1 -1
  11. package/dist/cjs/card/v2/cardViewV2.js +12 -17
  12. package/dist/cjs/card/v2/cardviews/cardViewWrapper.js +5 -9
  13. package/dist/cjs/card/v2/fileCard.js +66 -20
  14. package/dist/cjs/card/v2/svgView/helpers.js +16 -0
  15. package/dist/cjs/card/v2/svgView/index.js +12 -0
  16. package/dist/cjs/card/v2/svgView/svgView.js +134 -0
  17. package/dist/cjs/inline/loader.js +1 -1
  18. package/dist/cjs/inline/mediaInlineAnalyticsErrorBoundary.js +11 -11
  19. package/dist/cjs/utils/ufoExperiences.js +1 -1
  20. package/dist/es2019/card/card.js +5 -5
  21. package/dist/es2019/card/cardView.js +8 -12
  22. package/dist/es2019/card/inlinePlayerWrapperStyles.js +12 -12
  23. package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
  24. package/dist/es2019/card/ui/styles.js +0 -11
  25. package/dist/es2019/card/ui/wrapper/imageContainer.js +44 -0
  26. package/dist/es2019/card/ui/wrapper/index.js +2 -1
  27. package/dist/es2019/card/ui/wrapper/styles.js +21 -21
  28. package/dist/es2019/card/v2/cardV2.js +1 -1
  29. package/dist/es2019/card/v2/cardViewV2.js +13 -18
  30. package/dist/es2019/card/v2/cardviews/cardViewWrapper.js +6 -10
  31. package/dist/es2019/card/v2/fileCard.js +51 -8
  32. package/dist/es2019/card/v2/svgView/helpers.js +12 -0
  33. package/dist/es2019/card/v2/svgView/index.js +1 -0
  34. package/dist/es2019/card/v2/svgView/svgView.js +113 -0
  35. package/dist/es2019/inline/loader.js +1 -1
  36. package/dist/es2019/inline/mediaInlineAnalyticsErrorBoundary.js +11 -11
  37. package/dist/es2019/utils/ufoExperiences.js +1 -1
  38. package/dist/esm/card/card.js +5 -5
  39. package/dist/esm/card/cardView.js +8 -12
  40. package/dist/esm/card/inlinePlayerWrapperStyles.js +1 -1
  41. package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
  42. package/dist/esm/card/ui/styles.js +0 -11
  43. package/dist/esm/card/ui/wrapper/imageContainer.js +45 -0
  44. package/dist/esm/card/ui/wrapper/index.js +2 -1
  45. package/dist/esm/card/ui/wrapper/styles.js +1 -1
  46. package/dist/esm/card/v2/cardV2.js +1 -1
  47. package/dist/esm/card/v2/cardViewV2.js +13 -18
  48. package/dist/esm/card/v2/cardviews/cardViewWrapper.js +6 -10
  49. package/dist/esm/card/v2/fileCard.js +66 -20
  50. package/dist/esm/card/v2/svgView/helpers.js +10 -0
  51. package/dist/esm/card/v2/svgView/index.js +1 -0
  52. package/dist/esm/card/v2/svgView/svgView.js +123 -0
  53. package/dist/esm/inline/loader.js +1 -1
  54. package/dist/esm/inline/mediaInlineAnalyticsErrorBoundary.js +11 -11
  55. package/dist/esm/utils/ufoExperiences.js +1 -1
  56. package/dist/types/card/ui/iconWrapper/styles.d.ts +1 -1
  57. package/dist/types/card/ui/styles.d.ts +0 -1
  58. package/dist/types/card/ui/titleBox/styles.d.ts +1 -1
  59. package/dist/types/card/ui/wrapper/imageContainer.d.ts +15 -0
  60. package/dist/types/card/ui/wrapper/index.d.ts +1 -0
  61. package/dist/types/card/v2/svgView/helpers.d.ts +3 -0
  62. package/dist/types/card/v2/svgView/index.d.ts +1 -0
  63. package/dist/types/card/v2/svgView/svgView.d.ts +31 -0
  64. package/dist/types/utils/preventClickThrough.d.ts +1 -1
  65. package/dist/types/utils/viewportDetector.d.ts +1 -1
  66. package/dist/types-ts4.5/card/ui/iconWrapper/styles.d.ts +1 -1
  67. package/dist/types-ts4.5/card/ui/styles.d.ts +0 -1
  68. package/dist/types-ts4.5/card/ui/titleBox/styles.d.ts +1 -1
  69. package/dist/types-ts4.5/card/ui/wrapper/imageContainer.d.ts +15 -0
  70. package/dist/types-ts4.5/card/ui/wrapper/index.d.ts +1 -0
  71. package/dist/types-ts4.5/card/v2/svgView/helpers.d.ts +3 -0
  72. package/dist/types-ts4.5/card/v2/svgView/index.d.ts +1 -0
  73. package/dist/types-ts4.5/card/v2/svgView/svgView.d.ts +31 -0
  74. package/dist/types-ts4.5/utils/preventClickThrough.d.ts +1 -1
  75. package/dist/types-ts4.5/utils/viewportDetector.d.ts +1 -1
  76. package/example-helpers/DelayedRender.tsx +19 -19
  77. package/example-helpers/cardViewWrapper.tsx +18 -22
  78. package/example-helpers/cards.tsx +268 -331
  79. package/example-helpers/developmentUseMessage.tsx +8 -9
  80. package/example-helpers/index.tsx +100 -124
  81. package/example-helpers/selectableCard.tsx +32 -35
  82. package/example-helpers/ssrHelpers.tsx +19 -29
  83. package/example-helpers/styles.ts +73 -73
  84. package/example-helpers/svg-helpers/cardContainer.tsx +24 -0
  85. package/example-helpers/svg-helpers/controls.tsx +21 -0
  86. package/example-helpers/svg-helpers/delayApiResponses.ts +31 -0
  87. package/example-helpers/svg-helpers/dimensionPicker.tsx +116 -0
  88. package/example-helpers/svg-helpers/index.ts +7 -0
  89. package/example-helpers/svg-helpers/svgContainer.tsx +32 -0
  90. package/example-helpers/svg-helpers/toggle.tsx +42 -0
  91. package/example-helpers/svg-helpers/uploader.ts +44 -0
  92. package/package.json +13 -5
  93. package/report.api.md +227 -232
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @atlaskit/media-card
2
2
 
3
+ ## 77.12.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#109692](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/109692)
8
+ [`e947830ffb91c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e947830ffb91c) -
9
+ Updated feature flag key for SVG rendering
10
+
11
+ ## 77.12.0
12
+
13
+ ### Minor Changes
14
+
15
+ - [#105003](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/105003)
16
+ [`bfeca76e5015`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/bfeca76e5015) -
17
+ [ux] Added support for native SVG rendering (currently behind a feature flag)
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+
3
23
  ## 77.11.3
4
24
 
5
25
  ### Patch Changes
@@ -50,7 +50,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
50
50
  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); }; }
51
51
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
52
52
  var packageName = "@atlaskit/media-card";
53
- var packageVersion = "77.11.3";
53
+ var packageVersion = "77.12.1";
54
54
  var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
55
55
  (0, _inherits2.default)(CardBase, _Component);
56
56
  var _super = _createSuper(CardBase);
@@ -290,8 +290,8 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
290
290
  }
291
291
 
292
292
  /*
293
- If the cardPreview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
294
- */
293
+ If the cardPreview failed and it comes from server (global scope / ssrData), it means that we have reused it in client and the error counts for both: server & client.
294
+ */
295
295
 
296
296
  if ((0, _getCardPreview.isSSRDataPreview)(cardPreview)) {
297
297
  _this.ssrReliability.server = failedSSRObject;
@@ -339,8 +339,8 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
339
339
  }
340
340
 
341
341
  /*
342
- If the image loads successfully and it comes from server (global scope / ssrData), it means that we have reused it in client and the success counts for both: server & client.
343
- */
342
+ If the image loads successfully and it comes from server (global scope / ssrData), it means that we have reused it in client and the success counts for both: server & client.
343
+ */
344
344
 
345
345
  if ((0, _getCardPreview.isSSRDataPreview)(cardPreview) && _this.ssrReliability.server.status === 'unknown') {
346
346
  _this.ssrReliability.server = {
@@ -206,16 +206,12 @@ var CardViewBase = exports.CardViewBase = /*#__PURE__*/function (_React$Componen
206
206
  var _ref3 = metadata || {},
207
207
  name = _ref3.name;
208
208
  var hasTitleBox = !!renderTitleBox || !!renderFailedTitleBox;
209
- return (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("div", {
210
- css: _styles.cardImageContainerStyles
211
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
212
- ,
213
- className: _classnames.fileCardImageViewSelector,
214
- "data-testid": _classnames.fileCardImageViewSelector,
215
- "data-test-media-name": name,
216
- "data-test-status": status,
217
- "data-test-progress": progress,
218
- "data-test-selected": selected ? true : undefined
209
+ return (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)(_wrapper.ImageContainer, {
210
+ testId: _classnames.fileCardImageViewSelector,
211
+ mediaName: name,
212
+ status: status,
213
+ progress: progress,
214
+ selected: selected ? true : undefined
219
215
  }, renderTypeIcon && _this.renderMediaTypeIcon(hasTitleBox, iconMessage), renderSpinner && _this.renderSpinner(hasTitleBox), renderImageRenderer && _this.renderImageRenderer(), renderPlayButton && _this.renderPlayButton(hasTitleBox), renderBlanket && _this.renderBlanket(!!isFixedBlanket), renderTitleBox && _this.renderTitleBox(), renderFailedTitleBox && _this.renderFailedTitleBox(customTitleMessage), renderProgressBar && _this.renderProgressBar(!hasTitleBox), renderTickBox && _this.renderTickBox()), _this.renderActionsBar());
220
216
  });
221
217
  return _this;
@@ -23,6 +23,6 @@ var inlinePlayerClassName = exports.inlinePlayerClassName = 'media-card-inline-p
23
23
  var inlinePlayerWrapperStyles = exports.inlinePlayerWrapperStyles = function inlinePlayerWrapperStyles(_ref2) {
24
24
  var dimensions = _ref2.dimensions,
25
25
  selected = _ref2.selected;
26
- return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: ", ";\n height: ", ";\n overflow: hidden;\n border-radius: ", "px;\n position: relative;\n max-width: 100%;\n max-height: 100%;\n\n ", "\n\n video {\n width: 100%;\n height: 100%;\n }\n"])), (0, _getDimensionsWithDefault.getDimensionsWithDefault)(dimensions).width || '100%', (0, _getDimensionsWithDefault.getDimensionsWithDefault)(dimensions).height || 'auto', (0, _constants.borderRadius)(), getSelectedBorderStyle(selected));
26
+ return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\twidth: ", ";\n\theight: ", ";\n\toverflow: hidden;\n\tborder-radius: ", "px;\n\tposition: relative;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\n\t", "\n\n\tvideo {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n"])), (0, _getDimensionsWithDefault.getDimensionsWithDefault)(dimensions).width || '100%', (0, _getDimensionsWithDefault.getDimensionsWithDefault)(dimensions).height || 'auto', (0, _constants.borderRadius)(), getSelectedBorderStyle(selected));
27
27
  };
28
28
  inlinePlayerWrapperStyles.displayName = 'InlinePlayerWrapper';
@@ -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.11.3";
93
+ var packageVersion = "77.12.1";
94
94
  var MediaCardAnalyticsErrorBoundary = (0, _mediaCommon.withMediaAnalyticsContext)({
95
95
  packageVersion: packageVersion,
96
96
  packageName: packageName,
@@ -4,10 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.transition = exports.rgba = exports.getWrapperShadow = exports.getWrapperDimensions = exports.getSelectableTickBoxStyles = exports.getCursorStyle = exports.getClickablePlayButtonStyles = exports.generateResponsiveStyles = exports.cardImageContainerStyles = exports.calcBreakpointSize = void 0;
7
+ exports.transition = exports.rgba = exports.getWrapperShadow = exports.getWrapperDimensions = exports.getSelectableTickBoxStyles = exports.getCursorStyle = exports.getClickablePlayButtonStyles = exports.generateResponsiveStyles = exports.calcBreakpointSize = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- var _react = require("@emotion/react");
10
- var _mediaUi = require("@atlaskit/media-ui");
11
9
  var _colors = require("@atlaskit/theme/colors");
12
10
  var _consts = require("@atlaskit/editor-shared-styles/consts");
13
11
  var _getCSSUnitValue = require("../../utils/getCSSUnitValue");
@@ -66,15 +64,6 @@ var getSelectableTickBoxStyles = exports.getSelectableTickBoxStyles = function g
66
64
  }
67
65
  return "\n &:hover .".concat(_styles.tickBoxClassName, " {\n ").concat(_styles.tickboxFixedStyles, "\n }\n ");
68
66
  };
69
- var cardImageContainerStyles = exports.cardImageContainerStyles = (0, _react.css)({
70
- display: 'flex',
71
- position: 'relative',
72
- maxWidth: '100%',
73
- width: '100%',
74
- height: '100%',
75
- maxHeight: '100%',
76
- overflow: 'hidden'
77
- }, _mediaUi.borderRadius);
78
67
  var defaultTransitionDuration = '.3s';
79
68
  var transition = exports.transition = function transition() {
80
69
  var propertyName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ImageContainer = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _classnames = require("../../classnames");
9
+ /** @jsx jsx */
10
+
11
+ var imageContainerStyles = (0, _react.css)({
12
+ display: 'flex',
13
+ position: 'relative',
14
+ maxWidth: '100%',
15
+ width: '100%',
16
+ height: '100%',
17
+ maxHeight: '100%',
18
+ overflow: 'hidden',
19
+ borderRadius: "var(--ds-border-radius, 3px)"
20
+ });
21
+ var imageContainerCenterStyles = (0, _react.css)({
22
+ flexDirection: 'column',
23
+ justifyContent: 'center',
24
+ alignItems: 'center'
25
+ });
26
+ var ImageContainer = exports.ImageContainer = function ImageContainer(_ref) {
27
+ var children = _ref.children,
28
+ testId = _ref.testId,
29
+ mediaName = _ref.mediaName,
30
+ status = _ref.status,
31
+ progress = _ref.progress,
32
+ selected = _ref.selected,
33
+ source = _ref.source,
34
+ centerElements = _ref.centerElements;
35
+ return (0, _react.jsx)("div", {
36
+ css: [imageContainerStyles, centerElements && imageContainerCenterStyles],
37
+ "data-testid": _classnames.fileCardImageViewSelector
38
+ /**
39
+ * This wrapper MUST add the classname in order to allow the editor to prevent bubbling up the click event.
40
+ * See the method isInteractiveElement in source platform/packages/editor/renderer/src/ui/Renderer/click-to-edit.ts
41
+ * Also, many other consumer tests rely on this selector.
42
+ */
43
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
44
+ ,
45
+ className: _classnames.fileCardImageViewSelector,
46
+ "data-test-media-name": mediaName,
47
+ "data-test-status": status,
48
+ "data-test-progress": progress,
49
+ "data-test-selected": selected,
50
+ "data-test-source": source
51
+ }, children);
52
+ };
@@ -3,10 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ImageContainer", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _imageContainer.ImageContainer;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "Wrapper", {
7
13
  enumerable: true,
8
14
  get: function get() {
9
15
  return _wrapper.Wrapper;
10
16
  }
11
17
  });
12
- var _wrapper = require("./wrapper");
18
+ var _wrapper = require("./wrapper");
19
+ var _imageContainer = require("./imageContainer");
@@ -26,6 +26,6 @@ var wrapperStyles = exports.wrapperStyles = function wrapperStyles(_ref) {
26
26
  isTickBoxSelectable = _ref.isTickBoxSelectable,
27
27
  shouldDisplayTooltip = _ref.shouldDisplayTooltip,
28
28
  mediaCardCursor = _ref.mediaCardCursor;
29
- return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n box-sizing: border-box;\n * {\n box-sizing: border-box;\n }\n position: relative;\n font-family: ", ";\n ", "\n ", "\n ", "\n ", "\n ", "\n ", ";\n ", "\n\n /* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ", "\n ", "\n &:hover .", " {\n ", "\n }\n &:hover .", ", &:focus-within .", " {\n ", "\n }\n\n /* Tooltip does not support percentage dimensions. We enforce them here */\n ", "\n\n button:focus + & {\n outline: solid 2px ", ";\n }\n"])), (0, _styles.transition)(), (0, _constants.fontFamily)(), (0, _styles.getWrapperDimensions)(dimensions, appearance), displayBackground && "background: ".concat("var(--ds-background-neutral, ".concat(_colors.N20, ")"), ";"), _mediaUi.borderRadius, (0, _styles.getCursorStyle)(mediaCardCursor), (0, _styles.getWrapperShadow)(disableOverlay, selected), (0, _styles.generateResponsiveStyles)(breakpoint), _selection.hideNativeBrowserTextSelectionStyles, (0, _styles.getClickablePlayButtonStyles)(isPlayButtonClickable), (0, _styles.getSelectableTickBoxStyles)(isTickBoxSelectable), _styles2.blanketClassName, _styles2.fixedBlanketStyles, _styles3.actionsBarClassName, _styles3.actionsBarClassName, _styles3.fixedActionBarStyles, shouldDisplayTooltip && "> div { width: 100%; height: 100%; }", "var(--ds-border-focused, ".concat(_colors.B100, ")"));
29
+ return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t", "\n\tbox-sizing: border-box;\n\t* {\n\t\tbox-sizing: border-box;\n\t}\n\tposition: relative;\n\tfont-family: ", ";\n\t", "\n\t", "\n ", "\n ", "\n ", "\n ", ";\n\t", "\n\n\t/* We use classnames from here exceptionally to be able to handle styles when the Card is on hover */\n ", "\n ", "\n &:hover .", " {\n\t\t", "\n\t}\n\t&:hover .", ", &:focus-within .", " {\n\t\t", "\n\t}\n\n\t/* Tooltip does not support percentage dimensions. We enforce them here */\n\t", "\n\n\tbutton:focus + & {\n\t\toutline: solid 2px ", ";\n\t}\n"])), (0, _styles.transition)(), (0, _constants.fontFamily)(), (0, _styles.getWrapperDimensions)(dimensions, appearance), displayBackground && "background: ".concat("var(--ds-background-neutral, ".concat(_colors.N20, ")"), ";"), _mediaUi.borderRadius, (0, _styles.getCursorStyle)(mediaCardCursor), (0, _styles.getWrapperShadow)(disableOverlay, selected), (0, _styles.generateResponsiveStyles)(breakpoint), _selection.hideNativeBrowserTextSelectionStyles, (0, _styles.getClickablePlayButtonStyles)(isPlayButtonClickable), (0, _styles.getSelectableTickBoxStyles)(isTickBoxSelectable), _styles2.blanketClassName, _styles2.fixedBlanketStyles, _styles3.actionsBarClassName, _styles3.actionsBarClassName, _styles3.fixedActionBarStyles, shouldDisplayTooltip && "> div { width: 100%; height: 100%; }", "var(--ds-border-focused, ".concat(_colors.B100, ")"));
30
30
  };
31
31
  wrapperStyles.displayName = 'NewFileExperienceWrapper';
@@ -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.11.3";
19
+ var packageVersion = "77.12.1";
20
20
  var CardV2Base = exports.CardV2Base = function CardV2Base(_ref) {
21
21
  var identifier = _ref.identifier,
22
22
  otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -17,7 +17,6 @@ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
17
17
  var _mediaUi = require("@atlaskit/media-ui");
18
18
  var _analytics = require("../../utils/analytics");
19
19
  var _actions = require("../actions");
20
- var _styles = require("../ui/styles");
21
20
  var _imageRenderer = require("../ui/imageRenderer/imageRenderer");
22
21
  var _titleBox = require("../ui/titleBox/titleBox");
23
22
  var _failedTitleBox = require("../ui/titleBox/failedTitleBox");
@@ -90,11 +89,11 @@ var CardViewV2Base = exports.CardViewV2Base = function CardViewV2Base(_ref) {
90
89
  return;
91
90
  }
92
91
  /*
93
- We render the icon & icon message always, even if there is cardPreview available.
94
- If the image fails to load/render, the icon will remain, i.e. the user won't see a change until the root card decides to chage status to error.
95
- If the image renders successfully, we switch this variable to hide the icon & icon message behind the thumbnail in case the image has transparency.
96
- It is less likely that root component replaces a suceeded cardPreview for a failed one than the opposite case. Therefore we prefer to hide the icon instead show when the image fails, for a smoother transition
97
- */
92
+ We render the icon & icon message always, even if there is cardPreview available.
93
+ If the image fails to load/render, the icon will remain, i.e. the user won't see a change until the root card decides to chage status to error.
94
+ If the image renders successfully, we switch this variable to hide the icon & icon message behind the thumbnail in case the image has transparency.
95
+ It is less likely that root component replaces a suceeded cardPreview for a failed one than the opposite case. Therefore we prefer to hide the icon instead show when the image fails, for a smoother transition
96
+ */
98
97
  setDidImageRender(true);
99
98
  onImageLoad === null || onImageLoad === void 0 || onImageLoad(cardPreview);
100
99
  };
@@ -210,17 +209,13 @@ var CardViewV2Base = exports.CardViewV2Base = function CardViewV2Base(_ref) {
210
209
  name = _ref5.name,
211
210
  createdAt = _ref5.createdAt;
212
211
  var actionsWithDetails = metadata && actions ? (0, _actions.attachDetailsToActions)(actions, metadata) : [];
213
- var contents = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("div", {
214
- css: _styles.cardImageContainerStyles
215
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
216
- ,
217
- className: _classnames.fileCardImageViewSelector,
218
- "data-testid": _classnames.fileCardImageViewSelector,
219
- "data-test-media-name": name,
220
- "data-test-status": status,
221
- "data-test-progress": progress,
222
- "data-test-selected": selected,
223
- "data-test-source": cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.source
212
+ var contents = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)(_wrapper.ImageContainer, {
213
+ testId: _classnames.fileCardImageViewSelector,
214
+ mediaName: name,
215
+ status: status,
216
+ progress: progress,
217
+ selected: selected,
218
+ source: cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.source
224
219
  }, renderTypeIcon && (0, _react.jsx)(_iconWrapper.IconWrapper, {
225
220
  breakpoint: breakpoint,
226
221
  hasTitleBox: hasTitleBox
@@ -12,7 +12,6 @@ var _react2 = _interopRequireDefault(require("react"));
12
12
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
13
13
  var _wrapper = require("../../ui/wrapper");
14
14
  var _actions = require("../../actions");
15
- var _styles = require("../../ui/styles");
16
15
  var _titleBox = require("../../ui/titleBox/titleBox");
17
16
  var _tickBox = require("../../ui/tickBox/tickBox");
18
17
  var _blanket = require("../../ui/blanket/blanket");
@@ -61,14 +60,11 @@ var CardViewWrapper = exports.CardViewWrapper = /*#__PURE__*/_react2.default.for
61
60
  titleBoxIcon: titleBoxIcon,
62
61
  titleBoxBgColor: titleBoxBgColor
63
62
  });
64
- var contents = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("div", (0, _extends2.default)({
65
- css: _styles.cardImageContainerStyles
66
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
67
- ,
68
- className: _classnames.fileCardImageViewSelector,
69
- "data-testid": _classnames.fileCardImageViewSelector,
70
- "data-test-media-name": name,
71
- "data-test-selected": selected ? true : undefined
63
+ var contents = (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)(_wrapper.ImageContainer, (0, _extends2.default)({
64
+ testId: _classnames.fileCardImageViewSelector,
65
+ mediaName: name,
66
+ status: status,
67
+ selected: selected ? true : undefined
72
68
  }, props), children, customBlanket ? customBlanket() : defaultBlanket, customTitleBox ? customTitleBox() : defaultTitleBox, !disableOverlay && !!selectable && (0, _react.jsx)(_tickBox.TickBox, {
73
69
  selected: selected
74
70
  }), progressBar && progressBar()), !disableOverlay && actions && actions.length !== 0 && (0, _react.jsx)(_actionsBar.ActionsBar, {
@@ -36,6 +36,7 @@ var _inlinePlayerLazyV = require("./inlinePlayerLazyV2");
36
36
  var _mediaFilePreview = require("@atlaskit/media-file-preview");
37
37
  var _performance = require("./performance");
38
38
  var _dateOverrideContext = require("../../dateOverrideContext");
39
+ var _svgView = require("./svgView");
39
40
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
40
41
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
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; }
@@ -149,12 +150,16 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
149
150
  setIsPlayingFile = _useState8[1];
150
151
  var _useState9 = (0, _react.useState)(false),
151
152
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
152
- shouldAutoplay = _useState10[0],
153
- setShouldAutoplay = _useState10[1];
153
+ shouldRenderSVG = _useState10[0],
154
+ setShouldRenderSVG = _useState10[1];
154
155
  var _useState11 = (0, _react.useState)(false),
155
156
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
156
- previewDidRender = _useState12[0],
157
- setPreviewDidRender = _useState12[1];
157
+ shouldAutoplay = _useState12[0],
158
+ setShouldAutoplay = _useState12[1];
159
+ var _useState13 = (0, _react.useState)(false),
160
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
161
+ previewDidRender = _useState14[0],
162
+ setPreviewDidRender = _useState14[1];
158
163
  var mediaBlobUrlAttrs = (0, _react.useMemo)(function () {
159
164
  var id = identifier.id,
160
165
  collection = identifier.collectionName;
@@ -190,18 +195,18 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
190
195
  onImageErrorBase = _useFilePreview.onImageError,
191
196
  onImageLoadBase = _useFilePreview.onImageLoad,
192
197
  getSsrScriptProps = _useFilePreview.getSsrScriptProps;
193
- var _useState13 = (0, _react.useState)(),
194
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
195
- error = _useState14[0],
196
- setError = _useState14[1];
198
+ var _useState15 = (0, _react.useState)(),
199
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
200
+ error = _useState16[0],
201
+ setError = _useState16[1];
197
202
 
198
203
  // CXP-2723 TODO: TEMPORARY VARIABLES
199
204
  var finalError = error || (previewError && previewError.primaryReason !== 'failed-processing' ? previewError : undefined);
200
205
  var finalStatus = finalError ? 'error' : status;
201
- var _useState15 = (0, _react.useState)(null),
202
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
203
- mediaViewerSelectedItem = _useState16[0],
204
- setMediaViewerSelectedItem = _useState16[1];
206
+ var _useState17 = (0, _react.useState)(null),
207
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
208
+ mediaViewerSelectedItem = _useState18[0],
209
+ setMediaViewerSelectedItem = _useState18[1];
205
210
  var uploadProgressRef = (0, _react.useRef)();
206
211
  var metadata = (0, _react.useMemo)(function () {
207
212
  var getProcessingStatusFromFileState = function getProcessingStatusFromFileState(status) {
@@ -439,6 +444,23 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
439
444
  }
440
445
  }, [isCardVisible, disableOverlay, fileAttributes.fileMediatype, fileStateValue, identifier, isPlayingFile, finalStatus, useInlinePlayer]);
441
446
 
447
+ //----------------------------------------------------------------//
448
+ // Switch to SVG
449
+ //----------------------------------------------------------------//
450
+
451
+ (0, _react.useEffect)(function () {
452
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.media-card-svg-rendering_6tdbv') &&
453
+ /**
454
+ * We need to check that the card is visible before switching to SVG
455
+ * in order to avoid race conditions of the ViewportDector being unmounted before
456
+ * it is able to set isCardVisible to true.
457
+ */
458
+ isCardVisible && metadata.mimeType === 'image/svg+xml' && disableOverlay // SVG won't be supported when overlay is on
459
+ ) {
460
+ setShouldRenderSVG(true);
461
+ }
462
+ }, [isCardVisible, disableOverlay, metadata]);
463
+
442
464
  //----------------------------------------------------------------//
443
465
  //----------------- fireScreenEvent ------------------------------//
444
466
  //----------------------------------------------------------------//
@@ -506,6 +528,18 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
506
528
  updateFileStateRef.current();
507
529
  }, [fileState, preview, previewStatus, updateFileStateRef]);
508
530
 
531
+ //----------------------------------------------------------------//
532
+ // Shared Card View & SVG View resources
533
+ //----------------------------------------------------------------//
534
+
535
+ var mediaCardCursor = (0, _getMediaCardCursor.getMediaCardCursor)(!!useInlinePlayer, !!shouldOpenMediaViewer, finalStatus === 'error' || finalStatus === 'failed-processing', !!preview, metadata.mediaType);
536
+ var onImageMouseEnter = function onImageMouseEnter(event) {
537
+ onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
538
+ event: event,
539
+ mediaItemDetails: metadata
540
+ });
541
+ };
542
+
509
543
  //----------------------------------------------------------------//
510
544
  //---------------------- Render Card Function --------------------//
511
545
  //----------------------------------------------------------------//
@@ -525,7 +559,6 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
525
559
  var nativeLazyLoad = isLazyWithOverride && !isCardVisible && preview && (0, _getCardPreview.isSSRPreview)(preview);
526
560
  // Force Media Image to always display img for SSR
527
561
  var forceSyncDisplay = !!ssr;
528
- var mediaCardCursor = (0, _getMediaCardCursor.getMediaCardCursor)(!!useInlinePlayer, !!shouldOpenMediaViewer, finalStatus === 'error' || finalStatus === 'failed-processing', !!preview, metadata.mediaType);
529
562
  var card = /*#__PURE__*/_react.default.createElement(LoadedCardView, {
530
563
  status: cardStatusOverride || finalStatus,
531
564
  error: finalError,
@@ -541,12 +574,7 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
541
574
  shouldOpenMediaViewer: shouldOpenMediaViewer,
542
575
  openMediaViewerButtonRef: mediaViewerButtonRef,
543
576
  onClick: withCallbacks ? onCardViewClick : undefined,
544
- onMouseEnter: withCallbacks ? function (event) {
545
- onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter({
546
- event: event,
547
- mediaItemDetails: metadata
548
- });
549
- } : undefined,
577
+ onMouseEnter: withCallbacks ? onImageMouseEnter : undefined,
550
578
  disableOverlay: disableOverlay,
551
579
  progress: uploadProgressRef.current,
552
580
  onDisplayImage: withCallbacks ? function () {
@@ -603,7 +631,25 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
603
631
  testId: testId,
604
632
  cardPreview: preview,
605
633
  videoControlsWrapperRef: videoControlsWrapperRef
606
- })) : renderCard(), mediaViewerSelectedItem ? /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
634
+ })) : shouldRenderSVG ? /*#__PURE__*/_react.default.createElement(_svgView.SvgView, {
635
+ testId: testId,
636
+ identifier: identifier,
637
+ status: finalStatus,
638
+ fileName: metadata.name,
639
+ cardPreview: preview,
640
+ alt: alt,
641
+ resizeMode: resizeMode,
642
+ dimensions: cardDimensions,
643
+ selected: selected,
644
+ onClick: onCardViewClick,
645
+ onMouseEnter: onImageMouseEnter,
646
+ progress: uploadProgressRef.current,
647
+ onImageError: onImageError,
648
+ onImageLoad: onImageLoad,
649
+ mediaCardCursor: mediaCardCursor,
650
+ shouldOpenMediaViewer: shouldOpenMediaViewer,
651
+ openMediaViewerButtonRef: mediaViewerButtonRef
652
+ }) : renderCard(), mediaViewerSelectedItem ? /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(_mediaViewer.MediaViewer, {
607
653
  collectionName: collectionName,
608
654
  items: mediaViewerItems || [],
609
655
  mediaClientConfig: mediaClient.config,
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calculateSvgDimensions = void 0;
7
+ var calculateSvgDimensions = exports.calculateSvgDimensions = function calculateSvgDimensions(img, resizeMode) {
8
+ var naturalWidth = img.naturalWidth,
9
+ naturalHeight = img.naturalHeight;
10
+ var isLadscape = naturalWidth / naturalHeight > 1;
11
+ return resizeMode === 'crop' ? isLadscape ? {
12
+ height: '100%'
13
+ } : {
14
+ width: '100%'
15
+ } : {};
16
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SvgView", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _svgView.SvgView;
10
+ }
11
+ });
12
+ var _svgView = require("./svgView");
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.convertResizeMode = exports.SvgViewBase = exports.SvgView = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("@emotion/react");
11
+ var _react2 = _interopRequireWildcard(require("react"));
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
13
+ var _analytics = require("../../../utils/analytics");
14
+ var _imageRenderer = require("../../ui/imageRenderer/imageRenderer");
15
+ var _progressBar = require("../../ui/progressBar/progressBar");
16
+ var _blanket = require("../../ui/blanket/blanket");
17
+ var _wrapper = require("../../ui/wrapper");
18
+ var _classnames = require("../../classnames");
19
+ var _useBreakpoint = require("../../useBreakpoint");
20
+ var _mediaSvg = _interopRequireDefault(require("@atlaskit/media-svg"));
21
+ var _helpers = require("./helpers");
22
+ var _openMediaViewerButton = _interopRequireDefault(require("../../ui/openMediaViewerButton/openMediaViewerButton"));
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
+ /** @jsx jsx */
26
+
27
+ var convertResizeMode = exports.convertResizeMode = function convertResizeMode(resizeMode) {
28
+ switch (resizeMode) {
29
+ case 'crop':
30
+ return 'cover';
31
+ case 'fit':
32
+ case 'full-fit':
33
+ return 'scale-down';
34
+ case 'stretchy-fit':
35
+ return 'contain';
36
+ default:
37
+ return;
38
+ }
39
+ };
40
+ var SvgViewBase = exports.SvgViewBase = function SvgViewBase(_ref) {
41
+ var identifier = _ref.identifier,
42
+ dimensions = _ref.dimensions,
43
+ onClick = _ref.onClick,
44
+ onMouseEnter = _ref.onMouseEnter,
45
+ testId = _ref.testId,
46
+ status = _ref.status,
47
+ selected = _ref.selected,
48
+ fileName = _ref.fileName,
49
+ cardPreview = _ref.cardPreview,
50
+ mediaCardCursor = _ref.mediaCardCursor,
51
+ progress = _ref.progress,
52
+ alt = _ref.alt,
53
+ resizeMode = _ref.resizeMode,
54
+ shouldOpenMediaViewer = _ref.shouldOpenMediaViewer,
55
+ _ref$openMediaViewerB = _ref.openMediaViewerButtonRef,
56
+ openMediaViewerButtonRef = _ref$openMediaViewerB === void 0 ? null : _ref$openMediaViewerB;
57
+ var _useState = (0, _react2.useState)(false),
58
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
59
+ didSvgRender = _useState2[0],
60
+ setDidSvgRender = _useState2[1];
61
+ var _useState3 = (0, _react2.useState)(false),
62
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
63
+ didPreviewRender = _useState4[0],
64
+ setDidPreviewRender = _useState4[1];
65
+ var _useState5 = (0, _react2.useState)(),
66
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
67
+ svgDimensions = _useState6[0],
68
+ setSvgDimensions = _useState6[1];
69
+ var divRef = (0, _react2.useRef)(null);
70
+ var breakpoint = (0, _useBreakpoint.useBreakpoint)(dimensions === null || dimensions === void 0 ? void 0 : dimensions.width, divRef);
71
+ var onSvgLoad = function onSvgLoad(evt) {
72
+ setSvgDimensions((0, _helpers.calculateSvgDimensions)(evt.currentTarget, resizeMode));
73
+ setDidSvgRender(true);
74
+ };
75
+ var onPreviewLoad = function onPreviewLoad() {
76
+ setDidPreviewRender(true);
77
+ };
78
+ return (0, _react.jsx)(_react2.default.Fragment, null, shouldOpenMediaViewer && (0, _react.jsx)(_openMediaViewerButton.default, {
79
+ fileName: fileName !== null && fileName !== void 0 ? fileName : '',
80
+ innerRef: openMediaViewerButtonRef,
81
+ onClick: onClick
82
+ }), (0, _react.jsx)(_wrapper.Wrapper, {
83
+ testId: testId || 'media-card-svg-wrapper',
84
+ dimensions: dimensions,
85
+ onClick: onClick,
86
+ onMouseEnter: onMouseEnter,
87
+ innerRef: divRef,
88
+ mediaCardCursor: mediaCardCursor,
89
+ selected: !!selected,
90
+ breakpoint: breakpoint,
91
+ disableOverlay: true,
92
+ displayBackground: !didSvgRender && !didPreviewRender,
93
+ isTickBoxSelectable: false,
94
+ shouldDisplayTooltip: false,
95
+ isPlayButtonClickable: false
96
+ }, (0, _react.jsx)(_wrapper.ImageContainer, {
97
+ centerElements: true,
98
+ testId: _classnames.fileCardImageViewSelector,
99
+ mediaName: fileName,
100
+ status: status,
101
+ progress: progress,
102
+ selected: selected,
103
+ source: cardPreview === null || cardPreview === void 0 ? void 0 : cardPreview.source
104
+ }, (0, _react.jsx)(_mediaSvg.default, {
105
+ testId: "media-card-svg",
106
+ identifier: identifier,
107
+ dimensions: svgDimensions,
108
+ onLoad: onSvgLoad,
109
+ style: {
110
+ visibility: didSvgRender ? 'visible' : 'hidden',
111
+ objectFit: convertResizeMode(resizeMode)
112
+ }
113
+ }), !!cardPreview && !didSvgRender && (0, _react.jsx)(_imageRenderer.ImageRenderer, {
114
+ cardPreview: cardPreview,
115
+ onImageLoad: onPreviewLoad,
116
+ mediaType: 'image',
117
+ alt: alt,
118
+ resizeMode: resizeMode
119
+ }), status === 'uploading' && (0, _react.jsx)(_blanket.Blanket, {
120
+ isFixed: true
121
+ }), status === 'uploading' && (0, _react.jsx)(_progressBar.ProgressBar, {
122
+ progress: progress,
123
+ breakpoint: breakpoint,
124
+ positionBottom: true
125
+ }))));
126
+ };
127
+ var SvgView = exports.SvgView = (0, _analyticsNext.withAnalyticsEvents)({
128
+ onClick: (0, _analytics.createAndFireMediaCardEvent)({
129
+ eventType: 'ui',
130
+ action: 'clicked',
131
+ actionSubject: 'mediaCard',
132
+ attributes: {}
133
+ })
134
+ })(SvgViewBase);
@@ -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.11.3",
122
+ packageName: "77.12.1",
123
123
  componentName: 'mediaInlineCard',
124
124
  component: 'mediaInlineCard'
125
125
  };