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,53 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React, { forwardRef } from 'react';
3
- import { getTranslatedNameForOtherMetadata, formatOtherMetadataValue } from 'cozy-client/dist/models/paper';
4
- import QualificationListItemText from "cozy-ui/transpiled/react/Viewer/Panel/QualificationListItemText";
5
- import Icon from "cozy-ui/transpiled/react/Icon";
6
- import IconButton from "cozy-ui/transpiled/react/IconButton";
7
- import Dots from "cozy-ui/transpiled/react/Icons/Dots";
8
- import ListItem from "cozy-ui/transpiled/react/ListItem";
9
- import ListItemSecondaryAction from "cozy-ui/transpiled/react/ListItemSecondaryAction";
10
- import MidEllipsis from "cozy-ui/transpiled/react/MidEllipsis";
11
- import { useI18n } from "cozy-ui/transpiled/react/providers/I18n";
12
- var QualificationListItemOther = /*#__PURE__*/forwardRef(function (_ref, ref) {
13
- var formattedMetadataQualification = _ref.formattedMetadataQualification,
14
- toggleActionsMenu = _ref.toggleActionsMenu;
15
-
16
- var _useI18n = useI18n(),
17
- lang = _useI18n.lang;
18
-
19
- var name = formattedMetadataQualification.name,
20
- value = formattedMetadataQualification.value;
21
- if (!value) return null;
22
- var formattedTitle = getTranslatedNameForOtherMetadata(name, {
23
- lang: lang
24
- });
25
- var formattedValue = formatOtherMetadataValue(value, {
26
- lang: lang,
27
- name: name
28
- });
29
- return /*#__PURE__*/React.createElement(ListItem, {
30
- className: "u-pl-2 u-pr-3"
31
- }, /*#__PURE__*/React.createElement(QualificationListItemText, {
32
- primary: formattedTitle,
33
- secondary: /*#__PURE__*/React.createElement(MidEllipsis, {
34
- text: formattedValue
35
- })
36
- }), /*#__PURE__*/React.createElement(ListItemSecondaryAction, null, /*#__PURE__*/React.createElement(IconButton, {
37
- ref: ref,
38
- onClick: function onClick() {
39
- return toggleActionsMenu(formattedValue);
40
- }
41
- }, /*#__PURE__*/React.createElement(Icon, {
42
- icon: Dots
43
- }))));
44
- });
45
- QualificationListItemOther.displayName = 'QualificationListItemOther';
46
- QualificationListItemOther.propTypes = {
47
- formattedMetadataQualification: PropTypes.shape({
48
- name: PropTypes.string,
49
- value: PropTypes.string
50
- }).isRequired,
51
- toggleActionsMenu: PropTypes.func.isRequired
52
- };
53
- export default QualificationListItemOther;
@@ -1,29 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import React from 'react';
3
- import ListItemText from "cozy-ui/transpiled/react/ListItemText";
4
- import Typography from "cozy-ui/transpiled/react/Typography";
5
-
6
- var QualificationListItemText = function QualificationListItemText(_ref) {
7
- var primary = _ref.primary,
8
- secondary = _ref.secondary,
9
- disabled = _ref.disabled;
10
- return /*#__PURE__*/React.createElement(ListItemText, {
11
- disableTypography: true,
12
- primary: /*#__PURE__*/React.createElement(Typography, {
13
- variant: "caption"
14
- }, primary),
15
- secondary: /*#__PURE__*/React.createElement(Typography, {
16
- component: "div",
17
- variant: "body1",
18
- style: disabled ? {
19
- color: 'var(--disabledTextColor)'
20
- } : undefined
21
- }, secondary)
22
- });
23
- };
24
-
25
- QualificationListItemText.propTypes = {
26
- primary: PropTypes.string.isRequired,
27
- secondary: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired
28
- };
29
- export default QualificationListItemText;
@@ -1,62 +0,0 @@
1
- import { models } from 'cozy-client';
2
- import KonnectorBlock from 'cozy-harvest-lib/dist/components/KonnectorBlock';
3
- import Certifications from "cozy-ui/transpiled/react/Viewer/Panel/Certifications";
4
- import Qualification from "cozy-ui/transpiled/react/Viewer/Panel/Qualification";
5
- var _models$file = models.file,
6
- isFromKonnector = _models$file.isFromKonnector,
7
- hasQualifications = _models$file.hasQualifications,
8
- hasCertifications = _models$file.hasCertifications;
9
- /**
10
- * @typedef {Object} PanelBlockSpec
11
- * @property {Function} condition - Function that returns true if the block should be displayed
12
- * @property {React.Component} component - Component to display
13
- */
14
-
15
- /**
16
- * @typedef {Object.<string, PanelBlockSpec>} PanelBlocksSpecs
17
- */
18
-
19
- /**
20
- * Returns the specs of the blocks to display in the panel
21
- * @param {boolean} isPublic - Whether the panel is displayed in public view
22
- * @returns {PanelBlocksSpecs}
23
- */
24
-
25
- export var getPanelBlocksSpecs = function getPanelBlocksSpecs() {
26
- var isPublic = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
27
- return {
28
- qualifications: {
29
- condition: hasQualifications,
30
- component: Qualification
31
- },
32
- konnector: {
33
- condition: function condition(file) {
34
- return isFromKonnector(file) && !isPublic;
35
- },
36
- component: KonnectorBlock
37
- },
38
- certifications: {
39
- condition: hasCertifications,
40
- component: Certifications
41
- }
42
- };
43
- };
44
- /**
45
- * Returns the blocks to display in the panel
46
- * @param {Object} options
47
- * @param {PanelBlocksSpecs} options.panelBlocksSpecs - Specs of the blocks to display in the panel
48
- * @param {import('cozy-client/types/types').FileDocument} options.file - File object
49
- * @returns {Array.<React.Component>}
50
- */
51
-
52
- var getPanelBlocks = function getPanelBlocks(_ref) {
53
- var panelBlocksSpecs = _ref.panelBlocksSpecs,
54
- file = _ref.file;
55
- var panelBlocks = [];
56
- Object.values(panelBlocksSpecs).forEach(function (panelBlock) {
57
- panelBlock.condition(file) && panelBlocks.push(panelBlock.component);
58
- });
59
- return panelBlocks;
60
- };
61
-
62
- export default getPanelBlocks;
@@ -1,172 +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 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; }
10
-
11
- 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; }
12
-
13
- 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); }; }
14
-
15
- 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; } }
16
-
17
- import PropTypes from 'prop-types';
18
- import React, { Component } from 'react';
19
- import { toolbarPropsPropType } from "cozy-ui/transpiled/react/Viewer";
20
- import ViewerByFile from "cozy-ui/transpiled/react/Viewer/components/ViewerByFile";
21
- import ViewerControls from "cozy-ui/transpiled/react/Viewer/components/ViewerControls";
22
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
23
- var KEY_CODE_LEFT = 37;
24
- var KEY_CODE_RIGHT = 39;
25
- var KEY_CODE_ESCAPE = 27;
26
-
27
- var Viewer = /*#__PURE__*/function (_Component) {
28
- _inherits(Viewer, _Component);
29
-
30
- var _super = _createSuper(Viewer);
31
-
32
- function Viewer() {
33
- var _this;
34
-
35
- _classCallCheck(this, Viewer);
36
-
37
- _this = _super.call(this);
38
-
39
- _defineProperty(_assertThisInitialized(_this), "onKeyUp", function (e) {
40
- if (e.keyCode === KEY_CODE_LEFT) _this.onPrevious();else if (e.keyCode === KEY_CODE_RIGHT) _this.onNext();else if (e.keyCode === KEY_CODE_ESCAPE) _this.onClose();
41
- });
42
-
43
- _defineProperty(_assertThisInitialized(_this), "onNext", function () {
44
- var _this$props = _this.props,
45
- files = _this$props.files,
46
- currentIndex = _this$props.currentIndex;
47
-
48
- if (currentIndex === files.length - 1) {
49
- return;
50
- }
51
-
52
- var nextIndex = currentIndex + 1;
53
- var nextFile = files[nextIndex];
54
-
55
- _this.onChange(nextFile, nextIndex);
56
- });
57
-
58
- _defineProperty(_assertThisInitialized(_this), "onPrevious", function () {
59
- var _this$props2 = _this.props,
60
- files = _this$props2.files,
61
- currentIndex = _this$props2.currentIndex;
62
-
63
- if (currentIndex === 0) {
64
- return;
65
- }
66
-
67
- var prevIndex = currentIndex - 1;
68
- var prevFile = files[prevIndex];
69
-
70
- _this.onChange(prevFile, prevIndex);
71
- });
72
-
73
- _defineProperty(_assertThisInitialized(_this), "onClose", function () {
74
- if (_this.props.onCloseRequest) {
75
- _this.props.onCloseRequest();
76
- }
77
- });
78
-
79
- return _this;
80
- }
81
-
82
- _createClass(Viewer, [{
83
- key: "componentDidMount",
84
- value: function componentDidMount() {
85
- document.addEventListener('keyup', this.onKeyUp, false);
86
- }
87
- }, {
88
- key: "componentWillUnmount",
89
- value: function componentWillUnmount() {
90
- document.removeEventListener('keyup', this.onKeyUp, false);
91
- }
92
- }, {
93
- key: "onChange",
94
- value: function onChange(nextFile, nextIndex) {
95
- if (this.props.onChangeRequest) {
96
- this.props.onChangeRequest(nextFile, nextIndex);
97
- }
98
- }
99
- }, {
100
- key: "render",
101
- value: function render() {
102
- var _this$props3 = this.props,
103
- currentFile = _this$props3.currentFile,
104
- hasPrevious = _this$props3.hasPrevious,
105
- hasNext = _this$props3.hasNext,
106
- toolbarRef = _this$props3.toolbarRef,
107
- showNavigation = _this$props3.showNavigation,
108
- renderFallbackExtraContent = _this$props3.renderFallbackExtraContent,
109
- validForPanel = _this$props3.validForPanel,
110
- children = _this$props3.children,
111
- componentsProps = _this$props3.componentsProps; // this `expanded` property makes the next/previous controls cover the displayed image
112
-
113
- var expanded = currentFile && currentFile.class === 'image';
114
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ViewerControls, {
115
- file: currentFile,
116
- onClose: this.onClose,
117
- hasPrevious: hasPrevious,
118
- hasNext: hasNext,
119
- onPrevious: this.onPrevious,
120
- onNext: this.onNext,
121
- expanded: expanded,
122
- toolbarProps: _objectSpread(_objectSpread({}, componentsProps.toolbarProps), {}, {
123
- toolbarRef: toolbarRef
124
- }),
125
- showNavigation: showNavigation,
126
- showInfoPanel: validForPanel
127
- }, children, /*#__PURE__*/React.createElement(ViewerByFile, {
128
- file: currentFile,
129
- onClose: this.onClose,
130
- renderFallbackExtraContent: renderFallbackExtraContent,
131
- componentsProps: componentsProps
132
- })));
133
- }
134
- }]);
135
-
136
- return Viewer;
137
- }(Component);
138
-
139
- Viewer.propTypes = {
140
- /** One `io.cozy.files` to display */
141
- currentFile: FileDoctype.isRequired,
142
- hasNext: PropTypes.bool,
143
- hasPrevious: PropTypes.bool,
144
-
145
- /** Called when the user wants to leave the Viewer */
146
- onCloseRequest: PropTypes.func,
147
-
148
- /** Called with (nextFile, nextIndex) when the user requests to navigate to another file */
149
- onChangeRequest: PropTypes.func,
150
- toolbarRef: PropTypes.object,
151
-
152
- /** Whether to show left and right arrows to navigate between files */
153
- showNavigation: PropTypes.bool,
154
-
155
- /** A render prop that is called when a file can't be displayed */
156
- renderFallbackExtraContent: PropTypes.func,
157
- validForPanel: PropTypes.bool,
158
-
159
- /* Props passed to components with the same name */
160
- componentsProps: PropTypes.shape({
161
- /** Used to open an Only Office file */
162
- OnlyOfficeViewer: PropTypes.shape({
163
- /** Whether Only Office is enabled on the server */
164
- isEnabled: PropTypes.bool,
165
-
166
- /** To open the Only Office file */
167
- opener: PropTypes.func
168
- }),
169
- toolbarProps: PropTypes.shape(toolbarPropsPropType)
170
- })
171
- };
172
- export default Viewer;
@@ -1,189 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["className", "disableFooter", "disablePanel", "editPathByModelProps", "children", "componentsProps", "isPublic"],
5
- _excluded2 = ["disableModal"];
6
-
7
- 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; }
8
-
9
- 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; }
10
-
11
- import cx from 'classnames';
12
- import PropTypes from 'prop-types';
13
- import React, { createRef } from 'react';
14
- import Viewer from "cozy-ui/transpiled/react/Viewer/Viewer";
15
- import ViewerInformationsWrapper from "cozy-ui/transpiled/react/Viewer/ViewerInformationsWrapper";
16
- import { isValidForPanel } from "cozy-ui/transpiled/react/Viewer/helpers";
17
- import { locales } from "cozy-ui/transpiled/react/Viewer/locales";
18
- import { toolbarPropsPropType } from "cozy-ui/transpiled/react/Viewer/proptypes";
19
- import { ActionMenuProvider } from "cozy-ui/transpiled/react/Viewer/providers/ActionMenuProvider";
20
- import EncryptedProvider from "cozy-ui/transpiled/react/Viewer/providers/EncryptedProvider";
21
- var styles = {
22
- "viewer-wrapper": "styles__viewer-wrapper___2GIXH",
23
- "flagship-app": "styles__flagship-app___KFqbm"
24
- };
25
- import Modal from "cozy-ui/transpiled/react/Modal";
26
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
27
- import AlertProvider from "cozy-ui/transpiled/react/providers/Alert";
28
- import useBreakpoints from "cozy-ui/transpiled/react/providers/Breakpoints";
29
- import { useCozyTheme } from "cozy-ui/transpiled/react/providers/CozyTheme";
30
- import { useExtendI18n } from "cozy-ui/transpiled/react/providers/I18n";
31
-
32
- var ViewerContainer = function ViewerContainer(props) {
33
- var className = props.className,
34
- disableFooter = props.disableFooter,
35
- disablePanel = props.disablePanel,
36
- editPathByModelProps = props.editPathByModelProps,
37
- children = props.children,
38
- componentsProps = props.componentsProps,
39
- isPublic = props.isPublic,
40
- rest = _objectWithoutProperties(props, _excluded);
41
-
42
- var currentIndex = props.currentIndex,
43
- files = props.files,
44
- currentURL = props.currentURL;
45
- var toolbarRef = /*#__PURE__*/createRef();
46
-
47
- var _useBreakpoints = useBreakpoints(),
48
- isDesktop = _useBreakpoints.isDesktop;
49
-
50
- useExtendI18n(locales);
51
- var currentFile = files[currentIndex];
52
- var fileCount = files.length;
53
- var hasPrevious = currentIndex > 0;
54
- var hasNext = currentIndex < fileCount - 1;
55
- var validForPanel = isValidForPanel({
56
- file: currentFile
57
- }) && isDesktop && !disablePanel;
58
-
59
- var componentsPropsWithDefault = _objectSpread(_objectSpread({}, componentsProps), {}, {
60
- toolbarProps: _objectSpread({
61
- showToolbar: true,
62
- showClose: true
63
- }, componentsProps === null || componentsProps === void 0 ? void 0 : componentsProps.toolbarProps)
64
- });
65
-
66
- return /*#__PURE__*/React.createElement(AlertProvider, null, /*#__PURE__*/React.createElement(ActionMenuProvider, {
67
- editPathByModelProps: editPathByModelProps
68
- }, /*#__PURE__*/React.createElement("div", {
69
- id: "viewer-wrapper",
70
- className: cx(styles['viewer-wrapper'], className)
71
- }, /*#__PURE__*/React.createElement(EncryptedProvider, {
72
- url: currentURL
73
- }, /*#__PURE__*/React.createElement(Viewer, _extends({}, rest, {
74
- componentsProps: componentsPropsWithDefault,
75
- currentFile: currentFile,
76
- hasPrevious: hasPrevious,
77
- hasNext: hasNext,
78
- validForPanel: validForPanel,
79
- toolbarRef: toolbarRef
80
- }), children)), /*#__PURE__*/React.createElement(ViewerInformationsWrapper, {
81
- isPublic: isPublic,
82
- disableFooter: disableFooter,
83
- validForPanel: validForPanel,
84
- currentFile: currentFile,
85
- toolbarRef: toolbarRef
86
- }, children))));
87
- };
88
-
89
- ViewerContainer.propTypes = {
90
- /** One or more `io.cozy.files` to display */
91
- files: PropTypes.arrayOf(FileDoctype).isRequired,
92
-
93
- /** Index of the file to show */
94
- currentIndex: PropTypes.number,
95
-
96
- /** Optionnal URL of the file */
97
- currentURL: PropTypes.string,
98
- className: PropTypes.string,
99
-
100
- /** Called when the user wants to leave the Viewer */
101
- onCloseRequest: PropTypes.func,
102
-
103
- /** Called with (nextFile, nextIndex) when the user requests to navigate to another file */
104
- onChangeRequest: PropTypes.func,
105
-
106
- /** Whether to show left and right arrows to navigate between files */
107
- showNavigation: PropTypes.bool,
108
-
109
- /** A render prop that is called when a file can't be displayed */
110
- renderFallbackExtraContent: PropTypes.func,
111
-
112
- /** Edit path by model properties */
113
- editPathByModelProps: PropTypes.shape({
114
- /** URL used to edit the file when editing a `information` type metadata (text, date) */
115
- information: PropTypes.string,
116
-
117
- /** URL used to edit the file when editing a `page` type metadata (side of the document) */
118
- page: PropTypes.string
119
- }),
120
-
121
- /** Show/Hide the panel containing more information about the file only on Desktop */
122
- disablePanel: PropTypes.bool,
123
-
124
- /** Show/Hide the panel containing more information about the file only on Phone & Tablet devices */
125
- disableFooter: PropTypes.bool,
126
-
127
- /** If the Viewer is in public view */
128
- isPublic: PropTypes.bool,
129
-
130
- /* Props passed to components with the same name */
131
- componentsProps: PropTypes.shape({
132
- /** Used to open an Only Office file */
133
- OnlyOfficeViewer: PropTypes.shape({
134
- /** Whether Only Office is enabled on the server */
135
- isEnabled: PropTypes.bool,
136
-
137
- /** To open the Only Office file */
138
- opener: PropTypes.func
139
- }),
140
-
141
- /** Toolbar properties */
142
- toolbarProps: PropTypes.shape(toolbarPropsPropType)
143
- })
144
- };
145
- ViewerContainer.defaultProps = {
146
- currentIndex: 0,
147
- showNavigation: true
148
- };
149
-
150
- var ViewerContainerWrapper = function ViewerContainerWrapper(_ref) {
151
- var disableModal = _ref.disableModal,
152
- props = _objectWithoutProperties(_ref, _excluded2);
153
-
154
- var _useCozyTheme = useCozyTheme(),
155
- type = _useCozyTheme.type,
156
- variant = _useCozyTheme.variant;
157
-
158
- var _ref2 = props.componentsProps || {},
159
- _ref2$modalProps = _ref2.modalProps,
160
- modalProps = _ref2$modalProps === void 0 ? {
161
- open: true
162
- } : _ref2$modalProps;
163
-
164
- if (disableModal) {
165
- return /*#__PURE__*/React.createElement(ViewerContainer, props);
166
- }
167
-
168
- return /*#__PURE__*/React.createElement(Modal, _extends({}, modalProps, {
169
- className: "CozyTheme--".concat(type, "-").concat(variant)
170
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ViewerContainer, props)));
171
- };
172
-
173
- ViewerContainerWrapper.defaultProps = {
174
- componentsProps: {
175
- modalProps: {
176
- open: true
177
- }
178
- }
179
- };
180
- ViewerContainerWrapper.propTypes = {
181
- /** To avoid wrapping the Viewer with a Modal component */
182
- disableModal: PropTypes.bool,
183
-
184
- /** Props passed to Modal component */
185
- componentsProps: PropTypes.shape({
186
- modalProps: PropTypes.object
187
- })
188
- };
189
- export default ViewerContainerWrapper;
@@ -1,2 +0,0 @@
1
- import DefaultViewer from "cozy-ui/transpiled/react/Viewer";
2
- export default DefaultViewer;
@@ -1,49 +0,0 @@
1
- import { useTheme } from '@material-ui/core';
2
- import PropTypes from 'prop-types';
3
- import React from 'react';
4
- import FooterContent from "cozy-ui/transpiled/react/Viewer/Footer/FooterContent";
5
- import PanelContent from "cozy-ui/transpiled/react/Viewer/Panel/PanelContent";
6
- import Footer from "cozy-ui/transpiled/react/Viewer/components/Footer";
7
- import InformationPanel from "cozy-ui/transpiled/react/Viewer/components/InformationPanel";
8
- import { useSetFlagshipUI } from "cozy-ui/transpiled/react/hooks/useSetFlagshipUi/useSetFlagshipUI";
9
- import { FileDoctype } from "cozy-ui/transpiled/react/proptypes";
10
- import { useCozyTheme } from "cozy-ui/transpiled/react/providers/CozyTheme";
11
-
12
- var ViewerInformationsWrapper = function ViewerInformationsWrapper(_ref) {
13
- var currentFile = _ref.currentFile,
14
- disableFooter = _ref.disableFooter,
15
- validForPanel = _ref.validForPanel,
16
- toolbarRef = _ref.toolbarRef,
17
- isPublic = _ref.isPublic,
18
- children = _ref.children;
19
- var theme = useTheme();
20
-
21
- var _useCozyTheme = useCozyTheme(),
22
- isLight = _useCozyTheme.isLight;
23
-
24
- var sidebar = document.querySelector('[class*="sidebar"]');
25
- useSetFlagshipUI({
26
- bottomBackground: theme.palette.background.paper,
27
- bottomTheme: isLight ? 'dark' : 'light'
28
- }, {
29
- bottomBackground: theme.palette.background[sidebar ? 'default' : 'paper']
30
- });
31
- return /*#__PURE__*/React.createElement(React.Fragment, null, !disableFooter && /*#__PURE__*/React.createElement(Footer, null, /*#__PURE__*/React.createElement(FooterContent, {
32
- file: currentFile,
33
- toolbarRef: toolbarRef,
34
- isPublic: isPublic
35
- }, children)), validForPanel && /*#__PURE__*/React.createElement(InformationPanel, null, /*#__PURE__*/React.createElement(PanelContent, {
36
- file: currentFile,
37
- isPublic: isPublic
38
- })));
39
- };
40
-
41
- ViewerInformationsWrapper.propTypes = {
42
- currentFile: FileDoctype.isRequired,
43
- disableFooter: PropTypes.bool,
44
- validForPanel: PropTypes.bool,
45
- toolbarRef: PropTypes.object,
46
- isPublic: PropTypes.bool,
47
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.arrayOf(PropTypes.node)])
48
- };
49
- export default ViewerInformationsWrapper;
@@ -1,56 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["footerProps", "panelInfoProps", "className"];
4
- import cx from 'classnames';
5
- import React, { createRef } from 'react';
6
- import Viewer from "cozy-ui/transpiled/react/Viewer/Viewer";
7
- import Footer from "cozy-ui/transpiled/react/Viewer/components/Footer";
8
- import InformationPanel from "cozy-ui/transpiled/react/Viewer/components/InformationPanel";
9
- var styles = {
10
- "viewer-wrapper": "styles__viewer-wrapper___2GIXH",
11
- "flagship-app": "styles__flagship-app___KFqbm"
12
- };
13
- import useBreakpoints from "cozy-ui/transpiled/react/providers/Breakpoints";
14
-
15
- var ViewerWithCustomPanelAndFooter = function ViewerWithCustomPanelAndFooter(props) {
16
- console.warn('Warning: Please do not use the "ViewerWithCustomPanelAndFooter" Component, replace it with the default export component');
17
-
18
- var footerProps = props.footerProps,
19
- panelInfoProps = props.panelInfoProps,
20
- className = props.className,
21
- rest = _objectWithoutProperties(props, _excluded);
22
-
23
- var files = props.files,
24
- currentIndex = props.currentIndex;
25
- var fileCount = files.length;
26
- var hasPrevious = currentIndex > 0;
27
- var hasNext = currentIndex < fileCount - 1;
28
-
29
- var _useBreakpoints = useBreakpoints(),
30
- isDesktop = _useBreakpoints.isDesktop;
31
-
32
- var toolbarRef = /*#__PURE__*/createRef();
33
- var currentFile = files[currentIndex];
34
- var showInfoPanel = isDesktop && panelInfoProps && panelInfoProps.showPanel({
35
- file: currentFile
36
- });
37
- return /*#__PURE__*/React.createElement("div", {
38
- id: "viewer-wrapper",
39
- className: cx(styles['viewer-wrapper'], className)
40
- }, /*#__PURE__*/React.createElement(Viewer, _extends({}, rest, {
41
- disablePanel: true,
42
- disableFooter: true,
43
- currentFile: currentFile,
44
- hasPrevious: hasPrevious,
45
- hasNext: hasNext,
46
- validForPanel: showInfoPanel,
47
- toolbarRef: toolbarRef
48
- })), /*#__PURE__*/React.createElement(Footer, null, /*#__PURE__*/React.createElement(footerProps.FooterContent, {
49
- file: currentFile,
50
- toolbarRef: toolbarRef
51
- })), showInfoPanel && /*#__PURE__*/React.createElement(InformationPanel, null, /*#__PURE__*/React.createElement(panelInfoProps.PanelContent, {
52
- file: currentFile
53
- })));
54
- };
55
-
56
- export default ViewerWithCustomPanelAndFooter;
@@ -1,41 +0,0 @@
1
- import React from 'react';
2
- var styles = {
3
- "viewer-imageviewer": "styles__viewer-imageviewer___26k0p",
4
- "viewer-noviewer": "styles__viewer-noviewer___auG-6",
5
- "viewer-audioviewer": "styles__viewer-audioviewer___1OQPB",
6
- "viewer-videoviewer": "styles__viewer-videoviewer___NhFoe",
7
- "viewer-pdfviewer": "styles__viewer-pdfviewer___1gTP9",
8
- "viewer-textviewer": "styles__viewer-textviewer___3u5Zw",
9
- "viewer-canceled": "styles__viewer-canceled___pOA_O",
10
- "viewer-textviewer-content": "styles__viewer-textviewer-content___PB-c3",
11
- "viewer-filename": "styles__viewer-filename___3jZCt",
12
- "viewer-pdfviewer-pdf": "styles__viewer-pdfviewer-pdf___16ID9",
13
- "viewer-pdfviewer-page": "styles__viewer-pdfviewer-page___2RPuw",
14
- "viewer-pdfviewer-toolbar": "styles__viewer-pdfviewer-toolbar___3NXOk",
15
- "viewer-pdfMobile": "styles__viewer-pdfMobile___25FPg",
16
- "viewer-pdfMobile--image": "styles__viewer-pdfMobile--image___3gpFL"
17
- };
18
- import Icon from "cozy-ui/transpiled/react/Icon";
19
- import FileTypeAudioIcon from "cozy-ui/transpiled/react/Icons/FileTypeAudio";
20
- import isTesting from "cozy-ui/transpiled/react/helpers/isTesting";
21
- import withFileUrl from "cozy-ui/transpiled/react/Viewer/hoc/withFileUrl";
22
-
23
- var AudioViewer = function AudioViewer(_ref) {
24
- var file = _ref.file,
25
- url = _ref.url;
26
- return /*#__PURE__*/React.createElement("div", {
27
- className: styles['viewer-audioviewer']
28
- }, /*#__PURE__*/React.createElement(Icon, {
29
- icon: FileTypeAudioIcon,
30
- width: 160,
31
- height: 140
32
- }), /*#__PURE__*/React.createElement("p", {
33
- className: styles['viewer-filename']
34
- }, file.name), /*#__PURE__*/React.createElement("audio", {
35
- src: url,
36
- controls: "controls",
37
- preload: isTesting() ? 'none' : 'auto'
38
- }));
39
- };
40
-
41
- export default withFileUrl(AudioViewer);