cozy-ui-plus 11.0.0 → 12.0.1

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 (42) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/stylesheet.css +0 -23
  3. package/package.json +3 -3
  4. package/dist/FilePicker/FilePickerBody.js +0 -108
  5. package/dist/FilePicker/FilePickerBodyItem.js +0 -128
  6. package/dist/FilePicker/FilePickerBreadcrumb.js +0 -72
  7. package/dist/FilePicker/FilePickerFooter.js +0 -91
  8. package/dist/FilePicker/FilePickerHeader.js +0 -108
  9. package/dist/FilePicker/docs/DemoProvider.js +0 -280
  10. package/dist/FilePicker/helpers.js +0 -57
  11. package/dist/FilePicker/index.js +0 -125
  12. package/dist/FilePicker/queries.js +0 -61
  13. package/dist/src/FilePicker/FilePickerBody.d.ts +0 -19
  14. package/dist/src/FilePicker/FilePickerBodyItem.d.ts +0 -22
  15. package/dist/src/FilePicker/FilePickerBodyItem.spec.d.ts +0 -1
  16. package/dist/src/FilePicker/FilePickerBreadcrumb.d.ts +0 -13
  17. package/dist/src/FilePicker/FilePickerFooter.d.ts +0 -15
  18. package/dist/src/FilePicker/FilePickerFooter.spec.d.ts +0 -1
  19. package/dist/src/FilePicker/FilePickerHeader.d.ts +0 -14
  20. package/dist/src/FilePicker/docs/DemoProvider.d.ts +0 -23
  21. package/dist/src/FilePicker/helpers.d.ts +0 -3
  22. package/dist/src/FilePicker/helpers.spec.d.ts +0 -1
  23. package/dist/src/FilePicker/index.d.ts +0 -22
  24. package/dist/src/FilePicker/queries.d.ts +0 -14
  25. package/src/FilePicker/FilePickerBody.jsx +0 -111
  26. package/src/FilePicker/FilePickerBodyItem.jsx +0 -124
  27. package/src/FilePicker/FilePickerBodyItem.spec.jsx +0 -164
  28. package/src/FilePicker/FilePickerBreadcrumb.jsx +0 -54
  29. package/src/FilePicker/FilePickerFooter.jsx +0 -42
  30. package/src/FilePicker/FilePickerFooter.spec.jsx +0 -41
  31. package/src/FilePicker/FilePickerHeader.jsx +0 -88
  32. package/src/FilePicker/Readme.md +0 -50
  33. package/src/FilePicker/docs/DemoProvider.jsx +0 -273
  34. package/src/FilePicker/helpers.js +0 -46
  35. package/src/FilePicker/helpers.spec.js +0 -84
  36. package/src/FilePicker/index.jsx +0 -94
  37. package/src/FilePicker/locales/en.json +0 -8
  38. package/src/FilePicker/locales/fr.json +0 -8
  39. package/src/FilePicker/locales/ru.json +0 -8
  40. package/src/FilePicker/locales/vi.json +0 -8
  41. package/src/FilePicker/queries.js +0 -37
  42. package/src/FilePicker/styles.styl +0 -18
package/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
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
+ ## [12.0.1](https://github.com/cozy/cozy-libs/compare/cozy-ui-plus@12.0.0...cozy-ui-plus@12.0.1) (2026-07-09)
7
+
8
+ **Note:** Version bump only for package cozy-ui-plus
9
+
10
+ # [12.0.0](https://github.com/cozy/cozy-libs/compare/cozy-ui-plus@11.0.0...cozy-ui-plus@12.0.0) (2026-07-09)
11
+
12
+ ### Features
13
+
14
+ - **cozy-ui-plus:** Remove FilePicker component ([01be811](https://github.com/cozy/cozy-libs/commit/01be8113795612181c424019226a766a635354ca))
15
+
16
+ ### BREAKING CHANGES
17
+
18
+ - **cozy-ui-plus:** The FilePicker component has been removed from cozy-ui-plus.
19
+
6
20
  # [11.0.0](https://github.com/cozy/cozy-libs/compare/cozy-ui-plus@10.0.0...cozy-ui-plus@11.0.0) (2026-07-08)
7
21
 
8
22
  ### Features
@@ -396,29 +396,6 @@ it overrides nothing so there's no need for
396
396
  }
397
397
  /* imported from styles.styl */
398
398
 
399
- .styles__filePickerBreadcrumb-previousPath___2SEdW {
400
- color: var(--actionColorActive);
401
- cursor: pointer;
402
- }
403
- .styles__filePickerBreadcrumb-icon___32TVL {
404
- color: var(--actionColorActive);
405
- margin: 0 0.25rem;
406
- }
407
- @supports (display: contents) {
408
- .styles__filePickerBreadcrumb-wrapper___3Xpzb {
409
- display: contents;
410
- }
411
- }
412
- @supports not (display: contents) {
413
- .styles__filePickerBreadcrumb-wrapper___3Xpzb {
414
- display: flex;
415
- flex: 1 1 auto;
416
- align-items: center;
417
- width: 100%;
418
- }
419
- }
420
- /* imported from styles.styl */
421
-
422
399
  iframe {
423
400
  width: 100%;
424
401
  height: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-ui-plus",
3
- "version": "11.0.0",
3
+ "version": "12.0.1",
4
4
  "description": "Cozy-ui-plus is an extension of cozy-ui and provides components based on cozy-client",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
@@ -38,7 +38,7 @@
38
38
  "cozy-intent": "^2.31.1",
39
39
  "cozy-interapp": "^0.17.1",
40
40
  "cozy-logger": "^1.18.1",
41
- "cozy-sharing": "^36.4.1",
41
+ "cozy-sharing": "^36.5.0",
42
42
  "cozy-stack-client": "^60.21.1",
43
43
  "cozy-ui": "^138.1.0",
44
44
  "jest": "30.3.0",
@@ -78,5 +78,5 @@
78
78
  "react-dom": "^16 || ^17 || ^18",
79
79
  "twake-i18n": ">=0.3.0"
80
80
  },
81
- "gitHead": "a093f7a4c39543044dad5fb08b234c651f655518"
81
+ "gitHead": "8f766c3da5a35109325e1a3451e78e7c1b30e515"
82
82
  }
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _cozyClient = require("cozy-client");
17
-
18
- var _List = _interopRequireDefault(require("cozy-ui/transpiled/react/List"));
19
-
20
- var _LoadMore = _interopRequireDefault(require("cozy-ui/transpiled/react/LoadMore"));
21
-
22
- var _FilePickerBodyItem = _interopRequireDefault(require("./FilePickerBodyItem"));
23
-
24
- var _helpers = require("./helpers");
25
-
26
- var _queries = require("./queries");
27
-
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
32
- var isDirectory = _cozyClient.models.file.isDirectory;
33
-
34
- var FilePickerBody = function FilePickerBody(_ref) {
35
- var navigateTo = _ref.navigateTo,
36
- folderId = _ref.folderId,
37
- onSelectItemId = _ref.onSelectItemId,
38
- itemsIdsSelected = _ref.itemsIdsSelected,
39
- itemTypesAccepted = _ref.itemTypesAccepted,
40
- multiple = _ref.multiple;
41
- var contentFolderQuery = (0, _queries.buildContentFolderQuery)(folderId);
42
-
43
- var _useQuery = (0, _cozyClient.useQuery)(contentFolderQuery.definition, contentFolderQuery.options),
44
- contentFolder = _useQuery.data,
45
- hasMore = _useQuery.hasMore,
46
- fetchMore = _useQuery.fetchMore;
47
-
48
- var onCheck = (0, _react.useCallback)(function (itemId) {
49
- var isChecked = itemsIdsSelected.some(function (fileIdSelected) {
50
- return fileIdSelected === itemId;
51
- });
52
-
53
- if (isChecked) {
54
- onSelectItemId(itemsIdsSelected.filter(function (fileIdSelected) {
55
- return fileIdSelected !== itemId;
56
- }));
57
- } else onSelectItemId(function (prev) {
58
- return [].concat((0, _toConsumableArray2.default)(prev), [itemId]);
59
- });
60
- }, [itemsIdsSelected, onSelectItemId]); // When click on checkbox/radio area...
61
-
62
- var handleChoiceClick = (0, _react.useCallback)(function (item) {
63
- return function () {
64
- if (multiple) onCheck(item._id);else onSelectItemId(item._id);
65
- };
66
- }, [multiple, onCheck, onSelectItemId]); // ...when click anywhere on the rest of the line
67
-
68
- var handleListItemClick = (0, _react.useCallback)(function (item) {
69
- return function () {
70
- if (isDirectory(item)) {
71
- navigateTo(contentFolder.find(function (it) {
72
- return it._id === item._id;
73
- }));
74
- }
75
-
76
- if ((0, _helpers.isValidFile)(item, itemTypesAccepted)) {
77
- if (multiple) onCheck(item._id);else onSelectItemId(item._id);
78
- }
79
- };
80
- }, [contentFolder, itemTypesAccepted, multiple, navigateTo, onCheck, onSelectItemId]);
81
- return /*#__PURE__*/_react.default.createElement(_List.default, null, contentFolder && contentFolder.map(function (item, idx) {
82
- var hasDivider = contentFolder ? idx !== contentFolder.length - 1 : false;
83
- return /*#__PURE__*/_react.default.createElement(_FilePickerBodyItem.default, {
84
- key: item._id,
85
- item: item,
86
- itemTypesAccepted: itemTypesAccepted,
87
- multiple: multiple,
88
- handleChoiceClick: handleChoiceClick,
89
- handleListItemClick: handleListItemClick,
90
- onCheck: onCheck,
91
- itemsIdsSelected: itemsIdsSelected,
92
- hasDivider: hasDivider
93
- });
94
- }), hasMore && /*#__PURE__*/_react.default.createElement(_LoadMore.default, {
95
- label: "loadMore",
96
- fetchMore: fetchMore
97
- }));
98
- };
99
-
100
- FilePickerBody.propTypes = {
101
- onSelectItemId: _propTypes.default.func.isRequired,
102
- itemsIdsSelected: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
103
- folderId: _propTypes.default.string.isRequired,
104
- navigateTo: _propTypes.default.func.isRequired,
105
- itemTypesAccepted: _propTypes.default.arrayOf(_propTypes.default.string).isRequired
106
- };
107
- var _default = FilePickerBody;
108
- exports.default = _default;
@@ -1,128 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _twakeIcons = require("@linagora/twake-icons");
11
-
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
- var _filesize = _interopRequireDefault(require("filesize"));
15
-
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _cozyClient = require("cozy-client");
21
-
22
- var _Checkbox = _interopRequireDefault(require("cozy-ui/transpiled/react/Checkbox"));
23
-
24
- var _Divider = _interopRequireDefault(require("cozy-ui/transpiled/react/Divider"));
25
-
26
- var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem"));
27
-
28
- var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon"));
29
-
30
- var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText"));
31
-
32
- var _Radios = _interopRequireDefault(require("cozy-ui/transpiled/react/Radios"));
33
-
34
- var _styles = require("cozy-ui/transpiled/react/styles");
35
-
36
- var _twakeI18n = require("twake-i18n");
37
-
38
- var _helpers = require("./helpers");
39
-
40
- var styles = {
41
- "filePickerBreadcrumb-previousPath": "styles__filePickerBreadcrumb-previousPath___2SEdW",
42
- "filePickerBreadcrumb-icon": "styles__filePickerBreadcrumb-icon___32TVL",
43
- "filePickerBreadcrumb-wrapper": "styles__filePickerBreadcrumb-wrapper___3Xpzb"
44
- };
45
- var _models$file = _cozyClient.models.file,
46
- isDirectory = _models$file.isDirectory,
47
- isFile = _models$file.isFile;
48
- var useStyles = (0, _styles.makeStyles)(function () {
49
- return {
50
- verticalDivider: {
51
- height: '2rem',
52
- display: 'flex',
53
- alignSelf: 'auto',
54
- alignItems: 'center',
55
- marginLeft: '0.5rem'
56
- }
57
- };
58
- });
59
-
60
- var FilePickerBodyItem = function FilePickerBodyItem(_ref) {
61
- var item = _ref.item,
62
- itemTypesAccepted = _ref.itemTypesAccepted,
63
- multiple = _ref.multiple,
64
- handleChoiceClick = _ref.handleChoiceClick,
65
- handleListItemClick = _ref.handleListItemClick,
66
- itemsIdsSelected = _ref.itemsIdsSelected,
67
- hasDivider = _ref.hasDivider;
68
- var classes = useStyles();
69
-
70
- var _useI18n = (0, _twakeI18n.useI18n)(),
71
- f = _useI18n.f;
72
-
73
- var hasChoice = (0, _helpers.isValidFile)(item, itemTypesAccepted) || (0, _helpers.isValidFolder)(item, itemTypesAccepted);
74
- var Input = multiple ? _Checkbox.default : _Radios.default;
75
- var listItemSecondaryContent = isFile(item) ? "".concat(f(item.updated_at, 'dd LLL yyyy'), " - ").concat((0, _filesize.default)(item.size, {
76
- base: 10
77
- })) : null;
78
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
79
- disabled: !hasChoice && isFile(item),
80
- size: "small",
81
- button: true,
82
- "data-testid": "list-item"
83
- }, /*#__PURE__*/_react.default.createElement("div", {
84
- "data-testid": "listitem-onclick",
85
- className: styles['filePickerBreadcrumb-wrapper'],
86
- onClick: handleListItemClick(item)
87
- }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, {
88
- icon: isDirectory(item) ? _twakeIcons.FileTypeFolder : _twakeIcons.FileTypeText,
89
- width: "32",
90
- height: "32"
91
- })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
92
- primary: item.name,
93
- secondary: listItemSecondaryContent
94
- })), isDirectory(item) && hasChoice && /*#__PURE__*/_react.default.createElement(_Divider.default, {
95
- orientation: "vertical",
96
- flexItem: true,
97
- className: classes.verticalDivider
98
- }), /*#__PURE__*/_react.default.createElement("div", {
99
- "data-testid": "choice-onclick",
100
- className: "u-pv-half u-h-2 u-flex u-flex-items-center",
101
- onClick: hasChoice ? handleChoiceClick(item) : undefined
102
- }, /*#__PURE__*/_react.default.createElement(Input, {
103
- "data-testid": multiple ? 'checkbox-btn' : 'radio-btn',
104
- onChange: function onChange() {// handled by onClick on the container
105
- },
106
- checked: itemsIdsSelected.includes(item._id),
107
- value: item._id,
108
- className: (0, _classnames.default)('u-p-0', {
109
- 'u-o-100': hasChoice,
110
- 'u-o-0': !hasChoice
111
- }),
112
- disabled: !hasChoice
113
- }))), hasDivider && /*#__PURE__*/_react.default.createElement(_Divider.default, {
114
- component: "li"
115
- }));
116
- };
117
-
118
- FilePickerBodyItem.propTypes = {
119
- item: _propTypes.default.object.isRequired,
120
- itemTypesAccepted: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
121
- multiple: _propTypes.default.bool,
122
- handleChoiceClick: _propTypes.default.func.isRequired,
123
- handleListItemClick: _propTypes.default.func.isRequired,
124
- itemsIdsSelected: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
125
- hasDivider: _propTypes.default.bool.isRequired
126
- };
127
- var _default = FilePickerBodyItem;
128
- exports.default = _default;
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _twakeIcons = require("@linagora/twake-icons");
11
-
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
17
-
18
- var _Breakpoints = _interopRequireDefault(require("cozy-ui/transpiled/react/providers/Breakpoints"));
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- var styles = {
25
- "filePickerBreadcrumb-previousPath": "styles__filePickerBreadcrumb-previousPath___2SEdW",
26
- "filePickerBreadcrumb-icon": "styles__filePickerBreadcrumb-icon___32TVL",
27
- "filePickerBreadcrumb-wrapper": "styles__filePickerBreadcrumb-wrapper___3Xpzb"
28
- };
29
-
30
- var FilePickerBreadcrumb = function FilePickerBreadcrumb(_ref) {
31
- var path = _ref.path,
32
- onBreadcrumbClick = _ref.onBreadcrumbClick;
33
-
34
- var _useBreakpoints = (0, _Breakpoints.default)(),
35
- isMobile = _useBreakpoints.isMobile;
36
-
37
- var hasPath = path && path.length > 0;
38
- var navigateTo = (0, _react.useCallback)(function (folder) {
39
- return function () {
40
- return onBreadcrumbClick(folder);
41
- };
42
- }, [onBreadcrumbClick]);
43
- return /*#__PURE__*/_react.default.createElement(_Typography.default, {
44
- variant: "h4",
45
- className: "u-flex u-flex-items-center"
46
- }, hasPath ? isMobile ? path[path.length - 1].name : path.map(function (folder, idx) {
47
- if (idx < path.length - 1) {
48
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
49
- key: idx
50
- }, /*#__PURE__*/_react.default.createElement("span", {
51
- className: styles['filePickerBreadcrumb-previousPath'],
52
- onClick: navigateTo(folder)
53
- }, folder.name), /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, {
54
- icon: _twakeIcons.Right,
55
- className: styles['filePickerBreadcrumb-icon']
56
- }));
57
- } else {
58
- return /*#__PURE__*/_react.default.createElement("span", {
59
- key: idx
60
- }, folder.name);
61
- }
62
- }) : null);
63
- };
64
-
65
- FilePickerBreadcrumb.propTypes = {
66
- path: _propTypes.default.array,
67
- onBreadcrumbClick: _propTypes.default.func
68
- };
69
-
70
- var _default = /*#__PURE__*/(0, _react.memo)(FilePickerBreadcrumb);
71
-
72
- exports.default = _default;
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _react = _interopRequireWildcard(require("react"));
13
-
14
- var _Button = _interopRequireDefault(require("cozy-ui/transpiled/react/deprecated/Button"));
15
-
16
- var _twakeI18n = require("twake-i18n");
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- var en = {
23
- footer: {
24
- buttons: {
25
- cancel: "Cancel",
26
- confirm: "Select"
27
- }
28
- }
29
- };
30
- var fr = {
31
- footer: {
32
- buttons: {
33
- cancel: "Annuler",
34
- confirm: "S\xE9lectionner"
35
- }
36
- }
37
- };
38
- var ru = {
39
- footer: {
40
- buttons: {
41
- cancel: "\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",
42
- confirm: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C"
43
- }
44
- }
45
- };
46
- var vi = {
47
- footer: {
48
- buttons: {
49
- cancel: "H\u1EE7y",
50
- confirm: "Ch\u1ECDn"
51
- }
52
- }
53
- };
54
- var locales = {
55
- en: en,
56
- fr: fr,
57
- ru: ru,
58
- vi: vi
59
- };
60
- var useI18n = (0, _twakeI18n.createUseI18n)(locales);
61
-
62
- var FilePickerFooter = function FilePickerFooter(_ref) {
63
- var onConfirm = _ref.onConfirm,
64
- onClose = _ref.onClose,
65
- disabledConfirm = _ref.disabledConfirm;
66
-
67
- var _useI18n = useI18n(),
68
- t = _useI18n.t;
69
-
70
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
71
- "data-testid": "close-btn",
72
- label: t('footer.buttons.cancel'),
73
- theme: "secondary",
74
- onClick: onClose
75
- }), /*#__PURE__*/_react.default.createElement(_Button.default, {
76
- "data-testid": "confirm-btn",
77
- label: t('footer.buttons.confirm'),
78
- onClick: onConfirm,
79
- disabled: disabledConfirm
80
- }));
81
- };
82
-
83
- FilePickerFooter.propTypes = {
84
- onConfirm: _propTypes.default.func.isRequired,
85
- onClose: _propTypes.default.func.isRequired,
86
- disabledConfirm: _propTypes.default.bool.isRequired
87
- };
88
-
89
- var _default = /*#__PURE__*/(0, _react.memo)(FilePickerFooter);
90
-
91
- exports.default = _default;
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
- var _twakeIcons = require("@linagora/twake-icons");
13
-
14
- var _get = _interopRequireDefault(require("lodash/get"));
15
-
16
- var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
17
-
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _cozyClient = require("cozy-client");
23
-
24
- var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
25
-
26
- var _Breakpoints = _interopRequireDefault(require("cozy-ui/transpiled/react/providers/Breakpoints"));
27
-
28
- var _ = require(".");
29
-
30
- var _FilePickerBreadcrumb = _interopRequireDefault(require("./FilePickerBreadcrumb"));
31
-
32
- var _queries = require("./queries");
33
-
34
- var _excluded = ["data"];
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
40
- /**
41
- * @param {IOCozyFolder} displayedFolder - An io.cozy.files folder
42
- * @returns {{id: string, name: string}[]}
43
- */
44
- var getBreadcrumbPath = function getBreadcrumbPath(displayedFolder) {
45
- return (0, _uniqBy.default)([{
46
- id: _.ROOT_DIR_ID
47
- }, {
48
- id: (0, _get.default)(displayedFolder, 'dir_id')
49
- }, {
50
- id: displayedFolder.id,
51
- name: displayedFolder.name
52
- }], 'id').filter(function (_ref) {
53
- var id = _ref.id;
54
- return Boolean(id);
55
- }).map(function (breadcrumb) {
56
- return {
57
- id: breadcrumb.id,
58
- name: breadcrumb.name || (breadcrumb.id === _.ROOT_DIR_ID ? 'Drive' : '…')
59
- };
60
- });
61
- };
62
-
63
- var FilePickerHeader = function FilePickerHeader(_ref2) {
64
- var navigateTo = _ref2.navigateTo,
65
- folderId = _ref2.folderId,
66
- onClose = _ref2.onClose;
67
-
68
- var _useBreakpoints = (0, _Breakpoints.default)(),
69
- isMobile = _useBreakpoints.isMobile;
70
-
71
- var currentFolderQuery = (0, _queries.buildCurrentFolderQuery)(folderId);
72
-
73
- var _useQuery = (0, _cozyClient.useQuery)(currentFolderQuery.definition, currentFolderQuery.options),
74
- currentFolder = _useQuery.data,
75
- restCurrentFolder = (0, _objectWithoutProperties2.default)(_useQuery, _excluded); // eslint-disable-next-line react-hooks/exhaustive-deps
76
-
77
-
78
- var path = (0, _cozyClient.hasQueryBeenLoaded)(restCurrentFolder) ? getBreadcrumbPath(currentFolder[0]) : [];
79
- var onBack = (0, _react.useCallback)(function (path) {
80
- return navigateTo(path);
81
- }, [navigateTo]);
82
- var handleClick = (0, _react.useCallback)(function () {
83
- path.length > 1 && isMobile ? onBack(path[path.length - 2]) : onClose();
84
- }, [isMobile, path, onBack, onClose]);
85
- return /*#__PURE__*/_react.default.createElement("div", {
86
- className: "u-flex u-flex-items-center"
87
- }, isMobile && /*#__PURE__*/_react.default.createElement(_IconButton.default, {
88
- onClick: handleClick,
89
- className: "u-p-0 u-pr-1",
90
- size: "medium"
91
- }, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, {
92
- icon: _twakeIcons.Previous
93
- })), /*#__PURE__*/_react.default.createElement(_FilePickerBreadcrumb.default, {
94
- path: path,
95
- onBreadcrumbClick: navigateTo,
96
- opening: false,
97
- inlined: true
98
- }));
99
- };
100
-
101
- FilePickerHeader.propTypes = {
102
- folderId: _propTypes.default.string.isRequired,
103
- navigateTo: _propTypes.default.func.isRequired
104
- };
105
-
106
- var _default = /*#__PURE__*/(0, _react.memo)(FilePickerHeader);
107
-
108
- exports.default = _default;