@atlaskit/media-viewer 46.0.1 → 46.2.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 (58) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/cjs/analytics/ufoExperiences.js +66 -0
  3. package/dist/cjs/errorMessage.js +17 -0
  4. package/dist/cjs/errors.js +13 -3
  5. package/dist/cjs/header.js +2 -2
  6. package/dist/cjs/item-viewer.js +82 -16
  7. package/dist/cjs/media-viewer.js +8 -1
  8. package/dist/cjs/navigation.js +3 -3
  9. package/dist/cjs/styled.js +1 -1
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-folder-entry.js +10 -11
  12. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-header.js +9 -7
  13. package/dist/cjs/viewers/archiveSidebar/archive-sidebar-renderer.js +1 -8
  14. package/dist/cjs/viewers/archiveSidebar/archive-sidebar.js +1 -3
  15. package/dist/cjs/viewers/archiveSidebar/archive.js +6 -6
  16. package/dist/cjs/viewers/archiveSidebar/archiveViewerLoader.js +4 -4
  17. package/dist/cjs/viewers/archiveSidebar/styled.js +35 -3
  18. package/dist/cjs/viewers/codeViewer/index.js +1 -1
  19. package/dist/es2019/analytics/ufoExperiences.js +40 -0
  20. package/dist/es2019/errorMessage.js +10 -0
  21. package/dist/es2019/errors.js +16 -4
  22. package/dist/es2019/header.js +2 -2
  23. package/dist/es2019/item-viewer.js +28 -6
  24. package/dist/es2019/media-viewer.js +9 -2
  25. package/dist/es2019/navigation.js +1 -1
  26. package/dist/es2019/styled.js +1 -1
  27. package/dist/es2019/version.json +1 -1
  28. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-folder-entry.js +7 -8
  29. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-header.js +6 -7
  30. package/dist/es2019/viewers/archiveSidebar/archive-sidebar-renderer.js +2 -9
  31. package/dist/es2019/viewers/archiveSidebar/archive-sidebar.js +1 -3
  32. package/dist/es2019/viewers/archiveSidebar/archive.js +3 -3
  33. package/dist/es2019/viewers/archiveSidebar/archiveViewerLoader.js +2 -2
  34. package/dist/es2019/viewers/archiveSidebar/styled.js +40 -1
  35. package/dist/es2019/viewers/codeViewer/index.js +1 -1
  36. package/dist/esm/analytics/ufoExperiences.js +47 -0
  37. package/dist/esm/errorMessage.js +15 -0
  38. package/dist/esm/errors.js +14 -4
  39. package/dist/esm/header.js +2 -2
  40. package/dist/esm/item-viewer.js +58 -6
  41. package/dist/esm/media-viewer.js +9 -2
  42. package/dist/esm/navigation.js +1 -1
  43. package/dist/esm/styled.js +1 -1
  44. package/dist/esm/version.json +1 -1
  45. package/dist/esm/viewers/archiveSidebar/archive-sidebar-folder-entry.js +9 -10
  46. package/dist/esm/viewers/archiveSidebar/archive-sidebar-header.js +8 -7
  47. package/dist/esm/viewers/archiveSidebar/archive-sidebar-renderer.js +2 -9
  48. package/dist/esm/viewers/archiveSidebar/archive-sidebar.js +1 -3
  49. package/dist/esm/viewers/archiveSidebar/archive.js +3 -3
  50. package/dist/esm/viewers/archiveSidebar/archiveViewerLoader.js +2 -2
  51. package/dist/esm/viewers/archiveSidebar/styled.js +19 -2
  52. package/dist/esm/viewers/codeViewer/index.js +1 -1
  53. package/dist/types/analytics/ufoExperiences.d.ts +13 -0
  54. package/dist/types/item-viewer.d.ts +1 -1
  55. package/dist/types/viewers/archiveSidebar/archive-sidebar.d.ts +1 -1
  56. package/dist/types/viewers/archiveSidebar/archive.d.ts +1 -1
  57. package/dist/types/viewers/archiveSidebar/styled.d.ts +14 -0
  58. package/package.json +18 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,113 @@
1
1
  # @atlaskit/media-viewer
2
2
 
3
+ ## 46.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a44c7c42fa7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a44c7c42fa7) - Added payload publisher wrapper for logging ufo events in examples
8
+ - [`5a79ea6f7d6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5a79ea6f7d6) - Add support for assessing the mimetype of a file when deciding what viewer to show
9
+ - [`065ae19cb44`](https://bitbucket.org/atlassian/atlassian-frontend/commits/065ae19cb44) - Enforced "up to date" logged feature flags via type checks
10
+ - Updated dependencies
11
+
12
+ ## 46.2.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [`60136fd1e34`](https://bitbucket.org/atlassian/atlassian-frontend/commits/60136fd1e34) - Replicate Media Viewer Reliability Events using UFO client library
17
+ - [`f862d5ae7aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f862d5ae7aa) - remove RxJs peer dependency
18
+ - [`dea110be493`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dea110be493) - [ux] MEX-1334 Implemented code splitting in media-viewer
19
+ - [`118f3af101f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/118f3af101f) - Media Client APIs has been updated to use MediaSubscribable which provides subscription functionality (similar to RxJs observables).
20
+ It exposes subscribe method that is called with MediaObserver as an argument and returns MediaSubscription.
21
+ MediaSubscription exposes unsubscribe method.
22
+
23
+ getFileState:
24
+ The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
25
+
26
+ ```
27
+ import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
28
+
29
+ const mediaClient = new MediaClient({ authProvider });
30
+
31
+ const fileStateSubscribable: MediaSubscribable<FileState> = mediaClient.file.getFileState(id);
32
+
33
+ const mediaObserver: MediaObserver<FileState> = {
34
+ next: (fileState) => {
35
+ nextCallback(fileState)
36
+ },
37
+ error: (error) => {
38
+ errorCallback(error)
39
+ },
40
+ };
41
+
42
+ const subscription: MediaSubscription = fileStateSubscribable.subscribe(mediaObserver);
43
+
44
+ subscription.unsubscribe();
45
+ ```
46
+
47
+ upload:
48
+ The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
49
+
50
+ ```
51
+ import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
52
+
53
+ const mediaClient = new MediaClient({ authProvider });
54
+
55
+ const uploadFileSubscribable: MediaSubscribable<FileState> = mediaClient.file.upload(uploadableFile);
56
+
57
+ const mediaObserver: MediaObserver<FileState> = {
58
+ next: (fileState) => {
59
+ nextCallback(fileState)
60
+ },
61
+ error: (error) => {
62
+ errorCallback(error)
63
+ },
64
+ };
65
+
66
+ const subscription: MediaSubscription = uploadFileSubscribable.subscribe(mediaObserver);
67
+
68
+ subscription.unsubscribe();
69
+ ```
70
+
71
+ getItems:
72
+ The returned type of this function has changed from RxJs ReplaySubject to MediaSubscribable.
73
+
74
+ ```
75
+ import { MediaClient, MediaObserver, MediaSubscribable, MediaSubscription } from '@atlaskit/media-client';
76
+
77
+ const mediaClient = new MediaClient({ authProvider });
78
+
79
+ const collectionItemsSubscribable: MediaSubscribable<MediaCollectionItem[]> = mediaClient.collection.getItems(collectionName);
80
+
81
+ const mediaObserver: MediaObserver<MediaCollectionItem[]> = {
82
+ next: (items) => {
83
+ nextCallback(items)
84
+ },
85
+ error: (error) => {
86
+ errorCallback(error)
87
+ },
88
+ };
89
+
90
+ const subscription: MediaSubscription = collectionItemsSubscribable.subscribe(mediaObserver);
91
+
92
+ subscription.unsubscribe();
93
+ ```
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies
98
+
99
+ ## 46.1.0
100
+
101
+ ### Minor Changes
102
+
103
+ - [`30fffbfe4d6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/30fffbfe4d6) - Replaced Deprecated dependency @atlaskit/navigation-next with @atlaskit/side-navigation and styled-components
104
+ - [`94539e589cc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/94539e589cc) - MEX-1105 Migrated @atlaskit/button to @atlaskit/button/standard-button
105
+
106
+ ### Patch Changes
107
+
108
+ - [`3d9682b0377`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3d9682b0377) - add errorDetail logging for RequestError and MediaStoreError to getErrorDetail
109
+ - Updated dependencies
110
+
3
111
  ## 46.0.1
4
112
 
5
113
  ### Patch Changes
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.succeedMediaFileUfoExperience = exports.startMediaFileUfoExperience = exports.failMediaFileUfoExperience = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _ufo = require("@atlaskit/ufo");
13
+
14
+ var _version = require("../version.json");
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
+
20
+ var ufoExperience;
21
+
22
+ var getExperience = function getExperience() {
23
+ if (!ufoExperience) {
24
+ var inlineExperience = {
25
+ platform: {
26
+ component: 'media-viewer'
27
+ },
28
+ type: _ufo.ExperienceTypes.Experience,
29
+ performanceType: _ufo.ExperiencePerformanceTypes.InlineResult
30
+ };
31
+ ufoExperience = new _ufo.UFOExperience('media-file', inlineExperience);
32
+ }
33
+
34
+ return ufoExperience;
35
+ };
36
+
37
+ var startMediaFileUfoExperience = function startMediaFileUfoExperience() {
38
+ getExperience().start();
39
+ };
40
+
41
+ exports.startMediaFileUfoExperience = startMediaFileUfoExperience;
42
+
43
+ var succeedMediaFileUfoExperience = function succeedMediaFileUfoExperience(properties) {
44
+ getExperience().success({
45
+ metadata: {
46
+ fileAttributes: properties,
47
+ packageName: _version.name,
48
+ packageVersion: _version.version
49
+ }
50
+ });
51
+ };
52
+
53
+ exports.succeedMediaFileUfoExperience = succeedMediaFileUfoExperience;
54
+
55
+ var failMediaFileUfoExperience = function failMediaFileUfoExperience(properties) {
56
+ var refinedMetadata = _objectSpread(_objectSpread({}, properties), {}, {
57
+ packageName: _version.name,
58
+ packageVersion: _version.version
59
+ });
60
+
61
+ getExperience().failure({
62
+ metadata: refinedMetadata
63
+ });
64
+ };
65
+
66
+ exports.failMediaFileUfoExperience = failMediaFileUfoExperience;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getErrorMessageFromError = exports.errorReasonToMessages = exports.default = exports.ErrorMessage = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -37,6 +39,12 @@ var _loadFailed = require("./analytics/events/operational/loadFailed");
37
39
 
38
40
  var _previewUnsupported = require("./analytics/events/operational/previewUnsupported");
39
41
 
42
+ var _ufoExperiences = require("./analytics/ufoExperiences");
43
+
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
+
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
+
40
48
  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); }; }
41
49
 
42
50
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -100,6 +108,15 @@ var ErrorMessage = /*#__PURE__*/function (_React$Component) {
100
108
  if (supressAnalytics !== true) {
101
109
  var payload = ErrorMessage.getEventPayload(error, fileId, fileState);
102
110
  (0, _analytics.fireAnalytics)(payload, props);
111
+
112
+ var rawPayload = _objectSpread({}, payload === null || payload === void 0 ? void 0 : payload.attributes);
113
+
114
+ if (Object.keys(rawPayload).includes('status')) {
115
+ delete rawPayload['status'];
116
+ }
117
+
118
+ var failMediaFileUfoExperiencePayload = rawPayload;
119
+ (0, _ufoExperiences.failMediaFileUfoExperience)(failMediaFileUfoExperiencePayload);
103
120
  }
104
121
  }
105
122
  }, {
@@ -108,9 +108,19 @@ function getSecondaryErrorReason(error) {
108
108
 
109
109
  function getErrorDetail(error) {
110
110
  // when the secondaryReason is "nativeError" we extract the error message for debugging
111
- if (error && isMediaViewerError(error) && getSecondaryErrorReason(error) === 'nativeError') {
112
- // pls don't send stack traces, they can get polluted and blow out payload sizes
113
- return error.secondaryError && error.secondaryError.message;
111
+ if (error && isMediaViewerError(error)) {
112
+ if (getSecondaryErrorReason(error) === 'nativeError') {
113
+ // pls don't send stack traces, they can get polluted and blow out payload sizes
114
+ return error.secondaryError && error.secondaryError.message;
115
+ }
116
+
117
+ var _secondaryError = error.secondaryError;
118
+
119
+ if (_secondaryError && ((0, _mediaClient.isRequestError)(_secondaryError) || (0, _mediaClient.isMediaStoreError)(_secondaryError))) {
120
+ var _secondaryError$inner;
121
+
122
+ return (_secondaryError$inner = _secondaryError.innerError) === null || _secondaryError$inner === void 0 ? void 0 : _secondaryError$inner.message;
123
+ }
114
124
  }
115
125
  }
116
126
 
@@ -117,10 +117,10 @@ var Header = /*#__PURE__*/function (_React$Component) {
117
117
  });
118
118
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderFileTypeText", function (item) {
119
119
  // render appropriate header if its a code/email item and the feature flag is enabled
120
- if ((0, _codeViewer.isCodeViewerItem)(item.name)) {
120
+ if ((0, _codeViewer.isCodeViewerItem)(item.name, item.mimeType)) {
121
121
  // gather language and extension
122
122
  // i.e test.py would have a language of 'python' and an extension of 'py'
123
- var language = (0, _codeViewer.getLanguageType)(item.name);
123
+ var language = (0, _codeViewer.getLanguageType)(item.name, item.mimeType);
124
124
  var ext = (0, _codeViewer.getExtension)(item.name); // specific cases for if we want a certain word translated in other languages
125
125
 
126
126
  switch (ext) {
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.isFileStateItem = exports.isExternalImageItem = exports.ItemViewerBase = exports.ItemViewer = void 0;
9
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -25,6 +27,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
25
27
 
26
28
  var _react = _interopRequireDefault(require("react"));
27
29
 
30
+ var _reactLoadable = _interopRequireDefault(require("react-loadable"));
31
+
28
32
  var _mediaClient = require("@atlaskit/media-client");
29
33
 
30
34
  var _reactIntlNext = require("react-intl-next");
@@ -35,14 +39,6 @@ var _codeViewer = require("@atlaskit/media-ui/codeViewer");
35
39
 
36
40
  var _domain = require("./domain");
37
41
 
38
- var _image = require("./viewers/image");
39
-
40
- var _video = require("./viewers/video");
41
-
42
- var _doc = require("./viewers/doc");
43
-
44
- var _codeViewer2 = require("./viewers/codeViewer");
45
-
46
42
  var _loading = require("./loading");
47
43
 
48
44
  var _deepEqual = _interopRequireDefault(require("deep-equal"));
@@ -61,16 +57,81 @@ var _loadSucceeded = require("./analytics/events/operational/loadSucceeded");
61
57
 
62
58
  var _analytics = require("./analytics");
63
59
 
64
- var _audio = require("./viewers/audio");
65
-
66
60
  var _interactiveImg = require("./viewers/image/interactive-img");
67
61
 
68
62
  var _archiveViewerLoader = _interopRequireDefault(require("./viewers/archiveSidebar/archiveViewerLoader"));
69
63
 
64
+ var _ufoExperiences = require("./analytics/ufoExperiences");
65
+
70
66
  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); }; }
71
67
 
72
68
  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; } }
73
69
 
70
+ 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); }
71
+
72
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(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; }
73
+
74
+ var ImageViewer = (0, _reactLoadable.default)({
75
+ loader: function loader() {
76
+ return Promise.resolve().then(function () {
77
+ return _interopRequireWildcard(require('./viewers/image'));
78
+ }).then(function (mod) {
79
+ return mod.ImageViewer;
80
+ });
81
+ },
82
+ loading: function loading() {
83
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
84
+ }
85
+ });
86
+ var VideoViewer = (0, _reactLoadable.default)({
87
+ loader: function loader() {
88
+ return Promise.resolve().then(function () {
89
+ return _interopRequireWildcard(require('./viewers/video'));
90
+ }).then(function (mod) {
91
+ return mod.VideoViewer;
92
+ });
93
+ },
94
+ loading: function loading() {
95
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
96
+ }
97
+ });
98
+ var AudioViewer = (0, _reactLoadable.default)({
99
+ loader: function loader() {
100
+ return Promise.resolve().then(function () {
101
+ return _interopRequireWildcard(require('./viewers/audio'));
102
+ }).then(function (mod) {
103
+ return mod.AudioViewer;
104
+ });
105
+ },
106
+ loading: function loading() {
107
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
108
+ }
109
+ });
110
+ var DocViewer = (0, _reactLoadable.default)({
111
+ loader: function loader() {
112
+ return Promise.resolve().then(function () {
113
+ return _interopRequireWildcard(require('./viewers/doc'));
114
+ }).then(function (mod) {
115
+ return mod.DocViewer;
116
+ });
117
+ },
118
+ loading: function loading() {
119
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
120
+ }
121
+ });
122
+ var CodeViewer = (0, _reactLoadable.default)({
123
+ loader: function loader() {
124
+ return Promise.resolve().then(function () {
125
+ return _interopRequireWildcard(require('./viewers/codeViewer'));
126
+ }).then(function (mod) {
127
+ return mod.CodeViewer;
128
+ });
129
+ },
130
+ loading: function loading() {
131
+ return /*#__PURE__*/_react.default.createElement(_loading.Spinner, null);
132
+ }
133
+ });
134
+
74
135
  var isExternalImageItem = function isExternalImageItem(fileItem) {
75
136
  return fileItem === 'external-image';
76
137
  };
@@ -108,6 +169,7 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
108
169
  if (isFileStateItem(fileItem)) {
109
170
  var fileAttributes = (0, _analytics.getFileAttributes)(fileItem);
110
171
  (0, _analytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)(fileAttributes), _this.props);
172
+ (0, _ufoExperiences.succeedMediaFileUfoExperience)(fileAttributes);
111
173
  }
112
174
  });
113
175
  });
@@ -120,6 +182,9 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
120
182
  (0, _analytics.fireAnalytics)((0, _loadSucceeded.createLoadSucceededEvent)({
121
183
  fileId: 'external-image'
122
184
  }), _this.props);
185
+ (0, _ufoExperiences.succeedMediaFileUfoExperience)({
186
+ fileId: 'external-image'
187
+ });
123
188
  });
124
189
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onExternalImgError", function () {
125
190
  _this.setState({
@@ -173,8 +238,8 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
173
238
  previewCount: previewCount
174
239
  };
175
240
 
176
- if ((0, _codeViewer.isCodeViewerItem)(fileState.name)) {
177
- return /*#__PURE__*/_react.default.createElement(_codeViewer2.CodeViewer, (0, _extends2.default)({
241
+ if ((0, _codeViewer.isCodeViewerItem)(fileState.name, fileState.mimeType)) {
242
+ return /*#__PURE__*/_react.default.createElement(CodeViewer, (0, _extends2.default)({
178
243
  onSuccess: this.onSuccess,
179
244
  onError: this.onLoadFail
180
245
  }, viewerProps));
@@ -182,28 +247,28 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
182
247
 
183
248
  switch (fileState.mediaType) {
184
249
  case 'image':
185
- return /*#__PURE__*/_react.default.createElement(_image.ImageViewer, (0, _extends2.default)({
250
+ return /*#__PURE__*/_react.default.createElement(ImageViewer, (0, _extends2.default)({
186
251
  onLoad: this.onSuccess,
187
252
  onError: this.onLoadFail,
188
253
  contextId: contextId
189
254
  }, viewerProps));
190
255
 
191
256
  case 'audio':
192
- return /*#__PURE__*/_react.default.createElement(_audio.AudioViewer, (0, _extends2.default)({
257
+ return /*#__PURE__*/_react.default.createElement(AudioViewer, (0, _extends2.default)({
193
258
  showControls: showControls,
194
259
  onCanPlay: this.onSuccess,
195
260
  onError: this.onLoadFail
196
261
  }, viewerProps));
197
262
 
198
263
  case 'video':
199
- return /*#__PURE__*/_react.default.createElement(_video.VideoViewer, (0, _extends2.default)({
264
+ return /*#__PURE__*/_react.default.createElement(VideoViewer, (0, _extends2.default)({
200
265
  showControls: showControls,
201
266
  onCanPlay: this.onSuccess,
202
267
  onError: this.onLoadFail
203
268
  }, viewerProps));
204
269
 
205
270
  case 'doc':
206
- return /*#__PURE__*/_react.default.createElement(_doc.DocViewer, (0, _extends2.default)({
271
+ return /*#__PURE__*/_react.default.createElement(DocViewer, (0, _extends2.default)({
207
272
  onSuccess: this.onSuccess,
208
273
  onError: this.onLoadFail
209
274
  }, viewerProps));
@@ -326,6 +391,7 @@ var ItemViewerBase = /*#__PURE__*/function (_React$Component) {
326
391
 
327
392
  var id = identifier.id;
328
393
  (0, _analytics.fireAnalytics)((0, _commenced.createCommencedEvent)(id), this.props);
394
+ (0, _ufoExperiences.startMediaFileUfoExperience)();
329
395
  this.subscription = mediaClient.file.getFileState(id, {
330
396
  collectionName: identifier.collectionName
331
397
  }).subscribe({
@@ -212,7 +212,14 @@ var MediaViewer = (0, _mediaCommon.withMediaAnalyticsContext)({
212
212
  component: _analytics.component,
213
213
  componentName: _analytics.componentName
214
214
  }, {
215
- filterFeatureFlags: []
215
+ filterFeatureFlags: (0, _mediaCommon.filterFeatureFlagNames)({
216
+ newCardExperience: false,
217
+ captions: false,
218
+ timestampOnVideo: false,
219
+ observedWidth: false,
220
+ mediaInline: false,
221
+ folderUploads: false
222
+ })
216
223
  })((0, _analyticsNext.withAnalyticsEvents)()((0, _reactIntlNext.injectIntl)(MediaViewerComponent, {
217
224
  enforceContext: false
218
225
  })));
@@ -29,7 +29,7 @@ var _colors = require("@atlaskit/theme/colors");
29
29
 
30
30
  var _mediaUi = require("@atlaskit/media-ui");
31
31
 
32
- var _button = _interopRequireDefault(require("@atlaskit/button"));
32
+ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
33
33
 
34
34
  var _analyticsNext = require("@atlaskit/analytics-next");
35
35
 
@@ -118,7 +118,7 @@ var NavigationBase = /*#__PURE__*/function (_Component) {
118
118
  }, /*#__PURE__*/_react.default.createElement(_mediaUi.Shortcut, {
119
119
  keyCode: 37,
120
120
  handler: prev('keyboard')
121
- }), /*#__PURE__*/_react.default.createElement(_button.default, {
121
+ }), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
122
122
  testId: prevNavButtonId,
123
123
  onClick: prev('mouse'),
124
124
  iconBefore: /*#__PURE__*/_react.default.createElement(_chevronLeftCircle.default, {
@@ -131,7 +131,7 @@ var NavigationBase = /*#__PURE__*/function (_Component) {
131
131
  }, /*#__PURE__*/_react.default.createElement(_mediaUi.Shortcut, {
132
132
  keyCode: 39,
133
133
  handler: next('keyboard')
134
- }), /*#__PURE__*/_react.default.createElement(_button.default, {
134
+ }), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
135
135
  testId: nextNavButtonId,
136
136
  onClick: next('mouse'),
137
137
  iconBefore: /*#__PURE__*/_react.default.createElement(_chevronRightCircle.default, {
@@ -176,7 +176,7 @@ var Audio = _styledComponents.default.audio(_templateObject33 || (_templateObjec
176
176
 
177
177
  exports.Audio = Audio;
178
178
 
179
- var AudioCover = _styledComponents.default.img(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000000;\n"])));
179
+ var AudioCover = _styledComponents.default.img(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000;\n"])));
180
180
 
181
181
  exports.AudioCover = AudioCover;
182
182
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "46.0.1",
3
+ "version": "46.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -27,9 +27,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
27
 
28
28
  var _react = _interopRequireDefault(require("react"));
29
29
 
30
- var _styled = require("./styled");
31
-
32
- var _navigationNext = require("@atlaskit/navigation-next");
30
+ var _sideNavigation = require("@atlaskit/side-navigation");
33
31
 
34
32
  var _ = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/folder/24"));
35
33
 
@@ -39,6 +37,8 @@ var _mediaCommon = require("@atlaskit/media-common");
39
37
 
40
38
  var _mediaTypeIcon = require("@atlaskit/media-ui/media-type-icon");
41
39
 
40
+ var _styled = require("./styled");
41
+
42
42
  var _utils = require("../../utils");
43
43
 
44
44
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -71,14 +71,13 @@ var ArchiveSidebarFolderEntry = /*#__PURE__*/function (_React$Component) {
71
71
 
72
72
  return /*#__PURE__*/_react.default.createElement(_styled.ArchiveSidebarFileEntryWrapper, {
73
73
  key: entry.name
74
- }, /*#__PURE__*/_react.default.createElement(_styled.SidebarItemWrapper, null, /*#__PURE__*/_react.default.createElement(_navigationNext.Item, {
75
- before: function before() {
76
- return _this.renderEntryIcon(entry);
77
- },
78
- text: _this.formatName(root, entry.name),
79
- spacing: "compact",
80
- onClick: onClick
81
- })), entry.isDirectory ? null : _this.renderDownloadButton(entry, root));
74
+ }, /*#__PURE__*/_react.default.createElement(_styled.SidebarItemWrapper, null, /*#__PURE__*/_react.default.createElement(_sideNavigation.ButtonItem, {
75
+ iconBefore: _this.renderEntryIcon(entry),
76
+ onClick: onClick,
77
+ cssFn: function cssFn() {
78
+ return _styled.itemStyle;
79
+ }
80
+ }, _this.formatName(root, entry.name))), entry.isDirectory ? null : _this.renderDownloadButton(entry, root));
82
81
  });
83
82
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderEntryIcon", function (entry) {
84
83
  if (entry.isDirectory) {
@@ -25,12 +25,14 @@ var _react = _interopRequireDefault(require("react"));
25
25
 
26
26
  var _arrowLeft = _interopRequireDefault(require("@atlaskit/icon/glyph/arrow-left"));
27
27
 
28
- var _navigationNext = require("@atlaskit/navigation-next");
28
+ var _sideNavigation = require("@atlaskit/side-navigation");
29
29
 
30
30
  var _home = _interopRequireDefault(require("@atlaskit/icon/glyph/home"));
31
31
 
32
32
  var _utils = require("../../utils");
33
33
 
34
+ var _styled = require("./styled");
35
+
34
36
  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); }; }
35
37
 
36
38
  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; } }
@@ -66,12 +68,12 @@ var ArchiveSidebarHeader = /*#__PURE__*/function (_React$Component) {
66
68
  var _this$props = this.props,
67
69
  folderName = _this$props.folderName,
68
70
  onHeaderClick = _this$props.onHeaderClick;
69
- return /*#__PURE__*/_react.default.createElement(_navigationNext.Item, {
70
- before: this.getHeaderIcon,
71
- text: (0, _utils.getFormattedFolderName)(folderName),
72
- spacing: "compact",
73
- onClick: onHeaderClick
74
- });
71
+ return /*#__PURE__*/_react.default.createElement(_sideNavigation.ButtonItem, {
72
+ onClick: onHeaderClick,
73
+ cssFn: function cssFn() {
74
+ return _styled.itemStyle;
75
+ }
76
+ }, /*#__PURE__*/_react.default.createElement(_styled.SidebarHeaderWrapper, null, /*#__PURE__*/_react.default.createElement(_styled.SidebarHeaderIcon, null, this.getHeaderIcon()), /*#__PURE__*/_react.default.createElement(_styled.SidebarHeaderEntry, null, (0, _utils.getFormattedFolderName)(folderName))));
75
77
  }
76
78
  }]);
77
79
  return ArchiveSidebarHeader;
@@ -41,8 +41,6 @@ var _errors = require("../../errors");
41
41
 
42
42
  var _styled2 = require("./styled");
43
43
 
44
- var _navigationNext = require("@atlaskit/navigation-next");
45
-
46
44
  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
45
 
48
46
  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; }
@@ -133,12 +131,7 @@ var ArchiveSidebarRenderer = /*#__PURE__*/function (_Component) {
133
131
  isArchiveEntryLoading = _this$props2.isArchiveEntryLoading,
134
132
  onSelectedArchiveEntryChange = _this$props2.onSelectedArchiveEntryChange,
135
133
  onError = _this$props2.onError;
136
- return /*#__PURE__*/_react.default.createElement(_navigationNext.ThemeProvider, {
137
- theme: {
138
- context: 'product',
139
- mode: _navigationNext.dark
140
- }
141
- }, status === 'loading' && /*#__PURE__*/_react.default.createElement(_styled2.ArchiveSideBar, null, /*#__PURE__*/_react.default.createElement(_styled.SpinnerWrapper, null, /*#__PURE__*/_react.default.createElement(_loading.Spinner, null))) || /*#__PURE__*/_react.default.createElement(_archiveSidebar.ArchiveSidebar, {
134
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, status === 'loading' && /*#__PURE__*/_react.default.createElement(_styled2.ArchiveSideBar, null, /*#__PURE__*/_react.default.createElement(_styled.SpinnerWrapper, null, /*#__PURE__*/_react.default.createElement(_loading.Spinner, null))) || /*#__PURE__*/_react.default.createElement(_archiveSidebar.ArchiveSidebar, {
142
135
  entries: entries,
143
136
  onEntrySelected: onSelectedArchiveEntryChange,
144
137
  onHeaderClicked: onHeaderClicked,
@@ -35,8 +35,6 @@ var _styled = require("./styled");
35
35
 
36
36
  var _archiveSidebarFolderEntry = require("./archive-sidebar-folder-entry");
37
37
 
38
- var _navigationNext = require("@atlaskit/navigation-next");
39
-
40
38
  var _archiveSidebarHeader = require("./archive-sidebar-header");
41
39
 
42
40
  var _utils = require("../../utils");
@@ -251,7 +249,7 @@ var ArchiveSidebar = /*#__PURE__*/function (_React$Component) {
251
249
  return /*#__PURE__*/_react.default.createElement(_styled.ArchiveSideBar, null, /*#__PURE__*/_react.default.createElement(_archiveSidebarHeader.ArchiveSidebarHeader, {
252
250
  folderName: currentArchiveSidebarFolder.root,
253
251
  onHeaderClick: this.onHeaderClicked
254
- }), /*#__PURE__*/_react.default.createElement(_navigationNext.Separator, null), /*#__PURE__*/_react.default.createElement(_archiveSidebarFolderEntry.ArchiveSidebarFolderEntry, (0, _extends2.default)({}, currentArchiveSidebarFolder, {
252
+ }), /*#__PURE__*/_react.default.createElement(_styled.Separator, null), /*#__PURE__*/_react.default.createElement(_archiveSidebarFolderEntry.ArchiveSidebarFolderEntry, (0, _extends2.default)({}, currentArchiveSidebarFolder, {
255
253
  onError: onError
256
254
  })));
257
255
  }
@@ -27,6 +27,12 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
27
27
 
28
28
  var _react = _interopRequireDefault(require("react"));
29
29
 
30
+ var _unzipit = require("unzipit");
31
+
32
+ var _reactIntlNext = require("react-intl-next");
33
+
34
+ var _mediaUi = require("@atlaskit/media-ui");
35
+
30
36
  var _domain = require("../../domain");
31
37
 
32
38
  var _styled = require("../../styled");
@@ -39,14 +45,8 @@ var _baseViewer = require("../base-viewer");
39
45
 
40
46
  var _interactiveImg = require("../image/interactive-img");
41
47
 
42
- var _mediaUi = require("@atlaskit/media-ui");
43
-
44
48
  var _pdfRenderer = require("../doc/pdfRenderer");
45
49
 
46
- var _unzipit = require("unzipit");
47
-
48
- var _reactIntlNext = require("react-intl-next");
49
-
50
50
  var _styled2 = require("./styled");
51
51
 
52
52
  var _archiveSidebarRenderer = _interopRequireDefault(require("./archive-sidebar-renderer"));