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,254 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
-
10
- 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); }; }
11
-
12
- 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; } }
13
-
14
- import cx from 'classnames';
15
- import flow from 'lodash/flow';
16
- import throttle from 'lodash/throttle';
17
- import PropTypes from 'prop-types';
18
- import React, { Component } from 'react';
19
- import { Document, Page } from 'react-pdf';
20
- var styles = {
21
- "viewer-imageviewer": "styles__viewer-imageviewer___26k0p",
22
- "viewer-noviewer": "styles__viewer-noviewer___auG-6",
23
- "viewer-audioviewer": "styles__viewer-audioviewer___1OQPB",
24
- "viewer-videoviewer": "styles__viewer-videoviewer___NhFoe",
25
- "viewer-pdfviewer": "styles__viewer-pdfviewer___1gTP9",
26
- "viewer-textviewer": "styles__viewer-textviewer___3u5Zw",
27
- "viewer-canceled": "styles__viewer-canceled___pOA_O",
28
- "viewer-textviewer-content": "styles__viewer-textviewer-content___PB-c3",
29
- "viewer-filename": "styles__viewer-filename___3jZCt",
30
- "viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___16ID9",
31
- "viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___2RPuw",
32
- "viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___3NXOk",
33
- "viewer-pdfMobile": "styles__viewer-pdfMobile___25FPg",
34
- "viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3gpFL"
35
- };
36
- import NoViewer from "cozy-ui/transpiled/react/Viewer/NoViewer";
37
- import ToolbarButton from "cozy-ui/transpiled/react/Viewer/components/PdfToolbarButton";
38
- import ViewerSpinner from "cozy-ui/transpiled/react/Viewer/components/ViewerSpinner";
39
- import withFileUrl from "cozy-ui/transpiled/react/Viewer/hoc/withFileUrl";
40
- import { withViewerLocales } from "cozy-ui/transpiled/react/Viewer/hoc/withViewerLocales";
41
- export var MIN_SCALE = 0.25;
42
- export var MAX_SCALE = 3;
43
- export var MAX_PAGES = 3;
44
- var KEY_CODE_UP = 38;
45
- var KEY_CODE_DOWN = 40;
46
- export var PdfJsViewer = /*#__PURE__*/function (_Component) {
47
- _inherits(PdfJsViewer, _Component);
48
-
49
- var _super = _createSuper(PdfJsViewer);
50
-
51
- function PdfJsViewer() {
52
- var _this;
53
-
54
- _classCallCheck(this, PdfJsViewer);
55
-
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
-
60
- _this = _super.call.apply(_super, [this].concat(args));
61
-
62
- _defineProperty(_assertThisInitialized(_this), "state", {
63
- totalPages: 1,
64
- scale: 1,
65
- currentPage: 1,
66
- loaded: false,
67
- errored: false,
68
- width: null,
69
- renderAllPages: false
70
- });
71
-
72
- _defineProperty(_assertThisInitialized(_this), "onKeyUp", function (e) {
73
- if (e.keyCode === KEY_CODE_UP) _this.previousPage();else if (e.keyCode === KEY_CODE_DOWN) _this.nextPage();
74
- });
75
-
76
- _defineProperty(_assertThisInitialized(_this), "setWrapperSize", function () {
77
- var width = _this.wrapper ? _this.wrapper.getBoundingClientRect().width : null;
78
-
79
- _this.setState({
80
- width: width
81
- });
82
- });
83
-
84
- _defineProperty(_assertThisInitialized(_this), "onLoadSuccess", function (_ref) {
85
- var numPages = _ref.numPages;
86
-
87
- _this.setState({
88
- totalPages: numPages,
89
- renderAllPages: numPages <= MAX_PAGES,
90
- loaded: true
91
- });
92
- });
93
-
94
- _defineProperty(_assertThisInitialized(_this), "onLoadError", function (error) {
95
- // eslint-disable-next-line no-console
96
- console.warn(error);
97
-
98
- _this.setState({
99
- errored: true
100
- });
101
- });
102
-
103
- _defineProperty(_assertThisInitialized(_this), "nextPage", function () {
104
- _this.setState(function (state) {
105
- return {
106
- currentPage: Math.min(state.currentPage + 1, state.totalPages)
107
- };
108
- });
109
- });
110
-
111
- _defineProperty(_assertThisInitialized(_this), "previousPage", function () {
112
- _this.setState(function (state) {
113
- return {
114
- currentPage: Math.max(state.currentPage - 1, 1)
115
- };
116
- });
117
- });
118
-
119
- _defineProperty(_assertThisInitialized(_this), "scaleUp", function () {
120
- _this.setState(function (state) {
121
- var previousScale = state.scale;
122
- var scale = Math.min(previousScale + 0.25, MAX_SCALE);
123
- if (scale > 1 && previousScale <= 1) _this.toggleGestures(false);
124
- return {
125
- scale: scale
126
- };
127
- });
128
- });
129
-
130
- _defineProperty(_assertThisInitialized(_this), "scaleDown", function () {
131
- _this.setState(function (state) {
132
- var previousScale = state.scale;
133
- var scale = Math.max(previousScale - 0.25, MIN_SCALE);
134
- if (scale <= 1 && previousScale > 1) _this.toggleGestures(true);
135
- return {
136
- scale: scale
137
- };
138
- });
139
- });
140
-
141
- return _this;
142
- }
143
-
144
- _createClass(PdfJsViewer, [{
145
- key: "componentDidMount",
146
- value: function componentDidMount() {
147
- this.setWrapperSize();
148
- this.resizeListener = throttle(this.setWrapperSize, 500);
149
- window.addEventListener('resize', this.resizeListener);
150
- document.addEventListener('keyup', this.onKeyUp, false);
151
- }
152
- }, {
153
- key: "componentWillUnmount",
154
- value: function componentWillUnmount() {
155
- window.removeEventListener('resize', this.resizeListener);
156
- document.removeEventListener('keyup', this.onKeyUp, false);
157
- }
158
- }, {
159
- key: "toggleGestures",
160
- value: function toggleGestures(enable) {
161
- if (!this.props.gestures) return;
162
- this.props.gestures.get('swipe').set({
163
- enable: enable
164
- });
165
- this.props.gestures.get('pan').set({
166
- enable: enable
167
- });
168
- }
169
- }, {
170
- key: "render",
171
- value: function render() {
172
- var _this2 = this;
173
-
174
- var _this$props = this.props,
175
- url = _this$props.url,
176
- file = _this$props.file,
177
- renderFallbackExtraContent = _this$props.renderFallbackExtraContent,
178
- t = _this$props.t;
179
- var _this$state = this.state,
180
- loaded = _this$state.loaded,
181
- errored = _this$state.errored,
182
- totalPages = _this$state.totalPages,
183
- currentPage = _this$state.currentPage,
184
- scale = _this$state.scale,
185
- width = _this$state.width,
186
- renderAllPages = _this$state.renderAllPages;
187
- if (errored) return /*#__PURE__*/React.createElement(NoViewer, {
188
- file: file,
189
- renderFallbackExtraContent: renderFallbackExtraContent
190
- });
191
- var pageWidth = width ? width * scale : null; // newer versions of react-pdf do that automatically
192
-
193
- return /*#__PURE__*/React.createElement("div", {
194
- className: styles['viewer-pdfviewer'],
195
- ref: function ref(_ref2) {
196
- return _this2.wrapper = _ref2;
197
- }
198
- }, /*#__PURE__*/React.createElement(Document, {
199
- file: url,
200
- onLoadSuccess: this.onLoadSuccess,
201
- onLoadError: this.onLoadError,
202
- className: styles['viewer-pdfviewer-pdf'],
203
- loading: /*#__PURE__*/React.createElement(ViewerSpinner, null)
204
- }, renderAllPages ? _toConsumableArray(Array(totalPages)).map(function (_, page) {
205
- return /*#__PURE__*/React.createElement(Page, {
206
- key: page,
207
- pageNumber: page + 1,
208
- width: pageWidth,
209
- renderAnnotations: false,
210
- className: cx('u-mv-1', styles['viewer-pdfviewer-page'])
211
- });
212
- }) : /*#__PURE__*/React.createElement(Page, {
213
- pageNumber: currentPage,
214
- width: pageWidth,
215
- renderAnnotations: false,
216
- className: styles['viewer-pdfviewer-page']
217
- })), loaded && /*#__PURE__*/React.createElement("div", {
218
- className: cx(styles['viewer-pdfviewer-toolbar'], 'u-p-half')
219
- }, !renderAllPages && /*#__PURE__*/React.createElement("span", {
220
- className: "u-mh-half"
221
- }, /*#__PURE__*/React.createElement(ToolbarButton, {
222
- icon: "top",
223
- onClick: this.previousPage,
224
- disabled: currentPage === 1,
225
- label: t('Viewer.previous')
226
- }), currentPage, "/", totalPages, /*#__PURE__*/React.createElement(ToolbarButton, {
227
- icon: "bottom",
228
- onClick: this.nextPage,
229
- disabled: currentPage === totalPages,
230
- label: t('Viewer.next')
231
- })), /*#__PURE__*/React.createElement("span", {
232
- className: "u-mh-half"
233
- }, /*#__PURE__*/React.createElement(ToolbarButton, {
234
- icon: "dash",
235
- onClick: this.scaleDown,
236
- disabled: scale === MIN_SCALE,
237
- label: t('Viewer.scaledown')
238
- }), /*#__PURE__*/React.createElement(ToolbarButton, {
239
- icon: "plus",
240
- onClick: this.scaleUp,
241
- disabled: scale === MAX_SCALE,
242
- label: t('Viewer.scaleup')
243
- }))));
244
- }
245
- }]);
246
-
247
- return PdfJsViewer;
248
- }(Component);
249
- PdfJsViewer.propTypes = {
250
- url: PropTypes.string.isRequired,
251
- gestures: PropTypes.object,
252
- renderFallbackExtraContent: PropTypes.func
253
- };
254
- export default flow(withFileUrl, withViewerLocales)(PdfJsViewer);
@@ -1,153 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import PropTypes from 'prop-types';
5
- import React, { useState, useEffect, useRef, useCallback } from 'react';
6
- import { useClient } from 'cozy-client';
7
- var styles = {
8
- "viewer-imageviewer": "styles__viewer-imageviewer___26k0p",
9
- "viewer-noviewer": "styles__viewer-noviewer___auG-6",
10
- "viewer-audioviewer": "styles__viewer-audioviewer___1OQPB",
11
- "viewer-videoviewer": "styles__viewer-videoviewer___NhFoe",
12
- "viewer-pdfviewer": "styles__viewer-pdfviewer___1gTP9",
13
- "viewer-textviewer": "styles__viewer-textviewer___3u5Zw",
14
- "viewer-canceled": "styles__viewer-canceled___pOA_O",
15
- "viewer-textviewer-content": "styles__viewer-textviewer-content___PB-c3",
16
- "viewer-filename": "styles__viewer-filename___3jZCt",
17
- "viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___16ID9",
18
- "viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___2RPuw",
19
- "viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___3NXOk",
20
- "viewer-pdfMobile": "styles__viewer-pdfMobile___25FPg",
21
- "viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3gpFL"
22
- };
23
- import FileImageLoader from "cozy-ui/transpiled/react/FileImageLoader";
24
- import Spinner from "cozy-ui/transpiled/react/Spinner";
25
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
26
- import { useAlert } from "cozy-ui/transpiled/react/providers/Alert";
27
- import NoViewer from "cozy-ui/transpiled/react/Viewer/NoViewer";
28
- import DownloadButton from "cozy-ui/transpiled/react/Viewer/NoViewer/DownloadButton";
29
- import { withViewerLocales } from "cozy-ui/transpiled/react/Viewer/hoc/withViewerLocales";
30
- export var PdfMobileViewer = function PdfMobileViewer(_ref) {
31
- var file = _ref.file,
32
- url = _ref.url,
33
- t = _ref.t,
34
- gestures = _ref.gestures;
35
-
36
- var _useState = useState(true),
37
- _useState2 = _slicedToArray(_useState, 2),
38
- loading = _useState2[0],
39
- setLoading = _useState2[1];
40
-
41
- var _useState3 = useState(false),
42
- _useState4 = _slicedToArray(_useState3, 2),
43
- error = _useState4[0],
44
- setError = _useState4[1];
45
-
46
- var imgRef = useRef(null);
47
-
48
- var _useAlert = useAlert(),
49
- showAlert = _useAlert.showAlert;
50
-
51
- var client = useClient();
52
-
53
- var onImageError = function onImageError() {
54
- setLoading(false);
55
- setError(true);
56
- };
57
-
58
- var onImageLoad = function onImageLoad() {
59
- setLoading(false);
60
- };
61
-
62
- var handleOnClick = useCallback( /*#__PURE__*/function () {
63
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
64
- return _regeneratorRuntime.wrap(function _callee$(_context) {
65
- while (1) {
66
- switch (_context.prev = _context.next) {
67
- case 0:
68
- _context.prev = 0;
69
- _context.next = 3;
70
- return client.collection('io.cozy.files').download(file);
71
-
72
- case 3:
73
- _context.next = 8;
74
- break;
75
-
76
- case 5:
77
- _context.prev = 5;
78
- _context.t0 = _context["catch"](0);
79
- showAlert({
80
- message: t('Viewer.error.generic'),
81
- severity: 'error',
82
- variant: 'filled',
83
- icon: false
84
- });
85
-
86
- case 8:
87
- case "end":
88
- return _context.stop();
89
- }
90
- }
91
- }, _callee, null, [[0, 5]]);
92
- }));
93
-
94
- return function (_x) {
95
- return _ref2.apply(this, arguments);
96
- };
97
- }(), [client, showAlert, t]);
98
- useEffect(function () {
99
- if (gestures) {
100
- gestures.get('pinch').set({
101
- enable: true
102
- });
103
- gestures.on('pinchend tap', function (evt) {
104
- if ((evt.type === 'pinchend' || evt.tapCount === 1) && evt.target === imgRef.current) {
105
- handleOnClick(file);
106
- }
107
- });
108
- return function () {
109
- gestures.off('pinchend tap');
110
- };
111
- }
112
- }, [client, gestures, file, handleOnClick]);
113
-
114
- if (error) {
115
- return /*#__PURE__*/React.createElement(NoViewer, {
116
- file: file,
117
- renderFallbackExtraContent: function renderFallbackExtraContent(file) {
118
- return /*#__PURE__*/React.createElement(DownloadButton, {
119
- file: file
120
- });
121
- }
122
- });
123
- }
124
-
125
- return /*#__PURE__*/React.createElement("div", {
126
- className: styles['viewer-pdfMobile']
127
- }, loading && /*#__PURE__*/React.createElement(Spinner, {
128
- size: "xxlarge",
129
- middle: true,
130
- noMargin: true
131
- }), file && /*#__PURE__*/React.createElement(FileImageLoader, {
132
- file: file,
133
- url: url,
134
- linkType: "medium",
135
- onError: onImageError,
136
- key: file.id,
137
- render: function render(src) {
138
- return /*#__PURE__*/React.createElement("img", {
139
- ref: imgRef,
140
- className: styles['viewer-pdfMobile--image'],
141
- alt: file.name,
142
- src: src,
143
- onLoad: onImageLoad
144
- });
145
- }
146
- }));
147
- };
148
- PdfMobileViewer.prototype = {
149
- file: FileDoctype.isRequired,
150
- url: PropTypes.string,
151
- gestures: PropTypes.object
152
- };
153
- export default withViewerLocales(PdfMobileViewer);
@@ -1,42 +0,0 @@
1
- import get from 'lodash/get';
2
- import React from 'react';
3
- import { useClient, useFetchShortcut } from 'cozy-client';
4
- import OpenwithIcon from "cozy-ui/transpiled/react/Icons/Openwith";
5
- import { ButtonLink } from "cozy-ui/transpiled/react/deprecated/Button";
6
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
7
- import NoViewer from "cozy-ui/transpiled/react/Viewer/NoViewer";
8
- import { withViewerLocales } from "cozy-ui/transpiled/react/Viewer/hoc/withViewerLocales";
9
-
10
- var ShortcutViewer = function ShortcutViewer(_ref) {
11
- var t = _ref.t,
12
- file = _ref.file;
13
- var client = useClient();
14
-
15
- var _useFetchShortcut = useFetchShortcut(client, file.id),
16
- shortcutInfos = _useFetchShortcut.shortcutInfos;
17
-
18
- var url = '';
19
-
20
- if (shortcutInfos) {
21
- url = new URL(get(shortcutInfos, 'data.attributes.url'));
22
- }
23
-
24
- return /*#__PURE__*/React.createElement(NoViewer, {
25
- file: file,
26
- renderFallbackExtraContent: function renderFallbackExtraContent() {
27
- return /*#__PURE__*/React.createElement(ButtonLink, {
28
- label: "".concat(t('Viewer.goto', {
29
- url: get(url, 'origin', '')
30
- })),
31
- icon: OpenwithIcon,
32
- href: "".concat(get(url, 'origin', '')),
33
- target: "_blank"
34
- });
35
- }
36
- });
37
- };
38
-
39
- ShortcutViewer.propTypes = {
40
- file: FileDoctype.isRequired
41
- };
42
- export default withViewerLocales(ShortcutViewer);
@@ -1,219 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
- import _regeneratorRuntime from "@babel/runtime/regenerator";
10
-
11
- 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); }; }
12
-
13
- 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; } }
14
-
15
- import cx from 'classnames';
16
- import PropTypes from 'prop-types';
17
- import React from 'react';
18
- import ReactMarkdown from 'react-markdown';
19
- import { withClient, models } from 'cozy-client';
20
- var styles = {
21
- "viewer-imageviewer": "styles__viewer-imageviewer___26k0p",
22
- "viewer-noviewer": "styles__viewer-noviewer___auG-6",
23
- "viewer-audioviewer": "styles__viewer-audioviewer___1OQPB",
24
- "viewer-videoviewer": "styles__viewer-videoviewer___NhFoe",
25
- "viewer-pdfviewer": "styles__viewer-pdfviewer___1gTP9",
26
- "viewer-textviewer": "styles__viewer-textviewer___3u5Zw",
27
- "viewer-canceled": "styles__viewer-canceled___pOA_O",
28
- "viewer-textviewer-content": "styles__viewer-textviewer-content___PB-c3",
29
- "viewer-filename": "styles__viewer-filename___3jZCt",
30
- "viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___16ID9",
31
- "viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___2RPuw",
32
- "viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___3NXOk",
33
- "viewer-pdfMobile": "styles__viewer-pdfMobile___25FPg",
34
- "viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3gpFL"
35
- };
36
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
37
- import NoViewer from "cozy-ui/transpiled/react/Viewer/NoViewer";
38
- import ViewerSpinner from "cozy-ui/transpiled/react/Viewer/components/ViewerSpinner";
39
- import { isFileEncrypted } from "cozy-ui/transpiled/react/Viewer/helpers";
40
- import withFileUrl from "cozy-ui/transpiled/react/Viewer/hoc/withFileUrl";
41
-
42
- var MarkdownRenderer = function MarkdownRenderer(_ref) {
43
- var text = _ref.text;
44
- return /*#__PURE__*/React.createElement(ReactMarkdown, {
45
- className: cx(styles['viewer-textviewer-content'], 'u-p-1'),
46
- source: text
47
- });
48
- };
49
-
50
- var PlainTextRenderer = function PlainTextRenderer(_ref2) {
51
- var text = _ref2.text;
52
- return /*#__PURE__*/React.createElement("pre", {
53
- className: cx(styles['viewer-textviewer-content'], 'u-mh-auto', 'u-mv-2')
54
- }, text);
55
- };
56
-
57
- var Loader = function Loader() {
58
- return /*#__PURE__*/React.createElement("div", {
59
- className: styles['viewer-textviewer']
60
- }, /*#__PURE__*/React.createElement(ViewerSpinner, null));
61
- };
62
-
63
- export var isMarkdown = function isMarkdown(file) {
64
- return file.mime === 'text/markdown' || /.md$/.test(file.name) || models.file.isNote(file);
65
- };
66
- export var TextViewer = /*#__PURE__*/function (_React$Component) {
67
- _inherits(TextViewer, _React$Component);
68
-
69
- var _super = _createSuper(TextViewer);
70
-
71
- function TextViewer() {
72
- var _this;
73
-
74
- _classCallCheck(this, TextViewer);
75
-
76
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
77
- args[_key] = arguments[_key];
78
- }
79
-
80
- _this = _super.call.apply(_super, [this].concat(args));
81
-
82
- _defineProperty(_assertThisInitialized(_this), "state", {
83
- text: '',
84
- isMarkdown: false,
85
- loading: true,
86
- error: null
87
- });
88
-
89
- _defineProperty(_assertThisInitialized(_this), "_mounted", false);
90
-
91
- return _this;
92
- }
93
-
94
- _createClass(TextViewer, [{
95
- key: "componentDidMount",
96
- value: function componentDidMount() {
97
- this._mounted = true;
98
- this.loadFile();
99
- }
100
- }, {
101
- key: "componentWillUnmount",
102
- value: function componentWillUnmount() {
103
- this._mounted = false;
104
- }
105
- }, {
106
- key: "loadFile",
107
- value: function () {
108
- var _loadFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
109
- var _this$props, url, file, response, _URL, pathname, client, text;
110
-
111
- return _regeneratorRuntime.wrap(function _callee$(_context) {
112
- while (1) {
113
- switch (_context.prev = _context.next) {
114
- case 0:
115
- _this$props = this.props, url = _this$props.url, file = _this$props.file;
116
- _context.prev = 1;
117
-
118
- if (!isFileEncrypted(file)) {
119
- _context.next = 8;
120
- break;
121
- }
122
-
123
- _context.next = 5;
124
- return fetch(url);
125
-
126
- case 5:
127
- response = _context.sent;
128
- _context.next = 13;
129
- break;
130
-
131
- case 8:
132
- _URL = new URL(url), pathname = _URL.pathname;
133
- client = this.props.client.getStackClient();
134
- _context.next = 12;
135
- return client.fetch('GET', pathname);
136
-
137
- case 12:
138
- response = _context.sent;
139
-
140
- case 13:
141
- _context.next = 15;
142
- return response.text();
143
-
144
- case 15:
145
- text = _context.sent;
146
-
147
- if (this._mounted) {
148
- this.setState({
149
- text: text,
150
- isMarkdown: isMarkdown(file),
151
- loading: false
152
- });
153
- }
154
-
155
- _context.next = 23;
156
- break;
157
-
158
- case 19:
159
- _context.prev = 19;
160
- _context.t0 = _context["catch"](1);
161
- // eslint-disable-next-line no-console
162
- console.warn(_context.t0);
163
-
164
- if (this._mounted) {
165
- this.setState({
166
- loading: false,
167
- error: _context.t0
168
- });
169
- }
170
-
171
- case 23:
172
- case "end":
173
- return _context.stop();
174
- }
175
- }
176
- }, _callee, this, [[1, 19]]);
177
- }));
178
-
179
- function loadFile() {
180
- return _loadFile.apply(this, arguments);
181
- }
182
-
183
- return loadFile;
184
- }()
185
- }, {
186
- key: "render",
187
- value: function render() {
188
- var _this$state = this.state,
189
- loading = _this$state.loading,
190
- error = _this$state.error,
191
- text = _this$state.text,
192
- isMarkdown = _this$state.isMarkdown;
193
- var _this$props2 = this.props,
194
- file = _this$props2.file,
195
- renderFallbackExtraContent = _this$props2.renderFallbackExtraContent;
196
- if (loading) return /*#__PURE__*/React.createElement(Loader, null);else if (error) return /*#__PURE__*/React.createElement(NoViewer, {
197
- file: file,
198
- renderFallbackExtraContent: renderFallbackExtraContent
199
- });else return /*#__PURE__*/React.createElement("div", {
200
- className: styles['viewer-textviewer']
201
- }, /*#__PURE__*/React.createElement("h2", {
202
- className: cx(styles['viewer-filename'], 'u-mt-3', 'u-mb-1')
203
- }, file.name), isMarkdown ? /*#__PURE__*/React.createElement(MarkdownRenderer, {
204
- text: text
205
- }) : /*#__PURE__*/React.createElement(PlainTextRenderer, {
206
- text: text
207
- }));
208
- }
209
- }]);
210
-
211
- return TextViewer;
212
- }(React.Component);
213
- TextViewer.propTypes = {
214
- client: PropTypes.object.isRequired,
215
- url: PropTypes.string.isRequired,
216
- file: FileDoctype.isRequired,
217
- renderFallbackExtraContent: PropTypes.func
218
- };
219
- export default withFileUrl(withClient(TextViewer));