@bigbinary/neeto-team-members-frontend 5.0.42 → 5.0.43

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 (215) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -1
  3. package/dist/ActionBlock-jgw1N-As.js.map +1 -1
  4. package/dist/Groups.js +8 -104
  5. package/dist/Groups.js.map +1 -1
  6. package/dist/{InviteLinkError-C6OLGrD0.js → InviteLinkError-5auG6HEb.js} +37 -2
  7. package/dist/InviteLinkError-5auG6HEb.js.map +1 -0
  8. package/dist/{InviteLinkError-AphtWLhe.js → InviteLinkError-Chs1iVCJ.js} +57 -16
  9. package/dist/InviteLinkError-Chs1iVCJ.js.map +1 -0
  10. package/dist/ManageMember.js +988 -50
  11. package/dist/ManageMember.js.map +1 -1
  12. package/dist/MembersInvite.js +5 -36
  13. package/dist/MembersInvite.js.map +1 -1
  14. package/dist/{Permissions-C5poOq-v.js → Permissions-Bz0SmJzH.js} +6 -6
  15. package/dist/{Permissions-C5poOq-v.js.map → Permissions-Bz0SmJzH.js.map} +1 -1
  16. package/dist/{Permissions-DoGY84sh.js → Permissions-LWRAefeb.js} +6 -6
  17. package/dist/{Permissions-DoGY84sh.js.map → Permissions-LWRAefeb.js.map} +1 -1
  18. package/dist/Profile.js +7 -24
  19. package/dist/Profile.js.map +1 -1
  20. package/dist/ProfileImage-BLnx0E90.js +136 -0
  21. package/dist/ProfileImage-BLnx0E90.js.map +1 -0
  22. package/dist/{ProfileImage-QeSzsfzl.js → ProfileImage-Ddqkbj2f.js} +3 -37
  23. package/dist/ProfileImage-Ddqkbj2f.js.map +1 -0
  24. package/dist/{ProfileImage-Ypf3HreX.js → ProfileImage-EB117DPX.js} +3 -34
  25. package/dist/ProfileImage-EB117DPX.js.map +1 -0
  26. package/dist/ProfileImage-V240yfTY.js +129 -0
  27. package/dist/ProfileImage-V240yfTY.js.map +1 -0
  28. package/dist/Roles.js +7 -48
  29. package/dist/Roles.js.map +1 -1
  30. package/dist/{RolesRadioGroup-D4LlGV4N.js → RolesRadioGroup-BCrxWI9_.js} +11 -10
  31. package/dist/RolesRadioGroup-BCrxWI9_.js.map +1 -0
  32. package/dist/{RolesRadioGroup-cjHORagK.js → RolesRadioGroup-BwiP6Akj.js} +13 -11
  33. package/dist/RolesRadioGroup-BwiP6Akj.js.map +1 -0
  34. package/dist/Select-CshPoN2b.js.map +1 -1
  35. package/dist/Select-DZ56UG-l.js.map +1 -1
  36. package/dist/TeamMembers.js +18 -176
  37. package/dist/TeamMembers.js.map +1 -1
  38. package/dist/cjs/Groups.js +12 -109
  39. package/dist/cjs/Groups.js.map +1 -1
  40. package/dist/cjs/ManageMember.js +1012 -51
  41. package/dist/cjs/ManageMember.js.map +1 -1
  42. package/dist/cjs/MembersInvite.js +9 -42
  43. package/dist/cjs/MembersInvite.js.map +1 -1
  44. package/dist/cjs/Profile.js +8 -25
  45. package/dist/cjs/Profile.js.map +1 -1
  46. package/dist/cjs/Roles.js +28 -70
  47. package/dist/cjs/Roles.js.map +1 -1
  48. package/dist/cjs/TeamMembers.js +30 -189
  49. package/dist/cjs/TeamMembers.js.map +1 -1
  50. package/dist/cjs/index.js +13 -7
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/utils.js +512 -3
  53. package/dist/cjs/utils.js.map +1 -1
  54. package/dist/cjs/v2/Groups.js +37 -134
  55. package/dist/cjs/v2/Groups.js.map +1 -1
  56. package/dist/cjs/v2/ManageMember.js +18 -13
  57. package/dist/cjs/v2/ManageMember.js.map +1 -1
  58. package/dist/cjs/v2/MembersDropdown.js +1 -1
  59. package/dist/cjs/v2/MembersDropdown.js.map +1 -1
  60. package/dist/cjs/v2/MembersInvite.js +20 -59
  61. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  62. package/dist/cjs/v2/Permissions.js +2 -2
  63. package/dist/cjs/v2/Profile.js +17 -33
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -83
  66. package/dist/cjs/v2/Roles.js.map +1 -1
  67. package/dist/cjs/v2/RolesRadioGroup.js +7 -6
  68. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -1
  69. package/dist/cjs/v2/TeamMembers.js +41 -191
  70. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  71. package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -1
  72. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  73. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  74. package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
  75. package/dist/cjs/v2/constants.js +8 -20
  76. package/dist/cjs/v2/constants.js.map +1 -1
  77. package/dist/cjs/v2/hooks.js +5 -5
  78. package/dist/cjs/v2/index.js +52 -35
  79. package/dist/cjs/v2/index.js.map +1 -1
  80. package/dist/cjs/v2/utils.js +9 -18
  81. package/dist/cjs/v2/utils.js.map +1 -1
  82. package/dist/hooks.js +1 -1
  83. package/dist/index-4wQ9Y7v9.js +61 -0
  84. package/dist/index-4wQ9Y7v9.js.map +1 -0
  85. package/dist/{index-CgcUZO11.js → index-BHZSKqUU.js} +248 -359
  86. package/dist/index-BHZSKqUU.js.map +1 -0
  87. package/dist/index-BISwUwuE.js +55 -0
  88. package/dist/index-BISwUwuE.js.map +1 -0
  89. package/dist/{index-CVZHlIdE.js → index-BMb0DElQ.js} +3 -3
  90. package/dist/index-BMb0DElQ.js.map +1 -0
  91. package/dist/index-BOQKf6as.js +61 -0
  92. package/dist/index-BOQKf6as.js.map +1 -0
  93. package/dist/{index-BVrpRWeD.js → index-BRgcqXVL.js} +3 -3
  94. package/dist/index-BRgcqXVL.js.map +1 -0
  95. package/dist/{index-Dfnw71qd.js → index-BjyZ-9G_.js} +244 -350
  96. package/dist/index-BjyZ-9G_.js.map +1 -0
  97. package/dist/index-CKQDhbTA.js +55 -0
  98. package/dist/index-CKQDhbTA.js.map +1 -0
  99. package/dist/index.js +13 -7
  100. package/dist/index.js.map +1 -1
  101. package/dist/useCountriesApi-CjhrbnjK.js +43 -0
  102. package/dist/useCountriesApi-CjhrbnjK.js.map +1 -0
  103. package/dist/useCountriesApi-DK00167T.js +35 -0
  104. package/dist/useCountriesApi-DK00167T.js.map +1 -0
  105. package/dist/useInviteLinksApi-COVfmZiQ.js +64 -0
  106. package/dist/useInviteLinksApi-COVfmZiQ.js.map +1 -0
  107. package/dist/useInviteLinksApi-gn-AP0Yx.js +55 -0
  108. package/dist/useInviteLinksApi-gn-AP0Yx.js.map +1 -0
  109. package/dist/useProfileApi-BcuLCyms.js +35 -0
  110. package/dist/useProfileApi-BcuLCyms.js.map +1 -0
  111. package/dist/useProfileApi-Dkt6sE5p.js +28 -0
  112. package/dist/useProfileApi-Dkt6sE5p.js.map +1 -0
  113. package/dist/{index-D_GBFQ6T.js → useRolesApi-93OoRU1s.js} +2 -54
  114. package/dist/useRolesApi-93OoRU1s.js.map +1 -0
  115. package/dist/{index-BOmT_MDe.js → useRolesApi-DuL4eCuF.js} +1 -55
  116. package/dist/useRolesApi-DuL4eCuF.js.map +1 -0
  117. package/dist/useTeams-9Lgu4ogZ.js +187 -0
  118. package/dist/useTeams-9Lgu4ogZ.js.map +1 -0
  119. package/dist/useTeams-CJQiyvCI.js +178 -0
  120. package/dist/useTeams-CJQiyvCI.js.map +1 -0
  121. package/dist/{useTeamsApi-DH-TbrNP.js → useTeamsApi-BXvhKbyp.js} +2 -2
  122. package/dist/{useTeamsApi-DH-TbrNP.js.map → useTeamsApi-BXvhKbyp.js.map} +1 -1
  123. package/dist/useUsersApi-BRPy1kqa.js +105 -0
  124. package/dist/useUsersApi-BRPy1kqa.js.map +1 -0
  125. package/dist/useUsersApi-CBZ1Dk5d.js +117 -0
  126. package/dist/useUsersApi-CBZ1Dk5d.js.map +1 -0
  127. package/dist/utils-3WlshQ9e.js +312 -0
  128. package/dist/utils-3WlshQ9e.js.map +1 -0
  129. package/dist/{index-Dus0cbgo.js → utils-CcTwXoRH.js} +52 -1
  130. package/dist/utils-CcTwXoRH.js.map +1 -0
  131. package/dist/utils-CgwJI9pk.js +334 -0
  132. package/dist/utils-CgwJI9pk.js.map +1 -0
  133. package/dist/{index-ureO6U2w.js → utils-CrN1b-Jp.js} +48 -2
  134. package/dist/utils-CrN1b-Jp.js.map +1 -0
  135. package/dist/utils.js +512 -3
  136. package/dist/utils.js.map +1 -1
  137. package/dist/v2/Groups.js +30 -126
  138. package/dist/v2/Groups.js.map +1 -1
  139. package/dist/v2/ManageMember.js +18 -13
  140. package/dist/v2/ManageMember.js.map +1 -1
  141. package/dist/v2/MembersDropdown.js +1 -1
  142. package/dist/v2/MembersDropdown.js.map +1 -1
  143. package/dist/v2/MembersInvite.js +16 -54
  144. package/dist/v2/MembersInvite.js.map +1 -1
  145. package/dist/v2/Permissions.js +2 -2
  146. package/dist/v2/Profile.js +12 -28
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -63
  149. package/dist/v2/Roles.js.map +1 -1
  150. package/dist/v2/RolesRadioGroup.js +7 -6
  151. package/dist/v2/RolesRadioGroup.js.map +1 -1
  152. package/dist/v2/TeamMembers.js +38 -187
  153. package/dist/v2/TeamMembers.js.map +1 -1
  154. package/dist/v2/TeamsAndMembersDropdown.js +1 -1
  155. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  156. package/dist/v2/TeamsDropdown.js +1 -1
  157. package/dist/v2/TeamsDropdown.js.map +1 -1
  158. package/dist/v2/constants.js +2 -18
  159. package/dist/v2/constants.js.map +1 -1
  160. package/dist/v2/hooks.js +5 -5
  161. package/dist/v2/index.js +48 -31
  162. package/dist/v2/index.js.map +1 -1
  163. package/dist/v2/utils.js +6 -19
  164. package/dist/v2/utils.js.map +1 -1
  165. package/dist/withReactQuery-CSuiy5RK.js +1 -1
  166. package/dist/withReactQuery-CSuiy5RK.js.map +1 -1
  167. package/dist/withReactQuery-DvSkXhEx.js +1 -1
  168. package/dist/withReactQuery-DvSkXhEx.js.map +1 -1
  169. package/package.json +9 -9
  170. package/dist/InviteLinkError-AphtWLhe.js.map +0 -1
  171. package/dist/InviteLinkError-C6OLGrD0.js.map +0 -1
  172. package/dist/ProfileImage-QeSzsfzl.js.map +0 -1
  173. package/dist/ProfileImage-Ypf3HreX.js.map +0 -1
  174. package/dist/RolesRadioGroup-D4LlGV4N.js.map +0 -1
  175. package/dist/RolesRadioGroup-cjHORagK.js.map +0 -1
  176. package/dist/constants-B1L6arSR.js +0 -49
  177. package/dist/constants-B1L6arSR.js.map +0 -1
  178. package/dist/constants-CMNbKvoF.js +0 -61
  179. package/dist/constants-CMNbKvoF.js.map +0 -1
  180. package/dist/index-BOmT_MDe.js.map +0 -1
  181. package/dist/index-BVrpRWeD.js.map +0 -1
  182. package/dist/index-BkEJugj1.js +0 -184
  183. package/dist/index-BkEJugj1.js.map +0 -1
  184. package/dist/index-C6ph58Vg.js +0 -169
  185. package/dist/index-C6ph58Vg.js.map +0 -1
  186. package/dist/index-CVZHlIdE.js.map +0 -1
  187. package/dist/index-CgcUZO11.js.map +0 -1
  188. package/dist/index-DFFRcH_S.js +0 -1328
  189. package/dist/index-DFFRcH_S.js.map +0 -1
  190. package/dist/index-DTONHIze.js +0 -1373
  191. package/dist/index-DTONHIze.js.map +0 -1
  192. package/dist/index-D_GBFQ6T.js.map +0 -1
  193. package/dist/index-Dfnw71qd.js.map +0 -1
  194. package/dist/index-Dus0cbgo.js.map +0 -1
  195. package/dist/index-ureO6U2w.js.map +0 -1
  196. package/dist/pluralize-BoSEafiC.js +0 -514
  197. package/dist/pluralize-BoSEafiC.js.map +0 -1
  198. package/dist/pluralize-CFlSRsRn.js +0 -516
  199. package/dist/pluralize-CFlSRsRn.js.map +0 -1
  200. package/dist/queryClient-B-JFya8X.js +0 -16
  201. package/dist/queryClient-B-JFya8X.js.map +0 -1
  202. package/dist/queryClient-BncpekSV.js +0 -14
  203. package/dist/queryClient-BncpekSV.js.map +0 -1
  204. package/dist/timezone-selector-CKRmWIBV.js +0 -161
  205. package/dist/timezone-selector-CKRmWIBV.js.map +0 -1
  206. package/dist/timezone-selector-DzjWIcWK.js +0 -171
  207. package/dist/timezone-selector-DzjWIcWK.js.map +0 -1
  208. package/dist/useMembersSidenav-CTK2-tT0.js +0 -19
  209. package/dist/useMembersSidenav-CTK2-tT0.js.map +0 -1
  210. package/dist/useMembersSidenav-Dj60wgFC.js +0 -17
  211. package/dist/useMembersSidenav-Dj60wgFC.js.map +0 -1
  212. package/dist/useTeamsApi-CWp4G7JZ.js +0 -179
  213. package/dist/useTeamsApi-CWp4G7JZ.js.map +0 -1
  214. package/dist/useTeamsApi-Ch5sHR2_.js +0 -197
  215. package/dist/useTeamsApi-Ch5sHR2_.js.map +0 -1
@@ -1,1373 +0,0 @@
1
- 'use strict';
2
-
3
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
4
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
- var React = require('react');
8
- var classnames = require('classnames');
9
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
10
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
11
- var Info = require('@bigbinary/neeto-icons/Info');
12
- var LeftArrow = require('@bigbinary/neeto-icons/LeftArrow');
13
- var hooks = require('@bigbinary/neeto-image-uploader-frontend/hooks');
14
- var Button = require('@bigbinary/neetoui/Button');
15
- var Typography = require('@bigbinary/neetoui/Typography');
16
- var Toastr = require('@bigbinary/neetoui/Toastr');
17
- var Callout = require('@bigbinary/neetoui/Callout');
18
- var Spinner = require('@bigbinary/neetoui/Spinner');
19
- var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
20
- var Form = require('@bigbinary/neetoui/formik/Form');
21
- var ramda = require('ramda');
22
- var reactI18next = require('react-i18next');
23
- var index = require('./index-BOmT_MDe.js');
24
- var ProfileImage = require('./ProfileImage-QeSzsfzl.js');
25
- var useTeamsApi = require('./useTeamsApi-Bp2O5h4D.js');
26
- var injectCss = require('./inject-css-B6qYtOJe.js');
27
- var formik = require('formik');
28
- var neetoCist = require('@bigbinary/neeto-cist');
29
- var Checkbox = require('@bigbinary/neetoui/Checkbox');
30
- var Tooltip = require('@bigbinary/neetoui/Tooltip');
31
- var Select = require('@bigbinary/neetoui/formik/Select');
32
- var Switch = require('@bigbinary/neetoui/formik/Switch');
33
- var RolesRadioGroup = require('./RolesRadioGroup-B665oE71.js');
34
- var jsxRuntime = require('react/jsx-runtime');
35
- var constants = require('@bigbinary/neeto-commons-frontend/constants');
36
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
37
- var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
38
- var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
39
- var Dropdown = require('@bigbinary/neetoui/Dropdown');
40
- var reactQuery = require('@tanstack/react-query');
41
- var axios = require('axios');
42
- var constants$1 = require('./constants-D_H6M1Pm.js');
43
- var Label = require('@bigbinary/neetoui/Label');
44
- var MultiEmailInput = require('@bigbinary/neetoui/formik/MultiEmailInput');
45
- var Input = require('@bigbinary/neetoui/formik/Input');
46
- var utils$1 = require('./cjs/utils.js');
47
- var neetoTimeZones = require('@bigbinary/neeto-time-zones');
48
- var i18next = require('i18next');
49
- var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
50
- var Avatar = require('@bigbinary/neetoui/Avatar');
51
-
52
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
53
-
54
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefault(_asyncToGenerator);
55
- var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
56
- var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
57
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
58
- var classnames__default = /*#__PURE__*/_interopDefault(classnames);
59
- var Info__default = /*#__PURE__*/_interopDefault(Info);
60
- var LeftArrow__default = /*#__PURE__*/_interopDefault(LeftArrow);
61
- var Button__default = /*#__PURE__*/_interopDefault(Button);
62
- var Typography__default = /*#__PURE__*/_interopDefault(Typography);
63
- var Toastr__default = /*#__PURE__*/_interopDefault(Toastr);
64
- var Callout__default = /*#__PURE__*/_interopDefault(Callout);
65
- var Spinner__default = /*#__PURE__*/_interopDefault(Spinner);
66
- var ActionBlock__default = /*#__PURE__*/_interopDefault(ActionBlock);
67
- var Form__default = /*#__PURE__*/_interopDefault(Form);
68
- var Checkbox__default = /*#__PURE__*/_interopDefault(Checkbox);
69
- var Tooltip__default = /*#__PURE__*/_interopDefault(Tooltip);
70
- var Select__default = /*#__PURE__*/_interopDefault(Select);
71
- var Switch__default = /*#__PURE__*/_interopDefault(Switch);
72
- var MenuHorizontal__default = /*#__PURE__*/_interopDefault(MenuHorizontal);
73
- var CopyToClipboardButton__default = /*#__PURE__*/_interopDefault(CopyToClipboardButton);
74
- var Dropdown__default = /*#__PURE__*/_interopDefault(Dropdown);
75
- var axios__default = /*#__PURE__*/_interopDefault(axios);
76
- var Label__default = /*#__PURE__*/_interopDefault(Label);
77
- var MultiEmailInput__default = /*#__PURE__*/_interopDefault(MultiEmailInput);
78
- var Input__default = /*#__PURE__*/_interopDefault(Input);
79
- var i18next__default = /*#__PURE__*/_interopDefault(i18next);
80
- var MoreDropdown__default = /*#__PURE__*/_interopDefault(MoreDropdown);
81
- var Avatar__default = /*#__PURE__*/_interopDefault(Avatar);
82
-
83
- var _getQueryParams = utils.getQueryParams(),
84
- page = _getQueryParams.page,
85
- pageSize = _getQueryParams.pageSize;
86
- var DEFAULT_RADIX = 10;
87
- var DEFAULT_IS_OPEN_VALUES = {
88
- menuBar: false,
89
- manageMember: false,
90
- alert: false
91
- };
92
- var DEFAULT_FILTER_VALUES = {
93
- page: ramda.clamp(1, Infinity, parseInt(page)) || constants.DEFAULT_PAGE_INDEX,
94
- pageSize: ramda.clamp(10, 100, parseInt(pageSize)) || constants.DEFAULT_PAGE_SIZE,
95
- sortBy: "",
96
- orderBy: "",
97
- neetoFilters: []
98
- };
99
- var DEFAULT_SELECTED_ROWS = {
100
- active: [],
101
- emails: [],
102
- keys: [],
103
- displayNames: []
104
- };
105
-
106
- function ownKeys$2(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; }
107
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
108
- var MenuItem$1 = Dropdown__default.default.MenuItem;
109
- var renderNameColumn = function renderNameColumn(_ref) {
110
- var config = _ref.config,
111
- handleUpdateRole = _ref.handleUpdateRole,
112
- handleUpdateStatus = _ref.handleUpdateStatus,
113
- tableData = _ref.tableData;
114
- var name = tableData.displayName,
115
- imageUrl = tableData.profileImageUrl;
116
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
117
- className: "ntm-members-table__wrapper",
118
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
119
- className: "ntm-members-table__column",
120
- children: [/*#__PURE__*/jsxRuntime.jsx(Avatar__default.default, {
121
- size: "medium",
122
- user: {
123
- name: name,
124
- imageUrl: imageUrl
125
- }
126
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
127
- className: "whitespace-normal",
128
- "data-testid": "ntm-member-name-".concat(utils.hyphenize(name)),
129
- style: "body2",
130
- children: name
131
- })]
132
- }), renderDropdownButton({
133
- config: config,
134
- handleUpdateRole: handleUpdateRole,
135
- handleUpdateStatus: handleUpdateStatus,
136
- tableData: tableData
137
- })]
138
- });
139
- };
140
- var renderDropdownButton = function renderDropdownButton(_ref2) {
141
- var _config$table, _config$table$dropdow;
142
- var config = _ref2.config,
143
- handleUpdateRole = _ref2.handleUpdateRole,
144
- handleUpdateStatus = _ref2.handleUpdateStatus,
145
- tableData = _ref2.tableData;
146
- return /*#__PURE__*/jsxRuntime.jsx(MoreDropdown__default.default, {
147
- dropdownProps: {
148
- appendTo: function appendTo() {
149
- return document.body;
150
- },
151
- strategy: "fixed"
152
- },
153
- isDisabled: ramda.not(config.permissions.update),
154
- dropdownButtonProps: {
155
- className: "me-1 my-1",
156
- "data-testid": "ntm-members-table-row-dropdown-button",
157
- tooltipProps: {
158
- content: i18next__default.default.t("neetoTeamMembers.tooltips.noPermissionToEditMembers"),
159
- disabled: config.permissions.update,
160
- position: "top"
161
- }
162
- },
163
- menuTopChildren: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
164
- children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem$1.Button, {
165
- className: "ntm-dropdown__button",
166
- "data-testid": "ntm-edit-member-button",
167
- size: "small",
168
- onClick: function onClick() {
169
- return handleUpdateRole(tableData);
170
- },
171
- children: i18next__default.default.t("neetoTeamMembers.common.edit")
172
- }), 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(MenuItem$1.Button, {
173
- className: "ntm-dropdown__button",
174
- "data-testid": "ntm-deactivate-member-button",
175
- size: "small",
176
- onClick: function onClick() {
177
- return handleUpdateStatus(tableData);
178
- },
179
- children: i18next__default.default.t("neetoTeamMembers.common.remove")
180
- })]
181
- })
182
- });
183
- };
184
- var getDefaultAlertTitle = function getDefaultAlertTitle(_ref3) {
185
- var member = _ref3.member;
186
- return member !== null && member !== void 0 && member.active ? i18next__default.default.t("neetoTeamMembers.common.remove_", {
187
- what: initializers.taxonomies.member.singular
188
- }) : i18next__default.default.t("neetoTeamMembers.common.activate_", {
189
- what: initializers.taxonomies.member.singular
190
- });
191
- };
192
- var getDefaultAlertMessage = function getDefaultAlertMessage(_ref4) {
193
- var member = _ref4.member;
194
- return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
195
- i18nKey: "neetoTeamMembers.alerts.messages.removeMember",
196
- values: _objectSpread$2(_objectSpread$2({}, constants.SINGULAR), {}, {
197
- person: member === null || member === void 0 ? void 0 : member.displayName
198
- })
199
- });
200
- };
201
- var getDefaultColumns = function getDefaultColumns(_ref5) {
202
- var config = _ref5.config,
203
- handleUpdateRole = _ref5.handleUpdateRole,
204
- handleUpdateStatus = _ref5.handleUpdateStatus,
205
- otherColumns = _ref5.otherColumns,
206
- isSize = _ref5.isSize;
207
- return [{
208
- dataIndex: "name",
209
- key: "name",
210
- width: 300,
211
- fixed: neetoCist.isNotEmpty(otherColumns) && !isSize("mobile"),
212
- render: function render(_, tableData) {
213
- return renderNameColumn({
214
- config: config,
215
- handleUpdateRole: handleUpdateRole,
216
- handleUpdateStatus: handleUpdateStatus,
217
- tableData: tableData
218
- });
219
- },
220
- sorter: true,
221
- title: i18next__default.default.t("neetoTeamMembers.common.name"),
222
- isHidable: false
223
- }, {
224
- dataIndex: "email",
225
- key: "email",
226
- sorter: true,
227
- width: 350,
228
- title: i18next__default.default.t("neetoTeamMembers.common.email", constants.SINGULAR)
229
- }, {
230
- dataIndex: "role",
231
- key: "organization_role",
232
- sorter: true,
233
- width: 200,
234
- title: i18next__default.default.t("neetoTeamMembers.common.role", constants.SINGULAR)
235
- }];
236
- };
237
- var removeExcludedRole = ramda.curry(function (excludedRoles, role) {
238
- return !(excludedRoles !== null && excludedRoles !== void 0 && excludedRoles.includes(role === null || role === void 0 ? void 0 : role.name));
239
- });
240
- var getColumnData = function getColumnData(_ref6) {
241
- var _config$otherColumns;
242
- var config = _ref6.config,
243
- handleUpdateRole = _ref6.handleUpdateRole,
244
- handleUpdateStatus = _ref6.handleUpdateStatus,
245
- isSize = _ref6.isSize;
246
- var otherColumns = (_config$otherColumns = config === null || config === void 0 ? void 0 : config.otherColumns) !== null && _config$otherColumns !== void 0 ? _config$otherColumns : [];
247
- var defaultColumns = getDefaultColumns({
248
- config: config,
249
- handleUpdateRole: handleUpdateRole,
250
- handleUpdateStatus: handleUpdateStatus,
251
- otherColumns: otherColumns,
252
- isSize: isSize
253
- });
254
- var columns = defaultColumns.map(function (column) {
255
- var otherColumn = otherColumns.find(function (_ref7) {
256
- var dataIndex = _ref7.dataIndex;
257
- return ramda.identical(dataIndex, column.dataIndex);
258
- });
259
- return otherColumn || column;
260
- });
261
- otherColumns.forEach(function (otherColumn) {
262
- var column = columns.find(function (_ref8) {
263
- var dataIndex = _ref8.dataIndex;
264
- return ramda.identical(dataIndex, otherColumn.dataIndex);
265
- });
266
- if (!column) columns.push(otherColumn);
267
- });
268
- return columns;
269
- };
270
- var renderUpdateAlert = function renderUpdateAlert(field, props) {
271
- var _config$alert;
272
- var config = props.config,
273
- member = props.member;
274
- if (config !== null && config !== void 0 && (_config$alert = config.alert) !== null && _config$alert !== void 0 && _config$alert[field]) {
275
- var _config$alert2;
276
- return (_config$alert2 = config.alert) === null || _config$alert2 === void 0 ? void 0 : _config$alert2[field]({
277
- active: member === null || member === void 0 ? void 0 : member.active,
278
- id: member === null || member === void 0 ? void 0 : member.id,
279
- name: member === null || member === void 0 ? void 0 : member.displayName
280
- });
281
- }
282
- return field === "title" ? getDefaultAlertTitle(props) : getDefaultAlertMessage(props);
283
- };
284
- var handlePageChange = function handlePageChange(setFilters, history) {
285
- return function (page, pageSize) {
286
- var searchParams = utils.getQueryParams({
287
- toCamelCase: false
288
- });
289
- history.replace(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
290
- page: page,
291
- page_size: pageSize
292
- }, searchParams)));
293
- setFilters(ramda.mergeLeft({
294
- page: page,
295
- pageSize: pageSize
296
- }));
297
- };
298
- };
299
- var renderPaginationProps = function renderPaginationProps(size) {
300
- return {
301
- pageSize: parseInt(size, DEFAULT_RADIX)
302
- };
303
- };
304
- var defaultNeetoFiltersColumns = function defaultNeetoFiltersColumns() {
305
- return [{
306
- key: "email",
307
- label: i18next__default.default.t("neetoTeamMembers.common.email", constants.SINGULAR),
308
- model: "User",
309
- node: "email",
310
- showRuleSelector: true,
311
- type: "text"
312
- }, {
313
- key: "name",
314
- label: i18next__default.default.t("neetoTeamMembers.common.name"),
315
- model: "User",
316
- node: "first_name,last_name",
317
- type: "text",
318
- values: ""
319
- }, {
320
- key: "role",
321
- label: i18next__default.default.t("neetoTeamMembers.common.role", constants.SINGULAR),
322
- model: "OrganizationRole",
323
- node: "organization_role.name",
324
- type: "multi_option",
325
- values: []
326
- }];
327
- };
328
- var buildFilterColumns = function buildFilterColumns(_ref9) {
329
- var _ref9$options = _ref9.options,
330
- _ref9$options$emails = _ref9$options.emails,
331
- emails = _ref9$options$emails === void 0 ? [] : _ref9$options$emails,
332
- _ref9$options$organiz = _ref9$options.organizationRoles,
333
- organizationRoles = _ref9$options$organiz === void 0 ? [] : _ref9$options$organiz,
334
- _ref9$emailConfig = _ref9.emailConfig,
335
- setSearchTerm = _ref9$emailConfig.setSearchTerm,
336
- isLoading = _ref9$emailConfig.isLoading;
337
- var columnValues = {
338
- email: emails.map(neetoCist.toLabelAndValue),
339
- role: organizationRoles.map(neetoCist.toLabelAndValue)
340
- };
341
- return defaultNeetoFiltersColumns().map(function (column) {
342
- var values = columnValues[column.key];
343
- if (column.key === "role") return ramda.assoc("values", values, column);
344
- var emailConfig = {
345
- values: values,
346
- isLoading: isLoading,
347
- onInputChange: setSearchTerm
348
- };
349
- return ramda.mergeLeft(emailConfig, column);
350
- });
351
- };
352
- var getFilteredRoles = function getFilteredRoles() {
353
- var roles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
354
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
355
- return ramda.filter(removeExcludedRole(config === null || config === void 0 ? void 0 : config.excludedRoles), roles);
356
- };
357
- var generateNoDataContent = function generateNoDataContent(_ref10) {
358
- var buttonProps = _ref10.buttonProps;
359
- var disabled = buttonProps.disabled,
360
- onClick = buttonProps.onClick;
361
- var noDataTitleTranslationKey = "notFound_";
362
- var noDataTitle = i18next__default.default.t("neetoTeamMembers.common.".concat(noDataTitleTranslationKey), {
363
- what: initializers.taxonomies.member.plural
364
- });
365
- var noDataButtonProps = {
366
- "data-testid": "ntm-add-member-button",
367
- disabled: disabled,
368
- label: i18next__default.default.t("neetoTeamMembers.common.addNew_", {
369
- what: initializers.taxonomies.member.singular
370
- }),
371
- onClick: onClick
372
- };
373
- return {
374
- noDataTitle: noDataTitle,
375
- noDataButtonProps: noDataButtonProps
376
- };
377
- };
378
-
379
- var css = ".ntm-manage-members__header{align-items:flex-start;display:flex}.ntm-manage-members__header>*+*{margin-inline-start:.5rem}.ntm-product-roles-table th{color:rgb(var(--neeto-ui-gray-700));font-size:var(--neeto-ui-text-xs);font-weight:var(--neeto-ui-font-bold);text-transform:uppercase;vertical-align:middle}.ntm-product-roles-table td,.ntm-product-roles-table th{border:1px solid rgb(var(--neeto-ui-gray-200));padding:.5rem;text-align:start}.ntm-manage-members__app-roles{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0;width:100%}.ntm-manage-members-app-roles__select-wrapper{max-width:250px;width:50%}.ntm-manage-members-effective-app-roles{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.ntm-manage-members-effective-app-roles__role-name{max-width:300px;width:67%}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-manage-members__checkbox-align-start.neeto-ui-checkbox__wrapper .neeto-ui-checkbox[type=checkbox]{margin-top:.25rem}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL21hbmFnZS1tZW1iZXJzLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFFRSxzQkFBdUIsQ0FEdkIsWUFFRixDQUVBLGdDQUNFLHlCQUNGLENBRUEsNEJBQ0UsbUNBQW9DLENBQ3BDLGlDQUFrQyxDQUVsQyxxQ0FBc0MsQ0FDdEMsd0JBQXlCLENBRnpCLHFCQUdGLENBRUEsd0RBRUUsOENBQStDLENBRS9DLGFBQWUsQ0FEZixnQkFFRixDQUVBLCtCQUVFLGtCQUFtQixDQURuQixZQUFhLENBRWIsNkJBQThCLENBRTlCLGVBQWlCLENBRGpCLFVBRUYsQ0FFQSw4Q0FFRSxlQUFnQixDQURoQixTQUVGLENBRUEsd0NBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FFYiw2QkFBOEIsQ0FDOUIsZ0JBQ0YsQ0FFQSxtREFFRSxlQUFnQixDQURoQixTQUVGLENBRUEsbUdBQ0Usc0JBQ0YsQ0FFQSx1R0FDRSxpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi5udG0tbWFuYWdlLW1lbWJlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19oZWFkZXIgPiAqICsgKiB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuNXJlbTtcbn1cblxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHRoIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTcwMCkpO1xuICBmb250LXNpemU6IHZhcigtLW5lZXRvLXVpLXRleHQteHMpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogdmFyKC0tbmVldG8tdWktZm9udC1ib2xkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHRkLFxuLm50bS1wcm9kdWN0LXJvbGVzLXRhYmxlIHRoIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMjAwKSk7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbi5udG0tbWFuYWdlLW1lbWJlcnNfX2FwcC1yb2xlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzLWFwcC1yb2xlc19fc2VsZWN0LXdyYXBwZXIge1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzLWVmZmVjdGl2ZS1hcHAtcm9sZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxuLm50bS1tYW5hZ2UtbWVtYmVycy1lZmZlY3RpdmUtYXBwLXJvbGVzX19yb2xlLW5hbWUge1xuICB3aWR0aDogNjclO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19jaGVja2JveC1hbGlnbi1zdGFydC5uZWV0by11aS1jaGVja2JveF9fd3JhcHBlciAubmVldG8tdWktY2hlY2tib3hfX2NvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubnRtLW1hbmFnZS1tZW1iZXJzX19jaGVja2JveC1hbGlnbi1zdGFydC5uZWV0by11aS1jaGVja2JveF9fd3JhcHBlciAubmVldG8tdWktY2hlY2tib3hbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbiJdfQ== */";
380
- injectCss.n(css,{});
381
-
382
- var AppList = function AppList(_ref) {
383
- var _globalProps$user;
384
- var globalRoles = _ref.globalRoles,
385
- savedStateRef = _ref.savedStateRef;
386
- var _useTranslation = reactI18next.useTranslation(),
387
- t = _useTranslation.t;
388
- var _useState = React.useState(savedStateRef.current.isAppListEnabled),
389
- _useState2 = _slicedToArray__default.default(_useState, 2),
390
- isAppListEnabled = _useState2[0],
391
- setIsAppListEnabled = _useState2[1];
392
- var _useFormikContext = formik.useFormikContext(),
393
- _useFormikContext$val = _useFormikContext.values,
394
- _useFormikContext$val2 = _useFormikContext$val.emails,
395
- emails = _useFormikContext$val2 === void 0 ? [] : _useFormikContext$val2,
396
- _useFormikContext$val3 = _useFormikContext$val.appRoles,
397
- appRoles = _useFormikContext$val3 === void 0 ? [] : _useFormikContext$val3,
398
- setFieldValue = _useFormikContext.setFieldValue;
399
- var selectedEmail = ramda.pluck("value", emails);
400
- var isManageProductsLinkEnabled = ((_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.isOwner) && Object.keys(globalRoles).length >= 3;
401
- React.useEffect(function () {
402
- if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {
403
- appRoles === null || appRoles === void 0 || appRoles.forEach(function (appRole, index) {
404
- var _globalProps$appName;
405
- if ((appRole === null || appRole === void 0 ? void 0 : appRole.appName) === ((_globalProps$appName = initializers.globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
406
- setFieldValue("appRoles[".concat(index, "].isEnabled"), true);
407
- return;
408
- }
409
- setFieldValue("appRoles[".concat(index, "].isEnabled"), isAppListEnabled);
410
- });
411
- }
412
- savedStateRef.current.isAppListEnabled = isAppListEnabled;
413
- }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps
414
-
415
- var buildRoleOptions = function buildRoleOptions(roles) {
416
- return roles.map(function (role) {
417
- return neetoCist.toLabelAndValue(role.name);
418
- });
419
- };
420
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
421
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6",
422
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
423
- className: "neeto-ui-w-full space-y-3",
424
- children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox__default.default, {
425
- checked: isAppListEnabled,
426
- className: "ntm-manage-members__checkbox-align-start",
427
- "data-testid": "ntm-manage-members-app-list-checkbox",
428
- label: /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
429
- component: "span",
430
- lineHeight: "relaxed",
431
- style: "body2",
432
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
433
- i18nKey: "neetoTeamMembers.helpers.addMembersToNeetoProducts",
434
- values: {
435
- emails: selectedEmail
436
- }
437
- })
438
- }),
439
- onChange: function onChange() {
440
- return setIsAppListEnabled(ramda.not);
441
- }
442
- }), isManageProductsLinkEnabled && /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
443
- style: "body2",
444
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
445
- i18nKey: "neetoTeamMembers.helpers.manageProducts",
446
- components: {
447
- button: /*#__PURE__*/jsxRuntime.jsx(Button__default.default, {
448
- href: RolesRadioGroup.NEETO_AUTH_MANAGE_PRODUCT_URL,
449
- style: "link"
450
- })
451
- }
452
- })
453
- })]
454
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
455
- className: "neeto-ui-w-full",
456
- children: appRoles.map(function (_ref2, index) {
457
- var _globalProps$appName2;
458
- var appName = _ref2.appName,
459
- isEnabled = _ref2.isEnabled;
460
- var isCurrentApp = appName === ((_globalProps$appName2 = initializers.globalProps.appName) === null || _globalProps$appName2 === void 0 ? void 0 : _globalProps$appName2.substring(5));
461
- var isAppRoleSelectionChecked = isCurrentApp || isEnabled;
462
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
463
- className: "ntm-manage-members__app-roles",
464
- children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip__default.default, {
465
- content: t("neetoTeamMembers.tooltips.hostAppIsRequired"),
466
- disabled: !isCurrentApp,
467
- position: "left",
468
- children: /*#__PURE__*/jsxRuntime.jsx("span", {
469
- children: /*#__PURE__*/jsxRuntime.jsx(Switch__default.default, {
470
- checked: isAppRoleSelectionChecked,
471
- disabled: isCurrentApp,
472
- name: "appsRoles[".concat(index, "].isEnabled"),
473
- label: t("neetoTeamMembers.labels.neeto_", {
474
- product: appName
475
- }),
476
- onChange: function onChange(_ref3) {
477
- var target = _ref3.target;
478
- setFieldValue("appRoles[".concat(index, "].isEnabled"), target.checked);
479
- }
480
- })
481
- })
482
- }), /*#__PURE__*/jsxRuntime.jsx(Tooltip__default.default, {
483
- content: t("neetoTeamMembers.tooltips.goBackToChangeRole"),
484
- disabled: !isCurrentApp,
485
- position: "top",
486
- children: /*#__PURE__*/jsxRuntime.jsx("span", {
487
- className: "ntm-manage-members-app-roles__select-wrapper",
488
- children: /*#__PURE__*/jsxRuntime.jsx(Select__default.default, {
489
- dataTestid: "ntm-manage-members-app-roles",
490
- isDisabled: isCurrentApp || !isEnabled,
491
- name: "appRoles[".concat(index, "].activeRole"),
492
- options: buildRoleOptions(globalRoles[appName]),
493
- size: "small",
494
- strategy: "fixed",
495
- onChange: function onChange(_ref4) {
496
- var value = _ref4.value;
497
- setFieldValue("appRoles[".concat(index, "].activeRole"), value);
498
- }
499
- })
500
- })
501
- })]
502
- }, appName);
503
- })
504
- })]
505
- });
506
- };
507
-
508
- var Confirmation = function Confirmation() {
509
- var _globalProps$organiza;
510
- var _useTranslation = reactI18next.useTranslation(),
511
- t = _useTranslation.t;
512
- var _useFormikContext = formik.useFormikContext(),
513
- _useFormikContext$val = _useFormikContext.values,
514
- emails = _useFormikContext$val.emails,
515
- role = _useFormikContext$val.role,
516
- appRoles = _useFormikContext$val.appRoles;
517
- var selectedEmail = ramda.pluck("value", emails);
518
- var activeAppRoles = neetoCist.filterBy({
519
- isEnabled: true
520
- }, appRoles);
521
- return activeAppRoles.length > 1 ? /*#__PURE__*/jsxRuntime.jsxs("div", {
522
- className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6",
523
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
524
- className: "neeto-ui-w-full",
525
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
526
- component: "span",
527
- lineHeight: "relaxed",
528
- style: "body2",
529
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
530
- i18nKey: "neetoTeamMembers.helpers.multipleProductInvitation",
531
- values: {
532
- count: selectedEmail.length,
533
- emails: selectedEmail,
534
- orgName: (_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.name
535
- }
536
- })
537
- })
538
- }), /*#__PURE__*/jsxRuntime.jsxs("table", {
539
- className: "neeto-ui-w-full ntm-product-roles-table",
540
- children: [/*#__PURE__*/jsxRuntime.jsx("thead", {
541
- children: /*#__PURE__*/jsxRuntime.jsxs("tr", {
542
- children: [/*#__PURE__*/jsxRuntime.jsx("th", {
543
- children: t("neetoTeamMembers.common.productName")
544
- }), /*#__PURE__*/jsxRuntime.jsx("th", {
545
- children: t("neetoTeamMembers.common.role", constants.SINGULAR)
546
- })]
547
- })
548
- }), /*#__PURE__*/jsxRuntime.jsx("tbody", {
549
- children: activeAppRoles.map(function (_ref) {
550
- var appName = _ref.appName,
551
- activeRole = _ref.activeRole;
552
- return /*#__PURE__*/jsxRuntime.jsxs("tr", {
553
- children: [/*#__PURE__*/jsxRuntime.jsx("td", {
554
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
555
- component: "span",
556
- lineHeight: "relaxed",
557
- style: "body2",
558
- children: t("neetoTeamMembers.labels.neeto_", {
559
- product: appName
560
- })
561
- })
562
- }), /*#__PURE__*/jsxRuntime.jsx("td", {
563
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
564
- component: "span",
565
- lineHeight: "relaxed",
566
- style: "body2",
567
- children: activeRole
568
- })
569
- })]
570
- }, appName);
571
- })
572
- })]
573
- })]
574
- }) : /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
575
- component: "span",
576
- lineHeight: "relaxed",
577
- style: "body2",
578
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
579
- i18nKey: "neetoTeamMembers.helpers.singleProductInvitation",
580
- values: RolesRadioGroup.getSingleInvitationTranslationProps({
581
- activeAppRoles: activeAppRoles,
582
- role: role,
583
- selectedEmail: selectedEmail
584
- })
585
- })
586
- });
587
- };
588
-
589
- var fetch = function fetch() {
590
- return axios__default.default.get("".concat(constants$1.BASE_URL, "/api/v1/invite_links"));
591
- };
592
- var create = function create(payload) {
593
- return axios__default.default.post("".concat(constants$1.BASE_URL, "/api/v1/invite_links"), {
594
- inviteLink: payload
595
- });
596
- };
597
- var regenerate = function regenerate(inviteLinkId, payload) {
598
- return axios__default.default.put("".concat(constants$1.BASE_URL, "/api/v1/invite_links/").concat(inviteLinkId), {
599
- inviteLink: payload
600
- });
601
- };
602
- var inviteLinksApi = {
603
- fetch: fetch,
604
- create: create,
605
- regenerate: regenerate
606
- };
607
-
608
- function ownKeys$1(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; }
609
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
610
- var useFetchInviteLinks = function useFetchInviteLinks() {
611
- return reactQuery.useQuery({
612
- queryKey: [constants$1.QUERY_KEYS.INVITATION_LINK],
613
- queryFn: function queryFn() {
614
- return inviteLinksApi.fetch();
615
- }
616
- });
617
- };
618
- var useCreateInviteLinks = function useCreateInviteLinks() {
619
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
620
- return reactUtils.useMutationWithInvalidation(function (payload) {
621
- return inviteLinksApi.create(payload);
622
- }, _objectSpread$1({
623
- keysToInvalidate: [[constants$1.QUERY_KEYS.INVITATION_LINK]]
624
- }, options));
625
- };
626
- var useRegenerateInviteLink = function useRegenerateInviteLink() {
627
- return reactUtils.useMutationWithInvalidation(function (_ref) {
628
- var inviteLinkId = _ref.inviteLinkId,
629
- payload = _ref.payload;
630
- return inviteLinksApi.regenerate(inviteLinkId, payload);
631
- }, {
632
- keysToInvalidate: [[constants$1.QUERY_KEYS.INVITATION_LINK]]
633
- });
634
- };
635
-
636
- var Menu = Dropdown__default.default.Menu,
637
- MenuItem = Dropdown__default.default.MenuItem;
638
- var MenuItemButton = MenuItem.Button;
639
- var InviteLink = function InviteLink(_ref) {
640
- var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6;
641
- var t = _ref.t,
642
- roles = _ref.roles;
643
- var _useCreateInviteLinks = useCreateInviteLinks(),
644
- createInviteLink = _useCreateInviteLinks.mutate,
645
- isCreateLinkPending = _useCreateInviteLinks.isPending;
646
- var _useRegenerateInviteL = useRegenerateInviteLink(),
647
- regenerateLink = _useRegenerateInviteL.mutate;
648
- var _useFetchInviteLinks = useFetchInviteLinks(),
649
- _useFetchInviteLinks$ = _useFetchInviteLinks.data,
650
- _useFetchInviteLinks$2 = _useFetchInviteLinks$ === void 0 ? {} : _useFetchInviteLinks$,
651
- _useFetchInviteLinks$3 = _useFetchInviteLinks$2.inviteLinks,
652
- inviteLinks = _useFetchInviteLinks$3 === void 0 ? [] : _useFetchInviteLinks$3,
653
- isFetchLinkLoading = _useFetchInviteLinks.isLoading;
654
- var _useFormikContext = formik.useFormikContext(),
655
- values = _useFormikContext.values;
656
- var isInviteLinkEmpty = !isFetchLinkLoading && ramda.isEmpty(inviteLinks);
657
- var handleRegenerate = function handleRegenerate() {
658
- var _findBy = neetoCist.findBy({
659
- name: values.role
660
- }, roles),
661
- roleId = _findBy.id;
662
- if (ramda.isEmpty(inviteLinks)) {
663
- createInviteLink({
664
- organizationRoleId: roleId
665
- });
666
- return;
667
- }
668
- regenerateLink({
669
- inviteLinkId: inviteLinks[0].id,
670
- payload: {
671
- organizationRoleId: roleId
672
- }
673
- });
674
- };
675
- if (isFetchLinkLoading || isCreateLinkPending) {
676
- return /*#__PURE__*/jsxRuntime.jsx("div", {
677
- className: "neeto-ui-w-full flex justify-center items-center",
678
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default.default, {
679
- size: "large"
680
- })
681
- });
682
- }
683
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
684
- className: "neeto-ui-w-full space-y-2",
685
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
686
- className: "flex items-center gap-2 pt-1",
687
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
688
- className: "neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 grow items-center truncate border leading-none",
689
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
690
- className: "relative min-w-0 grow truncate p-2 leading-none",
691
- children: !isInviteLinkEmpty && RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token)
692
- }), isInviteLinkEmpty ? /*#__PURE__*/jsxRuntime.jsx(Button__default.default, {
693
- className: "rounded-ss-none rounded-es-none",
694
- label: t("neetoTeamMembers.buttons.generateLink"),
695
- onClick: handleRegenerate
696
- }) : /*#__PURE__*/jsxRuntime.jsx(CopyToClipboardButton__default.default, {
697
- className: "rounded-ss-none rounded-es-none",
698
- label: t("neetoTeamMembers.buttons.copyLink"),
699
- value: RolesRadioGroup.getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token)
700
- })]
701
- }), !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(Dropdown__default.default, {
702
- buttonProps: {
703
- className: "shrink-0"
704
- },
705
- buttonStyle: "text",
706
- icon: MenuHorizontal__default.default,
707
- children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
708
- children: /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
709
- children: /*#__PURE__*/jsxRuntime.jsx(MenuItemButton, {
710
- onClick: handleRegenerate,
711
- children: t("neetoTeamMembers.buttons.regenerateLink")
712
- })
713
- })
714
- })
715
- })]
716
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
717
- children: !isInviteLinkEmpty && /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
718
- className: "leading-relaxed neeto-ui-text-gray-500",
719
- style: "body3",
720
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
721
- components: {
722
- strong: /*#__PURE__*/jsxRuntime.jsx("strong", {})
723
- },
724
- i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
725
- values: {
726
- expiryDays: RolesRadioGroup.remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.expiresAt),
727
- role: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$4 = inviteLinks[0]) === null || _inviteLinks$4 === void 0 || (_inviteLinks$4 = _inviteLinks$4.organizationRole) === null || _inviteLinks$4 === void 0 ? void 0 : _inviteLinks$4.name,
728
- inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$5 = inviteLinks[0]) === null || _inviteLinks$5 === void 0 ? void 0 : _inviteLinks$5.inviteLimit,
729
- appName: initializers.globalProps.appName,
730
- emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.domain
731
- }
732
- })
733
- })
734
- })]
735
- });
736
- };
737
- var InviteLink$1 = reactUtils.withT(InviteLink);
738
-
739
- var MultipleEmailInput = function MultipleEmailInput(_ref) {
740
- var _head;
741
- var _ref$emails = _ref.emails,
742
- emails = _ref$emails === void 0 ? [] : _ref$emails,
743
- innerRef = _ref.innerRef,
744
- _ref$selectedMember = _ref.selectedMember,
745
- selectedMember = _ref$selectedMember === void 0 ? null : _ref$selectedMember,
746
- setCurrentPage = _ref.setCurrentPage;
747
- var isInviteLinkFeatureEnabled = !utils$1.isNeetoAuthApp();
748
- var _useTranslation = reactI18next.useTranslation(),
749
- t = _useTranslation.t;
750
- var _useFormikContext = formik.useFormikContext(),
751
- setFieldValue = _useFormikContext.setFieldValue;
752
- var handleInputChange = function handleInputChange(event) {
753
- var email = event.target.value;
754
- var emailList = [{
755
- label: email,
756
- value: email,
757
- valid: RolesRadioGroup.EMAIL_REGEX.test(email)
758
- }];
759
- setFieldValue("emails", emailList);
760
- };
761
- return /*#__PURE__*/jsxRuntime.jsx("div", {
762
- className: "neeto-ui-w-full",
763
- children: selectedMember ? /*#__PURE__*/jsxRuntime.jsx(Input__default.default, {
764
- "data-testid": "ntm-manage-member-email-input",
765
- name: "emails",
766
- size: "medium",
767
- type: "email",
768
- value: (_head = ramda.head(emails)) === null || _head === void 0 ? void 0 : _head.value,
769
- label: /*#__PURE__*/jsxRuntime.jsx("span", {
770
- className: "neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between",
771
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
772
- component: "span",
773
- style: "body2",
774
- children: t("neetoTeamMembers.common.email", constants.SINGULAR)
775
- })
776
- }),
777
- onChange: handleInputChange
778
- }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
779
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
780
- className: "flex items-center justify-between pb-2",
781
- children: [/*#__PURE__*/jsxRuntime.jsx(Label__default.default, {
782
- required: true,
783
- children: t("neetoTeamMembers.common.email", constants.PLURAL)
784
- }), isInviteLinkFeatureEnabled && /*#__PURE__*/jsxRuntime.jsx(Button__default.default, {
785
- label: t("neetoTeamMembers.buttons.inviteLink"),
786
- style: "link",
787
- onClick: function onClick() {
788
- return setCurrentPage(RolesRadioGroup.FORM_PAGES.INVITE_LINK);
789
- }
790
- })]
791
- }), /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput__default.default, {
792
- required: true,
793
- counter: RolesRadioGroup.COUNTER_PROPS,
794
- "data-testid": "ntm-manage-member-email-input",
795
- filterInvalidEmails: RolesRadioGroup.FILTER_INVALID_EMAILS,
796
- helpText: t("neetoTeamMembers.helpers.enterMultipleEmails"),
797
- label: "",
798
- name: "emails",
799
- placeholder: t("neetoTeamMembers.placeholders.email"),
800
- ref: innerRef
801
- })]
802
- })
803
- });
804
- };
805
-
806
- var NameInputs = reactUtils.withT(function (_ref) {
807
- var t = _ref.t,
808
- innerRef = _ref.innerRef;
809
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
810
- className: "neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200",
811
- children: [/*#__PURE__*/jsxRuntime.jsx(Input__default.default, {
812
- "data-testid": "ntm-edit-member-first-name-text-field",
813
- label: t("neetoTeamMembers.labels.firstName"),
814
- name: "firstName",
815
- ref: innerRef
816
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default.default, {
817
- "data-testid": "ntm-edit-member-last-name-text-field",
818
- label: t("neetoTeamMembers.labels.lastName"),
819
- name: "lastName"
820
- })]
821
- });
822
- });
823
-
824
- var ProfileSettings = function ProfileSettings(_ref) {
825
- var member = _ref.member,
826
- setFieldValue = _ref.setFieldValue,
827
- isTimezoneFieldDisabled = _ref.isTimezoneFieldDisabled;
828
- var _useTranslation = reactI18next.useTranslation(),
829
- t = _useTranslation.t;
830
- var setFieldValueRef = React.useRef(setFieldValue);
831
- React.useEffect(function () {
832
- setFieldValueRef.current = setFieldValue;
833
- }, [setFieldValue]);
834
- var _useCountries = ProfileImage.useCountries(),
835
- countryDropdownOptions = _useCountries.countryDropdownOptions,
836
- selectedCountryOption = _useCountries.selectedCountryOption,
837
- isFetchingCountriesList = _useCountries.isFetchingCountriesList,
838
- handleCountryChange = _useCountries.handleCountryChange;
839
- var timezoneContainerRef = React.useRef(null);
840
- React.useEffect(function () {
841
- var node = timezoneContainerRef.current;
842
- if (!node) return undefined;
843
- new neetoTimeZones.NeetoTimezoneSelector(node, {
844
- isTimeFormat24H: member.timeFormat === "24h",
845
- className: "w-full z-10",
846
- position: "bottom",
847
- initialValue: member.timeZone,
848
- onChange: function onChange(_ref2) {
849
- var main = _ref2.main;
850
- return setFieldValueRef.current("timeZone", main);
851
- },
852
- disabled: isTimezoneFieldDisabled
853
- });
854
- return function () {
855
- node.innerHTML = "";
856
- };
857
- }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);
858
- React.useEffect(function () {
859
- var country = neetoCist.findBy({
860
- value: member.countryIdentifier
861
- }, countryDropdownOptions);
862
- if (country) handleCountryChange(country);
863
- }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);
864
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
865
- className: "w-full space-y-4",
866
- "data-cy": "ntm-profile-settings",
867
- children: [/*#__PURE__*/jsxRuntime.jsx(Select__default.default, {
868
- "data-cy": "ntm-edit-member-country-select",
869
- isLoading: isFetchingCountriesList,
870
- label: t("neetoTeamMembers.profile.inputs.label.country"),
871
- name: "countryId",
872
- options: countryDropdownOptions,
873
- value: selectedCountryOption,
874
- onChange: function onChange(option) {
875
- var dependentFields = handleCountryChange(option);
876
- setFieldValue("dateFormat", dependentFields === null || dependentFields === void 0 ? void 0 : dependentFields.dateFormat);
877
- setFieldValue("countryId", option === null || option === void 0 ? void 0 : option.value);
878
- }
879
- }), /*#__PURE__*/jsxRuntime.jsx(Select__default.default, {
880
- "data-cy": "ntm-edit-member-language-select",
881
- label: t("neetoTeamMembers.profile.inputs.label.language"),
882
- name: "language",
883
- options: constants.LANGUAGE_OPTIONS,
884
- onChange: function onChange(option) {
885
- return setFieldValue("language", option.value);
886
- }
887
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
888
- className: "space-y-2",
889
- children: [/*#__PURE__*/jsxRuntime.jsx(Label__default.default, {
890
- children: t("neetoTeamMembers.profile.inputs.label.timeZone")
891
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
892
- "data-cy": "ntm-edit-member-timezone-select",
893
- ref: timezoneContainerRef,
894
- className: classnames__default.default("w-full grow", {
895
- "neeto-ui-bg-gray-100 pointer-events-none": isTimezoneFieldDisabled
896
- })
897
- })]
898
- }), /*#__PURE__*/jsxRuntime.jsx(Select__default.default, {
899
- "data-cy": "ntm-edit-member-time-format-select",
900
- label: t("neetoTeamMembers.profile.inputs.label.preferredTimeFormat"),
901
- name: "timeFormat",
902
- options: constants$1.TIME_FORMAT_OPTIONS,
903
- onChange: function onChange(option) {
904
- return setFieldValue("timeFormat", option.value);
905
- }
906
- }), /*#__PURE__*/jsxRuntime.jsx(Select__default.default, {
907
- "data-cy": "ntm-edit-member-date-format-select",
908
- label: t("neetoTeamMembers.profile.inputs.label.preferredDateFormat"),
909
- name: "dateFormat",
910
- options: constants$1.DATE_FORMAT_OPTIONS,
911
- onChange: function onChange(option) {
912
- return setFieldValue("dateFormat", option.value);
913
- }
914
- })]
915
- });
916
- };
917
-
918
- 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; }
919
- 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; }
920
- var ManageMember = function ManageMember(_ref) {
921
- var _manageMemberComponen, _config$additionalFie2;
922
- var config = _ref.config,
923
- onComplete = _ref.onComplete,
924
- _ref$roles = _ref.roles,
925
- roles = _ref$roles === void 0 ? [] : _ref$roles,
926
- _ref$selectedMember = _ref.selectedMember,
927
- selectedMember = _ref$selectedMember === void 0 ? null : _ref$selectedMember,
928
- _ref$componentConfig = _ref.componentConfig,
929
- componentConfig = _ref$componentConfig === void 0 ? {} : _ref$componentConfig;
930
- var _useTranslation = reactI18next.useTranslation(),
931
- t = _useTranslation.t;
932
- var _useState = React.useState(false),
933
- _useState2 = _slicedToArray__default.default(_useState, 2),
934
- isCreationStatusPollingEnabled = _useState2[0],
935
- setIsCreationStatusPollingEnabled = _useState2[1];
936
- var isViewPermissionGranted = config.permissions.view;
937
- var isNotDevelopment = initializers.globalProps.railsEnv !== "development";
938
- var _useFetchMembers = useTeamsApi.useFetchMembers({
939
- enabled: isViewPermissionGranted
940
- }),
941
- team = _useFetchMembers.data;
942
- var _useFetchMember = useTeamsApi.useFetchMember(selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.id, {
943
- enabled: !!selectedMember
944
- }),
945
- memberShowData = _useFetchMember.data,
946
- isMemberDetailLoading = _useFetchMember.isLoading;
947
- var isTimezoneFieldDisabled = selectedMember && memberShowData && !selectedMember.isOwner && !memberShowData.timezoneChangeEnabled;
948
- var _useState3 = React.useState(RolesRadioGroup.FORM_PAGES.MAIN),
949
- _useState4 = _slicedToArray__default.default(_useState3, 2),
950
- currentPage = _useState4[0],
951
- setCurrentPage = _useState4[1];
952
- var formReference = React.useRef(null);
953
- var inputReference = React.useRef(null);
954
- var appListSavedStateReference = React.useRef({
955
- isAppListEnabled: true
956
- });
957
- var shouldSkipAppListPage = React.useRef(false);
958
- var formikValues = React.useRef(null);
959
- var manageMemberComponentConfig = _objectSpread(_objectSpread({}, RolesRadioGroup.DEFAULT_COMPONENT_CONFIG), {}, {
960
- initialFocusRef: inputReference
961
- }, componentConfig);
962
- var Component = RolesRadioGroup.MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || "pane"];
963
- var haveToFetchRoles = ramda.isEmpty(roles) && isViewPermissionGranted;
964
- var isEditForm = !!selectedMember;
965
- var isLastPage = currentPage === RolesRadioGroup.FORM_PAGES.CONFIRMATION || isEditForm;
966
- var _useFetchRoles = index.useFetchRoles({
967
- select: function select(response) {
968
- var _response$organizatio;
969
- return ramda.reverse((_response$organizatio = response.organizationRoles) !== null && _response$organizatio !== void 0 ? _response$organizatio : []);
970
- },
971
- enabled: haveToFetchRoles
972
- }),
973
- _useFetchRoles$data = _useFetchRoles.data,
974
- rolesList = _useFetchRoles$data === void 0 ? roles : _useFetchRoles$data,
975
- isRolesLoading = _useFetchRoles.isLoading;
976
- var _useFetchGlobalRoles = index.useFetchGlobalRoles({
977
- select: function select(response) {
978
- return ramda.groupBy(ramda.prop("appName"), response !== null && response !== void 0 ? response : []);
979
- },
980
- enabled: isNotDevelopment && !selectedMember && isViewPermissionGranted
981
- }),
982
- _useFetchGlobalRoles$ = _useFetchGlobalRoles.data,
983
- globalRoles = _useFetchGlobalRoles$ === void 0 ? {} : _useFetchGlobalRoles$,
984
- isGlobalRolesLoading = _useFetchGlobalRoles.isLoading;
985
- var filteredRoles = getFilteredRoles(rolesList, config);
986
- var _useCreateMember = useTeamsApi.useCreateMember({
987
- onSuccess: function onSuccess() {
988
- return setIsCreationStatusPollingEnabled(true);
989
- }
990
- }),
991
- _useCreateMember$data = _useCreateMember.data,
992
- _useCreateMember$data2 = _useCreateMember$data === void 0 ? {} : _useCreateMember$data,
993
- jobId = _useCreateMember$data2.jobId,
994
- createMember = _useCreateMember.mutate,
995
- isCreatingMember = _useCreateMember.isPending;
996
- var refetchInterval = function refetchInterval(query) {
997
- var _ref2 = query.state.data || {},
998
- isCompleted = _ref2.isCompleted;
999
- if (isCompleted) {
1000
- setIsCreationStatusPollingEnabled(false);
1001
- return false;
1002
- }
1003
- return 2000;
1004
- };
1005
- var _useMembersCreationSt = useTeamsApi.useMembersCreationStatus(jobId, {
1006
- refetchInterval: refetchInterval,
1007
- enabled: isCreationStatusPollingEnabled
1008
- }),
1009
- creationStatus = _useMembersCreationSt.data;
1010
- React.useEffect(function () {
1011
- var _config$createMember;
1012
- var _ref3 = creationStatus || {},
1013
- isCompleted = _ref3.isCompleted,
1014
- isSuccessful = _ref3.isSuccessful,
1015
- users = _ref3.users,
1016
- error = _ref3.error;
1017
- if (!isCompleted) return;
1018
- handleClose();
1019
- config === null || config === void 0 || (_config$createMember = config.createMember) === null || _config$createMember === void 0 || (_config$createMember = _config$createMember.onSuccess) === null || _config$createMember === void 0 || _config$createMember.callback({
1020
- users: users
1021
- });
1022
- if (isSuccessful) {
1023
- utils.showThumbsUpToastr();
1024
- } else {
1025
- Toastr__default.default.error(error);
1026
- }
1027
- useTeamsApi.refetchMembers();
1028
- }, [creationStatus]);
1029
- var _useUpdateMember = useTeamsApi.useUpdateMember({
1030
- onSuccess: function onSuccess() {
1031
- var _config$updateMember;
1032
- handleClose(true);
1033
- config === null || config === void 0 || (_config$updateMember = config.updateMember) === null || _config$updateMember === void 0 || (_config$updateMember = _config$updateMember.onSuccess) === null || _config$updateMember === void 0 || _config$updateMember.callback();
1034
- }
1035
- }),
1036
- updateMember = _useUpdateMember.mutate,
1037
- isUpdatingMember = _useUpdateMember.isPending;
1038
- var hasRoleChanged = function hasRoleChanged(_ref4) {
1039
- var submitted = _ref4.submitted,
1040
- values = _ref4.values;
1041
- return submitted && (values === null || values === void 0 ? void 0 : values.role) !== (selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.role);
1042
- };
1043
- var handleClose = function handleClose() {
1044
- var submitted = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1045
- onComplete({
1046
- submitted: hasRoleChanged({
1047
- submitted: submitted,
1048
- values: formikValues.current
1049
- })
1050
- });
1051
- setCurrentPage(RolesRadioGroup.FORM_PAGES.MAIN);
1052
- appListSavedStateReference.current = {
1053
- isAppListEnabled: true
1054
- };
1055
- setIsCreationStatusPollingEnabled(false);
1056
- };
1057
- var _useProfileImageUploa = hooks.useProfileImageUpload({
1058
- uploadConfig: {
1059
- folder: "Auth",
1060
- customMetadata: {
1061
- appName: "neetoAuth"
1062
- }
1063
- }
1064
- }),
1065
- uploadImage = _useProfileImageUploa.uploadImage,
1066
- isUploading = _useProfileImageUploa.isUploading;
1067
- var handleUploadImage = /*#__PURE__*/function () {
1068
- var _ref5 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee(image) {
1069
- var result, didUpload;
1070
- return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
1071
- while (1) switch (_context.prev = _context.next) {
1072
- case 0:
1073
- didUpload = false;
1074
- _context.next = 3;
1075
- return uploadImage(image, function (uploadedImageData) {
1076
- didUpload = true;
1077
- result = uploadedImageData;
1078
- });
1079
- case 3:
1080
- if (didUpload) {
1081
- _context.next = 5;
1082
- break;
1083
- }
1084
- throw new Error(t("neetoTeamMembers.common.imageUploadFailed"));
1085
- case 5:
1086
- return _context.abrupt("return", result);
1087
- case 6:
1088
- case "end":
1089
- return _context.stop();
1090
- }
1091
- }, _callee);
1092
- }));
1093
- return function handleUploadImage(_x) {
1094
- return _ref5.apply(this, arguments);
1095
- };
1096
- }();
1097
- var isProcessing = isCreatingMember || isUpdatingMember || isUploading || isRolesLoading || isGlobalRolesLoading || isMemberDetailLoading;
1098
- var handleAddMember = /*#__PURE__*/function () {
1099
- var _ref6 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee2(values) {
1100
- var _values$avatar, payload, _yield$handleUploadIm, fileId, filePath, url;
1101
- return _regeneratorRuntime__default.default.wrap(function _callee2$(_context2) {
1102
- while (1) switch (_context2.prev = _context2.next) {
1103
- case 0:
1104
- if (!selectedMember) {
1105
- _context2.next = 25;
1106
- break;
1107
- }
1108
- payload = RolesRadioGroup.renderPayload(values, selectedMember);
1109
- if (!((_values$avatar = values.avatar) !== null && _values$avatar !== void 0 && _values$avatar.file)) {
1110
- _context2.next = 22;
1111
- break;
1112
- }
1113
- if (!payload.profile) payload.profile = {};
1114
- if (!(values.avatar.file === "_destroy")) {
1115
- _context2.next = 8;
1116
- break;
1117
- }
1118
- payload.profile.avatar = {
1119
- fileId: "_destroy",
1120
- filePath: "",
1121
- url: ""
1122
- };
1123
- _context2.next = 22;
1124
- break;
1125
- case 8:
1126
- _context2.prev = 8;
1127
- _context2.next = 11;
1128
- return handleUploadImage(values.avatar.file);
1129
- case 11:
1130
- _yield$handleUploadIm = _context2.sent;
1131
- fileId = _yield$handleUploadIm.fileId;
1132
- filePath = _yield$handleUploadIm.filePath;
1133
- url = _yield$handleUploadIm.url;
1134
- payload.profile.avatar = {
1135
- fileId: fileId,
1136
- filePath: filePath,
1137
- url: url
1138
- };
1139
- _context2.next = 22;
1140
- break;
1141
- case 18:
1142
- _context2.prev = 18;
1143
- _context2.t0 = _context2["catch"](8);
1144
- Toastr__default.default.error(_context2.t0.message);
1145
- return _context2.abrupt("return");
1146
- case 22:
1147
- updateMember({
1148
- id: selectedMember.id,
1149
- payload: payload
1150
- });
1151
- _context2.next = 26;
1152
- break;
1153
- case 25:
1154
- createMember(RolesRadioGroup.renderPayload(values));
1155
- case 26:
1156
- case "end":
1157
- return _context2.stop();
1158
- }
1159
- }, _callee2, null, [[8, 18]]);
1160
- }));
1161
- return function handleAddMember(_x2) {
1162
- return _ref6.apply(this, arguments);
1163
- };
1164
- }();
1165
- var handleOnSubmit = /*#__PURE__*/function () {
1166
- var _ref8 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee3(values, _ref7) {
1167
- var setSubmitting;
1168
- return _regeneratorRuntime__default.default.wrap(function _callee3$(_context3) {
1169
- while (1) switch (_context3.prev = _context3.next) {
1170
- case 0:
1171
- setSubmitting = _ref7.setSubmitting;
1172
- shouldSkipAppListPage.current = ramda.isEmpty(values.appRoles);
1173
- if (!isLastPage) {
1174
- _context3.next = 7;
1175
- break;
1176
- }
1177
- _context3.next = 5;
1178
- return handleAddMember(values);
1179
- case 5:
1180
- _context3.next = 8;
1181
- break;
1182
- case 7:
1183
- if (currentPage === RolesRadioGroup.FORM_PAGES.APP_LIST || shouldSkipAppListPage.current) {
1184
- setCurrentPage(RolesRadioGroup.FORM_PAGES.CONFIRMATION);
1185
- setSubmitting(false);
1186
- } else if (currentPage === RolesRadioGroup.FORM_PAGES.MAIN) {
1187
- setCurrentPage(RolesRadioGroup.FORM_PAGES.APP_LIST);
1188
- setSubmitting(false);
1189
- }
1190
- case 8:
1191
- case "end":
1192
- return _context3.stop();
1193
- }
1194
- }, _callee3);
1195
- }));
1196
- return function handleOnSubmit(_x3, _x4) {
1197
- return _ref8.apply(this, arguments);
1198
- };
1199
- }();
1200
- var handleBackButton = function handleBackButton() {
1201
- if (currentPage === RolesRadioGroup.FORM_PAGES.APP_LIST || shouldSkipAppListPage.current || currentPage === RolesRadioGroup.FORM_PAGES.INVITE_LINK) {
1202
- setCurrentPage(RolesRadioGroup.FORM_PAGES.MAIN);
1203
- } else if (currentPage === RolesRadioGroup.FORM_PAGES.CONFIRMATION) {
1204
- setCurrentPage(RolesRadioGroup.FORM_PAGES.APP_LIST);
1205
- }
1206
- };
1207
- var getTitle = function getTitle() {
1208
- var memberLabel = initializers.taxonomies.member.singular;
1209
- if (selectedMember) {
1210
- return t("neetoTeamMembers.common.edit_", {
1211
- what: memberLabel
1212
- });
1213
- }
1214
- return currentPage === RolesRadioGroup.FORM_PAGES.INVITE_LINK ? t("neetoTeamMembers.common.inviteViaLink") : t("neetoTeamMembers.common.addNew_", {
1215
- what: memberLabel
1216
- });
1217
- };
1218
- var renderRolesRadioGroup = function renderRolesRadioGroup(role) {
1219
- return /*#__PURE__*/jsxRuntime.jsx("div", {
1220
- className: "pt-4 border-t neeto-ui-border-gray-200 w-full",
1221
- children: /*#__PURE__*/jsxRuntime.jsx(RolesRadioGroup.RolesRadioGroup, {
1222
- config: config,
1223
- globalRoles: globalRoles,
1224
- role: role,
1225
- isEdit: !!selectedMember,
1226
- roles: filteredRoles
1227
- })
1228
- });
1229
- };
1230
- var renderFormPage = function renderFormPage(page, emails, role, setFieldValue) {
1231
- var _config$additionalFie;
1232
- switch (page) {
1233
- case RolesRadioGroup.FORM_PAGES.MAIN:
1234
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1235
- children: [selectedMember && /*#__PURE__*/jsxRuntime.jsx(ProfileImage.ProfileImage, {}), selectedMember && /*#__PURE__*/jsxRuntime.jsx(NameInputs, {
1236
- innerRef: inputReference
1237
- }), /*#__PURE__*/jsxRuntime.jsx(MultipleEmailInput, {
1238
- emails: emails,
1239
- selectedMember: selectedMember,
1240
- setCurrentPage: setCurrentPage,
1241
- innerRef: inputReference
1242
- }), selectedMember && /*#__PURE__*/jsxRuntime.jsx(ProfileSettings, {
1243
- isTimezoneFieldDisabled: isTimezoneFieldDisabled,
1244
- setFieldValue: setFieldValue,
1245
- member: selectedMember
1246
- }), renderRolesRadioGroup(role), (_config$additionalFie = config.additionalFields) === null || _config$additionalFie === void 0 ? void 0 : _config$additionalFie.component]
1247
- });
1248
- case RolesRadioGroup.FORM_PAGES.APP_LIST:
1249
- return /*#__PURE__*/jsxRuntime.jsx(AppList, {
1250
- globalRoles: globalRoles,
1251
- savedStateRef: appListSavedStateReference
1252
- });
1253
- case RolesRadioGroup.FORM_PAGES.CONFIRMATION:
1254
- return /*#__PURE__*/jsxRuntime.jsx(Confirmation, {});
1255
- case RolesRadioGroup.FORM_PAGES.INVITE_LINK:
1256
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1257
- children: [/*#__PURE__*/jsxRuntime.jsx(InviteLink$1, {
1258
- roles: filteredRoles
1259
- }), renderRolesRadioGroup(role)]
1260
- });
1261
- default:
1262
- return null;
1263
- }
1264
- };
1265
- return /*#__PURE__*/jsxRuntime.jsxs(Component, {
1266
- className: manageMemberComponentConfig.className,
1267
- "data-testid": "ntm-manage-members-pane-wrapper",
1268
- initialFocusRef: manageMemberComponentConfig.initialFocusRef,
1269
- isOpen: manageMemberComponentConfig.isOpen,
1270
- onClose: function onClose() {
1271
- return handleClose(false);
1272
- },
1273
- children: [/*#__PURE__*/jsxRuntime.jsxs(Component.Header, _objectSpread(_objectSpread({}, manageMemberComponentConfig.headerProps), {}, {
1274
- className: classnames__default.default([{
1275
- "ntm-manage-members__header": currentPage !== RolesRadioGroup.FORM_PAGES.MAIN
1276
- }, (_manageMemberComponen = manageMemberComponentConfig.headerProps) === null || _manageMemberComponen === void 0 ? void 0 : _manageMemberComponen.className]),
1277
- children: [currentPage !== RolesRadioGroup.FORM_PAGES.MAIN && /*#__PURE__*/jsxRuntime.jsx(Button__default.default, {
1278
- "aria-label": "Back",
1279
- icon: LeftArrow__default.default,
1280
- size: "medium",
1281
- style: "text",
1282
- tooltipProps: {
1283
- content: t("neetoTeamMembers.buttons.back"),
1284
- position: "bottom"
1285
- },
1286
- onClick: handleBackButton
1287
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
1288
- className: "ntm-members-form__header",
1289
- "data-testid": "ntm-manage-members-pane-header",
1290
- style: "h2",
1291
- weight: "semibold",
1292
- children: getTitle()
1293
- }), selectedMember && /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
1294
- className: "neeto-ui-text-gray-600",
1295
- style: "body2",
1296
- children: t("neetoTeamMembers.helpers.editPaneSubtitle")
1297
- })]
1298
- })), /*#__PURE__*/jsxRuntime.jsx(Form__default.default, {
1299
- ref: formReference,
1300
- formikProps: {
1301
- enableReinitialize: true,
1302
- initialValues: RolesRadioGroup.renderInitialValues({
1303
- additionalFieldsInitialValues: (_config$additionalFie2 = config.additionalFields) === null || _config$additionalFie2 === void 0 ? void 0 : _config$additionalFie2.initialValues,
1304
- globalRoles: globalRoles,
1305
- roles: filteredRoles,
1306
- selectedMember: selectedMember
1307
- }),
1308
- onSubmit: handleOnSubmit,
1309
- validationSchema: RolesRadioGroup.buildValidationSchema(_objectSpread({
1310
- selectedMember: selectedMember
1311
- }, team))
1312
- },
1313
- children: function children(_ref9) {
1314
- var _manageMemberComponen2, _manageMemberComponen3;
1315
- var values = _ref9.values,
1316
- isValid = _ref9.isValid,
1317
- dirty = _ref9.dirty,
1318
- setFieldValue = _ref9.setFieldValue;
1319
- var emails = values.emails,
1320
- role = values.role;
1321
- formikValues.current = values;
1322
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1323
- children: [/*#__PURE__*/jsxRuntime.jsx(index.ScrollToErrorField, {
1324
- formRef: formReference
1325
- }), /*#__PURE__*/jsxRuntime.jsxs(Component.Body, _objectSpread(_objectSpread({}, manageMemberComponentConfig.bodyProps), {}, {
1326
- className: classnames__default.default(["ntm-members-form__body", (_manageMemberComponen2 = manageMemberComponentConfig.bodyProps) === null || _manageMemberComponen2 === void 0 ? void 0 : _manageMemberComponen2.className]),
1327
- children: [isCreationStatusPollingEnabled && /*#__PURE__*/jsxRuntime.jsxs(Callout__default.default, {
1328
- className: "w-full",
1329
- icon: Info__default.default,
1330
- style: "info",
1331
- children: [/*#__PURE__*/jsxRuntime.jsx(Spinner__default.default, {
1332
- size: "small"
1333
- }), t("neetoTeamMembers.helpers.memberCreationStatus", {
1334
- count: emails.length
1335
- })]
1336
- }), renderFormPage(currentPage, emails, role, setFieldValue)]
1337
- })), currentPage !== RolesRadioGroup.FORM_PAGES.INVITE_LINK && /*#__PURE__*/jsxRuntime.jsx(Component.Footer, _objectSpread(_objectSpread({}, manageMemberComponentConfig.footerProps), {}, {
1338
- className: classnames__default.default(["ntm-members-form__footer", (_manageMemberComponen3 = manageMemberComponentConfig.footerProps) === null || _manageMemberComponen3 === void 0 ? void 0 : _manageMemberComponen3.className]),
1339
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default.default, {
1340
- cancelButtonProps: {
1341
- "data-testid": "ntm-manage-member-cancel-button",
1342
- onClick: function onClick() {
1343
- return handleClose(false);
1344
- }
1345
- },
1346
- isSubmitting: isProcessing || isCreationStatusPollingEnabled,
1347
- submitButtonProps: {
1348
- "data-testid": isLastPage ? "ntm-manage-member-submit-button" : "ntm-manage-member-continue-button",
1349
- label: isLastPage ? t("neetoTeamMembers.buttons.saveChanges") : t("neetoTeamMembers.buttons.continue"),
1350
- disabled: !isValid || isProcessing || !dirty || isCreationStatusPollingEnabled
1351
- }
1352
- })
1353
- }))]
1354
- });
1355
- }
1356
- })]
1357
- });
1358
- };
1359
-
1360
- exports.DEFAULT_FILTER_VALUES = DEFAULT_FILTER_VALUES;
1361
- exports.DEFAULT_IS_OPEN_VALUES = DEFAULT_IS_OPEN_VALUES;
1362
- exports.DEFAULT_RADIX = DEFAULT_RADIX;
1363
- exports.DEFAULT_SELECTED_ROWS = DEFAULT_SELECTED_ROWS;
1364
- exports.ManageMember = ManageMember;
1365
- exports.buildFilterColumns = buildFilterColumns;
1366
- exports.defaultNeetoFiltersColumns = defaultNeetoFiltersColumns;
1367
- exports.generateNoDataContent = generateNoDataContent;
1368
- exports.getColumnData = getColumnData;
1369
- exports.getFilteredRoles = getFilteredRoles;
1370
- exports.handlePageChange = handlePageChange;
1371
- exports.renderPaginationProps = renderPaginationProps;
1372
- exports.renderUpdateAlert = renderUpdateAlert;
1373
- //# sourceMappingURL=index-DTONHIze.js.map