@bigbinary/neeto-team-members-frontend 5.0.41 → 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 +38 -140
  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 +18 -35
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -86
  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 +42 -192
  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-CmsTaBay.js → index-BHZSKqUU.js} +248 -365
  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-DvkCYQ7m.js → index-BjyZ-9G_.js} +244 -356
  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 +31 -132
  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 +13 -30
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -66
  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 +39 -188
  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 +14 -14
  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-CmsTaBay.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-Dus0cbgo.js.map +0 -1
  194. package/dist/index-DvkCYQ7m.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,61 +1,999 @@
1
- import '@babel/runtime/helpers/asyncToGenerator';
2
- import '@babel/runtime/helpers/defineProperty';
3
- import '@babel/runtime/helpers/slicedToArray';
4
- import '@babel/runtime/regenerator';
5
- import 'react';
6
- import 'classnames';
7
- import '@bigbinary/neeto-commons-frontend/initializers';
8
- import '@bigbinary/neeto-commons-frontend/utils';
9
- import '@bigbinary/neeto-icons/Info';
10
- import '@bigbinary/neeto-icons/LeftArrow';
11
- import '@bigbinary/neeto-image-uploader-frontend/hooks';
12
- import '@bigbinary/neetoui/Button';
13
- import '@bigbinary/neetoui/Typography';
14
- import '@bigbinary/neetoui/Toastr';
15
- import '@bigbinary/neetoui/Callout';
16
- import '@bigbinary/neetoui/Spinner';
17
- import '@bigbinary/neetoui/formik/ActionBlock';
18
- import '@bigbinary/neetoui/formik/Form';
19
- import 'ramda';
20
- import 'react-i18next';
21
- import './index-D_GBFQ6T.js';
22
- import './ProfileImage-Ypf3HreX.js';
23
- import './useTeamsApi-DH-TbrNP.js';
24
- export { M as default } from './index-DFFRcH_S.js';
25
- import './RolesRadioGroup-D4u3nHq2.js';
26
- import 'react/jsx-runtime';
27
- import '@babel/runtime/helpers/objectWithoutProperties';
1
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
5
+ import { useState, useEffect, useRef } from 'react';
6
+ import classnames from 'classnames';
7
+ import { globalProps, taxonomies } from '@bigbinary/neeto-commons-frontend/initializers';
8
+ import { showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/utils';
9
+ import Info from '@bigbinary/neeto-icons/Info';
10
+ import LeftArrow from '@bigbinary/neeto-icons/LeftArrow';
11
+ import { useProfileImageUpload } from '@bigbinary/neeto-image-uploader-frontend/hooks';
12
+ import Button from '@bigbinary/neetoui/Button';
13
+ import Typography from '@bigbinary/neetoui/Typography';
14
+ import Toastr from '@bigbinary/neetoui/Toastr';
15
+ import Callout from '@bigbinary/neetoui/Callout';
16
+ import Spinner from '@bigbinary/neetoui/Spinner';
17
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
18
+ import Form from '@bigbinary/neetoui/formik/Form';
19
+ import { pluck, not, isEmpty, head, reverse, groupBy, prop } from 'ramda';
20
+ import { useTranslation, Trans } from 'react-i18next';
21
+ import { S as ScrollToErrorField } from './index-BISwUwuE.js';
22
+ import { u as useCountries, a as ProfileImage } from './ProfileImage-EB117DPX.js';
23
+ import { u as useFetchRoles, a as useFetchGlobalRoles } from './useRolesApi-93OoRU1s.js';
24
+ import { u as useFetchMembers, c as useFetchMember, d as useCreateMember, e as useMembersCreationStatus, r as refetchMembers, f as useUpdateMember } from './useTeamsApi-BXvhKbyp.js';
25
+ import { n } from './inject-css-C2dztUxs.js';
26
+ import { useFormikContext } from 'formik';
27
+ import { toLabelAndValue, filterBy, findBy } from '@bigbinary/neeto-cist';
28
+ import Checkbox from '@bigbinary/neetoui/Checkbox';
29
+ import Tooltip from '@bigbinary/neetoui/Tooltip';
30
+ import Select from '@bigbinary/neetoui/formik/Select';
31
+ import Switch from '@bigbinary/neetoui/formik/Switch';
32
+ import { N as NEETO_AUTH_MANAGE_PRODUCT_URL, g as getSingleInvitationTranslationProps, a as getInviteURL, r as remainingExpiryDays, F as FORM_PAGES, b as FILTER_INVALID_EMAILS, C as COUNTER_PROPS, E as EMAIL_REGEX, D as DEFAULT_COMPONENT_CONFIG, M as MEMBERS_FORM_COMPONENT_MAPPER, c as buildValidationSchema, d as renderInitialValues, e as renderPayload, R as RolesRadioGroup } from './RolesRadioGroup-D4u3nHq2.js';
33
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
34
+ import { SINGULAR, PLURAL, LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/constants';
35
+ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
36
+ import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
37
+ import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
38
+ import Dropdown from '@bigbinary/neetoui/Dropdown';
39
+ import { u as useCreateInviteLinks, a as useRegenerateInviteLink, b as useFetchInviteLinks } from './useInviteLinksApi-gn-AP0Yx.js';
40
+ import Label from '@bigbinary/neetoui/Label';
41
+ import MultiEmailInput from '@bigbinary/neetoui/formik/MultiEmailInput';
42
+ import Input from '@bigbinary/neetoui/formik/Input';
43
+ import { isNeetoAuthApp } from './utils.js';
44
+ import { NeetoTimezoneSelector } from '@bigbinary/neeto-time-zones';
45
+ import { T as TIME_FORMAT_OPTIONS, D as DATE_FORMAT_OPTIONS } from './constants-CXdiW8NZ.js';
46
+ import { g as getFilteredRoles } from './utils-3WlshQ9e.js';
47
+ import '@babel/runtime/helpers/toConsumableArray';
48
+ import './useCountriesApi-DK00167T.js';
28
49
  import '@tanstack/react-query';
29
- import '@bigbinary/neeto-cist';
30
- import '@bigbinary/neeto-commons-frontend/react-utils';
31
50
  import 'axios';
32
- import './constants-CXdiW8NZ.js';
33
- import 'i18next';
34
- import '@bigbinary/neeto-commons-frontend/constants';
35
- import '@babel/runtime/helpers/toConsumableArray';
36
- import 'formik';
37
51
  import '@bigbinary/neeto-icons/Edit';
38
52
  import '@bigbinary/neetoui/Avatar';
39
- import '@bigbinary/neetoui/Dropdown';
53
+ import 'i18next';
40
54
  import 'yup';
55
+ import '@babel/runtime/helpers/objectWithoutProperties';
41
56
  import 'qs';
42
57
  import './queryClient-Dsu-gu4Y.js';
43
- import './inject-css-C2dztUxs.js';
44
- import '@bigbinary/neetoui/Checkbox';
45
- import '@bigbinary/neetoui/Tooltip';
46
- import '@bigbinary/neetoui/formik/Select';
47
- import '@bigbinary/neetoui/formik/Switch';
48
- import '@bigbinary/neeto-icons/MenuHorizontal';
49
- import '@bigbinary/neeto-molecules/CopyToClipboardButton';
50
- import '@bigbinary/neetoui/Label';
51
- import '@bigbinary/neetoui/formik/MultiEmailInput';
52
- import '@bigbinary/neetoui/formik/Input';
53
- import './utils.js';
54
- import './pluralize-BoSEafiC.js';
55
- import './_commonjsHelpers-BFTU3MAI.js';
56
- import '@bigbinary/neeto-time-zones';
57
- import '@bigbinary/neeto-molecules/MoreDropdown';
58
58
  import '@bigbinary/neetoui/formik/Radio';
59
59
  import '@bigbinary/neetoui/Pane';
60
60
  import '@bigbinary/neetoui/Modal';
61
+ import './_commonjsHelpers-BFTU3MAI.js';
62
+ import '@bigbinary/neeto-molecules/MoreDropdown';
63
+
64
+ 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== */";
65
+ n(css,{});
66
+
67
+ var AppList = function AppList(_ref) {
68
+ var _globalProps$user;
69
+ var globalRoles = _ref.globalRoles,
70
+ savedStateRef = _ref.savedStateRef;
71
+ var _useTranslation = useTranslation(),
72
+ t = _useTranslation.t;
73
+ var _useState = useState(savedStateRef.current.isAppListEnabled),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ isAppListEnabled = _useState2[0],
76
+ setIsAppListEnabled = _useState2[1];
77
+ var _useFormikContext = useFormikContext(),
78
+ _useFormikContext$val = _useFormikContext.values,
79
+ _useFormikContext$val2 = _useFormikContext$val.emails,
80
+ emails = _useFormikContext$val2 === void 0 ? [] : _useFormikContext$val2,
81
+ _useFormikContext$val3 = _useFormikContext$val.appRoles,
82
+ appRoles = _useFormikContext$val3 === void 0 ? [] : _useFormikContext$val3,
83
+ setFieldValue = _useFormikContext.setFieldValue;
84
+ var selectedEmail = pluck("value", emails);
85
+ var isManageProductsLinkEnabled = ((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.isOwner) && Object.keys(globalRoles).length >= 3;
86
+ useEffect(function () {
87
+ if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {
88
+ appRoles === null || appRoles === void 0 || appRoles.forEach(function (appRole, index) {
89
+ var _globalProps$appName;
90
+ if ((appRole === null || appRole === void 0 ? void 0 : appRole.appName) === ((_globalProps$appName = globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
91
+ setFieldValue("appRoles[".concat(index, "].isEnabled"), true);
92
+ return;
93
+ }
94
+ setFieldValue("appRoles[".concat(index, "].isEnabled"), isAppListEnabled);
95
+ });
96
+ }
97
+ savedStateRef.current.isAppListEnabled = isAppListEnabled;
98
+ }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps
99
+
100
+ var buildRoleOptions = function buildRoleOptions(roles) {
101
+ return roles.map(function (role) {
102
+ return toLabelAndValue(role.name);
103
+ });
104
+ };
105
+ return /*#__PURE__*/jsxs("div", {
106
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6",
107
+ children: [/*#__PURE__*/jsxs("div", {
108
+ className: "neeto-ui-w-full space-y-3",
109
+ children: [/*#__PURE__*/jsx(Checkbox, {
110
+ checked: isAppListEnabled,
111
+ className: "ntm-manage-members__checkbox-align-start",
112
+ "data-testid": "ntm-manage-members-app-list-checkbox",
113
+ label: /*#__PURE__*/jsx(Typography, {
114
+ component: "span",
115
+ lineHeight: "relaxed",
116
+ style: "body2",
117
+ children: /*#__PURE__*/jsx(Trans, {
118
+ i18nKey: "neetoTeamMembers.helpers.addMembersToNeetoProducts",
119
+ values: {
120
+ emails: selectedEmail
121
+ }
122
+ })
123
+ }),
124
+ onChange: function onChange() {
125
+ return setIsAppListEnabled(not);
126
+ }
127
+ }), isManageProductsLinkEnabled && /*#__PURE__*/jsx(Typography, {
128
+ style: "body2",
129
+ children: /*#__PURE__*/jsx(Trans, {
130
+ i18nKey: "neetoTeamMembers.helpers.manageProducts",
131
+ components: {
132
+ button: /*#__PURE__*/jsx(Button, {
133
+ href: NEETO_AUTH_MANAGE_PRODUCT_URL,
134
+ style: "link"
135
+ })
136
+ }
137
+ })
138
+ })]
139
+ }), /*#__PURE__*/jsx("div", {
140
+ className: "neeto-ui-w-full",
141
+ children: appRoles.map(function (_ref2, index) {
142
+ var _globalProps$appName2;
143
+ var appName = _ref2.appName,
144
+ isEnabled = _ref2.isEnabled;
145
+ var isCurrentApp = appName === ((_globalProps$appName2 = globalProps.appName) === null || _globalProps$appName2 === void 0 ? void 0 : _globalProps$appName2.substring(5));
146
+ var isAppRoleSelectionChecked = isCurrentApp || isEnabled;
147
+ return /*#__PURE__*/jsxs("div", {
148
+ className: "ntm-manage-members__app-roles",
149
+ children: [/*#__PURE__*/jsx(Tooltip, {
150
+ content: t("neetoTeamMembers.tooltips.hostAppIsRequired"),
151
+ disabled: !isCurrentApp,
152
+ position: "left",
153
+ children: /*#__PURE__*/jsx("span", {
154
+ children: /*#__PURE__*/jsx(Switch, {
155
+ checked: isAppRoleSelectionChecked,
156
+ disabled: isCurrentApp,
157
+ name: "appsRoles[".concat(index, "].isEnabled"),
158
+ label: t("neetoTeamMembers.labels.neeto_", {
159
+ product: appName
160
+ }),
161
+ onChange: function onChange(_ref3) {
162
+ var target = _ref3.target;
163
+ setFieldValue("appRoles[".concat(index, "].isEnabled"), target.checked);
164
+ }
165
+ })
166
+ })
167
+ }), /*#__PURE__*/jsx(Tooltip, {
168
+ content: t("neetoTeamMembers.tooltips.goBackToChangeRole"),
169
+ disabled: !isCurrentApp,
170
+ position: "top",
171
+ children: /*#__PURE__*/jsx("span", {
172
+ className: "ntm-manage-members-app-roles__select-wrapper",
173
+ children: /*#__PURE__*/jsx(Select, {
174
+ dataTestid: "ntm-manage-members-app-roles",
175
+ isDisabled: isCurrentApp || !isEnabled,
176
+ name: "appRoles[".concat(index, "].activeRole"),
177
+ options: buildRoleOptions(globalRoles[appName]),
178
+ size: "small",
179
+ strategy: "fixed",
180
+ onChange: function onChange(_ref4) {
181
+ var value = _ref4.value;
182
+ setFieldValue("appRoles[".concat(index, "].activeRole"), value);
183
+ }
184
+ })
185
+ })
186
+ })]
187
+ }, appName);
188
+ })
189
+ })]
190
+ });
191
+ };
192
+
193
+ var Confirmation = function Confirmation() {
194
+ var _globalProps$organiza;
195
+ var _useTranslation = useTranslation(),
196
+ t = _useTranslation.t;
197
+ var _useFormikContext = useFormikContext(),
198
+ _useFormikContext$val = _useFormikContext.values,
199
+ emails = _useFormikContext$val.emails,
200
+ role = _useFormikContext$val.role,
201
+ appRoles = _useFormikContext$val.appRoles;
202
+ var selectedEmail = pluck("value", emails);
203
+ var activeAppRoles = filterBy({
204
+ isEnabled: true
205
+ }, appRoles);
206
+ return activeAppRoles.length > 1 ? /*#__PURE__*/jsxs("div", {
207
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6",
208
+ children: [/*#__PURE__*/jsx("div", {
209
+ className: "neeto-ui-w-full",
210
+ children: /*#__PURE__*/jsx(Typography, {
211
+ component: "span",
212
+ lineHeight: "relaxed",
213
+ style: "body2",
214
+ children: /*#__PURE__*/jsx(Trans, {
215
+ i18nKey: "neetoTeamMembers.helpers.multipleProductInvitation",
216
+ values: {
217
+ count: selectedEmail.length,
218
+ emails: selectedEmail,
219
+ orgName: (_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.name
220
+ }
221
+ })
222
+ })
223
+ }), /*#__PURE__*/jsxs("table", {
224
+ className: "neeto-ui-w-full ntm-product-roles-table",
225
+ children: [/*#__PURE__*/jsx("thead", {
226
+ children: /*#__PURE__*/jsxs("tr", {
227
+ children: [/*#__PURE__*/jsx("th", {
228
+ children: t("neetoTeamMembers.common.productName")
229
+ }), /*#__PURE__*/jsx("th", {
230
+ children: t("neetoTeamMembers.common.role", SINGULAR)
231
+ })]
232
+ })
233
+ }), /*#__PURE__*/jsx("tbody", {
234
+ children: activeAppRoles.map(function (_ref) {
235
+ var appName = _ref.appName,
236
+ activeRole = _ref.activeRole;
237
+ return /*#__PURE__*/jsxs("tr", {
238
+ children: [/*#__PURE__*/jsx("td", {
239
+ children: /*#__PURE__*/jsx(Typography, {
240
+ component: "span",
241
+ lineHeight: "relaxed",
242
+ style: "body2",
243
+ children: t("neetoTeamMembers.labels.neeto_", {
244
+ product: appName
245
+ })
246
+ })
247
+ }), /*#__PURE__*/jsx("td", {
248
+ children: /*#__PURE__*/jsx(Typography, {
249
+ component: "span",
250
+ lineHeight: "relaxed",
251
+ style: "body2",
252
+ children: activeRole
253
+ })
254
+ })]
255
+ }, appName);
256
+ })
257
+ })]
258
+ })]
259
+ }) : /*#__PURE__*/jsx(Typography, {
260
+ component: "span",
261
+ lineHeight: "relaxed",
262
+ style: "body2",
263
+ children: /*#__PURE__*/jsx(Trans, {
264
+ i18nKey: "neetoTeamMembers.helpers.singleProductInvitation",
265
+ values: getSingleInvitationTranslationProps({
266
+ activeAppRoles: activeAppRoles,
267
+ role: role,
268
+ selectedEmail: selectedEmail
269
+ })
270
+ })
271
+ });
272
+ };
273
+
274
+ var Menu = Dropdown.Menu,
275
+ MenuItem = Dropdown.MenuItem;
276
+ var MenuItemButton = MenuItem.Button;
277
+ var InviteLink$1 = function InviteLink(_ref) {
278
+ var _inviteLinks$, _inviteLinks$2, _inviteLinks$3, _inviteLinks$4, _inviteLinks$5, _inviteLinks$6;
279
+ var t = _ref.t,
280
+ roles = _ref.roles;
281
+ var _useCreateInviteLinks = useCreateInviteLinks(),
282
+ createInviteLink = _useCreateInviteLinks.mutate,
283
+ isCreateLinkPending = _useCreateInviteLinks.isPending;
284
+ var _useRegenerateInviteL = useRegenerateInviteLink(),
285
+ regenerateLink = _useRegenerateInviteL.mutate;
286
+ var _useFetchInviteLinks = useFetchInviteLinks(),
287
+ _useFetchInviteLinks$ = _useFetchInviteLinks.data,
288
+ _useFetchInviteLinks$2 = _useFetchInviteLinks$ === void 0 ? {} : _useFetchInviteLinks$,
289
+ _useFetchInviteLinks$3 = _useFetchInviteLinks$2.inviteLinks,
290
+ inviteLinks = _useFetchInviteLinks$3 === void 0 ? [] : _useFetchInviteLinks$3,
291
+ isFetchLinkLoading = _useFetchInviteLinks.isLoading;
292
+ var _useFormikContext = useFormikContext(),
293
+ values = _useFormikContext.values;
294
+ var isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);
295
+ var handleRegenerate = function handleRegenerate() {
296
+ var _findBy = findBy({
297
+ name: values.role
298
+ }, roles),
299
+ roleId = _findBy.id;
300
+ if (isEmpty(inviteLinks)) {
301
+ createInviteLink({
302
+ organizationRoleId: roleId
303
+ });
304
+ return;
305
+ }
306
+ regenerateLink({
307
+ inviteLinkId: inviteLinks[0].id,
308
+ payload: {
309
+ organizationRoleId: roleId
310
+ }
311
+ });
312
+ };
313
+ if (isFetchLinkLoading || isCreateLinkPending) {
314
+ return /*#__PURE__*/jsx("div", {
315
+ className: "neeto-ui-w-full flex justify-center items-center",
316
+ children: /*#__PURE__*/jsx(Spinner, {
317
+ size: "large"
318
+ })
319
+ });
320
+ }
321
+ return /*#__PURE__*/jsxs("div", {
322
+ className: "neeto-ui-w-full space-y-2",
323
+ children: [/*#__PURE__*/jsxs("div", {
324
+ className: "flex items-center gap-2 pt-1",
325
+ children: [/*#__PURE__*/jsxs("div", {
326
+ 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",
327
+ children: [/*#__PURE__*/jsx("div", {
328
+ className: "relative min-w-0 grow truncate p-2 leading-none",
329
+ children: !isInviteLinkEmpty && getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$ = inviteLinks[0]) === null || _inviteLinks$ === void 0 ? void 0 : _inviteLinks$.token)
330
+ }), isInviteLinkEmpty ? /*#__PURE__*/jsx(Button, {
331
+ className: "rounded-ss-none rounded-es-none",
332
+ label: t("neetoTeamMembers.buttons.generateLink"),
333
+ onClick: handleRegenerate
334
+ }) : /*#__PURE__*/jsx(CopyToClipboardButton, {
335
+ className: "rounded-ss-none rounded-es-none",
336
+ label: t("neetoTeamMembers.buttons.copyLink"),
337
+ value: getInviteURL(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$2 = inviteLinks[0]) === null || _inviteLinks$2 === void 0 ? void 0 : _inviteLinks$2.token)
338
+ })]
339
+ }), !isInviteLinkEmpty && /*#__PURE__*/jsx(Dropdown, {
340
+ buttonProps: {
341
+ className: "shrink-0"
342
+ },
343
+ buttonStyle: "text",
344
+ icon: MenuHorizontal,
345
+ children: /*#__PURE__*/jsx(Menu, {
346
+ children: /*#__PURE__*/jsx(MenuItem, {
347
+ children: /*#__PURE__*/jsx(MenuItemButton, {
348
+ onClick: handleRegenerate,
349
+ children: t("neetoTeamMembers.buttons.regenerateLink")
350
+ })
351
+ })
352
+ })
353
+ })]
354
+ }), /*#__PURE__*/jsx("div", {
355
+ children: !isInviteLinkEmpty && /*#__PURE__*/jsx(Typography, {
356
+ className: "leading-relaxed neeto-ui-text-gray-500",
357
+ style: "body3",
358
+ children: /*#__PURE__*/jsx(Trans, {
359
+ components: {
360
+ strong: /*#__PURE__*/jsx("strong", {})
361
+ },
362
+ i18nKey: "neetoTeamMembers.alerts.messages.inviteLink",
363
+ values: {
364
+ expiryDays: remainingExpiryDays(inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$3 = inviteLinks[0]) === null || _inviteLinks$3 === void 0 ? void 0 : _inviteLinks$3.expiresAt),
365
+ 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,
366
+ inviteLimit: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$5 = inviteLinks[0]) === null || _inviteLinks$5 === void 0 ? void 0 : _inviteLinks$5.inviteLimit,
367
+ appName: globalProps.appName,
368
+ emailDomain: inviteLinks === null || inviteLinks === void 0 || (_inviteLinks$6 = inviteLinks[0]) === null || _inviteLinks$6 === void 0 ? void 0 : _inviteLinks$6.domain
369
+ }
370
+ })
371
+ })
372
+ })]
373
+ });
374
+ };
375
+ var InviteLink = withT(InviteLink$1);
376
+
377
+ var MultipleEmailInput = function MultipleEmailInput(_ref) {
378
+ var _head;
379
+ var _ref$emails = _ref.emails,
380
+ emails = _ref$emails === void 0 ? [] : _ref$emails,
381
+ innerRef = _ref.innerRef,
382
+ _ref$selectedMember = _ref.selectedMember,
383
+ selectedMember = _ref$selectedMember === void 0 ? null : _ref$selectedMember,
384
+ setCurrentPage = _ref.setCurrentPage;
385
+ var isInviteLinkFeatureEnabled = !isNeetoAuthApp();
386
+ var _useTranslation = useTranslation(),
387
+ t = _useTranslation.t;
388
+ var _useFormikContext = useFormikContext(),
389
+ setFieldValue = _useFormikContext.setFieldValue;
390
+ var handleInputChange = function handleInputChange(event) {
391
+ var email = event.target.value;
392
+ var emailList = [{
393
+ label: email,
394
+ value: email,
395
+ valid: EMAIL_REGEX.test(email)
396
+ }];
397
+ setFieldValue("emails", emailList);
398
+ };
399
+ return /*#__PURE__*/jsx("div", {
400
+ className: "neeto-ui-w-full",
401
+ children: selectedMember ? /*#__PURE__*/jsx(Input, {
402
+ "data-testid": "ntm-manage-member-email-input",
403
+ name: "emails",
404
+ size: "medium",
405
+ type: "email",
406
+ value: (_head = head(emails)) === null || _head === void 0 ? void 0 : _head.value,
407
+ label: /*#__PURE__*/jsx("span", {
408
+ className: "neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between",
409
+ children: /*#__PURE__*/jsx(Typography, {
410
+ component: "span",
411
+ style: "body2",
412
+ children: t("neetoTeamMembers.common.email", SINGULAR)
413
+ })
414
+ }),
415
+ onChange: handleInputChange
416
+ }) : /*#__PURE__*/jsxs("div", {
417
+ children: [/*#__PURE__*/jsxs("div", {
418
+ className: "flex items-center justify-between pb-2",
419
+ children: [/*#__PURE__*/jsx(Label, {
420
+ required: true,
421
+ children: t("neetoTeamMembers.common.email", PLURAL)
422
+ }), isInviteLinkFeatureEnabled && /*#__PURE__*/jsx(Button, {
423
+ label: t("neetoTeamMembers.buttons.inviteLink"),
424
+ style: "link",
425
+ onClick: function onClick() {
426
+ return setCurrentPage(FORM_PAGES.INVITE_LINK);
427
+ }
428
+ })]
429
+ }), /*#__PURE__*/jsx(MultiEmailInput, {
430
+ required: true,
431
+ counter: COUNTER_PROPS,
432
+ "data-testid": "ntm-manage-member-email-input",
433
+ filterInvalidEmails: FILTER_INVALID_EMAILS,
434
+ helpText: t("neetoTeamMembers.helpers.enterMultipleEmails"),
435
+ label: "",
436
+ name: "emails",
437
+ placeholder: t("neetoTeamMembers.placeholders.email"),
438
+ ref: innerRef
439
+ })]
440
+ })
441
+ });
442
+ };
443
+
444
+ var NameInputs = withT(function (_ref) {
445
+ var t = _ref.t,
446
+ innerRef = _ref.innerRef;
447
+ return /*#__PURE__*/jsxs("div", {
448
+ className: "neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200",
449
+ children: [/*#__PURE__*/jsx(Input, {
450
+ "data-testid": "ntm-edit-member-first-name-text-field",
451
+ label: t("neetoTeamMembers.labels.firstName"),
452
+ name: "firstName",
453
+ ref: innerRef
454
+ }), /*#__PURE__*/jsx(Input, {
455
+ "data-testid": "ntm-edit-member-last-name-text-field",
456
+ label: t("neetoTeamMembers.labels.lastName"),
457
+ name: "lastName"
458
+ })]
459
+ });
460
+ });
461
+
462
+ var ProfileSettings = function ProfileSettings(_ref) {
463
+ var member = _ref.member,
464
+ setFieldValue = _ref.setFieldValue,
465
+ isTimezoneFieldDisabled = _ref.isTimezoneFieldDisabled;
466
+ var _useTranslation = useTranslation(),
467
+ t = _useTranslation.t;
468
+ var setFieldValueRef = useRef(setFieldValue);
469
+ useEffect(function () {
470
+ setFieldValueRef.current = setFieldValue;
471
+ }, [setFieldValue]);
472
+ var _useCountries = useCountries(),
473
+ countryDropdownOptions = _useCountries.countryDropdownOptions,
474
+ selectedCountryOption = _useCountries.selectedCountryOption,
475
+ isFetchingCountriesList = _useCountries.isFetchingCountriesList,
476
+ handleCountryChange = _useCountries.handleCountryChange;
477
+ var timezoneContainerRef = useRef(null);
478
+ useEffect(function () {
479
+ var node = timezoneContainerRef.current;
480
+ if (!node) return undefined;
481
+ new NeetoTimezoneSelector(node, {
482
+ isTimeFormat24H: member.timeFormat === "24h",
483
+ className: "w-full z-10",
484
+ position: "bottom",
485
+ initialValue: member.timeZone,
486
+ onChange: function onChange(_ref2) {
487
+ var main = _ref2.main;
488
+ return setFieldValueRef.current("timeZone", main);
489
+ },
490
+ disabled: isTimezoneFieldDisabled
491
+ });
492
+ return function () {
493
+ node.innerHTML = "";
494
+ };
495
+ }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);
496
+ useEffect(function () {
497
+ var country = findBy({
498
+ value: member.countryIdentifier
499
+ }, countryDropdownOptions);
500
+ if (country) handleCountryChange(country);
501
+ }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);
502
+ return /*#__PURE__*/jsxs("div", {
503
+ className: "w-full space-y-4",
504
+ "data-cy": "ntm-profile-settings",
505
+ children: [/*#__PURE__*/jsx(Select, {
506
+ "data-cy": "ntm-edit-member-country-select",
507
+ isLoading: isFetchingCountriesList,
508
+ label: t("neetoTeamMembers.profile.inputs.label.country"),
509
+ name: "countryId",
510
+ options: countryDropdownOptions,
511
+ value: selectedCountryOption,
512
+ onChange: function onChange(option) {
513
+ var dependentFields = handleCountryChange(option);
514
+ setFieldValue("dateFormat", dependentFields === null || dependentFields === void 0 ? void 0 : dependentFields.dateFormat);
515
+ setFieldValue("countryId", option === null || option === void 0 ? void 0 : option.value);
516
+ }
517
+ }), /*#__PURE__*/jsx(Select, {
518
+ "data-cy": "ntm-edit-member-language-select",
519
+ label: t("neetoTeamMembers.profile.inputs.label.language"),
520
+ name: "language",
521
+ options: LANGUAGE_OPTIONS,
522
+ onChange: function onChange(option) {
523
+ return setFieldValue("language", option.value);
524
+ }
525
+ }), /*#__PURE__*/jsxs("div", {
526
+ className: "space-y-2",
527
+ children: [/*#__PURE__*/jsx(Label, {
528
+ children: t("neetoTeamMembers.profile.inputs.label.timeZone")
529
+ }), /*#__PURE__*/jsx("div", {
530
+ "data-cy": "ntm-edit-member-timezone-select",
531
+ ref: timezoneContainerRef,
532
+ className: classnames("w-full grow", {
533
+ "neeto-ui-bg-gray-100 pointer-events-none": isTimezoneFieldDisabled
534
+ })
535
+ })]
536
+ }), /*#__PURE__*/jsx(Select, {
537
+ "data-cy": "ntm-edit-member-time-format-select",
538
+ label: t("neetoTeamMembers.profile.inputs.label.preferredTimeFormat"),
539
+ name: "timeFormat",
540
+ options: TIME_FORMAT_OPTIONS,
541
+ onChange: function onChange(option) {
542
+ return setFieldValue("timeFormat", option.value);
543
+ }
544
+ }), /*#__PURE__*/jsx(Select, {
545
+ "data-cy": "ntm-edit-member-date-format-select",
546
+ label: t("neetoTeamMembers.profile.inputs.label.preferredDateFormat"),
547
+ name: "dateFormat",
548
+ options: DATE_FORMAT_OPTIONS,
549
+ onChange: function onChange(option) {
550
+ return setFieldValue("dateFormat", option.value);
551
+ }
552
+ })]
553
+ });
554
+ };
555
+
556
+ 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; }
557
+ 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(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; }
558
+ var ManageMember = function ManageMember(_ref) {
559
+ var _manageMemberComponen, _config$additionalFie2;
560
+ var config = _ref.config,
561
+ onComplete = _ref.onComplete,
562
+ _ref$roles = _ref.roles,
563
+ roles = _ref$roles === void 0 ? [] : _ref$roles,
564
+ _ref$selectedMember = _ref.selectedMember,
565
+ selectedMember = _ref$selectedMember === void 0 ? null : _ref$selectedMember,
566
+ _ref$componentConfig = _ref.componentConfig,
567
+ componentConfig = _ref$componentConfig === void 0 ? {} : _ref$componentConfig;
568
+ var _useTranslation = useTranslation(),
569
+ t = _useTranslation.t;
570
+ var _useState = useState(false),
571
+ _useState2 = _slicedToArray(_useState, 2),
572
+ isCreationStatusPollingEnabled = _useState2[0],
573
+ setIsCreationStatusPollingEnabled = _useState2[1];
574
+ var isViewPermissionGranted = config.permissions.view;
575
+ var isNotDevelopment = globalProps.railsEnv !== "development";
576
+ var _useFetchMembers = useFetchMembers({
577
+ enabled: isViewPermissionGranted
578
+ }),
579
+ team = _useFetchMembers.data;
580
+ var _useFetchMember = useFetchMember(selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.id, {
581
+ enabled: !!selectedMember
582
+ }),
583
+ memberShowData = _useFetchMember.data,
584
+ isMemberDetailLoading = _useFetchMember.isLoading;
585
+ var isTimezoneFieldDisabled = selectedMember && memberShowData && !selectedMember.isOwner && !memberShowData.timezoneChangeEnabled;
586
+ var _useState3 = useState(FORM_PAGES.MAIN),
587
+ _useState4 = _slicedToArray(_useState3, 2),
588
+ currentPage = _useState4[0],
589
+ setCurrentPage = _useState4[1];
590
+ var formReference = useRef(null);
591
+ var inputReference = useRef(null);
592
+ var appListSavedStateReference = useRef({
593
+ isAppListEnabled: true
594
+ });
595
+ var shouldSkipAppListPage = useRef(false);
596
+ var formikValues = useRef(null);
597
+ var manageMemberComponentConfig = _objectSpread(_objectSpread({}, DEFAULT_COMPONENT_CONFIG), {}, {
598
+ initialFocusRef: inputReference
599
+ }, componentConfig);
600
+ var Component = MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || "pane"];
601
+ var haveToFetchRoles = isEmpty(roles) && isViewPermissionGranted;
602
+ var isEditForm = !!selectedMember;
603
+ var isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;
604
+ var _useFetchRoles = useFetchRoles({
605
+ select: function select(response) {
606
+ var _response$organizatio;
607
+ return reverse((_response$organizatio = response.organizationRoles) !== null && _response$organizatio !== void 0 ? _response$organizatio : []);
608
+ },
609
+ enabled: haveToFetchRoles
610
+ }),
611
+ _useFetchRoles$data = _useFetchRoles.data,
612
+ rolesList = _useFetchRoles$data === void 0 ? roles : _useFetchRoles$data,
613
+ isRolesLoading = _useFetchRoles.isLoading;
614
+ var _useFetchGlobalRoles = useFetchGlobalRoles({
615
+ select: function select(response) {
616
+ return groupBy(prop("appName"), response !== null && response !== void 0 ? response : []);
617
+ },
618
+ enabled: isNotDevelopment && !selectedMember && isViewPermissionGranted
619
+ }),
620
+ _useFetchGlobalRoles$ = _useFetchGlobalRoles.data,
621
+ globalRoles = _useFetchGlobalRoles$ === void 0 ? {} : _useFetchGlobalRoles$,
622
+ isGlobalRolesLoading = _useFetchGlobalRoles.isLoading;
623
+ var filteredRoles = getFilteredRoles(rolesList, config);
624
+ var _useCreateMember = useCreateMember({
625
+ onSuccess: function onSuccess() {
626
+ return setIsCreationStatusPollingEnabled(true);
627
+ }
628
+ }),
629
+ _useCreateMember$data = _useCreateMember.data,
630
+ _useCreateMember$data2 = _useCreateMember$data === void 0 ? {} : _useCreateMember$data,
631
+ jobId = _useCreateMember$data2.jobId,
632
+ createMember = _useCreateMember.mutate,
633
+ isCreatingMember = _useCreateMember.isPending;
634
+ var refetchInterval = function refetchInterval(query) {
635
+ var _ref2 = query.state.data || {},
636
+ isCompleted = _ref2.isCompleted;
637
+ if (isCompleted) {
638
+ setIsCreationStatusPollingEnabled(false);
639
+ return false;
640
+ }
641
+ return 2000;
642
+ };
643
+ var _useMembersCreationSt = useMembersCreationStatus(jobId, {
644
+ refetchInterval: refetchInterval,
645
+ enabled: isCreationStatusPollingEnabled
646
+ }),
647
+ creationStatus = _useMembersCreationSt.data;
648
+ useEffect(function () {
649
+ var _config$createMember;
650
+ var _ref3 = creationStatus || {},
651
+ isCompleted = _ref3.isCompleted,
652
+ isSuccessful = _ref3.isSuccessful,
653
+ users = _ref3.users,
654
+ error = _ref3.error;
655
+ if (!isCompleted) return;
656
+ handleClose();
657
+ 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({
658
+ users: users
659
+ });
660
+ if (isSuccessful) {
661
+ showThumbsUpToastr();
662
+ } else {
663
+ Toastr.error(error);
664
+ }
665
+ refetchMembers();
666
+ }, [creationStatus]);
667
+ var _useUpdateMember = useUpdateMember({
668
+ onSuccess: function onSuccess() {
669
+ var _config$updateMember;
670
+ handleClose(true);
671
+ 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();
672
+ }
673
+ }),
674
+ updateMember = _useUpdateMember.mutate,
675
+ isUpdatingMember = _useUpdateMember.isPending;
676
+ var hasRoleChanged = function hasRoleChanged(_ref4) {
677
+ var submitted = _ref4.submitted,
678
+ values = _ref4.values;
679
+ return submitted && (values === null || values === void 0 ? void 0 : values.role) !== (selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.role);
680
+ };
681
+ var handleClose = function handleClose() {
682
+ var submitted = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
683
+ onComplete({
684
+ submitted: hasRoleChanged({
685
+ submitted: submitted,
686
+ values: formikValues.current
687
+ })
688
+ });
689
+ setCurrentPage(FORM_PAGES.MAIN);
690
+ appListSavedStateReference.current = {
691
+ isAppListEnabled: true
692
+ };
693
+ setIsCreationStatusPollingEnabled(false);
694
+ };
695
+ var _useProfileImageUploa = useProfileImageUpload({
696
+ uploadConfig: {
697
+ folder: "Auth",
698
+ customMetadata: {
699
+ appName: "neetoAuth"
700
+ }
701
+ }
702
+ }),
703
+ uploadImage = _useProfileImageUploa.uploadImage,
704
+ isUploading = _useProfileImageUploa.isUploading;
705
+ var handleUploadImage = /*#__PURE__*/function () {
706
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(image) {
707
+ var result, didUpload;
708
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
709
+ while (1) switch (_context.prev = _context.next) {
710
+ case 0:
711
+ didUpload = false;
712
+ _context.next = 3;
713
+ return uploadImage(image, function (uploadedImageData) {
714
+ didUpload = true;
715
+ result = uploadedImageData;
716
+ });
717
+ case 3:
718
+ if (didUpload) {
719
+ _context.next = 5;
720
+ break;
721
+ }
722
+ throw new Error(t("neetoTeamMembers.common.imageUploadFailed"));
723
+ case 5:
724
+ return _context.abrupt("return", result);
725
+ case 6:
726
+ case "end":
727
+ return _context.stop();
728
+ }
729
+ }, _callee);
730
+ }));
731
+ return function handleUploadImage(_x) {
732
+ return _ref5.apply(this, arguments);
733
+ };
734
+ }();
735
+ var isProcessing = isCreatingMember || isUpdatingMember || isUploading || isRolesLoading || isGlobalRolesLoading || isMemberDetailLoading;
736
+ var handleAddMember = /*#__PURE__*/function () {
737
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(values) {
738
+ var _values$avatar, payload, _yield$handleUploadIm, fileId, filePath, url;
739
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
740
+ while (1) switch (_context2.prev = _context2.next) {
741
+ case 0:
742
+ if (!selectedMember) {
743
+ _context2.next = 25;
744
+ break;
745
+ }
746
+ payload = renderPayload(values, selectedMember);
747
+ if (!((_values$avatar = values.avatar) !== null && _values$avatar !== void 0 && _values$avatar.file)) {
748
+ _context2.next = 22;
749
+ break;
750
+ }
751
+ if (!payload.profile) payload.profile = {};
752
+ if (!(values.avatar.file === "_destroy")) {
753
+ _context2.next = 8;
754
+ break;
755
+ }
756
+ payload.profile.avatar = {
757
+ fileId: "_destroy",
758
+ filePath: "",
759
+ url: ""
760
+ };
761
+ _context2.next = 22;
762
+ break;
763
+ case 8:
764
+ _context2.prev = 8;
765
+ _context2.next = 11;
766
+ return handleUploadImage(values.avatar.file);
767
+ case 11:
768
+ _yield$handleUploadIm = _context2.sent;
769
+ fileId = _yield$handleUploadIm.fileId;
770
+ filePath = _yield$handleUploadIm.filePath;
771
+ url = _yield$handleUploadIm.url;
772
+ payload.profile.avatar = {
773
+ fileId: fileId,
774
+ filePath: filePath,
775
+ url: url
776
+ };
777
+ _context2.next = 22;
778
+ break;
779
+ case 18:
780
+ _context2.prev = 18;
781
+ _context2.t0 = _context2["catch"](8);
782
+ Toastr.error(_context2.t0.message);
783
+ return _context2.abrupt("return");
784
+ case 22:
785
+ updateMember({
786
+ id: selectedMember.id,
787
+ payload: payload
788
+ });
789
+ _context2.next = 26;
790
+ break;
791
+ case 25:
792
+ createMember(renderPayload(values));
793
+ case 26:
794
+ case "end":
795
+ return _context2.stop();
796
+ }
797
+ }, _callee2, null, [[8, 18]]);
798
+ }));
799
+ return function handleAddMember(_x2) {
800
+ return _ref6.apply(this, arguments);
801
+ };
802
+ }();
803
+ var handleOnSubmit = /*#__PURE__*/function () {
804
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(values, _ref7) {
805
+ var setSubmitting;
806
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
807
+ while (1) switch (_context3.prev = _context3.next) {
808
+ case 0:
809
+ setSubmitting = _ref7.setSubmitting;
810
+ shouldSkipAppListPage.current = isEmpty(values.appRoles);
811
+ if (!isLastPage) {
812
+ _context3.next = 7;
813
+ break;
814
+ }
815
+ _context3.next = 5;
816
+ return handleAddMember(values);
817
+ case 5:
818
+ _context3.next = 8;
819
+ break;
820
+ case 7:
821
+ if (currentPage === FORM_PAGES.APP_LIST || shouldSkipAppListPage.current) {
822
+ setCurrentPage(FORM_PAGES.CONFIRMATION);
823
+ setSubmitting(false);
824
+ } else if (currentPage === FORM_PAGES.MAIN) {
825
+ setCurrentPage(FORM_PAGES.APP_LIST);
826
+ setSubmitting(false);
827
+ }
828
+ case 8:
829
+ case "end":
830
+ return _context3.stop();
831
+ }
832
+ }, _callee3);
833
+ }));
834
+ return function handleOnSubmit(_x3, _x4) {
835
+ return _ref8.apply(this, arguments);
836
+ };
837
+ }();
838
+ var handleBackButton = function handleBackButton() {
839
+ if (currentPage === FORM_PAGES.APP_LIST || shouldSkipAppListPage.current || currentPage === FORM_PAGES.INVITE_LINK) {
840
+ setCurrentPage(FORM_PAGES.MAIN);
841
+ } else if (currentPage === FORM_PAGES.CONFIRMATION) {
842
+ setCurrentPage(FORM_PAGES.APP_LIST);
843
+ }
844
+ };
845
+ var getTitle = function getTitle() {
846
+ var memberLabel = taxonomies.member.singular;
847
+ if (selectedMember) {
848
+ return t("neetoTeamMembers.common.edit_", {
849
+ what: memberLabel
850
+ });
851
+ }
852
+ return currentPage === FORM_PAGES.INVITE_LINK ? t("neetoTeamMembers.common.inviteViaLink") : t("neetoTeamMembers.common.addNew_", {
853
+ what: memberLabel
854
+ });
855
+ };
856
+ var renderRolesRadioGroup = function renderRolesRadioGroup(role) {
857
+ return /*#__PURE__*/jsx("div", {
858
+ className: "pt-4 border-t neeto-ui-border-gray-200 w-full",
859
+ children: /*#__PURE__*/jsx(RolesRadioGroup, {
860
+ config: config,
861
+ globalRoles: globalRoles,
862
+ role: role,
863
+ isEdit: !!selectedMember,
864
+ roles: filteredRoles
865
+ })
866
+ });
867
+ };
868
+ var renderFormPage = function renderFormPage(page, emails, role, setFieldValue) {
869
+ var _config$additionalFie;
870
+ switch (page) {
871
+ case FORM_PAGES.MAIN:
872
+ return /*#__PURE__*/jsxs(Fragment, {
873
+ children: [selectedMember && /*#__PURE__*/jsx(ProfileImage, {}), selectedMember && /*#__PURE__*/jsx(NameInputs, {
874
+ innerRef: inputReference
875
+ }), /*#__PURE__*/jsx(MultipleEmailInput, {
876
+ emails: emails,
877
+ selectedMember: selectedMember,
878
+ setCurrentPage: setCurrentPage,
879
+ innerRef: inputReference
880
+ }), selectedMember && /*#__PURE__*/jsx(ProfileSettings, {
881
+ isTimezoneFieldDisabled: isTimezoneFieldDisabled,
882
+ setFieldValue: setFieldValue,
883
+ member: selectedMember
884
+ }), renderRolesRadioGroup(role), (_config$additionalFie = config.additionalFields) === null || _config$additionalFie === void 0 ? void 0 : _config$additionalFie.component]
885
+ });
886
+ case FORM_PAGES.APP_LIST:
887
+ return /*#__PURE__*/jsx(AppList, {
888
+ globalRoles: globalRoles,
889
+ savedStateRef: appListSavedStateReference
890
+ });
891
+ case FORM_PAGES.CONFIRMATION:
892
+ return /*#__PURE__*/jsx(Confirmation, {});
893
+ case FORM_PAGES.INVITE_LINK:
894
+ return /*#__PURE__*/jsxs(Fragment, {
895
+ children: [/*#__PURE__*/jsx(InviteLink, {
896
+ roles: filteredRoles
897
+ }), renderRolesRadioGroup(role)]
898
+ });
899
+ default:
900
+ return null;
901
+ }
902
+ };
903
+ return /*#__PURE__*/jsxs(Component, {
904
+ className: manageMemberComponentConfig.className,
905
+ "data-testid": "ntm-manage-members-pane-wrapper",
906
+ initialFocusRef: manageMemberComponentConfig.initialFocusRef,
907
+ isOpen: manageMemberComponentConfig.isOpen,
908
+ onClose: function onClose() {
909
+ return handleClose(false);
910
+ },
911
+ children: [/*#__PURE__*/jsxs(Component.Header, _objectSpread(_objectSpread({}, manageMemberComponentConfig.headerProps), {}, {
912
+ className: classnames([{
913
+ "ntm-manage-members__header": currentPage !== FORM_PAGES.MAIN
914
+ }, (_manageMemberComponen = manageMemberComponentConfig.headerProps) === null || _manageMemberComponen === void 0 ? void 0 : _manageMemberComponen.className]),
915
+ children: [currentPage !== FORM_PAGES.MAIN && /*#__PURE__*/jsx(Button, {
916
+ "aria-label": "Back",
917
+ icon: LeftArrow,
918
+ size: "medium",
919
+ style: "text",
920
+ tooltipProps: {
921
+ content: t("neetoTeamMembers.buttons.back"),
922
+ position: "bottom"
923
+ },
924
+ onClick: handleBackButton
925
+ }), /*#__PURE__*/jsx(Typography, {
926
+ className: "ntm-members-form__header",
927
+ "data-testid": "ntm-manage-members-pane-header",
928
+ style: "h2",
929
+ weight: "semibold",
930
+ children: getTitle()
931
+ }), selectedMember && /*#__PURE__*/jsx(Typography, {
932
+ className: "neeto-ui-text-gray-600",
933
+ style: "body2",
934
+ children: t("neetoTeamMembers.helpers.editPaneSubtitle")
935
+ })]
936
+ })), /*#__PURE__*/jsx(Form, {
937
+ ref: formReference,
938
+ formikProps: {
939
+ enableReinitialize: true,
940
+ initialValues: renderInitialValues({
941
+ additionalFieldsInitialValues: (_config$additionalFie2 = config.additionalFields) === null || _config$additionalFie2 === void 0 ? void 0 : _config$additionalFie2.initialValues,
942
+ globalRoles: globalRoles,
943
+ roles: filteredRoles,
944
+ selectedMember: selectedMember
945
+ }),
946
+ onSubmit: handleOnSubmit,
947
+ validationSchema: buildValidationSchema(_objectSpread({
948
+ selectedMember: selectedMember
949
+ }, team))
950
+ },
951
+ children: function children(_ref9) {
952
+ var _manageMemberComponen2, _manageMemberComponen3;
953
+ var values = _ref9.values,
954
+ isValid = _ref9.isValid,
955
+ dirty = _ref9.dirty,
956
+ setFieldValue = _ref9.setFieldValue;
957
+ var emails = values.emails,
958
+ role = values.role;
959
+ formikValues.current = values;
960
+ return /*#__PURE__*/jsxs(Fragment, {
961
+ children: [/*#__PURE__*/jsx(ScrollToErrorField, {
962
+ formRef: formReference
963
+ }), /*#__PURE__*/jsxs(Component.Body, _objectSpread(_objectSpread({}, manageMemberComponentConfig.bodyProps), {}, {
964
+ className: classnames(["ntm-members-form__body", (_manageMemberComponen2 = manageMemberComponentConfig.bodyProps) === null || _manageMemberComponen2 === void 0 ? void 0 : _manageMemberComponen2.className]),
965
+ children: [isCreationStatusPollingEnabled && /*#__PURE__*/jsxs(Callout, {
966
+ className: "w-full",
967
+ icon: Info,
968
+ style: "info",
969
+ children: [/*#__PURE__*/jsx(Spinner, {
970
+ size: "small"
971
+ }), t("neetoTeamMembers.helpers.memberCreationStatus", {
972
+ count: emails.length
973
+ })]
974
+ }), renderFormPage(currentPage, emails, role, setFieldValue)]
975
+ })), currentPage !== FORM_PAGES.INVITE_LINK && /*#__PURE__*/jsx(Component.Footer, _objectSpread(_objectSpread({}, manageMemberComponentConfig.footerProps), {}, {
976
+ className: classnames(["ntm-members-form__footer", (_manageMemberComponen3 = manageMemberComponentConfig.footerProps) === null || _manageMemberComponen3 === void 0 ? void 0 : _manageMemberComponen3.className]),
977
+ children: /*#__PURE__*/jsx(ActionBlock, {
978
+ cancelButtonProps: {
979
+ "data-testid": "ntm-manage-member-cancel-button",
980
+ onClick: function onClick() {
981
+ return handleClose(false);
982
+ }
983
+ },
984
+ isSubmitting: isProcessing || isCreationStatusPollingEnabled,
985
+ submitButtonProps: {
986
+ "data-testid": isLastPage ? "ntm-manage-member-submit-button" : "ntm-manage-member-continue-button",
987
+ label: isLastPage ? t("neetoTeamMembers.buttons.saveChanges") : t("neetoTeamMembers.buttons.continue"),
988
+ disabled: !isValid || isProcessing || !dirty || isCreationStatusPollingEnabled
989
+ }
990
+ })
991
+ }))]
992
+ });
993
+ }
994
+ })]
995
+ });
996
+ };
997
+
998
+ export { ManageMember as default };
61
999
  //# sourceMappingURL=ManageMember.js.map