cozy-ui 111.20.0 → 112.0.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 (171) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +3 -2
  3. package/react/FileImageLoader/Readme.md +66 -3
  4. package/react/FileImageLoader/index.jsx +3 -3
  5. package/react/FileImageLoader/index.spec.jsx +1 -1
  6. package/react/Skeletons/ListItemSkeleton.jsx +4 -3
  7. package/react/Skeletons/Readme.md +12 -3
  8. package/react/hooks/useClientErrors.jsx +140 -0
  9. package/react/hooks/useClientErrors.spec.jsx +102 -0
  10. package/react/index.js +0 -1
  11. package/transpiled/react/FileImageLoader/index.js +3 -3
  12. package/transpiled/react/Skeletons/ListItemSkeleton.js +7 -3
  13. package/transpiled/react/hooks/useClientErrors.js +167 -0
  14. package/transpiled/react/index.js +0 -1
  15. package/transpiled/react/stylesheet.css +1 -1
  16. package/react/Viewer/Footer/BottomSheetContent.jsx +0 -29
  17. package/react/Viewer/Footer/DownloadButton.jsx +0 -67
  18. package/react/Viewer/Footer/FooterActionButtons.jsx +0 -22
  19. package/react/Viewer/Footer/FooterActionButtons.spec.jsx +0 -30
  20. package/react/Viewer/Footer/FooterContent.jsx +0 -99
  21. package/react/Viewer/Footer/ForwardButton.jsx +0 -95
  22. package/react/Viewer/Footer/ForwardButton.spec.jsx +0 -87
  23. package/react/Viewer/Footer/ForwardOrDownloadButton.jsx +0 -24
  24. package/react/Viewer/Footer/Sharing.jsx +0 -60
  25. package/react/Viewer/Footer/helpers.js +0 -107
  26. package/react/Viewer/Footer/helpers.spec.js +0 -77
  27. package/react/Viewer/NoViewer/DownloadButton.jsx +0 -28
  28. package/react/Viewer/NoViewer/FileIcon.jsx +0 -46
  29. package/react/Viewer/NoViewer/NoViewer.jsx +0 -29
  30. package/react/Viewer/NoViewer/NoViewer.spec.jsx +0 -44
  31. package/react/Viewer/NoViewer/__snapshots__/NoViewer.spec.jsx.snap +0 -82
  32. package/react/Viewer/NoViewer/index.jsx +0 -1
  33. package/react/Viewer/Panel/ActionMenuDesktop.jsx +0 -66
  34. package/react/Viewer/Panel/ActionMenuMobile.jsx +0 -74
  35. package/react/Viewer/Panel/ActionMenuWrapper.jsx +0 -104
  36. package/react/Viewer/Panel/Certifications.jsx +0 -62
  37. package/react/Viewer/Panel/PanelContent.jsx +0 -49
  38. package/react/Viewer/Panel/Qualification.jsx +0 -114
  39. package/react/Viewer/Panel/QualificationListItemContact.jsx +0 -85
  40. package/react/Viewer/Panel/QualificationListItemDate.jsx +0 -77
  41. package/react/Viewer/Panel/QualificationListItemInformation.jsx +0 -68
  42. package/react/Viewer/Panel/QualificationListItemInformation.spec.jsx +0 -73
  43. package/react/Viewer/Panel/QualificationListItemOther.jsx +0 -61
  44. package/react/Viewer/Panel/QualificationListItemText.jsx +0 -30
  45. package/react/Viewer/Panel/getPanelBlocks.jsx +0 -56
  46. package/react/Viewer/Panel/getPanelBlocks.spec.jsx +0 -79
  47. package/react/Viewer/Panel/styles.styl +0 -13
  48. package/react/Viewer/Readme.md +0 -352
  49. package/react/Viewer/Viewer.jsx +0 -134
  50. package/react/Viewer/ViewerContainer.jsx +0 -169
  51. package/react/Viewer/ViewerExposer.js +0 -3
  52. package/react/Viewer/ViewerInformationsWrapper.jsx +0 -69
  53. package/react/Viewer/ViewerInformationsWrapper.spec.jsx +0 -63
  54. package/react/Viewer/ViewerWithCustomPanelAndFooter.jsx +0 -55
  55. package/react/Viewer/ViewersByFile/AudioViewer.jsx +0 -21
  56. package/react/Viewer/ViewersByFile/AudioViewer.spec.jsx +0 -39
  57. package/react/Viewer/ViewersByFile/BlankPaperViewer.jsx +0 -46
  58. package/react/Viewer/ViewersByFile/ImageViewer.jsx +0 -330
  59. package/react/Viewer/ViewersByFile/ImageViewer.spec.jsx +0 -70
  60. package/react/Viewer/ViewersByFile/NoNetworkViewer.jsx +0 -17
  61. package/react/Viewer/ViewersByFile/OnlyOfficeViewer.jsx +0 -28
  62. package/react/Viewer/ViewersByFile/PdfJsViewer.jsx +0 -210
  63. package/react/Viewer/ViewersByFile/PdfJsViewer.spec.jsx +0 -160
  64. package/react/Viewer/ViewersByFile/PdfMobileViewer.jsx +0 -106
  65. package/react/Viewer/ViewersByFile/PdfMobileViewer.spec.jsx +0 -76
  66. package/react/Viewer/ViewersByFile/ShortcutViewer.jsx +0 -38
  67. package/react/Viewer/ViewersByFile/ShortcutViewer.spec.jsx +0 -32
  68. package/react/Viewer/ViewersByFile/TextViewer.jsx +0 -126
  69. package/react/Viewer/ViewersByFile/TextViewer.spec.jsx +0 -118
  70. package/react/Viewer/ViewersByFile/VideoViewer.jsx +0 -13
  71. package/react/Viewer/ViewersByFile/VideoViewer.spec.jsx +0 -39
  72. package/react/Viewer/ViewersByFile/__snapshots__/AudioViewer.spec.jsx.snap +0 -43
  73. package/react/Viewer/ViewersByFile/__snapshots__/ShortcutViewer.spec.jsx.snap +0 -57
  74. package/react/Viewer/ViewersByFile/__snapshots__/TextViewer.spec.jsx.snap +0 -100
  75. package/react/Viewer/ViewersByFile/__snapshots__/VideoViewer.spec.jsx.snap +0 -19
  76. package/react/Viewer/ViewersByFile/styles.styl +0 -87
  77. package/react/Viewer/assets/IlluGenericNewPage.svg +0 -10
  78. package/react/Viewer/components/ExpirationAlert.jsx +0 -86
  79. package/react/Viewer/components/ExpirationAnnotation.jsx +0 -40
  80. package/react/Viewer/components/Footer.jsx +0 -13
  81. package/react/Viewer/components/InformationPanel.jsx +0 -26
  82. package/react/Viewer/components/Navigation.jsx +0 -39
  83. package/react/Viewer/components/PdfToolbarButton.jsx +0 -26
  84. package/react/Viewer/components/PrintButton.jsx +0 -90
  85. package/react/Viewer/components/Toolbar.jsx +0 -111
  86. package/react/Viewer/components/ToolbarButtons.jsx +0 -11
  87. package/react/Viewer/components/ToolbarFilePath.jsx +0 -61
  88. package/react/Viewer/components/ViewerByFile.jsx +0 -112
  89. package/react/Viewer/components/ViewerByFile.spec.jsx +0 -100
  90. package/react/Viewer/components/ViewerControls.jsx +0 -190
  91. package/react/Viewer/components/ViewerControls.spec.jsx +0 -54
  92. package/react/Viewer/components/ViewerSpinner.jsx +0 -17
  93. package/react/Viewer/components/styles.styl +0 -93
  94. package/react/Viewer/helpers.js +0 -131
  95. package/react/Viewer/helpers.spec.js +0 -136
  96. package/react/Viewer/hoc/withFileUrl.jsx +0 -93
  97. package/react/Viewer/hoc/withViewerLocales.jsx +0 -4
  98. package/react/Viewer/hooks/useReferencedContactName.jsx +0 -26
  99. package/react/Viewer/index.jsx +0 -12
  100. package/react/Viewer/locales/en.json +0 -66
  101. package/react/Viewer/locales/fr.json +0 -66
  102. package/react/Viewer/locales/index.js +0 -4
  103. package/react/Viewer/proptypes.js +0 -12
  104. package/react/Viewer/providers/ActionMenuProvider.jsx +0 -35
  105. package/react/Viewer/queries.js +0 -20
  106. package/react/Viewer/styles.styl +0 -22
  107. package/react/Viewer/vars.styl +0 -6
  108. package/transpiled/react/Viewer/Footer/BottomSheetContent.js +0 -28
  109. package/transpiled/react/Viewer/Footer/DownloadButton.js +0 -91
  110. package/transpiled/react/Viewer/Footer/FooterActionButtons.js +0 -21
  111. package/transpiled/react/Viewer/Footer/FooterContent.js +0 -98
  112. package/transpiled/react/Viewer/Footer/ForwardButton.js +0 -143
  113. package/transpiled/react/Viewer/Footer/ForwardOrDownloadButton.js +0 -25
  114. package/transpiled/react/Viewer/Footer/Sharing.js +0 -57
  115. package/transpiled/react/Viewer/Footer/helpers.js +0 -151
  116. package/transpiled/react/Viewer/NoViewer/DownloadButton.js +0 -34
  117. package/transpiled/react/Viewer/NoViewer/FileIcon.js +0 -57
  118. package/transpiled/react/Viewer/NoViewer/NoViewer.js +0 -49
  119. package/transpiled/react/Viewer/NoViewer/index.js +0 -1
  120. package/transpiled/react/Viewer/Panel/ActionMenuDesktop.js +0 -68
  121. package/transpiled/react/Viewer/Panel/ActionMenuMobile.js +0 -70
  122. package/transpiled/react/Viewer/Panel/ActionMenuWrapper.js +0 -129
  123. package/transpiled/react/Viewer/Panel/Certifications.js +0 -56
  124. package/transpiled/react/Viewer/Panel/PanelContent.js +0 -48
  125. package/transpiled/react/Viewer/Panel/Qualification.js +0 -119
  126. package/transpiled/react/Viewer/Panel/QualificationListItemContact.js +0 -96
  127. package/transpiled/react/Viewer/Panel/QualificationListItemDate.js +0 -64
  128. package/transpiled/react/Viewer/Panel/QualificationListItemInformation.js +0 -59
  129. package/transpiled/react/Viewer/Panel/QualificationListItemOther.js +0 -53
  130. package/transpiled/react/Viewer/Panel/QualificationListItemText.js +0 -29
  131. package/transpiled/react/Viewer/Panel/getPanelBlocks.js +0 -62
  132. package/transpiled/react/Viewer/Viewer.js +0 -172
  133. package/transpiled/react/Viewer/ViewerContainer.js +0 -189
  134. package/transpiled/react/Viewer/ViewerExposer.js +0 -2
  135. package/transpiled/react/Viewer/ViewerInformationsWrapper.js +0 -49
  136. package/transpiled/react/Viewer/ViewerWithCustomPanelAndFooter.js +0 -56
  137. package/transpiled/react/Viewer/ViewersByFile/AudioViewer.js +0 -41
  138. package/transpiled/react/Viewer/ViewersByFile/BlankPaperViewer.js +0 -74
  139. package/transpiled/react/Viewer/ViewersByFile/ImageViewer.js +0 -367
  140. package/transpiled/react/Viewer/ViewersByFile/NoNetworkViewer.js +0 -38
  141. package/transpiled/react/Viewer/ViewersByFile/OnlyOfficeViewer.js +0 -29
  142. package/transpiled/react/Viewer/ViewersByFile/PdfJsViewer.js +0 -254
  143. package/transpiled/react/Viewer/ViewersByFile/PdfMobileViewer.js +0 -153
  144. package/transpiled/react/Viewer/ViewersByFile/ShortcutViewer.js +0 -42
  145. package/transpiled/react/Viewer/ViewersByFile/TextViewer.js +0 -219
  146. package/transpiled/react/Viewer/ViewersByFile/VideoViewer.js +0 -33
  147. package/transpiled/react/Viewer/assets/IlluGenericNewPage.svg +0 -10
  148. package/transpiled/react/Viewer/components/ExpirationAlert.js +0 -100
  149. package/transpiled/react/Viewer/components/ExpirationAnnotation.js +0 -41
  150. package/transpiled/react/Viewer/components/Footer.js +0 -29
  151. package/transpiled/react/Viewer/components/InformationPanel.js +0 -23
  152. package/transpiled/react/Viewer/components/Navigation.js +0 -47
  153. package/transpiled/react/Viewer/components/PdfToolbarButton.js +0 -28
  154. package/transpiled/react/Viewer/components/PrintButton.js +0 -137
  155. package/transpiled/react/Viewer/components/Toolbar.js +0 -115
  156. package/transpiled/react/Viewer/components/ToolbarButtons.js +0 -9
  157. package/transpiled/react/Viewer/components/ToolbarFilePath.js +0 -71
  158. package/transpiled/react/Viewer/components/ViewerByFile.js +0 -105
  159. package/transpiled/react/Viewer/components/ViewerControls.js +0 -226
  160. package/transpiled/react/Viewer/components/ViewerSpinner.js +0 -17
  161. package/transpiled/react/Viewer/helpers.js +0 -147
  162. package/transpiled/react/Viewer/hoc/withFileUrl.js +0 -207
  163. package/transpiled/react/Viewer/hoc/withViewerLocales.js +0 -3
  164. package/transpiled/react/Viewer/hooks/useReferencedContactName.js +0 -32
  165. package/transpiled/react/Viewer/index.js +0 -11
  166. package/transpiled/react/Viewer/locales/index.js +0 -136
  167. package/transpiled/react/Viewer/proptypes.js +0 -14
  168. package/transpiled/react/Viewer/providers/ActionMenuProvider.js +0 -34
  169. package/transpiled/react/Viewer/queries.js +0 -26
  170. /package/react/{Viewer/providers/EncryptedProvider.jsx → providers/Encrypted/index.jsx} +0 -0
  171. /package/transpiled/react/{Viewer/providers/EncryptedProvider.js → providers/Encrypted/index.js} +0 -0
@@ -1,105 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React, { useMemo } from 'react';
3
- import { isPlainText } from 'cozy-client/dist/models/file';
4
- import { isMobile as isMobileDevice } from 'cozy-device-helper';
5
- import withBreakpoints from "cozy-ui/transpiled/react/helpers/withBreakpoints";
6
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
7
- import NoViewer from "cozy-ui/transpiled/react/Viewer/NoViewer";
8
- import AudioViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/AudioViewer";
9
- import BlankPaperViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/BlankPaperViewer";
10
- import ImageViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/ImageViewer";
11
- import OnlyOfficeViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/OnlyOfficeViewer";
12
- import PdfJsViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/PdfJsViewer";
13
- import PdfMobileViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/PdfMobileViewer";
14
- import ShortcutViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/ShortcutViewer";
15
- import TextViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/TextViewer";
16
- import VideoViewer from "cozy-ui/transpiled/react/Viewer/ViewersByFile/VideoViewer";
17
- import { useEncrypted } from "cozy-ui/transpiled/react/Viewer/providers/EncryptedProvider";
18
-
19
- var isBlankPaper = function isBlankPaper(doc) {
20
- var _doc$metadata, _doc$metadata$paperPr;
21
-
22
- return (_doc$metadata = doc.metadata) === null || _doc$metadata === void 0 ? void 0 : (_doc$metadata$paperPr = _doc$metadata.paperProps) === null || _doc$metadata$paperPr === void 0 ? void 0 : _doc$metadata$paperPr.isBlank;
23
- };
24
-
25
- export var getViewerComponentName = function getViewerComponentName(_ref) {
26
- var file = _ref.file,
27
- isDesktop = _ref.isDesktop,
28
- isOnlyOfficeEnabled = _ref.isOnlyOfficeEnabled;
29
-
30
- switch (file.class) {
31
- case 'shortcut':
32
- return ShortcutViewer;
33
-
34
- case 'image':
35
- return ImageViewer;
36
-
37
- case 'audio':
38
- return AudioViewer;
39
-
40
- case 'video':
41
- return isMobileDevice() ? NoViewer : VideoViewer;
42
-
43
- case 'pdf':
44
- return isBlankPaper(file) ? BlankPaperViewer : isDesktop ? PdfJsViewer : PdfMobileViewer;
45
-
46
- case 'text':
47
- return isPlainText(file.mime, file.name) ? TextViewer : isOnlyOfficeEnabled ? OnlyOfficeViewer : NoViewer;
48
-
49
- case 'slide':
50
- return isOnlyOfficeEnabled ? OnlyOfficeViewer : NoViewer;
51
-
52
- case 'spreadsheet':
53
- return isOnlyOfficeEnabled ? OnlyOfficeViewer : NoViewer;
54
-
55
- default:
56
- return NoViewer;
57
- }
58
- };
59
- var ViewerByFile = withBreakpoints()(function (_ref2) {
60
- var _componentsProps$Only, _componentsProps$Only2;
61
-
62
- var file = _ref2.file,
63
- onClose = _ref2.onClose,
64
- renderFallbackExtraContent = _ref2.renderFallbackExtraContent,
65
- gestures = _ref2.gestures,
66
- gesturesRef = _ref2.gesturesRef,
67
- onSwipe = _ref2.onSwipe,
68
- isDesktop = _ref2.breakpoints.isDesktop,
69
- componentsProps = _ref2.componentsProps;
70
- var isOnlyOfficeEnabled = componentsProps === null || componentsProps === void 0 ? void 0 : (_componentsProps$Only = componentsProps.OnlyOfficeViewer) === null || _componentsProps$Only === void 0 ? void 0 : _componentsProps$Only.isEnabled;
71
- var onlyOfficeOpener = componentsProps === null || componentsProps === void 0 ? void 0 : (_componentsProps$Only2 = componentsProps.OnlyOfficeViewer) === null || _componentsProps$Only2 === void 0 ? void 0 : _componentsProps$Only2.opener;
72
-
73
- var _useEncrypted = useEncrypted(),
74
- url = _useEncrypted.url;
75
-
76
- var ComponentName = useMemo(function () {
77
- return getViewerComponentName({
78
- file: file,
79
- isDesktop: isDesktop,
80
- isOnlyOfficeEnabled: isOnlyOfficeEnabled
81
- });
82
- }, [file, isDesktop, isOnlyOfficeEnabled]);
83
- return /*#__PURE__*/React.createElement(ComponentName, {
84
- file: file,
85
- url: url,
86
- onClose: onClose,
87
- renderFallbackExtraContent: renderFallbackExtraContent,
88
- gestures: gestures,
89
- gesturesRef: gesturesRef,
90
- onSwipe: onSwipe,
91
- onlyOfficeOpener: onlyOfficeOpener
92
- });
93
- });
94
- ViewerByFile.propTypes = {
95
- file: FileDoctype.isRequired,
96
- onClose: PropTypes.func.isRequired,
97
- renderFallbackExtraContent: PropTypes.func,
98
- // gestures, gesturesRef and onSwipe are got from ViewerControls
99
- gestures: PropTypes.object,
100
- gesturesRef: PropTypes.object,
101
- onSwipe: PropTypes.func,
102
- componentsProps: PropTypes.object
103
- };
104
- ViewerByFile.displayName = 'ViewerByFile';
105
- export default ViewerByFile;
@@ -1,226 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
- 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; } }
12
-
13
- import cx from 'classnames';
14
- import Hammer from 'hammerjs';
15
- import flow from 'lodash/flow';
16
- import PropTypes from 'prop-types';
17
- import React, { Component } from 'react';
18
- import { infoWidth } from "cozy-ui/transpiled/react/Viewer/components/InformationPanel";
19
- import Navigation from "cozy-ui/transpiled/react/Viewer/components/Navigation";
20
- import Toolbar from "cozy-ui/transpiled/react/Viewer/components/Toolbar";
21
- var styles = {
22
- "viewer-nav": "styles__viewer-nav___1MSd7",
23
- "viewer-nav--visible": "styles__viewer-nav--visible___h_KJD",
24
- "viewer-nav--previous": "styles__viewer-nav--previous___WOwzv",
25
- "viewer-nav-arrow": "styles__viewer-nav-arrow___3_d1_",
26
- "viewer-nav--next": "styles__viewer-nav--next___1ah-4",
27
- "viewer-controls": "styles__viewer-controls___1BYEX",
28
- "--expanded": "styles__--expanded___2NoA-",
29
- "viewer-controls--display-content-top": "styles__viewer-controls--display-content-top___3I1xq",
30
- "viewer-toolbar": "styles__viewer-toolbar___2zPR7",
31
- "viewer-toolbar--hidden": "styles__viewer-toolbar--hidden___3r3Sj",
32
- "viewer-footer": "styles__viewer-footer___2ieQS"
33
- };
34
- import { toolbarPropsPropType } from "cozy-ui/transpiled/react/Viewer";
35
- import withBreakpoints from "cozy-ui/transpiled/react/helpers/withBreakpoints";
36
- import { withStyles } from "cozy-ui/transpiled/react/styles";
37
- import { isValidForPanel } from "cozy-ui/transpiled/react/Viewer/helpers";
38
- var ACTIONS_HIDE_DELAY = 3000;
39
-
40
- var customStyles = function customStyles() {
41
- return {
42
- viewerControlsWithInfo: {
43
- width: "calc(100% - ".concat(infoWidth, ") !important")
44
- }
45
- };
46
- };
47
-
48
- var ViewerControls = /*#__PURE__*/function (_Component) {
49
- _inherits(ViewerControls, _Component);
50
-
51
- var _super = _createSuper(ViewerControls);
52
-
53
- function ViewerControls() {
54
- var _this;
55
-
56
- _classCallCheck(this, ViewerControls);
57
-
58
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
59
- args[_key] = arguments[_key];
60
- }
61
-
62
- _this = _super.call.apply(_super, [this].concat(args));
63
-
64
- _defineProperty(_assertThisInitialized(_this), "state", {
65
- hidden: false,
66
- gestures: null
67
- });
68
-
69
- _defineProperty(_assertThisInitialized(_this), "_mounted", false);
70
-
71
- _defineProperty(_assertThisInitialized(_this), "showControls", function () {
72
- if (_this._mounted) {
73
- _this.setState({
74
- hidden: false
75
- });
76
-
77
- _this.hideAfterDelay();
78
-
79
- document.removeEventListener('mousemove', _this.showControls);
80
- document.addEventListener('mousemove', _this.hideAfterDelay);
81
- }
82
- });
83
-
84
- _defineProperty(_assertThisInitialized(_this), "hideControls", function () {
85
- if (_this._mounted) {
86
- _this.setState({
87
- hidden: true
88
- });
89
-
90
- document.removeEventListener('mousemove', _this.hideAfterDelay);
91
- document.addEventListener('mousemove', _this.showControls);
92
- }
93
- });
94
-
95
- _defineProperty(_assertThisInitialized(_this), "hideAfterDelay", function () {
96
- clearTimeout(_this.hideTimeout);
97
- _this.hideTimeout = setTimeout(function () {
98
- _this.hideControls();
99
- }, ACTIONS_HIDE_DELAY);
100
- });
101
-
102
- _defineProperty(_assertThisInitialized(_this), "onSwipe", function (e) {
103
- if (e.direction === Hammer.DIRECTION_LEFT) _this.props.onNext();else if (e.direction === Hammer.DIRECTION_RIGHT) _this.props.onPrevious();
104
- });
105
-
106
- _defineProperty(_assertThisInitialized(_this), "initGestures", function () {
107
- var gestures = new Hammer(_this.wrapped, _this.props.breakpoints.isDesktop ? {
108
- cssProps: {
109
- userSelect: 'auto'
110
- }
111
- } : {});
112
- if (!_this.props.breakpoints.isDesktop) gestures.on('swipe', _this.onSwipe);
113
- return gestures;
114
- });
115
-
116
- return _this;
117
- }
118
-
119
- _createClass(ViewerControls, [{
120
- key: "componentDidMount",
121
- value: function componentDidMount() {
122
- this._mounted = true;
123
- clearTimeout(this.hideTimeout);
124
- this.hideAfterDelay();
125
- var gestures = this.initGestures();
126
- this.setState({
127
- gestures: gestures
128
- });
129
- }
130
- }, {
131
- key: "componentWillUnmount",
132
- value: function componentWillUnmount() {
133
- this._mounted = false;
134
- clearTimeout(this.hideTimeout);
135
- if (this.state.gestures) this.state.gestures.destroy();
136
- }
137
- }, {
138
- key: "renderChildren",
139
- value: function renderChildren(children) {
140
- var _this2 = this;
141
-
142
- if (!children) return null;
143
- return React.Children.map(children, function (child) {
144
- var _child$type, _child$type2;
145
-
146
- if ((child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) === 'ViewerByFile' || (child === null || child === void 0 ? void 0 : (_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName) === 'ViewerByFile') {
147
- return /*#__PURE__*/React.cloneElement(child, {
148
- gestures: _this2.state.gestures,
149
- gesturesRef: _this2.wrapped,
150
- onSwipe: _this2.onSwipe
151
- });
152
- }
153
- });
154
- }
155
- }, {
156
- key: "render",
157
- value: function render() {
158
- var _cx,
159
- _this3 = this;
160
-
161
- var _this$props = this.props,
162
- file = _this$props.file,
163
- onClose = _this$props.onClose,
164
- hasPrevious = _this$props.hasPrevious,
165
- hasNext = _this$props.hasNext,
166
- onPrevious = _this$props.onPrevious,
167
- onNext = _this$props.onNext,
168
- expanded = _this$props.expanded,
169
- toolbarProps = _this$props.toolbarProps,
170
- showNavigation = _this$props.showNavigation,
171
- showInfoPanel = _this$props.showInfoPanel,
172
- children = _this$props.children,
173
- classes = _this$props.classes,
174
- isDesktop = _this$props.breakpoints.isDesktop;
175
- var showToolbar = toolbarProps.showToolbar,
176
- showClose = toolbarProps.showClose,
177
- toolbarRef = toolbarProps.toolbarRef,
178
- showFilePath = toolbarProps.showFilePath;
179
- var hidden = this.state.hidden;
180
- var shouldDisplayContentTop = isValidForPanel({
181
- file: file
182
- });
183
- return /*#__PURE__*/React.createElement("div", {
184
- className: cx(styles['viewer-controls'], (_cx = {}, _defineProperty(_cx, styles['viewer-controls--expanded'], expanded), _defineProperty(_cx, styles['viewer-controls--display-content-top'], shouldDisplayContentTop), _defineProperty(_cx, classes.viewerControlsWithInfo, showInfoPanel), _cx)),
185
- ref: function ref(wrapped) {
186
- _this3.wrapped = wrapped;
187
- }
188
- }, showToolbar && /*#__PURE__*/React.createElement(Toolbar, {
189
- toolbarRef: toolbarRef,
190
- file: file,
191
- showFilePath: showFilePath,
192
- onMouseEnter: this.showControls,
193
- onMouseLeave: this.hideControls,
194
- onClose: showClose && onClose
195
- }, children), showNavigation && isDesktop && hasPrevious && /*#__PURE__*/React.createElement(Navigation, {
196
- className: styles['viewer-nav--previous'],
197
- hidden: hidden,
198
- onMouseEnter: this.showControls,
199
- onMouseLeave: this.hideControls,
200
- onClick: onPrevious
201
- }), this.renderChildren(children), showNavigation && isDesktop && hasNext && /*#__PURE__*/React.createElement(Navigation, {
202
- className: styles['viewer-nav--next'],
203
- hidden: hidden,
204
- onMouseEnter: this.showControls,
205
- onMouseLeave: this.hideControls,
206
- onClick: onNext
207
- }));
208
- }
209
- }]);
210
-
211
- return ViewerControls;
212
- }(Component);
213
-
214
- ViewerControls.propTypes = {
215
- file: PropTypes.object.isRequired,
216
- onClose: PropTypes.func.isRequired,
217
- hasPrevious: PropTypes.bool.isRequired,
218
- hasNext: PropTypes.bool.isRequired,
219
- onPrevious: PropTypes.func.isRequired,
220
- onNext: PropTypes.func.isRequired,
221
- expanded: PropTypes.bool.isRequired,
222
- toolbarProps: PropTypes.shape(toolbarPropsPropType),
223
- showNavigation: PropTypes.bool.isRequired,
224
- showInfoPanel: PropTypes.bool
225
- };
226
- export default flow(withBreakpoints(), withStyles(customStyles))(ViewerControls);
@@ -1,17 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import React from 'react';
3
- import Spinner from "cozy-ui/transpiled/react/Spinner";
4
- import withBreakpoints from "cozy-ui/transpiled/react/helpers/withBreakpoints";
5
-
6
- var ViewerSpinner = function ViewerSpinner(_ref) {
7
- var isDesktop = _ref.breakpoints.isDesktop;
8
- return /*#__PURE__*/React.createElement(Spinner, _extends({
9
- size: "xxlarge",
10
- middle: true,
11
- noMargin: true
12
- }, isDesktop && {
13
- color: 'white'
14
- }));
15
- };
16
-
17
- export default withBreakpoints()(ViewerSpinner);
@@ -1,147 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
-
4
- 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; }
5
-
6
- 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) { _defineProperty(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; }
7
-
8
- import _regeneratorRuntime from "@babel/runtime/regenerator";
9
- import { generateWebLink } from 'cozy-client';
10
- import { isEncrypted, isFromKonnector, hasQualifications, hasCertifications, normalize } from 'cozy-client/dist/models/file';
11
- import { KNOWN_DATE_METADATA_NAMES, KNOWN_INFORMATION_METADATA_NAMES, KNOWN_BILLS_ATTRIBUTES_NAMES } from 'cozy-client/dist/models/paper';
12
- export var getCurrentModel = function getCurrentModel(metadataName) {
13
- if (KNOWN_DATE_METADATA_NAMES.includes(metadataName) || KNOWN_INFORMATION_METADATA_NAMES.includes(metadataName) || KNOWN_BILLS_ATTRIBUTES_NAMES.includes(metadataName)) {
14
- return 'information';
15
- }
16
-
17
- if (metadataName === 'contact') return 'contact';
18
- if (metadataName === 'page') return 'page';
19
- };
20
- /**
21
- * @typedef {object} Reference
22
- * @property {string} id - id of the document
23
- * @property {string} type - doctype of the document
24
- */
25
-
26
- /**
27
- * Checks if the file matches one of the following conditions:
28
- * - Is certified
29
- * - Is Qualified
30
- * - From a Connector
31
- *
32
- * @param {object} param
33
- * @param {IOCozyFile} param.file
34
- * @returns {boolean}
35
- */
36
-
37
- export var isValidForPanel = function isValidForPanel(_ref) {
38
- var file = _ref.file;
39
- return hasCertifications(file) || hasQualifications(file) || isFromKonnector(file);
40
- };
41
- export var downloadFile = /*#__PURE__*/function () {
42
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
43
- var client, file, url;
44
- return _regeneratorRuntime.wrap(function _callee$(_context) {
45
- while (1) {
46
- switch (_context.prev = _context.next) {
47
- case 0:
48
- client = _ref2.client, file = _ref2.file, url = _ref2.url;
49
-
50
- if (!isEncrypted(file)) {
51
- _context.next = 3;
52
- break;
53
- }
54
-
55
- return _context.abrupt("return", client.collection('io.cozy.files').forceFileDownload(url, file.name));
56
-
57
- case 3:
58
- return _context.abrupt("return", client.collection('io.cozy.files').download(file));
59
-
60
- case 4:
61
- case "end":
62
- return _context.stop();
63
- }
64
- }
65
- }, _callee);
66
- }));
67
-
68
- return function downloadFile(_x) {
69
- return _ref3.apply(this, arguments);
70
- };
71
- }();
72
- export var isFileEncrypted = function isFileEncrypted(file) {
73
- return isEncrypted(file);
74
- };
75
- export var formatDate = function formatDate(_ref4) {
76
- var f = _ref4.f,
77
- lang = _ref4.lang,
78
- date = _ref4.date;
79
-
80
- if (lang === 'en') {
81
- return f(date, 'MM/DD/YYYY');
82
- }
83
-
84
- return f(date, 'DD/MM/YYYY');
85
- };
86
- /**
87
- * @param {{ information: string, page: string }} editPathByModelProps
88
- * @param {string} currentModel
89
- * @param {string} name
90
- * @returns {string}
91
- */
92
-
93
- export var buildEditAttributePath = function buildEditAttributePath(editPathByModelProps, currentModel, name) {
94
- var _currentPath$replace;
95
-
96
- var currentPath = editPathByModelProps[currentModel];
97
- return (_currentPath$replace = currentPath === null || currentPath === void 0 ? void 0 : currentPath.replace(/__NAME__/, name)) !== null && _currentPath$replace !== void 0 ? _currentPath$replace : '';
98
- };
99
- export var isEditableAttribute = function isEditableAttribute(name, file) {
100
- var isNotEditableAttributes = ['datetime', 'qualification'];
101
- return !isNotEditableAttributes.includes(name) && (name === 'issueDate' && !isFromKonnector(file) || name !== 'issueDate');
102
- };
103
- export var normalizeAndSpreadAttributes = function normalizeAndSpreadAttributes(rawFile) {
104
- var normalizedFile = normalize(rawFile);
105
- return _objectSpread(_objectSpread({}, normalizedFile), normalizedFile === null || normalizedFile === void 0 ? void 0 : normalizedFile.attributes);
106
- };
107
- /**
108
- * Return a web link to an application in the Cozy environment with the specified path
109
- * @param {object} param
110
- * @param {CozyClient} param.client - Instance of CozyClient
111
- * @param {string} param.slug - Slug of the application
112
- * @param {string} param.path - Path into the application
113
- * @returns {string} web link
114
- */
115
-
116
- export var makeWebLink = function makeWebLink(_ref5) {
117
- var client = _ref5.client,
118
- slug = _ref5.slug,
119
- path = _ref5.path;
120
-
121
- try {
122
- var cozyURL = new URL(client.getStackClient().uri);
123
-
124
- var _client$getInstanceOp = client.getInstanceOptions(),
125
- subDomainType = _client$getInstanceOp.subdomain;
126
-
127
- return generateWebLink({
128
- pathname: '/',
129
- cozyUrl: cozyURL.origin,
130
- slug: slug,
131
- hash: path,
132
- subDomainType: subDomainType
133
- });
134
- } catch (e) {
135
- return null;
136
- }
137
- };
138
- /**
139
- * Remove the file name at the end of a path
140
- * @param {string} path
141
- * @returns {string} new path
142
- */
143
-
144
- export var removeFilenameFromPath = function removeFilenameFromPath(path) {
145
- var newPath = path.substring(0, path.lastIndexOf('/'));
146
- return newPath === '' ? '/' : newPath;
147
- };