cozy-ui 130.8.1 → 130.10.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 +18 -0
- package/package.json +1 -1
- package/react/CozyDialogs/SpecificDialogs/Readme.md +26 -0
- package/react/CozyDialogs/SpecificDialogs/ShortcutDialog.jsx +120 -0
- package/react/CozyDialogs/SpecificDialogs/helpers/shortcuts.js +61 -0
- package/react/CozyDialogs/SpecificDialogs/index.jsx +1 -0
- package/react/CozyDialogs/SpecificDialogs/locales/en.json +14 -0
- package/react/CozyDialogs/SpecificDialogs/locales/fr.json +14 -0
- package/react/CozyDialogs/SpecificDialogs/locales/ru.json +15 -1
- package/react/CozyDialogs/SpecificDialogs/locales/vi.json +15 -1
- package/react/CozyDialogs/index.jsx +2 -1
- package/react/EditBadge/EditMenu.jsx +102 -0
- package/react/EditBadge/Readme.md +22 -0
- package/react/EditBadge/StatusWrapper.jsx +32 -0
- package/react/EditBadge/helpers.js +102 -0
- package/react/EditBadge/index.jsx +81 -0
- package/react/EditBadge/locales/en.json +18 -0
- package/react/EditBadge/locales/fr.json +18 -0
- package/react/EditBadge/locales/index.js +11 -0
- package/react/EditBadge/locales/ru.json +18 -0
- package/react/EditBadge/locales/vi.json +18 -0
- package/react/providers/DemoProvider.jsx +6 -3
- package/react/utils/react.js +14 -1
- package/transpiled/react/CozyDialogs/SpecificDialogs/ShortcutDialog.d.ts +2 -0
- package/transpiled/react/CozyDialogs/SpecificDialogs/ShortcutDialog.js +114 -0
- package/transpiled/react/CozyDialogs/SpecificDialogs/helpers/shortcuts.d.ts +13 -0
- package/transpiled/react/CozyDialogs/SpecificDialogs/helpers/shortcuts.js +83 -0
- package/transpiled/react/CozyDialogs/SpecificDialogs/index.d.ts +1 -0
- package/transpiled/react/CozyDialogs/SpecificDialogs/index.js +2 -1
- package/transpiled/react/CozyDialogs/SpecificDialogs/withSpecificDialogsLocales.js +56 -0
- package/transpiled/react/CozyDialogs/index.d.ts +1 -1
- package/transpiled/react/CozyDialogs/index.js +1 -1
- package/transpiled/react/EditBadge/EditMenu.d.ts +11 -0
- package/transpiled/react/EditBadge/EditMenu.js +93 -0
- package/transpiled/react/EditBadge/StatusWrapper.d.ts +9 -0
- package/transpiled/react/EditBadge/StatusWrapper.js +44 -0
- package/transpiled/react/EditBadge/helpers.d.ts +20 -0
- package/transpiled/react/EditBadge/helpers.js +153 -0
- package/transpiled/react/EditBadge/index.d.ts +23 -0
- package/transpiled/react/EditBadge/index.js +89 -0
- package/transpiled/react/EditBadge/locales/index.d.ts +10 -0
- package/transpiled/react/EditBadge/locales/index.js +78 -0
- package/transpiled/react/providers/DemoProvider.js +3 -2
- package/transpiled/react/utils/react.d.ts +1 -0
- package/transpiled/react/utils/react.js +19 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
var MAX_FILE_SIZE = 5 * 1024 * 1024;
|
|
4
|
+
var ALLOWED_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
|
|
5
|
+
export var handleUpload = /*#__PURE__*/function () {
|
|
6
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
7
|
+
var event, t, fileInputRef, status, onUpload, setStatus, setTimestamp, setShowMenu, showAlert, file, controller, timeoutId, previouStatus, newTimestamp;
|
|
8
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
9
|
+
while (1) {
|
|
10
|
+
switch (_context.prev = _context.next) {
|
|
11
|
+
case 0:
|
|
12
|
+
event = _ref.event, t = _ref.t, fileInputRef = _ref.fileInputRef, status = _ref.status, onUpload = _ref.onUpload, setStatus = _ref.setStatus, setTimestamp = _ref.setTimestamp, setShowMenu = _ref.setShowMenu, showAlert = _ref.showAlert;
|
|
13
|
+
file = event.target.files[0];
|
|
14
|
+
|
|
15
|
+
if (file) {
|
|
16
|
+
_context.next = 4;
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return _context.abrupt("return");
|
|
21
|
+
|
|
22
|
+
case 4:
|
|
23
|
+
if (!(file.size > MAX_FILE_SIZE)) {
|
|
24
|
+
_context.next = 7;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
showAlert({
|
|
29
|
+
message: t('EditBadge.upload.file-size'),
|
|
30
|
+
severity: 'error'
|
|
31
|
+
});
|
|
32
|
+
return _context.abrupt("return");
|
|
33
|
+
|
|
34
|
+
case 7:
|
|
35
|
+
if (ALLOWED_TYPES.includes(file.type)) {
|
|
36
|
+
_context.next = 10;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
showAlert({
|
|
41
|
+
message: t('EditBadge.upload.file-type'),
|
|
42
|
+
severity: 'error'
|
|
43
|
+
});
|
|
44
|
+
return _context.abrupt("return");
|
|
45
|
+
|
|
46
|
+
case 10:
|
|
47
|
+
controller = new AbortController();
|
|
48
|
+
timeoutId = setTimeout(function () {
|
|
49
|
+
return controller.abort();
|
|
50
|
+
}, 30000);
|
|
51
|
+
previouStatus = status;
|
|
52
|
+
setStatus('LOADING');
|
|
53
|
+
_context.prev = 14;
|
|
54
|
+
_context.next = 17;
|
|
55
|
+
return onUpload(file);
|
|
56
|
+
|
|
57
|
+
case 17:
|
|
58
|
+
clearTimeout(timeoutId);
|
|
59
|
+
newTimestamp = Date.now();
|
|
60
|
+
setStatus('PRESENT');
|
|
61
|
+
setTimestamp(newTimestamp);
|
|
62
|
+
showAlert({
|
|
63
|
+
message: t('EditBadge.upload.success'),
|
|
64
|
+
severity: 'success'
|
|
65
|
+
});
|
|
66
|
+
_context.next = 29;
|
|
67
|
+
break;
|
|
68
|
+
|
|
69
|
+
case 24:
|
|
70
|
+
_context.prev = 24;
|
|
71
|
+
_context.t0 = _context["catch"](14);
|
|
72
|
+
clearTimeout(timeoutId);
|
|
73
|
+
setStatus(previouStatus);
|
|
74
|
+
showAlert({
|
|
75
|
+
message: t('EditBadge.upload.error'),
|
|
76
|
+
severity: 'error'
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
case 29:
|
|
80
|
+
_context.prev = 29;
|
|
81
|
+
setShowMenu(false);
|
|
82
|
+
|
|
83
|
+
if (fileInputRef.current) {
|
|
84
|
+
fileInputRef.current.value = '';
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return _context.finish(29);
|
|
88
|
+
|
|
89
|
+
case 33:
|
|
90
|
+
case "end":
|
|
91
|
+
return _context.stop();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}, _callee, null, [[14, 24, 29, 33]]);
|
|
95
|
+
}));
|
|
96
|
+
|
|
97
|
+
return function handleUpload(_x) {
|
|
98
|
+
return _ref2.apply(this, arguments);
|
|
99
|
+
};
|
|
100
|
+
}();
|
|
101
|
+
export var handleDelete = /*#__PURE__*/function () {
|
|
102
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
|
|
103
|
+
var t, status, onDelete, setShowMenu, setStatus, setTimestamp, showAlert, controller, timeoutId, previousStatus, checkTimestamp;
|
|
104
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
105
|
+
while (1) {
|
|
106
|
+
switch (_context2.prev = _context2.next) {
|
|
107
|
+
case 0:
|
|
108
|
+
t = _ref3.t, status = _ref3.status, onDelete = _ref3.onDelete, setShowMenu = _ref3.setShowMenu, setStatus = _ref3.setStatus, setTimestamp = _ref3.setTimestamp, showAlert = _ref3.showAlert;
|
|
109
|
+
setShowMenu(false);
|
|
110
|
+
controller = new AbortController();
|
|
111
|
+
timeoutId = setTimeout(function () {
|
|
112
|
+
return controller.abort();
|
|
113
|
+
}, 30000);
|
|
114
|
+
previousStatus = status;
|
|
115
|
+
setStatus('LOADING');
|
|
116
|
+
_context2.prev = 6;
|
|
117
|
+
_context2.next = 9;
|
|
118
|
+
return onDelete();
|
|
119
|
+
|
|
120
|
+
case 9:
|
|
121
|
+
clearTimeout(timeoutId);
|
|
122
|
+
checkTimestamp = Date.now();
|
|
123
|
+
setStatus('ABSENT');
|
|
124
|
+
setTimestamp(checkTimestamp);
|
|
125
|
+
showAlert({
|
|
126
|
+
message: t('EditBadge.delete.success'),
|
|
127
|
+
severity: 'success'
|
|
128
|
+
});
|
|
129
|
+
_context2.next = 21;
|
|
130
|
+
break;
|
|
131
|
+
|
|
132
|
+
case 16:
|
|
133
|
+
_context2.prev = 16;
|
|
134
|
+
_context2.t0 = _context2["catch"](6);
|
|
135
|
+
clearTimeout(timeoutId);
|
|
136
|
+
setStatus(previousStatus);
|
|
137
|
+
showAlert({
|
|
138
|
+
message: t('EditBadge.delete.error'),
|
|
139
|
+
severity: 'error'
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
case 21:
|
|
143
|
+
case "end":
|
|
144
|
+
return _context2.stop();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}, _callee2, null, [[6, 16]]);
|
|
148
|
+
}));
|
|
149
|
+
|
|
150
|
+
return function handleDelete(_x2) {
|
|
151
|
+
return _ref4.apply(this, arguments);
|
|
152
|
+
};
|
|
153
|
+
}();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default EditBadge;
|
|
2
|
+
declare function EditBadge({ src, onUpload, onDelete, anchorOrigin, children, ...props }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
src: any;
|
|
5
|
+
onUpload: any;
|
|
6
|
+
onDelete: any;
|
|
7
|
+
anchorOrigin: any;
|
|
8
|
+
children: any;
|
|
9
|
+
}): JSX.Element;
|
|
10
|
+
declare namespace EditBadge {
|
|
11
|
+
namespace defaultProps {
|
|
12
|
+
namespace anchorOrigin {
|
|
13
|
+
const vertical: string;
|
|
14
|
+
const horizontal: string;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
namespace propTypes {
|
|
18
|
+
const src: PropTypes.Validator<(...args: any[]) => any>;
|
|
19
|
+
const onUpload: PropTypes.Validator<(...args: any[]) => any>;
|
|
20
|
+
const onDelete: PropTypes.Validator<(...args: any[]) => any>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
import PropTypes from "prop-types";
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["src", "onUpload", "onDelete", "anchorOrigin", "children"];
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React, { useState, useRef } from 'react';
|
|
7
|
+
import EditMenu from "cozy-ui/transpiled/react/EditBadge/EditMenu";
|
|
8
|
+
import StatusWrapper from "cozy-ui/transpiled/react/EditBadge/StatusWrapper";
|
|
9
|
+
import Badge from "cozy-ui/transpiled/react/Badge";
|
|
10
|
+
import Button from "cozy-ui/transpiled/react/Buttons";
|
|
11
|
+
import Icon from "cozy-ui/transpiled/react/Icon";
|
|
12
|
+
import PenIcon from "cozy-ui/transpiled/react/Icons/Pen";
|
|
13
|
+
|
|
14
|
+
var EditBadge = function EditBadge(_ref) {
|
|
15
|
+
var src = _ref.src,
|
|
16
|
+
onUpload = _ref.onUpload,
|
|
17
|
+
onDelete = _ref.onDelete,
|
|
18
|
+
anchorOrigin = _ref.anchorOrigin,
|
|
19
|
+
children = _ref.children,
|
|
20
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
+
|
|
22
|
+
var _useState = useState(false),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
showMenu = _useState2[0],
|
|
25
|
+
setShowMenu = _useState2[1];
|
|
26
|
+
|
|
27
|
+
var _useState3 = useState('PRESENT'),
|
|
28
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
29
|
+
status = _useState4[0],
|
|
30
|
+
setStatus = _useState4[1]; // PRESENT || ABSENT || LOADING
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
var _useState5 = useState(Date.now()),
|
|
34
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
35
|
+
timestamp = _useState6[0],
|
|
36
|
+
setTimestamp = _useState6[1];
|
|
37
|
+
|
|
38
|
+
var menuAnchorRef = useRef(null);
|
|
39
|
+
return /*#__PURE__*/React.createElement(Badge, _extends({}, props, {
|
|
40
|
+
anchorOrigin: anchorOrigin,
|
|
41
|
+
badgeContent: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
|
|
42
|
+
ref: menuAnchorRef,
|
|
43
|
+
component: "div",
|
|
44
|
+
className: "u-miw-auto u-w-2-half u-h-2-half u-bdrs-circle",
|
|
45
|
+
classes: {
|
|
46
|
+
label: 'u-flex u-w-auto'
|
|
47
|
+
},
|
|
48
|
+
style: {
|
|
49
|
+
outline: '4px solid var(--paperBackgroundColor)'
|
|
50
|
+
},
|
|
51
|
+
label: /*#__PURE__*/React.createElement(Icon, {
|
|
52
|
+
icon: PenIcon
|
|
53
|
+
}),
|
|
54
|
+
size: "small",
|
|
55
|
+
onClick: function onClick() {
|
|
56
|
+
return setShowMenu(function (v) {
|
|
57
|
+
return !v;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}), /*#__PURE__*/React.createElement(EditMenu, {
|
|
61
|
+
anchorRef: menuAnchorRef.current,
|
|
62
|
+
status: status,
|
|
63
|
+
showMenu: showMenu,
|
|
64
|
+
setShowMenu: setShowMenu,
|
|
65
|
+
setStatus: setStatus,
|
|
66
|
+
setTimestamp: setTimestamp,
|
|
67
|
+
onUpload: onUpload,
|
|
68
|
+
onDelete: onDelete
|
|
69
|
+
}))
|
|
70
|
+
}), /*#__PURE__*/React.createElement(StatusWrapper, {
|
|
71
|
+
src: src(timestamp),
|
|
72
|
+
status: status,
|
|
73
|
+
setStatus: setStatus,
|
|
74
|
+
timestamp: timestamp
|
|
75
|
+
}, children));
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
EditBadge.defaultProps = {
|
|
79
|
+
anchorOrigin: {
|
|
80
|
+
vertical: 'bottom',
|
|
81
|
+
horizontal: 'right'
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
EditBadge.propTypes = {
|
|
85
|
+
src: PropTypes.func.isRequired,
|
|
86
|
+
onUpload: PropTypes.func.isRequired,
|
|
87
|
+
onDelete: PropTypes.func.isRequired
|
|
88
|
+
};
|
|
89
|
+
export default EditBadge;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
var en = {
|
|
2
|
+
EditBadge: {
|
|
3
|
+
menu: {
|
|
4
|
+
update: "Update",
|
|
5
|
+
"delete": "Delete"
|
|
6
|
+
},
|
|
7
|
+
upload: {
|
|
8
|
+
"file-size": "The file size limit is 5MB.",
|
|
9
|
+
"file-type": "The file type is not supported. Please try again.",
|
|
10
|
+
success: "Avatar updated successfully",
|
|
11
|
+
error: "The avatar upload has failed. Please try again."
|
|
12
|
+
},
|
|
13
|
+
"delete": {
|
|
14
|
+
success: "Avatar deleted successfully",
|
|
15
|
+
error: "The avatar deletion has failed. Please try again."
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var fr = {
|
|
20
|
+
EditBadge: {
|
|
21
|
+
menu: {
|
|
22
|
+
update: "Mettre \xE0 jour",
|
|
23
|
+
"delete": "Supprimer"
|
|
24
|
+
},
|
|
25
|
+
upload: {
|
|
26
|
+
"file-size": "La taille du fichier est limit\xE9e \xE0 5Mo.",
|
|
27
|
+
"file-type": "Le type de fichier n'est pas support\xE9. Merci de r\xE9essayer.",
|
|
28
|
+
success: "Avatar mis \xE0 jour avec succ\xE8s",
|
|
29
|
+
error: "La mise \xE0 jour de l'avatar a \xE9chou\xE9. Merci de r\xE9essayer."
|
|
30
|
+
},
|
|
31
|
+
"delete": {
|
|
32
|
+
success: "Avatar supprim\xE9 avec succ\xE8s",
|
|
33
|
+
error: "La suppression de l'avatar a \xE9chou\xE9. Merci de r\xE9essayer."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var ru = {
|
|
38
|
+
EditBadge: {
|
|
39
|
+
menu: {
|
|
40
|
+
update: "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",
|
|
41
|
+
"delete": "\u0423\u0434\u0430\u043B\u0438\u0442\u044C"
|
|
42
|
+
},
|
|
43
|
+
upload: {
|
|
44
|
+
"file-size": "\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u2014 5 \u041C\u0411.",
|
|
45
|
+
"file-type": "\u0422\u0438\u043F \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",
|
|
46
|
+
success: "\u0410\u0432\u0430\u0442\u0430\u0440 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0451\u043D",
|
|
47
|
+
error: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0430\u0432\u0430\u0442\u0430\u0440. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
|
|
48
|
+
},
|
|
49
|
+
"delete": {
|
|
50
|
+
success: "\u0410\u0432\u0430\u0442\u0430\u0440 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0451\u043D",
|
|
51
|
+
error: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0430\u0432\u0430\u0442\u0430\u0440. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
var vi = {
|
|
56
|
+
EditBadge: {
|
|
57
|
+
menu: {
|
|
58
|
+
update: "C\u1EADp nh\u1EADt",
|
|
59
|
+
"delete": "X\xF3a"
|
|
60
|
+
},
|
|
61
|
+
upload: {
|
|
62
|
+
"file-size": "Gi\u1EDBi h\u1EA1n k\xEDch th\u01B0\u1EDBc t\u1EC7p l\xE0 5MB.",
|
|
63
|
+
"file-type": "Lo\u1EA1i t\u1EC7p kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3. Vui l\xF2ng th\u1EED l\u1EA1i.",
|
|
64
|
+
success: "C\u1EADp nh\u1EADt \u1EA3nh \u0111\u1EA1i di\u1EC7n th\xE0nh c\xF4ng",
|
|
65
|
+
error: "T\u1EA3i \u1EA3nh \u0111\u1EA1i di\u1EC7n th\u1EA5t b\u1EA1i. Vui l\xF2ng th\u1EED l\u1EA1i."
|
|
66
|
+
},
|
|
67
|
+
"delete": {
|
|
68
|
+
success: "X\xF3a \u1EA3nh \u0111\u1EA1i di\u1EC7n th\xE0nh c\xF4ng",
|
|
69
|
+
error: "X\xF3a \u1EA3nh \u0111\u1EA1i di\u1EC7n th\u1EA5t b\u1EA1i. Vui l\xF2ng th\u1EED l\u1EA1i."
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
export var locales = {
|
|
74
|
+
en: en,
|
|
75
|
+
fr: fr,
|
|
76
|
+
ru: ru,
|
|
77
|
+
vi: vi
|
|
78
|
+
};
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { CozyProvider } from 'cozy-client';
|
|
3
3
|
import { BreakpointsProvider } from "cozy-ui/transpiled/react/providers/Breakpoints";
|
|
4
4
|
import CozyTheme from "cozy-ui/transpiled/react/providers/CozyTheme";
|
|
5
|
+
import AlertProvider from "cozy-ui/transpiled/react/providers/Alert";
|
|
5
6
|
import I18n from "cozy-ui/transpiled/react/providers/I18n";
|
|
6
7
|
var defaultClient = {
|
|
7
8
|
plugins: {
|
|
@@ -36,12 +37,12 @@ var DemoProvider = function DemoProvider(_ref) {
|
|
|
36
37
|
|
|
37
38
|
return /*#__PURE__*/React.createElement(CozyProvider, {
|
|
38
39
|
client: client || defaultClient
|
|
39
|
-
}, /*#__PURE__*/React.createElement(BreakpointsProvider, null, /*#__PURE__*/React.createElement(I18n, {
|
|
40
|
+
}, /*#__PURE__*/React.createElement(BreakpointsProvider, null, /*#__PURE__*/React.createElement(AlertProvider, null, /*#__PURE__*/React.createElement(I18n, {
|
|
40
41
|
lang: lang,
|
|
41
42
|
dictRequire: _dictRequire
|
|
42
43
|
}, /*#__PURE__*/React.createElement(CozyTheme, {
|
|
43
44
|
variant: variant
|
|
44
|
-
}, children))));
|
|
45
|
+
}, children)))));
|
|
45
46
|
};
|
|
46
47
|
|
|
47
48
|
export default DemoProvider;
|
|
@@ -2,3 +2,4 @@ export function getComponentName(node: any): any;
|
|
|
2
2
|
export function getChildren(props: any): any[] | null;
|
|
3
3
|
export function getChildrenCount(props: any): number | null;
|
|
4
4
|
export function getLastChild(props: any): any;
|
|
5
|
+
export function AddPropsToChildren(children: React.ReactElement, propsCallback: Function): (import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null)[];
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
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 { Fragment, Children, isValidElement, cloneElement } from 'react';
|
|
2
8
|
/**
|
|
3
9
|
* Get the name of the node
|
|
4
10
|
* @param {React.ElementType || string} node
|
|
@@ -26,4 +32,16 @@ export var getLastChild = function getLastChild(props) {
|
|
|
26
32
|
if (!children) return null;
|
|
27
33
|
var lastChild = children[children.length - 1];
|
|
28
34
|
return lastChild.type === Fragment ? getChildren(lastChild.props)[0] : lastChild;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Clone a React child and add props on it
|
|
38
|
+
* @param {React.ReactElement} children
|
|
39
|
+
* @param {Function} propsCallback - get child props as arg, return new props as object
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export var AddPropsToChildren = function AddPropsToChildren(children, propsCallback) {
|
|
44
|
+
return Children.map(children, function (child) {
|
|
45
|
+
return /*#__PURE__*/isValidElement(child) ? /*#__PURE__*/cloneElement(child, _objectSpread({}, propsCallback(child.props))) : null;
|
|
46
|
+
});
|
|
29
47
|
};
|