cozy-viewer 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/LICENSE +21 -0
  3. package/Readme.md +44 -0
  4. package/babel.config.js +23 -0
  5. package/dist/Footer/BottomSheetContent.d.ts +12 -0
  6. package/dist/Footer/BottomSheetContent.js +45 -0
  7. package/dist/Footer/DownloadButton.d.ts +16 -0
  8. package/dist/Footer/DownloadButton.js +113 -0
  9. package/dist/Footer/FooterActionButtons.d.ts +13 -0
  10. package/dist/Footer/FooterActionButtons.js +33 -0
  11. package/dist/Footer/FooterActionButtons.spec.d.ts +1 -0
  12. package/dist/Footer/FooterContent.d.ts +16 -0
  13. package/dist/Footer/FooterContent.js +120 -0
  14. package/dist/Footer/ForwardButton.d.ts +20 -0
  15. package/dist/Footer/ForwardButton.js +177 -0
  16. package/dist/Footer/ForwardButton.spec.d.ts +1 -0
  17. package/dist/Footer/ForwardOrDownloadButton.d.ts +11 -0
  18. package/dist/Footer/ForwardOrDownloadButton.js +42 -0
  19. package/dist/Footer/Sharing.d.ts +16 -0
  20. package/dist/Footer/Sharing.js +79 -0
  21. package/dist/Footer/helpers.d.ts +8 -0
  22. package/dist/Footer/helpers.js +179 -0
  23. package/dist/Footer/helpers.spec.d.ts +1 -0
  24. package/dist/NoViewer/DownloadButton.d.ts +2 -0
  25. package/dist/NoViewer/DownloadButton.js +52 -0
  26. package/dist/NoViewer/FileIcon.d.ts +4 -0
  27. package/dist/NoViewer/FileIcon.js +76 -0
  28. package/dist/NoViewer/NoViewer.d.ts +18 -0
  29. package/dist/NoViewer/NoViewer.js +64 -0
  30. package/dist/NoViewer/NoViewer.spec.d.ts +1 -0
  31. package/dist/NoViewer/index.d.ts +1 -0
  32. package/dist/NoViewer/index.js +15 -0
  33. package/dist/Panel/ActionMenuDesktop.d.ts +3 -0
  34. package/dist/Panel/ActionMenuDesktop.js +91 -0
  35. package/dist/Panel/ActionMenuMobile.d.ts +20 -0
  36. package/dist/Panel/ActionMenuMobile.js +95 -0
  37. package/dist/Panel/ActionMenuWrapper.d.ts +3 -0
  38. package/dist/Panel/ActionMenuWrapper.js +155 -0
  39. package/dist/Panel/Certifications.d.ts +2 -0
  40. package/dist/Panel/Certifications.js +80 -0
  41. package/dist/Panel/PanelContent.d.ts +2 -0
  42. package/dist/Panel/PanelContent.js +71 -0
  43. package/dist/Panel/Qualification.d.ts +2 -0
  44. package/dist/Panel/Qualification.js +148 -0
  45. package/dist/Panel/QualificationListItemContact.d.ts +10 -0
  46. package/dist/Panel/QualificationListItemContact.js +123 -0
  47. package/dist/Panel/QualificationListItemDate.d.ts +3 -0
  48. package/dist/Panel/QualificationListItemDate.js +90 -0
  49. package/dist/Panel/QualificationListItemInformation.d.ts +3 -0
  50. package/dist/Panel/QualificationListItemInformation.js +84 -0
  51. package/dist/Panel/QualificationListItemInformation.spec.d.ts +1 -0
  52. package/dist/Panel/QualificationListItemOther.d.ts +3 -0
  53. package/dist/Panel/QualificationListItemOther.js +78 -0
  54. package/dist/Panel/QualificationListItemText.d.ts +13 -0
  55. package/dist/Panel/QualificationListItemText.js +42 -0
  56. package/dist/Panel/getPanelBlocks.d.ts +26 -0
  57. package/dist/Panel/getPanelBlocks.js +79 -0
  58. package/dist/Panel/getPanelBlocks.spec.d.ts +1 -0
  59. package/dist/Viewer.d.ts +39 -0
  60. package/dist/Viewer.js +191 -0
  61. package/dist/ViewerContainer.d.ts +22 -0
  62. package/dist/ViewerContainer.js +221 -0
  63. package/dist/ViewerExposer.d.ts +2 -0
  64. package/dist/ViewerExposer.js +13 -0
  65. package/dist/ViewerInformationsWrapper.d.ts +20 -0
  66. package/dist/ViewerInformationsWrapper.js +68 -0
  67. package/dist/ViewerInformationsWrapper.spec.d.ts +1 -0
  68. package/dist/ViewerWithCustomPanelAndFooter.d.ts +2 -0
  69. package/dist/ViewerWithCustomPanelAndFooter.js +78 -0
  70. package/dist/ViewersByFile/AudioViewer.d.ts +74 -0
  71. package/dist/ViewersByFile/AudioViewer.js +57 -0
  72. package/dist/ViewersByFile/AudioViewer.spec.d.ts +1 -0
  73. package/dist/ViewersByFile/BlankPaperViewer.d.ts +2 -0
  74. package/dist/ViewersByFile/BlankPaperViewer.js +97 -0
  75. package/dist/ViewersByFile/ImageViewer.d.ts +31 -0
  76. package/dist/ViewersByFile/ImageViewer.js +385 -0
  77. package/dist/ViewersByFile/ImageViewer.spec.d.ts +1 -0
  78. package/dist/ViewersByFile/NoNetworkViewer.d.ts +2 -0
  79. package/dist/ViewersByFile/NoNetworkViewer.js +54 -0
  80. package/dist/ViewersByFile/OnlyOfficeViewer.d.ts +2 -0
  81. package/dist/ViewersByFile/OnlyOfficeViewer.js +46 -0
  82. package/dist/ViewersByFile/PdfJsViewer.d.ts +31 -0
  83. package/dist/ViewersByFile/PdfJsViewer.js +283 -0
  84. package/dist/ViewersByFile/PdfJsViewer.spec.d.ts +1 -0
  85. package/dist/ViewersByFile/PdfMobileViewer.d.ts +4 -0
  86. package/dist/ViewersByFile/PdfMobileViewer.js +185 -0
  87. package/dist/ViewersByFile/PdfMobileViewer.spec.d.ts +1 -0
  88. package/dist/ViewersByFile/ShortcutViewer.d.ts +2 -0
  89. package/dist/ViewersByFile/ShortcutViewer.js +61 -0
  90. package/dist/ViewersByFile/ShortcutViewer.spec.d.ts +4 -0
  91. package/dist/ViewersByFile/TextViewer.d.ts +90 -0
  92. package/dist/ViewersByFile/TextViewer.js +250 -0
  93. package/dist/ViewersByFile/TextViewer.spec.d.ts +1 -0
  94. package/dist/ViewersByFile/VideoViewer.d.ts +74 -0
  95. package/dist/ViewersByFile/VideoViewer.js +46 -0
  96. package/dist/ViewersByFile/VideoViewer.spec.d.ts +1 -0
  97. package/dist/assets/IlluGenericNewPage.svg +10 -0
  98. package/dist/components/ExpirationAlert.d.ts +2 -0
  99. package/dist/components/ExpirationAlert.js +129 -0
  100. package/dist/components/ExpirationAnnotation.d.ts +10 -0
  101. package/dist/components/ExpirationAnnotation.js +56 -0
  102. package/dist/components/Footer.d.ts +4 -0
  103. package/dist/components/Footer.js +41 -0
  104. package/dist/components/InformationPanel.d.ts +12 -0
  105. package/dist/components/InformationPanel.js +36 -0
  106. package/dist/components/Navigation.d.ts +18 -0
  107. package/dist/components/Navigation.js +63 -0
  108. package/dist/components/PdfToolbarButton.d.ts +16 -0
  109. package/dist/components/PdfToolbarButton.js +40 -0
  110. package/dist/components/PrintButton.d.ts +16 -0
  111. package/dist/components/PrintButton.js +163 -0
  112. package/dist/components/Toolbar.d.ts +2 -0
  113. package/dist/components/Toolbar.js +146 -0
  114. package/dist/components/ToolbarButtons.d.ts +5 -0
  115. package/dist/components/ToolbarButtons.js +20 -0
  116. package/dist/components/ToolbarFilePath.d.ts +3 -0
  117. package/dist/components/ToolbarFilePath.js +92 -0
  118. package/dist/components/ViewerByFile.d.ts +7 -0
  119. package/dist/components/ViewerByFile.js +137 -0
  120. package/dist/components/ViewerByFile.spec.d.ts +1 -0
  121. package/dist/components/ViewerControls.d.ts +9 -0
  122. package/dist/components/ViewerControls.js +251 -0
  123. package/dist/components/ViewerControls.spec.d.ts +1 -0
  124. package/dist/components/ViewerSpinner.d.ts +2 -0
  125. package/dist/components/ViewerSpinner.js +31 -0
  126. package/dist/docs/DemoProvider.d.ts +6 -0
  127. package/dist/docs/DemoProvider.js +159 -0
  128. package/dist/helpers.d.ts +37 -0
  129. package/dist/helpers.js +190 -0
  130. package/dist/helpers.spec.d.ts +1 -0
  131. package/dist/hoc/withFileUrl.d.ts +75 -0
  132. package/dist/hoc/withFileUrl.js +231 -0
  133. package/dist/hoc/withViewerLocales.d.ts +1 -0
  134. package/dist/hoc/withViewerLocales.js +15 -0
  135. package/dist/hooks/useReferencedContactName.d.ts +5 -0
  136. package/dist/hooks/useReferencedContactName.js +45 -0
  137. package/dist/index.d.ts +10 -0
  138. package/dist/index.js +75 -0
  139. package/dist/locales/index.d.ts +6 -0
  140. package/dist/locales/index.js +18 -0
  141. package/dist/proptypes.d.ts +7 -0
  142. package/dist/proptypes.js +25 -0
  143. package/dist/providers/ActionMenuProvider.d.ts +13 -0
  144. package/dist/providers/ActionMenuProvider.js +47 -0
  145. package/dist/providers/EncryptedProvider.d.ts +8 -0
  146. package/dist/providers/EncryptedProvider.js +43 -0
  147. package/dist/queries.d.ts +15 -0
  148. package/dist/queries.js +40 -0
  149. package/dist/stylesheet.css +218 -0
  150. package/jest.config.js +23 -0
  151. package/package.json +62 -0
  152. package/preprocess.js +16 -0
  153. package/src/Footer/BottomSheetContent.jsx +30 -0
  154. package/src/Footer/DownloadButton.jsx +66 -0
  155. package/src/Footer/FooterActionButtons.jsx +22 -0
  156. package/src/Footer/FooterActionButtons.spec.jsx +30 -0
  157. package/src/Footer/FooterContent.jsx +102 -0
  158. package/src/Footer/ForwardButton.jsx +95 -0
  159. package/src/Footer/ForwardButton.spec.jsx +87 -0
  160. package/src/Footer/ForwardOrDownloadButton.jsx +24 -0
  161. package/src/Footer/Sharing.jsx +59 -0
  162. package/src/Footer/helpers.js +106 -0
  163. package/src/Footer/helpers.spec.js +77 -0
  164. package/src/NoViewer/DownloadButton.jsx +28 -0
  165. package/src/NoViewer/FileIcon.jsx +46 -0
  166. package/src/NoViewer/NoViewer.jsx +30 -0
  167. package/src/NoViewer/NoViewer.spec.jsx +44 -0
  168. package/src/NoViewer/__snapshots__/NoViewer.spec.jsx.snap +82 -0
  169. package/src/NoViewer/index.jsx +1 -0
  170. package/src/Panel/ActionMenuDesktop.jsx +69 -0
  171. package/src/Panel/ActionMenuMobile.jsx +76 -0
  172. package/src/Panel/ActionMenuWrapper.jsx +104 -0
  173. package/src/Panel/Certifications.jsx +63 -0
  174. package/src/Panel/PanelContent.jsx +50 -0
  175. package/src/Panel/Qualification.jsx +114 -0
  176. package/src/Panel/QualificationListItemContact.jsx +85 -0
  177. package/src/Panel/QualificationListItemDate.jsx +78 -0
  178. package/src/Panel/QualificationListItemInformation.jsx +68 -0
  179. package/src/Panel/QualificationListItemInformation.spec.jsx +73 -0
  180. package/src/Panel/QualificationListItemOther.jsx +61 -0
  181. package/src/Panel/QualificationListItemText.jsx +30 -0
  182. package/src/Panel/getPanelBlocks.jsx +56 -0
  183. package/src/Panel/getPanelBlocks.spec.jsx +79 -0
  184. package/src/Panel/styles.styl +13 -0
  185. package/src/Readme.md +352 -0
  186. package/src/Viewer.jsx +135 -0
  187. package/src/ViewerContainer.jsx +170 -0
  188. package/src/ViewerExposer.js +3 -0
  189. package/src/ViewerInformationsWrapper.jsx +70 -0
  190. package/src/ViewerInformationsWrapper.spec.jsx +63 -0
  191. package/src/ViewerWithCustomPanelAndFooter.jsx +57 -0
  192. package/src/ViewersByFile/AudioViewer.jsx +22 -0
  193. package/src/ViewersByFile/AudioViewer.spec.jsx +40 -0
  194. package/src/ViewersByFile/BlankPaperViewer.jsx +47 -0
  195. package/src/ViewersByFile/ImageViewer.jsx +331 -0
  196. package/src/ViewersByFile/ImageViewer.spec.jsx +73 -0
  197. package/src/ViewersByFile/NoNetworkViewer.jsx +18 -0
  198. package/src/ViewersByFile/OnlyOfficeViewer.jsx +29 -0
  199. package/src/ViewersByFile/PdfJsViewer.jsx +210 -0
  200. package/src/ViewersByFile/PdfJsViewer.spec.jsx +161 -0
  201. package/src/ViewersByFile/PdfMobileViewer.jsx +106 -0
  202. package/src/ViewersByFile/PdfMobileViewer.spec.jsx +76 -0
  203. package/src/ViewersByFile/ShortcutViewer.jsx +38 -0
  204. package/src/ViewersByFile/ShortcutViewer.spec.jsx +32 -0
  205. package/src/ViewersByFile/TextViewer.jsx +126 -0
  206. package/src/ViewersByFile/TextViewer.spec.jsx +118 -0
  207. package/src/ViewersByFile/VideoViewer.jsx +13 -0
  208. package/src/ViewersByFile/VideoViewer.spec.jsx +40 -0
  209. package/src/ViewersByFile/__snapshots__/AudioViewer.spec.jsx.snap +43 -0
  210. package/src/ViewersByFile/__snapshots__/ShortcutViewer.spec.jsx.snap +57 -0
  211. package/src/ViewersByFile/__snapshots__/TextViewer.spec.jsx.snap +100 -0
  212. package/src/ViewersByFile/__snapshots__/VideoViewer.spec.jsx.snap +19 -0
  213. package/src/ViewersByFile/styles.styl +87 -0
  214. package/src/assets/IlluGenericNewPage.svg +10 -0
  215. package/src/components/ExpirationAlert.jsx +86 -0
  216. package/src/components/ExpirationAnnotation.jsx +39 -0
  217. package/src/components/Footer.jsx +14 -0
  218. package/src/components/InformationPanel.jsx +26 -0
  219. package/src/components/Navigation.jsx +40 -0
  220. package/src/components/PdfToolbarButton.jsx +26 -0
  221. package/src/components/PrintButton.jsx +89 -0
  222. package/src/components/Toolbar.jsx +111 -0
  223. package/src/components/ToolbarButtons.jsx +11 -0
  224. package/src/components/ToolbarFilePath.jsx +61 -0
  225. package/src/components/ViewerByFile.jsx +112 -0
  226. package/src/components/ViewerByFile.spec.jsx +100 -0
  227. package/src/components/ViewerControls.jsx +191 -0
  228. package/src/components/ViewerControls.spec.jsx +54 -0
  229. package/src/components/ViewerSpinner.jsx +17 -0
  230. package/src/components/styles.styl +93 -0
  231. package/src/docs/DemoProvider.jsx +90 -0
  232. package/src/helpers.js +131 -0
  233. package/src/helpers.spec.js +136 -0
  234. package/src/hoc/withFileUrl.jsx +93 -0
  235. package/src/hoc/withViewerLocales.jsx +5 -0
  236. package/src/hooks/useReferencedContactName.jsx +26 -0
  237. package/src/index.jsx +12 -0
  238. package/src/locales/en.json +66 -0
  239. package/src/locales/fr.json +66 -0
  240. package/src/locales/index.js +4 -0
  241. package/src/proptypes.js +12 -0
  242. package/src/providers/ActionMenuProvider.jsx +35 -0
  243. package/src/providers/EncryptedProvider.jsx +25 -0
  244. package/src/queries.js +20 -0
  245. package/src/styles.styl +22 -0
  246. package/src/vars.styl +6 -0
  247. package/test/__mocks__/fileMock.js +3 -0
  248. package/test/jestLib/setup.js +5 -0
  249. package/tsconfig-build.json +13 -0
  250. package/tsconfig.json +34 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ export default ForwardOrDownloadButton;
2
+ declare function ForwardOrDownloadButton({ file, ...props }: {
3
+ [x: string]: any;
4
+ file: any;
5
+ }): JSX.Element;
6
+ declare namespace ForwardOrDownloadButton {
7
+ namespace propTypes {
8
+ const file: PropTypes.Requireable<object>;
9
+ }
10
+ }
11
+ import PropTypes from "prop-types";
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _cozyClient = require("cozy-client");
19
+
20
+ var _DownloadButton = _interopRequireDefault(require("./DownloadButton"));
21
+
22
+ var _ForwardButton = _interopRequireDefault(require("./ForwardButton"));
23
+
24
+ var _helpers = require("./helpers");
25
+
26
+ var _excluded = ["file"];
27
+
28
+ var ForwardOrDownloadButton = function ForwardOrDownloadButton(_ref) {
29
+ var file = _ref.file,
30
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
+ var client = (0, _cozyClient.useClient)();
32
+ var FileActionButton = (0, _helpers.shouldBeForwardButton)(client) ? _ForwardButton.default : _DownloadButton.default;
33
+ return /*#__PURE__*/_react.default.createElement(FileActionButton, (0, _extends2.default)({
34
+ file: file
35
+ }, props));
36
+ };
37
+
38
+ ForwardOrDownloadButton.propTypes = {
39
+ file: _propTypes.default.object
40
+ };
41
+ var _default = ForwardOrDownloadButton;
42
+ exports.default = _default;
@@ -0,0 +1,16 @@
1
+ export default Sharing;
2
+ declare function Sharing({ file, variant }: {
3
+ file: any;
4
+ variant: any;
5
+ }): JSX.Element;
6
+ declare namespace Sharing {
7
+ namespace propTypes {
8
+ const file: PropTypes.Requireable<object>;
9
+ const variant: PropTypes.Requireable<string>;
10
+ }
11
+ namespace defaultProptypes {
12
+ const variant_1: string;
13
+ export { variant_1 as variant };
14
+ }
15
+ }
16
+ import PropTypes from "prop-types";
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _cozyClient = require("cozy-client");
17
+
18
+ var _cozySharing = require("cozy-sharing");
19
+
20
+ var _SharingProvider = require("cozy-sharing/dist/SharingProvider");
21
+
22
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
23
+
24
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
25
+
26
+ var _Share = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Share"));
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ var Sharing = function Sharing(_ref) {
33
+ var file = _ref.file,
34
+ variant = _ref.variant;
35
+ var client = (0, _cozyClient.useClient)();
36
+
37
+ var _useState = (0, _react.useState)(false),
38
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
39
+ showShareModal = _useState2[0],
40
+ setShowShareModal = _useState2[1];
41
+
42
+ var SharingButton = variant === 'iconButton' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
43
+ className: "u-white",
44
+ onClick: function onClick() {
45
+ return setShowShareModal(true);
46
+ }
47
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
48
+ icon: _Share.default
49
+ })) : /*#__PURE__*/_react.default.createElement(_cozySharing.ShareButton, {
50
+ fullWidth: true,
51
+ useShortLabel: true,
52
+ docId: file.id,
53
+ onClick: function onClick() {
54
+ return setShowShareModal(true);
55
+ }
56
+ });
57
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_SharingProvider.SharingProvider, {
58
+ client: client,
59
+ doctype: "io.cozy.files",
60
+ documentType: "Files"
61
+ }, showShareModal && /*#__PURE__*/_react.default.createElement(_cozySharing.ShareModal, {
62
+ document: file,
63
+ documentType: "Files",
64
+ sharingDesc: file.name,
65
+ onClose: function onClose() {
66
+ return setShowShareModal(false);
67
+ }
68
+ }), SharingButton));
69
+ };
70
+
71
+ Sharing.propTypes = {
72
+ file: _propTypes.default.object,
73
+ variant: _propTypes.default.oneOf(['default', 'iconButton'])
74
+ };
75
+ Sharing.defaultProptypes = {
76
+ variant: 'default'
77
+ };
78
+ var _default = Sharing;
79
+ exports.default = _default;
@@ -0,0 +1,8 @@
1
+ export function shouldBeForwardButton(client: any): boolean;
2
+ export function exportFilesNative(client: CozyClient, files: array, filename: string): Promise<void>;
3
+ export function mapToAllChildren(children: any, cb: any): any;
4
+ export function extractChildrenCompByName({ children, file, name }: {
5
+ children: any;
6
+ file: any;
7
+ name: any;
8
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.shouldBeForwardButton = exports.mapToAllChildren = exports.extractChildrenCompByName = exports.exportFilesNative = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _react = require("react");
15
+
16
+ var _fsnative = require("cozy-client/dist/models/fsnative");
17
+
18
+ var _cozyDeviceHelper = require("cozy-device-helper");
19
+
20
+ var _Alerter = _interopRequireDefault(require("cozy-ui/transpiled/react/deprecated/Alerter"));
21
+
22
+ var shouldBeForwardButton = function shouldBeForwardButton(client) {
23
+ var _client$appMetadata;
24
+
25
+ var isDrive = (client === null || client === void 0 ? void 0 : (_client$appMetadata = client.appMetadata) === null || _client$appMetadata === void 0 ? void 0 : _client$appMetadata.slug) === 'drive';
26
+ if ((0, _cozyDeviceHelper.isMobileApp)() || navigator.share && !isDrive) return true;
27
+ return false;
28
+ };
29
+
30
+ exports.shouldBeForwardButton = shouldBeForwardButton;
31
+
32
+ var isMissingFileError = function isMissingFileError(error) {
33
+ return error.status === 404;
34
+ };
35
+
36
+ var downloadFileError = function downloadFileError(error) {
37
+ return isMissingFileError(error) ? 'Viewer.error.downloadFile.missing' : 'Viewer.error.missing';
38
+ };
39
+ /**
40
+ * exportFilesNative - Triggers a prompt to download a file on mobile devices
41
+ *
42
+ * @param {CozyClient} client
43
+ * @param {array} files One or more files to download
44
+ * @param {string} filename The name of the file that will be saved
45
+ */
46
+
47
+
48
+ var exportFilesNative = /*#__PURE__*/function () {
49
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(client, files, filename) {
50
+ var downloadAllFiles, urls;
51
+ return _regenerator.default.wrap(function _callee2$(_context2) {
52
+ while (1) {
53
+ switch (_context2.prev = _context2.next) {
54
+ case 0:
55
+ downloadAllFiles = files.map( /*#__PURE__*/function () {
56
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file) {
57
+ var response, blob, filenameToUse, localFile;
58
+ return _regenerator.default.wrap(function _callee$(_context) {
59
+ while (1) {
60
+ switch (_context.prev = _context.next) {
61
+ case 0:
62
+ _context.next = 2;
63
+ return client.collection('io.cozy.files').fetchFileContentById(file.id);
64
+
65
+ case 2:
66
+ response = _context.sent;
67
+ _context.next = 5;
68
+ return response.blob();
69
+
70
+ case 5:
71
+ blob = _context.sent;
72
+ filenameToUse = filename ? filename : file.name;
73
+ _context.next = 9;
74
+ return (0, _fsnative.saveFileWithCordova)(blob, filenameToUse);
75
+
76
+ case 9:
77
+ localFile = _context.sent;
78
+ return _context.abrupt("return", localFile.nativeURL);
79
+
80
+ case 11:
81
+ case "end":
82
+ return _context.stop();
83
+ }
84
+ }
85
+ }, _callee);
86
+ }));
87
+
88
+ return function (_x4) {
89
+ return _ref2.apply(this, arguments);
90
+ };
91
+ }());
92
+ _context2.prev = 1;
93
+
94
+ _Alerter.default.info('Viewer.alert.preparing', {
95
+ duration: Math.min(downloadAllFiles.length * 2000, 6000)
96
+ });
97
+
98
+ _context2.next = 5;
99
+ return Promise.all(downloadAllFiles);
100
+
101
+ case 5:
102
+ urls = _context2.sent;
103
+
104
+ if (urls.length === 1 && (0, _cozyDeviceHelper.isIOS)()) {
105
+ // TODO
106
+ // It seems that files: is not well supported on iOS. url seems to work well
107
+ // at with one file. Need to check when severals
108
+ window.plugins.socialsharing.shareWithOptions({
109
+ url: urls[0]
110
+ }, function (result) {
111
+ if (result.completed === true) {
112
+ _Alerter.default.success('Viewer.share.success');
113
+ }
114
+ }, function (error) {
115
+ throw error;
116
+ });
117
+ } else {
118
+ window.plugins.socialsharing.shareWithOptions({
119
+ files: urls
120
+ }, null, function (error) {
121
+ throw error;
122
+ });
123
+ }
124
+
125
+ _context2.next = 12;
126
+ break;
127
+
128
+ case 9:
129
+ _context2.prev = 9;
130
+ _context2.t0 = _context2["catch"](1);
131
+
132
+ _Alerter.default.error(downloadFileError(_context2.t0));
133
+
134
+ case 12:
135
+ case "end":
136
+ return _context2.stop();
137
+ }
138
+ }
139
+ }, _callee2, null, [[1, 9]]);
140
+ }));
141
+
142
+ return function exportFilesNative(_x, _x2, _x3) {
143
+ return _ref.apply(this, arguments);
144
+ };
145
+ }();
146
+
147
+ exports.exportFilesNative = exportFilesNative;
148
+
149
+ var mapToAllChildren = function mapToAllChildren(children, cb) {
150
+ return _react.Children.map(children, function (child) {
151
+ if (! /*#__PURE__*/(0, _react.isValidElement)(child)) return child;
152
+ var grandchildren = child.props.children;
153
+
154
+ if (grandchildren) {
155
+ return /*#__PURE__*/(0, _react.cloneElement)(child, {
156
+ children: mapToAllChildren(grandchildren, cb)
157
+ });
158
+ }
159
+
160
+ return cb(child);
161
+ });
162
+ };
163
+
164
+ exports.mapToAllChildren = mapToAllChildren;
165
+
166
+ var extractChildrenCompByName = function extractChildrenCompByName(_ref3) {
167
+ var children = _ref3.children,
168
+ file = _ref3.file,
169
+ name = _ref3.name;
170
+ var ChildrenComp = _react.Children.toArray(children).find(function (child) {
171
+ return child.type.name === name || child.type.displayName === name;
172
+ }) || null;
173
+ var ChildrenCompWithFile = /*#__PURE__*/(0, _react.isValidElement)(ChildrenComp) ? /*#__PURE__*/(0, _react.cloneElement)(ChildrenComp, {
174
+ file: file
175
+ }) : null;
176
+ return ChildrenCompWithFile;
177
+ };
178
+
179
+ exports.extractChildrenCompByName = extractChildrenCompByName;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare var _default: Function;
2
+ export default _default;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _cozyClient = require("cozy-client");
15
+
16
+ var _Button = _interopRequireDefault(require("cozy-ui/transpiled/react/deprecated/Button"));
17
+
18
+ var _proptypes = require("cozy-ui/transpiled/react/proptypes");
19
+
20
+ var _I18n = require("cozy-ui/transpiled/react/providers/I18n");
21
+
22
+ var _helpers = require("../helpers");
23
+
24
+ var DownloadButton = function DownloadButton(_ref) {
25
+ var client = _ref.client,
26
+ file = _ref.file,
27
+ url = _ref.url;
28
+
29
+ var _useI18n = (0, _I18n.useI18n)(),
30
+ t = _useI18n.t;
31
+
32
+ return /*#__PURE__*/_react.default.createElement(_Button.default, {
33
+ onClick: function onClick() {
34
+ return (0, _helpers.downloadFile)({
35
+ client: client,
36
+ file: file,
37
+ url: url
38
+ });
39
+ },
40
+ label: t('Viewer.download')
41
+ });
42
+ };
43
+
44
+ DownloadButton.propTypes = {
45
+ client: _propTypes.default.object.isRequired,
46
+ file: _proptypes.FileDoctype,
47
+ url: _propTypes.default.string
48
+ };
49
+
50
+ var _default = (0, _cozyClient.withClient)(DownloadButton);
51
+
52
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ export default FileIcon;
2
+ declare function FileIcon({ type }: {
3
+ type: any;
4
+ }): JSX.Element;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
13
+
14
+ var _FileTypeBin = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeBin"));
15
+
16
+ var _FileTypeCode = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeCode"));
17
+
18
+ var _FileTypeFiles = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeFiles"));
19
+
20
+ var _FileTypePdf = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypePdf"));
21
+
22
+ var _FileTypeSheet = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeSheet"));
23
+
24
+ var _FileTypeSlide = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeSlide"));
25
+
26
+ var _FileTypeText = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeText"));
27
+
28
+ var _FileTypeZip = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FileTypeZip"));
29
+
30
+ var FileIcon = function FileIcon(_ref) {
31
+ var type = _ref.type;
32
+ var icon;
33
+
34
+ switch (type) {
35
+ case 'bin':
36
+ icon = _FileTypeBin.default;
37
+ break;
38
+
39
+ case 'code':
40
+ icon = _FileTypeCode.default;
41
+ break;
42
+
43
+ case 'spreadsheet':
44
+ icon = _FileTypeSheet.default;
45
+ break;
46
+
47
+ case 'slide':
48
+ icon = _FileTypeSlide.default;
49
+ break;
50
+
51
+ case 'text':
52
+ icon = _FileTypeText.default;
53
+ break;
54
+
55
+ case 'zip':
56
+ icon = _FileTypeZip.default;
57
+ break;
58
+
59
+ case 'pdf':
60
+ icon = _FileTypePdf.default;
61
+ break;
62
+
63
+ default:
64
+ icon = _FileTypeFiles.default;
65
+ break;
66
+ }
67
+
68
+ return /*#__PURE__*/_react.default.createElement(_Icon.default, {
69
+ icon: icon,
70
+ width: 160,
71
+ height: 140
72
+ });
73
+ };
74
+
75
+ var _default = FileIcon;
76
+ exports.default = _default;
@@ -0,0 +1,18 @@
1
+ export default NoViewer;
2
+ declare function NoViewer({ file, url, renderFallbackExtraContent }: {
3
+ file: any;
4
+ url: any;
5
+ renderFallbackExtraContent: any;
6
+ }): JSX.Element;
7
+ declare namespace NoViewer {
8
+ namespace propTypes {
9
+ const file: any;
10
+ const renderFallbackExtraContent: PropTypes.Requireable<(...args: any[]) => any>;
11
+ const url: PropTypes.Requireable<string>;
12
+ }
13
+ namespace defaultProps {
14
+ export function renderFallbackExtraContent_1(file: any, url: any): JSX.Element;
15
+ export { renderFallbackExtraContent_1 as renderFallbackExtraContent };
16
+ }
17
+ }
18
+ import PropTypes from "prop-types";
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _proptypes = require("cozy-ui/transpiled/react/proptypes");
15
+
16
+ var _DownloadButton = _interopRequireDefault(require("./DownloadButton"));
17
+
18
+ var _FileIcon = _interopRequireDefault(require("./FileIcon"));
19
+
20
+ var styles = {
21
+ "viewer-imageviewer": "styles__viewer-imageviewer___2O8pW",
22
+ "viewer-noviewer": "styles__viewer-noviewer___3HRGf",
23
+ "viewer-audioviewer": "styles__viewer-audioviewer___dpxUM",
24
+ "viewer-videoviewer": "styles__viewer-videoviewer___3yUQ5",
25
+ "viewer-pdfviewer": "styles__viewer-pdfviewer___3MJPk",
26
+ "viewer-textviewer": "styles__viewer-textviewer___1fl1c",
27
+ "viewer-canceled": "styles__viewer-canceled___3KRBk",
28
+ "viewer-textviewer-content": "styles__viewer-textviewer-content___30dhP",
29
+ "viewer-filename": "styles__viewer-filename___1-DIz",
30
+ "viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___3R4jL",
31
+ "viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___VvOF3",
32
+ "viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___2Eat3",
33
+ "viewer-pdfMobile": "styles__viewer-pdfMobile___ym7we",
34
+ "viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3_zsS"
35
+ };
36
+
37
+ var NoViewer = function NoViewer(_ref) {
38
+ var file = _ref.file,
39
+ url = _ref.url,
40
+ renderFallbackExtraContent = _ref.renderFallbackExtraContent;
41
+ return /*#__PURE__*/_react.default.createElement("div", {
42
+ className: styles['viewer-noviewer']
43
+ }, /*#__PURE__*/_react.default.createElement(_FileIcon.default, {
44
+ type: file.class
45
+ }), /*#__PURE__*/_react.default.createElement("p", {
46
+ className: styles['viewer-filename']
47
+ }, file.name), renderFallbackExtraContent(file, url));
48
+ };
49
+
50
+ NoViewer.propTypes = {
51
+ file: _proptypes.FileDoctype.isRequired,
52
+ renderFallbackExtraContent: _propTypes.default.func,
53
+ url: _propTypes.default.string
54
+ };
55
+ NoViewer.defaultProps = {
56
+ renderFallbackExtraContent: function renderFallbackExtraContent(file, url) {
57
+ return /*#__PURE__*/_react.default.createElement(_DownloadButton.default, {
58
+ file: file,
59
+ url: url
60
+ });
61
+ }
62
+ };
63
+ var _default = NoViewer;
64
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from "./NoViewer";
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _NoViewer.default;
12
+ }
13
+ });
14
+
15
+ var _NoViewer = _interopRequireDefault(require("./NoViewer"));
@@ -0,0 +1,3 @@
1
+ export default ActionMenuDesktop;
2
+ declare const ActionMenuDesktop: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
+ import React from "react";