cozy-sharing 37.5.4 → 37.5.5

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [37.5.5](https://github.com/cozy/cozy-libs/compare/cozy-sharing@37.5.4...cozy-sharing@37.5.5) (2026-09-01)
7
+
8
+ **Note:** Version bump only for package cozy-sharing
9
+
6
10
  ## [37.5.4](https://github.com/cozy/cozy-libs/compare/cozy-sharing@37.5.3...cozy-sharing@37.5.4) (2026-08-31)
7
11
 
8
12
  ### Bug Fixes
@@ -5,117 +5,30 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
6
6
  var _excluded = ["showShareByLink", "showGenerateLinkButton", "autoOpenShareRestriction", "documentType", "document", "onShare", "recipients", "sharingDesc", "createContact", "onClose"];
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
- import cx from 'classnames';
9
8
  import PropTypes from 'prop-types';
10
9
  import React, { useCallback, useMemo, useState } from 'react';
11
10
  import { useClient } from 'cozy-client';
12
11
  import Button from 'cozy-ui/transpiled/react/Buttons';
13
- import Typography from 'cozy-ui/transpiled/react/Typography';
14
12
  import { useAlert } from 'cozy-ui/transpiled/react/providers/Alert';
15
- import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints';
16
13
  import { useI18n } from 'twake-i18n';
17
- import AntivirusAlert from './AntivirusAlert';
18
- import { default as DumbShareByEmail } from './ShareByEmail';
19
14
  import { default as DumbShareByLink } from './ShareByLink';
20
15
  import ShareDialogTwoStepsConfirmationContainer from './ShareDialogTwoStepsConfirmationContainer';
21
16
  import { ShareRecipientsLimitModal } from './ShareRecipientsLimitModal';
22
- import WhoHasAccess from './WhoHasAccess';
17
+ import SharingContent from './SharingContent';
23
18
  import { getOrCreateFromArray } from '../helpers/contacts';
24
19
  import { hasReachRecipientsLimit } from '../helpers/recipients';
25
20
  import { getErrorMessage, getSuccessMessage } from '../helpers/share';
26
21
  import { usePendingRecipients } from '../hooks/usePendingRecipients';
27
22
  import { useSharingContext } from '../hooks/useSharingContext';
28
- var styles = {
29
- "share-modal-content": "share__share-modal-content___1iqEq",
30
- "coz-form": "share__coz-form___1ICST",
31
- "coz-form-group": "share__coz-form-group___VsQp7",
32
- "coz-form-desc": "share__coz-form-desc___2mYN4",
33
- "coz-form-label": "share__coz-form-label___bogBw",
34
- "coz-form-label--error": "share__coz-form-label--error___3YPkf",
35
- "coz-form-errors": "share__coz-form-errors___2xYRz",
36
- "coz-form-controls": "share__coz-form-controls___H8kGc",
37
- "coz-form-controls--full": "share__coz-form-controls--full___1oQXF",
38
- "coz-form-controls--dispatch": "share__coz-form-controls--dispatch___1zIxt",
39
- "error": "share__error___pwqPO",
40
- "share-dialog-scrollable-content": "share__share-dialog-scrollable-content___2Xyoq",
41
- "share-dialog-scrollable-body": "share__share-dialog-scrollable-body___2O5UT",
42
- "share-dialog-members": "share__share-dialog-members___CNHKJ",
43
- "share-byemail-onlybylink": "share__share-byemail-onlybylink___29W-t",
44
- "aligned-dropdown-button": "share__aligned-dropdown-button___3crgG"
45
- };
46
-
47
- var SharingContent = function SharingContent(_ref) {
48
- var document = _ref.document,
49
- documentType = _ref.documentType,
50
- hasSharedParent = _ref.hasSharedParent,
51
- isOwner = _ref.isOwner,
52
- onRevoke = _ref.onRevoke,
53
- onRevokeSelf = _ref.onRevokeSelf,
54
- recipients = _ref.recipients,
55
- sharing = _ref.sharing,
56
- showShareByEmail = _ref.showShareByEmail,
57
- showShareOnlyByLink = _ref.showShareOnlyByLink,
58
- showWhoHasAccess = _ref.showWhoHasAccess,
59
- recipientsToBeConfirmed = _ref.recipientsToBeConfirmed,
60
- verifyRecipient = _ref.verifyRecipient,
61
- link = _ref.link,
62
- permissions = _ref.permissions,
63
- pendingRecipients = _ref.pendingRecipients,
64
- onPendingRecipientsChange = _ref.onPendingRecipientsChange,
65
- selectedOption = _ref.selectedOption,
66
- onSelectedOptionChange = _ref.onSelectedOptionChange;
67
-
68
- var _useI18n = useI18n(),
69
- t = _useI18n.t;
70
-
71
- var _useBreakpoints = useBreakpoints(),
72
- isMobile = _useBreakpoints.isMobile;
73
23
 
74
- return /*#__PURE__*/React.createElement("div", {
75
- className: cx(styles['share-modal-content'])
76
- }, /*#__PURE__*/React.createElement("div", {
77
- className: cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')
78
- }, /*#__PURE__*/React.createElement(AntivirusAlert, {
79
- document: document
80
- }), showShareOnlyByLink && /*#__PURE__*/React.createElement("div", {
81
- className: styles['share-byemail-onlybylink']
82
- }, t("".concat(documentType, ".share.shareByEmail.onlyByLink"), {
83
- type: t("".concat(documentType, ".share.shareByEmail.type.").concat(document.type === 'directory' ? 'folder' : 'file'))
84
- }), ' ', /*#__PURE__*/React.createElement("strong", null, t("".concat(documentType, ".share.shareByEmail.").concat(hasSharedParent ? 'hasSharedParent' : 'hasSharedChild')))), /*#__PURE__*/React.createElement(Typography, {
85
- variant: "h6",
86
- className: "u-mb-half"
87
- }, t('Share.contacts.addUsers')), showShareByEmail && /*#__PURE__*/React.createElement(DumbShareByEmail, {
88
- currentRecipients: recipients,
89
- document: document,
90
- documentType: documentType,
91
- sharing: sharing,
92
- pendingRecipients: pendingRecipients,
93
- onPendingRecipientsChange: onPendingRecipientsChange,
94
- selectedOption: selectedOption,
95
- onSelectedOptionChange: onSelectedOptionChange,
96
- enableCreateContact: true
97
- })), showWhoHasAccess && /*#__PURE__*/React.createElement(WhoHasAccess, {
98
- document: document,
99
- documentType: documentType,
100
- isOwner: isOwner,
101
- onRevoke: onRevoke,
102
- onRevokeSelf: onRevokeSelf,
103
- recipients: recipients,
104
- recipientsToBeConfirmed: recipientsToBeConfirmed,
105
- verifyRecipient: verifyRecipient,
106
- link: link,
107
- permissions: permissions
108
- }));
109
- };
110
-
111
- var SharingTitleFunction = function SharingTitleFunction(_ref2) {
112
- var documentType = _ref2.documentType,
113
- document = _ref2.document;
24
+ var SharingTitleFunction = function SharingTitleFunction(_ref) {
25
+ var documentType = _ref.documentType,
26
+ document = _ref.document;
114
27
  return function SharingTitle() {
115
28
  var _document$attributes;
116
29
 
117
- var _useI18n2 = useI18n(),
118
- t = _useI18n2.t;
30
+ var _useI18n = useI18n(),
31
+ t = _useI18n.t;
119
32
 
120
33
  var title = t("".concat(documentType, ".share.title"), {
121
34
  name: document.name || ((_document$attributes = document.attributes) === null || _document$attributes === void 0 ? void 0 : _document$attributes.name)
@@ -124,21 +37,21 @@ var SharingTitleFunction = function SharingTitleFunction(_ref2) {
124
37
  };
125
38
  };
126
39
 
127
- var ShareDialogCozyToCozy = function ShareDialogCozyToCozy(_ref3) {
128
- var showShareByLink = _ref3.showShareByLink,
129
- showGenerateLinkButton = _ref3.showGenerateLinkButton,
130
- autoOpenShareRestriction = _ref3.autoOpenShareRestriction,
131
- documentType = _ref3.documentType,
132
- document = _ref3.document,
133
- onShare = _ref3.onShare,
134
- recipients = _ref3.recipients,
135
- sharingDesc = _ref3.sharingDesc,
136
- createContact = _ref3.createContact,
137
- onClose = _ref3.onClose,
138
- props = _objectWithoutProperties(_ref3, _excluded);
139
-
140
- var _useI18n3 = useI18n(),
141
- t = _useI18n3.t;
40
+ var ShareDialogCozyToCozy = function ShareDialogCozyToCozy(_ref2) {
41
+ var showShareByLink = _ref2.showShareByLink,
42
+ showGenerateLinkButton = _ref2.showGenerateLinkButton,
43
+ autoOpenShareRestriction = _ref2.autoOpenShareRestriction,
44
+ documentType = _ref2.documentType,
45
+ document = _ref2.document,
46
+ onShare = _ref2.onShare,
47
+ recipients = _ref2.recipients,
48
+ sharingDesc = _ref2.sharingDesc,
49
+ createContact = _ref2.createContact,
50
+ onClose = _ref2.onClose,
51
+ props = _objectWithoutProperties(_ref2, _excluded);
52
+
53
+ var _useI18n2 = useI18n(),
54
+ t = _useI18n2.t;
142
55
 
143
56
  var client = useClient();
144
57
 
@@ -64,7 +64,6 @@ export var ShareModal = function ShareModal(_ref) {
64
64
  twoStepsConfirmationMethods: twoStepsConfirmationMethods
65
65
  });
66
66
  };
67
- export default ShareModal;
68
67
  ShareModal.propTypes = {
69
68
  autoOpenShareRestriction: PropTypes.bool,
70
69
  createContact: PropTypes.func.isRequired,
@@ -87,4 +86,5 @@ ShareModal.propTypes = {
87
86
  rejectRecipient: PropTypes.func,
88
87
  recipientConfirmationDialogContent: PropTypes.func
89
88
  })
90
- };
89
+ };
90
+ export default ShareModal;
@@ -0,0 +1,92 @@
1
+ import cx from 'classnames';
2
+ import React from 'react';
3
+ import Typography from 'cozy-ui/transpiled/react/Typography';
4
+ import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints';
5
+ import { useI18n } from 'twake-i18n';
6
+ import AntivirusAlert from './AntivirusAlert';
7
+ import { default as DumbShareByEmail } from './ShareByEmail';
8
+ import WhoHasAccess from './WhoHasAccess';
9
+ var styles = {
10
+ "share-modal-content": "share__share-modal-content___1iqEq",
11
+ "coz-form": "share__coz-form___1ICST",
12
+ "coz-form-group": "share__coz-form-group___VsQp7",
13
+ "coz-form-desc": "share__coz-form-desc___2mYN4",
14
+ "coz-form-label": "share__coz-form-label___bogBw",
15
+ "coz-form-label--error": "share__coz-form-label--error___3YPkf",
16
+ "coz-form-errors": "share__coz-form-errors___2xYRz",
17
+ "coz-form-controls": "share__coz-form-controls___H8kGc",
18
+ "coz-form-controls--full": "share__coz-form-controls--full___1oQXF",
19
+ "coz-form-controls--dispatch": "share__coz-form-controls--dispatch___1zIxt",
20
+ "error": "share__error___pwqPO",
21
+ "share-dialog-scrollable-content": "share__share-dialog-scrollable-content___2Xyoq",
22
+ "share-dialog-scrollable-body": "share__share-dialog-scrollable-body___2O5UT",
23
+ "share-dialog-members": "share__share-dialog-members___CNHKJ",
24
+ "share-byemail-onlybylink": "share__share-byemail-onlybylink___29W-t",
25
+ "aligned-dropdown-button": "share__aligned-dropdown-button___3crgG"
26
+ };
27
+
28
+ var SharingContent = function SharingContent(_ref) {
29
+ var document = _ref.document,
30
+ documentType = _ref.documentType,
31
+ hasSharedParent = _ref.hasSharedParent,
32
+ isOwner = _ref.isOwner,
33
+ onRevoke = _ref.onRevoke,
34
+ onRevokeSelf = _ref.onRevokeSelf,
35
+ recipients = _ref.recipients,
36
+ sharing = _ref.sharing,
37
+ showShareByEmail = _ref.showShareByEmail,
38
+ showShareOnlyByLink = _ref.showShareOnlyByLink,
39
+ showWhoHasAccess = _ref.showWhoHasAccess,
40
+ recipientsToBeConfirmed = _ref.recipientsToBeConfirmed,
41
+ verifyRecipient = _ref.verifyRecipient,
42
+ link = _ref.link,
43
+ permissions = _ref.permissions,
44
+ pendingRecipients = _ref.pendingRecipients,
45
+ onPendingRecipientsChange = _ref.onPendingRecipientsChange,
46
+ selectedOption = _ref.selectedOption,
47
+ onSelectedOptionChange = _ref.onSelectedOptionChange;
48
+
49
+ var _useI18n = useI18n(),
50
+ t = _useI18n.t;
51
+
52
+ var _useBreakpoints = useBreakpoints(),
53
+ isMobile = _useBreakpoints.isMobile;
54
+
55
+ return /*#__PURE__*/React.createElement("div", {
56
+ className: cx(styles['share-modal-content'])
57
+ }, /*#__PURE__*/React.createElement("div", {
58
+ className: cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')
59
+ }, /*#__PURE__*/React.createElement(AntivirusAlert, {
60
+ document: document
61
+ }), showShareOnlyByLink && /*#__PURE__*/React.createElement("div", {
62
+ className: styles['share-byemail-onlybylink']
63
+ }, t("".concat(documentType, ".share.shareByEmail.onlyByLink"), {
64
+ type: t("".concat(documentType, ".share.shareByEmail.type.").concat(document.type === 'directory' ? 'folder' : 'file'))
65
+ }), ' ', /*#__PURE__*/React.createElement("strong", null, t("".concat(documentType, ".share.shareByEmail.").concat(hasSharedParent ? 'hasSharedParent' : 'hasSharedChild')))), /*#__PURE__*/React.createElement(Typography, {
66
+ variant: "h6",
67
+ className: "u-mb-half"
68
+ }, t('Share.contacts.addUsers')), showShareByEmail && /*#__PURE__*/React.createElement(DumbShareByEmail, {
69
+ currentRecipients: recipients,
70
+ document: document,
71
+ documentType: documentType,
72
+ sharing: sharing,
73
+ pendingRecipients: pendingRecipients,
74
+ onPendingRecipientsChange: onPendingRecipientsChange,
75
+ selectedOption: selectedOption,
76
+ onSelectedOptionChange: onSelectedOptionChange,
77
+ enableCreateContact: true
78
+ })), showWhoHasAccess && /*#__PURE__*/React.createElement(WhoHasAccess, {
79
+ document: document,
80
+ documentType: documentType,
81
+ isOwner: isOwner,
82
+ onRevoke: onRevoke,
83
+ onRevokeSelf: onRevokeSelf,
84
+ recipients: recipients,
85
+ recipientsToBeConfirmed: recipientsToBeConfirmed,
86
+ verifyRecipient: verifyRecipient,
87
+ link: link,
88
+ permissions: permissions
89
+ }));
90
+ };
91
+
92
+ export default SharingContent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-sharing",
3
- "version": "37.5.4",
3
+ "version": "37.5.5",
4
4
  "description": "Provides sharing login for React applications.",
5
5
  "main": "dist/index.js",
6
6
  "author": "Cozy",
@@ -59,7 +59,7 @@
59
59
  "cozy-intent": "^2.31.1",
60
60
  "cozy-minilog": "^3.10.1",
61
61
  "cozy-ui": "^140.5.0",
62
- "cozy-ui-plus": "^12.3.13",
62
+ "cozy-ui-plus": "^12.3.14",
63
63
  "jest": "30.3.0",
64
64
  "jest-environment-jsdom": "30.3.0",
65
65
  "react": "16.12.0",
@@ -85,5 +85,5 @@
85
85
  "sideEffects": [
86
86
  "*.css"
87
87
  ],
88
- "gitHead": "0257cf0ecb129fec4b9d3f99e3a3fbb318429112"
88
+ "gitHead": "319c4890af0fbee641e25a2cb7c1bd2501b57024"
89
89
  }
@@ -1,106 +1,20 @@
1
- import cx from 'classnames'
2
1
  import PropTypes from 'prop-types'
3
2
  import React, { useCallback, useMemo, useState } from 'react'
4
3
 
5
4
  import { useClient } from 'cozy-client'
6
5
  import Button from 'cozy-ui/transpiled/react/Buttons'
7
- import Typography from 'cozy-ui/transpiled/react/Typography'
8
6
  import { useAlert } from 'cozy-ui/transpiled/react/providers/Alert'
9
- import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints'
10
7
  import { useI18n } from 'twake-i18n'
11
8
 
12
- import AntivirusAlert from './AntivirusAlert'
13
- import { default as DumbShareByEmail } from './ShareByEmail'
14
9
  import { default as DumbShareByLink } from './ShareByLink'
15
10
  import ShareDialogTwoStepsConfirmationContainer from './ShareDialogTwoStepsConfirmationContainer'
16
11
  import { ShareRecipientsLimitModal } from './ShareRecipientsLimitModal'
17
- import WhoHasAccess from './WhoHasAccess'
12
+ import SharingContent from './SharingContent'
18
13
  import { getOrCreateFromArray } from '../helpers/contacts'
19
14
  import { hasReachRecipientsLimit } from '../helpers/recipients'
20
15
  import { getErrorMessage, getSuccessMessage } from '../helpers/share'
21
16
  import { usePendingRecipients } from '../hooks/usePendingRecipients'
22
17
  import { useSharingContext } from '../hooks/useSharingContext'
23
- import styles from '../styles/share.styl'
24
-
25
- const SharingContent = ({
26
- document,
27
- documentType,
28
- hasSharedParent,
29
- isOwner,
30
- onRevoke,
31
- onRevokeSelf,
32
- recipients,
33
- sharing,
34
- showShareByEmail,
35
- showShareOnlyByLink,
36
- showWhoHasAccess,
37
- recipientsToBeConfirmed,
38
- verifyRecipient,
39
- link,
40
- permissions,
41
- pendingRecipients,
42
- onPendingRecipientsChange,
43
- selectedOption,
44
- onSelectedOptionChange
45
- }) => {
46
- const { t } = useI18n()
47
- const { isMobile } = useBreakpoints()
48
- return (
49
- <div className={cx(styles['share-modal-content'])}>
50
- <div className={cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')}>
51
- <AntivirusAlert document={document} />
52
- {showShareOnlyByLink && (
53
- <div className={styles['share-byemail-onlybylink']}>
54
- {t(`${documentType}.share.shareByEmail.onlyByLink`, {
55
- type: t(
56
- `${documentType}.share.shareByEmail.type.${
57
- document.type === 'directory' ? 'folder' : 'file'
58
- }`
59
- )
60
- })}{' '}
61
- <strong>
62
- {t(
63
- `${documentType}.share.shareByEmail.${
64
- hasSharedParent ? 'hasSharedParent' : 'hasSharedChild'
65
- }`
66
- )}
67
- </strong>
68
- </div>
69
- )}
70
- <Typography variant="h6" className="u-mb-half">
71
- {t('Share.contacts.addUsers')}
72
- </Typography>
73
- {showShareByEmail && (
74
- <DumbShareByEmail
75
- currentRecipients={recipients}
76
- document={document}
77
- documentType={documentType}
78
- sharing={sharing}
79
- pendingRecipients={pendingRecipients}
80
- onPendingRecipientsChange={onPendingRecipientsChange}
81
- selectedOption={selectedOption}
82
- onSelectedOptionChange={onSelectedOptionChange}
83
- enableCreateContact
84
- />
85
- )}
86
- </div>
87
- {showWhoHasAccess && (
88
- <WhoHasAccess
89
- document={document}
90
- documentType={documentType}
91
- isOwner={isOwner}
92
- onRevoke={onRevoke}
93
- onRevokeSelf={onRevokeSelf}
94
- recipients={recipients}
95
- recipientsToBeConfirmed={recipientsToBeConfirmed}
96
- verifyRecipient={verifyRecipient}
97
- link={link}
98
- permissions={permissions}
99
- />
100
- )}
101
- </div>
102
- )
103
- }
104
18
 
105
19
  const SharingTitleFunction = ({ documentType, document }) =>
106
20
  function SharingTitle() {
@@ -75,8 +75,6 @@ export const ShareModal = ({
75
75
  )
76
76
  }
77
77
 
78
- export default ShareModal
79
-
80
78
  ShareModal.propTypes = {
81
79
  autoOpenShareRestriction: PropTypes.bool,
82
80
  createContact: PropTypes.func.isRequired,
@@ -100,3 +98,5 @@ ShareModal.propTypes = {
100
98
  recipientConfirmationDialogContent: PropTypes.func
101
99
  })
102
100
  }
101
+
102
+ export default ShareModal
@@ -0,0 +1,94 @@
1
+ import cx from 'classnames'
2
+ import React from 'react'
3
+
4
+ import Typography from 'cozy-ui/transpiled/react/Typography'
5
+ import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints'
6
+ import { useI18n } from 'twake-i18n'
7
+
8
+ import AntivirusAlert from './AntivirusAlert'
9
+ import { default as DumbShareByEmail } from './ShareByEmail'
10
+ import WhoHasAccess from './WhoHasAccess'
11
+ import styles from '../styles/share.styl'
12
+
13
+ const SharingContent = ({
14
+ document,
15
+ documentType,
16
+ hasSharedParent,
17
+ isOwner,
18
+ onRevoke,
19
+ onRevokeSelf,
20
+ recipients,
21
+ sharing,
22
+ showShareByEmail,
23
+ showShareOnlyByLink,
24
+ showWhoHasAccess,
25
+ recipientsToBeConfirmed,
26
+ verifyRecipient,
27
+ link,
28
+ permissions,
29
+ pendingRecipients,
30
+ onPendingRecipientsChange,
31
+ selectedOption,
32
+ onSelectedOptionChange
33
+ }) => {
34
+ const { t } = useI18n()
35
+ const { isMobile } = useBreakpoints()
36
+
37
+ return (
38
+ <div className={cx(styles['share-modal-content'])}>
39
+ <div className={cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')}>
40
+ <AntivirusAlert document={document} />
41
+ {showShareOnlyByLink && (
42
+ <div className={styles['share-byemail-onlybylink']}>
43
+ {t(`${documentType}.share.shareByEmail.onlyByLink`, {
44
+ type: t(
45
+ `${documentType}.share.shareByEmail.type.${
46
+ document.type === 'directory' ? 'folder' : 'file'
47
+ }`
48
+ )
49
+ })}{' '}
50
+ <strong>
51
+ {t(
52
+ `${documentType}.share.shareByEmail.${
53
+ hasSharedParent ? 'hasSharedParent' : 'hasSharedChild'
54
+ }`
55
+ )}
56
+ </strong>
57
+ </div>
58
+ )}
59
+ <Typography variant="h6" className="u-mb-half">
60
+ {t('Share.contacts.addUsers')}
61
+ </Typography>
62
+ {showShareByEmail && (
63
+ <DumbShareByEmail
64
+ currentRecipients={recipients}
65
+ document={document}
66
+ documentType={documentType}
67
+ sharing={sharing}
68
+ pendingRecipients={pendingRecipients}
69
+ onPendingRecipientsChange={onPendingRecipientsChange}
70
+ selectedOption={selectedOption}
71
+ onSelectedOptionChange={onSelectedOptionChange}
72
+ enableCreateContact
73
+ />
74
+ )}
75
+ </div>
76
+ {showWhoHasAccess && (
77
+ <WhoHasAccess
78
+ document={document}
79
+ documentType={documentType}
80
+ isOwner={isOwner}
81
+ onRevoke={onRevoke}
82
+ onRevokeSelf={onRevokeSelf}
83
+ recipients={recipients}
84
+ recipientsToBeConfirmed={recipientsToBeConfirmed}
85
+ verifyRecipient={verifyRecipient}
86
+ link={link}
87
+ permissions={permissions}
88
+ />
89
+ )}
90
+ </div>
91
+ )
92
+ }
93
+
94
+ export default SharingContent