@bigbinary/neeto-team-members-frontend 4.6.14 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +83 -47
  2. package/dist/Groups.js +2 -2
  3. package/dist/ManageMember.js +5 -5
  4. package/dist/MembersInvite.js +1 -1
  5. package/dist/Profile.js +1 -1
  6. package/dist/Roles.js +2 -2
  7. package/dist/{RolesRadioGroup-D_c864VH.js → RolesRadioGroup-BD1_SfUu.js} +2 -2
  8. package/dist/{RolesRadioGroup-D_c864VH.js.map → RolesRadioGroup-BD1_SfUu.js.map} +1 -1
  9. package/dist/{RolesRadioGroup-PfJ8yeOo.js → RolesRadioGroup-vzpUv8Ji.js} +2 -2
  10. package/dist/{RolesRadioGroup-PfJ8yeOo.js.map → RolesRadioGroup-vzpUv8Ji.js.map} +1 -1
  11. package/dist/RolesRadioGroup.js +2 -2
  12. package/dist/TeamMembers.js +5 -5
  13. package/dist/cjs/Groups.js +2 -2
  14. package/dist/cjs/ManageMember.js +5 -5
  15. package/dist/cjs/MembersInvite.js +1 -1
  16. package/dist/cjs/Profile.js +1 -1
  17. package/dist/cjs/Roles.js +2 -2
  18. package/dist/cjs/RolesRadioGroup.js +2 -2
  19. package/dist/cjs/TeamMembers.js +5 -5
  20. package/dist/cjs/constants.js +1 -1
  21. package/dist/cjs/hooks.js +3 -3
  22. package/dist/cjs/index.js +6 -6
  23. package/dist/cjs/utils.js +2 -2
  24. package/dist/{constants-Bv0kiGjC.js → constants-CbaUJ-B2.js} +2 -2
  25. package/dist/constants-CbaUJ-B2.js.map +1 -0
  26. package/dist/{constants-CoKdUpNz.js → constants-V4yaxd59.js} +2 -2
  27. package/dist/constants-V4yaxd59.js.map +1 -0
  28. package/dist/constants.js +1 -1
  29. package/dist/hooks.js +3 -3
  30. package/dist/{index-C6n5fCKc.js → index-CMDSDN1S.js} +5 -5
  31. package/dist/{index-C6n5fCKc.js.map → index-CMDSDN1S.js.map} +1 -1
  32. package/dist/{index-COZyb1oK.js → index-CjWGCASA.js} +5 -5
  33. package/dist/{index-COZyb1oK.js.map → index-CjWGCASA.js.map} +1 -1
  34. package/dist/{index-B0Vfgumn.js → index-Dn1xXV16.js} +2 -2
  35. package/dist/{index-B0Vfgumn.js.map → index-Dn1xXV16.js.map} +1 -1
  36. package/dist/{index-ChnZuzES.js → index-_hZkDXWE.js} +2 -2
  37. package/dist/{index-ChnZuzES.js.map → index-_hZkDXWE.js.map} +1 -1
  38. package/dist/index.js +6 -6
  39. package/dist/{useMembersSidenav-BNprHDYJ.js → useMembersSidenav-BHyu2RIj.js} +2 -2
  40. package/dist/{useMembersSidenav-BNprHDYJ.js.map → useMembersSidenav-BHyu2RIj.js.map} +1 -1
  41. package/dist/{useMembersSidenav-BtH5hu6v.js → useMembersSidenav-Dnw2537Q.js} +2 -2
  42. package/dist/{useMembersSidenav-BtH5hu6v.js.map → useMembersSidenav-Dnw2537Q.js.map} +1 -1
  43. package/dist/{useTeamsApi-BhoJWeju.js → useTeamsApi-ByaAsGOl.js} +2 -2
  44. package/dist/{useTeamsApi-BhoJWeju.js.map → useTeamsApi-ByaAsGOl.js.map} +1 -1
  45. package/dist/{useTeamsApi-CO_vSIC_.js → useTeamsApi-DZBA2Gi6.js} +2 -2
  46. package/dist/{useTeamsApi-CO_vSIC_.js.map → useTeamsApi-DZBA2Gi6.js.map} +1 -1
  47. package/dist/utils.js +2 -2
  48. package/package.json +11 -11
  49. package/dist/constants-Bv0kiGjC.js.map +0 -1
  50. package/dist/constants-CoKdUpNz.js.map +0 -1
package/README.md CHANGED
@@ -1,24 +1,28 @@
1
1
  # NeetoTeamMembersNano
2
2
 
3
- The `neeto-team-members-nano` facilitates the administration of team members within neeto applications. The nano exports the `@bigbinary/neeto-team-members-frontend` NPM package and `neeto-team-members-engine` Rails engine for development.
3
+ The `neeto-team-members-nano` facilitates the administration of team members
4
+ within neeto applications. The nano exports the
5
+ `@bigbinary/neeto-team-members-frontend` NPM package and
6
+ `neeto-team-members-engine` Rails engine for development.
4
7
 
5
8
  ## Contents
6
9
 
7
10
  1. [Development with Host Application](#development-with-host-application)
8
- - [Engine](#engine)
9
- - [Installation](#installation)
10
- - [Usage](#usage)
11
- - [Frontend package](#frontend-package)
12
- - [Installation](#installation-1)
13
- - [Instructions for development](#instructions-for-development)
14
- - [Components](#components)
11
+ - [Engine](#engine)
12
+ - [Installation](#installation)
13
+ - [Usage](#usage)
14
+ - [Frontend package](#frontend-package)
15
+ - [Installation](#installation-1)
16
+ - [Instructions for development](#instructions-for-development)
17
+ - [Components](#components)
15
18
  2. [Instructions for Publishing](#instructions-for-publishing)
16
19
 
17
20
  ## Development with Host Application
18
21
 
19
22
  ### Engine
20
23
 
21
- The engine is used to seed the roles and permissions for the organization. It also provides concerns to handle common logic related to `User` model .
24
+ The engine is used to seed the roles and permissions for the organization. It
25
+ also provides concerns to handle common logic related to `User` model .
22
26
 
23
27
  #### Installation
24
28
 
@@ -41,10 +45,14 @@ The engine is used to seed the roles and permissions for the organization. It al
41
45
  3. Add this line to your application's `config/routes.rb` file:
42
46
 
43
47
  ```ruby
44
- mount NeetoTeamMembersEngine::Engine => "/neeto_team_members_engine"
48
+ mount NeetoTeamMembersEngine::Engine, at: "/neeto_team_members"
45
49
  ```
46
50
 
47
- 4. Run the command to bring in all migrations required from the engine to the host application:
51
+ **NOTE: The mount point must be `/neeto_team_members` and cannot be changed
52
+ to any other path.**
53
+
54
+ 4. Run the command to bring in all migrations required from the engine to the
55
+ host application:
48
56
 
49
57
  ```shell
50
58
  bundle exec rails neeto_team_members_engine:install:migrations
@@ -62,7 +70,8 @@ The engine is used to seed the roles and permissions for the organization. It al
62
70
  bundle exec rails g neeto_team_members_engine:install
63
71
  ```
64
72
 
65
- This command will try to inject the engine's route as well as create a `config/permissions.yml` file to add the permissions required.
73
+ This command will try to inject the engine's route as well as create a
74
+ `config/permissions.yml` file to add the permissions required.
66
75
 
67
76
  #### Usage
68
77
 
@@ -75,7 +84,8 @@ You can learn more about the setup and usage here:
75
84
 
76
85
  ### Frontend package
77
86
 
78
- The package exports the four components: `Roles`, `TeamMembers`, `Permissions`, and `ManageRole`.
87
+ The package exports the four components: `Roles`, `TeamMembers`, `Permissions`,
88
+ and `ManageRole`.
79
89
 
80
90
  #### Installation
81
91
 
@@ -87,7 +97,9 @@ yarn add @bigbinary/neeto-team-members-frontend
87
97
 
88
98
  ### Instructions for development
89
99
 
90
- Check the [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0) for step-by-step instructions to develop the frontend package.
100
+ Check the
101
+ [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0)
102
+ for step-by-step instructions to develop the frontend package.
91
103
 
92
104
  ### Components
93
105
 
@@ -95,15 +107,19 @@ Check the [Frontend package development guide](https://neeto-engineering.neetokb
95
107
 
96
108
  ![Roles page](./docs/frontend/images/roles_page.png)
97
109
 
98
- This component manages team roles. It includes functionalities such as adding roles and allowing updates to roles with associated permissions.
110
+ This component manages team roles. It includes functionalities such as adding
111
+ roles and allowing updates to roles with associated permissions.
99
112
 
100
113
  ###### Props
101
114
 
102
- - `config`: Configuration object that includes mandatory specifications for header breadcrumbs and role permissions. It also allows optional configurations for help articles and permission hierarchy.
115
+ - `config`: Configuration object that includes mandatory specifications for
116
+ header breadcrumbs and role permissions. It also allows optional
117
+ configurations for help articles and permission hierarchy.
103
118
 
104
119
  ###### Configuration
105
120
 
106
- Refer to the [Roles](./docs/frontend/roles.md) section for detailed information on the available configurations for the `Roles` component.
121
+ Refer to the [Roles](./docs/frontend/roles.md) section for detailed information
122
+ on the available configurations for the `Roles` component.
107
123
 
108
124
  ###### Usage
109
125
 
@@ -137,15 +153,20 @@ export default App;
137
153
 
138
154
  ![Team members page](./docs/frontend/images/members_page.png)
139
155
 
140
- The component offers functionalities for adding, updating and viewing team members and their roles in a tabular format. Additionally, it provides filtering options based on email, name, and role.
156
+ The component offers functionalities for adding, updating and viewing team
157
+ members and their roles in a tabular format. Additionally, it provides filtering
158
+ options based on email, name, and role.
141
159
 
142
160
  ###### Props
143
161
 
144
- - `config`: Configuration object that allows customization of role management, member operation permissions, UI elements like buttons and headers, callback functions, table structure, dropdown actions, and various display aspects.
162
+ - `config`: Configuration object that allows customization of role management,
163
+ member operation permissions, UI elements like buttons and headers, callback
164
+ functions, table structure, dropdown actions, and various display aspects.
145
165
 
146
166
  ###### Configuration
147
167
 
148
- Refer to the [TeamMembers](./docs/frontend/team_members.md) section for detailed information on the available configurations for the `TeamMembers` component.
168
+ Refer to the [TeamMembers](./docs/frontend/team_members.md) section for detailed
169
+ information on the available configurations for the `TeamMembers` component.
149
170
 
150
171
  ###### Usage
151
172
 
@@ -179,17 +200,22 @@ export default App;
179
200
 
180
201
  ![Permissions component](./docs/frontend/images/permissions_component.png)
181
202
 
182
- The component handles the rendering and management of permissions for team members. It organizes permissions into categories, provides checkboxes for selection, and supports hierarchical structures with parent-child relationships.
203
+ The component handles the rendering and management of permissions for team
204
+ members. It organizes permissions into categories, provides checkboxes for
205
+ selection, and supports hierarchical structures with parent-child relationships.
183
206
 
184
207
  ###### Props
185
208
 
186
209
  - `permissions`: An array of permissions.
187
- - `isDisabled`: A boolean indicating whether the component is disabled. By default, it is false.
188
- - `permissionRelationConfig`: Configuration for managing parent-child relationships and unchecking permissions on select.
210
+ - `isDisabled`: A boolean indicating whether the component is disabled. By
211
+ default, it is false.
212
+ - `permissionRelationConfig`: Configuration for managing parent-child
213
+ relationships and unchecking permissions on select.
189
214
 
190
215
  ###### Configuration
191
216
 
192
- Refer to the [Permissions](./docs/frontend/permissions.md) section for detailed information on the available configurations for the `TeamMembers` component.
217
+ Refer to the [Permissions](./docs/frontend/permissions.md) section for detailed
218
+ information on the available configurations for the `TeamMembers` component.
193
219
 
194
220
  ###### Usage
195
221
 
@@ -230,15 +256,20 @@ The component is a form-based interface for adding or editing team members.
230
256
 
231
257
  ###### Props
232
258
 
233
- - `config`: Configuration object with various options for customizing the behavior of the component.
234
- - `onComplete`: Callback function to be executed when the component is closed or the form is submitted.
259
+ - `config`: Configuration object with various options for customizing the
260
+ behavior of the component.
261
+ - `onComplete`: Callback function to be executed when the component is closed or
262
+ the form is submitted.
235
263
  - `roles`: An array of roles available for team members.
236
264
  - `selectedMember`: The team member object being edited, if applicable.
237
- - `componentConfig`: Configuration specific to the component, including the type of pane, initial focus reference, etc.
265
+ - `componentConfig`: Configuration specific to the component, including the type
266
+ of pane, initial focus reference, etc.
238
267
 
239
268
  ###### Configuration
240
269
 
241
- Refer to the [ManageMembers](./docs/frontend/manage_members.md) section for detailed information on the available configurations for the `ManageMembers` component.
270
+ Refer to the [ManageMembers](./docs/frontend/manage_members.md) section for
271
+ detailed information on the available configurations for the `ManageMembers`
272
+ component.
242
273
 
243
274
  ###### Usage
244
275
 
@@ -274,39 +305,44 @@ export default App;
274
305
 
275
306
  ##### `Profile`
276
307
 
277
- The `Profile` component encapsulates the user profile functionality, integrating a `Pane` component for displaying profile details and a `usePaneState` hook to efficiently manage the state associated with the `Pane`.
308
+ The `Profile` component encapsulates the user profile functionality, integrating
309
+ a `Pane` component for displaying profile details and a `usePaneState` hook to
310
+ efficiently manage the state associated with the `Pane`.
278
311
 
279
- 1. `Profile.Pane`: The component is a pane-based interface for viewing and editing the user's profile details.
312
+ 1. `Profile.Pane`: The component is a pane-based interface for viewing and
313
+ editing the user's profile details.
280
314
 
281
- ![Profile pane component](./docs/frontend/images/profile_component.png)
315
+ ![Profile pane component](./docs/frontend/images/profile_component.png)
282
316
 
283
317
  2. `Profile.usePaneState`: A hook to manage the state of the profile pane.
284
318
 
285
- ###### Usage
319
+ ###### Usage
286
320
 
287
- ```jsx
288
- import { Profile } from "@bigbinary/neeto-team-members-frontend";
321
+ ```jsx
322
+ import { Profile } from "@bigbinary/neeto-team-members-frontend";
289
323
 
290
- const [isOpen, setIsOpen] = Profile.usePaneState();
324
+ const [isOpen, setIsOpen] = Profile.usePaneState();
291
325
 
292
- return (
293
- <>
294
- <button onClick={() => setIsOpen(true)}> Open profile pane</button>
295
- <button onClick={() => setIsOpen(prevIsOpen => !prevIsOpen)}>
296
- Toggle Profile pane
297
- </button>
298
- </>
299
- );
300
- ```
326
+ return (
327
+ <>
328
+ <button onClick={() => setIsOpen(true)}> Open profile pane</button>
329
+ <button onClick={() => setIsOpen(prevIsOpen => !prevIsOpen)}>
330
+ Toggle Profile pane
331
+ </button>
332
+ </>
333
+ );
334
+ ```
301
335
 
302
336
  ## Instructions for Publishing
303
337
 
304
- Consult the [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages) guide for details on how to publish.
338
+ Consult the
339
+ [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
340
+ guide for details on how to publish.
305
341
 
306
342
  ## Integrations
307
343
 
308
- | Projects | TeamMembers | Roles | Permissions |
309
- |----------------| :----------------: | :----------------: | :----------------: |
344
+ | Projects | TeamMembers | Roles | Permissions |
345
+ | -------------- | :----------------: | :----------------: | :----------------: |
310
346
  | NeetoAuth | :white_check_mark: | :white_check_mark: | - |
311
347
  | NeetoCal | :white_check_mark: | :white_check_mark: | - |
312
348
  | NeetoChangelog | :white_check_mark: | :white_check_mark: | - |
package/dist/Groups.js CHANGED
@@ -11,7 +11,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
11
11
  import { useQuery } from '@tanstack/react-query';
12
12
  import { prop, pluck, mergeLeft, isEmpty } from 'ramda';
13
13
  import axios from 'axios';
14
- import { B as BASE_URL, Q as QUERY_KEYS, d as DEFAULT_PAGE_PROPERTIES } from './constants-Bv0kiGjC.js';
14
+ import { B as BASE_URL, Q as QUERY_KEYS, d as DEFAULT_PAGE_PROPERTIES } from './constants-CbaUJ-B2.js';
15
15
  import Pane from '@bigbinary/neetoui/Pane';
16
16
  import Typography from '@bigbinary/neetoui/Typography';
17
17
  import { captureAnalyticsEvent } from '@bigbinary/neeto-commons-frontend/utils';
@@ -37,7 +37,7 @@ import Tooltip from '@bigbinary/neetoui/Tooltip';
37
37
  import { pluralizeLabelUsingTaxonomy } from './utils.js';
38
38
  import '@bigbinary/neeto-commons-frontend/constants';
39
39
  import './_commonjsHelpers-BFTU3MAI.js';
40
- import './useTeamsApi-CO_vSIC_.js';
40
+ import './useTeamsApi-DZBA2Gi6.js';
41
41
  import '@babel/runtime/helpers/objectWithoutProperties';
42
42
  import 'qs';
43
43
  import './queryClient-Dsu-gu4Y.js';
@@ -15,17 +15,17 @@ import '@bigbinary/neetoui/formik/ActionBlock';
15
15
  import '@bigbinary/neetoui/formik/Form';
16
16
  import 'ramda';
17
17
  import 'react-i18next';
18
- import './index-ChnZuzES.js';
19
- import './useTeamsApi-CO_vSIC_.js';
20
- export { M as default } from './index-C6n5fCKc.js';
21
- import './RolesRadioGroup-PfJ8yeOo.js';
18
+ import './index-_hZkDXWE.js';
19
+ import './useTeamsApi-DZBA2Gi6.js';
20
+ export { M as default } from './index-CMDSDN1S.js';
21
+ import './RolesRadioGroup-vzpUv8Ji.js';
22
22
  import 'react/jsx-runtime';
23
23
  import '@babel/runtime/helpers/objectWithoutProperties';
24
24
  import '@tanstack/react-query';
25
25
  import '@bigbinary/neeto-cist';
26
26
  import '@bigbinary/neeto-commons-frontend/react-utils';
27
27
  import 'axios';
28
- import './constants-Bv0kiGjC.js';
28
+ import './constants-CbaUJ-B2.js';
29
29
  import 'i18next';
30
30
  import '@bigbinary/neeto-commons-frontend/constants';
31
31
  import '@babel/runtime/helpers/toConsumableArray';
@@ -14,7 +14,7 @@ import { Trans, useTranslation } from 'react-i18next';
14
14
  import { useParams } from 'react-router-dom';
15
15
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
16
16
  import axios from 'axios';
17
- import { B as BASE_URL, Q as QUERY_KEYS } from './constants-Bv0kiGjC.js';
17
+ import { B as BASE_URL, Q as QUERY_KEYS } from './constants-CbaUJ-B2.js';
18
18
  import { t } from 'i18next';
19
19
  import { SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
20
20
  import * as yup from 'yup';
package/dist/Profile.js CHANGED
@@ -23,7 +23,7 @@ import Select from '@bigbinary/neetoui/formik/Select';
23
23
  import Form from '@bigbinary/neetoui/formik/Form';
24
24
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
25
25
  import { isNotNil, isNil, is, trim } from 'ramda';
26
- import { B as BASE_URL, Q as QUERY_KEYS, T as TIME_FORMAT_OPTIONS, D as DATE_FORMAT_OPTIONS } from './constants-Bv0kiGjC.js';
26
+ import { B as BASE_URL, Q as QUERY_KEYS, T as TIME_FORMAT_OPTIONS, D as DATE_FORMAT_OPTIONS } from './constants-CbaUJ-B2.js';
27
27
  import { useQuery } from '@tanstack/react-query';
28
28
  import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
29
29
  import axios from 'axios';
package/dist/Roles.js CHANGED
@@ -12,8 +12,8 @@ import { w as withReactQuery } from './withReactQuery-CHybbL5V.js';
12
12
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
13
13
  import { useQuery } from '@tanstack/react-query';
14
14
  import axios from 'axios';
15
- import { B as BASE_URL, Q as QUERY_KEYS, A as ADMIN_ROLES } from './constants-Bv0kiGjC.js';
16
- import { b as useCreateRole, c as useUpdateRole, S as ScrollToErrorField, d as useDestroyRole, u as useFetchRoles, e as useBulkUpdateRoles } from './index-ChnZuzES.js';
15
+ import { B as BASE_URL, Q as QUERY_KEYS, A as ADMIN_ROLES } from './constants-CbaUJ-B2.js';
16
+ import { b as useCreateRole, c as useUpdateRole, S as ScrollToErrorField, d as useDestroyRole, u as useFetchRoles, e as useBulkUpdateRoles } from './index-_hZkDXWE.js';
17
17
  import { n } from './inject-css-DmrvuTKK.js';
18
18
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
19
19
  import Button from '@bigbinary/neetoui/Button';
@@ -16,7 +16,7 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
16
16
  var i18next = require('i18next');
17
17
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
18
18
  var yup = require('yup');
19
- var constants$1 = require('./constants-CoKdUpNz.js');
19
+ var constants$1 = require('./constants-V4yaxd59.js');
20
20
  var Pane = require('@bigbinary/neetoui/Pane');
21
21
  var Modal = require('@bigbinary/neetoui/Modal');
22
22
  var jsxRuntime = require('react/jsx-runtime');
@@ -344,4 +344,4 @@ exports.getSingleInvitationTranslationProps = getSingleInvitationTranslationProp
344
344
  exports.remainingExpiryDays = remainingExpiryDays;
345
345
  exports.renderInitialValues = renderInitialValues;
346
346
  exports.renderPayload = renderPayload;
347
- //# sourceMappingURL=RolesRadioGroup-D_c864VH.js.map
347
+ //# sourceMappingURL=RolesRadioGroup-BD1_SfUu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesRadioGroup-D_c864VH.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Pane, Modal } from \"neetoui\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...otherValues,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: <Button href=\"mailto:support@neeto.com\" style=\"link\" />,\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/roles-radio-group.css\";\n\nimport { isAdminRole } from \"./utils\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group grow-0\"\n data-cy=\"ntm-manage-member-roles-group\"\n labelProps={{ className: \"neeto-ui-radio__label w-full\" }}\n name=\"role\"\n label={\n <span className=\"flex w-full items-center justify-between\">\n <Label required> {t(\"neetoTeamMembers.common.role\", SINGULAR)}</Label>\n <Button\n label={t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n style=\"link\"\n to={config.pathToRolesPage}\n />\n </span>\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Body","Footer","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Pane","modal","Modal","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","selectedMember","isNotNil","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","appRoles","renderPayload","otherValues","arguments","length","undefined","active","organizationRole","value","user","pluck","getSingleInvitationTranslationProps","_ref3","selectedEmail","count","buildValidationSchema","_ref4","memberLimit","activeUsersCount","min","test","_ref5","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","href","style","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","Radio","stacked","labelProps","_jsxs","Label","SINGULAR","to","pathToRolesPage","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}
1
+ {"version":3,"file":"RolesRadioGroup-BD1_SfUu.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Pane, Modal } from \"neetoui\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...otherValues,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: <Button href=\"mailto:support@neeto.com\" style=\"link\" />,\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/roles-radio-group.css\";\n\nimport { isAdminRole } from \"./utils\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group grow-0\"\n data-cy=\"ntm-manage-member-roles-group\"\n labelProps={{ className: \"neeto-ui-radio__label w-full\" }}\n name=\"role\"\n label={\n <span className=\"flex w-full items-center justify-between\">\n <Label required> {t(\"neetoTeamMembers.common.role\", SINGULAR)}</Label>\n <Button\n label={t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n style=\"link\"\n to={config.pathToRolesPage}\n />\n </span>\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Body","Footer","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Pane","modal","Modal","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","selectedMember","isNotNil","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","appRoles","renderPayload","otherValues","arguments","length","undefined","active","organizationRole","value","user","pluck","getSingleInvitationTranslationProps","_ref3","selectedEmail","count","buildValidationSchema","_ref4","memberLimit","activeUsersCount","min","test","_ref5","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","href","style","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","Radio","stacked","labelProps","_jsxs","Label","SINGULAR","to","pathToRolesPage","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}
@@ -14,7 +14,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
14
14
  import { t } from 'i18next';
15
15
  import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
16
16
  import * as yup from 'yup';
17
- import { A as ADMIN_ROLES, c as ADMIN_ROLE_NAME } from './constants-Bv0kiGjC.js';
17
+ import { A as ADMIN_ROLES, c as ADMIN_ROLE_NAME } from './constants-CbaUJ-B2.js';
18
18
  import Pane from '@bigbinary/neetoui/Pane';
19
19
  import Modal from '@bigbinary/neetoui/Modal';
20
20
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -310,4 +310,4 @@ var RolesRadioGroup = function RolesRadioGroup(_ref) {
310
310
  };
311
311
 
312
312
  export { COUNTER_PROPS as C, DEFAULT_COMPONENT_CONFIG as D, EMAIL_REGEX as E, FORM_PAGES as F, MEMBERS_FORM_COMPONENT_MAPPER as M, NEETO_AUTH_MANAGE_PRODUCT_URL as N, RolesRadioGroup as R, getInviteURL as a, FILTER_INVALID_EMAILS as b, renderInitialValues as c, buildValidationSchema as d, renderPayload as e, getSingleInvitationTranslationProps as g, remainingExpiryDays as r };
313
- //# sourceMappingURL=RolesRadioGroup-PfJ8yeOo.js.map
313
+ //# sourceMappingURL=RolesRadioGroup-vzpUv8Ji.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RolesRadioGroup-PfJ8yeOo.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Pane, Modal } from \"neetoui\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...otherValues,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: <Button href=\"mailto:support@neeto.com\" style=\"link\" />,\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/roles-radio-group.css\";\n\nimport { isAdminRole } from \"./utils\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group grow-0\"\n data-cy=\"ntm-manage-member-roles-group\"\n labelProps={{ className: \"neeto-ui-radio__label w-full\" }}\n name=\"role\"\n label={\n <span className=\"flex w-full items-center justify-between\">\n <Label required> {t(\"neetoTeamMembers.common.role\", SINGULAR)}</Label>\n <Button\n label={t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n style=\"link\"\n to={config.pathToRolesPage}\n />\n </span>\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Body","Footer","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Pane","modal","Modal","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","selectedMember","isNotNil","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","appRoles","renderPayload","otherValues","arguments","length","undefined","active","organizationRole","value","user","pluck","getSingleInvitationTranslationProps","_ref3","selectedEmail","count","buildValidationSchema","_ref4","memberLimit","activeUsersCount","min","test","_ref5","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","href","style","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","Radio","stacked","labelProps","_jsxs","Label","SINGULAR","to","pathToRolesPage","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}
1
+ {"version":3,"file":"RolesRadioGroup-vzpUv8Ji.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div className={className} {...otherProps}>\n {children}\n </div>\n);\n\nPage.Header = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Pane, Modal } from \"neetoui\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Pane,\n modal: Modal,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) =>\n selectedMember\n ? {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...otherValues,\n }\n : {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: <Button href=\"mailto:support@neeto.com\" style=\"link\" />,\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/roles-radio-group.css\";\n\nimport { isAdminRole } from \"./utils\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <Radio\n stacked\n className=\"ntm-members-radio-group grow-0\"\n data-cy=\"ntm-manage-member-roles-group\"\n labelProps={{ className: \"neeto-ui-radio__label w-full\" }}\n name=\"role\"\n label={\n <span className=\"flex w-full items-center justify-between\">\n <Label required> {t(\"neetoTeamMembers.common.role\", SINGULAR)}</Label>\n <Button\n label={t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n style=\"link\"\n to={config.pathToRolesPage}\n />\n </span>\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n !isEdit && setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"ntm-members-form-radio-item__wrapper\"\n htmlFor={slugify(name)}\n key={id}\n >\n <Radio.Item\n className=\"ntm-members-form-radio-item__label\"\n data-cy=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n name=\"role\"\n value={name}\n />\n </label>\n ))}\n </Radio>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Body","Footer","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Pane","modal","Modal","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","selectedMember","isNotNil","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","appRoles","renderPayload","otherValues","arguments","length","undefined","active","organizationRole","value","user","pluck","getSingleInvitationTranslationProps","_ref3","selectedEmail","count","buildValidationSchema","_ref4","memberLimit","activeUsersCount","min","test","_ref5","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","href","style","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","Radio","stacked","labelProps","_jsxs","Label","SINGULAR","to","pathToRolesPage","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}