@atlaskit/media-viewer 52.4.5 → 52.4.7

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/media-viewer
2
2
 
3
+ ## 52.4.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [#185556](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/185556)
8
+ [`8aa55d31f5ace`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8aa55d31f5ace) -
9
+ Added featureFlags attribute to loadSucceded event to trace performance changes per feature flag
10
+ - Updated dependencies
11
+
12
+ ## 52.4.6
13
+
14
+ ### Patch Changes
15
+
16
+ - [#183808](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/183808)
17
+ [`4436100210ca9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4436100210ca9) -
18
+ Added spinner to document viewer
19
+ - Updated dependencies
20
+
3
21
  ## 52.4.5
4
22
 
5
23
  ### Patch Changes
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createLoadSucceededEvent = void 0;
7
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
7
8
  var createLoadSucceededEvent = exports.createLoadSucceededEvent = function createLoadSucceededEvent(_ref, traceContext) {
8
9
  var fileId = _ref.fileId,
9
10
  fileMediatype = _ref.fileMediatype,
@@ -23,7 +24,10 @@ var createLoadSucceededEvent = exports.createLoadSucceededEvent = function creat
23
24
  fileMimetype: fileMimetype,
24
25
  fileSize: fileSize
25
26
  },
26
- traceContext: fileMediatype === 'image' ? traceContext : undefined
27
+ traceContext: fileMediatype === 'image' ? traceContext : undefined,
28
+ featureFlags: {
29
+ media_document_viewer: (0, _platformFeatureFlags.fg)('media_document_viewer')
30
+ }
27
31
  }
28
32
  };
29
33
  };
@@ -10,7 +10,7 @@ exports.packageVersion = exports.packageName = void 0;
10
10
  var _analytics = require("@atlaskit/media-common/analytics");
11
11
  var componentName = exports.component = exports.componentName = 'mediaViewer';
12
12
  var packageName = exports.packageName = "@atlaskit/media-viewer";
13
- var packageVersion = exports.packageVersion = "52.4.4";
13
+ var packageVersion = exports.packageVersion = "52.4.6";
14
14
  function getFileAttributes(fileState) {
15
15
  if (!fileState) {
16
16
  return {
@@ -9,10 +9,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _ufo = require("@atlaskit/ufo");
10
10
  var _mediaClient = require("@atlaskit/media-client");
11
11
  var _mediaCommon = require("@atlaskit/media-common");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  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; }
13
14
  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; }
14
15
  var packageName = "@atlaskit/media-viewer";
15
- var packageVersion = "52.4.4";
16
+ var packageVersion = "52.4.6";
16
17
  var ufoExperience;
17
18
  var getExperience = function getExperience() {
18
19
  if (!ufoExperience) {
@@ -37,7 +38,8 @@ var succeedMediaFileUfoExperience = exports.succeedMediaFileUfoExperience = func
37
38
  packageName: packageName,
38
39
  packageVersion: packageVersion,
39
40
  mediaEnvironment: (0, _mediaClient.getMediaEnvironment)(),
40
- mediaRegion: (0, _mediaClient.getMediaRegion)()
41
+ mediaRegion: (0, _mediaClient.getMediaRegion)(),
42
+ isMediaDocumentViewerEnabled: (0, _platformFeatureFlags.fg)('media_document_viewer')
41
43
  })
42
44
  });
43
45
  };
@@ -46,7 +48,8 @@ var failMediaFileUfoExperience = exports.failMediaFileUfoExperience = function f
46
48
  packageName: packageName,
47
49
  packageVersion: packageVersion,
48
50
  mediaEnvironment: (0, _mediaClient.getMediaEnvironment)(),
49
- mediaRegion: (0, _mediaClient.getMediaRegion)()
51
+ mediaRegion: (0, _mediaClient.getMediaRegion)(),
52
+ isMediaDocumentViewerEnabled: (0, _platformFeatureFlags.fg)('media_document_viewer')
50
53
  });
51
54
  getExperience().failure({
52
55
  metadata: refinedMetadata
@@ -1,4 +1,8 @@
1
1
  ._18m91wug{overflow-y:auto}
2
+ ._1bah1h6o{justify-content:center}
2
3
  ._1bsbauwl{width:100vw}
4
+ ._1e0c1txw{display:flex}
3
5
  ._1reo1wug{overflow-x:auto}
4
- ._4t3i1kxc{height:100vh}
6
+ ._4cvr1h6o{align-items:center}
7
+ ._4t3i1kxc{height:100vh}
8
+ ._kqswstnw{position:absolute}
@@ -8,13 +8,12 @@ Object.defineProperty(exports, "__esModule", {
8
8
  });
9
9
  exports.default = exports.DocViewer = void 0;
10
10
  require("./doc-viewer.compiled.css");
11
- var _react = _interopRequireWildcard(require("react"));
12
- var React = _react;
13
11
  var _runtime = require("@compiled/react/runtime");
14
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireWildcard(require("react"));
18
17
  var _mediaClient = require("@atlaskit/media-client");
19
18
  var _mediaDocumentViewer = require("@atlaskit/media-document-viewer");
20
19
  var _mediaCommon = require("@atlaskit/media-common");
@@ -22,6 +21,7 @@ var _errors = require("../../errors");
22
21
  var _zoomControls = require("../../zoomControls");
23
22
  var _zoomLevel = require("../../domain/zoomLevel");
24
23
  var _passwordInput = require("./passwordInput");
24
+ var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
25
25
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
26
  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; }
27
27
  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; }
@@ -29,7 +29,8 @@ var initialState = {
29
29
  isMissingPassword: false,
30
30
  hasPasswordError: false,
31
31
  password: '',
32
- zoomLevel: new _zoomLevel.ZoomLevel(1.75)
32
+ zoomLevel: new _zoomLevel.ZoomLevel(1.75),
33
+ isLoading: true
33
34
  };
34
35
  var reducer = function reducer(state, action) {
35
36
  switch (action.type) {
@@ -54,11 +55,16 @@ var reducer = function reducer(state, action) {
54
55
  return _objectSpread(_objectSpread({}, state), {}, {
55
56
  isMissingPassword: true
56
57
  });
58
+ case 'loading_completed':
59
+ return _objectSpread(_objectSpread({}, state), {}, {
60
+ isLoading: false
61
+ });
57
62
  default:
58
63
  return state;
59
64
  }
60
65
  };
61
66
  var documentViewerStyles = null;
67
+ var spinnerStyles = null;
62
68
  var DocViewer = exports.DocViewer = function DocViewer(_ref) {
63
69
  var mediaClient = _ref.mediaClient,
64
70
  fileState = _ref.fileState,
@@ -175,6 +181,12 @@ var DocViewer = exports.DocViewer = function DocViewer(_ref) {
175
181
  return _ref4.apply(this, arguments);
176
182
  };
177
183
  }());
184
+ var onSuccessHandler = (0, _mediaCommon.useStaticCallback)(function () {
185
+ dispatch({
186
+ type: 'loading_completed'
187
+ });
188
+ onSuccess === null || onSuccess === void 0 || onSuccess();
189
+ });
178
190
  var onZoomChange = (0, _mediaCommon.useStaticCallback)(function (newZoomLevel) {
179
191
  dispatch({
180
192
  type: 'set_zoom_level',
@@ -182,22 +194,30 @@ var DocViewer = exports.DocViewer = function DocViewer(_ref) {
182
194
  });
183
195
  });
184
196
  if (state.isMissingPassword) {
185
- return /*#__PURE__*/React.createElement(_passwordInput.PasswordInput, {
197
+ return /*#__PURE__*/_react.default.createElement(_passwordInput.PasswordInput, {
186
198
  onSubmit: onPasswordSubmit,
187
199
  hasPasswordError: state.hasPasswordError
188
200
  });
189
201
  }
190
- return /*#__PURE__*/React.createElement("div", {
202
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, state.isLoading && /*#__PURE__*/_react.default.createElement("div", {
203
+ className: (0, _runtime.ax)(["_kqswstnw _1e0c1txw _1bah1h6o _4cvr1h6o"])
204
+ }, /*#__PURE__*/_react.default.createElement(_spinner.default, {
205
+ size: "large",
206
+ appearance: "invert"
207
+ })), /*#__PURE__*/_react.default.createElement("div", {
208
+ style: {
209
+ opacity: state.isLoading ? 0 : 1
210
+ },
191
211
  id: _mediaDocumentViewer.DOCUMENT_SCROLL_ROOT_ID,
192
212
  className: (0, _runtime.ax)(["_1reo1wug _18m91wug _4t3i1kxc _1bsbauwl"])
193
- }, /*#__PURE__*/React.createElement(_mediaDocumentViewer.DocumentViewer, {
213
+ }, /*#__PURE__*/_react.default.createElement(_mediaDocumentViewer.DocumentViewer, {
194
214
  getContent: getContent,
195
215
  getPageImageUrl: getPageImageUrl,
196
216
  zoom: state.zoomLevel.value,
197
- onSuccess: onSuccess
198
- }), /*#__PURE__*/React.createElement(_zoomControls.ZoomControls, {
217
+ onSuccess: onSuccessHandler
218
+ }), /*#__PURE__*/_react.default.createElement(_zoomControls.ZoomControls, {
199
219
  onChange: onZoomChange,
200
220
  zoomLevel: state.zoomLevel
201
- }));
221
+ })));
202
222
  };
203
223
  var _default = exports.default = DocViewer;
@@ -1,3 +1,4 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
1
2
  export const createLoadSucceededEvent = ({
2
3
  fileId,
3
4
  fileMediatype,
@@ -18,7 +19,10 @@ export const createLoadSucceededEvent = ({
18
19
  fileMimetype,
19
20
  fileSize
20
21
  },
21
- traceContext: fileMediatype === 'image' ? traceContext : undefined
22
+ traceContext: fileMediatype === 'image' ? traceContext : undefined,
23
+ featureFlags: {
24
+ media_document_viewer: fg('media_document_viewer')
25
+ }
22
26
  }
23
27
  };
24
28
  };
@@ -1,7 +1,7 @@
1
1
  import { ANALYTICS_MEDIA_CHANNEL, sanitiseAnalyticsPayload } from '@atlaskit/media-common/analytics';
2
2
  const componentName = 'mediaViewer';
3
3
  const packageName = "@atlaskit/media-viewer";
4
- const packageVersion = "52.4.4";
4
+ const packageVersion = "52.4.6";
5
5
  export { packageName, packageVersion, componentName, componentName as component };
6
6
  export function getFileAttributes(fileState) {
7
7
  if (!fileState) {
@@ -1,8 +1,9 @@
1
1
  import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
2
2
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
3
3
  import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
4
5
  const packageName = "@atlaskit/media-viewer";
5
- const packageVersion = "52.4.4";
6
+ const packageVersion = "52.4.6";
6
7
  let ufoExperience;
7
8
  const getExperience = () => {
8
9
  if (!ufoExperience) {
@@ -28,7 +29,8 @@ export const succeedMediaFileUfoExperience = properties => {
28
29
  packageName,
29
30
  packageVersion,
30
31
  mediaEnvironment: getMediaEnvironment(),
31
- mediaRegion: getMediaRegion()
32
+ mediaRegion: getMediaRegion(),
33
+ isMediaDocumentViewerEnabled: fg('media_document_viewer')
32
34
  }
33
35
  });
34
36
  };
@@ -38,7 +40,8 @@ export const failMediaFileUfoExperience = properties => {
38
40
  packageName,
39
41
  packageVersion,
40
42
  mediaEnvironment: getMediaEnvironment(),
41
- mediaRegion: getMediaRegion()
43
+ mediaRegion: getMediaRegion(),
44
+ isMediaDocumentViewerEnabled: fg('media_document_viewer')
42
45
  };
43
46
  getExperience().failure({
44
47
  metadata: refinedMetadata
@@ -1,4 +1,8 @@
1
1
  ._18m91wug{overflow-y:auto}
2
+ ._1bah1h6o{justify-content:center}
2
3
  ._1bsbauwl{width:100vw}
4
+ ._1e0c1txw{display:flex}
3
5
  ._1reo1wug{overflow-x:auto}
4
- ._4t3i1kxc{height:100vh}
6
+ ._4cvr1h6o{align-items:center}
7
+ ._4t3i1kxc{height:100vh}
8
+ ._kqswstnw{position:absolute}
@@ -1,8 +1,7 @@
1
1
  /* doc-viewer.tsx generated by @compiled/babel-plugin v0.36.1 */
2
2
  import "./doc-viewer.compiled.css";
3
- import * as React from 'react';
4
3
  import { ax, ix } from "@compiled/react/runtime";
5
- import { useReducer } from 'react';
4
+ import React, { useReducer } from 'react';
6
5
  import { isCommonMediaClientError } from '@atlaskit/media-client';
7
6
  import { DOCUMENT_SCROLL_ROOT_ID, DocumentViewer } from '@atlaskit/media-document-viewer';
8
7
  import { useStaticCallback } from '@atlaskit/media-common';
@@ -10,11 +9,13 @@ import { MediaViewerError } from '../../errors';
10
9
  import { ZoomControls } from '../../zoomControls';
11
10
  import { ZoomLevel } from '../../domain/zoomLevel';
12
11
  import { PasswordInput } from './passwordInput';
12
+ import Spinner from '@atlaskit/spinner';
13
13
  const initialState = {
14
14
  isMissingPassword: false,
15
15
  hasPasswordError: false,
16
16
  password: '',
17
- zoomLevel: new ZoomLevel(1.75)
17
+ zoomLevel: new ZoomLevel(1.75),
18
+ isLoading: true
18
19
  };
19
20
  const reducer = (state, action) => {
20
21
  switch (action.type) {
@@ -44,11 +45,17 @@ const reducer = (state, action) => {
44
45
  ...state,
45
46
  isMissingPassword: true
46
47
  };
48
+ case 'loading_completed':
49
+ return {
50
+ ...state,
51
+ isLoading: false
52
+ };
47
53
  default:
48
54
  return state;
49
55
  }
50
56
  };
51
57
  const documentViewerStyles = null;
58
+ const spinnerStyles = null;
52
59
  export const DocViewer = ({
53
60
  mediaClient,
54
61
  fileState,
@@ -112,6 +119,12 @@ export const DocViewer = ({
112
119
  }, traceContext);
113
120
  return URL.createObjectURL(src);
114
121
  });
122
+ const onSuccessHandler = useStaticCallback(() => {
123
+ dispatch({
124
+ type: 'loading_completed'
125
+ });
126
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
127
+ });
115
128
  const onZoomChange = useStaticCallback(newZoomLevel => {
116
129
  dispatch({
117
130
  type: 'set_zoom_level',
@@ -124,17 +137,25 @@ export const DocViewer = ({
124
137
  hasPasswordError: state.hasPasswordError
125
138
  });
126
139
  }
127
- return /*#__PURE__*/React.createElement("div", {
140
+ return /*#__PURE__*/React.createElement(React.Fragment, null, state.isLoading && /*#__PURE__*/React.createElement("div", {
141
+ className: ax(["_kqswstnw _1e0c1txw _1bah1h6o _4cvr1h6o"])
142
+ }, /*#__PURE__*/React.createElement(Spinner, {
143
+ size: "large",
144
+ appearance: "invert"
145
+ })), /*#__PURE__*/React.createElement("div", {
146
+ style: {
147
+ opacity: state.isLoading ? 0 : 1
148
+ },
128
149
  id: DOCUMENT_SCROLL_ROOT_ID,
129
150
  className: ax(["_1reo1wug _18m91wug _4t3i1kxc _1bsbauwl"])
130
151
  }, /*#__PURE__*/React.createElement(DocumentViewer, {
131
152
  getContent: getContent,
132
153
  getPageImageUrl: getPageImageUrl,
133
154
  zoom: state.zoomLevel.value,
134
- onSuccess: onSuccess
155
+ onSuccess: onSuccessHandler
135
156
  }), /*#__PURE__*/React.createElement(ZoomControls, {
136
157
  onChange: onZoomChange,
137
158
  zoomLevel: state.zoomLevel
138
- }));
159
+ })));
139
160
  };
140
161
  export default DocViewer;
@@ -1,3 +1,4 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
1
2
  export var createLoadSucceededEvent = function createLoadSucceededEvent(_ref, traceContext) {
2
3
  var fileId = _ref.fileId,
3
4
  fileMediatype = _ref.fileMediatype,
@@ -17,7 +18,10 @@ export var createLoadSucceededEvent = function createLoadSucceededEvent(_ref, tr
17
18
  fileMimetype: fileMimetype,
18
19
  fileSize: fileSize
19
20
  },
20
- traceContext: fileMediatype === 'image' ? traceContext : undefined
21
+ traceContext: fileMediatype === 'image' ? traceContext : undefined,
22
+ featureFlags: {
23
+ media_document_viewer: fg('media_document_viewer')
24
+ }
21
25
  }
22
26
  };
23
27
  };
@@ -1,7 +1,7 @@
1
1
  import { ANALYTICS_MEDIA_CHANNEL, sanitiseAnalyticsPayload } from '@atlaskit/media-common/analytics';
2
2
  var componentName = 'mediaViewer';
3
3
  var packageName = "@atlaskit/media-viewer";
4
- var packageVersion = "52.4.4";
4
+ var packageVersion = "52.4.6";
5
5
  export { packageName, packageVersion, componentName, componentName as component };
6
6
  export function getFileAttributes(fileState) {
7
7
  if (!fileState) {
@@ -4,8 +4,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
5
5
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
6
6
  import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
7
8
  var packageName = "@atlaskit/media-viewer";
8
- var packageVersion = "52.4.4";
9
+ var packageVersion = "52.4.6";
9
10
  var ufoExperience;
10
11
  var getExperience = function getExperience() {
11
12
  if (!ufoExperience) {
@@ -30,7 +31,8 @@ export var succeedMediaFileUfoExperience = function succeedMediaFileUfoExperienc
30
31
  packageName: packageName,
31
32
  packageVersion: packageVersion,
32
33
  mediaEnvironment: getMediaEnvironment(),
33
- mediaRegion: getMediaRegion()
34
+ mediaRegion: getMediaRegion(),
35
+ isMediaDocumentViewerEnabled: fg('media_document_viewer')
34
36
  })
35
37
  });
36
38
  };
@@ -39,7 +41,8 @@ export var failMediaFileUfoExperience = function failMediaFileUfoExperience(prop
39
41
  packageName: packageName,
40
42
  packageVersion: packageVersion,
41
43
  mediaEnvironment: getMediaEnvironment(),
42
- mediaRegion: getMediaRegion()
44
+ mediaRegion: getMediaRegion(),
45
+ isMediaDocumentViewerEnabled: fg('media_document_viewer')
43
46
  });
44
47
  getExperience().failure({
45
48
  metadata: refinedMetadata
@@ -1,4 +1,8 @@
1
1
  ._18m91wug{overflow-y:auto}
2
+ ._1bah1h6o{justify-content:center}
2
3
  ._1bsbauwl{width:100vw}
4
+ ._1e0c1txw{display:flex}
3
5
  ._1reo1wug{overflow-x:auto}
4
- ._4t3i1kxc{height:100vh}
6
+ ._4cvr1h6o{align-items:center}
7
+ ._4t3i1kxc{height:100vh}
8
+ ._kqswstnw{position:absolute}
@@ -3,12 +3,11 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
5
  import "./doc-viewer.compiled.css";
6
- import * as React from 'react';
7
6
  import { ax, ix } from "@compiled/react/runtime";
8
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
8
  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; }
10
9
  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; }
11
- import { useReducer } from 'react';
10
+ import React, { useReducer } from 'react';
12
11
  import { isCommonMediaClientError } from '@atlaskit/media-client';
13
12
  import { DOCUMENT_SCROLL_ROOT_ID, DocumentViewer } from '@atlaskit/media-document-viewer';
14
13
  import { useStaticCallback } from '@atlaskit/media-common';
@@ -16,11 +15,13 @@ import { MediaViewerError } from '../../errors';
16
15
  import { ZoomControls } from '../../zoomControls';
17
16
  import { ZoomLevel } from '../../domain/zoomLevel';
18
17
  import { PasswordInput } from './passwordInput';
18
+ import Spinner from '@atlaskit/spinner';
19
19
  var initialState = {
20
20
  isMissingPassword: false,
21
21
  hasPasswordError: false,
22
22
  password: '',
23
- zoomLevel: new ZoomLevel(1.75)
23
+ zoomLevel: new ZoomLevel(1.75),
24
+ isLoading: true
24
25
  };
25
26
  var reducer = function reducer(state, action) {
26
27
  switch (action.type) {
@@ -45,11 +46,16 @@ var reducer = function reducer(state, action) {
45
46
  return _objectSpread(_objectSpread({}, state), {}, {
46
47
  isMissingPassword: true
47
48
  });
49
+ case 'loading_completed':
50
+ return _objectSpread(_objectSpread({}, state), {}, {
51
+ isLoading: false
52
+ });
48
53
  default:
49
54
  return state;
50
55
  }
51
56
  };
52
57
  var documentViewerStyles = null;
58
+ var spinnerStyles = null;
53
59
  export var DocViewer = function DocViewer(_ref) {
54
60
  var mediaClient = _ref.mediaClient,
55
61
  fileState = _ref.fileState,
@@ -166,6 +172,12 @@ export var DocViewer = function DocViewer(_ref) {
166
172
  return _ref4.apply(this, arguments);
167
173
  };
168
174
  }());
175
+ var onSuccessHandler = useStaticCallback(function () {
176
+ dispatch({
177
+ type: 'loading_completed'
178
+ });
179
+ onSuccess === null || onSuccess === void 0 || onSuccess();
180
+ });
169
181
  var onZoomChange = useStaticCallback(function (newZoomLevel) {
170
182
  dispatch({
171
183
  type: 'set_zoom_level',
@@ -178,17 +190,25 @@ export var DocViewer = function DocViewer(_ref) {
178
190
  hasPasswordError: state.hasPasswordError
179
191
  });
180
192
  }
181
- return /*#__PURE__*/React.createElement("div", {
193
+ return /*#__PURE__*/React.createElement(React.Fragment, null, state.isLoading && /*#__PURE__*/React.createElement("div", {
194
+ className: ax(["_kqswstnw _1e0c1txw _1bah1h6o _4cvr1h6o"])
195
+ }, /*#__PURE__*/React.createElement(Spinner, {
196
+ size: "large",
197
+ appearance: "invert"
198
+ })), /*#__PURE__*/React.createElement("div", {
199
+ style: {
200
+ opacity: state.isLoading ? 0 : 1
201
+ },
182
202
  id: DOCUMENT_SCROLL_ROOT_ID,
183
203
  className: ax(["_1reo1wug _18m91wug _4t3i1kxc _1bsbauwl"])
184
204
  }, /*#__PURE__*/React.createElement(DocumentViewer, {
185
205
  getContent: getContent,
186
206
  getPageImageUrl: getPageImageUrl,
187
207
  zoom: state.zoomLevel.value,
188
- onSuccess: onSuccess
208
+ onSuccess: onSuccessHandler
189
209
  }), /*#__PURE__*/React.createElement(ZoomControls, {
190
210
  onChange: onZoomChange,
191
211
  zoomLevel: state.zoomLevel
192
- }));
212
+ })));
193
213
  };
194
214
  export default DocViewer;
@@ -1,5 +1,11 @@
1
1
  import { type SuccessAttributes, type WithFileAttributes, type FileAttributes, type MediaTraceContext, type WithTraceContext } from '@atlaskit/media-common';
2
2
  import { type MediaFileEventPayload } from './_mediaFile';
3
- export type LoadSucceededAttributes = SuccessAttributes & WithFileAttributes & WithTraceContext;
3
+ type WithFeatureFlags = {
4
+ featureFlags: {
5
+ media_document_viewer: boolean;
6
+ };
7
+ };
8
+ export type LoadSucceededAttributes = SuccessAttributes & WithFileAttributes & WithTraceContext & WithFeatureFlags;
4
9
  export type LoadSucceededEventPayload = MediaFileEventPayload<LoadSucceededAttributes, 'loadSucceeded'>;
5
10
  export declare const createLoadSucceededEvent: ({ fileId, fileMediatype, fileMimetype, fileSize }: FileAttributes, traceContext?: MediaTraceContext) => LoadSucceededEventPayload;
11
+ export {};
@@ -1,5 +1,11 @@
1
1
  import { type SuccessAttributes, type WithFileAttributes, type FileAttributes, type MediaTraceContext, type WithTraceContext } from '@atlaskit/media-common';
2
2
  import { type MediaFileEventPayload } from './_mediaFile';
3
- export type LoadSucceededAttributes = SuccessAttributes & WithFileAttributes & WithTraceContext;
3
+ type WithFeatureFlags = {
4
+ featureFlags: {
5
+ media_document_viewer: boolean;
6
+ };
7
+ };
8
+ export type LoadSucceededAttributes = SuccessAttributes & WithFileAttributes & WithTraceContext & WithFeatureFlags;
4
9
  export type LoadSucceededEventPayload = MediaFileEventPayload<LoadSucceededAttributes, 'loadSucceeded'>;
5
10
  export declare const createLoadSucceededEvent: ({ fileId, fileMediatype, fileMimetype, fileSize }: FileAttributes, traceContext?: MediaTraceContext) => LoadSucceededEventPayload;
11
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "52.4.5",
3
+ "version": "52.4.7",
4
4
  "description": "MediaViewer is Atlassian's powerful solution for viewing files on the web. It's both powerful and extendable yet easy-to-integrate",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,7 +44,7 @@
44
44
  "@atlaskit/icon": "^27.3.0",
45
45
  "@atlaskit/icon-file-type": "^7.0.0",
46
46
  "@atlaskit/icon-lab": "^5.1.0",
47
- "@atlaskit/media-client": "^35.0.0",
47
+ "@atlaskit/media-client": "^35.1.0",
48
48
  "@atlaskit/media-client-react": "^4.1.0",
49
49
  "@atlaskit/media-common": "^12.3.0",
50
50
  "@atlaskit/media-document-viewer": "^0.3.0",
@@ -57,7 +57,7 @@
57
57
  "@atlaskit/spinner": "^18.0.0",
58
58
  "@atlaskit/textfield": "^8.0.0",
59
59
  "@atlaskit/theme": "^19.0.0",
60
- "@atlaskit/tokens": "^5.4.0",
60
+ "@atlaskit/tokens": "^5.5.0",
61
61
  "@atlaskit/tooltip": "^20.3.0",
62
62
  "@atlaskit/ufo": "^0.4.0",
63
63
  "@babel/runtime": "^7.0.0",
@@ -90,7 +90,7 @@
90
90
  "@af/visual-regression": "workspace:^",
91
91
  "@atlaskit/media-core": "^37.0.0",
92
92
  "@atlaskit/media-integration-test-helpers": "workspace:^",
93
- "@atlaskit/media-state": "^1.7.0",
93
+ "@atlaskit/media-state": "^1.8.0",
94
94
  "@atlaskit/media-test-data": "^3.2.0",
95
95
  "@atlaskit/media-test-helpers": "^37.0.0",
96
96
  "@atlaskit/ssr": "workspace:^",