@atlaskit/media-viewer 47.4.0 → 47.4.2

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 (161) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/analytics/events/operational/commenced.js +0 -2
  3. package/dist/cjs/analytics/events/operational/loadFailed.js +3 -8
  4. package/dist/cjs/analytics/events/operational/loadSucceeded.js +3 -5
  5. package/dist/cjs/analytics/events/operational/previewUnsupported.js +4 -8
  6. package/dist/cjs/analytics/events/operational/zipEntryLoadFailed.js +5 -11
  7. package/dist/cjs/analytics/events/operational/zipEntryLoadSucceeded.js +5 -10
  8. package/dist/cjs/analytics/events/screen/modal.js +0 -2
  9. package/dist/cjs/analytics/events/ui/closed.js +0 -3
  10. package/dist/cjs/analytics/events/ui/downloadButtonClicked.js +4 -8
  11. package/dist/cjs/analytics/events/ui/failedPreviewDownloadButtonClicked.js +4 -9
  12. package/dist/cjs/analytics/events/ui/navigated.js +0 -5
  13. package/dist/cjs/analytics/events/ui/zoomInButtonClicked.js +0 -1
  14. package/dist/cjs/analytics/events/ui/zoomOutButtonClicked.js +0 -1
  15. package/dist/cjs/analytics/index.js +4 -11
  16. package/dist/cjs/analytics/ufoExperiences.js +1 -18
  17. package/dist/cjs/classnames.js +0 -1
  18. package/dist/cjs/collection.js +15 -52
  19. package/dist/cjs/components/media-viewer-analytics-error-boundary.js +3 -20
  20. package/dist/cjs/components/media-viewer-loader.js +2 -41
  21. package/dist/cjs/components/media-viewer.js +9 -47
  22. package/dist/cjs/content.js +2 -24
  23. package/dist/cjs/domain/index.js +0 -1
  24. package/dist/cjs/domain/outcome.js +2 -11
  25. package/dist/cjs/domain/zoomLevel.js +0 -12
  26. package/dist/cjs/download.js +8 -37
  27. package/dist/cjs/errorMessage.js +6 -43
  28. package/dist/cjs/errors.js +5 -37
  29. package/dist/cjs/header.js +15 -58
  30. package/dist/cjs/index.js +0 -2
  31. package/dist/cjs/item-viewer.js +13 -80
  32. package/dist/cjs/list.js +12 -40
  33. package/dist/cjs/loading.js +0 -6
  34. package/dist/cjs/media-viewer.js +10 -51
  35. package/dist/cjs/navigation.js +14 -45
  36. package/dist/cjs/styleWrappers.js +46 -117
  37. package/dist/cjs/styles.js +3 -20
  38. package/dist/cjs/utils/closeOnDirectClick.js +0 -1
  39. package/dist/cjs/utils/getIdentifierCollection.js +0 -3
  40. package/dist/cjs/utils/getObjectUrlFromFileState.js +0 -14
  41. package/dist/cjs/utils/index.js +3 -40
  42. package/dist/cjs/utils/isIE.js +0 -2
  43. package/dist/cjs/version.json +1 -1
  44. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-entry.js +4 -46
  45. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-header.js +2 -27
  46. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-renderer.js +7 -43
  47. package/dist/cjs/viewers/archiveSidebar/archive-sidebar.js +10 -60
  48. package/dist/cjs/viewers/archiveSidebar/archive.js +10 -94
  49. package/dist/cjs/viewers/archiveSidebar/archiveViewerLoader.js +2 -38
  50. package/dist/cjs/viewers/archiveSidebar/styleWrappers.js +3 -28
  51. package/dist/cjs/viewers/archiveSidebar/styles.js +0 -7
  52. package/dist/cjs/viewers/audio.js +6 -70
  53. package/dist/cjs/viewers/base-viewer.js +8 -35
  54. package/dist/cjs/viewers/codeViewer/codeViewerRenderer.js +8 -50
  55. package/dist/cjs/viewers/codeViewer/index.js +4 -62
  56. package/dist/cjs/viewers/codeViewer/msg-parser.js +1 -24
  57. package/dist/cjs/viewers/codeViewer/styles.js +1 -8
  58. package/dist/cjs/viewers/codeViewer/util.js +1 -7
  59. package/dist/cjs/viewers/doc/index.js +4 -56
  60. package/dist/cjs/viewers/doc/pdfRenderer.js +1 -58
  61. package/dist/cjs/viewers/image/index.js +8 -65
  62. package/dist/cjs/viewers/image/interactive-img.js +44 -101
  63. package/dist/cjs/viewers/useThemeObserverHoc.js +2 -7
  64. package/dist/cjs/viewers/video.js +12 -64
  65. package/dist/cjs/zoomControls.js +6 -39
  66. package/dist/es2019/analytics/index.js +2 -5
  67. package/dist/es2019/analytics/ufoExperiences.js +5 -6
  68. package/dist/es2019/collection.js +2 -17
  69. package/dist/es2019/components/media-viewer-analytics-error-boundary.js +0 -2
  70. package/dist/es2019/components/media-viewer-loader.js +3 -16
  71. package/dist/es2019/components/media-viewer.js +6 -11
  72. package/dist/es2019/content.js +0 -1
  73. package/dist/es2019/domain/outcome.js +0 -15
  74. package/dist/es2019/domain/zoomLevel.js +0 -15
  75. package/dist/es2019/download.js +2 -6
  76. package/dist/es2019/errorMessage.js +2 -12
  77. package/dist/es2019/errors.js +5 -9
  78. package/dist/es2019/header.js +8 -31
  79. package/dist/es2019/item-viewer.js +3 -40
  80. package/dist/es2019/list.js +0 -8
  81. package/dist/es2019/media-viewer.js +0 -18
  82. package/dist/es2019/navigation.js +8 -13
  83. package/dist/es2019/styleWrappers.js +7 -3
  84. package/dist/es2019/styles.js +3 -1
  85. package/dist/es2019/utils/getObjectUrlFromFileState.js +0 -2
  86. package/dist/es2019/utils/index.js +3 -13
  87. package/dist/es2019/version.json +1 -1
  88. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-entry.js +0 -16
  89. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-header.js +0 -3
  90. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-renderer.js +0 -5
  91. package/dist/es2019/viewers/archiveSidebar/archive-sidebar.js +4 -14
  92. package/dist/es2019/viewers/archiveSidebar/archive.js +10 -35
  93. package/dist/es2019/viewers/archiveSidebar/archiveViewerLoader.js +1 -9
  94. package/dist/es2019/viewers/archiveSidebar/styleWrappers.js +1 -0
  95. package/dist/es2019/viewers/audio.js +2 -26
  96. package/dist/es2019/viewers/base-viewer.js +5 -15
  97. package/dist/es2019/viewers/codeViewer/codeViewerRenderer.js +7 -17
  98. package/dist/es2019/viewers/codeViewer/index.js +5 -21
  99. package/dist/es2019/viewers/codeViewer/msg-parser.js +1 -18
  100. package/dist/es2019/viewers/codeViewer/styles.js +3 -3
  101. package/dist/es2019/viewers/codeViewer/util.js +1 -2
  102. package/dist/es2019/viewers/doc/index.js +1 -20
  103. package/dist/es2019/viewers/doc/pdfRenderer.js +0 -17
  104. package/dist/es2019/viewers/image/index.js +4 -21
  105. package/dist/es2019/viewers/image/interactive-img.js +13 -43
  106. package/dist/es2019/viewers/useThemeObserverHoc.js +3 -3
  107. package/dist/es2019/viewers/video.js +0 -15
  108. package/dist/es2019/zoomControls.js +0 -6
  109. package/dist/esm/analytics/events/operational/loadFailed.js +3 -4
  110. package/dist/esm/analytics/events/operational/loadSucceeded.js +3 -3
  111. package/dist/esm/analytics/events/operational/previewUnsupported.js +4 -5
  112. package/dist/esm/analytics/events/operational/zipEntryLoadFailed.js +5 -6
  113. package/dist/esm/analytics/events/operational/zipEntryLoadSucceeded.js +5 -6
  114. package/dist/esm/analytics/events/ui/downloadButtonClicked.js +4 -5
  115. package/dist/esm/analytics/events/ui/failedPreviewDownloadButtonClicked.js +4 -5
  116. package/dist/esm/analytics/index.js +4 -7
  117. package/dist/esm/analytics/ufoExperiences.js +1 -8
  118. package/dist/esm/collection.js +15 -38
  119. package/dist/esm/components/media-viewer-analytics-error-boundary.js +3 -14
  120. package/dist/esm/components/media-viewer-loader.js +3 -32
  121. package/dist/esm/components/media-viewer.js +9 -32
  122. package/dist/esm/content.js +2 -11
  123. package/dist/esm/domain/outcome.js +2 -8
  124. package/dist/esm/domain/zoomLevel.js +0 -9
  125. package/dist/esm/download.js +8 -13
  126. package/dist/esm/errorMessage.js +6 -24
  127. package/dist/esm/errors.js +5 -21
  128. package/dist/esm/header.js +15 -43
  129. package/dist/esm/item-viewer.js +13 -51
  130. package/dist/esm/list.js +12 -29
  131. package/dist/esm/loading.js +0 -1
  132. package/dist/esm/media-viewer.js +10 -34
  133. package/dist/esm/navigation.js +14 -26
  134. package/dist/esm/styleWrappers.js +46 -42
  135. package/dist/esm/styles.js +4 -4
  136. package/dist/esm/utils/getObjectUrlFromFileState.js +0 -8
  137. package/dist/esm/utils/index.js +3 -17
  138. package/dist/esm/version.json +1 -1
  139. package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-entry.js +4 -32
  140. package/dist/esm/viewers/archiveSidebar/archive-sidebar-header.js +2 -14
  141. package/dist/esm/viewers/archiveSidebar/archive-sidebar-renderer.js +7 -27
  142. package/dist/esm/viewers/archiveSidebar/archive-sidebar.js +10 -50
  143. package/dist/esm/viewers/archiveSidebar/archive.js +10 -64
  144. package/dist/esm/viewers/archiveSidebar/archiveViewerLoader.js +3 -27
  145. package/dist/esm/viewers/archiveSidebar/styleWrappers.js +3 -2
  146. package/dist/esm/viewers/archiveSidebar/styles.js +0 -2
  147. package/dist/esm/viewers/audio.js +6 -55
  148. package/dist/esm/viewers/base-viewer.js +8 -21
  149. package/dist/esm/viewers/codeViewer/codeViewerRenderer.js +11 -30
  150. package/dist/esm/viewers/codeViewer/index.js +5 -47
  151. package/dist/esm/viewers/codeViewer/msg-parser.js +1 -18
  152. package/dist/esm/viewers/codeViewer/styles.js +3 -5
  153. package/dist/esm/viewers/codeViewer/util.js +1 -2
  154. package/dist/esm/viewers/doc/index.js +5 -43
  155. package/dist/esm/viewers/doc/pdfRenderer.js +1 -37
  156. package/dist/esm/viewers/image/index.js +8 -52
  157. package/dist/esm/viewers/image/interactive-img.js +44 -89
  158. package/dist/esm/viewers/useThemeObserverHoc.js +2 -3
  159. package/dist/esm/viewers/video.js +12 -46
  160. package/dist/esm/zoomControls.js +6 -21
  161. package/package.json +5 -3
@@ -1,76 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ZoomControlsBase = exports.ZoomControls = void 0;
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _react = _interopRequireWildcard(require("react"));
27
-
28
17
  var _mediaUi = require("@atlaskit/media-ui");
29
-
30
18
  var _zoomOut = _interopRequireDefault(require("@atlaskit/icon/glyph/media-services/zoom-out"));
31
-
32
19
  var _zoomIn = _interopRequireDefault(require("@atlaskit/icon/glyph/media-services/zoom-in"));
33
-
34
20
  var _styleWrappers = require("./styleWrappers");
35
-
36
21
  var _analyticsNext = require("@atlaskit/analytics-next");
37
-
38
22
  var _analytics = require("./analytics/");
39
-
40
23
  var _zoomInButtonClicked = require("./analytics/events/ui/zoomInButtonClicked");
41
-
42
24
  var _zoomOutButtonClicked = require("./analytics/events/ui/zoomOutButtonClicked");
43
-
44
25
  var _reactIntlNext = require("react-intl-next");
45
-
46
26
  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); }
47
-
48
27
  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; }
49
-
50
28
  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
-
52
29
  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; } }
53
-
54
30
  var ZoomControlsBase = /*#__PURE__*/function (_Component) {
55
31
  (0, _inherits2.default)(ZoomControlsBase, _Component);
56
-
57
32
  var _super = _createSuper(ZoomControlsBase);
58
-
59
33
  function ZoomControlsBase() {
60
34
  var _this;
61
-
62
35
  (0, _classCallCheck2.default)(this, ZoomControlsBase);
63
-
64
36
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
65
37
  args[_key] = arguments[_key];
66
38
  }
67
-
68
39
  _this = _super.call.apply(_super, [this].concat(args));
69
40
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "zoomIn", function () {
70
41
  var _this$props = _this.props,
71
- onChange = _this$props.onChange,
72
- zoomLevel = _this$props.zoomLevel;
73
-
42
+ onChange = _this$props.onChange,
43
+ zoomLevel = _this$props.zoomLevel;
74
44
  if (zoomLevel.canZoomIn) {
75
45
  var zoom = zoomLevel.zoomIn();
76
46
  (0, _analytics.fireAnalytics)((0, _zoomInButtonClicked.createZoomInButtonClickEvent)(zoom.value), _this.props);
@@ -79,9 +49,8 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
79
49
  });
80
50
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "zoomOut", function () {
81
51
  var _this$props2 = _this.props,
82
- onChange = _this$props2.onChange,
83
- zoomLevel = _this$props2.zoomLevel;
84
-
52
+ onChange = _this$props2.onChange,
53
+ zoomLevel = _this$props2.zoomLevel;
85
54
  if (zoomLevel.canZoomOut) {
86
55
  var zoom = zoomLevel.zoomOut();
87
56
  (0, _analytics.fireAnalytics)((0, _zoomOutButtonClicked.createZoomOutButtonClickedEvent)(zoom.value), _this.props);
@@ -90,13 +59,12 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
90
59
  });
91
60
  return _this;
92
61
  }
93
-
94
62
  (0, _createClass2.default)(ZoomControlsBase, [{
95
63
  key: "render",
96
64
  value: function render() {
97
65
  var _this$props3 = this.props,
98
- zoomLevel = _this$props3.zoomLevel,
99
- formatMessage = _this$props3.intl.formatMessage;
66
+ zoomLevel = _this$props3.zoomLevel,
67
+ formatMessage = _this$props3.intl.formatMessage;
100
68
  return /*#__PURE__*/_react.default.createElement(_styleWrappers.ZoomWrapper, {
101
69
  className: _mediaUi.hideControlsClassName
102
70
  }, /*#__PURE__*/_react.default.createElement(_styleWrappers.ZoomControlsWrapper, null, /*#__PURE__*/_react.default.createElement(_mediaUi.MediaButton, {
@@ -116,7 +84,6 @@ var ZoomControlsBase = /*#__PURE__*/function (_Component) {
116
84
  }]);
117
85
  return ZoomControlsBase;
118
86
  }(_react.Component);
119
-
120
87
  exports.ZoomControlsBase = ZoomControlsBase;
121
88
  var ZoomControls = (0, _analyticsNext.withAnalyticsEvents)({})((0, _reactIntlNext.injectIntl)(ZoomControlsBase));
122
89
  exports.ZoomControls = ZoomControls;
@@ -1,7 +1,7 @@
1
1
  import { filterFeatureFlagNames, filterFeatureFlagKeysAllProducts, ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
2
2
  const componentName = 'mediaViewer';
3
3
  const packageName = "@atlaskit/media-viewer";
4
- const packageVersion = "47.4.0";
4
+ const packageVersion = "47.4.2";
5
5
  export { packageName, packageVersion, componentName, componentName as component };
6
6
  export const relevantFlags = {
7
7
  newCardExperience: false,
@@ -21,11 +21,9 @@ export function getFileAttributes(fileState) {
21
21
  fileId: 'undefined'
22
22
  };
23
23
  }
24
-
25
24
  const {
26
25
  id: fileId
27
26
  } = fileState;
28
-
29
27
  switch (fileState.status) {
30
28
  case 'uploading':
31
29
  case 'failed-processing':
@@ -42,20 +40,19 @@ export function getFileAttributes(fileState) {
42
40
  fileMimetype,
43
41
  fileSize
44
42
  };
45
-
46
43
  case 'error':
47
44
  return {
48
45
  fileId
49
46
  };
50
47
  }
51
48
  }
49
+
52
50
  /** This type takes FailureAttributes and redefines `failReason` to be the strong media-viewer type */
53
51
 
54
52
  export function fireAnalytics(payload, props) {
55
53
  const {
56
54
  createAnalyticsEvent
57
55
  } = props;
58
-
59
56
  if (createAnalyticsEvent) {
60
57
  const ev = createAnalyticsEvent(payload);
61
58
  ev.fire(ANALYTICS_MEDIA_CHANNEL);
@@ -2,9 +2,8 @@ import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atl
2
2
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
3
3
  import { LOGGED_FEATURE_FLAG_KEYS } from '.';
4
4
  const packageName = "@atlaskit/media-viewer";
5
- const packageVersion = "47.4.0";
5
+ const packageVersion = "47.4.2";
6
6
  let ufoExperience;
7
-
8
7
  const getExperience = () => {
9
8
  if (!ufoExperience) {
10
9
  const inlineExperience = {
@@ -17,16 +16,15 @@ const getExperience = () => {
17
16
  };
18
17
  ufoExperience = new UFOExperience('media-file', inlineExperience);
19
18
  }
20
-
21
19
  return ufoExperience;
22
20
  };
23
-
24
21
  export const startMediaFileUfoExperience = () => {
25
22
  getExperience().start();
26
23
  };
27
24
  export const succeedMediaFileUfoExperience = properties => {
28
25
  getExperience().success({
29
- metadata: { ...properties,
26
+ metadata: {
27
+ ...properties,
30
28
  packageName,
31
29
  packageVersion,
32
30
  mediaEnvironment: getMediaEnvironment(),
@@ -35,7 +33,8 @@ export const succeedMediaFileUfoExperience = properties => {
35
33
  });
36
34
  };
37
35
  export const failMediaFileUfoExperience = properties => {
38
- const refinedMetadata = { ...properties,
36
+ const refinedMetadata = {
37
+ ...properties,
39
38
  packageName,
40
39
  packageVersion,
41
40
  mediaEnvironment: getMediaEnvironment(),
@@ -13,9 +13,7 @@ const initialState = {
13
13
  export class Collection extends React.Component {
14
14
  constructor(...args) {
15
15
  super(...args);
16
-
17
16
  _defineProperty(this, "state", initialState);
18
-
19
17
  _defineProperty(this, "onNavigationChange", item => {
20
18
  const {
21
19
  mediaClient,
@@ -26,34 +24,28 @@ export class Collection extends React.Component {
26
24
  this.setState({
27
25
  item
28
26
  });
29
-
30
27
  if (this.shouldLoadNext(item)) {
31
28
  mediaClient.collection.loadNextPage(collectionName, {
32
29
  limit: pageSize
33
30
  });
34
31
  }
35
-
36
32
  if (onNavigationChange) {
37
33
  onNavigationChange(item);
38
34
  }
39
35
  });
40
36
  }
41
-
42
37
  UNSAFE_componentWillUpdate(nextProps) {
43
38
  if (this.needsReset(this.props, nextProps)) {
44
39
  this.release();
45
40
  this.init(nextProps);
46
41
  }
47
42
  }
48
-
49
43
  componentWillUnmount() {
50
44
  this.release();
51
45
  }
52
-
53
46
  componentDidMount() {
54
47
  this.init(this.props);
55
48
  }
56
-
57
49
  render() {
58
50
  const {
59
51
  defaultSelectedItem,
@@ -69,7 +61,8 @@ export class Collection extends React.Component {
69
61
  pending: () => /*#__PURE__*/React.createElement(Spinner, null),
70
62
  successful: items => {
71
63
  const identifiers = items.map(x => toIdentifier(x, collectionName));
72
- const item = defaultSelectedItem ? { ...defaultSelectedItem,
64
+ const item = defaultSelectedItem ? {
65
+ ...defaultSelectedItem,
73
66
  collectionName
74
67
  } : identifiers[0];
75
68
  return /*#__PURE__*/React.createElement(List, {
@@ -95,7 +88,6 @@ export class Collection extends React.Component {
95
88
  }
96
89
  });
97
90
  }
98
-
99
91
  init(props) {
100
92
  this.setState(initialState);
101
93
  const {
@@ -111,7 +103,6 @@ export class Collection extends React.Component {
111
103
  this.setState({
112
104
  items: Outcome.successful(items)
113
105
  });
114
-
115
106
  if (defaultSelectedItem && this.shouldLoadNext(defaultSelectedItem)) {
116
107
  mediaClient.collection.loadNextPage(collectionName, {
117
108
  limit: pageSize
@@ -125,22 +116,18 @@ export class Collection extends React.Component {
125
116
  }
126
117
  });
127
118
  }
128
-
129
119
  release() {
130
120
  if (this.subscription) {
131
121
  this.subscription.unsubscribe();
132
122
  }
133
123
  }
134
-
135
124
  needsReset(propsA, propsB) {
136
125
  return propsA.collectionName !== propsB.collectionName || propsA.mediaClient !== propsB.mediaClient;
137
126
  }
138
-
139
127
  shouldLoadNext(selectedItem) {
140
128
  if (isExternalImageIdentifier(selectedItem)) {
141
129
  return false;
142
130
  }
143
-
144
131
  const {
145
132
  items
146
133
  } = this.state;
@@ -150,11 +137,9 @@ export class Collection extends React.Component {
150
137
  successful: items => items.length !== 0 && this.isLastItem(selectedItem, items)
151
138
  });
152
139
  }
153
-
154
140
  isLastItem(selectedItem, items) {
155
141
  const lastItem = items[items.length - 1];
156
142
  const isLastItem = selectedItem.id === lastItem.id && selectedItem.occurrenceKey === lastItem.occurrenceKey;
157
143
  return isLastItem;
158
144
  }
159
-
160
145
  }
@@ -13,7 +13,5 @@ export default class MediaViewerAnalyticsErrorBoundary extends React.Component {
13
13
  data: data
14
14
  }, children);
15
15
  }
16
-
17
16
  }
18
-
19
17
  _defineProperty(MediaViewerAnalyticsErrorBoundary, "displayName", 'MediaViewerAnalyticsErrorBoundary');
@@ -6,24 +6,16 @@ import withThemeObserverHOC from '../viewers/useThemeObserverHoc';
6
6
  export class AsyncMediaViewer extends React.PureComponent {
7
7
  constructor(...args) {
8
8
  super(...args);
9
-
10
9
  _defineProperty(this, "state", {
11
10
  // Set state value to equal to current static value of this class.
12
11
  MediaViewer: AsyncMediaViewer.MediaViewer,
13
12
  MediaViewerErrorBoundary: AsyncMediaViewer.MediaViewerErrorBoundary
14
13
  });
15
14
  }
16
-
17
15
  async UNSAFE_componentWillMount() {
18
16
  if (!this.state.MediaViewer || !this.state.MediaViewerErrorBoundary) {
19
17
  try {
20
- const [mediaClient, mediaViewerModule, mediaViewerErrorBoundaryModule] = await Promise.all([import(
21
- /* webpackChunkName: "@atlaskit-internal_media-client" */
22
- '@atlaskit/media-client'), import(
23
- /* webpackChunkName: "@atlaskit-internal_media-viewer" */
24
- './media-viewer'), import(
25
- /* webpackChunkName: "@atlaskit-internal_media-picker-error-boundary" */
26
- './media-viewer-analytics-error-boundary')]);
18
+ const [mediaClient, mediaViewerModule, mediaViewerErrorBoundaryModule] = await Promise.all([import( /* webpackChunkName: "@atlaskit-internal_media-client" */'@atlaskit/media-client'), import( /* webpackChunkName: "@atlaskit-internal_media-viewer" */'./media-viewer'), import( /* webpackChunkName: "@atlaskit-internal_media-picker-error-boundary" */'./media-viewer-analytics-error-boundary')]);
27
19
  const MediaViewerWithClient = mediaClient.withMediaClient(mediaViewerModule.MediaViewer);
28
20
  AsyncMediaViewer.MediaViewer = MediaViewerWithClient;
29
21
  AsyncMediaViewer.MediaViewerErrorBoundary = mediaViewerErrorBoundaryModule.default;
@@ -31,11 +23,11 @@ export class AsyncMediaViewer extends React.PureComponent {
31
23
  MediaViewer: MediaViewerWithClient,
32
24
  MediaViewerErrorBoundary: AsyncMediaViewer.MediaViewerErrorBoundary
33
25
  });
34
- } catch (error) {// TODO [MS-2277]: Add operational error to catch async import error
26
+ } catch (error) {
27
+ // TODO [MS-2277]: Add operational error to catch async import error
35
28
  }
36
29
  }
37
30
  }
38
-
39
31
  render() {
40
32
  const {
41
33
  theme
@@ -44,19 +36,14 @@ export class AsyncMediaViewer extends React.PureComponent {
44
36
  MediaViewer,
45
37
  MediaViewerErrorBoundary
46
38
  } = this.state;
47
-
48
39
  if (!MediaViewer || !MediaViewerErrorBoundary) {
49
40
  return /*#__PURE__*/React.createElement(ModalSpinner, {
50
41
  blankedColor: headerAndSidebarBackgroundColor,
51
42
  invertSpinnerColor: theme !== 'dark'
52
43
  });
53
44
  }
54
-
55
45
  return /*#__PURE__*/React.createElement(MediaViewerErrorBoundary, null, /*#__PURE__*/React.createElement(MediaViewer, this.props));
56
46
  }
57
-
58
47
  }
59
-
60
48
  _defineProperty(AsyncMediaViewer, "displayName", 'AsyncMediaViewer');
61
-
62
49
  export default withThemeObserverHOC(AsyncMediaViewer);
@@ -8,27 +8,22 @@ import { getSelectedIndex } from '../utils';
8
8
  export class MediaViewer extends Component {
9
9
  constructor(...args) {
10
10
  super(...args);
11
-
12
11
  _defineProperty(this, "getDataSourceWithSelectedItem", (dataSource, selectedItem) => {
13
12
  // we want to ensure the card identifier is in the list
14
13
  const {
15
14
  list
16
15
  } = dataSource;
17
-
18
16
  if (list) {
19
17
  const selectedItemIndex = getSelectedIndex(list, selectedItem);
20
-
21
18
  if (selectedItemIndex === -1) {
22
19
  return {
23
20
  list: [selectedItem, ...list]
24
21
  };
25
22
  }
26
23
  }
27
-
28
24
  return dataSource;
29
25
  });
30
26
  }
31
-
32
27
  render() {
33
28
  const {
34
29
  featureFlags,
@@ -43,16 +38,17 @@ export class MediaViewer extends Component {
43
38
  } = this.props;
44
39
  const defaultPageSize = 30;
45
40
  const dataSourceWithSelectedItem = this.getDataSourceWithSelectedItem(dataSource, selectedItem);
46
-
47
41
  if (dataSourceWithSelectedItem.list) {
48
- const items = dataSourceWithSelectedItem.list.map(identifier => ({ ...identifier,
42
+ const items = dataSourceWithSelectedItem.list.map(identifier => ({
43
+ ...identifier,
49
44
  collectionName: getIdentifierCollection(identifier, collectionName)
50
45
  }));
51
46
  const itemSource = {
52
47
  kind: 'ARRAY',
53
48
  items: items
54
49
  };
55
- const identifier = { ...selectedItem,
50
+ const identifier = {
51
+ ...selectedItem,
56
52
  collectionName
57
53
  };
58
54
  return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
@@ -79,13 +75,13 @@ export class MediaViewer extends Component {
79
75
  contextId: contextId
80
76
  });
81
77
  }
82
-
83
78
  const itemSource = {
84
79
  kind: 'COLLECTION',
85
80
  collectionName: dataSourceWithSelectedItem.collectionName,
86
81
  pageSize: pageSize || defaultPageSize
87
82
  };
88
- const identifier = { ...selectedItem,
83
+ const identifier = {
84
+ ...selectedItem,
89
85
  collectionName: dataSourceWithSelectedItem.collectionName
90
86
  };
91
87
  return /*#__PURE__*/React.createElement(MediaViewerNextGen, {
@@ -100,5 +96,4 @@ export class MediaViewer extends Component {
100
96
  throw new Error();
101
97
  }
102
98
  }
103
-
104
99
  }
@@ -30,5 +30,4 @@ export class Content extends Component {
30
30
  })), children);
31
31
  }));
32
32
  }
33
-
34
33
  }
@@ -2,31 +2,26 @@ export class Outcome {
2
2
  constructor(state) {
3
3
  this.state = state;
4
4
  }
5
-
6
5
  static successful(data) {
7
6
  return new Outcome({
8
7
  status: 'SUCCESSFUL',
9
8
  data
10
9
  });
11
10
  }
12
-
13
11
  static pending() {
14
12
  return new Outcome({
15
13
  status: 'PENDING'
16
14
  });
17
15
  }
18
-
19
16
  static failed(err) {
20
17
  return new Outcome({
21
18
  status: 'FAILED',
22
19
  err
23
20
  });
24
21
  }
25
-
26
22
  get status() {
27
23
  return this.state.status;
28
24
  }
29
-
30
25
  get data() {
31
26
  if (this.state.status === 'SUCCESSFUL') {
32
27
  return this.state.data;
@@ -34,7 +29,6 @@ export class Outcome {
34
29
  return;
35
30
  }
36
31
  }
37
-
38
32
  get err() {
39
33
  if (this.state.status === 'FAILED') {
40
34
  return this.state.err;
@@ -42,25 +36,21 @@ export class Outcome {
42
36
  return;
43
37
  }
44
38
  }
45
-
46
39
  whenSuccessful(successful) {
47
40
  if (this.state.status === 'SUCCESSFUL') {
48
41
  successful(this.state.data);
49
42
  }
50
43
  }
51
-
52
44
  whenPending(pending) {
53
45
  if (this.state.status === 'PENDING') {
54
46
  pending();
55
47
  }
56
48
  }
57
-
58
49
  whenFailed(failed) {
59
50
  if (this.state.status === 'FAILED') {
60
51
  failed(this.state.err);
61
52
  }
62
53
  }
63
-
64
54
  match({
65
55
  successful,
66
56
  pending,
@@ -69,15 +59,12 @@ export class Outcome {
69
59
  switch (this.state.status) {
70
60
  case 'SUCCESSFUL':
71
61
  return successful(this.state.data);
72
-
73
62
  case 'PENDING':
74
63
  return pending();
75
-
76
64
  case 'FAILED':
77
65
  return failed(this.state.err);
78
66
  }
79
67
  }
80
-
81
68
  mapSuccessful(map) {
82
69
  if (this.state.status === 'SUCCESSFUL') {
83
70
  return Outcome.successful(map(this.state.data));
@@ -85,7 +72,6 @@ export class Outcome {
85
72
  return new Outcome(this.state);
86
73
  }
87
74
  }
88
-
89
75
  mapFailed(map) {
90
76
  if (this.state.status === 'FAILED') {
91
77
  return Outcome.failed(map(this.state.err));
@@ -93,5 +79,4 @@ export class Outcome {
93
79
  return new Outcome(this.state);
94
80
  }
95
81
  }
96
-
97
82
  }
@@ -1,20 +1,15 @@
1
1
  const BASE_ZOOM_LEVELS = [0.06, 0.12, 0.24, 0.48, 1, 1.5, 2, 4, 6, 8];
2
-
3
2
  const sortNumbers = nums => nums.sort((a, b) => a - b); // default sorting is alphabetically
4
3
 
5
-
6
4
  const deduplicated = nums => {
7
5
  return sortNumbers(nums).filter((num, pos) => pos === 0 || num !== nums[pos - 1]);
8
6
  };
9
-
10
7
  export class ZoomLevel {
11
8
  constructor(initialValue, selectedValue) {
12
9
  this.initialValue = initialValue;
13
-
14
10
  if (!selectedValue) {
15
11
  selectedValue = initialValue;
16
12
  }
17
-
18
13
  if (selectedValue < this.min) {
19
14
  this.value = this.min;
20
15
  } else if (selectedValue > this.max) {
@@ -23,7 +18,6 @@ export class ZoomLevel {
23
18
  this.value = selectedValue;
24
19
  }
25
20
  }
26
-
27
21
  get zoomLevels() {
28
22
  return deduplicated(sortNumbers(BASE_ZOOM_LEVELS.map(zoomLevel => zoomLevel * this.initialValue).concat(1) // make sure 100% is selectable
29
23
  )); // and that all levels are ordered
@@ -32,41 +26,32 @@ export class ZoomLevel {
32
26
  get min() {
33
27
  return this.zoomLevels[0];
34
28
  }
35
-
36
29
  get max() {
37
30
  return this.zoomLevels.slice(-1)[0];
38
31
  }
39
-
40
32
  get asPercentage() {
41
33
  return `${Math.round(this.value * 100)} %`;
42
34
  }
43
-
44
35
  zoomIn() {
45
36
  const index = this.zoomLevels.indexOf(this.value);
46
37
  const nextValue = this.zoomLevels[index + 1];
47
38
  return nextValue ? new ZoomLevel(this.initialValue, nextValue) : this;
48
39
  }
49
-
50
40
  zoomOut() {
51
41
  const index = this.zoomLevels.indexOf(this.value);
52
42
  const nextValue = this.zoomLevels[index - 1];
53
43
  return nextValue ? new ZoomLevel(this.initialValue, nextValue) : this;
54
44
  }
55
-
56
45
  fullyZoomIn() {
57
46
  return new ZoomLevel(this.initialValue, this.max);
58
47
  }
59
-
60
48
  fullyZoomOut() {
61
49
  return new ZoomLevel(this.initialValue, this.min);
62
50
  }
63
-
64
51
  get canZoomIn() {
65
52
  return this.value < this.max;
66
53
  }
67
-
68
54
  get canZoomOut() {
69
55
  return this.value > this.min;
70
56
  }
71
-
72
57
  }
@@ -11,9 +11,7 @@ import { DownloadButtonWrapper } from './styleWrappers';
11
11
  const downloadIcon = /*#__PURE__*/React.createElement(DownloadIcon, {
12
12
  label: "Download"
13
13
  });
14
-
15
14
  function noop() {}
16
-
17
15
  export function DownloadButton({
18
16
  analyticspayload,
19
17
  onClick: providedOnClick = noop,
@@ -21,12 +19,10 @@ export function DownloadButton({
21
19
  }) {
22
20
  const onClick = useCallback((event, analyticsEvent) => {
23
21
  const clone = analyticsEvent.clone();
24
-
25
22
  if (clone) {
26
23
  clone.update(analyticspayload);
27
24
  clone.fire(ANALYTICS_MEDIA_CHANNEL);
28
25
  }
29
-
30
26
  providedOnClick(event, analyticsEvent);
31
27
  }, [analyticspayload, providedOnClick]);
32
28
  return /*#__PURE__*/React.createElement(MediaButton, _extends({}, rest, {
@@ -57,12 +53,12 @@ export const ToolbarDownloadButton = props => {
57
53
  mediaClient,
58
54
  identifier
59
55
  } = props;
60
- const downloadEvent = createDownloadButtonClickedEvent(state); // TODO [MS-1731]: make it work for external files as well
56
+ const downloadEvent = createDownloadButtonClickedEvent(state);
61
57
 
58
+ // TODO [MS-1731]: make it work for external files as well
62
59
  if (isExternalImageIdentifier(identifier)) {
63
60
  return null;
64
61
  }
65
-
66
62
  return /*#__PURE__*/React.createElement(DownloadButton, {
67
63
  testId: "media-viewer-download-button",
68
64
  analyticspayload: downloadEvent,