cozy-ui 146.2.2 → 146.3.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 (65) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +1 -1
  3. package/react/DropdownText/index.jsx +3 -5
  4. package/react/MemberAutocomplete/MemberAutocomplete.spec.jsx +107 -0
  5. package/react/MemberAutocomplete/MemberAutocompleteActions.jsx +77 -0
  6. package/react/MemberAutocomplete/MemberChip.jsx +29 -0
  7. package/react/MemberAutocomplete/MemberSuggestion.jsx +32 -0
  8. package/react/MemberAutocomplete/Readme.md +65 -0
  9. package/react/MemberAutocomplete/helpers.js +70 -0
  10. package/react/MemberAutocomplete/helpers.spec.js +51 -0
  11. package/react/MemberAutocomplete/index.jsx +248 -0
  12. package/react/MemberAutocomplete/locales/de.json +5 -0
  13. package/react/MemberAutocomplete/locales/en.json +5 -0
  14. package/react/MemberAutocomplete/locales/es.json +5 -0
  15. package/react/MemberAutocomplete/locales/fr.json +5 -0
  16. package/react/MemberAutocomplete/locales/index.js +17 -0
  17. package/react/MemberAutocomplete/locales/it.json +5 -0
  18. package/react/MemberAutocomplete/locales/ru.json +5 -0
  19. package/react/MemberAutocomplete/locales/vi.json +5 -0
  20. package/react/MemberAutocomplete/useMemberInput.js +84 -0
  21. package/react/MemberAutocomplete/useMemberSuggestions.js +65 -0
  22. package/react/MemberAutocomplete/useMemberSuggestions.spec.js +97 -0
  23. package/react/MemberAutocomplete/useRoleMenuFocus.js +35 -0
  24. package/react/MemberRow/MemberOrGroupAvatar.jsx +21 -0
  25. package/react/MemberRow/MemberRoleMenu.jsx +29 -4
  26. package/react/MemberRow/MemberRoleMenuHeader.jsx +3 -8
  27. package/react/MemberRow/Readme.md +5 -4
  28. package/react/MemberRow/index.jsx +3 -19
  29. package/react/MemberRow/propTypes.js +1 -0
  30. package/react/MuiCozyTheme/makeTheme.jsx +12 -1
  31. package/transpiled/react/DropdownText/index.js +3 -3
  32. package/transpiled/react/MemberAutocomplete/MemberAutocomplete.spec.d.ts +1 -0
  33. package/transpiled/react/MemberAutocomplete/MemberAutocompleteActions.d.ts +25 -0
  34. package/transpiled/react/MemberAutocomplete/MemberAutocompleteActions.js +69 -0
  35. package/transpiled/react/MemberAutocomplete/MemberChip.d.ts +39 -0
  36. package/transpiled/react/MemberAutocomplete/MemberChip.js +33 -0
  37. package/transpiled/react/MemberAutocomplete/MemberSuggestion.d.ts +36 -0
  38. package/transpiled/react/MemberAutocomplete/MemberSuggestion.js +31 -0
  39. package/transpiled/react/MemberAutocomplete/helpers.d.ts +7 -0
  40. package/transpiled/react/MemberAutocomplete/helpers.js +73 -0
  41. package/transpiled/react/MemberAutocomplete/helpers.spec.d.ts +1 -0
  42. package/transpiled/react/MemberAutocomplete/index.d.ts +71 -0
  43. package/transpiled/react/MemberAutocomplete/index.js +296 -0
  44. package/transpiled/react/MemberAutocomplete/locales/index.d.ts +16 -0
  45. package/transpiled/react/MemberAutocomplete/locales/index.js +44 -0
  46. package/transpiled/react/MemberAutocomplete/useMemberInput.d.ts +15 -0
  47. package/transpiled/react/MemberAutocomplete/useMemberInput.js +79 -0
  48. package/transpiled/react/MemberAutocomplete/useMemberSuggestions.d.ts +11 -0
  49. package/transpiled/react/MemberAutocomplete/useMemberSuggestions.js +120 -0
  50. package/transpiled/react/MemberAutocomplete/useMemberSuggestions.spec.d.ts +1 -0
  51. package/transpiled/react/MemberAutocomplete/useRoleMenuFocus.d.ts +6 -0
  52. package/transpiled/react/MemberAutocomplete/useRoleMenuFocus.js +37 -0
  53. package/transpiled/react/MemberList/index.d.ts +1 -0
  54. package/transpiled/react/MemberRow/MemberOrGroupAvatar.d.ts +39 -0
  55. package/transpiled/react/MemberRow/MemberOrGroupAvatar.js +29 -0
  56. package/transpiled/react/MemberRow/MemberRoleMenu.d.ts +9 -1
  57. package/transpiled/react/MemberRow/MemberRoleMenu.js +26 -9
  58. package/transpiled/react/MemberRow/MemberRoleMenuHeader.d.ts +1 -0
  59. package/transpiled/react/MemberRow/MemberRoleMenuHeader.js +4 -13
  60. package/transpiled/react/MemberRow/MemberRowActions.d.ts +1 -0
  61. package/transpiled/react/MemberRow/index.d.ts +1 -10
  62. package/transpiled/react/MemberRow/index.js +4 -13
  63. package/transpiled/react/MemberRow/propTypes.d.ts +1 -0
  64. package/transpiled/react/MemberRow/propTypes.js +1 -0
  65. package/transpiled/react/MuiCozyTheme/makeTheme.js +15 -2
@@ -0,0 +1,29 @@
1
+ import PropTypes from 'prop-types';
2
+ import React from 'react';
3
+ import MemberAvatar from "cozy-ui/transpiled/react/MemberRow/MemberAvatar";
4
+ import MemberGroupAvatar from "cozy-ui/transpiled/react/MemberRow/MemberGroupAvatar";
5
+ import { memberPropType } from "cozy-ui/transpiled/react/MemberRow/propTypes";
6
+
7
+ var MemberOrGroupAvatar = function MemberOrGroupAvatar(_ref) {
8
+ var member = _ref.member,
9
+ size = _ref.size;
10
+ var avatarUrl = member.avatarUrl,
11
+ initials = member.initials,
12
+ color = member.color,
13
+ isGroup = member.isGroup;
14
+ if (isGroup) return /*#__PURE__*/React.createElement(MemberGroupAvatar, {
15
+ size: size,
16
+ color: color
17
+ });
18
+ return /*#__PURE__*/React.createElement(MemberAvatar, {
19
+ size: size,
20
+ initials: initials,
21
+ avatarUrl: avatarUrl
22
+ });
23
+ };
24
+
25
+ MemberOrGroupAvatar.propTypes = {
26
+ member: memberPropType.isRequired,
27
+ size: PropTypes.string.isRequired
28
+ };
29
+ export default MemberOrGroupAvatar;
@@ -1,9 +1,13 @@
1
1
  export default MemberRoleMenu;
2
- declare function MemberRoleMenu({ member, value, roles, onChange }: {
2
+ declare function MemberRoleMenu({ member, value, roles, size, disabled, onChange, onOpen, onClose }: {
3
3
  member: any;
4
4
  value: any;
5
5
  roles: any;
6
+ size: any;
7
+ disabled?: boolean | undefined;
6
8
  onChange: any;
9
+ onOpen: any;
10
+ onClose: any;
7
11
  }): JSX.Element;
8
12
  declare namespace MemberRoleMenu {
9
13
  namespace propTypes {
@@ -13,7 +17,11 @@ declare namespace MemberRoleMenu {
13
17
  value: PropTypes.Validator<string>;
14
18
  label: PropTypes.Validator<string>;
15
19
  }> | null)[]>;
20
+ export const size: PropTypes.Requireable<string>;
21
+ export const disabled: PropTypes.Requireable<boolean>;
16
22
  export const onChange: PropTypes.Validator<(...args: any[]) => any>;
23
+ export const onOpen: PropTypes.Requireable<(...args: any[]) => any>;
24
+ export const onClose: PropTypes.Requireable<(...args: any[]) => any>;
17
25
  }
18
26
  }
19
27
  import { memberPropType } from "./propTypes";
@@ -17,7 +17,12 @@ var MemberRoleMenu = function MemberRoleMenu(_ref) {
17
17
  var member = _ref.member,
18
18
  value = _ref.value,
19
19
  roles = _ref.roles,
20
- onChange = _ref.onChange;
20
+ size = _ref.size,
21
+ _ref$disabled = _ref.disabled,
22
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
23
+ onChange = _ref.onChange,
24
+ onOpen = _ref.onOpen,
25
+ onClose = _ref.onClose;
21
26
 
22
27
  var _useBreakpoints = useBreakpoints(),
23
28
  isMobile = _useBreakpoints.isMobile;
@@ -34,6 +39,16 @@ var MemberRoleMenu = function MemberRoleMenu(_ref) {
34
39
  })) === null || _roles$find === void 0 ? void 0 : _roles$find.label;
35
40
  var isHeaderShown = isMobile && member !== undefined;
36
41
 
42
+ var openMenu = function openMenu() {
43
+ setMenuDisplayed(true);
44
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen();
45
+ };
46
+
47
+ var closeMenu = function closeMenu() {
48
+ setMenuDisplayed(false);
49
+ onClose === null || onClose === void 0 ? void 0 : onClose();
50
+ };
51
+
37
52
  var handleRoleClick = function handleRoleClick(role) {
38
53
  if (role.value !== value) onChange(role.value);
39
54
  };
@@ -42,10 +57,10 @@ var MemberRoleMenu = function MemberRoleMenu(_ref) {
42
57
  ref: buttonRef,
43
58
  "aria-controls": "simple-menu",
44
59
  "aria-haspopup": "true",
45
- onClick: function onClick() {
46
- return setMenuDisplayed(true);
47
- },
48
- textVariant: "body2"
60
+ onClick: openMenu,
61
+ textVariant: "body2",
62
+ size: size,
63
+ disabled: disabled
49
64
  }, label), /*#__PURE__*/React.createElement(ActionsMenuWrapper, {
50
65
  open: isMenuDisplayed,
51
66
  anchorEl: buttonRef.current,
@@ -60,9 +75,7 @@ var MemberRoleMenu = function MemberRoleMenu(_ref) {
60
75
  },
61
76
  keepMounted: true,
62
77
  autoClose: true,
63
- onClose: function onClose() {
64
- return setMenuDisplayed(false);
65
- }
78
+ onClose: closeMenu
66
79
  }, isHeaderShown && /*#__PURE__*/React.createElement(MemberRoleMenuHeader, {
67
80
  member: member
68
81
  }), roles.map(function (role) {
@@ -84,6 +97,10 @@ MemberRoleMenu.propTypes = {
84
97
  member: memberPropType,
85
98
  value: PropTypes.string.isRequired,
86
99
  roles: rolesPropType.isRequired,
87
- onChange: PropTypes.func.isRequired
100
+ size: PropTypes.oneOf(['small', 'medium', 'large']),
101
+ disabled: PropTypes.bool,
102
+ onChange: PropTypes.func.isRequired,
103
+ onOpen: PropTypes.func,
104
+ onClose: PropTypes.func
88
105
  };
89
106
  export default MemberRoleMenu;
@@ -8,6 +8,7 @@ declare namespace MemberRoleMenuHeader {
8
8
  id: import("prop-types").Validator<string>;
9
9
  name: import("prop-types").Requireable<string>;
10
10
  subtitle: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
11
+ email: import("prop-types").Requireable<string>;
11
12
  avatarUrl: import("prop-types").Requireable<string>;
12
13
  initials: import("prop-types").Requireable<string>;
13
14
  color: import("prop-types").Requireable<string>;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useI18n, useExtendI18n } from 'twake-i18n';
3
- import MemberAvatar from "cozy-ui/transpiled/react/MemberRow/MemberAvatar";
4
- import MemberGroupAvatar from "cozy-ui/transpiled/react/MemberRow/MemberGroupAvatar";
3
+ import MemberOrGroupAvatar from "cozy-ui/transpiled/react/MemberRow/MemberOrGroupAvatar";
5
4
  import { locales } from "cozy-ui/transpiled/react/MemberRow/locales";
6
5
  import { memberPropType } from "cozy-ui/transpiled/react/MemberRow/propTypes";
7
6
  import ActionsMenuMobileHeader from "cozy-ui/transpiled/react/ActionsMenu/ActionsMenuMobileHeader";
@@ -16,18 +15,10 @@ var MemberRoleMenuHeader = function MemberRoleMenuHeader(_ref) {
16
15
  t = _useI18n.t;
17
16
 
18
17
  var name = member.name,
19
- avatarUrl = member.avatarUrl,
20
- initials = member.initials,
21
- color = member.color,
22
- isGroup = member.isGroup,
23
18
  isCurrentUser = member.isCurrentUser;
24
- return /*#__PURE__*/React.createElement(ActionsMenuMobileHeader, null, /*#__PURE__*/React.createElement(ListItemIcon, null, isGroup ? /*#__PURE__*/React.createElement(MemberGroupAvatar, {
25
- size: "m",
26
- color: color
27
- }) : /*#__PURE__*/React.createElement(MemberAvatar, {
28
- size: "m",
29
- initials: initials,
30
- avatarUrl: avatarUrl
19
+ return /*#__PURE__*/React.createElement(ActionsMenuMobileHeader, null, /*#__PURE__*/React.createElement(ListItemIcon, null, /*#__PURE__*/React.createElement(MemberOrGroupAvatar, {
20
+ member: member,
21
+ size: "m"
31
22
  })), /*#__PURE__*/React.createElement(ListItemText, {
32
23
  primary: isCurrentUser ? t('MemberRow.you') : name || t('MemberRow.defaultName'),
33
24
  primaryTypographyProps: {
@@ -11,6 +11,7 @@ declare namespace MemberRowActions {
11
11
  id: PropTypes.Validator<string>;
12
12
  name: PropTypes.Requireable<string>;
13
13
  subtitle: PropTypes.Requireable<PropTypes.ReactNodeLike>;
14
+ email: PropTypes.Requireable<string>;
14
15
  avatarUrl: PropTypes.Requireable<string>;
15
16
  initials: PropTypes.Requireable<string>;
16
17
  color: PropTypes.Requireable<string>;
@@ -23,6 +23,7 @@ declare namespace MemberRow {
23
23
  id: PropTypes.Validator<string>;
24
24
  name: PropTypes.Requireable<string>;
25
25
  subtitle: PropTypes.Requireable<PropTypes.ReactNodeLike>;
26
+ email: PropTypes.Requireable<string>;
26
27
  avatarUrl: PropTypes.Requireable<string>;
27
28
  initials: PropTypes.Requireable<string>;
28
29
  color: PropTypes.Requireable<string>;
@@ -38,16 +39,6 @@ declare namespace MemberRow {
38
39
  canRemove: PropTypes.Requireable<boolean>;
39
40
  removeIcon: PropTypes.Requireable<object>;
40
41
  removeLabel: PropTypes.Requireable<string>;
41
- /**
42
- * Displays a member of a sharing: avatar, name, subtitle, role and remove button
43
- *
44
- * @param {object} props
45
- * @param {object} props.member - Member to display, see `memberPropType`
46
- * @param {object[]} props.roles - Roles a member can get, as `{ value, label }`
47
- * @param {boolean} [props.isNew] - Whether the row fades in
48
- * @param {Function} props.onRoleChange - Called with the member and its new role
49
- * @param {Function} props.onRemove - Called with the member to remove
50
- */
51
42
  action: PropTypes.Requireable<PropTypes.InferProps<{
52
43
  label: PropTypes.Validator<string>;
53
44
  onClick: PropTypes.Validator<(...args: any[]) => any>;
@@ -1,8 +1,7 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import React, { Fragment } from 'react';
3
3
  import { useI18n, useExtendI18n } from 'twake-i18n';
4
- import MemberAvatar from "cozy-ui/transpiled/react/MemberRow/MemberAvatar";
5
- import MemberGroupAvatar from "cozy-ui/transpiled/react/MemberRow/MemberGroupAvatar";
4
+ import MemberOrGroupAvatar from "cozy-ui/transpiled/react/MemberRow/MemberOrGroupAvatar";
6
5
  import MemberRowActions from "cozy-ui/transpiled/react/MemberRow/MemberRowActions";
7
6
  import { locales } from "cozy-ui/transpiled/react/MemberRow/locales";
8
7
  import { memberPropType, rolesPropType } from "cozy-ui/transpiled/react/MemberRow/propTypes";
@@ -42,10 +41,6 @@ var MemberRow = function MemberRow(_ref) {
42
41
 
43
42
  var name = member.name,
44
43
  subtitle = member.subtitle,
45
- avatarUrl = member.avatarUrl,
46
- initials = member.initials,
47
- color = member.color,
48
- isGroup = member.isGroup,
49
44
  isOwner = member.isOwner,
50
45
  isCurrentUser = member.isCurrentUser,
51
46
  action = member.action,
@@ -62,13 +57,9 @@ var MemberRow = function MemberRow(_ref) {
62
57
  onClick: onClick,
63
58
  gutters: isMobile ? 'default' : 'double',
64
59
  size: "small"
65
- }, /*#__PURE__*/React.createElement(ListItemIcon, null, isGroup ? /*#__PURE__*/React.createElement(MemberGroupAvatar, {
66
- size: "m",
67
- color: color
68
- }) : /*#__PURE__*/React.createElement(MemberAvatar, {
69
- size: "m",
70
- initials: initials,
71
- avatarUrl: avatarUrl
60
+ }, /*#__PURE__*/React.createElement(ListItemIcon, null, /*#__PURE__*/React.createElement(MemberOrGroupAvatar, {
61
+ member: member,
62
+ size: "m"
72
63
  })), /*#__PURE__*/React.createElement(ListItemText, {
73
64
  primary: /*#__PURE__*/React.createElement(Typography, {
74
65
  variant: "body1"
@@ -6,6 +6,7 @@ export const memberPropType: PropTypes.Requireable<PropTypes.InferProps<{
6
6
  id: PropTypes.Validator<string>;
7
7
  name: PropTypes.Requireable<string>;
8
8
  subtitle: PropTypes.Requireable<PropTypes.ReactNodeLike>;
9
+ email: PropTypes.Requireable<string>;
9
10
  avatarUrl: PropTypes.Requireable<string>;
10
11
  initials: PropTypes.Requireable<string>;
11
12
  color: PropTypes.Requireable<string>;
@@ -8,6 +8,7 @@ export var memberPropType = PropTypes.shape({
8
8
  id: PropTypes.string.isRequired,
9
9
  name: PropTypes.string,
10
10
  subtitle: PropTypes.node,
11
+ email: PropTypes.string,
11
12
  avatarUrl: PropTypes.string,
12
13
  initials: PropTypes.string,
13
14
  color: PropTypes.string,
@@ -43,8 +43,19 @@ var themesCommonConfig = _objectSpread({
43
43
  return 'none';
44
44
  }
45
45
  }
46
- });
46
+ }); // Keyframe animations ignore `transitions`, so they would change each screenshot
47
47
 
48
+
49
+ var testingOverrides = {
50
+ MuiCircularProgress: {
51
+ indeterminate: {
52
+ animation: 'none'
53
+ },
54
+ circleIndeterminate: {
55
+ animation: 'none'
56
+ }
57
+ }
58
+ };
48
59
  export var makeTheme = function makeTheme(type) {
49
60
  // to hold the values of css variables, recoverable by getCssVariableValue()
50
61
  createNodeWithThemeCssVars(type);
@@ -55,7 +66,9 @@ export var makeTheme = function makeTheme(type) {
55
66
  type: type,
56
67
  palette: palette
57
68
  }));
58
- var overrides = makeOverridesByTheme(theme)[type];
69
+
70
+ var overrides = _objectSpread(_objectSpread({}, makeOverridesByTheme(theme)[type]), isTesting() && testingOverrides);
71
+
59
72
  return _objectSpread(_objectSpread({}, theme), {}, {
60
73
  overrides: overrides
61
74
  });