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