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,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));