@atlaskit/media-card 77.6.6 → 77.7.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 (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/card/card.js +14 -6
  3. package/dist/cjs/card/cardView.js +3 -2
  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/fileCard.js +1 -1
  7. package/dist/cjs/dateOverrideContext.js +13 -0
  8. package/dist/cjs/index.js +8 -1
  9. package/dist/cjs/inline/loader.js +1 -1
  10. package/dist/cjs/utils/ufoExperiences.js +1 -1
  11. package/dist/es2019/card/card.js +15 -7
  12. package/dist/es2019/card/cardView.js +3 -2
  13. package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
  14. package/dist/es2019/card/v2/cardV2.js +1 -1
  15. package/dist/es2019/card/v2/fileCard.js +2 -2
  16. package/dist/es2019/dateOverrideContext.js +8 -0
  17. package/dist/es2019/index.js +2 -1
  18. package/dist/es2019/inline/loader.js +1 -1
  19. package/dist/es2019/utils/ufoExperiences.js +1 -1
  20. package/dist/esm/card/card.js +15 -7
  21. package/dist/esm/card/cardView.js +3 -2
  22. package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
  23. package/dist/esm/card/v2/cardV2.js +1 -1
  24. package/dist/esm/card/v2/fileCard.js +2 -2
  25. package/dist/esm/dateOverrideContext.js +8 -0
  26. package/dist/esm/index.js +2 -1
  27. package/dist/esm/inline/loader.js +1 -1
  28. package/dist/esm/utils/ufoExperiences.js +1 -1
  29. package/dist/types/card/card.d.ts +3 -1
  30. package/dist/types/card/cardView.d.ts +1 -0
  31. package/dist/types/dateOverrideContext.d.ts +7 -0
  32. package/dist/types/index.d.ts +1 -0
  33. package/dist/types-ts4.5/card/card.d.ts +3 -1
  34. package/dist/types-ts4.5/card/cardView.d.ts +1 -0
  35. package/dist/types-ts4.5/dateOverrideContext.d.ts +7 -0
  36. package/dist/types-ts4.5/index.d.ts +1 -0
  37. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/media-card
2
2
 
3
+ ## 77.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#66422](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/66422) [`e26fc35ce110`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e26fc35ce110) - [CXP-2840] Added `DateOverrideContext` to fix inconsistent creation time in film strip (JRACLOUD-77568)
8
+
9
+ ## 77.6.7
10
+
11
+ ### Patch Changes
12
+
13
+ - [#65749](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/65749) [`1b2e73df14b4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1b2e73df14b4) - Updated Preview Hook usage
14
+ - Updated dependencies
15
+
3
16
  ## 77.6.6
4
17
 
5
18
  ### Patch Changes
@@ -42,6 +42,7 @@ var _dimensionComparer = require("../utils/dimensionComparer");
42
42
  var _getMediaCardCursor = require("../utils/getMediaCardCursor");
43
43
  var _ufoExperiences = require("../utils/ufoExperiences");
44
44
  var _generateUniqueId = require("../utils/generateUniqueId");
45
+ var _dateOverrideContext = require("../dateOverrideContext");
45
46
  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); }
46
47
  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; }
47
48
  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; }
@@ -49,7 +50,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
49
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); }; }
50
51
  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
52
  var packageName = "@atlaskit/media-card";
52
- var packageVersion = "77.6.6";
53
+ var packageVersion = "77.7.0";
53
54
  var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
54
55
  (0, _inherits2.default)(CardBase, _Component);
55
56
  var _super = _createSuper(CardBase);
@@ -544,7 +545,8 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
544
545
  ssr = _this$props8.ssr,
545
546
  useInlinePlayer = _this$props8.useInlinePlayer,
546
547
  shouldOpenMediaViewer = _this$props8.shouldOpenMediaViewer,
547
- shouldHideTooltip = _this$props8.shouldHideTooltip;
548
+ shouldHideTooltip = _this$props8.shouldHideTooltip,
549
+ dateOverride = _this$props8.dateOverride;
548
550
  var mediaItemType = identifier.mediaItemType;
549
551
  var _this$state3 = _this.state,
550
552
  status = _this$state3.status,
@@ -596,7 +598,8 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
596
598
  nativeLazyLoad: nativeLazyLoad,
597
599
  forceSyncDisplay: forceSyncDisplay,
598
600
  mediaCardCursor: mediaCardCursor,
599
- shouldHideTooltip: shouldHideTooltip
601
+ shouldHideTooltip: shouldHideTooltip,
602
+ overriddenCreationDate: dateOverride
600
603
  });
601
604
  return isLazyWithOverride ? /*#__PURE__*/_react.default.createElement(_viewportDetector.ViewportDetector, {
602
605
  cardEl: cardRef,
@@ -1015,7 +1018,9 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
1015
1018
  }
1016
1019
  }]);
1017
1020
  return CardBase;
1018
- }(_react.Component); // We require this wrapper in order to refresh media card state when the identifier is updated
1021
+ }(_react.Component); // We require this wrapper in order
1022
+ // 1. To refresh media card state when the identifier is updated
1023
+ // 2. To allow for overriding creation date (https://product-fabric.atlassian.net/browse/CXP-2840)
1019
1024
  (0, _defineProperty2.default)(CardBase, "defaultProps", {
1020
1025
  appearance: 'auto',
1021
1026
  resizeMode: 'crop',
@@ -1024,10 +1029,13 @@ var CardBase = exports.CardBase = /*#__PURE__*/function (_Component) {
1024
1029
  // Media Feature Flag defaults are defined in @atlaskit/media-common
1025
1030
  featureFlags: {}
1026
1031
  });
1027
- var CardWithKey = function CardWithKey(props) {
1032
+ var CardWithKeyAndDateOverrideContext = function CardWithKeyAndDateOverrideContext(props) {
1028
1033
  var identifier = props.identifier;
1034
+ var dateOverrides = (0, _react.useContext)(_dateOverrideContext.DateOverrideContext);
1029
1035
  var key = (0, _mediaClient2.isFileIdentifier)(identifier) ? identifier.id : identifier.dataURI;
1036
+ var dateOverride = (0, _mediaClient2.isFileIdentifier)(identifier) ? dateOverrides === null || dateOverrides === void 0 ? void 0 : dateOverrides[identifier.id] : undefined;
1030
1037
  return /*#__PURE__*/_react.default.createElement(CardBase, (0, _extends2.default)({}, props, {
1038
+ dateOverride: dateOverride,
1031
1039
  key: key
1032
1040
  }));
1033
1041
  };
@@ -1036,6 +1044,6 @@ var Card = exports.Card = (0, _mediaCommon.withMediaAnalyticsContext)({
1036
1044
  packageName: packageName,
1037
1045
  componentName: 'mediaCard',
1038
1046
  component: 'mediaCard'
1039
- })((0, _analyticsNext.withAnalyticsEvents)()((0, _reactIntlNext.injectIntl)(CardWithKey, {
1047
+ })((0, _analyticsNext.withAnalyticsEvents)()((0, _reactIntlNext.injectIntl)(CardWithKeyAndDateOverrideContext, {
1040
1048
  enforceContext: false
1041
1049
  })));
@@ -291,13 +291,14 @@ var CardViewBase = exports.CardViewBase = /*#__PURE__*/function (_React$Componen
291
291
  var _this$props5 = this.props,
292
292
  metadata = _this$props5.metadata,
293
293
  titleBoxBgColor = _this$props5.titleBoxBgColor,
294
- titleBoxIcon = _this$props5.titleBoxIcon;
294
+ titleBoxIcon = _this$props5.titleBoxIcon,
295
+ overriddenCreationDate = _this$props5.overriddenCreationDate;
295
296
  var _ref6 = metadata || {},
296
297
  name = _ref6.name,
297
298
  createdAt = _ref6.createdAt;
298
299
  return !!name && (0, _react.jsx)(_titleBox.TitleBox, {
299
300
  name: name,
300
- createdAt: createdAt,
301
+ createdAt: overriddenCreationDate !== null && overriddenCreationDate !== void 0 ? overriddenCreationDate : createdAt,
301
302
  breakpoint: this.breakpoint,
302
303
  titleBoxIcon: titleBoxIcon,
303
304
  titleBoxBgColor: titleBoxBgColor
@@ -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.6.6";
93
+ var packageVersion = "77.7.0";
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.6.6";
19
+ var packageVersion = "77.7.0";
20
20
  var CardV2Base = exports.CardV2Base = function CardV2Base(_ref) {
21
21
  var identifier = _ref.identifier,
22
22
  otherProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -178,7 +178,7 @@ var FileCard = exports.FileCard = function FileCard(_ref) {
178
178
  }, [alt, previewDimensions, contextId, fileStateValue, identifier, originalDimensions]);
179
179
  var _useFilePreview = (0, _mediaFilePreview.useFilePreview)({
180
180
  mediaBlobUrlAttrs: mediaBlobUrlAttrs,
181
- resizeMode: resizeMode,
181
+ resizeMode: (0, _mediaClient.imageResizeModeToFileImageMode)(resizeMode),
182
182
  identifier: identifier,
183
183
  ssr: ssr,
184
184
  dimensions: previewDimensions,
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DateOverrideContext = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * Provide capacity to override creation date
10
+ * `DateOverrideContext` is a stopgap for a specific bug (https://product-fabric.atlassian.net/browse/CXP-2840)
11
+ * This is a temporal solution, please consult before usage
12
+ */
13
+ var DateOverrideContext = exports.DateOverrideContext = /*#__PURE__*/(0, _react.createContext)(undefined);
package/dist/cjs/index.js CHANGED
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "CardLoading", {
21
21
  return _cardLoading.CardLoading;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "DateOverrideContext", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _dateOverrideContext.DateOverrideContext;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "MediaInlineCard", {
25
31
  enumerable: true,
26
32
  get: function get() {
@@ -58,4 +64,5 @@ var _cardError = require("./utils/lightCards/cardError");
58
64
  var _cardDimensions = require("./utils/cardDimensions");
59
65
  var _classnames = require("./card/classnames");
60
66
  var _inlinePlayerWrapperStyles = require("./card/inlinePlayerWrapperStyles");
61
- var _cardConstants = require("./card/cardConstants");
67
+ var _cardConstants = require("./card/cardConstants");
68
+ var _dateOverrideContext = require("./dateOverrideContext");
@@ -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.6.6",
122
+ packageName: "77.7.0",
123
123
  componentName: 'mediaInlineCard',
124
124
  component: 'mediaInlineCard'
125
125
  };
@@ -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.6.6";
17
+ var packageVersion = "77.7.0";
18
18
  var concurrentExperience;
19
19
  var getExperience = function getExperience(id) {
20
20
  if (!concurrentExperience) {
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import React, { Component, Suspense } from 'react';
3
+ import React, { Component, Suspense, useContext } from 'react';
4
4
  import ReactDOM from 'react-dom';
5
5
  import { withAnalyticsEvents } from '@atlaskit/analytics-next';
6
6
  import { withMediaAnalyticsContext } from '@atlaskit/media-common';
@@ -26,8 +26,9 @@ import { isBigger } from '../utils/dimensionComparer';
26
26
  import { getMediaCardCursor } from '../utils/getMediaCardCursor';
27
27
  import { completeUfoExperience, startUfoExperience, abortUfoExperience } from '../utils/ufoExperiences';
28
28
  import { generateUniqueId } from '../utils/generateUniqueId';
29
+ import { DateOverrideContext } from '../dateOverrideContext';
29
30
  const packageName = "@atlaskit/media-card";
30
- const packageVersion = "77.6.6";
31
+ const packageVersion = "77.7.0";
31
32
  export class CardBase extends Component {
32
33
  constructor(props) {
33
34
  super(props);
@@ -497,7 +498,8 @@ export class CardBase extends Component {
497
498
  ssr,
498
499
  useInlinePlayer,
499
500
  shouldOpenMediaViewer,
500
- shouldHideTooltip
501
+ shouldHideTooltip,
502
+ dateOverride
501
503
  } = this.props;
502
504
  const {
503
505
  mediaItemType
@@ -555,7 +557,8 @@ export class CardBase extends Component {
555
557
  nativeLazyLoad: nativeLazyLoad,
556
558
  forceSyncDisplay: forceSyncDisplay,
557
559
  mediaCardCursor: mediaCardCursor,
558
- shouldHideTooltip: shouldHideTooltip
560
+ shouldHideTooltip: shouldHideTooltip,
561
+ overriddenCreationDate: dateOverride
559
562
  });
560
563
  return isLazyWithOverride ? /*#__PURE__*/React.createElement(ViewportDetector, {
561
564
  cardEl: cardRef,
@@ -989,7 +992,9 @@ export class CardBase extends Component {
989
992
  }
990
993
  }
991
994
 
992
- // We require this wrapper in order to refresh media card state when the identifier is updated
995
+ // We require this wrapper in order
996
+ // 1. To refresh media card state when the identifier is updated
997
+ // 2. To allow for overriding creation date (https://product-fabric.atlassian.net/browse/CXP-2840)
993
998
  _defineProperty(CardBase, "defaultProps", {
994
999
  appearance: 'auto',
995
1000
  resizeMode: 'crop',
@@ -998,12 +1003,15 @@ _defineProperty(CardBase, "defaultProps", {
998
1003
  // Media Feature Flag defaults are defined in @atlaskit/media-common
999
1004
  featureFlags: {}
1000
1005
  });
1001
- const CardWithKey = props => {
1006
+ const CardWithKeyAndDateOverrideContext = props => {
1002
1007
  const {
1003
1008
  identifier
1004
1009
  } = props;
1010
+ const dateOverrides = useContext(DateOverrideContext);
1005
1011
  const key = isFileIdentifier(identifier) ? identifier.id : identifier.dataURI;
1012
+ const dateOverride = isFileIdentifier(identifier) ? dateOverrides === null || dateOverrides === void 0 ? void 0 : dateOverrides[identifier.id] : undefined;
1006
1013
  return /*#__PURE__*/React.createElement(CardBase, _extends({}, props, {
1014
+ dateOverride: dateOverride,
1007
1015
  key: key
1008
1016
  }));
1009
1017
  };
@@ -1012,6 +1020,6 @@ export const Card = withMediaAnalyticsContext({
1012
1020
  packageName,
1013
1021
  componentName: 'mediaCard',
1014
1022
  component: 'mediaCard'
1015
- })(withAnalyticsEvents()(injectIntl(CardWithKey, {
1023
+ })(withAnalyticsEvents()(injectIntl(CardWithKeyAndDateOverrideContext, {
1016
1024
  enforceContext: false
1017
1025
  })));
@@ -279,7 +279,8 @@ export class CardViewBase extends React.Component {
279
279
  const {
280
280
  metadata,
281
281
  titleBoxBgColor,
282
- titleBoxIcon
282
+ titleBoxIcon,
283
+ overriddenCreationDate
283
284
  } = this.props;
284
285
  const {
285
286
  name,
@@ -287,7 +288,7 @@ export class CardViewBase extends React.Component {
287
288
  } = metadata || {};
288
289
  return !!name && jsx(TitleBox, {
289
290
  name: name,
290
- createdAt: createdAt,
291
+ createdAt: overriddenCreationDate !== null && overriddenCreationDate !== void 0 ? overriddenCreationDate : createdAt,
291
292
  breakpoint: this.breakpoint,
292
293
  titleBoxIcon: titleBoxIcon,
293
294
  titleBoxBgColor: titleBoxBgColor
@@ -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.6.6";
69
+ const packageVersion = "77.7.0";
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.6.6";
10
+ const packageVersion = "77.7.0";
11
11
  export const CardV2Base = ({
12
12
  identifier,
13
13
  ...otherProps
@@ -1,6 +1,6 @@
1
1
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
2
  import DownloadIcon from '@atlaskit/icon/glyph/download';
3
- import { globalMediaEventEmitter, isImageRepresentationReady, RECENTS_COLLECTION } from '@atlaskit/media-client';
3
+ import { globalMediaEventEmitter, isImageRepresentationReady, RECENTS_COLLECTION, imageResizeModeToFileImageMode } from '@atlaskit/media-client';
4
4
  import { MediaFileStateError, useFileState, useMediaClient } from '@atlaskit/media-client-react';
5
5
  import { getRandomHex, isMimeTypeSupportedByBrowser } from '@atlaskit/media-common';
6
6
  import { MediaViewer } from '@atlaskit/media-viewer';
@@ -142,7 +142,7 @@ export const FileCard = ({
142
142
  getScriptProps
143
143
  } = useFilePreview({
144
144
  mediaBlobUrlAttrs,
145
- resizeMode,
145
+ resizeMode: imageResizeModeToFileImageMode(resizeMode),
146
146
  identifier,
147
147
  ssr,
148
148
  dimensions: previewDimensions,
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'react';
2
+
3
+ /**
4
+ * Provide capacity to override creation date
5
+ * `DateOverrideContext` is a stopgap for a specific bug (https://product-fabric.atlassian.net/browse/CXP-2840)
6
+ * This is a temporal solution, please consult before usage
7
+ */
8
+ export const DateOverrideContext = /*#__PURE__*/createContext(undefined);
@@ -10,4 +10,5 @@ export { CardError } from './utils/lightCards/cardError';
10
10
  export { defaultImageCardDimensions } from './utils/cardDimensions';
11
11
  export { fileCardImageViewSelector } from './card/classnames';
12
12
  export { inlinePlayerClassName } from './card/inlinePlayerWrapperStyles';
13
- export { newFileExperienceClassName } from './card/cardConstants';
13
+ export { newFileExperienceClassName } from './card/cardConstants';
14
+ export { DateOverrideContext } from './dateOverrideContext';
@@ -37,7 +37,7 @@ export default class MediaInlineCardLoader extends React.PureComponent {
37
37
  } = this.state;
38
38
  const analyticsContext = {
39
39
  packageVersion: "@atlaskit/media-card",
40
- packageName: "77.6.6",
40
+ packageName: "77.7.0",
41
41
  componentName: 'mediaInlineCard',
42
42
  component: 'mediaInlineCard'
43
43
  };
@@ -4,7 +4,7 @@ import { extractErrorInfo, getRenderErrorRequestMetadata } from './analytics';
4
4
  import { MediaCardError } from '../errors';
5
5
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
6
6
  const packageName = "@atlaskit/media-card";
7
- const packageVersion = "77.6.6";
7
+ const packageVersion = "77.7.0";
8
8
  let concurrentExperience;
9
9
  const getExperience = id => {
10
10
  if (!concurrentExperience) {
@@ -13,7 +13,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
13
13
  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) { _defineProperty(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; }
14
14
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
15
15
  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; } }
16
- import React, { Component, Suspense } from 'react';
16
+ import React, { Component, Suspense, useContext } from 'react';
17
17
  import ReactDOM from 'react-dom';
18
18
  import { withAnalyticsEvents } from '@atlaskit/analytics-next';
19
19
  import { withMediaAnalyticsContext } from '@atlaskit/media-common';
@@ -39,8 +39,9 @@ import { isBigger } from '../utils/dimensionComparer';
39
39
  import { getMediaCardCursor } from '../utils/getMediaCardCursor';
40
40
  import { completeUfoExperience, startUfoExperience, abortUfoExperience } from '../utils/ufoExperiences';
41
41
  import { generateUniqueId } from '../utils/generateUniqueId';
42
+ import { DateOverrideContext } from '../dateOverrideContext';
42
43
  var packageName = "@atlaskit/media-card";
43
- var packageVersion = "77.6.6";
44
+ var packageVersion = "77.7.0";
44
45
  export var CardBase = /*#__PURE__*/function (_Component) {
45
46
  _inherits(CardBase, _Component);
46
47
  var _super = _createSuper(CardBase);
@@ -535,7 +536,8 @@ export var CardBase = /*#__PURE__*/function (_Component) {
535
536
  ssr = _this$props8.ssr,
536
537
  useInlinePlayer = _this$props8.useInlinePlayer,
537
538
  shouldOpenMediaViewer = _this$props8.shouldOpenMediaViewer,
538
- shouldHideTooltip = _this$props8.shouldHideTooltip;
539
+ shouldHideTooltip = _this$props8.shouldHideTooltip,
540
+ dateOverride = _this$props8.dateOverride;
539
541
  var mediaItemType = identifier.mediaItemType;
540
542
  var _this$state3 = _this.state,
541
543
  status = _this$state3.status,
@@ -587,7 +589,8 @@ export var CardBase = /*#__PURE__*/function (_Component) {
587
589
  nativeLazyLoad: nativeLazyLoad,
588
590
  forceSyncDisplay: forceSyncDisplay,
589
591
  mediaCardCursor: mediaCardCursor,
590
- shouldHideTooltip: shouldHideTooltip
592
+ shouldHideTooltip: shouldHideTooltip,
593
+ overriddenCreationDate: dateOverride
591
594
  });
592
595
  return isLazyWithOverride ? /*#__PURE__*/React.createElement(ViewportDetector, {
593
596
  cardEl: cardRef,
@@ -1008,7 +1011,9 @@ export var CardBase = /*#__PURE__*/function (_Component) {
1008
1011
  return CardBase;
1009
1012
  }(Component);
1010
1013
 
1011
- // We require this wrapper in order to refresh media card state when the identifier is updated
1014
+ // We require this wrapper in order
1015
+ // 1. To refresh media card state when the identifier is updated
1016
+ // 2. To allow for overriding creation date (https://product-fabric.atlassian.net/browse/CXP-2840)
1012
1017
  _defineProperty(CardBase, "defaultProps", {
1013
1018
  appearance: 'auto',
1014
1019
  resizeMode: 'crop',
@@ -1017,10 +1022,13 @@ _defineProperty(CardBase, "defaultProps", {
1017
1022
  // Media Feature Flag defaults are defined in @atlaskit/media-common
1018
1023
  featureFlags: {}
1019
1024
  });
1020
- var CardWithKey = function CardWithKey(props) {
1025
+ var CardWithKeyAndDateOverrideContext = function CardWithKeyAndDateOverrideContext(props) {
1021
1026
  var identifier = props.identifier;
1027
+ var dateOverrides = useContext(DateOverrideContext);
1022
1028
  var key = isFileIdentifier(identifier) ? identifier.id : identifier.dataURI;
1029
+ var dateOverride = isFileIdentifier(identifier) ? dateOverrides === null || dateOverrides === void 0 ? void 0 : dateOverrides[identifier.id] : undefined;
1023
1030
  return /*#__PURE__*/React.createElement(CardBase, _extends({}, props, {
1031
+ dateOverride: dateOverride,
1024
1032
  key: key
1025
1033
  }));
1026
1034
  };
@@ -1029,6 +1037,6 @@ export var Card = withMediaAnalyticsContext({
1029
1037
  packageName: packageName,
1030
1038
  componentName: 'mediaCard',
1031
1039
  component: 'mediaCard'
1032
- })(withAnalyticsEvents()(injectIntl(CardWithKey, {
1040
+ })(withAnalyticsEvents()(injectIntl(CardWithKeyAndDateOverrideContext, {
1033
1041
  enforceContext: false
1034
1042
  })));
@@ -285,13 +285,14 @@ export var CardViewBase = /*#__PURE__*/function (_React$Component) {
285
285
  var _this$props5 = this.props,
286
286
  metadata = _this$props5.metadata,
287
287
  titleBoxBgColor = _this$props5.titleBoxBgColor,
288
- titleBoxIcon = _this$props5.titleBoxIcon;
288
+ titleBoxIcon = _this$props5.titleBoxIcon,
289
+ overriddenCreationDate = _this$props5.overriddenCreationDate;
289
290
  var _ref6 = metadata || {},
290
291
  name = _ref6.name,
291
292
  createdAt = _ref6.createdAt;
292
293
  return !!name && jsx(TitleBox, {
293
294
  name: name,
294
- createdAt: createdAt,
295
+ createdAt: overriddenCreationDate !== null && overriddenCreationDate !== void 0 ? overriddenCreationDate : createdAt,
295
296
  breakpoint: this.breakpoint,
296
297
  titleBoxIcon: titleBoxIcon,
297
298
  titleBoxBgColor: titleBoxBgColor
@@ -83,7 +83,7 @@ var WrappedMediaCardAnalyticsErrorBoundary = /*#__PURE__*/function (_React$Compo
83
83
  }(React.Component);
84
84
  _defineProperty(WrappedMediaCardAnalyticsErrorBoundary, "displayName", 'MediaCardAnalyticsErrorBoundary');
85
85
  var packageName = "@atlaskit/media-card";
86
- var packageVersion = "77.6.6";
86
+ var packageVersion = "77.7.0";
87
87
  var MediaCardAnalyticsErrorBoundary = withMediaAnalyticsContext({
88
88
  packageVersion: packageVersion,
89
89
  packageName: packageName,
@@ -9,7 +9,7 @@ import { IntlProvider, injectIntl } from 'react-intl-next';
9
9
  import { ExternalImageCard } from './externalImageCard';
10
10
  import { FileCard } from './fileCard';
11
11
  var packageName = "@atlaskit/media-card";
12
- var packageVersion = "77.6.6";
12
+ var packageVersion = "77.7.0";
13
13
  export var CardV2Base = function CardV2Base(_ref) {
14
14
  var identifier = _ref.identifier,
15
15
  otherProps = _objectWithoutProperties(_ref, _excluded);
@@ -5,7 +5,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
5
5
  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) { _defineProperty(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; }
6
6
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
7
7
  import DownloadIcon from '@atlaskit/icon/glyph/download';
8
- import { globalMediaEventEmitter, isImageRepresentationReady, RECENTS_COLLECTION } from '@atlaskit/media-client';
8
+ import { globalMediaEventEmitter, isImageRepresentationReady, RECENTS_COLLECTION, imageResizeModeToFileImageMode } from '@atlaskit/media-client';
9
9
  import { MediaFileStateError, useFileState, useMediaClient } from '@atlaskit/media-client-react';
10
10
  import { getRandomHex, isMimeTypeSupportedByBrowser } from '@atlaskit/media-common';
11
11
  import { MediaViewer } from '@atlaskit/media-viewer';
@@ -168,7 +168,7 @@ export var FileCard = function FileCard(_ref) {
168
168
  }, [alt, previewDimensions, contextId, fileStateValue, identifier, originalDimensions]);
169
169
  var _useFilePreview = useFilePreview({
170
170
  mediaBlobUrlAttrs: mediaBlobUrlAttrs,
171
- resizeMode: resizeMode,
171
+ resizeMode: imageResizeModeToFileImageMode(resizeMode),
172
172
  identifier: identifier,
173
173
  ssr: ssr,
174
174
  dimensions: previewDimensions,
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'react';
2
+
3
+ /**
4
+ * Provide capacity to override creation date
5
+ * `DateOverrideContext` is a stopgap for a specific bug (https://product-fabric.atlassian.net/browse/CXP-2840)
6
+ * This is a temporal solution, please consult before usage
7
+ */
8
+ export var DateOverrideContext = /*#__PURE__*/createContext(undefined);
package/dist/esm/index.js CHANGED
@@ -10,4 +10,5 @@ export { CardError } from './utils/lightCards/cardError';
10
10
  export { defaultImageCardDimensions } from './utils/cardDimensions';
11
11
  export { fileCardImageViewSelector } from './card/classnames';
12
12
  export { inlinePlayerClassName } from './card/inlinePlayerWrapperStyles';
13
- export { newFileExperienceClassName } from './card/cardConstants';
13
+ export { newFileExperienceClassName } from './card/cardConstants';
14
+ export { DateOverrideContext } from './dateOverrideContext';
@@ -103,7 +103,7 @@ var MediaInlineCardLoader = /*#__PURE__*/function (_React$PureComponent) {
103
103
  ErrorBoundary = _this$state.ErrorBoundary;
104
104
  var analyticsContext = {
105
105
  packageVersion: "@atlaskit/media-card",
106
- packageName: "77.6.6",
106
+ packageName: "77.7.0",
107
107
  componentName: 'mediaInlineCard',
108
108
  component: 'mediaInlineCard'
109
109
  };
@@ -7,7 +7,7 @@ import { extractErrorInfo, getRenderErrorRequestMetadata } from './analytics';
7
7
  import { MediaCardError } from '../errors';
8
8
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
9
9
  var packageName = "@atlaskit/media-card";
10
- var packageVersion = "77.6.6";
10
+ var packageVersion = "77.7.0";
11
11
  var concurrentExperience;
12
12
  var getExperience = function getExperience(id) {
13
13
  if (!concurrentExperience) {
@@ -4,7 +4,9 @@ import { FileIdentifier, FileState, MediaSubscription } from '@atlaskit/media-cl
4
4
  import { WrappedComponentProps } from 'react-intl-next';
5
5
  import { CardAction } from './actions';
6
6
  import { CardProps, CardState, CardStatus } from '../types';
7
- export type CardBaseProps = CardProps & WithAnalyticsEventsProps & Partial<WrappedComponentProps>;
7
+ export type CardBaseProps = CardProps & WithAnalyticsEventsProps & Partial<WrappedComponentProps> & {
8
+ dateOverride?: number;
9
+ };
8
10
  export declare class CardBase extends Component<CardBaseProps, CardState> {
9
11
  private internalOccurrenceKey;
10
12
  private hasBeenMounted;
@@ -26,6 +26,7 @@ export interface CardViewOwnProps extends SharedCardProps {
26
26
  readonly forceSyncDisplay?: boolean;
27
27
  disableAnimation?: boolean;
28
28
  shouldHideTooltip?: boolean;
29
+ overriddenCreationDate?: number;
29
30
  }
30
31
  export interface CardViewState {
31
32
  elementWidth?: number;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Provide capacity to override creation date
4
+ * `DateOverrideContext` is a stopgap for a specific bug (https://product-fabric.atlassian.net/browse/CXP-2840)
5
+ * This is a temporal solution, please consult before usage
6
+ */
7
+ export declare const DateOverrideContext: import("react").Context<Record<string, number> | undefined>;
@@ -13,3 +13,4 @@ export { defaultImageCardDimensions } from './utils/cardDimensions';
13
13
  export { fileCardImageViewSelector } from './card/classnames';
14
14
  export { inlinePlayerClassName } from './card/inlinePlayerWrapperStyles';
15
15
  export { newFileExperienceClassName } from './card/cardConstants';
16
+ export { DateOverrideContext } from './dateOverrideContext';
@@ -4,7 +4,9 @@ import { FileIdentifier, FileState, MediaSubscription } from '@atlaskit/media-cl
4
4
  import { WrappedComponentProps } from 'react-intl-next';
5
5
  import { CardAction } from './actions';
6
6
  import { CardProps, CardState, CardStatus } from '../types';
7
- export type CardBaseProps = CardProps & WithAnalyticsEventsProps & Partial<WrappedComponentProps>;
7
+ export type CardBaseProps = CardProps & WithAnalyticsEventsProps & Partial<WrappedComponentProps> & {
8
+ dateOverride?: number;
9
+ };
8
10
  export declare class CardBase extends Component<CardBaseProps, CardState> {
9
11
  private internalOccurrenceKey;
10
12
  private hasBeenMounted;
@@ -26,6 +26,7 @@ export interface CardViewOwnProps extends SharedCardProps {
26
26
  readonly forceSyncDisplay?: boolean;
27
27
  disableAnimation?: boolean;
28
28
  shouldHideTooltip?: boolean;
29
+ overriddenCreationDate?: number;
29
30
  }
30
31
  export interface CardViewState {
31
32
  elementWidth?: number;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Provide capacity to override creation date
4
+ * `DateOverrideContext` is a stopgap for a specific bug (https://product-fabric.atlassian.net/browse/CXP-2840)
5
+ * This is a temporal solution, please consult before usage
6
+ */
7
+ export declare const DateOverrideContext: import("react").Context<Record<string, number> | undefined>;
@@ -13,3 +13,4 @@ export { defaultImageCardDimensions } from './utils/cardDimensions';
13
13
  export { fileCardImageViewSelector } from './card/classnames';
14
14
  export { inlinePlayerClassName } from './card/inlinePlayerWrapperStyles';
15
15
  export { newFileExperienceClassName } from './card/cardConstants';
16
+ export { DateOverrideContext } from './dateOverrideContext';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-card",
3
- "version": "77.6.6",
3
+ "version": "77.7.0",
4
4
  "description": "Includes all media card related components, CardView, CardViewSmall, Card...",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -38,18 +38,18 @@
38
38
  "dependencies": {
39
39
  "@atlaskit/analytics-next": "^9.1.0",
40
40
  "@atlaskit/dropdown-menu": "^12.1.0",
41
- "@atlaskit/editor-shared-styles": "^2.8.0",
41
+ "@atlaskit/editor-shared-styles": "^2.9.0",
42
42
  "@atlaskit/icon": "^22.0.0",
43
43
  "@atlaskit/media-client": "^26.1.0",
44
44
  "@atlaskit/media-client-react": "^2.0.0",
45
45
  "@atlaskit/media-common": "^11.0.0",
46
- "@atlaskit/media-file-preview": "^0.0.1",
46
+ "@atlaskit/media-file-preview": "^0.1.0",
47
47
  "@atlaskit/media-ui": "^25.0.0",
48
48
  "@atlaskit/media-viewer": "^48.2.0",
49
49
  "@atlaskit/platform-feature-flags": "^0.2.2",
50
50
  "@atlaskit/spinner": "^16.0.0",
51
51
  "@atlaskit/theme": "^12.6.0",
52
- "@atlaskit/tokens": "^1.31.0",
52
+ "@atlaskit/tokens": "^1.33.0",
53
53
  "@atlaskit/tooltip": "^18.1.0",
54
54
  "@atlaskit/ufo": "^0.2.0",
55
55
  "@babel/runtime": "^7.0.0",
@@ -66,8 +66,8 @@
66
66
  },
67
67
  "devDependencies": {
68
68
  "@af/integration-testing": "*",
69
- "@atlaskit/analytics-listeners": "^8.7.0",
70
- "@atlaskit/analytics-namespaced-context": "^6.7.0",
69
+ "@atlaskit/analytics-listeners": "^8.9.0",
70
+ "@atlaskit/analytics-namespaced-context": "^6.9.0",
71
71
  "@atlaskit/inline-message": "^12.0.0",
72
72
  "@atlaskit/media-core": "^34.1.0",
73
73
  "@atlaskit/media-picker": "^66.2.0",