@atlaskit/media-viewer 48.0.4 → 48.0.6

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,18 @@
1
1
  # @atlaskit/media-viewer
2
2
 
3
+ ## 48.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8b9680efe08`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8b9680efe08) - Better logging of PDFjs errors
8
+ - Updated dependencies
9
+
10
+ ## 48.0.5
11
+
12
+ ### Patch Changes
13
+
14
+ - [`48e4a655534`](https://bitbucket.org/atlassian/atlassian-frontend/commits/48e4a655534) - Internal change to enforce token usage for spacing properties. There is no expected visual or behaviour change.
15
+
3
16
  ## 48.0.4
4
17
 
5
18
  ### Patch Changes
@@ -12,7 +12,7 @@ var componentName = 'mediaViewer';
12
12
  exports.component = exports.componentName = componentName;
13
13
  var packageName = "@atlaskit/media-viewer";
14
14
  exports.packageName = packageName;
15
- var packageVersion = "48.0.4";
15
+ var packageVersion = "48.0.6";
16
16
  exports.packageVersion = packageVersion;
17
17
  function getFileAttributes(fileState) {
18
18
  if (!fileState) {
@@ -12,7 +12,7 @@ var _mediaCommon = require("@atlaskit/media-common");
12
12
  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; }
13
13
  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; }
14
14
  var packageName = "@atlaskit/media-viewer";
15
- var packageVersion = "48.0.4";
15
+ var packageVersion = "48.0.6";
16
16
  var ufoExperience;
17
17
  var getExperience = function getExperience() {
18
18
  if (!ufoExperience) {
@@ -21,14 +21,16 @@ var blanketStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _t
21
21
  exports.blanketStyles = blanketStyles;
22
22
  var headerWrapperStyles = function headerWrapperStyles(_ref) {
23
23
  var isArchiveSideBarVisible = _ref.isArchiveSideBarVisible;
24
- return (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 98px;\n opacity: 0.85;\n background: linear-gradient(\n to bottom,\n ", ",\n rgba(14, 22, 36, 0)\n )\n no-repeat;\n background-position: ", ";\n color: #c7d1db;\n font-weight: 500;\n padding-top: 15px;\n padding: 24px;\n box-sizing: border-box;\n pointer-events: none;\n z-index: ", ";\n"])), _modalSpinner.headerAndSidebarBackgroundColor, isArchiveSideBarVisible ? "".concat(_styles.ArchiveSideBarWidth, "px 0") : '0', overlayZindex + 1);
24
+ return (// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
25
+ (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 98px;\n opacity: 0.85;\n background: linear-gradient(\n to bottom,\n ", ",\n rgba(14, 22, 36, 0)\n )\n no-repeat;\n background-position: ", ";\n color: #c7d1db;\n font-weight: 500;\n padding-top: 15px;\n padding: ", ";\n box-sizing: border-box;\n pointer-events: none;\n z-index: ", ";\n "])), _modalSpinner.headerAndSidebarBackgroundColor, isArchiveSideBarVisible ? "".concat(_styles.ArchiveSideBarWidth, "px 0") : '0', "var(--ds-space-300, 24px)", overlayZindex + 1)
26
+ );
25
27
  };
26
28
  exports.headerWrapperStyles = headerWrapperStyles;
27
29
  var listWrapperStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
28
30
  exports.listWrapperStyles = listWrapperStyles;
29
31
  var arrowsWrapperStyles = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n width: 100%;\n"])));
30
32
  exports.arrowsWrapperStyles = arrowsWrapperStyles;
31
- var closeButtonWrapperStyles = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 24px;\n right: 20px;\n z-index: ", ";\n"])), overlayZindex + 2);
33
+ var closeButtonWrapperStyles = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: ", ";\n right: ", ";\n z-index: ", ";\n"])), "var(--ds-space-300, 24px)", "var(--ds-space-250, 20px)", overlayZindex + 2);
32
34
  exports.closeButtonWrapperStyles = closeButtonWrapperStyles;
33
35
  var contentWrapperStyles = function contentWrapperStyles(_ref2) {
34
36
  var isSidebarVisible = _ref2.isSidebarVisible;
@@ -36,16 +38,24 @@ var contentWrapperStyles = function contentWrapperStyles(_ref2) {
36
38
  };
37
39
  exports.contentWrapperStyles = contentWrapperStyles;
38
40
  var zoomWrapperStyles = (0, _react.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n position: absolute;\n bottom: 0;\n height: 98px;\n background-image: linear-gradient(\n to top,\n ", ",\n rgba(14, 22, 36, 0)\n );\n opacity: 0.85;\n pointer-events: none;\n"])), _modalSpinner.headerAndSidebarBackgroundColor);
41
+
42
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
39
43
  exports.zoomWrapperStyles = zoomWrapperStyles;
40
44
  var zoomControlsWrapperStyles = (0, _react.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n position: absolute;\n text-align: center;\n bottom: 10px;\n button {\n margin-right: 10px;\n }\n > * {\n pointer-events: all;\n }\n"])));
45
+
46
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
41
47
  exports.zoomControlsWrapperStyles = zoomControlsWrapperStyles;
42
- var zoomLevelIndicatorStyles = (0, _react.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n right: 24px;\n bottom: 22px;\n color: #c7d1db;\n pointer-events: all;\n"])));
48
+ var zoomLevelIndicatorStyles = (0, _react.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n right: ", ";\n bottom: 22px;\n color: #c7d1db;\n pointer-events: all;\n"])), "var(--ds-space-300, 24px)");
49
+
50
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
43
51
  exports.zoomLevelIndicatorStyles = zoomLevelIndicatorStyles;
44
- var hdIconGroupWrapperStyles = (0, _react.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n right: 69px;\n bottom: 16px;\n"])));
52
+ var hdIconGroupWrapperStyles = (0, _react.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n right: 69px;\n bottom: ", ";\n"])), "var(--ds-space-200, 16px)");
45
53
  exports.hdIconGroupWrapperStyles = hdIconGroupWrapperStyles;
46
- var hdIconWrapperStyles = (0, _react.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: inline-block;\n vertical-align: top;\n margin-left: -24px;\n"])));
54
+ var hdIconWrapperStyles = (0, _react.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: inline-block;\n vertical-align: top;\n margin-left: calc(-1 * ", ");\n"])), "var(--ds-space-300, 24px)");
47
55
  exports.hdIconWrapperStyles = hdIconWrapperStyles;
48
56
  var errorMessageWrapperStyles = (0, _react.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n text-align: center;\n color: #c7d1db;\n p {\n line-height: 100%;\n }\n"])));
57
+
58
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
49
59
  exports.errorMessageWrapperStyles = errorMessageWrapperStyles;
50
60
  var errorImageStyles = (0, _react.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: 10px;\n user-select: none;\n"])));
51
61
  exports.errorImageStyles = errorImageStyles;
@@ -55,7 +65,7 @@ var pdfWrapperStyles = (0, _react.css)(_templateObject15 || (_templateObject15 =
55
65
  exports.pdfWrapperStyles = pdfWrapperStyles;
56
66
  var arrowStyles = (0, _react.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n\n svg {\n filter: drop-shadow(0px 1px 1px rgb(9 30 66 / 25%))\n drop-shadow(0px 0px 1px rgb(9 30 66 / 31%));\n }\n\n && button {\n height: inherit;\n background: none;\n\n &:hover {\n svg {\n color: #b6c2cf;\n }\n }\n\n &:active {\n svg {\n color: #c7d1db;\n }\n }\n }\n"])));
57
67
  exports.arrowStyles = arrowStyles;
58
- var arrowWrapperStyles = (0, _react.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: 20px;\n"])));
68
+ var arrowWrapperStyles = (0, _react.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: ", ";\n"])), "var(--ds-space-250, 20px)");
59
69
  var leftWrapperStyles = function leftWrapperStyles(_ref3) {
60
70
  var isArchiveSideBarVisible = _ref3.isArchiveSideBarVisible;
61
71
  return (0, _react.css)(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n text-align: left;\n left: ", ";\n"])), arrowWrapperStyles, isArchiveSideBarVisible ? "".concat(_styles.ArchiveSideBarWidth, "px") : '0');
@@ -90,9 +100,9 @@ var metadataFileNameStyles = (0, _react.css)(_templateObject27 || (_templateObje
90
100
  exports.metadataFileNameStyles = metadataFileNameStyles;
91
101
  var metadataSubTextStyles = (0, _react.css)(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2.default)(["\n color: #c7d1db;\n ", ";\n"])), (0, _mediaUi.ellipsis)());
92
102
  exports.metadataSubTextStyles = metadataSubTextStyles;
93
- var metadataIconWrapperStyles = (0, _react.css)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2.default)(["\n padding-top: 4px;\n padding-right: 12px;\n"])));
103
+ var metadataIconWrapperStyles = (0, _react.css)(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2.default)(["\n padding-top: ", ";\n padding-right: ", ";\n"])), "var(--ds-space-050, 4px)", "var(--ds-space-150, 12px)");
94
104
  exports.metadataIconWrapperStyles = metadataIconWrapperStyles;
95
- var rightHeaderStyles = (0, _react.css)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2.default)(["\n text-align: right;\n margin-right: 40px;\n min-width: 200px;\n > * {\n pointer-events: all;\n }\n"])));
105
+ var rightHeaderStyles = (0, _react.css)(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2.default)(["\n text-align: right;\n margin-right: ", ";\n min-width: 200px;\n > * {\n pointer-events: all;\n }\n"])), "var(--ds-space-500, 40px)");
96
106
  exports.rightHeaderStyles = rightHeaderStyles;
97
107
  var customAudioPlayerWrapperStyles = (0, _react.css)(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n"])));
98
108
  exports.customAudioPlayerWrapperStyles = customAudioPlayerWrapperStyles;
@@ -103,6 +113,8 @@ exports.audioStyles = audioStyles;
103
113
  var audioCoverStyles = (0, _react.css)(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000;\n"])));
104
114
  exports.audioCoverStyles = audioCoverStyles;
105
115
  var defaultCoverWrapperStyles = (0, _react.css)(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n\n > * {\n transform: scale(2);\n }\n"])));
116
+
117
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
106
118
  exports.defaultCoverWrapperStyles = defaultCoverWrapperStyles;
107
119
  var downloadButtonWrapperStyles = (0, _react.css)(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2.default)(["\n margin-top: 28px;\n text-align: center;\n\n button {\n &:hover,\n &:active {\n color: #161a1d !important;\n }\n }\n"])));
108
120
  exports.downloadButtonWrapperStyles = downloadButtonWrapperStyles;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "48.0.4",
3
+ "version": "48.0.6",
4
4
  "sideEffects": false
5
5
  }
@@ -13,25 +13,36 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
13
13
  var ArchiveSideBarWidth = 300;
14
14
  exports.ArchiveSideBarWidth = ArchiveSideBarWidth;
15
15
  var archiveItemViewerWrapperStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n display: flex;\n justify-content: center;\n"])));
16
+
17
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
16
18
  exports.archiveItemViewerWrapperStyles = archiveItemViewerWrapperStyles;
17
- var archiveSideBarStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 22px 20px 20px 20px;\n background-color: ", ";\n position: absolute;\n left: 0;\n top: 0;\n width: ", "px;\n bottom: 0;\n box-sizing: border-box;\n overflow-y: scroll;\n"])), "var(--ds-surface, #101214)", ArchiveSideBarWidth);
19
+ var archiveSideBarStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 22px ", " ", "\n ", ";\n background-color: ", ";\n position: absolute;\n left: 0;\n top: 0;\n width: ", "px;\n bottom: 0;\n box-sizing: border-box;\n overflow-y: scroll;\n"])), "var(--ds-space-250, 20px)", "var(--ds-space-250, 20px)", "var(--ds-space-250, 20px)", "var(--ds-surface, #101214)", ArchiveSideBarWidth);
18
20
  exports.archiveSideBarStyles = archiveSideBarStyles;
19
21
  var slideDown = (0, _react.keyframes)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n 0% {\n opacity: 0;\n transform: translateY(-100%);\n }\n\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n"])));
20
22
  var archiveSidebarFolderWrapperStyles = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n transform: translateY(-100%);\n transition: all 1s;\n opacity: 0;\n animation: ", " 0.3s forwards;\n"])), slideDown);
23
+
24
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
21
25
  exports.archiveSidebarFolderWrapperStyles = archiveSidebarFolderWrapperStyles;
22
- var archiveDownloadButtonWrapperStyles = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 7px 5px 8px;\n border: none;\n border-radius: 3px;\n background-color: transparent;\n color: ", ";\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n\n &:active {\n cursor: pointer;\n background-color: ", ";\n }\n"])), "var(--ds-icon, #9FADBC)", "var(--ds-background-neutral-subtle-hovered, #A1BDD914)", "var(--ds-background-neutral-subtle-pressed, #A6C5E229)");
26
+ var archiveDownloadButtonWrapperStyles = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", " 7px 5px ", ";\n border: none;\n border-radius: 3px;\n background-color: transparent;\n color: ", ";\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n\n &:active {\n cursor: pointer;\n background-color: ", ";\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-icon, #9FADBC)", "var(--ds-background-neutral-subtle-hovered, #A1BDD914)", "var(--ds-background-neutral-subtle-pressed, #A6C5E229)");
23
27
  exports.archiveDownloadButtonWrapperStyles = archiveDownloadButtonWrapperStyles;
24
28
  var sidebarItemWrapperStyles = (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n width: 85%;\n"])));
29
+
30
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
25
31
  exports.sidebarItemWrapperStyles = sidebarItemWrapperStyles;
26
32
  var archiveSidebarFileEntryWrapperStyles = (0, _react.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: 5px;\n display: flex;\n align-items: center;\n cursor: pointer;\n transition: background-color 0.3s;\n"])));
27
33
  exports.archiveSidebarFileEntryWrapperStyles = archiveSidebarFileEntryWrapperStyles;
28
34
  var archiveLayoutStyles = (0, _react.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
35
+
36
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
29
37
  exports.archiveLayoutStyles = archiveLayoutStyles;
30
38
  var archiveViewerWrapperStyles = (0, _react.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n left: ", "px;\n right: 0;\n bottom: 0;\n align-items: center;\n display: flex;\n"])), ArchiveSideBarWidth);
39
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
31
40
  exports.archiveViewerWrapperStyles = archiveViewerWrapperStyles;
32
41
  var separatorStyles = (0, _react.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 1px;\n height: 2px;\n margin: ", "px 0;\n background-color: ", ";\n flex-shrink: 0;\n"])), ((0, _constants.gridSize)() * 5 - 2) / 2, "var(--ds-border, #A6C5E229)");
33
42
  exports.separatorStyles = separatorStyles;
34
43
  var sidebarHeaderWrapperStyles = (0, _react.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n"])));
44
+
45
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
35
46
  exports.sidebarHeaderWrapperStyles = sidebarHeaderWrapperStyles;
36
47
  var sidebarHeaderIconStyles = (0, _react.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n margin-right: 10px;\n flex-shrink: 0;\n"])));
37
48
  exports.sidebarHeaderIconStyles = sidebarHeaderIconStyles;
@@ -17,5 +17,5 @@ exports.codeViewWrapperStyles = codeViewWrapperStyles;
17
17
  var codeViewerHeaderBarStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 75px;\n background-color: #1d2125;\n"])));
18
18
  /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
19
19
  exports.codeViewerHeaderBarStyles = codeViewerHeaderBarStyles;
20
- var codeViewerHTMLStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n line-height: 20px;\n overflow-x: auto;\n white-space: pre;\n font-size: 12px;\n padding: 8px;\n"])));
20
+ var codeViewerHTMLStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n line-height: 20px;\n overflow-x: auto;\n white-space: pre;\n font-size: 12px;\n padding: ", ";\n"])), "var(--ds-space-100, 8px)");
21
21
  exports.codeViewerHTMLStyles = codeViewerHTMLStyles;
@@ -26,17 +26,17 @@ var _closeOnDirectClick = require("../../utils/closeOnDirectClick");
26
26
  var _domain = require("../../domain");
27
27
  var _loading = require("../../loading");
28
28
  var _errorMessage = _interopRequireDefault(require("../../errorMessage"));
29
- var _errors = require("../../errors");
30
29
  var _zoomLevel = require("../../domain/zoomLevel");
30
+ var _processError = require("./processError");
31
31
  var _templateObject;
32
32
  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); }
33
33
  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; }
34
34
  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
35
  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; } }
36
36
  var pdfViewerClassName = 'pdfViewer';
37
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
37
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/design-system/ensure-design-token-usage-spacing */
38
38
  exports.pdfViewerClassName = pdfViewerClassName;
39
- var globalStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n margin-top: 64px;\n margin-bottom: 64px;\n .page {\n margin: 1px auto -8px auto;\n border: 9px solid transparent;\n position: relative;\n\n .canvasWrapper {\n overflow: hidden;\n }\n\n .textLayer {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n line-height: 1;\n font-family: sans-serif;\n opacity: 0.8;\n\n ::selection {\n background: rgb(0, 0, 255);\n }\n }\n\n .annotationLayer {\n position: absolute;\n top: 0;\n bottom: 0;\n }\n\n .textLayer > div,\n .annotationLayer > section {\n color: transparent;\n position: absolute;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n }\n .linkAnnotation > a {\n position: absolute;\n font-size: 1em;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .linkAnnotation > a {\n background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')\n 0 0 repeat;\n }\n\n .linkAnnotation > a:hover {\n opacity: 0.2;\n background: #ff0;\n box-shadow: 0 2px 10px #ff0;\n }\n }\n }\n"])), pdfViewerClassName);
39
+ var globalStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n margin-top: ", ";\n margin-bottom: ", ";\n .page {\n margin: 1px auto -8px auto;\n border: 9px solid transparent;\n position: relative;\n\n .canvasWrapper {\n overflow: hidden;\n }\n\n .textLayer {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n line-height: 1;\n font-family: sans-serif;\n opacity: 0.8;\n\n ::selection {\n background: rgb(0, 0, 255);\n }\n }\n\n .annotationLayer {\n position: absolute;\n top: 0;\n bottom: 0;\n }\n\n .textLayer > div,\n .annotationLayer > section {\n color: transparent;\n position: absolute;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n }\n .linkAnnotation > a {\n position: absolute;\n font-size: 1em;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .linkAnnotation > a {\n background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')\n 0 0 repeat;\n }\n\n .linkAnnotation > a:hover {\n opacity: 0.2;\n background: #ff0;\n box-shadow: 0 2px 10px #ff0;\n }\n }\n }\n"])), pdfViewerClassName, "var(--ds-space-800, 64px)", "var(--ds-space-800, 64px)");
40
40
  /* eslint-enable no-unused-expressions */
41
41
  /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
42
42
 
@@ -125,7 +125,7 @@ var PDFRenderer = /*#__PURE__*/function (_React$Component) {
125
125
  case 8:
126
126
  _context.prev = 8;
127
127
  _context.t0 = _context["catch"](1);
128
- pdfError = new _errors.MediaViewerError('docviewer-fetch-pdf', _context.t0 instanceof Error ? _context.t0 : undefined);
128
+ pdfError = (0, _processError.processError)(_context.t0);
129
129
  this.setState({
130
130
  doc: _domain.Outcome.failed(pdfError)
131
131
  });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.processError = void 0;
7
+ var _errors = require("../../errors");
8
+ var _mediaClient = require("@atlaskit/media-client");
9
+ // Declares the type of the returned error by PDFjs.
10
+
11
+ var isErrorWithStatus = function isErrorWithStatus(error) {
12
+ return error instanceof Error && "status" in error && typeof error.status === 'number';
13
+ };
14
+ var processError = function processError(error) {
15
+ if (isErrorWithStatus(error)) {
16
+ var reason = (0, _mediaClient.createRequestErrorReason)(error.status);
17
+ return new _errors.MediaViewerError('docviewer-fetch-pdf', new _mediaClient.RequestError(reason, {
18
+ statusCode: error.status
19
+ }));
20
+ }
21
+ return new _errors.MediaViewerError('docviewer-fetch-pdf',
22
+ // TODO: sanitize the error message or remove it entirely
23
+ // https://product-fabric.atlassian.net/browse/MEX-2456
24
+ error instanceof Error ? error : undefined);
25
+ };
26
+ exports.processError = processError;
@@ -1,7 +1,7 @@
1
1
  import { ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
2
2
  const componentName = 'mediaViewer';
3
3
  const packageName = "@atlaskit/media-viewer";
4
- const packageVersion = "48.0.4";
4
+ const packageVersion = "48.0.6";
5
5
  export { packageName, packageVersion, componentName, componentName as component };
6
6
  export function getFileAttributes(fileState) {
7
7
  if (!fileState) {
@@ -2,7 +2,7 @@ import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atl
2
2
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
3
3
  import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
4
4
  const packageName = "@atlaskit/media-viewer";
5
- const packageVersion = "48.0.4";
5
+ const packageVersion = "48.0.6";
6
6
  let ufoExperience;
7
7
  const getExperience = () => {
8
8
  if (!ufoExperience) {
@@ -19,28 +19,30 @@ export const blanketStyles = css`
19
19
  `;
20
20
  export const headerWrapperStyles = ({
21
21
  isArchiveSideBarVisible
22
- }) => css`
23
- position: absolute;
24
- top: 0;
25
- left: 0;
26
- width: 100%;
27
- height: 98px;
28
- opacity: 0.85;
29
- background: linear-gradient(
30
- to bottom,
31
- ${headerAndSidebarBackgroundColor},
32
- rgba(14, 22, 36, 0)
33
- )
34
- no-repeat;
35
- background-position: ${isArchiveSideBarVisible ? `${ArchiveSideBarWidth}px 0` : '0'};
36
- color: #c7d1db;
37
- font-weight: 500;
38
- padding-top: 15px;
39
- padding: 24px;
40
- box-sizing: border-box;
41
- pointer-events: none;
42
- z-index: ${overlayZindex + 1};
43
- `;
22
+ }) =>
23
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
24
+ css`
25
+ position: absolute;
26
+ top: 0;
27
+ left: 0;
28
+ width: 100%;
29
+ height: 98px;
30
+ opacity: 0.85;
31
+ background: linear-gradient(
32
+ to bottom,
33
+ ${headerAndSidebarBackgroundColor},
34
+ rgba(14, 22, 36, 0)
35
+ )
36
+ no-repeat;
37
+ background-position: ${isArchiveSideBarVisible ? `${ArchiveSideBarWidth}px 0` : '0'};
38
+ color: #c7d1db;
39
+ font-weight: 500;
40
+ padding-top: 15px;
41
+ padding: ${"var(--ds-space-300, 24px)"};
42
+ box-sizing: border-box;
43
+ pointer-events: none;
44
+ z-index: ${overlayZindex + 1};
45
+ `;
44
46
  export const listWrapperStyles = css`
45
47
  width: 100%;
46
48
  height: 100%;
@@ -59,8 +61,8 @@ export const arrowsWrapperStyles = css`
59
61
  `;
60
62
  export const closeButtonWrapperStyles = css`
61
63
  position: absolute;
62
- top: 24px;
63
- right: 20px;
64
+ top: ${"var(--ds-space-300, 24px)"};
65
+ right: ${"var(--ds-space-250, 20px)"};
64
66
  z-index: ${overlayZindex + 2};
65
67
  `;
66
68
  export const contentWrapperStyles = ({
@@ -81,6 +83,8 @@ export const zoomWrapperStyles = css`
81
83
  opacity: 0.85;
82
84
  pointer-events: none;
83
85
  `;
86
+
87
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
84
88
  export const zoomControlsWrapperStyles = css`
85
89
  width: 100%;
86
90
  position: absolute;
@@ -93,22 +97,26 @@ export const zoomControlsWrapperStyles = css`
93
97
  pointer-events: all;
94
98
  }
95
99
  `;
100
+
101
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
96
102
  export const zoomLevelIndicatorStyles = css`
97
103
  position: absolute;
98
- right: 24px;
104
+ right: ${"var(--ds-space-300, 24px)"};
99
105
  bottom: 22px;
100
106
  color: #c7d1db;
101
107
  pointer-events: all;
102
108
  `;
109
+
110
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
103
111
  export const hdIconGroupWrapperStyles = css`
104
112
  position: absolute;
105
113
  right: 69px;
106
- bottom: 16px;
114
+ bottom: ${"var(--ds-space-200, 16px)"};
107
115
  `;
108
116
  export const hdIconWrapperStyles = css`
109
117
  display: inline-block;
110
118
  vertical-align: top;
111
- margin-left: -24px;
119
+ margin-left: calc(-1 * ${"var(--ds-space-300, 24px)"});
112
120
  `;
113
121
  export const errorMessageWrapperStyles = css`
114
122
  text-align: center;
@@ -117,6 +125,8 @@ export const errorMessageWrapperStyles = css`
117
125
  line-height: 100%;
118
126
  }
119
127
  `;
128
+
129
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
120
130
  export const errorImageStyles = css`
121
131
  margin-bottom: 10px;
122
132
  user-select: none;
@@ -166,7 +176,7 @@ const arrowWrapperStyles = css`
166
176
  position: absolute;
167
177
  top: 50%;
168
178
  transform: translateY(-50%);
169
- padding: 20px;
179
+ padding: ${"var(--ds-space-250, 20px)"};
170
180
  `;
171
181
  export const leftWrapperStyles = ({
172
182
  isArchiveSideBarVisible
@@ -244,12 +254,12 @@ export const metadataSubTextStyles = css`
244
254
  ${ellipsis()};
245
255
  `;
246
256
  export const metadataIconWrapperStyles = css`
247
- padding-top: 4px;
248
- padding-right: 12px;
257
+ padding-top: ${"var(--ds-space-050, 4px)"};
258
+ padding-right: ${"var(--ds-space-150, 12px)"};
249
259
  `;
250
260
  export const rightHeaderStyles = css`
251
261
  text-align: right;
252
- margin-right: 40px;
262
+ margin-right: ${"var(--ds-space-500, 40px)"};
253
263
  min-width: 200px;
254
264
  > * {
255
265
  pointer-events: all;
@@ -296,6 +306,8 @@ export const defaultCoverWrapperStyles = css`
296
306
  transform: scale(2);
297
307
  }
298
308
  `;
309
+
310
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
299
311
  export const downloadButtonWrapperStyles = css`
300
312
  margin-top: 28px;
301
313
  text-align: center;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "48.0.4",
3
+ "version": "48.0.6",
4
4
  "sideEffects": false
5
5
  }
@@ -7,8 +7,11 @@ export const archiveItemViewerWrapperStyles = css`
7
7
  display: flex;
8
8
  justify-content: center;
9
9
  `;
10
+
11
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
10
12
  export const archiveSideBarStyles = css`
11
- padding: 22px 20px 20px 20px;
13
+ padding: 22px ${"var(--ds-space-250, 20px)"} ${"var(--ds-space-250, 20px)"}
14
+ ${"var(--ds-space-250, 20px)"};
12
15
  background-color: ${"var(--ds-surface, #101214)"};
13
16
  position: absolute;
14
17
  left: 0;
@@ -35,8 +38,10 @@ export const archiveSidebarFolderWrapperStyles = css`
35
38
  opacity: 0;
36
39
  animation: ${slideDown} 0.3s forwards;
37
40
  `;
41
+
42
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
38
43
  export const archiveDownloadButtonWrapperStyles = css`
39
- padding: 8px 7px 5px 8px;
44
+ padding: ${"var(--ds-space-100, 8px)"} 7px 5px ${"var(--ds-space-100, 8px)"};
40
45
  border: none;
41
46
  border-radius: 3px;
42
47
  background-color: transparent;
@@ -55,6 +60,8 @@ export const archiveDownloadButtonWrapperStyles = css`
55
60
  export const sidebarItemWrapperStyles = css`
56
61
  width: 85%;
57
62
  `;
63
+
64
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
58
65
  export const archiveSidebarFileEntryWrapperStyles = css`
59
66
  padding-bottom: 5px;
60
67
  display: flex;
@@ -67,6 +74,8 @@ export const archiveLayoutStyles = css`
67
74
  width: 100%;
68
75
  height: 100%;
69
76
  `;
77
+
78
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
70
79
  export const archiveViewerWrapperStyles = css`
71
80
  position: absolute;
72
81
  top: 0;
@@ -76,6 +85,7 @@ export const archiveViewerWrapperStyles = css`
76
85
  align-items: center;
77
86
  display: flex;
78
87
  `;
88
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
79
89
  export const separatorStyles = css`
80
90
  border-radius: 1px;
81
91
  height: 2px;
@@ -88,6 +98,8 @@ export const sidebarHeaderWrapperStyles = css`
88
98
  align-items: center;
89
99
  flex-shrink: 0;
90
100
  `;
101
+
102
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
91
103
  export const sidebarHeaderIconStyles = css`
92
104
  display: flex;
93
105
  align-items: center;
@@ -25,5 +25,5 @@ export const codeViewerHTMLStyles = css`
25
25
  overflow-x: auto;
26
26
  white-space: pre;
27
27
  font-size: 12px;
28
- padding: 8px;
28
+ padding: ${"var(--ds-space-100, 8px)"};
29
29
  `;
@@ -9,14 +9,14 @@ import { closeOnDirectClick } from '../../utils/closeOnDirectClick';
9
9
  import { Outcome } from '../../domain';
10
10
  import { Spinner } from '../../loading';
11
11
  import ErrorMessage from '../../errorMessage';
12
- import { MediaViewerError } from '../../errors';
13
12
  import { ZoomLevel } from '../../domain/zoomLevel';
13
+ import { processError } from './processError';
14
14
  export const pdfViewerClassName = 'pdfViewer';
15
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
15
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/design-system/ensure-design-token-usage-spacing */
16
16
  const globalStyles = css`
17
17
  .${pdfViewerClassName} {
18
- margin-top: 64px;
19
- margin-bottom: 64px;
18
+ margin-top: ${"var(--ds-space-800, 64px)"};
19
+ margin-bottom: ${"var(--ds-space-800, 64px)"};
20
20
  .page {
21
21
  margin: 1px auto -8px auto;
22
22
  border: 9px solid transparent;
@@ -144,7 +144,7 @@ export class PDFRenderer extends React.Component {
144
144
  }
145
145
  });
146
146
  } catch (error) {
147
- const pdfError = new MediaViewerError('docviewer-fetch-pdf', error instanceof Error ? error : undefined);
147
+ const pdfError = processError(error);
148
148
  this.setState({
149
149
  doc: Outcome.failed(pdfError)
150
150
  });
@@ -0,0 +1,18 @@
1
+ import { MediaViewerError } from '../../errors';
2
+ import { RequestError, createRequestErrorReason } from '@atlaskit/media-client';
3
+
4
+ // Declares the type of the returned error by PDFjs.
5
+
6
+ const isErrorWithStatus = error => error instanceof Error && `status` in error && typeof error.status === 'number';
7
+ export const processError = error => {
8
+ if (isErrorWithStatus(error)) {
9
+ const reason = createRequestErrorReason(error.status);
10
+ return new MediaViewerError('docviewer-fetch-pdf', new RequestError(reason, {
11
+ statusCode: error.status
12
+ }));
13
+ }
14
+ return new MediaViewerError('docviewer-fetch-pdf',
15
+ // TODO: sanitize the error message or remove it entirely
16
+ // https://product-fabric.atlassian.net/browse/MEX-2456
17
+ error instanceof Error ? error : undefined);
18
+ };
@@ -1,7 +1,7 @@
1
1
  import { ANALYTICS_MEDIA_CHANNEL } from '@atlaskit/media-common';
2
2
  var componentName = 'mediaViewer';
3
3
  var packageName = "@atlaskit/media-viewer";
4
- var packageVersion = "48.0.4";
4
+ var packageVersion = "48.0.6";
5
5
  export { packageName, packageVersion, componentName, componentName as component };
6
6
  export function getFileAttributes(fileState) {
7
7
  if (!fileState) {
@@ -5,7 +5,7 @@ import { UFOExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atl
5
5
  import { getMediaEnvironment, getMediaRegion } from '@atlaskit/media-client';
6
6
  import { getFeatureFlagKeysAllProducts } from '@atlaskit/media-common';
7
7
  var packageName = "@atlaskit/media-viewer";
8
- var packageVersion = "48.0.4";
8
+ var packageVersion = "48.0.6";
9
9
  var ufoExperience;
10
10
  var getExperience = function getExperience() {
11
11
  if (!ufoExperience) {
@@ -12,26 +12,36 @@ export var blanketColor = '#22272B';
12
12
  export var blanketStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-color: ", ";\n z-index: ", ";\n display: flex;\n"])), blanketColor, overlayZindex);
13
13
  export var headerWrapperStyles = function headerWrapperStyles(_ref) {
14
14
  var isArchiveSideBarVisible = _ref.isArchiveSideBarVisible;
15
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 98px;\n opacity: 0.85;\n background: linear-gradient(\n to bottom,\n ", ",\n rgba(14, 22, 36, 0)\n )\n no-repeat;\n background-position: ", ";\n color: #c7d1db;\n font-weight: 500;\n padding-top: 15px;\n padding: 24px;\n box-sizing: border-box;\n pointer-events: none;\n z-index: ", ";\n"])), headerAndSidebarBackgroundColor, isArchiveSideBarVisible ? "".concat(ArchiveSideBarWidth, "px 0") : '0', overlayZindex + 1);
15
+ return (// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
16
+ css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 98px;\n opacity: 0.85;\n background: linear-gradient(\n to bottom,\n ", ",\n rgba(14, 22, 36, 0)\n )\n no-repeat;\n background-position: ", ";\n color: #c7d1db;\n font-weight: 500;\n padding-top: 15px;\n padding: ", ";\n box-sizing: border-box;\n pointer-events: none;\n z-index: ", ";\n "])), headerAndSidebarBackgroundColor, isArchiveSideBarVisible ? "".concat(ArchiveSideBarWidth, "px 0") : '0', "var(--ds-space-300, 24px)", overlayZindex + 1)
17
+ );
16
18
  };
17
19
  export var listWrapperStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
18
20
  export var arrowsWrapperStyles = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n width: 100%;\n"])));
19
- export var closeButtonWrapperStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n top: 24px;\n right: 20px;\n z-index: ", ";\n"])), overlayZindex + 2);
21
+ export var closeButtonWrapperStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n right: ", ";\n z-index: ", ";\n"])), "var(--ds-space-300, 24px)", "var(--ds-space-250, 20px)", overlayZindex + 2);
20
22
  export var contentWrapperStyles = function contentWrapperStyles(_ref2) {
21
23
  var isSidebarVisible = _ref2.isSidebarVisible;
22
24
  return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: ", ";\n"])), isSidebarVisible ? "calc(100% - ".concat(sidebarWidth, "px)") : '100%');
23
25
  };
24
26
  export var zoomWrapperStyles = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n height: 98px;\n background-image: linear-gradient(\n to top,\n ", ",\n rgba(14, 22, 36, 0)\n );\n opacity: 0.85;\n pointer-events: none;\n"])), headerAndSidebarBackgroundColor);
27
+
28
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
25
29
  export var zoomControlsWrapperStyles = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n text-align: center;\n bottom: 10px;\n button {\n margin-right: 10px;\n }\n > * {\n pointer-events: all;\n }\n"])));
26
- export var zoomLevelIndicatorStyles = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n right: 24px;\n bottom: 22px;\n color: #c7d1db;\n pointer-events: all;\n"])));
27
- export var hdIconGroupWrapperStyles = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n position: absolute;\n right: 69px;\n bottom: 16px;\n"])));
28
- export var hdIconWrapperStyles = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: inline-block;\n vertical-align: top;\n margin-left: -24px;\n"])));
30
+
31
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
32
+ export var zoomLevelIndicatorStyles = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n right: ", ";\n bottom: 22px;\n color: #c7d1db;\n pointer-events: all;\n"])), "var(--ds-space-300, 24px)");
33
+
34
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
35
+ export var hdIconGroupWrapperStyles = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n position: absolute;\n right: 69px;\n bottom: ", ";\n"])), "var(--ds-space-200, 16px)");
36
+ export var hdIconWrapperStyles = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: inline-block;\n vertical-align: top;\n margin-left: calc(-1 * ", ");\n"])), "var(--ds-space-300, 24px)");
29
37
  export var errorMessageWrapperStyles = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n text-align: center;\n color: #c7d1db;\n p {\n line-height: 100%;\n }\n"])));
38
+
39
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
30
40
  export var errorImageStyles = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n margin-bottom: 10px;\n user-select: none;\n"])));
31
41
  export var videoStyles = css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n width: 100vw;\n height: 100vh;\n"])));
32
42
  export var pdfWrapperStyles = css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n overflow: auto;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n\n .", " {\n position: fixed;\n }\n"])), hideControlsClassName);
33
43
  export var arrowStyles = css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n cursor: pointer;\n\n svg {\n filter: drop-shadow(0px 1px 1px rgb(9 30 66 / 25%))\n drop-shadow(0px 0px 1px rgb(9 30 66 / 31%));\n }\n\n && button {\n height: inherit;\n background: none;\n\n &:hover {\n svg {\n color: #b6c2cf;\n }\n }\n\n &:active {\n svg {\n color: #c7d1db;\n }\n }\n }\n"])));
34
- var arrowWrapperStyles = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: 20px;\n"])));
44
+ var arrowWrapperStyles = css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: ", ";\n"])), "var(--ds-space-250, 20px)");
35
45
  export var leftWrapperStyles = function leftWrapperStyles(_ref3) {
36
46
  var isArchiveSideBarVisible = _ref3.isArchiveSideBarVisible;
37
47
  return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n ", "\n text-align: left;\n left: ", ";\n"])), arrowWrapperStyles, isArchiveSideBarVisible ? "".concat(ArchiveSideBarWidth, "px") : '0');
@@ -56,13 +66,15 @@ export var medatadataTextWrapperStyles = css(_templateObject25 || (_templateObje
56
66
  export var metadataWrapperStyles = css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n display: flex;\n"])));
57
67
  export var metadataFileNameStyles = css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n &::first-letter {\n text-transform: uppercase;\n }\n ", ";\n"])), ellipsis());
58
68
  export var metadataSubTextStyles = css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n color: #c7d1db;\n ", ";\n"])), ellipsis());
59
- export var metadataIconWrapperStyles = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n padding-top: 4px;\n padding-right: 12px;\n"])));
60
- export var rightHeaderStyles = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n text-align: right;\n margin-right: 40px;\n min-width: 200px;\n > * {\n pointer-events: all;\n }\n"])));
69
+ export var metadataIconWrapperStyles = css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n padding-top: ", ";\n padding-right: ", ";\n"])), "var(--ds-space-050, 4px)", "var(--ds-space-150, 12px)");
70
+ export var rightHeaderStyles = css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n text-align: right;\n margin-right: ", ";\n min-width: 200px;\n > * {\n pointer-events: all;\n }\n"])), "var(--ds-space-500, 40px)");
61
71
  export var customAudioPlayerWrapperStyles = css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n"])));
62
72
  export var audioPlayerStyles = css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-radius: ", ";\n align-items: center;\n justify-content: center;\n width: 400px;\n height: 400px;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n position: relative;\n"])), blanketColor, borderRadius());
63
73
  export var audioStyles = css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n left: 0;\n"])));
64
74
  export var audioCoverStyles = css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n background-color: #000;\n"])));
65
75
  export var defaultCoverWrapperStyles = css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n\n > * {\n transform: scale(2);\n }\n"])));
76
+
77
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
66
78
  export var downloadButtonWrapperStyles = css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["\n margin-top: 28px;\n text-align: center;\n\n button {\n &:hover,\n &:active {\n color: #161a1d !important;\n }\n }\n"])));
67
79
  export var customVideoPlayerWrapperStyles = css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["\n video {\n flex: 1;\n width: 100vw;\n height: 100vh;\n max-height: 100vh;\n }\n"])));
68
80
  export var sidebarWrapperStyles = css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral(["\n top: 0;\n right: 0;\n width: ", "px;\n height: 100vh;\n overflow: hidden auto;\n background-color: ", ";\n color: ", ";\n"])), sidebarWidth, "var(--ds-surface, ".concat(headerAndSidebarBackgroundColor, ")"), "var(--ds-text, #c7d1db)");
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "48.0.4",
3
+ "version": "48.0.6",
4
4
  "sideEffects": false
5
5
  }
@@ -5,16 +5,27 @@ import { gridSize } from '@atlaskit/theme/constants';
5
5
  import { DN500 } from '@atlaskit/theme/colors';
6
6
  export var ArchiveSideBarWidth = 300;
7
7
  export var archiveItemViewerWrapperStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n justify-content: center;\n"])));
8
- export var archiveSideBarStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 22px 20px 20px 20px;\n background-color: ", ";\n position: absolute;\n left: 0;\n top: 0;\n width: ", "px;\n bottom: 0;\n box-sizing: border-box;\n overflow-y: scroll;\n"])), "var(--ds-surface, #101214)", ArchiveSideBarWidth);
8
+
9
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
10
+ export var archiveSideBarStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 22px ", " ", "\n ", ";\n background-color: ", ";\n position: absolute;\n left: 0;\n top: 0;\n width: ", "px;\n bottom: 0;\n box-sizing: border-box;\n overflow-y: scroll;\n"])), "var(--ds-space-250, 20px)", "var(--ds-space-250, 20px)", "var(--ds-space-250, 20px)", "var(--ds-surface, #101214)", ArchiveSideBarWidth);
9
11
  var slideDown = keyframes(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n 0% {\n opacity: 0;\n transform: translateY(-100%);\n }\n\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n"])));
10
12
  export var archiveSidebarFolderWrapperStyles = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n transform: translateY(-100%);\n transition: all 1s;\n opacity: 0;\n animation: ", " 0.3s forwards;\n"])), slideDown);
11
- export var archiveDownloadButtonWrapperStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: 8px 7px 5px 8px;\n border: none;\n border-radius: 3px;\n background-color: transparent;\n color: ", ";\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n\n &:active {\n cursor: pointer;\n background-color: ", ";\n }\n"])), "var(--ds-icon, #9FADBC)", "var(--ds-background-neutral-subtle-hovered, #A1BDD914)", "var(--ds-background-neutral-subtle-pressed, #A6C5E229)");
13
+
14
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
15
+ export var archiveDownloadButtonWrapperStyles = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: ", " 7px 5px ", ";\n border: none;\n border-radius: 3px;\n background-color: transparent;\n color: ", ";\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n }\n\n &:active {\n cursor: pointer;\n background-color: ", ";\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-icon, #9FADBC)", "var(--ds-background-neutral-subtle-hovered, #A1BDD914)", "var(--ds-background-neutral-subtle-pressed, #A6C5E229)");
12
16
  export var sidebarItemWrapperStyles = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 85%;\n"])));
17
+
18
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
13
19
  export var archiveSidebarFileEntryWrapperStyles = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n padding-bottom: 5px;\n display: flex;\n align-items: center;\n cursor: pointer;\n transition: background-color 0.3s;\n"])));
14
20
  export var archiveLayoutStyles = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
21
+
22
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
15
23
  export var archiveViewerWrapperStyles = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: ", "px;\n right: 0;\n bottom: 0;\n align-items: center;\n display: flex;\n"])), ArchiveSideBarWidth);
24
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
16
25
  export var separatorStyles = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n border-radius: 1px;\n height: 2px;\n margin: ", "px 0;\n background-color: ", ";\n flex-shrink: 0;\n"])), (gridSize() * 5 - 2) / 2, "var(--ds-border, #A6C5E229)");
17
26
  export var sidebarHeaderWrapperStyles = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n flex-shrink: 0;\n"])));
27
+
28
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing
18
29
  export var sidebarHeaderIconStyles = css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin-right: 10px;\n flex-shrink: 0;\n"])));
19
30
  export var sidebarHeaderEntryStyles = css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 1.14286;\n color: ", ";\n"])), "var(--ds-text, ".concat(DN500, ")"));
20
31
  export var itemStyle = {
@@ -10,4 +10,4 @@ export var codeViewWrapperStyles = css(_templateObject || (_templateObject = _ta
10
10
  export var codeViewerHeaderBarStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 75px;\n background-color: #1d2125;\n"])));
11
11
  /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
12
12
 
13
- export var codeViewerHTMLStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n line-height: 20px;\n overflow-x: auto;\n white-space: pre;\n font-size: 12px;\n padding: 8px;\n"])));
13
+ export var codeViewerHTMLStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n line-height: 20px;\n overflow-x: auto;\n white-space: pre;\n font-size: 12px;\n padding: ", ";\n"])), "var(--ds-space-100, 8px)");
@@ -21,11 +21,11 @@ import { closeOnDirectClick } from '../../utils/closeOnDirectClick';
21
21
  import { Outcome } from '../../domain';
22
22
  import { Spinner } from '../../loading';
23
23
  import ErrorMessage from '../../errorMessage';
24
- import { MediaViewerError } from '../../errors';
25
24
  import { ZoomLevel } from '../../domain/zoomLevel';
25
+ import { processError } from './processError';
26
26
  export var pdfViewerClassName = 'pdfViewer';
27
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
28
- var globalStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n margin-top: 64px;\n margin-bottom: 64px;\n .page {\n margin: 1px auto -8px auto;\n border: 9px solid transparent;\n position: relative;\n\n .canvasWrapper {\n overflow: hidden;\n }\n\n .textLayer {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n line-height: 1;\n font-family: sans-serif;\n opacity: 0.8;\n\n ::selection {\n background: rgb(0, 0, 255);\n }\n }\n\n .annotationLayer {\n position: absolute;\n top: 0;\n bottom: 0;\n }\n\n .textLayer > div,\n .annotationLayer > section {\n color: transparent;\n position: absolute;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n }\n .linkAnnotation > a {\n position: absolute;\n font-size: 1em;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .linkAnnotation > a {\n background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')\n 0 0 repeat;\n }\n\n .linkAnnotation > a:hover {\n opacity: 0.2;\n background: #ff0;\n box-shadow: 0 2px 10px #ff0;\n }\n }\n }\n"])), pdfViewerClassName);
27
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/design-system/ensure-design-token-usage-spacing */
28
+ var globalStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n margin-top: ", ";\n margin-bottom: ", ";\n .page {\n margin: 1px auto -8px auto;\n border: 9px solid transparent;\n position: relative;\n\n .canvasWrapper {\n overflow: hidden;\n }\n\n .textLayer {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n line-height: 1;\n font-family: sans-serif;\n opacity: 0.8;\n\n ::selection {\n background: rgb(0, 0, 255);\n }\n }\n\n .annotationLayer {\n position: absolute;\n top: 0;\n bottom: 0;\n }\n\n .textLayer > div,\n .annotationLayer > section {\n color: transparent;\n position: absolute;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n }\n .linkAnnotation > a {\n position: absolute;\n font-size: 1em;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .linkAnnotation > a {\n background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7')\n 0 0 repeat;\n }\n\n .linkAnnotation > a:hover {\n opacity: 0.2;\n background: #ff0;\n box-shadow: 0 2px 10px #ff0;\n }\n }\n }\n"])), pdfViewerClassName, "var(--ds-space-800, 64px)", "var(--ds-space-800, 64px)");
29
29
  /* eslint-enable no-unused-expressions */
30
30
  /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
31
31
 
@@ -114,7 +114,7 @@ export var PDFRenderer = /*#__PURE__*/function (_React$Component) {
114
114
  case 8:
115
115
  _context.prev = 8;
116
116
  _context.t0 = _context["catch"](1);
117
- pdfError = new MediaViewerError('docviewer-fetch-pdf', _context.t0 instanceof Error ? _context.t0 : undefined);
117
+ pdfError = processError(_context.t0);
118
118
  this.setState({
119
119
  doc: Outcome.failed(pdfError)
120
120
  });
@@ -0,0 +1,20 @@
1
+ import { MediaViewerError } from '../../errors';
2
+ import { RequestError, createRequestErrorReason } from '@atlaskit/media-client';
3
+
4
+ // Declares the type of the returned error by PDFjs.
5
+
6
+ var isErrorWithStatus = function isErrorWithStatus(error) {
7
+ return error instanceof Error && "status" in error && typeof error.status === 'number';
8
+ };
9
+ export var processError = function processError(error) {
10
+ if (isErrorWithStatus(error)) {
11
+ var reason = createRequestErrorReason(error.status);
12
+ return new MediaViewerError('docviewer-fetch-pdf', new RequestError(reason, {
13
+ statusCode: error.status
14
+ }));
15
+ }
16
+ return new MediaViewerError('docviewer-fetch-pdf',
17
+ // TODO: sanitize the error message or remove it entirely
18
+ // https://product-fabric.atlassian.net/browse/MEX-2456
19
+ error instanceof Error ? error : undefined);
20
+ };
@@ -0,0 +1,2 @@
1
+ import { MediaViewerError } from '../../errors';
2
+ export declare const processError: (error: unknown) => MediaViewerError;
@@ -0,0 +1,2 @@
1
+ import { MediaViewerError } from '../../errors';
2
+ export declare const processError: (error: unknown) => MediaViewerError;
@@ -8,7 +8,7 @@ export const containerStyles = css`
8
8
  `;
9
9
  export const groupStyles = css`
10
10
  width: 250px;
11
- padding: 20px;
11
+ padding: ${token('space.250', '20px')};
12
12
  `;
13
13
 
14
14
  export const buttonListStyles = css`
@@ -18,12 +18,12 @@ export const buttonListStyles = css`
18
18
 
19
19
  export const mVSidebarStyles = css`
20
20
  height: calc(100vh - 64px);
21
- padding: 32px;
21
+ padding: ${token('space.400', '32px')};
22
22
  overflow: auto;
23
23
 
24
24
  h2 {
25
25
  color: ${token('color.text', '#c7d1db')};
26
- margin-bottom: 16px;
26
+ margin-bottom: ${token('space.200', '16px')};
27
27
  }
28
28
 
29
29
  tbody {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-viewer",
3
- "version": "48.0.4",
3
+ "version": "48.0.6",
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/"
@@ -40,7 +40,7 @@
40
40
  "@atlaskit/code": "^14.6.0",
41
41
  "@atlaskit/icon": "^21.12.0",
42
42
  "@atlaskit/icon-file-type": "^6.4.0",
43
- "@atlaskit/media-client": "^23.0.0",
43
+ "@atlaskit/media-client": "^23.1.0",
44
44
  "@atlaskit/media-common": "^7.0.0",
45
45
  "@atlaskit/media-ui": "^23.0.0",
46
46
  "@atlaskit/side-navigation": "^1.8.0",
@@ -92,7 +92,8 @@
92
92
  "techstack": {
93
93
  "@repo/internal": {
94
94
  "design-tokens": [
95
- "color"
95
+ "color",
96
+ "spacing"
96
97
  ]
97
98
  }
98
99
  }