cozy-ui 130.9.0 → 130.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +1 -1
  3. package/react/Checkbox/Readme.md +44 -39
  4. package/react/Checkbox/index.jsx +12 -2
  5. package/react/EditBadge/EditMenu.jsx +102 -0
  6. package/react/EditBadge/Readme.md +22 -0
  7. package/react/EditBadge/StatusWrapper.jsx +32 -0
  8. package/react/EditBadge/helpers.js +102 -0
  9. package/react/EditBadge/index.jsx +81 -0
  10. package/react/EditBadge/locales/en.json +18 -0
  11. package/react/EditBadge/locales/fr.json +18 -0
  12. package/react/EditBadge/locales/index.js +11 -0
  13. package/react/EditBadge/locales/ru.json +18 -0
  14. package/react/EditBadge/locales/vi.json +18 -0
  15. package/react/MuiCozyTheme/overrides/makeLightNormalOverrides.js +4 -2
  16. package/react/Radios/Readme.md +63 -71
  17. package/react/Switch/Readme.md +93 -46
  18. package/react/utils/react.js +14 -1
  19. package/transpiled/react/Checkbox/index.d.ts +6 -2
  20. package/transpiled/react/Checkbox/index.js +6 -2
  21. package/transpiled/react/EditBadge/EditMenu.d.ts +11 -0
  22. package/transpiled/react/EditBadge/EditMenu.js +93 -0
  23. package/transpiled/react/EditBadge/StatusWrapper.d.ts +9 -0
  24. package/transpiled/react/EditBadge/StatusWrapper.js +44 -0
  25. package/transpiled/react/EditBadge/helpers.d.ts +20 -0
  26. package/transpiled/react/EditBadge/helpers.js +153 -0
  27. package/transpiled/react/EditBadge/index.d.ts +23 -0
  28. package/transpiled/react/EditBadge/index.js +89 -0
  29. package/transpiled/react/EditBadge/locales/index.d.ts +10 -0
  30. package/transpiled/react/EditBadge/locales/index.js +78 -0
  31. package/transpiled/react/MuiCozyTheme/overrides/makeDarkInvertedOverrides.d.ts +2 -0
  32. package/transpiled/react/MuiCozyTheme/overrides/makeDarkNormalOverrides.d.ts +2 -0
  33. package/transpiled/react/MuiCozyTheme/overrides/makeLightInvertedOverrides.d.ts +2 -0
  34. package/transpiled/react/MuiCozyTheme/overrides/makeLightNormalOverrides.d.ts +2 -0
  35. package/transpiled/react/MuiCozyTheme/overrides/makeLightNormalOverrides.js +4 -2
  36. package/transpiled/react/utils/react.d.ts +1 -0
  37. 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,10 @@
1
+ export namespace locales {
2
+ export { en };
3
+ export { fr };
4
+ export { ru };
5
+ export { vi };
6
+ }
7
+ import en from "./en.json";
8
+ import fr from "./fr.json";
9
+ import ru from "./ru.json";
10
+ import vi from "./vi.json";
@@ -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
+ };
@@ -922,6 +922,7 @@ export function makeDarkInvertedOverrides(theme: any): {
922
922
  width: number;
923
923
  height: number;
924
924
  padding: string;
925
+ justifyContent: string;
925
926
  };
926
927
  checked: {
927
928
  '& + $track$track': {
@@ -931,6 +932,7 @@ export function makeDarkInvertedOverrides(theme: any): {
931
932
  switchBase: {
932
933
  padding: number;
933
934
  top: number;
935
+ left: number;
934
936
  color: any;
935
937
  '& .cozySwitchThumb': {
936
938
  display: string;
@@ -922,6 +922,7 @@ export function makeDarkNormalOverrides(theme: any): {
922
922
  width: number;
923
923
  height: number;
924
924
  padding: string;
925
+ justifyContent: string;
925
926
  };
926
927
  checked: {
927
928
  '& + $track$track': {
@@ -931,6 +932,7 @@ export function makeDarkNormalOverrides(theme: any): {
931
932
  switchBase: {
932
933
  padding: number;
933
934
  top: number;
935
+ left: number;
934
936
  color: any;
935
937
  '& .cozySwitchThumb': {
936
938
  display: string;
@@ -922,6 +922,7 @@ export function makeLightInvertedOverrides(theme: any): {
922
922
  width: number;
923
923
  height: number;
924
924
  padding: string;
925
+ justifyContent: string;
925
926
  };
926
927
  checked: {
927
928
  '& + $track$track': {
@@ -931,6 +932,7 @@ export function makeLightInvertedOverrides(theme: any): {
931
932
  switchBase: {
932
933
  padding: number;
933
934
  top: number;
935
+ left: number;
934
936
  color: any;
935
937
  '& .cozySwitchThumb': {
936
938
  display: string;
@@ -922,6 +922,7 @@ export function makeLightNormalOverrides(theme: any): {
922
922
  width: number;
923
923
  height: number;
924
924
  padding: string;
925
+ justifyContent: string;
925
926
  };
926
927
  checked: {
927
928
  '& + $track$track': {
@@ -931,6 +932,7 @@ export function makeLightNormalOverrides(theme: any): {
931
932
  switchBase: {
932
933
  padding: number;
933
934
  top: number;
935
+ left: number;
934
936
  color: any;
935
937
  '& .cozySwitchThumb': {
936
938
  display: string;
@@ -844,9 +844,10 @@ export var makeLightNormalOverrides = function makeLightNormalOverrides(theme) {
844
844
  },
845
845
  MuiSwitch: {
846
846
  root: {
847
- width: 50,
847
+ width: 56,
848
848
  height: 40,
849
- padding: '6px 1px'
849
+ padding: '6px 1px',
850
+ justifyContent: 'center'
850
851
  },
851
852
  checked: {
852
853
  '& + $track$track': {
@@ -856,6 +857,7 @@ export var makeLightNormalOverrides = function makeLightNormalOverrides(theme) {
856
857
  switchBase: {
857
858
  padding: 5,
858
859
  top: 5,
860
+ left: 5,
859
861
  color: theme.palette.text.icon,
860
862
  '& .cozySwitchThumb': {
861
863
  display: 'flex',
@@ -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 { Fragment, Children } from 'react';
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
  };