@zextras/carbonio-ui-preview 0.1.3 → 0.1.4
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/README.md +5 -5
- package/lib/index.d.ts +6 -0
- package/lib/index.js +28 -0
- package/lib/index.js.map +1 -0
- package/lib/preview/ContainerWithGap.d.ts +1 -0
- package/lib/preview/ContainerWithGap.js +23 -0
- package/lib/preview/ContainerWithGap.js.map +1 -0
- package/lib/preview/FocusWithin.d.ts +7 -0
- package/lib/preview/FocusWithin.js +87 -0
- package/lib/preview/FocusWithin.js.map +1 -0
- package/lib/preview/Header.d.ts +29 -0
- package/lib/preview/Header.js +44 -0
- package/lib/preview/Header.js.map +1 -0
- package/lib/preview/ImagePreview.d.ts +37 -0
- package/lib/preview/ImagePreview.js +99 -0
- package/lib/preview/ImagePreview.js.map +1 -0
- package/lib/preview/PdfPreview.d.ts +58 -0
- package/lib/preview/PdfPreview.js +204 -0
- package/lib/preview/PdfPreview.js.map +1 -0
- package/lib/preview/PreviewCriteriaAlternativeContent.d.ts +12 -0
- package/lib/preview/PreviewCriteriaAlternativeContent.js +73 -0
- package/lib/preview/PreviewCriteriaAlternativeContent.js.map +1 -0
- package/lib/preview/PreviewManager.d.ts +12 -0
- package/lib/preview/PreviewManager.js +102 -0
- package/lib/preview/PreviewManager.js.map +1 -0
- package/lib/preview/PreviewWrapper.d.ts +9 -0
- package/lib/preview/PreviewWrapper.js +42 -0
- package/lib/preview/PreviewWrapper.js.map +1 -0
- package/lib/utils.d.ts +3 -0
- package/{src/utils.ts → lib/utils.js} +3 -2
- package/lib/utils.js.map +1 -0
- package/lib-esm/index.d.ts +6 -0
- package/{src/index.ts → lib-esm/index.js} +1 -1
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/preview/ContainerWithGap.d.ts +1 -0
- package/lib-esm/preview/ContainerWithGap.js +17 -0
- package/lib-esm/preview/ContainerWithGap.js.map +1 -0
- package/lib-esm/preview/FocusWithin.d.ts +7 -0
- package/lib-esm/preview/FocusWithin.js +59 -0
- package/lib-esm/preview/FocusWithin.js.map +1 -0
- package/lib-esm/preview/Header.d.ts +29 -0
- package/lib-esm/preview/Header.js +39 -0
- package/lib-esm/preview/Header.js.map +1 -0
- package/lib-esm/preview/ImagePreview.d.ts +37 -0
- package/lib-esm/preview/ImagePreview.js +70 -0
- package/lib-esm/preview/ImagePreview.js.map +1 -0
- package/lib-esm/preview/PdfPreview.d.ts +58 -0
- package/lib-esm/preview/PdfPreview.js +175 -0
- package/lib-esm/preview/PdfPreview.js.map +1 -0
- package/lib-esm/preview/PreviewCriteriaAlternativeContent.d.ts +12 -0
- package/lib-esm/preview/PreviewCriteriaAlternativeContent.js +43 -0
- package/lib-esm/preview/PreviewCriteriaAlternativeContent.js.map +1 -0
- package/lib-esm/preview/PreviewManager.d.ts +12 -0
- package/lib-esm/preview/PreviewManager.js +75 -0
- package/lib-esm/preview/PreviewManager.js.map +1 -0
- package/lib-esm/preview/PreviewWrapper.d.ts +9 -0
- package/lib-esm/preview/PreviewWrapper.js +36 -0
- package/lib-esm/preview/PreviewWrapper.js.map +1 -0
- package/lib-esm/utils.d.ts +3 -0
- package/{src/types/carbonio-design-system.d.ts → lib-esm/utils.js} +2 -2
- package/lib-esm/utils.js.map +1 -0
- package/package.json +23 -8
- package/babel.config.js +0 -13
- package/src/preview/ContainerWithGap.tsx +0 -11
- package/src/preview/FocusWithin.tsx +0 -76
- package/src/preview/Header.tsx +0 -122
- package/src/preview/ImagePreview.tsx +0 -194
- package/src/preview/PdfPreview.tsx +0 -398
- package/src/preview/PreviewCriteriaAlternativeContent.tsx +0 -94
- package/src/preview/PreviewManager.tsx +0 -75
- package/src/preview/PreviewWrapper.tsx +0 -20
package/README.md
CHANGED
|
@@ -4,16 +4,16 @@ SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>
|
|
|
4
4
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
5
5
|
-->
|
|
6
6
|
<div align="center">
|
|
7
|
-
<h1>Carbonio
|
|
7
|
+
<h1>Carbonio Preview</h1>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
10
|
Preview utility for Zextras Carbonio
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://github.com/zextras/carbonio-ui-
|
|
14
|
-
<img src="https://img.shields.io/github/contributors/zextras/carbonio-ui-
|
|
15
|
-
<a href="https://github.com/zextras/carbonio-ui-
|
|
16
|
-
<img src="https://img.shields.io/github/commit-activity/m/zextras/carbonio-ui-
|
|
13
|
+
<a href="https://github.com/zextras/carbonio-ui-preview/graphs/contributors" alt="Contributors">
|
|
14
|
+
<img src="https://img.shields.io/github/contributors/zextras/carbonio-ui-preview" /></a>
|
|
15
|
+
<a href="https://github.com/zextras/carbonio-ui-preview/pulse" alt="Activity">
|
|
16
|
+
<img src="https://img.shields.io/github/commit-activity/m/zextras/carbonio-ui-preview" /></a>
|
|
17
17
|
<img src="https://img.shields.io/badge/license-AGPL%203-green" alt="License AGPL 3">
|
|
18
18
|
<img src="https://img.shields.io/badge/project-carbonio-informational" alt="Project Carbonio">
|
|
19
19
|
<a href="https://twitter.com/intent/follow?screen_name=zextras">
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SPDX-FileCopyrightText: 2021 Zextras <https://www.zextras.com>
|
|
4
|
+
*
|
|
5
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
/** Base components */
|
|
23
|
+
__exportStar(require("./preview/ImagePreview"), exports);
|
|
24
|
+
__exportStar(require("./preview/PdfPreview"), exports);
|
|
25
|
+
/** Utils */
|
|
26
|
+
__exportStar(require("./preview/PreviewManager"), exports);
|
|
27
|
+
__exportStar(require("./preview/PreviewWrapper"), exports);
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,yDAAuC;AACvC,uDAAqC;AACrC,YAAY;AACZ,2DAAyC;AACzC,2DAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ContainerWithGap: import("styled-components").StyledComponent<any, any, object, string | number | symbol>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ContainerWithGap = void 0;
|
|
11
|
+
/*
|
|
12
|
+
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
15
|
+
*/
|
|
16
|
+
var carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
17
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
18
|
+
exports.ContainerWithGap = (0, styled_components_1.default)(carbonio_design_system_1.Container)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tgap: ", ";\n"], ["\n\tgap: ", ";\n"])), function (_a) {
|
|
19
|
+
var gap = _a.gap;
|
|
20
|
+
return gap;
|
|
21
|
+
});
|
|
22
|
+
var templateObject_1;
|
|
23
|
+
//# sourceMappingURL=ContainerWithGap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainerWithGap.js","sourceRoot":"","sources":["../../src/preview/ContainerWithGap.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;GAIG;AACH,0EAA4D;AAC5D,wEAAuC;AAE1B,QAAA,gBAAgB,GAAG,IAAA,2BAAM,EAAC,kCAAS,CAAC,qFAAA,WACzC,EAAwB,KAC/B,KADO,UAAC,EAAO;QAAL,GAAG,SAAA;IAAe,OAAA,GAAG;AAAH,CAAG,EAC9B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
|
|
34
|
+
/*
|
|
35
|
+
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
|
|
36
|
+
*
|
|
37
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
38
|
+
*/
|
|
39
|
+
var react_1 = __importStar(require("react"));
|
|
40
|
+
var last_1 = __importDefault(require("lodash/last"));
|
|
41
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
42
|
+
var FocusContainer = styled_components_1.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\toutline: none;\n\t& > * {\n\t\toutline: none;\n\t}\n"], ["\n\toutline: none;\n\t& > * {\n\t\toutline: none;\n\t}\n"])));
|
|
43
|
+
var FocusWithin = function (_a) {
|
|
44
|
+
var children = _a.children, _b = _a.returnFocus, returnFocus = _b === void 0 ? true : _b;
|
|
45
|
+
var contentRef = (0, react_1.useRef)(null);
|
|
46
|
+
var startSentinelRef = (0, react_1.useRef)(null);
|
|
47
|
+
var endSentinelRef = (0, react_1.useRef)(null);
|
|
48
|
+
var onStartSentinelFocus = (0, react_1.useCallback)(function () {
|
|
49
|
+
if (contentRef.current) {
|
|
50
|
+
var node = (0, last_1.default)(contentRef.current.querySelectorAll('[tabindex]'));
|
|
51
|
+
node && node.focus();
|
|
52
|
+
}
|
|
53
|
+
}, []);
|
|
54
|
+
var onEndSentinelFocus = (0, react_1.useCallback)(function () {
|
|
55
|
+
if (contentRef.current) {
|
|
56
|
+
var node = contentRef.current.querySelector('[tabindex]');
|
|
57
|
+
node && node.focus();
|
|
58
|
+
}
|
|
59
|
+
}, []);
|
|
60
|
+
(0, react_1.useEffect)(function () {
|
|
61
|
+
var _a;
|
|
62
|
+
var documentElement = ((_a = window.top) === null || _a === void 0 ? void 0 : _a.document) || document;
|
|
63
|
+
var focusedElement = documentElement.activeElement;
|
|
64
|
+
contentRef.current && contentRef.current.focus();
|
|
65
|
+
startSentinelRef.current &&
|
|
66
|
+
startSentinelRef.current.addEventListener('focus', onStartSentinelFocus);
|
|
67
|
+
endSentinelRef.current && endSentinelRef.current.addEventListener('focus', onEndSentinelFocus);
|
|
68
|
+
var startSentinelRefSave = startSentinelRef.current;
|
|
69
|
+
var endSentinelRefSave = endSentinelRef.current;
|
|
70
|
+
return function () {
|
|
71
|
+
startSentinelRefSave &&
|
|
72
|
+
startSentinelRefSave.removeEventListener('focus', onStartSentinelFocus);
|
|
73
|
+
endSentinelRefSave && endSentinelRefSave.removeEventListener('focus', onEndSentinelFocus);
|
|
74
|
+
// return focus to previous initial element
|
|
75
|
+
if (focusedElement && returnFocus) {
|
|
76
|
+
focusedElement.focus();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}, [onStartSentinelFocus, onEndSentinelFocus, returnFocus]);
|
|
80
|
+
return (react_1.default.createElement(FocusContainer, null,
|
|
81
|
+
react_1.default.createElement("span", { tabIndex: 0, ref: startSentinelRef }),
|
|
82
|
+
react_1.default.createElement("div", { tabIndex: -1, ref: contentRef }, children),
|
|
83
|
+
react_1.default.createElement("span", { tabIndex: 0, ref: endSentinelRef })));
|
|
84
|
+
};
|
|
85
|
+
exports.default = FocusWithin;
|
|
86
|
+
var templateObject_1;
|
|
87
|
+
//# sourceMappingURL=FocusWithin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FocusWithin.js","sourceRoot":"","sources":["../../src/preview/FocusWithin.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAwD;AACxD;;;;GAIG;AACH,6CAA8D;AAE9D,qDAA+B;AAC/B,wEAAuC;AAEvC,IAAM,cAAc,GAAG,2BAAM,CAAC,IAAI,6HAAA,0DAKjC,IAAA,CAAC;AAOF,IAAM,WAAW,GAAG,UAAC,EAAqD;QAAnD,QAAQ,cAAA,EAAE,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA;IAClD,IAAM,UAAU,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IACvD,IAAM,gBAAgB,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAC7D,IAAM,cAAc,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IAE3D,IAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC;QACxC,IAAI,UAAU,CAAC,OAAO,EAAE;YACvB,IAAM,IAAI,GAAG,IAAA,cAAI,EAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,CAAC;YAClF,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC;QACtC,IAAI,UAAU,CAAC,OAAO,EAAE;YACvB,IAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAc,YAAY,CAAC,CAAC;YACzE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;SACrB;IACF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;;QACT,IAAM,eAAe,GAAG,CAAA,MAAA,MAAM,CAAC,GAAG,0CAAE,QAAQ,KAAI,QAAQ,CAAC;QACzD,IAAM,cAAc,GAAG,eAAe,CAAC,aAA4B,CAAC;QAEpE,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjD,gBAAgB,CAAC,OAAO;YACvB,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC1E,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC/F,IAAM,oBAAoB,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACtD,IAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,CAAC;QAElD,OAAO;YACN,oBAAoB;gBACnB,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACzE,kBAAkB,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC1F,2CAA2C;YAC3C,IAAI,cAAc,IAAI,WAAW,EAAE;gBAClC,cAAc,CAAC,KAAK,EAAE,CAAC;aACvB;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5D,OAAO,CACN,8BAAC,cAAc;QACd,wCAAM,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,GAAI;QAC5C,uCAAK,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,IAChC,QAAQ,CACJ;QACN,wCAAM,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,GAAI,CAC1B,CACjB,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Tooltip } from '@zextras/carbonio-design-system';
|
|
3
|
+
interface HeaderAction {
|
|
4
|
+
/** id used as key */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Action called on click */
|
|
7
|
+
onClick?: React.ReactEventHandler;
|
|
8
|
+
/** Icon from the theme */
|
|
9
|
+
icon: string;
|
|
10
|
+
/** Label to show as tooltip for the action */
|
|
11
|
+
tooltipLabel?: string;
|
|
12
|
+
tooltipPlacement?: React.ComponentPropsWithRef<typeof Tooltip>['placement'];
|
|
13
|
+
/** Disabled status for the action */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface HeaderProps {
|
|
17
|
+
/** Left Action for the preview */
|
|
18
|
+
closeAction?: HeaderAction;
|
|
19
|
+
/** Actions for the preview */
|
|
20
|
+
actions: HeaderAction[];
|
|
21
|
+
/** Extension of the file, shown as info */
|
|
22
|
+
extension: string;
|
|
23
|
+
/** Name of the file, shown as info */
|
|
24
|
+
filename: string;
|
|
25
|
+
/** Size of the file, shown as info */
|
|
26
|
+
size: string;
|
|
27
|
+
}
|
|
28
|
+
declare const Header: React.VFC<HeaderProps>;
|
|
29
|
+
export default Header;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
/*
|
|
11
|
+
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
|
|
12
|
+
*
|
|
13
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
14
|
+
*/
|
|
15
|
+
var react_1 = __importDefault(require("react"));
|
|
16
|
+
var carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
17
|
+
var map_1 = __importDefault(require("lodash/map"));
|
|
18
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
19
|
+
var HeaderContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding: 16px;\n"], ["\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tpadding: 16px;\n"])));
|
|
20
|
+
var LeftContainer = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tgap: 8px;\n"], ["\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tgap: 8px;\n"])));
|
|
21
|
+
var RightContainer = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tgap: 8px;\n"], ["\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tgap: 8px;\n"])));
|
|
22
|
+
var InfoContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n\twidth: fit-content;\n\t& div {\n\t\tline-height: 1.5;\n\t}\n"], ["\n\twidth: fit-content;\n\t& div {\n\t\tline-height: 1.5;\n\t}\n"])));
|
|
23
|
+
var UpperCaseText = (0, styled_components_1.default)(carbonio_design_system_1.Text)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n\ttext-transform: uppercase;\n"], ["\n\ttext-transform: uppercase;\n"])));
|
|
24
|
+
var Header = function (_a) {
|
|
25
|
+
var closeAction = _a.closeAction, actions = _a.actions, filename = _a.filename, extension = _a.extension, size = _a.size;
|
|
26
|
+
return (react_1.default.createElement(HeaderContainer, null,
|
|
27
|
+
react_1.default.createElement(LeftContainer, null,
|
|
28
|
+
closeAction && (react_1.default.createElement(carbonio_design_system_1.Tooltip, { label: closeAction.tooltipLabel, disabled: !closeAction.tooltipLabel, key: closeAction.id, placement: closeAction.tooltipPlacement },
|
|
29
|
+
react_1.default.createElement(carbonio_design_system_1.IconButton, { onClick: closeAction.onClick, icon: closeAction.icon, size: "medium", backgroundColor: "transparent", iconColor: "gray6" }))),
|
|
30
|
+
react_1.default.createElement(InfoContainer, null,
|
|
31
|
+
react_1.default.createElement(carbonio_design_system_1.Text, { size: "small", color: "gray6" }, filename),
|
|
32
|
+
react_1.default.createElement(UpperCaseText, { size: "small", color: "gray6" },
|
|
33
|
+
extension,
|
|
34
|
+
extension && size && react_1.default.createElement(react_1.default.Fragment, null, " \u00B7 "),
|
|
35
|
+
size))),
|
|
36
|
+
react_1.default.createElement(RightContainer, null, (0, map_1.default)(actions, function (_a) {
|
|
37
|
+
var id = _a.id, onClick = _a.onClick, disabled = _a.disabled, icon = _a.icon, tooltipLabel = _a.tooltipLabel, tooltipPlacement = _a.tooltipPlacement;
|
|
38
|
+
return (react_1.default.createElement(carbonio_design_system_1.Tooltip, { label: tooltipLabel, disabled: !tooltipLabel, key: id, placement: tooltipPlacement },
|
|
39
|
+
react_1.default.createElement(carbonio_design_system_1.IconButton, { onClick: onClick, disabled: disabled, icon: icon, size: "medium", backgroundColor: "transparent", iconColor: "gray6" })));
|
|
40
|
+
}))));
|
|
41
|
+
};
|
|
42
|
+
exports.default = Header;
|
|
43
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
44
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/preview/Header.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;GAIG;AACH,gDAA0B;AAE1B,0EAA4E;AAC5E,mDAA6B;AAC7B,wEAAuC;AAEvC,IAAM,eAAe,GAAG,2BAAM,CAAC,GAAG,8IAAA,2EAIjC,IAAA,CAAC;AAEF,IAAM,aAAa,GAAG,2BAAM,CAAC,GAAG,8JAAA,2FAK/B,IAAA,CAAC;AAEF,IAAM,cAAc,GAAG,2BAAM,CAAC,GAAG,4JAAA,yFAKhC,IAAA,CAAC;AAEF,IAAM,aAAa,GAAG,2BAAM,CAAC,GAAG,qIAAA,kEAK/B,IAAA,CAAC;AAEF,IAAM,aAAa,GAAG,IAAA,2BAAM,EAAC,6BAAI,CAAC,qGAAA,kCAEjC,IAAA,CAAC;AA6BF,IAAM,MAAM,GAA2B,UAAC,EAAmD;QAAjD,WAAW,iBAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,IAAI,UAAA;IAAO,OAAA,CAC/F,8BAAC,eAAe;QACf,8BAAC,aAAa;YACZ,WAAW,IAAI,CACf,8BAAC,gCAAO,IACP,KAAK,EAAE,WAAW,CAAC,YAAY,EAC/B,QAAQ,EAAE,CAAC,WAAW,CAAC,YAAY,EACnC,GAAG,EAAE,WAAW,CAAC,EAAE,EACnB,SAAS,EAAE,WAAW,CAAC,gBAAgB;gBAEvC,8BAAC,mCAAU,IACV,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,IAAI,EAAC,QAAQ,EACb,eAAe,EAAC,aAAa,EAC7B,SAAS,EAAC,OAAO,GAChB,CACO,CACV;YACD,8BAAC,aAAa;gBACb,8BAAC,6BAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,IAC9B,QAAQ,CACH;gBACP,8BAAC,aAAa,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO;oBACvC,SAAS;oBACT,SAAS,IAAI,IAAI,IAAI,yEAAe;oBACpC,IAAI,CACU,CACD,CACD;QAChB,8BAAC,cAAc,QACb,IAAA,aAAG,EAAC,OAAO,EAAE,UAAC,EAA+D;gBAA7D,EAAE,QAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAE,YAAY,kBAAA,EAAE,gBAAgB,sBAAA;YAAO,OAAA,CAClF,8BAAC,gCAAO,IACP,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,YAAY,EACvB,GAAG,EAAE,EAAE,EACP,SAAS,EAAE,gBAAgB;gBAE3B,8BAAC,mCAAU,IACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,QAAQ,EACb,eAAe,EAAC,aAAa,EAC7B,SAAS,EAAC,OAAO,GAChB,CACO,CACV;QAhBkF,CAgBlF,CAAC,CACc,CACA,CAClB;AAlD+F,CAkD/F,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HeaderProps } from './Header';
|
|
3
|
+
declare type ImagePreviewProps = Partial<HeaderProps> & {
|
|
4
|
+
/**
|
|
5
|
+
* HTML node where to insert the Portal's children.
|
|
6
|
+
* The default value is 'window.top.document'.
|
|
7
|
+
* */
|
|
8
|
+
container?: React.RefObject<HTMLElement>;
|
|
9
|
+
/** Flag to disable the Portal implementation */
|
|
10
|
+
disablePortal?: boolean;
|
|
11
|
+
/** Flag to show or hide Portal's content */
|
|
12
|
+
show: boolean;
|
|
13
|
+
/** preview img source */
|
|
14
|
+
src: string;
|
|
15
|
+
/** Callback to hide the preview */
|
|
16
|
+
onClose: (e: React.SyntheticEvent | KeyboardEvent) => void;
|
|
17
|
+
/** Alternative text for image */
|
|
18
|
+
alt?: string;
|
|
19
|
+
};
|
|
20
|
+
declare const ImagePreview: React.ForwardRefExoticComponent<Partial<HeaderProps> & {
|
|
21
|
+
/**
|
|
22
|
+
* HTML node where to insert the Portal's children.
|
|
23
|
+
* The default value is 'window.top.document'.
|
|
24
|
+
* */
|
|
25
|
+
container?: React.RefObject<HTMLElement> | undefined;
|
|
26
|
+
/** Flag to disable the Portal implementation */
|
|
27
|
+
disablePortal?: boolean | undefined;
|
|
28
|
+
/** Flag to show or hide Portal's content */
|
|
29
|
+
show: boolean;
|
|
30
|
+
/** preview img source */
|
|
31
|
+
src: string;
|
|
32
|
+
/** Callback to hide the preview */
|
|
33
|
+
onClose: (e: React.SyntheticEvent | KeyboardEvent) => void;
|
|
34
|
+
/** Alternative text for image */
|
|
35
|
+
alt?: string | undefined;
|
|
36
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
export { ImagePreview, ImagePreviewProps };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.ImagePreview = void 0;
|
|
34
|
+
/*
|
|
35
|
+
* SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com>
|
|
36
|
+
*
|
|
37
|
+
* SPDX-License-Identifier: AGPL-3.0-only
|
|
38
|
+
*/
|
|
39
|
+
var react_1 = __importStar(require("react"));
|
|
40
|
+
var carbonio_design_system_1 = require("@zextras/carbonio-design-system");
|
|
41
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
42
|
+
var FocusWithin_1 = __importDefault(require("./FocusWithin"));
|
|
43
|
+
var Header_1 = __importDefault(require("./Header"));
|
|
44
|
+
var Overlay = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n\theight: 100vh;\n\tmax-height: 100vh;\n\twidth: 100%;\n\tmax-width: 100%;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tbackground-color: rgba(0, 0, 0, 0.8);\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tz-index: 1003;\n"], ["\n\theight: 100vh;\n\tmax-height: 100vh;\n\twidth: 100%;\n\tmax-width: 100%;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tbackground-color: rgba(0, 0, 0, 0.8);\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tz-index: 1003;\n"])));
|
|
45
|
+
var ExternalContainer = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n\theight: 100vh;\n\tmax-height: 100vh;\n\twidth: 100vw;\n\tmax-width: 100vw;\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n"], ["\n\theight: 100vh;\n\tmax-height: 100vh;\n\twidth: 100vw;\n\tmax-width: 100vw;\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n"])));
|
|
46
|
+
var MiddleContainer = (0, styled_components_1.default)(carbonio_design_system_1.Container)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\tflex-grow: 1;\n"], ["\n\tflex-grow: 1;\n"])));
|
|
47
|
+
var Image = styled_components_1.default.img(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n\tmax-height: 100%;\n\tmax-width: 100%;\n\tmin-height: 0;\n\tmin-width: 0;\n\talign-self: center;\n\tfilter: drop-shadow(0px 5px 14px rgba(0, 0, 0, 0.35));\n\tborder-radius: 4px;\n"], ["\n\tmax-height: 100%;\n\tmax-width: 100%;\n\tmin-height: 0;\n\tmin-width: 0;\n\talign-self: center;\n\tfilter: drop-shadow(0px 5px 14px rgba(0, 0, 0, 0.35));\n\tborder-radius: 4px;\n"])));
|
|
48
|
+
var PreviewContainer = styled_components_1.default.div.attrs({
|
|
49
|
+
$paddingVertical: '32px',
|
|
50
|
+
$paddingHorizontal: '16px',
|
|
51
|
+
$gap: '8px'
|
|
52
|
+
})(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n\tdisplay: flex;\n\tmax-width: 100%;\n\tmax-height: calc(100vh - ", " * 2);\n\tflex-direction: column;\n\tgap: ", ";\n\tjustify-content: center;\n\talign-items: center;\n\toverflow: hidden;\n\tpadding: ", ";\n\toutline: none;\n\tflex-grow: 1;\n"], ["\n\tdisplay: flex;\n\tmax-width: 100%;\n\tmax-height: calc(100vh - ", " * 2);\n\tflex-direction: column;\n\tgap: ", ";\n\tjustify-content: center;\n\talign-items: center;\n\toverflow: hidden;\n\tpadding: ", ";\n\toutline: none;\n\tflex-grow: 1;\n"])), function (_a) {
|
|
53
|
+
var $paddingVertical = _a.$paddingVertical;
|
|
54
|
+
return $paddingVertical;
|
|
55
|
+
}, function (_a) {
|
|
56
|
+
var $gap = _a.$gap;
|
|
57
|
+
return $gap;
|
|
58
|
+
}, function (_a) {
|
|
59
|
+
var $paddingVertical = _a.$paddingVertical, $paddingHorizontal = _a.$paddingHorizontal;
|
|
60
|
+
return "".concat($paddingVertical, " ").concat($paddingHorizontal);
|
|
61
|
+
});
|
|
62
|
+
var ImagePreview = react_1.default.forwardRef(function PreviewFn(_a, ref) {
|
|
63
|
+
var src = _a.src, show = _a.show, container = _a.container, disablePortal = _a.disablePortal, _b = _a.extension, extension = _b === void 0 ? '' : _b, _c = _a.filename, filename = _c === void 0 ? '' : _c, _d = _a.size, size = _d === void 0 ? '' : _d, _e = _a.actions, actions = _e === void 0 ? [] : _e, closeAction = _a.closeAction, onClose = _a.onClose, alt = _a.alt;
|
|
64
|
+
var previewRef = (0, carbonio_design_system_1.useCombinedRefs)(ref);
|
|
65
|
+
var imageRef = (0, react_1.useRef)(null);
|
|
66
|
+
var escapeEvent = (0, react_1.useCallback)(function (event) {
|
|
67
|
+
if (event.key === 'Escape') {
|
|
68
|
+
onClose(event);
|
|
69
|
+
}
|
|
70
|
+
}, [onClose]);
|
|
71
|
+
(0, react_1.useEffect)(function () {
|
|
72
|
+
if (show) {
|
|
73
|
+
document.addEventListener('keyup', escapeEvent);
|
|
74
|
+
}
|
|
75
|
+
return function () {
|
|
76
|
+
document.removeEventListener('keyup', escapeEvent);
|
|
77
|
+
};
|
|
78
|
+
}, [escapeEvent, show]);
|
|
79
|
+
var onOverlayClick = (0, react_1.useCallback)(function (event) {
|
|
80
|
+
// TODO: stop propagation or not?
|
|
81
|
+
event.stopPropagation();
|
|
82
|
+
previewRef.current &&
|
|
83
|
+
!event.isDefaultPrevented() &&
|
|
84
|
+
(previewRef.current === event.target ||
|
|
85
|
+
!previewRef.current.contains(event.target)) &&
|
|
86
|
+
onClose(event);
|
|
87
|
+
}, [onClose, previewRef]);
|
|
88
|
+
return (react_1.default.createElement(carbonio_design_system_1.Portal, { show: show, disablePortal: disablePortal, container: container },
|
|
89
|
+
react_1.default.createElement(Overlay, { onClick: onOverlayClick },
|
|
90
|
+
react_1.default.createElement(FocusWithin_1.default, null,
|
|
91
|
+
react_1.default.createElement(ExternalContainer, null,
|
|
92
|
+
react_1.default.createElement(Header_1.default, { actions: actions, filename: filename, extension: extension, size: size, closeAction: closeAction }),
|
|
93
|
+
react_1.default.createElement(MiddleContainer, { orientation: "horizontal", crossAlignment: "unset", minHeight: 0 },
|
|
94
|
+
react_1.default.createElement(PreviewContainer, { ref: previewRef },
|
|
95
|
+
react_1.default.createElement(Image, { alt: alt !== null && alt !== void 0 ? alt : filename, src: src, onError: function () { return console.log('TODO handle error'); }, ref: imageRef }))))))));
|
|
96
|
+
});
|
|
97
|
+
exports.ImagePreview = ImagePreview;
|
|
98
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
99
|
+
//# sourceMappingURL=ImagePreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePreview.js","sourceRoot":"","sources":["../../src/preview/ImagePreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HeaderProps } from './Header';
|
|
3
|
+
import { PreviewCriteriaAlternativeContentProps } from './PreviewCriteriaAlternativeContent';
|
|
4
|
+
declare type PdfPreviewProps = Partial<HeaderProps> & {
|
|
5
|
+
/**
|
|
6
|
+
* HTML node where to insert the Portal's children.
|
|
7
|
+
* The default value is 'window.top.document'.
|
|
8
|
+
* */
|
|
9
|
+
container?: React.RefObject<HTMLElement>;
|
|
10
|
+
/** Flag to disable the Portal implementation */
|
|
11
|
+
disablePortal?: boolean;
|
|
12
|
+
/** Flag to show or hide Portal's content */
|
|
13
|
+
show: boolean;
|
|
14
|
+
/** preview img source */
|
|
15
|
+
src: string;
|
|
16
|
+
/** Callback to hide the preview */
|
|
17
|
+
onClose: (e: React.SyntheticEvent | KeyboardEvent) => void;
|
|
18
|
+
/** use fallback content if you don't want to view the pdf for some reason; content can be customizable with customContent */
|
|
19
|
+
useFallback?: boolean;
|
|
20
|
+
/** CustomContent */
|
|
21
|
+
customContent?: React.ReactElement;
|
|
22
|
+
/** Whether a text layer should be rendered */
|
|
23
|
+
renderTextLayer?: boolean;
|
|
24
|
+
zoomOutLabel?: string;
|
|
25
|
+
lowerLimitReachedLabel?: string;
|
|
26
|
+
resetZoomLabel?: string;
|
|
27
|
+
fitToWidthLabel?: string;
|
|
28
|
+
zoomInLabel?: string;
|
|
29
|
+
upperLimitReachedLabel?: string;
|
|
30
|
+
} & Omit<PreviewCriteriaAlternativeContentProps, 'downloadSrc'>;
|
|
31
|
+
declare const PdfPreview: React.ForwardRefExoticComponent<Partial<HeaderProps> & {
|
|
32
|
+
/**
|
|
33
|
+
* HTML node where to insert the Portal's children.
|
|
34
|
+
* The default value is 'window.top.document'.
|
|
35
|
+
* */
|
|
36
|
+
container?: React.RefObject<HTMLElement> | undefined;
|
|
37
|
+
/** Flag to disable the Portal implementation */
|
|
38
|
+
disablePortal?: boolean | undefined;
|
|
39
|
+
/** Flag to show or hide Portal's content */
|
|
40
|
+
show: boolean;
|
|
41
|
+
/** preview img source */
|
|
42
|
+
src: string;
|
|
43
|
+
/** Callback to hide the preview */
|
|
44
|
+
onClose: (e: React.SyntheticEvent | KeyboardEvent) => void;
|
|
45
|
+
/** use fallback content if you don't want to view the pdf for some reason; content can be customizable with customContent */
|
|
46
|
+
useFallback?: boolean | undefined;
|
|
47
|
+
/** CustomContent */
|
|
48
|
+
customContent?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
49
|
+
/** Whether a text layer should be rendered */
|
|
50
|
+
renderTextLayer?: boolean | undefined;
|
|
51
|
+
zoomOutLabel?: string | undefined;
|
|
52
|
+
lowerLimitReachedLabel?: string | undefined;
|
|
53
|
+
resetZoomLabel?: string | undefined;
|
|
54
|
+
fitToWidthLabel?: string | undefined;
|
|
55
|
+
zoomInLabel?: string | undefined;
|
|
56
|
+
upperLimitReachedLabel?: string | undefined;
|
|
57
|
+
} & Omit<PreviewCriteriaAlternativeContentProps, "downloadSrc"> & React.RefAttributes<HTMLDivElement>>;
|
|
58
|
+
export { PdfPreview, PdfPreviewProps };
|