cozy-sharing 31.0.2 → 31.2.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.
- package/CHANGELOG.md +30 -0
- package/dist/components/FederatedFolder/DumbFederatedFolderModal.js +15 -16
- package/dist/components/FederatedFolder/FederatedFolderModal.js +78 -103
- package/dist/components/FederatedFolder/FederatedFolderModal.spec.js +102 -292
- package/dist/components/Recipient/GroupRecipientPermissions.js +15 -11
- package/dist/components/Recipient/LinkRecipient.js +15 -11
- package/dist/components/Recipient/LinkRecipientLite.js +1 -1
- package/dist/components/Recipient/LinkRecipientPermissions.js +2 -1
- package/dist/components/Recipient/MemberRecipient.spec.js +8 -10
- package/dist/components/Recipient/MemberRecipientLite.js +1 -1
- package/dist/components/Recipient/MemberRecipientPermissions.js +16 -12
- package/dist/components/Recipient/MemberRecipientPermissions.spec.js +62 -50
- package/dist/components/Recipient/RecipientConfirm.js +0 -5
- package/dist/components/ShareAutosuggest.js +9 -4
- package/dist/components/ShareByEmail.js +29 -274
- package/dist/components/ShareByEmail.spec.js +52 -230
- package/dist/components/ShareByLink.js +1 -3
- package/dist/components/ShareDialogCozyToCozy.js +169 -35
- package/dist/components/ShareDialogCozyToCozy.spec.js +123 -36
- package/dist/components/ShareDialogTwoStepsConfirmationContainer.js +13 -3
- package/dist/components/ShareModal/SharingDetailsModal.js +0 -5
- package/dist/components/ShareRecipientsInput.js +6 -3
- package/dist/components/SharedDrive/SharedDriveForm.js +17 -25
- package/dist/components/SharedDrive/SharedDriveModal.js +1 -1
- package/dist/components/SharedDrive/SharedDriveRecipientPermissions.js +15 -10
- package/dist/components/SharedDrive/useSharedDrive.js +33 -57
- package/dist/components/SharedDrive/useSharedDrive.spec.js +29 -93
- package/dist/components/SharedFolder/DumbBatchSharedFolderModal.js +15 -26
- package/dist/components/Sharetypeselect.js +85 -90
- package/dist/hooks/usePendingRecipients.js +20 -0
- package/dist/hooks/usePendingRecipients.spec.js +30 -0
- package/dist/styles/autosuggest.styl +8 -2
- package/dist/styles/share.styl +0 -39
- package/dist/stylesheet.css +8 -36
- package/locales/en.json +14 -44
- package/locales/fr.json +14 -44
- package/locales/ru.json +14 -44
- package/locales/vi.json +14 -42
- package/package.json +2 -2
- package/src/components/FederatedFolder/DumbFederatedFolderModal.jsx +14 -15
- package/src/components/FederatedFolder/FederatedFolderModal.jsx +50 -67
- package/src/components/FederatedFolder/FederatedFolderModal.spec.jsx +63 -186
- package/src/components/Recipient/GroupRecipientPermissions.jsx +15 -13
- package/src/components/Recipient/LinkRecipient.jsx +9 -9
- package/src/components/Recipient/LinkRecipientLite.jsx +1 -3
- package/src/components/Recipient/LinkRecipientPermissions.jsx +2 -1
- package/src/components/Recipient/MemberRecipient.spec.jsx +4 -6
- package/src/components/Recipient/MemberRecipientLite.jsx +2 -2
- package/src/components/Recipient/MemberRecipientPermissions.jsx +16 -21
- package/src/components/Recipient/MemberRecipientPermissions.spec.jsx +21 -23
- package/src/components/ShareAutosuggest.jsx +7 -2
- package/src/components/ShareByEmail.jsx +35 -186
- package/src/components/ShareByEmail.spec.jsx +22 -173
- package/src/components/ShareByLink.jsx +1 -7
- package/src/components/ShareDialogCozyToCozy.jsx +171 -38
- package/src/components/ShareDialogCozyToCozy.spec.jsx +67 -1
- package/src/components/ShareDialogTwoStepsConfirmationContainer.jsx +11 -1
- package/src/components/ShareRecipientsInput.jsx +5 -2
- package/src/components/SharedDrive/SharedDriveForm.jsx +16 -25
- package/src/components/SharedDrive/SharedDriveModal.jsx +1 -1
- package/src/components/SharedDrive/SharedDriveRecipientPermissions.jsx +15 -17
- package/src/components/SharedDrive/useSharedDrive.js +24 -50
- package/src/components/SharedDrive/useSharedDrive.spec.js +19 -67
- package/src/components/SharedFolder/DumbBatchSharedFolderModal.jsx +15 -29
- package/src/components/Sharetypeselect.jsx +75 -58
- package/src/hooks/usePendingRecipients.js +13 -0
- package/src/hooks/usePendingRecipients.spec.js +21 -0
- package/src/styles/autosuggest.styl +8 -2
- package/src/styles/share.styl +0 -39
- package/dist/components/Recipient/actions/revokeGroup.js +0 -42
- package/dist/components/Recipient/actions/revokeMember.js +0 -42
- package/dist/components/Recipient/actions/revokeSharedDriveMember.js +0 -41
- package/dist/components/SharedDrive/helpers.js +0 -102
- package/dist/components/SharedDrive/helpers.spec.js +0 -227
- package/dist/components/Sharesubmit.js +0 -28
- package/src/components/Recipient/actions/revokeGroup.js +0 -42
- package/src/components/Recipient/actions/revokeMember.js +0 -42
- package/src/components/Recipient/actions/revokeSharedDriveMember.js +0 -41
- package/src/components/SharedDrive/helpers.js +0 -108
- package/src/components/SharedDrive/helpers.spec.js +0 -177
- package/src/components/Sharesubmit.jsx +0 -31
|
@@ -1,104 +1,99 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
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; }
|
|
4
|
-
|
|
5
|
-
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; }
|
|
6
|
-
|
|
7
|
-
import cx from 'classnames';
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
8
3
|
import PropTypes from 'prop-types';
|
|
9
|
-
import React from 'react';
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
4
|
+
import React, { forwardRef, useRef, useState } from 'react';
|
|
5
|
+
import ActionsMenu from 'cozy-ui/transpiled/react/ActionsMenu';
|
|
6
|
+
import { makeActions } from 'cozy-ui/transpiled/react/ActionsMenu/Actions';
|
|
7
|
+
import ActionsMenuItem from 'cozy-ui/transpiled/react/ActionsMenu/ActionsMenuItem';
|
|
8
|
+
import DropdownButton from 'cozy-ui/transpiled/react/DropdownButton';
|
|
9
|
+
import ListItemIcon from 'cozy-ui/transpiled/react/ListItemIcon';
|
|
10
|
+
import ListItemText from 'cozy-ui/transpiled/react/ListItemText';
|
|
11
|
+
import Radios from 'cozy-ui/transpiled/react/Radios';
|
|
14
12
|
import logger from '../logger';
|
|
15
|
-
var styles = {
|
|
16
|
-
"share-modal-content": "share__share-modal-content___1iqEq",
|
|
17
|
-
"coz-form": "share__coz-form___1ICST",
|
|
18
|
-
"coz-form-group": "share__coz-form-group___VsQp7",
|
|
19
|
-
"coz-form-desc": "share__coz-form-desc___2mYN4",
|
|
20
|
-
"coz-form-label": "share__coz-form-label___bogBw",
|
|
21
|
-
"coz-form-label--error": "share__coz-form-label--error___3YPkf",
|
|
22
|
-
"coz-form-errors": "share__coz-form-errors___2xYRz",
|
|
23
|
-
"coz-form-controls": "share__coz-form-controls___H8kGc",
|
|
24
|
-
"coz-form-controls--full": "share__coz-form-controls--full___1oQXF",
|
|
25
|
-
"coz-form-controls--dispatch": "share__coz-form-controls--dispatch___1zIxt",
|
|
26
|
-
"error": "share__error___pwqPO",
|
|
27
|
-
"share-byemail-onlybylink": "share__share-byemail-onlybylink___29W-t",
|
|
28
|
-
"aligned-dropdown-button": "share__aligned-dropdown-button___3crgG",
|
|
29
|
-
"share-type-control": "share__share-type-control___1YoRr",
|
|
30
|
-
"select-wrapper": "share__select-wrapper___3XBKC",
|
|
31
|
-
"select-option": "share__select-option___3Jp8_",
|
|
32
|
-
"select-option-label": "share__select-option-label___1BWz_",
|
|
33
|
-
"select-option-desc": "share__select-option-desc___3jOnr",
|
|
34
|
-
"share-details-created": "share__share-details-created___z3nvO",
|
|
35
|
-
"share-details-perm": "share__share-details-perm___3HjxK",
|
|
36
|
-
"share-details-perm-desc": "share__share-details-perm-desc___3HyHu"
|
|
37
|
-
};
|
|
38
13
|
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
14
|
+
var makeShareTypeAction = function makeShareTypeAction(_ref) {
|
|
15
|
+
var option = _ref.option,
|
|
16
|
+
isSelected = _ref.isSelected,
|
|
17
|
+
onSelect = _ref.onSelect;
|
|
18
|
+
var Component = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
19
|
+
return /*#__PURE__*/React.createElement(ActionsMenuItem, _extends({}, props, {
|
|
20
|
+
ref: ref,
|
|
21
|
+
onClick: function onClick() {
|
|
22
|
+
return onSelect(option.value);
|
|
23
|
+
},
|
|
24
|
+
disabled: option.disabled
|
|
25
|
+
}), /*#__PURE__*/React.createElement(ListItemIcon, null, /*#__PURE__*/React.createElement(Radios, {
|
|
26
|
+
checked: isSelected
|
|
27
|
+
})), /*#__PURE__*/React.createElement(ListItemText, {
|
|
28
|
+
primary: option.label
|
|
29
|
+
}));
|
|
30
|
+
});
|
|
31
|
+
Component.displayName = "ShareTypeAction-".concat(option.value);
|
|
32
|
+
return function () {
|
|
33
|
+
return {
|
|
34
|
+
name: "shareType-".concat(option.value),
|
|
35
|
+
label: option.label,
|
|
36
|
+
icon: null,
|
|
37
|
+
action: function action() {
|
|
38
|
+
return onSelect(option.value);
|
|
39
|
+
},
|
|
40
|
+
Component: Component
|
|
41
|
+
};
|
|
42
|
+
};
|
|
44
43
|
};
|
|
45
44
|
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
className: cx(styles['select-option'])
|
|
49
|
-
}, props.isSelected && /*#__PURE__*/React.createElement(Icon, {
|
|
50
|
-
icon: CheckIcon,
|
|
51
|
-
color: "var(--primaryColor)"
|
|
52
|
-
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
53
|
-
className: styles['select-option-label']
|
|
54
|
-
}, props.label), /*#__PURE__*/React.createElement("div", {
|
|
55
|
-
className: styles['select-option-desc']
|
|
56
|
-
}, props.data.desc))));
|
|
57
|
-
};
|
|
45
|
+
var ShareTypeSelect = function ShareTypeSelect(_ref2) {
|
|
46
|
+
var _options$find;
|
|
58
47
|
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
};
|
|
48
|
+
var value = _ref2.value,
|
|
49
|
+
options = _ref2.options,
|
|
50
|
+
onChange = _ref2.onChange;
|
|
51
|
+
var buttonRef = useRef();
|
|
52
|
+
|
|
53
|
+
var _useState = useState(false),
|
|
54
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
55
|
+
isOpen = _useState2[0],
|
|
56
|
+
setOpen = _useState2[1];
|
|
57
|
+
|
|
58
|
+
var open = function open() {
|
|
59
|
+
return setOpen(true);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var close = function close() {
|
|
63
|
+
return setOpen(false);
|
|
64
|
+
};
|
|
77
65
|
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
66
|
+
var onSelect = function onSelect(nextValue) {
|
|
67
|
+
onChange(nextValue);
|
|
68
|
+
setOpen(false);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var selectedOption = (_options$find = options.find(function (option) {
|
|
72
|
+
return option.value === value;
|
|
73
|
+
})) !== null && _options$find !== void 0 ? _options$find : options[0];
|
|
74
|
+
var actions = makeActions(options.map(function (option) {
|
|
75
|
+
return makeShareTypeAction({
|
|
76
|
+
option: option,
|
|
77
|
+
isSelected: option.value === selectedOption.value,
|
|
78
|
+
onSelect: onSelect
|
|
79
|
+
});
|
|
80
|
+
}));
|
|
81
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DropdownButton, {
|
|
82
|
+
ref: buttonRef,
|
|
83
|
+
onClick: open,
|
|
84
|
+
textVariant: "body2",
|
|
85
|
+
size: "small"
|
|
86
|
+
}, selectedOption.label), /*#__PURE__*/React.createElement(ActionsMenu, {
|
|
87
|
+
ref: buttonRef,
|
|
88
|
+
open: isOpen,
|
|
89
|
+
actions: actions,
|
|
90
|
+
autoClose: true,
|
|
91
|
+
onClose: close
|
|
98
92
|
}));
|
|
99
93
|
};
|
|
100
94
|
|
|
101
95
|
ShareTypeSelect.propTypes = {
|
|
96
|
+
value: PropTypes.string,
|
|
102
97
|
onChange: PropTypes.func,
|
|
103
98
|
options: PropTypes.array.isRequired
|
|
104
99
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
export var usePendingRecipients = function usePendingRecipients() {
|
|
4
|
+
var _useState = useState([]),
|
|
5
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
6
|
+
pendingRecipients = _useState2[0],
|
|
7
|
+
setPendingRecipients = _useState2[1];
|
|
8
|
+
|
|
9
|
+
var _useState3 = useState('readWrite'),
|
|
10
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
11
|
+
selectedOption = _useState4[0],
|
|
12
|
+
setSelectedOption = _useState4[1];
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
pendingRecipients: pendingRecipients,
|
|
16
|
+
setPendingRecipients: setPendingRecipients,
|
|
17
|
+
selectedOption: selectedOption,
|
|
18
|
+
setSelectedOption: setSelectedOption
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { renderHook, act } from '@testing-library/react-hooks';
|
|
2
|
+
import { usePendingRecipients } from './usePendingRecipients';
|
|
3
|
+
describe('usePendingRecipients', function () {
|
|
4
|
+
it('starts with empty recipients and readWrite option', function () {
|
|
5
|
+
var _renderHook = renderHook(function () {
|
|
6
|
+
return usePendingRecipients();
|
|
7
|
+
}),
|
|
8
|
+
result = _renderHook.result;
|
|
9
|
+
|
|
10
|
+
expect(result.current.pendingRecipients).toEqual([]);
|
|
11
|
+
expect(result.current.selectedOption).toBe('readWrite');
|
|
12
|
+
});
|
|
13
|
+
it('exposes setters that update state', function () {
|
|
14
|
+
var _renderHook2 = renderHook(function () {
|
|
15
|
+
return usePendingRecipients();
|
|
16
|
+
}),
|
|
17
|
+
result = _renderHook2.result;
|
|
18
|
+
|
|
19
|
+
act(function () {
|
|
20
|
+
result.current.setPendingRecipients([{
|
|
21
|
+
email: 'a@b.c'
|
|
22
|
+
}]);
|
|
23
|
+
result.current.setSelectedOption('readOnly');
|
|
24
|
+
});
|
|
25
|
+
expect(result.current.pendingRecipients).toEqual([{
|
|
26
|
+
email: 'a@b.c'
|
|
27
|
+
}]);
|
|
28
|
+
expect(result.current.selectedOption).toBe('readOnly');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
box-sizing border-box
|
|
6
6
|
position absolute
|
|
7
7
|
top 100%
|
|
8
|
-
margin-top .
|
|
8
|
+
margin-top .5rem
|
|
9
9
|
z-index var(--zIndex-alertMobile)
|
|
10
10
|
width 100%
|
|
11
11
|
overflow hidden
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
display flex
|
|
38
38
|
flex-wrap wrap
|
|
39
39
|
align-items center
|
|
40
|
-
padding .25rem .5rem
|
|
40
|
+
padding .25rem 3.5rem .25rem .5rem
|
|
41
41
|
border-radius .25rem
|
|
42
42
|
border 1px solid var(--borderMainColor)
|
|
43
43
|
min-height 2.5rem
|
|
44
44
|
max-height 6.75rem
|
|
45
45
|
overflow auto
|
|
46
|
+
position relative
|
|
46
47
|
|
|
47
48
|
&:hover
|
|
48
49
|
border 1px solid var(--borderMainColor)
|
|
@@ -69,3 +70,8 @@
|
|
|
69
70
|
font-size 1rem
|
|
70
71
|
.recipientChip
|
|
71
72
|
margin .25rem .5rem .25rem 0
|
|
73
|
+
|
|
74
|
+
.endAdornment
|
|
75
|
+
position absolute
|
|
76
|
+
top .75rem
|
|
77
|
+
right 1rem
|
package/dist/styles/share.styl
CHANGED
|
@@ -38,45 +38,6 @@
|
|
|
38
38
|
.coz-form-desc
|
|
39
39
|
color var(--secondaryTextColor)
|
|
40
40
|
|
|
41
|
-
.share-type-control
|
|
42
|
-
display flex
|
|
43
|
-
flex-direction row
|
|
44
|
-
justify-content space-between
|
|
45
|
-
padding .5rem 0 0
|
|
46
|
-
|
|
47
|
-
.select-wrapper
|
|
48
|
-
flex 0 0 49%
|
|
49
|
-
position relative
|
|
50
|
-
|
|
51
|
-
.select-option
|
|
52
|
-
padding .5rem 1.5rem .5rem 3rem
|
|
53
|
-
position relative
|
|
54
|
-
|
|
55
|
-
svg
|
|
56
|
-
position absolute
|
|
57
|
-
left 1rem
|
|
58
|
-
top 1rem
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
.select-option-label
|
|
62
|
-
line-height 2
|
|
63
|
-
|
|
64
|
-
.select-option-desc
|
|
65
|
-
line-height 1.5
|
|
66
|
-
font-size .8125rem
|
|
67
|
-
color var(--secondaryTextColor)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
button
|
|
72
|
-
flex 0 0 49%
|
|
73
|
-
margin 0
|
|
74
|
-
|
|
75
|
-
:global
|
|
76
|
-
// dirty hack for react-select: its API doesn't allow to make change to active styles
|
|
77
|
-
.react-select__option:active
|
|
78
|
-
background-color var(--defaultBackgroundColor) !important
|
|
79
|
-
|
|
80
41
|
input[type=text]
|
|
81
42
|
width 100%
|
|
82
43
|
|
package/dist/stylesheet.css
CHANGED
|
@@ -312,40 +312,6 @@
|
|
|
312
312
|
.share__coz-form-group___VsQp7 .share__coz-form-desc___2mYN4 {
|
|
313
313
|
color: var(--secondaryTextColor);
|
|
314
314
|
}
|
|
315
|
-
.share__share-type-control___1YoRr {
|
|
316
|
-
display: flex;
|
|
317
|
-
flex-direction: row;
|
|
318
|
-
justify-content: space-between;
|
|
319
|
-
padding: 0.5rem 0 0;
|
|
320
|
-
}
|
|
321
|
-
.share__share-type-control___1YoRr .share__select-wrapper___3XBKC {
|
|
322
|
-
flex: 0 0 49%;
|
|
323
|
-
position: relative;
|
|
324
|
-
}
|
|
325
|
-
.share__share-type-control___1YoRr .share__select-wrapper___3XBKC .share__select-option___3Jp8_ {
|
|
326
|
-
padding: 0.5rem 1.5rem 0.5rem 3rem;
|
|
327
|
-
position: relative;
|
|
328
|
-
}
|
|
329
|
-
.share__share-type-control___1YoRr .share__select-wrapper___3XBKC .share__select-option___3Jp8_ svg {
|
|
330
|
-
position: absolute;
|
|
331
|
-
left: 1rem;
|
|
332
|
-
top: 1rem;
|
|
333
|
-
}
|
|
334
|
-
.share__share-type-control___1YoRr .share__select-wrapper___3XBKC .share__select-option-label___1BWz_ {
|
|
335
|
-
line-height: 2;
|
|
336
|
-
}
|
|
337
|
-
.share__share-type-control___1YoRr .share__select-wrapper___3XBKC .share__select-option-desc___3jOnr {
|
|
338
|
-
line-height: 1.5;
|
|
339
|
-
font-size: 0.8125rem;
|
|
340
|
-
color: var(--secondaryTextColor);
|
|
341
|
-
}
|
|
342
|
-
.share__share-type-control___1YoRr button {
|
|
343
|
-
flex: 0 0 49%;
|
|
344
|
-
margin: 0;
|
|
345
|
-
}
|
|
346
|
-
.react-select__option:active {
|
|
347
|
-
background-color: var(--defaultBackgroundColor) !important;
|
|
348
|
-
}
|
|
349
315
|
input[type=text] {
|
|
350
316
|
width: 100%;
|
|
351
317
|
}
|
|
@@ -380,7 +346,7 @@ input[type=text] {
|
|
|
380
346
|
box-sizing: border-box;
|
|
381
347
|
position: absolute;
|
|
382
348
|
top: 100%;
|
|
383
|
-
margin-top: 0.
|
|
349
|
+
margin-top: 0.5rem;
|
|
384
350
|
z-index: var(--zIndex-alertMobile);
|
|
385
351
|
width: 100%;
|
|
386
352
|
overflow: hidden;
|
|
@@ -412,12 +378,13 @@ input[type=text] {
|
|
|
412
378
|
display: flex;
|
|
413
379
|
flex-wrap: wrap;
|
|
414
380
|
align-items: center;
|
|
415
|
-
padding: 0.25rem 0.5rem;
|
|
381
|
+
padding: 0.25rem 3.5rem 0.25rem 0.5rem;
|
|
416
382
|
border-radius: 0.25rem;
|
|
417
383
|
border: 1px solid var(--borderMainColor);
|
|
418
384
|
min-height: 2.5rem;
|
|
419
385
|
max-height: 6.75rem;
|
|
420
386
|
overflow: auto;
|
|
387
|
+
position: relative;
|
|
421
388
|
}
|
|
422
389
|
.autosuggest__recipientsContainer___1JYxA:hover {
|
|
423
390
|
border: 1px solid var(--borderMainColor);
|
|
@@ -449,6 +416,11 @@ input[type=text] {
|
|
|
449
416
|
.autosuggest__recipientChip___d5I3R {
|
|
450
417
|
margin: 0.25rem 0.5rem 0.25rem 0;
|
|
451
418
|
}
|
|
419
|
+
.autosuggest__endAdornment___2EwTN {
|
|
420
|
+
position: absolute;
|
|
421
|
+
top: 0.75rem;
|
|
422
|
+
right: 1rem;
|
|
423
|
+
}
|
|
452
424
|
/* imported from button.styl */
|
|
453
425
|
|
|
454
426
|
.button__coz-btn-shared___9MFbY {
|
package/locales/en.json
CHANGED
|
@@ -14,12 +14,8 @@
|
|
|
14
14
|
"unregistered": "Error"
|
|
15
15
|
},
|
|
16
16
|
"type": {
|
|
17
|
-
"one-way": "
|
|
18
|
-
"two-way": "
|
|
19
|
-
"desc": {
|
|
20
|
-
"one-way": "Contacts can view, download, and add the content to their Twake. If they add the content to their Twake, they will get updates you make to the content, but they won't be able to update it.",
|
|
21
|
-
"two-way": "Contacts can update, delete and add the content to their Twake. Updates on the content will be seen on other Cozies."
|
|
22
|
-
}
|
|
17
|
+
"one-way": "Viewer",
|
|
18
|
+
"two-way": "Editor"
|
|
23
19
|
},
|
|
24
20
|
"locked-type-file": "Coming soon: you will be able to change permissions you grant on the file.",
|
|
25
21
|
"locked-type-folder": "Coming soon: you will be able to change permissions you grant on the folder.",
|
|
@@ -35,6 +31,7 @@
|
|
|
35
31
|
"count": "%{smart_count} member |||| %{smart_count} members",
|
|
36
32
|
"others": "and 1 other… |||| and %{smart_count} others…",
|
|
37
33
|
"otherContacts": "other contact |||| other contacts",
|
|
34
|
+
"revoke": "Remove from sharing",
|
|
38
35
|
"error": {
|
|
39
36
|
"changePermission": "An error occurred while changing the permissions. Please try again."
|
|
40
37
|
}
|
|
@@ -105,8 +102,8 @@
|
|
|
105
102
|
"details": {
|
|
106
103
|
"title": "Sharing details",
|
|
107
104
|
"createdAt": "On %{date}",
|
|
108
|
-
"ro": "
|
|
109
|
-
"rw": "
|
|
105
|
+
"ro": "Viewer",
|
|
106
|
+
"rw": "Editor",
|
|
110
107
|
"desc": {
|
|
111
108
|
"ro": "You can view, download, and add this content to your Twake. You will get updates by the owner, but you won't be able to update this content yourself.",
|
|
112
109
|
"rw": "You can view, update, delete and add this content to your Twake. Updates you make will be seen on other Cozies."
|
|
@@ -130,7 +127,7 @@
|
|
|
130
127
|
"shareByEmail": {
|
|
131
128
|
"subtitle": "By email",
|
|
132
129
|
"emailPlaceholder": "Add contacts",
|
|
133
|
-
"send": "
|
|
130
|
+
"send": "Share",
|
|
134
131
|
"singleContactSuccess": "You sent an invite to %{email}.",
|
|
135
132
|
"contactSuccess": "You sent an invite to %{smart_count} contact. |||| You sent an invite to %{smart_count} contacts.",
|
|
136
133
|
"singleGroupSuccess": "You sent an invite to the members of the %{groupName} group.",
|
|
@@ -174,8 +171,8 @@
|
|
|
174
171
|
"details": {
|
|
175
172
|
"title": "Sharing details",
|
|
176
173
|
"createdAt": "On %{date}",
|
|
177
|
-
"ro": "
|
|
178
|
-
"rw": "
|
|
174
|
+
"ro": "Viewer",
|
|
175
|
+
"rw": "Editor",
|
|
179
176
|
"desc": {
|
|
180
177
|
"ro": "You can view, download, and add this content to your Twake. You will get updates by the owner, but you won't be able to update this content yourself.",
|
|
181
178
|
"rw": "You can view, update, delete and add this content to your Twake. Updates you make will be seen on other Cozies."
|
|
@@ -198,7 +195,7 @@
|
|
|
198
195
|
"subtitle": "By email",
|
|
199
196
|
"email": "To:",
|
|
200
197
|
"emailPlaceholder": "Enter the email address or name of the recipient",
|
|
201
|
-
"send": "
|
|
198
|
+
"send": "Share",
|
|
202
199
|
"singleContactSuccess": "You sent an invite to %{email}.",
|
|
203
200
|
"contactSuccess": "You sent an invite to %{smart_count} contact. |||| You sent an invite to %{smart_count} contacts.",
|
|
204
201
|
"singleGroupSuccess": "You sent an invite to the members of the %{groupName} group.",
|
|
@@ -267,7 +264,7 @@
|
|
|
267
264
|
"subtitle": "By email",
|
|
268
265
|
"email": "email",
|
|
269
266
|
"emailPlaceholder": "Enter the email address or name of the recipient",
|
|
270
|
-
"send": "
|
|
267
|
+
"send": "Share",
|
|
271
268
|
"singleContactSuccess": "You sent an invite to %{email}.",
|
|
272
269
|
"contactSuccess": "You sent an invite to %{smart_count} contact. |||| You sent an invite to %{smart_count} contacts.",
|
|
273
270
|
"singleGroupSuccess": "You sent an invite to the members of the %{groupName} group.",
|
|
@@ -306,8 +303,8 @@
|
|
|
306
303
|
"details": {
|
|
307
304
|
"title": "Sharing details",
|
|
308
305
|
"createdAt": "On %{date}",
|
|
309
|
-
"ro": "
|
|
310
|
-
"rw": "
|
|
306
|
+
"ro": "Viewer",
|
|
307
|
+
"rw": "Editor",
|
|
311
308
|
"desc": {
|
|
312
309
|
"ro": "You can view, download, and add this content to your Twake. You will get updates by the owner, but you won't be able to update this content yourself.",
|
|
313
310
|
"rw": "You can view, update, delete and add this content to your Twake. Updates you make will be seen on other Cozies."
|
|
@@ -331,7 +328,7 @@
|
|
|
331
328
|
"subtitle": "By email",
|
|
332
329
|
"email": "Send to:",
|
|
333
330
|
"emailPlaceholder": "Enter the email address or name of the recipient",
|
|
334
|
-
"send": "
|
|
331
|
+
"send": "Share",
|
|
335
332
|
"error": {
|
|
336
333
|
"addingRecipient": "An error occurred while adding the recipient. Please try again."
|
|
337
334
|
},
|
|
@@ -384,37 +381,10 @@
|
|
|
384
381
|
"content": "You cannot share %{documentName} with more than %{limit} members.",
|
|
385
382
|
"confirm": "I understand"
|
|
386
383
|
},
|
|
387
|
-
"RevokeMemberItem": {
|
|
388
|
-
"revoke": {
|
|
389
|
-
"title": "Remove from sharing",
|
|
390
|
-
"desc": "This contact will keep a copy but the changes won't be synchrnoized anymore.",
|
|
391
|
-
"sharedDriveDesc": "Your contact will no longer be able to access the data."
|
|
392
|
-
},
|
|
393
|
-
"revokeSelf": {
|
|
394
|
-
"title": "Remove me from sharing",
|
|
395
|
-
"desc": "You keep the content but it won't be updated between your Twake anymore."
|
|
396
|
-
}
|
|
397
|
-
},
|
|
398
|
-
"RevokeSharedDriveMemberItem": {
|
|
399
|
-
"revoke": {
|
|
400
|
-
"title": "Remove"
|
|
401
|
-
}
|
|
402
|
-
},
|
|
403
384
|
"GroupRecipient": {
|
|
404
385
|
"secondary": "%{memberCount} member |||| %{memberCount} members",
|
|
405
386
|
"secondary_you": "including you"
|
|
406
387
|
},
|
|
407
|
-
"RevokeGroupItem": {
|
|
408
|
-
"revoke": {
|
|
409
|
-
"title": "Remove group from sharing",
|
|
410
|
-
"desc": "Group members will keep a copy but the changes won't be synchrnoized anymore.",
|
|
411
|
-
"sharedDriveDesc": "Group members will no longer be able to access the data."
|
|
412
|
-
},
|
|
413
|
-
"revokeSelf": {
|
|
414
|
-
"title": "Remove me from sharing",
|
|
415
|
-
"desc": "You keep the content but it won't be updated between your Twake anymore."
|
|
416
|
-
}
|
|
417
|
-
},
|
|
418
388
|
"GroupRecipientDetail": {
|
|
419
389
|
"subtitle": "Managed by %{ownerName}",
|
|
420
390
|
"empty": {
|
|
@@ -480,7 +450,7 @@
|
|
|
480
450
|
"cancel": "Cancel",
|
|
481
451
|
"create": "Create",
|
|
482
452
|
"save": "Save",
|
|
483
|
-
"addPeople": "Add
|
|
453
|
+
"addPeople": "Add users",
|
|
484
454
|
"successNotification": "Shared drive has been added",
|
|
485
455
|
"errorNotification": "Error during shared drive creation",
|
|
486
456
|
"successNotificationUpdate": "Your shared drive has been modified",
|