cozy-ui 111.21.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 (168) hide show
  1. package/CHANGELOG.md +14 -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/hooks/useClientErrors.jsx +140 -0
  7. package/react/hooks/useClientErrors.spec.jsx +102 -0
  8. package/react/index.js +0 -1
  9. package/transpiled/react/FileImageLoader/index.js +3 -3
  10. package/transpiled/react/hooks/useClientErrors.js +167 -0
  11. package/transpiled/react/index.js +0 -1
  12. package/transpiled/react/stylesheet.css +1 -1
  13. package/react/Viewer/Footer/BottomSheetContent.jsx +0 -29
  14. package/react/Viewer/Footer/DownloadButton.jsx +0 -67
  15. package/react/Viewer/Footer/FooterActionButtons.jsx +0 -22
  16. package/react/Viewer/Footer/FooterActionButtons.spec.jsx +0 -30
  17. package/react/Viewer/Footer/FooterContent.jsx +0 -99
  18. package/react/Viewer/Footer/ForwardButton.jsx +0 -95
  19. package/react/Viewer/Footer/ForwardButton.spec.jsx +0 -87
  20. package/react/Viewer/Footer/ForwardOrDownloadButton.jsx +0 -24
  21. package/react/Viewer/Footer/Sharing.jsx +0 -60
  22. package/react/Viewer/Footer/helpers.js +0 -107
  23. package/react/Viewer/Footer/helpers.spec.js +0 -77
  24. package/react/Viewer/NoViewer/DownloadButton.jsx +0 -28
  25. package/react/Viewer/NoViewer/FileIcon.jsx +0 -46
  26. package/react/Viewer/NoViewer/NoViewer.jsx +0 -29
  27. package/react/Viewer/NoViewer/NoViewer.spec.jsx +0 -44
  28. package/react/Viewer/NoViewer/__snapshots__/NoViewer.spec.jsx.snap +0 -82
  29. package/react/Viewer/NoViewer/index.jsx +0 -1
  30. package/react/Viewer/Panel/ActionMenuDesktop.jsx +0 -66
  31. package/react/Viewer/Panel/ActionMenuMobile.jsx +0 -74
  32. package/react/Viewer/Panel/ActionMenuWrapper.jsx +0 -104
  33. package/react/Viewer/Panel/Certifications.jsx +0 -62
  34. package/react/Viewer/Panel/PanelContent.jsx +0 -49
  35. package/react/Viewer/Panel/Qualification.jsx +0 -114
  36. package/react/Viewer/Panel/QualificationListItemContact.jsx +0 -85
  37. package/react/Viewer/Panel/QualificationListItemDate.jsx +0 -77
  38. package/react/Viewer/Panel/QualificationListItemInformation.jsx +0 -68
  39. package/react/Viewer/Panel/QualificationListItemInformation.spec.jsx +0 -73
  40. package/react/Viewer/Panel/QualificationListItemOther.jsx +0 -61
  41. package/react/Viewer/Panel/QualificationListItemText.jsx +0 -30
  42. package/react/Viewer/Panel/getPanelBlocks.jsx +0 -56
  43. package/react/Viewer/Panel/getPanelBlocks.spec.jsx +0 -79
  44. package/react/Viewer/Panel/styles.styl +0 -13
  45. package/react/Viewer/Readme.md +0 -352
  46. package/react/Viewer/Viewer.jsx +0 -134
  47. package/react/Viewer/ViewerContainer.jsx +0 -169
  48. package/react/Viewer/ViewerExposer.js +0 -3
  49. package/react/Viewer/ViewerInformationsWrapper.jsx +0 -69
  50. package/react/Viewer/ViewerInformationsWrapper.spec.jsx +0 -63
  51. package/react/Viewer/ViewerWithCustomPanelAndFooter.jsx +0 -55
  52. package/react/Viewer/ViewersByFile/AudioViewer.jsx +0 -21
  53. package/react/Viewer/ViewersByFile/AudioViewer.spec.jsx +0 -39
  54. package/react/Viewer/ViewersByFile/BlankPaperViewer.jsx +0 -46
  55. package/react/Viewer/ViewersByFile/ImageViewer.jsx +0 -330
  56. package/react/Viewer/ViewersByFile/ImageViewer.spec.jsx +0 -70
  57. package/react/Viewer/ViewersByFile/NoNetworkViewer.jsx +0 -17
  58. package/react/Viewer/ViewersByFile/OnlyOfficeViewer.jsx +0 -28
  59. package/react/Viewer/ViewersByFile/PdfJsViewer.jsx +0 -210
  60. package/react/Viewer/ViewersByFile/PdfJsViewer.spec.jsx +0 -160
  61. package/react/Viewer/ViewersByFile/PdfMobileViewer.jsx +0 -106
  62. package/react/Viewer/ViewersByFile/PdfMobileViewer.spec.jsx +0 -76
  63. package/react/Viewer/ViewersByFile/ShortcutViewer.jsx +0 -38
  64. package/react/Viewer/ViewersByFile/ShortcutViewer.spec.jsx +0 -32
  65. package/react/Viewer/ViewersByFile/TextViewer.jsx +0 -126
  66. package/react/Viewer/ViewersByFile/TextViewer.spec.jsx +0 -118
  67. package/react/Viewer/ViewersByFile/VideoViewer.jsx +0 -13
  68. package/react/Viewer/ViewersByFile/VideoViewer.spec.jsx +0 -39
  69. package/react/Viewer/ViewersByFile/__snapshots__/AudioViewer.spec.jsx.snap +0 -43
  70. package/react/Viewer/ViewersByFile/__snapshots__/ShortcutViewer.spec.jsx.snap +0 -57
  71. package/react/Viewer/ViewersByFile/__snapshots__/TextViewer.spec.jsx.snap +0 -100
  72. package/react/Viewer/ViewersByFile/__snapshots__/VideoViewer.spec.jsx.snap +0 -19
  73. package/react/Viewer/ViewersByFile/styles.styl +0 -87
  74. package/react/Viewer/assets/IlluGenericNewPage.svg +0 -10
  75. package/react/Viewer/components/ExpirationAlert.jsx +0 -86
  76. package/react/Viewer/components/ExpirationAnnotation.jsx +0 -40
  77. package/react/Viewer/components/Footer.jsx +0 -13
  78. package/react/Viewer/components/InformationPanel.jsx +0 -26
  79. package/react/Viewer/components/Navigation.jsx +0 -39
  80. package/react/Viewer/components/PdfToolbarButton.jsx +0 -26
  81. package/react/Viewer/components/PrintButton.jsx +0 -90
  82. package/react/Viewer/components/Toolbar.jsx +0 -111
  83. package/react/Viewer/components/ToolbarButtons.jsx +0 -11
  84. package/react/Viewer/components/ToolbarFilePath.jsx +0 -61
  85. package/react/Viewer/components/ViewerByFile.jsx +0 -112
  86. package/react/Viewer/components/ViewerByFile.spec.jsx +0 -100
  87. package/react/Viewer/components/ViewerControls.jsx +0 -190
  88. package/react/Viewer/components/ViewerControls.spec.jsx +0 -54
  89. package/react/Viewer/components/ViewerSpinner.jsx +0 -17
  90. package/react/Viewer/components/styles.styl +0 -93
  91. package/react/Viewer/helpers.js +0 -131
  92. package/react/Viewer/helpers.spec.js +0 -136
  93. package/react/Viewer/hoc/withFileUrl.jsx +0 -93
  94. package/react/Viewer/hoc/withViewerLocales.jsx +0 -4
  95. package/react/Viewer/hooks/useReferencedContactName.jsx +0 -26
  96. package/react/Viewer/index.jsx +0 -12
  97. package/react/Viewer/locales/en.json +0 -66
  98. package/react/Viewer/locales/fr.json +0 -66
  99. package/react/Viewer/locales/index.js +0 -4
  100. package/react/Viewer/proptypes.js +0 -12
  101. package/react/Viewer/providers/ActionMenuProvider.jsx +0 -35
  102. package/react/Viewer/queries.js +0 -20
  103. package/react/Viewer/styles.styl +0 -22
  104. package/react/Viewer/vars.styl +0 -6
  105. package/transpiled/react/Viewer/Footer/BottomSheetContent.js +0 -28
  106. package/transpiled/react/Viewer/Footer/DownloadButton.js +0 -91
  107. package/transpiled/react/Viewer/Footer/FooterActionButtons.js +0 -21
  108. package/transpiled/react/Viewer/Footer/FooterContent.js +0 -98
  109. package/transpiled/react/Viewer/Footer/ForwardButton.js +0 -143
  110. package/transpiled/react/Viewer/Footer/ForwardOrDownloadButton.js +0 -25
  111. package/transpiled/react/Viewer/Footer/Sharing.js +0 -57
  112. package/transpiled/react/Viewer/Footer/helpers.js +0 -151
  113. package/transpiled/react/Viewer/NoViewer/DownloadButton.js +0 -34
  114. package/transpiled/react/Viewer/NoViewer/FileIcon.js +0 -57
  115. package/transpiled/react/Viewer/NoViewer/NoViewer.js +0 -49
  116. package/transpiled/react/Viewer/NoViewer/index.js +0 -1
  117. package/transpiled/react/Viewer/Panel/ActionMenuDesktop.js +0 -68
  118. package/transpiled/react/Viewer/Panel/ActionMenuMobile.js +0 -70
  119. package/transpiled/react/Viewer/Panel/ActionMenuWrapper.js +0 -129
  120. package/transpiled/react/Viewer/Panel/Certifications.js +0 -56
  121. package/transpiled/react/Viewer/Panel/PanelContent.js +0 -48
  122. package/transpiled/react/Viewer/Panel/Qualification.js +0 -119
  123. package/transpiled/react/Viewer/Panel/QualificationListItemContact.js +0 -96
  124. package/transpiled/react/Viewer/Panel/QualificationListItemDate.js +0 -64
  125. package/transpiled/react/Viewer/Panel/QualificationListItemInformation.js +0 -59
  126. package/transpiled/react/Viewer/Panel/QualificationListItemOther.js +0 -53
  127. package/transpiled/react/Viewer/Panel/QualificationListItemText.js +0 -29
  128. package/transpiled/react/Viewer/Panel/getPanelBlocks.js +0 -62
  129. package/transpiled/react/Viewer/Viewer.js +0 -172
  130. package/transpiled/react/Viewer/ViewerContainer.js +0 -189
  131. package/transpiled/react/Viewer/ViewerExposer.js +0 -2
  132. package/transpiled/react/Viewer/ViewerInformationsWrapper.js +0 -49
  133. package/transpiled/react/Viewer/ViewerWithCustomPanelAndFooter.js +0 -56
  134. package/transpiled/react/Viewer/ViewersByFile/AudioViewer.js +0 -41
  135. package/transpiled/react/Viewer/ViewersByFile/BlankPaperViewer.js +0 -74
  136. package/transpiled/react/Viewer/ViewersByFile/ImageViewer.js +0 -367
  137. package/transpiled/react/Viewer/ViewersByFile/NoNetworkViewer.js +0 -38
  138. package/transpiled/react/Viewer/ViewersByFile/OnlyOfficeViewer.js +0 -29
  139. package/transpiled/react/Viewer/ViewersByFile/PdfJsViewer.js +0 -254
  140. package/transpiled/react/Viewer/ViewersByFile/PdfMobileViewer.js +0 -153
  141. package/transpiled/react/Viewer/ViewersByFile/ShortcutViewer.js +0 -42
  142. package/transpiled/react/Viewer/ViewersByFile/TextViewer.js +0 -219
  143. package/transpiled/react/Viewer/ViewersByFile/VideoViewer.js +0 -33
  144. package/transpiled/react/Viewer/assets/IlluGenericNewPage.svg +0 -10
  145. package/transpiled/react/Viewer/components/ExpirationAlert.js +0 -100
  146. package/transpiled/react/Viewer/components/ExpirationAnnotation.js +0 -41
  147. package/transpiled/react/Viewer/components/Footer.js +0 -29
  148. package/transpiled/react/Viewer/components/InformationPanel.js +0 -23
  149. package/transpiled/react/Viewer/components/Navigation.js +0 -47
  150. package/transpiled/react/Viewer/components/PdfToolbarButton.js +0 -28
  151. package/transpiled/react/Viewer/components/PrintButton.js +0 -137
  152. package/transpiled/react/Viewer/components/Toolbar.js +0 -115
  153. package/transpiled/react/Viewer/components/ToolbarButtons.js +0 -9
  154. package/transpiled/react/Viewer/components/ToolbarFilePath.js +0 -71
  155. package/transpiled/react/Viewer/components/ViewerByFile.js +0 -105
  156. package/transpiled/react/Viewer/components/ViewerControls.js +0 -226
  157. package/transpiled/react/Viewer/components/ViewerSpinner.js +0 -17
  158. package/transpiled/react/Viewer/helpers.js +0 -147
  159. package/transpiled/react/Viewer/hoc/withFileUrl.js +0 -207
  160. package/transpiled/react/Viewer/hoc/withViewerLocales.js +0 -3
  161. package/transpiled/react/Viewer/hooks/useReferencedContactName.js +0 -32
  162. package/transpiled/react/Viewer/index.js +0 -11
  163. package/transpiled/react/Viewer/locales/index.js +0 -136
  164. package/transpiled/react/Viewer/proptypes.js +0 -14
  165. package/transpiled/react/Viewer/providers/ActionMenuProvider.js +0 -34
  166. package/transpiled/react/Viewer/queries.js +0 -26
  167. /package/react/{Viewer/providers/EncryptedProvider.jsx → providers/Encrypted/index.jsx} +0 -0
  168. /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
- };