@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,352 @@
1
+ import { Dialog, Sheet, Button, Label } from '@bigbinary/neeto-atoms';
2
+ import { useFormikContext } from 'formik';
3
+ import { toLabelAndValue, _findBy, notEquals, slugify } from '@bigbinary/neeto-cist';
4
+ import { PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
5
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
6
+ import { prop, isNotNil, isNil, keys, pick, move, pluck, includes, equals, identical } from 'ramda';
7
+ import { Trans, useTranslation } from 'react-i18next';
8
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
10
+ import { jsx, jsxs } from 'react/jsx-runtime';
11
+ import { F as FormikRadioGroup } from './Select-DZ56UG-l.js';
12
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
13
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
14
+ import { t } from 'i18next';
15
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
16
+ import * as yup from 'yup';
17
+ import { A as ADMIN_ROLES, c as ADMIN_ROLE_NAME } from './constants-B1L6arSR.js';
18
+
19
+ var _excluded$1 = ["className", "children"],
20
+ _excluded2$1 = ["className", "children"];
21
+ 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; }
22
+ 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(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; }
23
+ var PageWrapper = function PageWrapper(_ref) {
24
+ var className = _ref.className,
25
+ children = _ref.children,
26
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
27
+ return /*#__PURE__*/jsx("div", _objectSpread$1(_objectSpread$1({}, _objectSpread$1({
28
+ className: className
29
+ }, otherProps)), {}, {
30
+ children: children
31
+ }));
32
+ };
33
+ var Page = function Page(_ref2) {
34
+ var className = _ref2.className,
35
+ children = _ref2.children,
36
+ otherProps = _objectWithoutProperties(_ref2, _excluded2$1);
37
+ return /*#__PURE__*/jsx("div", _objectSpread$1(_objectSpread$1({}, _objectSpread$1({
38
+ className: className
39
+ }, otherProps)), {}, {
40
+ children: children
41
+ }));
42
+ };
43
+ Page.Header = PageWrapper;
44
+ Page.Title = PageWrapper;
45
+ Page.Description = PageWrapper;
46
+ Page.Body = PageWrapper;
47
+ Page.Footer = PageWrapper;
48
+
49
+ var _globalProps$organiza$1;
50
+ var NAME_INPUT_VALIDATION_SCHEMA = {
51
+ firstName: yup.string().trim(t("neetoTeamMembers.validations.removeSpaces")).strict(true),
52
+ lastName: yup.string().trim(t("neetoTeamMembers.validations.removeSpaces")).strict(true)
53
+ };
54
+ var ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {
55
+ role: yup.string().required(t("neetoTeamMembers.validations.roleRequired"))
56
+ };
57
+ var APP_ROLES_SCHEMA = {
58
+ appsRoles: yup.array().of(yup.object().shape({
59
+ appName: yup.string(),
60
+ isEnabled: yup["boolean"](),
61
+ role: yup.string().required(t("neetoTeamMembers.validations.roleRequired"))
62
+ }))
63
+ };
64
+ var FILTER_INVALID_EMAILS = {
65
+ label: t("neetoTeamMembers.validations.filterInvalidEmails")
66
+ };
67
+ var COUNTER_PROPS = {
68
+ label: t("neetoTeamMembers.common.email", PLURAL),
69
+ startsFrom: 4
70
+ };
71
+ var DEFAULT_COMPONENT_CONFIG = {
72
+ type: "pane",
73
+ isOpen: false,
74
+ className: "",
75
+ headerProps: {},
76
+ bodyProps: {},
77
+ footerProps: {}
78
+ };
79
+ var MEMBERS_FORM_COMPONENT_MAPPER = {
80
+ pane: Sheet,
81
+ modal: Dialog,
82
+ page: Page
83
+ };
84
+ var FORM_PAGES = {
85
+ MAIN: "main",
86
+ APP_LIST: "appList",
87
+ CONFIRMATION: "confirmation",
88
+ INVITE_LINK: "inviteLink"
89
+ };
90
+ var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
91
+ var NEETO_AUTH_MANAGE_PRODUCT_URL = "".concat((_globalProps$organiza$1 = globalProps.organization) === null || _globalProps$organiza$1 === void 0 ? void 0 : _globalProps$organiza$1.authAppUrl, "/admin/admin-panel/general/products");
92
+
93
+ var _globalProps$organiza;
94
+ var _excluded = ["appRoles", "emails", "firstName", "lastName", "role"],
95
+ _excluded2 = ["timeZone", "dateFormat", "timeFormat", "countryId", "language", "avatar"];
96
+ 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; }
97
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
98
+ var getProductName = function getProductName(activeAppRoles) {
99
+ var _activeAppRoles$;
100
+ return activeAppRoles !== null && activeAppRoles !== void 0 && (_activeAppRoles$ = activeAppRoles[0]) !== null && _activeAppRoles$ !== void 0 && _activeAppRoles$.appName ? t("neetoTeamMembers.labels.neeto_", {
101
+ product: activeAppRoles[0].appName
102
+ }) : globalProps.appName;
103
+ };
104
+ var getActiveRole = function getActiveRole(activeAppRoles, role) {
105
+ var _activeAppRoles$2;
106
+ return (activeAppRoles === null || activeAppRoles === void 0 || (_activeAppRoles$2 = activeAppRoles[0]) === null || _activeAppRoles$2 === void 0 ? void 0 : _activeAppRoles$2.activeRole) || role;
107
+ };
108
+ var getDefaultRole = function getDefaultRole(roles, currentAppRole, appName) {
109
+ var _globalProps$appName;
110
+ if (appName === ((_globalProps$appName = globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
111
+ return currentAppRole;
112
+ }
113
+ var condition = isAdminRole(currentAppRole);
114
+ var role = _findBy({
115
+ name: condition
116
+ }, roles);
117
+ return role ? role.name : roles[0].name;
118
+ };
119
+ var generateAppsRolesInitialValue = function generateAppsRolesInitialValue(globalRoles, currentAppRole) {
120
+ var _globalProps$appName2;
121
+ if (!globalRoles) return [];
122
+ var appNames = Object.keys(globalRoles);
123
+ var currentApp = (_globalProps$appName2 = globalProps.appName) === null || _globalProps$appName2 === void 0 ? void 0 : _globalProps$appName2.substring(5);
124
+ var currentAppNameIndex = appNames.indexOf(currentApp);
125
+ var appNamesSorted = move(currentAppNameIndex, 0, appNames);
126
+ return appNamesSorted.map(function (appName) {
127
+ return {
128
+ appName: appName,
129
+ activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),
130
+ isEnabled: true,
131
+ isPrimary: currentApp === appName
132
+ };
133
+ });
134
+ };
135
+ var isAdminRole = function isAdminRole(role) {
136
+ return includes(role, ADMIN_ROLES) ? equals(ADMIN_ROLE_NAME) : notEquals(ADMIN_ROLE_NAME);
137
+ };
138
+ var renderInitialValues = function renderInitialValues(_ref) {
139
+ var _roles$1$name, _roles$, _roles$2;
140
+ var _ref$additionalFields = _ref.additionalFieldsInitialValues,
141
+ additionalFieldsInitialValues = _ref$additionalFields === void 0 ? {} : _ref$additionalFields,
142
+ globalRoles = _ref.globalRoles,
143
+ roles = _ref.roles,
144
+ selectedMember = _ref.selectedMember;
145
+ if (isNotNil(selectedMember)) {
146
+ var keysToPick = ["firstName", "lastName", "role"].concat(_toConsumableArray(keys(additionalFieldsInitialValues)));
147
+ return _objectSpread(_objectSpread(_objectSpread({}, additionalFieldsInitialValues), pick(keysToPick, selectedMember)), {}, {
148
+ emails: [_objectSpread(_objectSpread({}, toLabelAndValue(selectedMember.email)), {}, {
149
+ valid: true
150
+ })],
151
+ timeZone: selectedMember.timeZone || "",
152
+ dateFormat: selectedMember.dateFormat || "",
153
+ timeFormat: selectedMember.timeFormat || "",
154
+ countryId: selectedMember.countryIdentifier || "",
155
+ language: selectedMember.language || "",
156
+ avatar: {
157
+ imageUrl: selectedMember.profileImageUrl || "",
158
+ file: null
159
+ }
160
+ });
161
+ }
162
+ return _objectSpread({
163
+ firstName: "",
164
+ lastName: "",
165
+ emails: [],
166
+ role: (_roles$1$name = (_roles$ = roles[1]) === null || _roles$ === void 0 ? void 0 : _roles$.name) !== null && _roles$1$name !== void 0 ? _roles$1$name : "",
167
+ appRoles: generateAppsRolesInitialValue(globalRoles, (_roles$2 = roles[1]) === null || _roles$2 === void 0 ? void 0 : _roles$2.name)
168
+ }, additionalFieldsInitialValues);
169
+ };
170
+ var renderPayload = function renderPayload(_ref2) {
171
+ var appRoles = _ref2.appRoles,
172
+ emails = _ref2.emails,
173
+ firstName = _ref2.firstName,
174
+ lastName = _ref2.lastName,
175
+ role = _ref2.role,
176
+ otherValues = _objectWithoutProperties(_ref2, _excluded);
177
+ var selectedMember = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
178
+ if (selectedMember) {
179
+ var timeZone = otherValues.timeZone,
180
+ dateFormat = otherValues.dateFormat,
181
+ timeFormat = otherValues.timeFormat,
182
+ countryId = otherValues.countryId,
183
+ language = otherValues.language,
184
+ avatar = otherValues.avatar,
185
+ rest = _objectWithoutProperties(otherValues, _excluded2);
186
+ var payload = _objectSpread({
187
+ active: true,
188
+ firstName: firstName.trim(),
189
+ lastName: lastName.trim(),
190
+ organizationRole: role,
191
+ email: emails[0].value
192
+ }, rest);
193
+ var profileFields = {
194
+ timeZone: timeZone,
195
+ dateFormat: dateFormat,
196
+ timeFormat: timeFormat,
197
+ countryIdentifier: countryId,
198
+ language: language
199
+ };
200
+ var profile = Object.fromEntries(Object.entries(profileFields).filter(function (_ref3) {
201
+ var _ref4 = _slicedToArray(_ref3, 2),
202
+ v = _ref4[1];
203
+ return v;
204
+ }));
205
+ if (Object.keys(profile).length > 0 || avatar !== null && avatar !== void 0 && avatar.file) {
206
+ payload.profile = profile;
207
+ }
208
+ return payload;
209
+ }
210
+ return {
211
+ user: _objectSpread({
212
+ emails: pluck("value", emails),
213
+ organizationRole: role,
214
+ appRoles: appRoles
215
+ }, otherValues)
216
+ };
217
+ };
218
+ var getSingleInvitationTranslationProps = function getSingleInvitationTranslationProps(_ref5) {
219
+ var activeAppRoles = _ref5.activeAppRoles,
220
+ role = _ref5.role,
221
+ selectedEmail = _ref5.selectedEmail;
222
+ return {
223
+ count: selectedEmail.length,
224
+ emails: selectedEmail,
225
+ product: getProductName(activeAppRoles),
226
+ role: getActiveRole(activeAppRoles, role)
227
+ };
228
+ };
229
+ var buildValidationSchema = function buildValidationSchema(_ref6) {
230
+ var selectedMember = _ref6.selectedMember,
231
+ memberLimit = _ref6.memberLimit,
232
+ activeUsersCount = _ref6.activeUsersCount;
233
+ return yup.object().shape(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, NAME_INPUT_VALIDATION_SCHEMA), ROLES_RADIO_GROUP_VALIDATION_SCHEMA), APP_ROLES_SCHEMA), {}, {
234
+ emails: yup.array().min(1, t("neetoTeamMembers.validations.minOneEmail")).test("are-all-emails-valid", function (_ref7) {
235
+ var value = _ref7.value;
236
+ return t("neetoTeamMembers.validations.validEmail", {
237
+ count: value.length
238
+ });
239
+ }, function (emails) {
240
+ return emails.every(prop("valid"));
241
+ }).test("is-emails-length-within-available-members-capacity", /*#__PURE__*/jsx(Trans, {
242
+ i18nKey: "neetoTeamMembers.validations.memberLimitExceeded",
243
+ values: {
244
+ limit: memberLimit
245
+ },
246
+ components: {
247
+ emailTo: /*#__PURE__*/jsx(Button, {
248
+ asChild: true,
249
+ variant: "link",
250
+ children: /*#__PURE__*/jsx("a", {
251
+ href: "mailto:support@neeto.com",
252
+ children: "support"
253
+ })
254
+ })
255
+ }
256
+ }), function (emails) {
257
+ return isNotNil(selectedMember) || isNil(memberLimit) || emails.length <= memberLimit - activeUsersCount;
258
+ }).nullable()
259
+ }));
260
+ };
261
+ var getInviteURL = function getInviteURL(inviteToken) {
262
+ return "".concat(window.location.origin, "/invite-link/").concat(inviteToken);
263
+ };
264
+ var remainingExpiryDays = function remainingExpiryDays(expiryDate) {
265
+ var today = dayjs().startOf("day");
266
+ var expiry = dayjs(expiryDate).startOf("day");
267
+ return expiry.diff(today, "day");
268
+ };
269
+ "".concat((_globalProps$organiza = globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.authAppUrl, "/settings/general/products");
270
+
271
+ var RolesRadioGroup = function RolesRadioGroup(_ref) {
272
+ var config = _ref.config,
273
+ globalRoles = _ref.globalRoles,
274
+ isEdit = _ref.isEdit,
275
+ _ref$role = _ref.role,
276
+ role = _ref$role === void 0 ? "" : _ref$role,
277
+ _ref$roles = _ref.roles,
278
+ roles = _ref$roles === void 0 ? [] : _ref$roles;
279
+ var _useTranslation = useTranslation(),
280
+ t = _useTranslation.t;
281
+ var _useFormikContext = useFormikContext(),
282
+ values = _useFormikContext.values,
283
+ setFieldValue = _useFormikContext.setFieldValue;
284
+ var setDefaultSelection = function setDefaultSelection(currentRole) {
285
+ var _values$appRoles;
286
+ var condition = isAdminRole(currentRole);
287
+ (_values$appRoles = values.appRoles) === null || _values$appRoles === void 0 || _values$appRoles.forEach(function (_ref2, index) {
288
+ var _globalProps$appName;
289
+ var appName = _ref2.appName,
290
+ activeRole = _ref2.activeRole;
291
+ if (appName === ((_globalProps$appName = globalProps.appName) === null || _globalProps$appName === void 0 ? void 0 : _globalProps$appName.substring(5))) {
292
+ setFieldValue("appRoles[".concat(index, "].activeRole"), currentRole);
293
+ return;
294
+ }
295
+ if (condition(activeRole)) return;
296
+ var matchingRole = _findBy({
297
+ name: condition
298
+ }, globalRoles[appName]);
299
+ if (matchingRole) {
300
+ setFieldValue("appRoles[".concat(index, "].activeRole"), matchingRole.name);
301
+ }
302
+ });
303
+ };
304
+ return /*#__PURE__*/jsx(FormikRadioGroup, {
305
+ stacked: true,
306
+ className: "w-full grow-0",
307
+ "data-testid": "ntm-manage-member-roles-group",
308
+ labelProps: {
309
+ className: "w-full"
310
+ },
311
+ name: "role",
312
+ label: /*#__PURE__*/jsxs("span", {
313
+ className: "flex w-full items-center justify-between",
314
+ children: [/*#__PURE__*/jsxs(Label, {
315
+ children: [t("neetoTeamMembers.common.role", SINGULAR), /*#__PURE__*/jsx("span", {
316
+ className: "text-destructive",
317
+ children: " *"
318
+ })]
319
+ }), /*#__PURE__*/jsx(Button, {
320
+ asChild: true,
321
+ variant: "link",
322
+ children: /*#__PURE__*/jsx("a", {
323
+ href: config.pathToRolesPage,
324
+ children: t("neetoTeamMembers.labels.manageRole", PLURAL)
325
+ })
326
+ })]
327
+ }),
328
+ onChange: function onChange(_ref3) {
329
+ var value = _ref3.target.value;
330
+ setFieldValue("role", value);
331
+ if (!isEdit) setDefaultSelection(value);
332
+ },
333
+ children: roles.map(function (_ref4) {
334
+ var id = _ref4.id,
335
+ name = _ref4.name;
336
+ return /*#__PURE__*/jsx("label", {
337
+ className: "w-full cursor-pointer py-2 first:pt-0",
338
+ htmlFor: slugify(name),
339
+ children: /*#__PURE__*/jsx(FormikRadioGroup.Item, {
340
+ "data-testid": "ntm-manage-member-roles-button",
341
+ defaultChecked: identical(name, role),
342
+ id: slugify(name),
343
+ label: name,
344
+ value: name
345
+ })
346
+ }, id);
347
+ })
348
+ });
349
+ };
350
+
351
+ 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, buildValidationSchema as c, renderInitialValues as d, renderPayload as e, getSingleInvitationTranslationProps as g, remainingExpiryDays as r };
352
+ //# sourceMappingURL=RolesRadioGroup-tSNC-Wtu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RolesRadioGroup-tSNC-Wtu.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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"}
@@ -0,0 +1,119 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var React = require('react');
6
+ var formik = require('formik');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
10
+ var ramda = require('ramda');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
15
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWithoutProperties);
16
+ var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
17
+
18
+ var _excluded$2 = ["formikProps", "formProps", "children"];
19
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty__default.default(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
+ var FormikForm = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
22
+ var formikProps = _ref.formikProps,
23
+ formProps = _ref.formProps,
24
+ _children = _ref.children,
25
+ rest = _objectWithoutProperties__default.default(_ref, _excluded$2);
26
+ return /*#__PURE__*/jsxRuntime.jsx(formik.Formik, _objectSpread$2(_objectSpread$2({}, formikProps), {}, {
27
+ children: function children(formikBag) {
28
+ return /*#__PURE__*/jsxRuntime.jsx(formik.Form, _objectSpread$2(_objectSpread$2({}, _objectSpread$2(_objectSpread$2({
29
+ ref: ref
30
+ }, formProps), rest)), {}, {
31
+ children: typeof _children === "function" ? _children(formikBag) : _children
32
+ }));
33
+ }
34
+ }));
35
+ });
36
+ FormikForm.displayName = "FormikForm";
37
+
38
+ var _excluded$1 = ["name", "label", "required", "stacked", "className", "onChange", "children"];
39
+ 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; }
40
+ 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; }
41
+ var FormikRadioGroup = function FormikRadioGroup(_ref) {
42
+ var name = _ref.name,
43
+ label = _ref.label,
44
+ required = _ref.required,
45
+ stacked = _ref.stacked,
46
+ className = _ref.className,
47
+ onChangeProp = _ref.onChange,
48
+ children = _ref.children,
49
+ rest = _objectWithoutProperties__default.default(_ref, _excluded$1);
50
+ var _useField = formik.useField(name),
51
+ _useField2 = _slicedToArray__default.default(_useField, 3),
52
+ field = _useField2[0],
53
+ meta = _useField2[1],
54
+ helpers = _useField2[2];
55
+ var hasError = meta.touched && meta.error;
56
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.RadioGroup, _objectSpread$1(_objectSpread$1({
57
+ className: className,
58
+ label: label,
59
+ required: required,
60
+ error: hasError ? meta.error : "",
61
+ orientation: stacked ? "vertical" : "horizontal",
62
+ value: field.value,
63
+ onValueChange: function onValueChange(val) {
64
+ helpers.setValue(val);
65
+ onChangeProp === null || onChangeProp === void 0 || onChangeProp({
66
+ target: {
67
+ value: val
68
+ }
69
+ });
70
+ }
71
+ }, rest), {}, {
72
+ children: children
73
+ }));
74
+ };
75
+ FormikRadioGroup.Item = neetoAtoms.RadioGroup.Item;
76
+
77
+ var _excluded = ["name", "onOpenChange", "onChange"];
78
+ 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; }
79
+ 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; }
80
+ var FormikSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
81
+ var name = props.name,
82
+ _onOpenChange = props.onOpenChange,
83
+ _onChange = props.onChange,
84
+ otherProps = _objectWithoutProperties__default.default(props, _excluded);
85
+ var _useField = formik.useField(name),
86
+ _useField2 = _slicedToArray__default.default(_useField, 3),
87
+ field = _useField2[0],
88
+ meta = _useField2[1],
89
+ _useField2$ = _useField2[2],
90
+ setValue = _useField2$.setValue,
91
+ setTouched = _useField2$.setTouched;
92
+ var _useFormikContext = formik.useFormikContext(),
93
+ _useFormikContext$sta = _useFormikContext.status,
94
+ status = _useFormikContext$sta === void 0 ? {} : _useFormikContext$sta,
95
+ setStatus = _useFormikContext.setStatus;
96
+ var fieldStatus = formik.getIn(status, name);
97
+ var selectProps = _objectSpread(_objectSpread({}, otherProps), {}, {
98
+ ref: ref,
99
+ error: meta.touched ? meta.error || fieldStatus : "",
100
+ name: field.name,
101
+ value: field.value,
102
+ onOpenChange: function onOpenChange(open) {
103
+ if (!open) setTouched(true);
104
+ _onOpenChange === null || _onOpenChange === void 0 || _onOpenChange(open);
105
+ },
106
+ onChange: function onChange(value) {
107
+ setStatus(ramda.dissoc(name, status));
108
+ setValue(value);
109
+ _onChange === null || _onChange === void 0 || _onChange(value);
110
+ }
111
+ });
112
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Select, _objectSpread({}, selectProps));
113
+ });
114
+ FormikSelect.displayName = "FormikSelect";
115
+
116
+ exports.FormikForm = FormikForm;
117
+ exports.FormikRadioGroup = FormikRadioGroup;
118
+ exports.FormikSelect = FormikSelect;
119
+ //# sourceMappingURL=Select-CshPoN2b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-CshPoN2b.js","sources":["../app/javascript/src/components/v2/common/formik/Form.jsx","../app/javascript/src/components/v2/common/formik/RadioGroup.jsx","../app/javascript/src/components/v2/common/formik/Select.jsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { Formik, Form as FormikFormBase } from \"formik\";\n\nconst FormikForm = forwardRef(\n ({ formikProps, formProps, children, ...rest }, ref) => (\n <Formik {...formikProps}>\n {formikBag => (\n <FormikFormBase {...{ ref, ...formProps, ...rest }}>\n {typeof children === \"function\" ? children(formikBag) : children}\n </FormikFormBase>\n )}\n </Formik>\n )\n);\n\nFormikForm.displayName = \"FormikForm\";\n\nexport default FormikForm;\n","import { RadioGroup } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\n\nconst FormikRadioGroup = ({\n name,\n label,\n required,\n stacked,\n className,\n onChange: onChangeProp,\n children,\n ...rest\n}) => {\n const [field, meta, helpers] = useField(name);\n const hasError = meta.touched && meta.error;\n\n return (\n <RadioGroup\n {...{ className, label, required }}\n error={hasError ? meta.error : \"\"}\n orientation={stacked ? \"vertical\" : \"horizontal\"}\n value={field.value}\n onValueChange={val => {\n helpers.setValue(val);\n onChangeProp?.({ target: { value: val } });\n }}\n {...rest}\n >\n {children}\n </RadioGroup>\n );\n};\n\nFormikRadioGroup.Item = RadioGroup.Item;\n\nexport default FormikRadioGroup;\n","import { forwardRef } from \"react\";\n\nimport { Select } from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext, getIn } from \"formik\";\nimport { dissoc } from \"ramda\";\n\nconst FormikSelect = forwardRef((props, ref) => {\n const { name, onOpenChange, onChange, ...otherProps } = props;\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status = {}, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n const selectProps = {\n ...otherProps,\n ref,\n error: meta.touched ? meta.error || fieldStatus : \"\",\n name: field.name,\n value: field.value,\n onOpenChange: open => {\n if (!open) setTouched(true);\n onOpenChange?.(open);\n },\n onChange: value => {\n setStatus(dissoc(name, status));\n setValue(value);\n onChange?.(value);\n },\n };\n\n return <Select {...selectProps} />;\n});\n\nFormikSelect.displayName = \"FormikSelect\";\n\nexport default FormikSelect;\n"],"names":["FormikForm","forwardRef","_ref","ref","formikProps","formProps","children","rest","_objectWithoutProperties","_excluded","_jsx","Formik","_objectSpread","formikBag","FormikFormBase","displayName","FormikRadioGroup","name","label","required","stacked","className","onChangeProp","onChange","_useField","useField","_useField2","_slicedToArray","field","meta","helpers","hasError","touched","error","RadioGroup","orientation","value","onValueChange","val","setValue","target","Item","FormikSelect","props","onOpenChange","otherProps","_useField2$","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","selectProps","open","dissoc","Select"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,UAAU,gBAAGC,gBAAU,CAC3B,UAAAC,IAAA,EAAgDC,GAAG,EAAA;AAAA,EAAA,IAAhDC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;IAAEC,SAAQ,GAAAJ,IAAA,CAARI,QAAQ;AAAKC,IAAAA,IAAI,GAAAC,yCAAA,CAAAN,IAAA,EAAAO,WAAA,CAAA;EAAA,oBAC1CC,cAAA,CAACC,aAAM,EAAAC,eAAA,CAAAA,eAAA,KAAKR,WAAW,CAAA,EAAA,EAAA,EAAA;IAAAE,QAAA,EACpB,SAAAA,QAAAA,CAAAO,SAAS,EAAA;MAAA,oBACRH,cAAA,CAACI,WAAc,EAAAF,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA;AAAOT,QAAAA,GAAG,EAAHA;OAAG,EAAKE,SAAS,GAAKE,IAAI,CAAA,CAAA,EAAA,EAAA,EAAA;QAAAD,QAAA,EAC7C,OAAOA,SAAQ,KAAK,UAAU,GAAGA,SAAQ,CAACO,SAAS,CAAC,GAAGP;AAAQ,OAAA,CAClD,CAAC;AAAA,IAAA;AAClB,GAAA,CACK,CAAC;AAAA,CAEb;AAEAN,UAAU,CAACe,WAAW,GAAG,YAAY;;;;;ACbrC,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAd,IAAA,EAShB;AAAA,EAAA,IARJe,IAAI,GAAAf,IAAA,CAAJe,IAAI;IACJC,KAAK,GAAAhB,IAAA,CAALgB,KAAK;IACLC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IACRC,OAAO,GAAAlB,IAAA,CAAPkB,OAAO;IACPC,SAAS,GAAAnB,IAAA,CAATmB,SAAS;IACCC,YAAY,GAAApB,IAAA,CAAtBqB,QAAQ;IACRjB,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;AACLC,IAAAA,IAAI,GAAAC,yCAAA,CAAAN,IAAA,EAAAO,WAAA,CAAA;AAEP,EAAA,IAAAe,SAAA,GAA+BC,eAAQ,CAACR,IAAI,CAAC;IAAAS,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAEI,IAAAA,OAAO,GAAAJ,UAAA,CAAA,CAAA,CAAA;EAC3B,IAAMK,QAAQ,GAAGF,IAAI,CAACG,OAAO,IAAIH,IAAI,CAACI,KAAK;AAE3C,EAAA,oBACEvB,cAAA,CAACwB,qBAAU,EAAAtB,eAAA,CAAAA,eAAA,CAAA;AACHS,IAAAA,SAAS,EAATA,SAAS;AAAEH,IAAAA,KAAK,EAALA,KAAK;AAAEC,IAAAA,QAAQ,EAARA,QAAQ;AAChCc,IAAAA,KAAK,EAAEF,QAAQ,GAAGF,IAAI,CAACI,KAAK,GAAG,EAAG;AAClCE,IAAAA,WAAW,EAAEf,OAAO,GAAG,UAAU,GAAG,YAAa;IACjDgB,KAAK,EAAER,KAAK,CAACQ,KAAM;AACnBC,IAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAEC,GAAG,EAAI;AACpBR,MAAAA,OAAO,CAACS,QAAQ,CAACD,GAAG,CAAC;AACrBhB,MAAAA,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,IAAZA,YAAY,CAAG;AAAEkB,QAAAA,MAAM,EAAE;AAAEJ,UAAAA,KAAK,EAAEE;AAAI;AAAE,OAAC,CAAC;AAC5C,IAAA;AAAE,GAAA,EACE/B,IAAI,CAAA,EAAA,EAAA,EAAA;AAAAD,IAAAA,QAAA,EAEPA;AAAQ,GAAA,CACC,CAAC;AAEjB;AAEAU,gBAAgB,CAACyB,IAAI,GAAGP,qBAAU,CAACO,IAAI;;;;;AC3BvC,IAAMC,YAAY,gBAAGzC,gBAAU,CAAC,UAAC0C,KAAK,EAAExC,GAAG,EAAK;AAC9C,EAAA,IAAQc,IAAI,GAA4C0B,KAAK,CAArD1B,IAAI;IAAE2B,aAAY,GAA8BD,KAAK,CAA/CC,YAAY;IAAErB,SAAQ,GAAoBoB,KAAK,CAAjCpB,QAAQ;AAAKsB,IAAAA,UAAU,GAAArC,yCAAA,CAAKmC,KAAK,EAAAlC,SAAA,CAAA;AAC7D,EAAA,IAAAe,SAAA,GAAgDC,eAAQ,CAACR,IAAI,CAAC;IAAAS,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,IAAI,GAAAH,UAAA,CAAA,CAAA,CAAA;AAAAoB,IAAAA,WAAA,GAAApB,UAAA,CAAA,CAAA,CAAA;IAAIa,QAAQ,GAAAO,WAAA,CAARP,QAAQ;IAAEQ,UAAU,GAAAD,WAAA,CAAVC,UAAU;AAC1C,EAAA,IAAAC,iBAAA,GAAmCC,uBAAgB,EAAE;IAAAC,qBAAA,GAAAF,iBAAA,CAA7CG,MAAM;AAANA,IAAAA,MAAM,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAEE,SAAS,GAAAJ,iBAAA,CAATI,SAAS;AAC9B,EAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAElC,IAAI,CAAC;AAEvC,EAAA,IAAMsC,WAAW,GAAA3C,aAAA,CAAAA,aAAA,KACZiC,UAAU,CAAA,EAAA,EAAA,EAAA;AACb1C,IAAAA,GAAG,EAAHA,GAAG;IACH8B,KAAK,EAAEJ,IAAI,CAACG,OAAO,GAAGH,IAAI,CAACI,KAAK,IAAIoB,WAAW,GAAG,EAAE;IACpDpC,IAAI,EAAEW,KAAK,CAACX,IAAI;IAChBmB,KAAK,EAAER,KAAK,CAACQ,KAAK;AAClBQ,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEY,IAAI,EAAI;AACpB,MAAA,IAAI,CAACA,IAAI,EAAET,UAAU,CAAC,IAAI,CAAC;AAC3BH,MAAAA,aAAY,aAAZA,aAAY,KAAA,MAAA,IAAZA,aAAY,CAAGY,IAAI,CAAC;IACtB,CAAC;AACDjC,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEa,KAAK,EAAI;AACjBgB,MAAAA,SAAS,CAACK,YAAM,CAACxC,IAAI,EAAEkC,MAAM,CAAC,CAAC;MAC/BZ,QAAQ,CAACH,KAAK,CAAC;AACfb,MAAAA,SAAQ,aAARA,SAAQ,KAAA,MAAA,IAARA,SAAQ,CAAGa,KAAK,CAAC;AACnB,IAAA;GAAC,CACF;EAED,oBAAO1B,cAAA,CAACgD,iBAAM,EAAA9C,aAAA,CAAA,EAAA,EAAK2C,WAAW,CAAG,CAAC;AACpC,CAAC;AAEDb,YAAY,CAAC3B,WAAW,GAAG,cAAc;;;;;;"}