@bigbinary/neeto-team-members-frontend 5.0.62 → 5.0.64

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 (72) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ManageMember.js +5 -11
  3. package/dist/ManageMember.js.map +1 -1
  4. package/dist/{Permissions-LWRAefeb.js → Permissions-BVkx_S_F.js} +2 -2
  5. package/dist/Permissions-BVkx_S_F.js.map +1 -0
  6. package/dist/{Permissions-Bz0SmJzH.js → Permissions-DIdoAJlu.js} +2 -2
  7. package/dist/Permissions-DIdoAJlu.js.map +1 -0
  8. package/dist/Profile.js +4 -13
  9. package/dist/Profile.js.map +1 -1
  10. package/dist/{ProfileImage-BLnx0E90.js → ProfileImage-BjDA-txF.js} +2 -2
  11. package/dist/ProfileImage-BjDA-txF.js.map +1 -0
  12. package/dist/{ProfileImage-V240yfTY.js → ProfileImage-Ca02-i_d.js} +2 -2
  13. package/dist/ProfileImage-Ca02-i_d.js.map +1 -0
  14. package/dist/cjs/ManageMember.js +5 -11
  15. package/dist/cjs/ManageMember.js.map +1 -1
  16. package/dist/cjs/Profile.js +4 -14
  17. package/dist/cjs/Profile.js.map +1 -1
  18. package/dist/cjs/v2/Groups.js +1 -1
  19. package/dist/cjs/v2/Groups.js.map +1 -1
  20. package/dist/cjs/v2/ManageMember.js +1048 -42
  21. package/dist/cjs/v2/ManageMember.js.map +1 -1
  22. package/dist/cjs/v2/MembersDropdown.js +1 -1
  23. package/dist/cjs/v2/MembersInvite.js +1 -1
  24. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  25. package/dist/cjs/v2/Permissions.js +1 -1
  26. package/dist/cjs/v2/Profile.js +5 -13
  27. package/dist/cjs/v2/Profile.js.map +1 -1
  28. package/dist/cjs/v2/Roles.js +1 -1
  29. package/dist/cjs/v2/TeamMembers.js +21 -20
  30. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  31. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  32. package/dist/cjs/v2/hooks.js +187 -5
  33. package/dist/cjs/v2/hooks.js.map +1 -1
  34. package/dist/cjs/v2/index.js +7 -6
  35. package/dist/cjs/v2/index.js.map +1 -1
  36. package/dist/{index-BRgcqXVL.js → index-BVrpRWeD.js} +3 -3
  37. package/dist/index-BVrpRWeD.js.map +1 -0
  38. package/dist/{index-BMb0DElQ.js → index-CVZHlIdE.js} +3 -3
  39. package/dist/index-CVZHlIdE.js.map +1 -0
  40. package/dist/utils-BFRNzhia.js +318 -0
  41. package/dist/utils-BFRNzhia.js.map +1 -0
  42. package/dist/utils-DEOuQRcK.js +300 -0
  43. package/dist/utils-DEOuQRcK.js.map +1 -0
  44. package/dist/v2/Groups.js +1 -1
  45. package/dist/v2/Groups.js.map +1 -1
  46. package/dist/v2/ManageMember.js +1041 -41
  47. package/dist/v2/ManageMember.js.map +1 -1
  48. package/dist/v2/MembersDropdown.js +1 -1
  49. package/dist/v2/MembersInvite.js +1 -1
  50. package/dist/v2/MembersInvite.js.map +1 -1
  51. package/dist/v2/Permissions.js +1 -1
  52. package/dist/v2/Profile.js +6 -14
  53. package/dist/v2/Profile.js.map +1 -1
  54. package/dist/v2/Roles.js +1 -1
  55. package/dist/v2/TeamMembers.js +5 -4
  56. package/dist/v2/TeamMembers.js.map +1 -1
  57. package/dist/v2/TeamsDropdown.js +1 -1
  58. package/dist/v2/hooks.js +184 -5
  59. package/dist/v2/hooks.js.map +1 -1
  60. package/dist/v2/index.js +6 -5
  61. package/dist/v2/index.js.map +1 -1
  62. package/package.json +5 -5
  63. package/dist/Permissions-Bz0SmJzH.js.map +0 -1
  64. package/dist/Permissions-LWRAefeb.js.map +0 -1
  65. package/dist/ProfileImage-BLnx0E90.js.map +0 -1
  66. package/dist/ProfileImage-V240yfTY.js.map +0 -1
  67. package/dist/index-BFScwOib.js +0 -1272
  68. package/dist/index-BFScwOib.js.map +0 -1
  69. package/dist/index-BMb0DElQ.js.map +0 -1
  70. package/dist/index-BRgcqXVL.js.map +0 -1
  71. package/dist/index-CBt9gCBK.js +0 -1293
  72. package/dist/index-CBt9gCBK.js.map +0 -1
@@ -8,9 +8,9 @@ var v2_MembersDropdown = require('./MembersDropdown.js');
8
8
  var v2_MembersInvite = require('./MembersInvite.js');
9
9
  var v2_Profile = require('./Profile.js');
10
10
  var v2_Roles = require('./Roles.js');
11
- var v2_Permissions = require('../../Permissions-LWRAefeb.js');
11
+ var v2_Permissions = require('../../Permissions-BVkx_S_F.js');
12
12
  var v2_TeamMembers = require('./TeamMembers.js');
13
- var v2_ManageMember = require('../../index-CBt9gCBK.js');
13
+ var v2_ManageMember = require('./ManageMember.js');
14
14
  var v2_RolesRadioGroup = require('../../RolesRadioGroup-D4h-GY0X.js');
15
15
  var v2_TeamsAndMembersDropdown = require('./TeamsAndMembersDropdown.js');
16
16
  var v2_TeamsDropdown = require('./TeamsDropdown.js');
@@ -48,7 +48,7 @@ require('../../Select-CshPoN2b.js');
48
48
  require('@bigbinary/neeto-molecules/v2/SubHeader');
49
49
  require('../utils.js');
50
50
  require('../../_commonjsHelpers-BJu3ubxk.js');
51
- require('../../index-BRgcqXVL.js');
51
+ require('../../index-BVrpRWeD.js');
52
52
  require('@bigbinary/neeto-molecules/v2/ErrorPage');
53
53
  require('@bigbinary/neeto-molecules/v2/PageLoader');
54
54
  require('react-router-dom');
@@ -63,7 +63,7 @@ require('@bigbinary/neeto-molecules/v2/PhoneNumber');
63
63
  require('sonner');
64
64
  require('../../useProfileApi-BcuLCyms.js');
65
65
  require('../../useCountriesApi-CjhrbnjK.js');
66
- require('../../ProfileImage-BLnx0E90.js');
66
+ require('../../ProfileImage-BjDA-txF.js');
67
67
  require('../../inject-css-B6qYtOJe.js');
68
68
  require('@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions');
69
69
  require('zustand');
@@ -88,8 +88,9 @@ require('@bigbinary/neetoui/Avatar');
88
88
  require('@bigbinary/neetoui/Dropdown');
89
89
  require('@bigbinary/neetoui/Typography');
90
90
  require('../constants.js');
91
- require('../../useInviteLinksApi-COVfmZiQ.js');
91
+ require('../../utils-BFRNzhia.js');
92
92
  require('@bigbinary/neeto-atoms/primitives');
93
+ require('../../useInviteLinksApi-COVfmZiQ.js');
93
94
 
94
95
 
95
96
 
@@ -108,7 +109,7 @@ exports.Profile = v2_Profile;
108
109
  exports.Roles = v2_Roles;
109
110
  exports.Permissions = v2_Permissions.Permissions;
110
111
  exports.TeamMembers = v2_TeamMembers;
111
- exports.ManageMember = v2_ManageMember.ManageMember;
112
+ exports.ManageMember = v2_ManageMember;
112
113
  exports.RolesRadioGroup = v2_RolesRadioGroup.RolesRadioGroup;
113
114
  exports.TeamsAndMembersDropdown = v2_TeamsAndMembersDropdown;
114
115
  exports.TeamsDropdown = v2_TeamsDropdown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,7 +24,7 @@ var MembersListItem = function MembersListItem(_ref) {
24
24
  otherProps = _objectWithoutProperties__default.default(_ref, _excluded$3);
25
25
  return /*#__PURE__*/jsxRuntime.jsxs("button", _objectSpread$3(_objectSpread$3({
26
26
  "data-testid": "inbox-member-list-item",
27
- className: neetoAtoms.cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 neeto-ui-rounded-md px-2 py-1 pe-7 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
27
+ className: neetoAtoms.cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1 pe-7 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
28
28
  }, otherProps), {}, {
29
29
  children: [memberName && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
30
30
  className: "size-6 shrink-0",
@@ -90,7 +90,7 @@ var TeamsListItem = function TeamsListItem(_ref) {
90
90
  otherProps = _objectWithoutProperties__default.default(_ref, _excluded$1);
91
91
  return /*#__PURE__*/jsxRuntime.jsxs("button", _objectSpread$1(_objectSpread$1({
92
92
  "data-testid": "inbox-group-list-item",
93
- className: neetoAtoms.cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 neeto-ui-rounded-md p-2 pe-8 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
93
+ className: neetoAtoms.cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md p-2 pe-8 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
94
94
  }, otherProps), {}, {
95
95
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
96
96
  className: "flex min-w-0 grow flex-wrap items-center break-words",
@@ -125,4 +125,4 @@ AssignList.MembersListItem = MembersListItem;
125
125
  AssignList.TeamsListItem = TeamsListItem;
126
126
 
127
127
  exports.AssignList = AssignList;
128
- //# sourceMappingURL=index-BRgcqXVL.js.map
128
+ //# sourceMappingURL=index-BVrpRWeD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BVrpRWeD.js","sources":["../app/javascript/src/v2/components/Common/AssignList/constants.js","../app/javascript/src/v2/components/Common/AssignList/MembersListItem.jsx","../app/javascript/src/v2/components/Common/AssignList/Search.jsx","../app/javascript/src/v2/components/Common/AssignList/TeamsListItem.jsx","../app/javascript/src/v2/components/Common/AssignList/index.jsx"],"sourcesContent":["export const CHECK_ICON_SIZE = 20;\n","import { Avatar, Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\n\nimport { CHECK_ICON_SIZE } from \"./constants\";\n\nconst MembersListItem = ({ active, memberName, imageUrl, ...otherProps }) => (\n <button\n data-testid=\"inbox-member-list-item\"\n className={cn(\n \"relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1 pe-7 text-start transition-colors\",\n active\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted focus:bg-muted\"\n )}\n {...otherProps}\n >\n {memberName && (\n <Avatar\n className=\"size-6 shrink-0\"\n user={{ name: memberName, imageUrl }}\n />\n )}\n <Typography className=\"min-w-0 break-words\" variant=\"body3\">\n {memberName}\n </Typography>\n {active && (\n <div className=\"absolute end-0 top-0 flex h-full items-center pe-2\">\n <Check size={CHECK_ICON_SIZE} />\n </div>\n )}\n </button>\n);\n\nexport default MembersListItem;\n","import { useRef } from \"react\";\n\nimport { Input, cn } from \"@bigbinary/neeto-atoms\";\nimport { Search as SearchIcon, X } from \"lucide-react\";\n\nconst Search = ({\n placeholder,\n searchTerm,\n handleClearSearchTerm,\n ...otherProps\n}) => {\n const inputRef = useRef(null);\n\n return (\n <div\n className=\"sticky top-0 z-10 w-full bg-background p-3\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"relative\">\n <SearchIcon className=\"absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"pe-8 ps-8\"\n ref={inputRef}\n value={searchTerm}\n {...otherProps}\n />\n <X\n className={cn(\n \"absolute right-2.5 top-1/2 size-4 -translate-y-1/2 cursor-pointer text-muted-foreground hover:text-foreground\",\n !searchTerm && \"hidden\"\n )}\n onClick={() => {\n inputRef.current?.focus();\n handleClearSearchTerm();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Search;\n","import { Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\n\nimport { CHECK_ICON_SIZE } from \"./constants\";\n\nconst TeamsListItem = ({ active, teamName, ...otherProps }) => (\n <button\n data-testid=\"inbox-group-list-item\"\n className={cn(\n \"relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md p-2 pe-8 text-start transition-colors\",\n active\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted focus:bg-muted\"\n )}\n {...otherProps}\n >\n <Typography\n className=\"flex min-w-0 grow flex-wrap items-center break-words\"\n variant=\"body3\"\n >\n {teamName}\n </Typography>\n {active && (\n <div className=\"absolute end-0 top-0 flex h-full items-center pe-2\">\n <Check size={CHECK_ICON_SIZE} />\n </div>\n )}\n </button>\n);\n\nexport default TeamsListItem;\n","import MembersListItem from \"./MembersListItem\";\nimport Search from \"./Search\";\nimport TeamsListItem from \"./TeamsListItem\";\n\nconst AssignList = ({ children, ...otherProps }) => (\n <div className=\"w-64 pb-3\" {...otherProps}>\n <div className=\"flex w-full flex-col\">{children}</div>\n </div>\n);\n\nAssignList.Search = Search;\nAssignList.MembersListItem = MembersListItem;\nAssignList.TeamsListItem = TeamsListItem;\n\nexport default AssignList;\n"],"names":["CHECK_ICON_SIZE","MembersListItem","_ref","active","memberName","imageUrl","otherProps","_objectWithoutProperties","_excluded","_jsxs","_objectSpread","className","cn","children","_jsx","Avatar","user","name","Typography","variant","Check","size","Search","placeholder","searchTerm","handleClearSearchTerm","inputRef","useRef","onClick","e","stopPropagation","SearchIcon","Input","autoFocus","ref","value","X","_inputRef$current","current","focus","TeamsListItem","teamName","AssignList"],"mappings":"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"}
@@ -17,7 +17,7 @@ var MembersListItem = function MembersListItem(_ref) {
17
17
  otherProps = _objectWithoutProperties(_ref, _excluded$3);
18
18
  return /*#__PURE__*/jsxs("button", _objectSpread$3(_objectSpread$3({
19
19
  "data-testid": "inbox-member-list-item",
20
- className: cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 neeto-ui-rounded-md px-2 py-1 pe-7 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
20
+ className: cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1 pe-7 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
21
21
  }, otherProps), {}, {
22
22
  children: [memberName && /*#__PURE__*/jsx(Avatar, {
23
23
  className: "size-6 shrink-0",
@@ -83,7 +83,7 @@ var TeamsListItem = function TeamsListItem(_ref) {
83
83
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
84
84
  return /*#__PURE__*/jsxs("button", _objectSpread$1(_objectSpread$1({
85
85
  "data-testid": "inbox-group-list-item",
86
- className: cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 neeto-ui-rounded-md p-2 pe-8 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
86
+ className: cn("relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md p-2 pe-8 text-start transition-colors", active ? "bg-primary text-primary-foreground" : "hover:bg-muted focus:bg-muted")
87
87
  }, otherProps), {}, {
88
88
  children: [/*#__PURE__*/jsx(Typography, {
89
89
  className: "flex min-w-0 grow flex-wrap items-center break-words",
@@ -118,4 +118,4 @@ AssignList.MembersListItem = MembersListItem;
118
118
  AssignList.TeamsListItem = TeamsListItem;
119
119
 
120
120
  export { AssignList as A };
121
- //# sourceMappingURL=index-BMb0DElQ.js.map
121
+ //# sourceMappingURL=index-CVZHlIdE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CVZHlIdE.js","sources":["../app/javascript/src/v2/components/Common/AssignList/constants.js","../app/javascript/src/v2/components/Common/AssignList/MembersListItem.jsx","../app/javascript/src/v2/components/Common/AssignList/Search.jsx","../app/javascript/src/v2/components/Common/AssignList/TeamsListItem.jsx","../app/javascript/src/v2/components/Common/AssignList/index.jsx"],"sourcesContent":["export const CHECK_ICON_SIZE = 20;\n","import { Avatar, Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\n\nimport { CHECK_ICON_SIZE } from \"./constants\";\n\nconst MembersListItem = ({ active, memberName, imageUrl, ...otherProps }) => (\n <button\n data-testid=\"inbox-member-list-item\"\n className={cn(\n \"relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1 pe-7 text-start transition-colors\",\n active\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted focus:bg-muted\"\n )}\n {...otherProps}\n >\n {memberName && (\n <Avatar\n className=\"size-6 shrink-0\"\n user={{ name: memberName, imageUrl }}\n />\n )}\n <Typography className=\"min-w-0 break-words\" variant=\"body3\">\n {memberName}\n </Typography>\n {active && (\n <div className=\"absolute end-0 top-0 flex h-full items-center pe-2\">\n <Check size={CHECK_ICON_SIZE} />\n </div>\n )}\n </button>\n);\n\nexport default MembersListItem;\n","import { useRef } from \"react\";\n\nimport { Input, cn } from \"@bigbinary/neeto-atoms\";\nimport { Search as SearchIcon, X } from \"lucide-react\";\n\nconst Search = ({\n placeholder,\n searchTerm,\n handleClearSearchTerm,\n ...otherProps\n}) => {\n const inputRef = useRef(null);\n\n return (\n <div\n className=\"sticky top-0 z-10 w-full bg-background p-3\"\n onClick={e => e.stopPropagation()}\n >\n <div className=\"relative\">\n <SearchIcon className=\"absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n {...{ placeholder }}\n autoFocus\n className=\"pe-8 ps-8\"\n ref={inputRef}\n value={searchTerm}\n {...otherProps}\n />\n <X\n className={cn(\n \"absolute right-2.5 top-1/2 size-4 -translate-y-1/2 cursor-pointer text-muted-foreground hover:text-foreground\",\n !searchTerm && \"hidden\"\n )}\n onClick={() => {\n inputRef.current?.focus();\n handleClearSearchTerm();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Search;\n","import { Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Check } from \"lucide-react\";\n\nimport { CHECK_ICON_SIZE } from \"./constants\";\n\nconst TeamsListItem = ({ active, teamName, ...otherProps }) => (\n <button\n data-testid=\"inbox-group-list-item\"\n className={cn(\n \"relative mb-2 flex w-full transform cursor-pointer select-none items-center gap-2 rounded-md p-2 pe-8 text-start transition-colors\",\n active\n ? \"bg-primary text-primary-foreground\"\n : \"hover:bg-muted focus:bg-muted\"\n )}\n {...otherProps}\n >\n <Typography\n className=\"flex min-w-0 grow flex-wrap items-center break-words\"\n variant=\"body3\"\n >\n {teamName}\n </Typography>\n {active && (\n <div className=\"absolute end-0 top-0 flex h-full items-center pe-2\">\n <Check size={CHECK_ICON_SIZE} />\n </div>\n )}\n </button>\n);\n\nexport default TeamsListItem;\n","import MembersListItem from \"./MembersListItem\";\nimport Search from \"./Search\";\nimport TeamsListItem from \"./TeamsListItem\";\n\nconst AssignList = ({ children, ...otherProps }) => (\n <div className=\"w-64 pb-3\" {...otherProps}>\n <div className=\"flex w-full flex-col\">{children}</div>\n </div>\n);\n\nAssignList.Search = Search;\nAssignList.MembersListItem = MembersListItem;\nAssignList.TeamsListItem = TeamsListItem;\n\nexport default AssignList;\n"],"names":["CHECK_ICON_SIZE","MembersListItem","_ref","active","memberName","imageUrl","otherProps","_objectWithoutProperties","_excluded","_jsxs","_objectSpread","className","cn","children","_jsx","Avatar","user","name","Typography","variant","Check","size","Search","placeholder","searchTerm","handleClearSearchTerm","inputRef","useRef","onClick","e","stopPropagation","SearchIcon","Input","autoFocus","ref","value","X","_inputRef$current","current","focus","TeamsListItem","teamName","AssignList"],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
5
+ var primitives = require('@bigbinary/neeto-atoms/primitives');
6
+ var i18next = require('i18next');
7
+ var lucideReact = require('lucide-react');
8
+ var neetoCist = require('@bigbinary/neeto-cist');
9
+ var constants = require('@bigbinary/neeto-commons-frontend/v2/constants');
10
+ var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
11
+ var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
12
+ var MoreDropdown = require('@bigbinary/neeto-molecules/v2/MoreDropdown');
13
+ var ramda = require('ramda');
14
+ var reactI18next = require('react-i18next');
15
+ var jsxRuntime = require('react/jsx-runtime');
16
+
17
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
+
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
20
+ var i18next__default = /*#__PURE__*/_interopDefault(i18next);
21
+ var MoreDropdown__default = /*#__PURE__*/_interopDefault(MoreDropdown);
22
+
23
+ var _getQueryParams = utils.getQueryParams(),
24
+ page = _getQueryParams.page,
25
+ pageSize = _getQueryParams.pageSize;
26
+ var DEFAULT_RADIX = 10;
27
+ var DEFAULT_IS_OPEN_VALUES = {
28
+ menuBar: false,
29
+ manageMember: false,
30
+ alert: false
31
+ };
32
+ var DEFAULT_FILTER_VALUES = {
33
+ page: ramda.clamp(1, Infinity, parseInt(page)) || constants.DEFAULT_PAGE_INDEX,
34
+ pageSize: ramda.clamp(10, 100, parseInt(pageSize)) || constants.DEFAULT_PAGE_SIZE,
35
+ sortBy: undefined,
36
+ orderBy: undefined,
37
+ neetoFilters: []
38
+ };
39
+ var DEFAULT_SELECTED_ROWS = {
40
+ active: [],
41
+ emails: [],
42
+ keys: [],
43
+ displayNames: []
44
+ };
45
+
46
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
47
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
48
+ var renderNameColumn = function renderNameColumn(_ref) {
49
+ var config = _ref.config,
50
+ handleUpdateRole = _ref.handleUpdateRole,
51
+ handleUpdateStatus = _ref.handleUpdateStatus,
52
+ tableData = _ref.tableData;
53
+ var name = tableData.displayName,
54
+ imageUrl = tableData.profileImageUrl;
55
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
56
+ className: "flex w-full justify-between gap-3",
57
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
58
+ className: "flex items-center gap-2",
59
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
60
+ className: "size-8",
61
+ user: {
62
+ name: name,
63
+ imageUrl: imageUrl
64
+ }
65
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
66
+ className: "whitespace-normal",
67
+ "data-testid": "ntm-member-name-".concat(utils.hyphenize(name)),
68
+ variant: "body3",
69
+ children: name
70
+ })]
71
+ }), renderDropdownButton({
72
+ config: config,
73
+ handleUpdateRole: handleUpdateRole,
74
+ handleUpdateStatus: handleUpdateStatus,
75
+ tableData: tableData
76
+ })]
77
+ });
78
+ };
79
+ var renderDropdownButton = function renderDropdownButton(_ref2) {
80
+ var _config$table, _config$table$dropdow;
81
+ var config = _ref2.config,
82
+ handleUpdateRole = _ref2.handleUpdateRole,
83
+ handleUpdateStatus = _ref2.handleUpdateStatus,
84
+ tableData = _ref2.tableData;
85
+ return /*#__PURE__*/jsxRuntime.jsx(MoreDropdown__default.default, {
86
+ isDisabled: ramda.not(config.permissions.update),
87
+ dropdownButtonProps: {
88
+ "data-testid": "ntm-members-table-row-dropdown-button",
89
+ tooltipProps: {
90
+ content: i18next__default.default.t("neetoTeamMembers.tooltips.noPermissionToEditMembers"),
91
+ disabled: config.permissions.update,
92
+ position: "top"
93
+ }
94
+ },
95
+ menuTopChildren: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
96
+ children: [/*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuItem, {
97
+ className: "cursor-pointer",
98
+ "data-testid": "ntm-edit-member-button",
99
+ onClick: function onClick() {
100
+ return handleUpdateRole(tableData);
101
+ },
102
+ children: i18next__default.default.t("neetoTeamMembers.common.edit")
103
+ }), config === null || config === void 0 || (_config$table = config.table) === null || _config$table === void 0 || (_config$table$dropdow = _config$table.dropdownProps) === null || _config$table$dropdow === void 0 ? void 0 : _config$table$dropdow.call(_config$table, tableData), /*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuItem, {
104
+ className: "cursor-pointer",
105
+ "data-testid": "ntm-deactivate-member-button",
106
+ onClick: function onClick() {
107
+ return handleUpdateStatus(tableData);
108
+ },
109
+ children: i18next__default.default.t("neetoTeamMembers.common.remove")
110
+ })]
111
+ })
112
+ });
113
+ };
114
+ var getDefaultAlertTitle = function getDefaultAlertTitle(_ref3) {
115
+ var member = _ref3.member;
116
+ return member !== null && member !== void 0 && member.active ? i18next__default.default.t("neetoTeamMembers.common.remove_", {
117
+ what: initializers.taxonomies.member.singular
118
+ }) : i18next__default.default.t("neetoTeamMembers.common.activate_", {
119
+ what: initializers.taxonomies.member.singular
120
+ });
121
+ };
122
+ var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
123
+ var member = _ref4.member;
124
+ return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
125
+ i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
126
+ values: _objectSpread(_objectSpread({}, constants.SINGULAR), {}, {
127
+ person: member === null || member === void 0 ? void 0 : member.displayName
128
+ })
129
+ });
130
+ };
131
+ var getDefaultColumns = function getDefaultColumns(_ref5) {
132
+ var config = _ref5.config,
133
+ handleUpdateRole = _ref5.handleUpdateRole,
134
+ handleUpdateStatus = _ref5.handleUpdateStatus,
135
+ otherColumns = _ref5.otherColumns,
136
+ isSize = _ref5.isSize;
137
+ return [{
138
+ accessorKey: "name",
139
+ id: "name",
140
+ size: 300,
141
+ enablePinning: neetoCist.isNotEmpty(otherColumns) && !isSize("mobile"),
142
+ cell: function cell(_ref6) {
143
+ var row = _ref6.row;
144
+ return renderNameColumn({
145
+ config: config,
146
+ handleUpdateRole: handleUpdateRole,
147
+ handleUpdateStatus: handleUpdateStatus,
148
+ tableData: row.original
149
+ });
150
+ },
151
+ enableSorting: true,
152
+ header: i18next__default.default.t("neetoTeamMembers.common.name"),
153
+ enableHiding: false
154
+ }, {
155
+ accessorKey: "email",
156
+ id: "email",
157
+ enableSorting: true,
158
+ size: 350,
159
+ header: i18next__default.default.t("neetoTeamMembers.common.email", constants.SINGULAR)
160
+ }, {
161
+ accessorKey: "role",
162
+ enableSorting: true,
163
+ size: 200,
164
+ header: i18next__default.default.t("neetoTeamMembers.common.role", constants.SINGULAR)
165
+ }];
166
+ };
167
+ var removeExcludedRole = ramda.curry(function (excludedRoles, role) {
168
+ return !(excludedRoles !== null && excludedRoles !== void 0 && excludedRoles.includes(role === null || role === void 0 ? void 0 : role.name));
169
+ });
170
+ var getColumnData = function getColumnData(_ref7) {
171
+ var _config$otherColumns;
172
+ var config = _ref7.config,
173
+ handleUpdateRole = _ref7.handleUpdateRole,
174
+ handleUpdateStatus = _ref7.handleUpdateStatus,
175
+ isSize = _ref7.isSize;
176
+ var otherColumns = (_config$otherColumns = config === null || config === void 0 ? void 0 : config.otherColumns) !== null && _config$otherColumns !== void 0 ? _config$otherColumns : [];
177
+ var defaultColumns = getDefaultColumns({
178
+ config: config,
179
+ handleUpdateRole: handleUpdateRole,
180
+ handleUpdateStatus: handleUpdateStatus,
181
+ otherColumns: otherColumns,
182
+ isSize: isSize
183
+ });
184
+ var columns = defaultColumns.map(function (column) {
185
+ var otherColumn = otherColumns.find(function (col) {
186
+ return ramda.identical(col.accessorKey || col.id, column.accessorKey || column.id);
187
+ });
188
+ return otherColumn || column;
189
+ });
190
+ otherColumns.forEach(function (otherColumn) {
191
+ var key = otherColumn.accessorKey || otherColumn.id;
192
+ var exists = columns.find(function (col) {
193
+ return ramda.identical(col.accessorKey || col.id, key);
194
+ });
195
+ if (!exists) columns.push(otherColumn);
196
+ });
197
+ return columns;
198
+ };
199
+ var renderUpdateAlert = function renderUpdateAlert(field, props) {
200
+ var _config$alert;
201
+ var config = props.config,
202
+ member = props.member;
203
+ if (config !== null && config !== void 0 && (_config$alert = config.alert) !== null && _config$alert !== void 0 && _config$alert[field]) {
204
+ var _config$alert2;
205
+ return (_config$alert2 = config.alert) === null || _config$alert2 === void 0 ? void 0 : _config$alert2[field]({
206
+ active: member === null || member === void 0 ? void 0 : member.active,
207
+ id: member === null || member === void 0 ? void 0 : member.id,
208
+ name: member === null || member === void 0 ? void 0 : member.displayName
209
+ });
210
+ }
211
+ return field === "title" ? getDefaultAlertTitle(props) : getDefaultAlertMessage(props);
212
+ };
213
+ var handlePageChange = function handlePageChange(setFilters, history) {
214
+ return function (page, pageSize) {
215
+ var searchParams = utils.getQueryParams({
216
+ toCamelCase: false
217
+ });
218
+ history.replace(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
219
+ page: page,
220
+ page_size: pageSize
221
+ }, searchParams)));
222
+ setFilters(ramda.mergeLeft({
223
+ page: page,
224
+ pageSize: pageSize
225
+ }));
226
+ };
227
+ };
228
+ var defaultNeetoFiltersColumns = function defaultNeetoFiltersColumns() {
229
+ return [{
230
+ key: "email",
231
+ label: i18next__default.default.t("neetoTeamMembers.common.email", constants.SINGULAR),
232
+ model: "User",
233
+ node: "email",
234
+ showRuleSelector: true,
235
+ type: "text"
236
+ }, {
237
+ key: "name",
238
+ label: i18next__default.default.t("neetoTeamMembers.common.name"),
239
+ model: "User",
240
+ node: "first_name,last_name",
241
+ type: "text",
242
+ values: ""
243
+ }, {
244
+ key: "role",
245
+ label: i18next__default.default.t("neetoTeamMembers.common.role", constants.SINGULAR),
246
+ model: "OrganizationRole",
247
+ node: "organization_role.name",
248
+ type: "multi_option",
249
+ values: []
250
+ }];
251
+ };
252
+ var buildFilterColumns = function buildFilterColumns(_ref8) {
253
+ var _ref8$options = _ref8.options,
254
+ _ref8$options$emails = _ref8$options.emails,
255
+ emails = _ref8$options$emails === void 0 ? [] : _ref8$options$emails,
256
+ _ref8$options$organiz = _ref8$options.organizationRoles,
257
+ organizationRoles = _ref8$options$organiz === void 0 ? [] : _ref8$options$organiz,
258
+ _ref8$emailConfig = _ref8.emailConfig,
259
+ setSearchTerm = _ref8$emailConfig.setSearchTerm,
260
+ isLoading = _ref8$emailConfig.isLoading;
261
+ var columnValues = {
262
+ email: emails.map(neetoCist.toLabelAndValue),
263
+ role: organizationRoles.map(neetoCist.toLabelAndValue)
264
+ };
265
+ return defaultNeetoFiltersColumns().map(function (column) {
266
+ var values = columnValues[column.key];
267
+ if (column.key === "role") return ramda.assoc("values", values, column);
268
+ var emailConfig = {
269
+ values: values,
270
+ isLoading: isLoading,
271
+ onInputChange: setSearchTerm
272
+ };
273
+ return ramda.mergeLeft(emailConfig, column);
274
+ });
275
+ };
276
+ var getFilteredRoles = function getFilteredRoles() {
277
+ var roles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
278
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
279
+ return ramda.filter(removeExcludedRole(config === null || config === void 0 ? void 0 : config.excludedRoles), roles);
280
+ };
281
+ var generateNoDataContent = function generateNoDataContent(_ref9) {
282
+ var buttonProps = _ref9.buttonProps;
283
+ var disabled = buttonProps.disabled,
284
+ onClick = buttonProps.onClick;
285
+ var noDataTitle = i18next__default.default.t("neetoTeamMembers.common.memberEmptyTitle", {
286
+ what: initializers.taxonomies.member.plural
287
+ });
288
+ var noDataDescription = i18next__default.default.t("neetoTeamMembers.common.memberEmptyDescription", {
289
+ what: initializers.taxonomies.member.plural
290
+ });
291
+ var noDataButtonProps = {
292
+ "data-testid": "ntm-add-member-button",
293
+ disabled: disabled,
294
+ label: i18next__default.default.t("neetoTeamMembers.common.addNew_", {
295
+ what: initializers.taxonomies.member.singular
296
+ }),
297
+ onClick: onClick
298
+ };
299
+ return {
300
+ noDataTitle: noDataTitle,
301
+ noDataDescription: noDataDescription,
302
+ noDataIcon: lucideReact.Users,
303
+ noDataButtonProps: noDataButtonProps
304
+ };
305
+ };
306
+
307
+ exports.DEFAULT_FILTER_VALUES = DEFAULT_FILTER_VALUES;
308
+ exports.DEFAULT_IS_OPEN_VALUES = DEFAULT_IS_OPEN_VALUES;
309
+ exports.DEFAULT_RADIX = DEFAULT_RADIX;
310
+ exports.DEFAULT_SELECTED_ROWS = DEFAULT_SELECTED_ROWS;
311
+ exports.buildFilterColumns = buildFilterColumns;
312
+ exports.defaultNeetoFiltersColumns = defaultNeetoFiltersColumns;
313
+ exports.generateNoDataContent = generateNoDataContent;
314
+ exports.getColumnData = getColumnData;
315
+ exports.getFilteredRoles = getFilteredRoles;
316
+ exports.handlePageChange = handlePageChange;
317
+ exports.renderUpdateAlert = renderUpdateAlert;
318
+ //# sourceMappingURL=utils-BFRNzhia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BFRNzhia.js","sources":["../app/javascript/src/v2/components/TeamMembers/constants.js","../app/javascript/src/v2/components/TeamMembers/utils.jsx"],"sourcesContent":["import {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { getQueryParams } from \"neetocommons/v2/utils\";\nimport { clamp } from \"ramda\";\n\nconst { page, pageSize } = getQueryParams();\n\nexport const DEFAULT_RADIX = 10;\n\nexport const DEFAULT_IS_OPEN_VALUES = {\n menuBar: false,\n manageMember: false,\n alert: false,\n};\n\nexport const DEFAULT_FILTER_VALUES = {\n page: clamp(1, Infinity, parseInt(page)) || DEFAULT_PAGE_INDEX,\n pageSize: clamp(10, 100, parseInt(pageSize)) || DEFAULT_PAGE_SIZE,\n sortBy: undefined,\n orderBy: undefined,\n neetoFilters: [],\n};\n\nexport const DEFAULT_SELECTED_ROWS = {\n active: [],\n emails: [],\n keys: [],\n displayNames: [],\n};\n\nexport const TEAM_MEMBERS_HIDDEN_COLUMNS = \"TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS\";\n","import { Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { DropdownMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport i18next from \"i18next\";\nimport { Users } from \"lucide-react\";\nimport { isNotEmpty, toLabelAndValue } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport { buildUrl, getQueryParams, hyphenize } from \"neetocommons/v2/utils\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { assoc, curry, filter, identical, mergeLeft, not } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_RADIX } from \"./constants\";\n\nconst renderNameColumn = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => {\n const { displayName: name, profileImageUrl: imageUrl } = tableData;\n\n return (\n <div className=\"flex w-full justify-between gap-3\">\n <div className=\"flex items-center gap-2\">\n <Avatar className=\"size-8\" user={{ name, imageUrl }} />\n <Typography\n className=\"whitespace-normal\"\n data-testid={`ntm-member-name-${hyphenize(name)}`}\n variant=\"body3\"\n >\n {name}\n </Typography>\n </div>\n {renderDropdownButton({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n })}\n </div>\n );\n};\n\nconst renderDropdownButton = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData,\n}) => (\n <MoreDropdown\n isDisabled={not(config.permissions.update)}\n dropdownButtonProps={{\n \"data-testid\": \"ntm-members-table-row-dropdown-button\",\n tooltipProps: {\n content: i18next.t(\n \"neetoTeamMembers.tooltips.noPermissionToEditMembers\"\n ),\n disabled: config.permissions.update,\n position: \"top\",\n },\n }}\n menuTopChildren={\n <>\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-edit-member-button\"\n onClick={() => handleUpdateRole(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.edit\")}\n </DropdownMenuItem>\n {config?.table?.dropdownProps?.(tableData)}\n <DropdownMenuItem\n className=\"cursor-pointer\"\n data-testid=\"ntm-deactivate-member-button\"\n onClick={() => handleUpdateStatus(tableData)}\n >\n {i18next.t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenuItem>\n </>\n }\n />\n);\n\nconst getDefaultAlertTitle = ({ member }) =>\n member?.active\n ? i18next.t(\"neetoTeamMembers.common.remove_\", {\n what: taxonomies.member.singular,\n })\n : i18next.t(\"neetoTeamMembers.common.activate_\", {\n what: taxonomies.member.singular,\n });\n\nconst getDefaultAlertMessage = ({ member }) => (\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.removeMember\"\n values={{ ...SINGULAR, person: member?.displayName }}\n />\n);\n\nconst getDefaultColumns = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n}) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n size: 300,\n enablePinning: isNotEmpty(otherColumns) && !isSize(\"mobile\"),\n cell: ({ row }) =>\n renderNameColumn({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n tableData: row.original,\n }),\n enableSorting: true,\n header: i18next.t(\"neetoTeamMembers.common.name\"),\n enableHiding: false,\n },\n {\n accessorKey: \"email\",\n id: \"email\",\n enableSorting: true,\n size: 350,\n header: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n },\n {\n accessorKey: \"role\",\n enableSorting: true,\n size: 200,\n header: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n },\n];\n\nconst removeExcludedRole = curry(\n (excludedRoles, role) => !excludedRoles?.includes(role?.name)\n);\n\nexport const getColumnData = ({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n}) => {\n const otherColumns = config?.otherColumns ?? [];\n const defaultColumns = getDefaultColumns({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n otherColumns,\n isSize,\n });\n\n const columns = defaultColumns.map(column => {\n const otherColumn = otherColumns.find(col =>\n identical(col.accessorKey || col.id, column.accessorKey || column.id)\n );\n\n return otherColumn || column;\n });\n\n otherColumns.forEach(otherColumn => {\n const key = otherColumn.accessorKey || otherColumn.id;\n const exists = columns.find(col =>\n identical(col.accessorKey || col.id, key)\n );\n if (!exists) columns.push(otherColumn);\n });\n\n return columns;\n};\n\nexport const renderUpdateAlert = (field, props) => {\n const { config, member } = props;\n\n if (config?.alert?.[field]) {\n return config.alert?.[field]({\n active: member?.active,\n id: member?.id,\n name: member?.displayName,\n });\n }\n\n return field === \"title\"\n ? getDefaultAlertTitle(props)\n : getDefaultAlertMessage(props);\n};\n\nexport const handlePageChange = (setFilters, history) => (page, pageSize) => {\n const searchParams = getQueryParams({ toCamelCase: false });\n history.replace(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, searchParams)\n )\n );\n setFilters(mergeLeft({ page, pageSize }));\n};\n\nexport const renderPaginationProps = size => ({\n pageSize: parseInt(size, DEFAULT_RADIX),\n});\n\nexport const defaultNeetoFiltersColumns = () => [\n {\n key: \"email\",\n label: i18next.t(\"neetoTeamMembers.common.email\", SINGULAR),\n model: \"User\",\n node: \"email\",\n showRuleSelector: true,\n type: \"text\",\n },\n {\n key: \"name\",\n label: i18next.t(\"neetoTeamMembers.common.name\"),\n model: \"User\",\n node: \"first_name,last_name\",\n type: \"text\",\n values: \"\",\n },\n {\n key: \"role\",\n label: i18next.t(\"neetoTeamMembers.common.role\", SINGULAR),\n model: \"OrganizationRole\",\n node: \"organization_role.name\",\n type: \"multi_option\",\n values: [],\n },\n];\n\nexport const buildFilterColumns = ({\n options: { emails = [], organizationRoles = [] },\n emailConfig: { setSearchTerm, isLoading },\n}) => {\n const columnValues = {\n email: emails.map(toLabelAndValue),\n role: organizationRoles.map(toLabelAndValue),\n };\n\n return defaultNeetoFiltersColumns().map(column => {\n const values = columnValues[column.key];\n if (column.key === \"role\") return assoc(\"values\", values, column);\n\n const emailConfig = {\n values,\n isLoading,\n onInputChange: setSearchTerm,\n };\n\n return mergeLeft(emailConfig, column);\n });\n};\n\nexport const getFilteredRoles = (roles = [], config = {}) =>\n filter(removeExcludedRole(config?.excludedRoles), roles);\n\nexport const generateNoDataContent = ({ buttonProps }) => {\n const { disabled, onClick } = buttonProps;\n\n const noDataTitle = i18next.t(\"neetoTeamMembers.common.memberEmptyTitle\", {\n what: taxonomies.member.plural,\n });\n\n const noDataDescription = i18next.t(\n \"neetoTeamMembers.common.memberEmptyDescription\",\n { what: taxonomies.member.plural }\n );\n\n const noDataButtonProps = {\n \"data-testid\": \"ntm-add-member-button\",\n disabled,\n label: i18next.t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n }),\n onClick,\n };\n\n return {\n noDataTitle,\n noDataDescription,\n noDataIcon: Users,\n noDataButtonProps,\n };\n};\n"],"names":["_getQueryParams","getQueryParams","page","pageSize","DEFAULT_RADIX","DEFAULT_IS_OPEN_VALUES","menuBar","manageMember","alert","DEFAULT_FILTER_VALUES","clamp","Infinity","parseInt","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","sortBy","undefined","orderBy","neetoFilters","DEFAULT_SELECTED_ROWS","active","emails","keys","displayNames","renderNameColumn","_ref","config","handleUpdateRole","handleUpdateStatus","tableData","name","displayName","imageUrl","profileImageUrl","_jsxs","className","children","_jsx","Avatar","user","Typography","concat","hyphenize","variant","renderDropdownButton","_ref2","_config$table","_config$table$dropdow","MoreDropdown","isDisabled","not","permissions","update","dropdownButtonProps","tooltipProps","content","i18next","t","disabled","position","menuTopChildren","_Fragment","DropdownMenuItem","onClick","table","dropdownProps","call","getDefaultAlertTitle","_ref3","member","what","taxonomies","singular","getDefaultAlertMessage","_ref4","Trans","i18nKey","values","_objectSpread","SINGULAR","person","getDefaultColumns","_ref5","otherColumns","isSize","accessorKey","id","size","enablePinning","isNotEmpty","cell","_ref6","row","original","enableSorting","header","enableHiding","removeExcludedRole","curry","excludedRoles","role","includes","getColumnData","_ref7","_config$otherColumns","defaultColumns","columns","map","column","otherColumn","find","col","identical","forEach","key","exists","push","renderUpdateAlert","field","props","_config$alert","_config$alert2","handlePageChange","setFilters","history","searchParams","toCamelCase","replace","buildUrl","window","location","pathname","mergeLeft","page_size","defaultNeetoFiltersColumns","label","model","node","showRuleSelector","type","buildFilterColumns","_ref8","_ref8$options","options","_ref8$options$emails","_ref8$options$organiz","organizationRoles","_ref8$emailConfig","emailConfig","setSearchTerm","isLoading","columnValues","email","toLabelAndValue","assoc","onInputChange","getFilteredRoles","roles","arguments","length","filter","generateNoDataContent","_ref9","buttonProps","noDataTitle","plural","noDataDescription","noDataButtonProps","noDataIcon","Users"],"mappings":"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"}