@bigbinary/neeto-team-members-frontend 5.0.29 → 5.0.31

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 (146) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ActionBlock-C9Iy0jGZ.js +53 -0
  3. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -0
  4. package/dist/ActionBlock-jgw1N-As.js +46 -0
  5. package/dist/ActionBlock-jgw1N-As.js.map +1 -0
  6. package/dist/Groups.js +1 -0
  7. package/dist/Groups.js.map +1 -1
  8. package/dist/InviteLinkError-AphtWLhe.js +63 -0
  9. package/dist/InviteLinkError-AphtWLhe.js.map +1 -0
  10. package/dist/InviteLinkError-C6OLGrD0.js +41 -0
  11. package/dist/InviteLinkError-C6OLGrD0.js.map +1 -0
  12. package/dist/ManageMember.js +1 -0
  13. package/dist/ManageMember.js.map +1 -1
  14. package/dist/MembersInvite.js +1 -38
  15. package/dist/MembersInvite.js.map +1 -1
  16. package/dist/Permissions-3L2jJkiY.js +233 -0
  17. package/dist/Permissions-3L2jJkiY.js.map +1 -0
  18. package/dist/Permissions-CpmpfRk1.js +244 -0
  19. package/dist/Permissions-CpmpfRk1.js.map +1 -0
  20. package/dist/Roles.js +3 -1398
  21. package/dist/Roles.js.map +1 -1
  22. package/dist/RolesRadioGroup-fBmS68cW.js +393 -0
  23. package/dist/RolesRadioGroup-fBmS68cW.js.map +1 -0
  24. package/dist/RolesRadioGroup-tSNC-Wtu.js +352 -0
  25. package/dist/RolesRadioGroup-tSNC-Wtu.js.map +1 -0
  26. package/dist/Select-CshPoN2b.js +119 -0
  27. package/dist/Select-CshPoN2b.js.map +1 -0
  28. package/dist/Select-DZ56UG-l.js +109 -0
  29. package/dist/Select-DZ56UG-l.js.map +1 -0
  30. package/dist/TeamMembers.js +1 -0
  31. package/dist/TeamMembers.js.map +1 -1
  32. package/dist/cjs/Groups.js +1 -0
  33. package/dist/cjs/Groups.js.map +1 -1
  34. package/dist/cjs/ManageMember.js +1 -0
  35. package/dist/cjs/ManageMember.js.map +1 -1
  36. package/dist/cjs/MembersInvite.js +2 -39
  37. package/dist/cjs/MembersInvite.js.map +1 -1
  38. package/dist/cjs/Roles.js +6 -1402
  39. package/dist/cjs/Roles.js.map +1 -1
  40. package/dist/cjs/TeamMembers.js +1 -0
  41. package/dist/cjs/TeamMembers.js.map +1 -1
  42. package/dist/cjs/index.js +3 -0
  43. package/dist/cjs/index.js.map +1 -1
  44. package/dist/cjs/utils.js +3 -512
  45. package/dist/cjs/utils.js.map +1 -1
  46. package/dist/cjs/v2/Groups.js +781 -0
  47. package/dist/cjs/v2/Groups.js.map +1 -0
  48. package/dist/cjs/v2/ManageMember.js +49 -0
  49. package/dist/cjs/v2/ManageMember.js.map +1 -0
  50. package/dist/cjs/v2/MembersDropdown.js +200 -0
  51. package/dist/cjs/v2/MembersDropdown.js.map +1 -0
  52. package/dist/cjs/v2/MembersInvite.js +270 -0
  53. package/dist/cjs/v2/MembersInvite.js.map +1 -0
  54. package/dist/cjs/v2/Permissions.js +19 -0
  55. package/dist/cjs/v2/Permissions.js.map +1 -0
  56. package/dist/cjs/v2/Profile.js +686 -0
  57. package/dist/cjs/v2/Profile.js.map +1 -0
  58. package/dist/cjs/v2/Roles.js +1258 -0
  59. package/dist/cjs/v2/Roles.js.map +1 -0
  60. package/dist/cjs/v2/RolesRadioGroup.js +26 -0
  61. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -0
  62. package/dist/cjs/v2/TeamMembers.js +947 -0
  63. package/dist/cjs/v2/TeamMembers.js.map +1 -0
  64. package/dist/cjs/v2/TeamsAndMembersDropdown.js +438 -0
  65. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -0
  66. package/dist/cjs/v2/TeamsDropdown.js +112 -0
  67. package/dist/cjs/v2/TeamsDropdown.js.map +1 -0
  68. package/dist/cjs/v2/constants.js +28 -0
  69. package/dist/cjs/v2/constants.js.map +1 -0
  70. package/dist/cjs/v2/hooks.js +33 -0
  71. package/dist/cjs/v2/hooks.js.map +1 -0
  72. package/dist/cjs/v2/utils.js +34 -0
  73. package/dist/cjs/v2/utils.js.map +1 -0
  74. package/dist/constants-B1L6arSR.js +49 -0
  75. package/dist/constants-B1L6arSR.js.map +1 -0
  76. package/dist/constants-CMNbKvoF.js +61 -0
  77. package/dist/constants-CMNbKvoF.js.map +1 -0
  78. package/dist/index-BkEJugj1.js +184 -0
  79. package/dist/index-BkEJugj1.js.map +1 -0
  80. package/dist/index-C6ph58Vg.js +169 -0
  81. package/dist/index-C6ph58Vg.js.map +1 -0
  82. package/dist/index-DFIYLo4H.js +1334 -0
  83. package/dist/index-DFIYLo4H.js.map +1 -0
  84. package/dist/index-DXwn-_HJ.js +1309 -0
  85. package/dist/index-DXwn-_HJ.js.map +1 -0
  86. package/dist/index-DeYRFiJy.js +119 -0
  87. package/dist/index-DeYRFiJy.js.map +1 -0
  88. package/dist/index-DqqXniGT.js +126 -0
  89. package/dist/index-DqqXniGT.js.map +1 -0
  90. package/dist/index-Dus0cbgo.js +1407 -0
  91. package/dist/index-Dus0cbgo.js.map +1 -0
  92. package/dist/index-ureO6U2w.js +1401 -0
  93. package/dist/index-ureO6U2w.js.map +1 -0
  94. package/dist/index.js +3 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/pluralize-BoSEafiC.js +514 -0
  97. package/dist/pluralize-BoSEafiC.js.map +1 -0
  98. package/dist/pluralize-CFlSRsRn.js +516 -0
  99. package/dist/pluralize-CFlSRsRn.js.map +1 -0
  100. package/dist/queryClient-B-JFya8X.js +16 -0
  101. package/dist/queryClient-B-JFya8X.js.map +1 -0
  102. package/dist/queryClient-BncpekSV.js +14 -0
  103. package/dist/queryClient-BncpekSV.js.map +1 -0
  104. package/dist/useCountries-CQdvJz0R.js +249 -0
  105. package/dist/useCountries-CQdvJz0R.js.map +1 -0
  106. package/dist/useCountries-DePOPtue.js +235 -0
  107. package/dist/useCountries-DePOPtue.js.map +1 -0
  108. package/dist/useTeamsApi-CWp4G7JZ.js +179 -0
  109. package/dist/useTeamsApi-CWp4G7JZ.js.map +1 -0
  110. package/dist/useTeamsApi-Ch5sHR2_.js +197 -0
  111. package/dist/useTeamsApi-Ch5sHR2_.js.map +1 -0
  112. package/dist/utils.js +2 -511
  113. package/dist/utils.js.map +1 -1
  114. package/dist/v2/Groups.js +749 -0
  115. package/dist/v2/Groups.js.map +1 -0
  116. package/dist/v2/ManageMember.js +43 -0
  117. package/dist/v2/ManageMember.js.map +1 -0
  118. package/dist/v2/MembersDropdown.js +193 -0
  119. package/dist/v2/MembersDropdown.js.map +1 -0
  120. package/dist/v2/MembersInvite.js +242 -0
  121. package/dist/v2/MembersInvite.js.map +1 -0
  122. package/dist/v2/Permissions.js +13 -0
  123. package/dist/v2/Permissions.js.map +1 -0
  124. package/dist/v2/Profile.js +656 -0
  125. package/dist/v2/Profile.js.map +1 -0
  126. package/dist/v2/Roles.js +1242 -0
  127. package/dist/v2/Roles.js.map +1 -0
  128. package/dist/v2/RolesRadioGroup.js +20 -0
  129. package/dist/v2/RolesRadioGroup.js.map +1 -0
  130. package/dist/v2/TeamMembers.js +936 -0
  131. package/dist/v2/TeamMembers.js.map +1 -0
  132. package/dist/v2/TeamsAndMembersDropdown.js +430 -0
  133. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -0
  134. package/dist/v2/TeamsDropdown.js +106 -0
  135. package/dist/v2/TeamsDropdown.js.map +1 -0
  136. package/dist/v2/constants.js +21 -0
  137. package/dist/v2/constants.js.map +1 -0
  138. package/dist/v2/hooks.js +29 -0
  139. package/dist/v2/hooks.js.map +1 -0
  140. package/dist/v2/utils.js +30 -0
  141. package/dist/v2/utils.js.map +1 -0
  142. package/dist/withReactQuery-CSuiy5RK.js +20 -0
  143. package/dist/withReactQuery-CSuiy5RK.js.map +1 -0
  144. package/dist/withReactQuery-DvSkXhEx.js +26 -0
  145. package/dist/withReactQuery-DvSkXhEx.js.map +1 -0
  146. package/package.json +25 -11
@@ -0,0 +1,393 @@
1
+ 'use strict';
2
+
3
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
4
+ var formik = require('formik');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
7
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
8
+ var ramda = require('ramda');
9
+ var reactI18next = require('react-i18next');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ var Select = require('./Select-CshPoN2b.js');
14
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
15
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
16
+ var i18next = require('i18next');
17
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
18
+ var yup = require('yup');
19
+ var constants$1 = require('./constants-CMNbKvoF.js');
20
+
21
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
+
23
+ function _interopNamespace(e) {
24
+ if (e && e.__esModule) return e;
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n.default = e;
38
+ return Object.freeze(n);
39
+ }
40
+
41
+ var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
42
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWithoutProperties);
43
+ var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
44
+ var _toConsumableArray__default = /*#__PURE__*/_interopDefault(_toConsumableArray);
45
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
46
+
47
+ var _excluded$1 = ["className", "children"],
48
+ _excluded2$1 = ["className", "children"];
49
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
50
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
51
+ var PageWrapper = function PageWrapper(_ref) {
52
+ var className = _ref.className,
53
+ children = _ref.children,
54
+ otherProps = _objectWithoutProperties__default.default(_ref, _excluded$1);
55
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$1(_objectSpread$1({}, _objectSpread$1({
56
+ className: className
57
+ }, otherProps)), {}, {
58
+ children: children
59
+ }));
60
+ };
61
+ var Page = function Page(_ref2) {
62
+ var className = _ref2.className,
63
+ children = _ref2.children,
64
+ otherProps = _objectWithoutProperties__default.default(_ref2, _excluded2$1);
65
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$1(_objectSpread$1({}, _objectSpread$1({
66
+ className: className
67
+ }, otherProps)), {}, {
68
+ children: children
69
+ }));
70
+ };
71
+ Page.Header = PageWrapper;
72
+ Page.Title = PageWrapper;
73
+ Page.Description = PageWrapper;
74
+ Page.Body = PageWrapper;
75
+ Page.Footer = PageWrapper;
76
+
77
+ var _globalProps$organiza$1;
78
+ var NAME_INPUT_VALIDATION_SCHEMA = {
79
+ firstName: yup__namespace.string().trim(i18next.t("neetoTeamMembers.validations.removeSpaces")).strict(true),
80
+ lastName: yup__namespace.string().trim(i18next.t("neetoTeamMembers.validations.removeSpaces")).strict(true)
81
+ };
82
+ var ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {
83
+ role: yup__namespace.string().required(i18next.t("neetoTeamMembers.validations.roleRequired"))
84
+ };
85
+ var APP_ROLES_SCHEMA = {
86
+ appsRoles: yup__namespace.array().of(yup__namespace.object().shape({
87
+ appName: yup__namespace.string(),
88
+ isEnabled: yup__namespace["boolean"](),
89
+ role: yup__namespace.string().required(i18next.t("neetoTeamMembers.validations.roleRequired"))
90
+ }))
91
+ };
92
+ var FILTER_INVALID_EMAILS = {
93
+ label: i18next.t("neetoTeamMembers.validations.filterInvalidEmails")
94
+ };
95
+ var COUNTER_PROPS = {
96
+ label: i18next.t("neetoTeamMembers.common.email", constants.PLURAL),
97
+ startsFrom: 4
98
+ };
99
+ var DEFAULT_COMPONENT_CONFIG = {
100
+ type: "pane",
101
+ isOpen: false,
102
+ className: "",
103
+ headerProps: {},
104
+ bodyProps: {},
105
+ footerProps: {}
106
+ };
107
+ var MEMBERS_FORM_COMPONENT_MAPPER = {
108
+ pane: neetoAtoms.Sheet,
109
+ modal: neetoAtoms.Dialog,
110
+ page: Page
111
+ };
112
+ var FORM_PAGES = {
113
+ MAIN: "main",
114
+ APP_LIST: "appList",
115
+ CONFIRMATION: "confirmation",
116
+ INVITE_LINK: "inviteLink"
117
+ };
118
+ var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
119
+ var NEETO_AUTH_MANAGE_PRODUCT_URL = "".concat((_globalProps$organiza$1 = initializers.globalProps.organization) === null || _globalProps$organiza$1 === void 0 ? void 0 : _globalProps$organiza$1.authAppUrl, "/admin/admin-panel/general/products");
120
+
121
+ var _globalProps$organiza;
122
+ var _excluded = ["appRoles", "emails", "firstName", "lastName", "role"],
123
+ _excluded2 = ["timeZone", "dateFormat", "timeFormat", "countryId", "language", "avatar"];
124
+ 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; }
125
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
126
+ var getProductName = function getProductName(activeAppRoles) {
127
+ var _activeAppRoles$;
128
+ return activeAppRoles !== null && activeAppRoles !== void 0 && (_activeAppRoles$ = activeAppRoles[0]) !== null && _activeAppRoles$ !== void 0 && _activeAppRoles$.appName ? i18next.t("neetoTeamMembers.labels.neeto_", {
129
+ product: activeAppRoles[0].appName
130
+ }) : initializers.globalProps.appName;
131
+ };
132
+ var getActiveRole = function getActiveRole(activeAppRoles, role) {
133
+ var _activeAppRoles$2;
134
+ return (activeAppRoles === null || activeAppRoles === void 0 || (_activeAppRoles$2 = activeAppRoles[0]) === null || _activeAppRoles$2 === void 0 ? void 0 : _activeAppRoles$2.activeRole) || role;
135
+ };
136
+ var getDefaultRole = function getDefaultRole(roles, currentAppRole, appName) {
137
+ var _globalProps$appName;
138
+ if (appName === ((_globalProps$appName = initializers.globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
139
+ return currentAppRole;
140
+ }
141
+ var condition = isAdminRole(currentAppRole);
142
+ var role = neetoCist._findBy({
143
+ name: condition
144
+ }, roles);
145
+ return role ? role.name : roles[0].name;
146
+ };
147
+ var generateAppsRolesInitialValue = function generateAppsRolesInitialValue(globalRoles, currentAppRole) {
148
+ var _globalProps$appName2;
149
+ if (!globalRoles) return [];
150
+ var appNames = Object.keys(globalRoles);
151
+ var currentApp = (_globalProps$appName2 = initializers.globalProps.appName) === null || _globalProps$appName2 === void 0 ? void 0 : _globalProps$appName2.substring(5);
152
+ var currentAppNameIndex = appNames.indexOf(currentApp);
153
+ var appNamesSorted = ramda.move(currentAppNameIndex, 0, appNames);
154
+ return appNamesSorted.map(function (appName) {
155
+ return {
156
+ appName: appName,
157
+ activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),
158
+ isEnabled: true,
159
+ isPrimary: currentApp === appName
160
+ };
161
+ });
162
+ };
163
+ var isAdminRole = function isAdminRole(role) {
164
+ return ramda.includes(role, constants$1.ADMIN_ROLES) ? ramda.equals(constants$1.ADMIN_ROLE_NAME) : neetoCist.notEquals(constants$1.ADMIN_ROLE_NAME);
165
+ };
166
+ var renderInitialValues = function renderInitialValues(_ref) {
167
+ var _roles$1$name, _roles$, _roles$2;
168
+ var _ref$additionalFields = _ref.additionalFieldsInitialValues,
169
+ additionalFieldsInitialValues = _ref$additionalFields === void 0 ? {} : _ref$additionalFields,
170
+ globalRoles = _ref.globalRoles,
171
+ roles = _ref.roles,
172
+ selectedMember = _ref.selectedMember;
173
+ if (ramda.isNotNil(selectedMember)) {
174
+ var keysToPick = ["firstName", "lastName", "role"].concat(_toConsumableArray__default.default(ramda.keys(additionalFieldsInitialValues)));
175
+ return _objectSpread(_objectSpread(_objectSpread({}, additionalFieldsInitialValues), ramda.pick(keysToPick, selectedMember)), {}, {
176
+ emails: [_objectSpread(_objectSpread({}, neetoCist.toLabelAndValue(selectedMember.email)), {}, {
177
+ valid: true
178
+ })],
179
+ timeZone: selectedMember.timeZone || "",
180
+ dateFormat: selectedMember.dateFormat || "",
181
+ timeFormat: selectedMember.timeFormat || "",
182
+ countryId: selectedMember.countryIdentifier || "",
183
+ language: selectedMember.language || "",
184
+ avatar: {
185
+ imageUrl: selectedMember.profileImageUrl || "",
186
+ file: null
187
+ }
188
+ });
189
+ }
190
+ return _objectSpread({
191
+ firstName: "",
192
+ lastName: "",
193
+ emails: [],
194
+ role: (_roles$1$name = (_roles$ = roles[1]) === null || _roles$ === void 0 ? void 0 : _roles$.name) !== null && _roles$1$name !== void 0 ? _roles$1$name : "",
195
+ appRoles: generateAppsRolesInitialValue(globalRoles, (_roles$2 = roles[1]) === null || _roles$2 === void 0 ? void 0 : _roles$2.name)
196
+ }, additionalFieldsInitialValues);
197
+ };
198
+ var renderPayload = function renderPayload(_ref2) {
199
+ var appRoles = _ref2.appRoles,
200
+ emails = _ref2.emails,
201
+ firstName = _ref2.firstName,
202
+ lastName = _ref2.lastName,
203
+ role = _ref2.role,
204
+ otherValues = _objectWithoutProperties__default.default(_ref2, _excluded);
205
+ var selectedMember = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
206
+ if (selectedMember) {
207
+ var timeZone = otherValues.timeZone,
208
+ dateFormat = otherValues.dateFormat,
209
+ timeFormat = otherValues.timeFormat,
210
+ countryId = otherValues.countryId,
211
+ language = otherValues.language,
212
+ avatar = otherValues.avatar,
213
+ rest = _objectWithoutProperties__default.default(otherValues, _excluded2);
214
+ var payload = _objectSpread({
215
+ active: true,
216
+ firstName: firstName.trim(),
217
+ lastName: lastName.trim(),
218
+ organizationRole: role,
219
+ email: emails[0].value
220
+ }, rest);
221
+ var profileFields = {
222
+ timeZone: timeZone,
223
+ dateFormat: dateFormat,
224
+ timeFormat: timeFormat,
225
+ countryIdentifier: countryId,
226
+ language: language
227
+ };
228
+ var profile = Object.fromEntries(Object.entries(profileFields).filter(function (_ref3) {
229
+ var _ref4 = _slicedToArray__default.default(_ref3, 2),
230
+ v = _ref4[1];
231
+ return v;
232
+ }));
233
+ if (Object.keys(profile).length > 0 || avatar !== null && avatar !== void 0 && avatar.file) {
234
+ payload.profile = profile;
235
+ }
236
+ return payload;
237
+ }
238
+ return {
239
+ user: _objectSpread({
240
+ emails: ramda.pluck("value", emails),
241
+ organizationRole: role,
242
+ appRoles: appRoles
243
+ }, otherValues)
244
+ };
245
+ };
246
+ var getSingleInvitationTranslationProps = function getSingleInvitationTranslationProps(_ref5) {
247
+ var activeAppRoles = _ref5.activeAppRoles,
248
+ role = _ref5.role,
249
+ selectedEmail = _ref5.selectedEmail;
250
+ return {
251
+ count: selectedEmail.length,
252
+ emails: selectedEmail,
253
+ product: getProductName(activeAppRoles),
254
+ role: getActiveRole(activeAppRoles, role)
255
+ };
256
+ };
257
+ var buildValidationSchema = function buildValidationSchema(_ref6) {
258
+ var selectedMember = _ref6.selectedMember,
259
+ memberLimit = _ref6.memberLimit,
260
+ activeUsersCount = _ref6.activeUsersCount;
261
+ return yup__namespace.object().shape(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, NAME_INPUT_VALIDATION_SCHEMA), ROLES_RADIO_GROUP_VALIDATION_SCHEMA), APP_ROLES_SCHEMA), {}, {
262
+ emails: yup__namespace.array().min(1, i18next.t("neetoTeamMembers.validations.minOneEmail")).test("are-all-emails-valid", function (_ref7) {
263
+ var value = _ref7.value;
264
+ return i18next.t("neetoTeamMembers.validations.validEmail", {
265
+ count: value.length
266
+ });
267
+ }, function (emails) {
268
+ return emails.every(ramda.prop("valid"));
269
+ }).test("is-emails-length-within-available-members-capacity", /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
270
+ i18nKey: "neetoTeamMembers.validations.memberLimitExceeded",
271
+ values: {
272
+ limit: memberLimit
273
+ },
274
+ components: {
275
+ emailTo: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
276
+ asChild: true,
277
+ variant: "link",
278
+ children: /*#__PURE__*/jsxRuntime.jsx("a", {
279
+ href: "mailto:support@neeto.com",
280
+ children: "support"
281
+ })
282
+ })
283
+ }
284
+ }), function (emails) {
285
+ return ramda.isNotNil(selectedMember) || ramda.isNil(memberLimit) || emails.length <= memberLimit - activeUsersCount;
286
+ }).nullable()
287
+ }));
288
+ };
289
+ var getInviteURL = function getInviteURL(inviteToken) {
290
+ return "".concat(window.location.origin, "/invite-link/").concat(inviteToken);
291
+ };
292
+ var remainingExpiryDays = function remainingExpiryDays(expiryDate) {
293
+ var today = utils.dayjs().startOf("day");
294
+ var expiry = utils.dayjs(expiryDate).startOf("day");
295
+ return expiry.diff(today, "day");
296
+ };
297
+ "".concat((_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.authAppUrl, "/settings/general/products");
298
+
299
+ var RolesRadioGroup = function RolesRadioGroup(_ref) {
300
+ var config = _ref.config,
301
+ globalRoles = _ref.globalRoles,
302
+ isEdit = _ref.isEdit,
303
+ _ref$role = _ref.role,
304
+ role = _ref$role === void 0 ? "" : _ref$role,
305
+ _ref$roles = _ref.roles,
306
+ roles = _ref$roles === void 0 ? [] : _ref$roles;
307
+ var _useTranslation = reactI18next.useTranslation(),
308
+ t = _useTranslation.t;
309
+ var _useFormikContext = formik.useFormikContext(),
310
+ values = _useFormikContext.values,
311
+ setFieldValue = _useFormikContext.setFieldValue;
312
+ var setDefaultSelection = function setDefaultSelection(currentRole) {
313
+ var _values$appRoles;
314
+ var condition = isAdminRole(currentRole);
315
+ (_values$appRoles = values.appRoles) === null || _values$appRoles === void 0 || _values$appRoles.forEach(function (_ref2, index) {
316
+ var _globalProps$appName;
317
+ var appName = _ref2.appName,
318
+ activeRole = _ref2.activeRole;
319
+ if (appName === ((_globalProps$appName = initializers.globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
320
+ setFieldValue("appRoles[".concat(index, "].activeRole"), currentRole);
321
+ return;
322
+ }
323
+ if (condition(activeRole)) return;
324
+ var matchingRole = neetoCist._findBy({
325
+ name: condition
326
+ }, globalRoles[appName]);
327
+ if (matchingRole) {
328
+ setFieldValue("appRoles[".concat(index, "].activeRole"), matchingRole.name);
329
+ }
330
+ });
331
+ };
332
+ return /*#__PURE__*/jsxRuntime.jsx(Select.FormikRadioGroup, {
333
+ stacked: true,
334
+ className: "w-full grow-0",
335
+ "data-testid": "ntm-manage-member-roles-group",
336
+ labelProps: {
337
+ className: "w-full"
338
+ },
339
+ name: "role",
340
+ label: /*#__PURE__*/jsxRuntime.jsxs("span", {
341
+ className: "flex w-full items-center justify-between",
342
+ children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Label, {
343
+ children: [t("neetoTeamMembers.common.role", constants.SINGULAR), /*#__PURE__*/jsxRuntime.jsx("span", {
344
+ className: "text-destructive",
345
+ children: " *"
346
+ })]
347
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
348
+ asChild: true,
349
+ variant: "link",
350
+ children: /*#__PURE__*/jsxRuntime.jsx("a", {
351
+ href: config.pathToRolesPage,
352
+ children: t("neetoTeamMembers.labels.manageRole", constants.PLURAL)
353
+ })
354
+ })]
355
+ }),
356
+ onChange: function onChange(_ref3) {
357
+ var value = _ref3.target.value;
358
+ setFieldValue("role", value);
359
+ if (!isEdit) setDefaultSelection(value);
360
+ },
361
+ children: roles.map(function (_ref4) {
362
+ var id = _ref4.id,
363
+ name = _ref4.name;
364
+ return /*#__PURE__*/jsxRuntime.jsx("label", {
365
+ className: "w-full cursor-pointer py-2 first:pt-0",
366
+ htmlFor: neetoCist.slugify(name),
367
+ children: /*#__PURE__*/jsxRuntime.jsx(Select.FormikRadioGroup.Item, {
368
+ "data-testid": "ntm-manage-member-roles-button",
369
+ defaultChecked: ramda.identical(name, role),
370
+ id: neetoCist.slugify(name),
371
+ label: name,
372
+ value: name
373
+ })
374
+ }, id);
375
+ })
376
+ });
377
+ };
378
+
379
+ exports.COUNTER_PROPS = COUNTER_PROPS;
380
+ exports.DEFAULT_COMPONENT_CONFIG = DEFAULT_COMPONENT_CONFIG;
381
+ exports.EMAIL_REGEX = EMAIL_REGEX;
382
+ exports.FILTER_INVALID_EMAILS = FILTER_INVALID_EMAILS;
383
+ exports.FORM_PAGES = FORM_PAGES;
384
+ exports.MEMBERS_FORM_COMPONENT_MAPPER = MEMBERS_FORM_COMPONENT_MAPPER;
385
+ exports.NEETO_AUTH_MANAGE_PRODUCT_URL = NEETO_AUTH_MANAGE_PRODUCT_URL;
386
+ exports.RolesRadioGroup = RolesRadioGroup;
387
+ exports.buildValidationSchema = buildValidationSchema;
388
+ exports.getInviteURL = getInviteURL;
389
+ exports.getSingleInvitationTranslationProps = getSingleInvitationTranslationProps;
390
+ exports.remainingExpiryDays = remainingExpiryDays;
391
+ exports.renderInitialValues = renderInitialValues;
392
+ exports.renderPayload = renderPayload;
393
+ //# sourceMappingURL=RolesRadioGroup-fBmS68cW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RolesRadioGroup-fBmS68cW.js","sources":["../app/javascript/src/components/v2/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/components/v2/TeamMembers/ManageMember/constants.js","../app/javascript/src/components/v2/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/components/v2/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nPage.Header = PageWrapper;\nPage.Title = PageWrapper;\nPage.Description = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { Dialog, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\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: Sheet,\n modal: Dialog,\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 { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { dayjs } from \"neetocommons/utils\";\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 \"v2/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 timeZone: selectedMember.timeZone || \"\",\n dateFormat: selectedMember.dateFormat || \"\",\n timeFormat: selectedMember.timeFormat || \"\",\n countryId: selectedMember.countryIdentifier || \"\",\n language: selectedMember.language || \"\",\n avatar: {\n imageUrl: selectedMember.profileImageUrl || \"\",\n file: null,\n },\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 if (selectedMember) {\n const {\n timeZone,\n dateFormat,\n timeFormat,\n countryId,\n language,\n avatar,\n ...rest\n } = otherValues;\n\n const payload = {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...rest,\n };\n\n const profileFields = {\n timeZone,\n dateFormat,\n timeFormat,\n countryIdentifier: countryId,\n language,\n };\n\n const profile = Object.fromEntries(\n Object.entries(profileFields).filter(([, v]) => v)\n );\n\n if (Object.keys(profile).length > 0 || avatar?.file) {\n payload.profile = profile;\n }\n\n return payload;\n }\n\n return {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\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: (\n <Button asChild variant=\"link\">\n <a href=\"mailto:support@neeto.com\">support</a>\n </Button>\n ),\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 { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FormikRadioGroup } from \"v2/common/formik\";\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 <FormikRadioGroup\n stacked\n className=\"w-full grow-0\"\n data-testid=\"ntm-manage-member-roles-group\"\n labelProps={{ className: \"w-full\" }}\n name=\"role\"\n label={\n <span className=\"flex w-full items-center justify-between\">\n <Label>\n {t(\"neetoTeamMembers.common.role\", SINGULAR)}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <Button asChild variant=\"link\">\n <a href={config.pathToRolesPage}>\n {t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n </a>\n </Button>\n </span>\n }\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n if (!isEdit) setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"w-full cursor-pointer py-2 first:pt-0\"\n htmlFor={slugify(name)}\n key={id}\n >\n <FormikRadioGroup.Item\n data-testid=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n value={name}\n />\n </label>\n ))}\n </FormikRadioGroup>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Title","Description","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","Sheet","modal","Dialog","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","timeZone","dateFormat","timeFormat","countryId","countryIdentifier","language","avatar","imageUrl","profileImageUrl","file","appRoles","renderPayload","otherValues","arguments","length","undefined","rest","payload","active","organizationRole","value","profileFields","profile","fromEntries","entries","filter","_ref3","_ref4","_slicedToArray","v","user","pluck","getSingleInvitationTranslationProps","_ref5","selectedEmail","count","buildValidationSchema","_ref6","memberLimit","activeUsersCount","min","test","_ref7","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","asChild","variant","href","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","FormikRadioGroup","stacked","labelProps","_jsxs","Label","SINGULAR","pathToRolesPage","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}