@bigbinary/neeto-team-members-frontend 5.1.4 → 5.1.5-beta1

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/dist/.ready +1 -1
  2. package/dist/ManageMember.js +2 -2
  3. package/dist/Profile.js +11 -8
  4. package/dist/Profile.js.map +1 -1
  5. package/dist/{RolesRadioGroup-BefORc9L.js → RolesRadioGroup-0v5JVDZl.js} +5 -3
  6. package/dist/RolesRadioGroup-0v5JVDZl.js.map +1 -0
  7. package/dist/{RolesRadioGroup-Y0ye4oSa.js → RolesRadioGroup-BRWqAkce.js} +5 -3
  8. package/dist/RolesRadioGroup-BRWqAkce.js.map +1 -0
  9. package/dist/{RolesRadioGroup-BaPc-NJ8.js → RolesRadioGroup-C7VAnBwI.js} +13 -15
  10. package/dist/RolesRadioGroup-C7VAnBwI.js.map +1 -0
  11. package/dist/{RolesRadioGroup-cRZea-gs.js → RolesRadioGroup-CsdLyJvN.js} +13 -15
  12. package/dist/RolesRadioGroup-CsdLyJvN.js.map +1 -0
  13. package/dist/RolesRadioGroup.js +1 -1
  14. package/dist/TeamMembers.js +2 -2
  15. package/dist/cjs/ManageMember.js +2 -2
  16. package/dist/cjs/Profile.js +11 -8
  17. package/dist/cjs/Profile.js.map +1 -1
  18. package/dist/cjs/RolesRadioGroup.js +1 -1
  19. package/dist/cjs/TeamMembers.js +2 -2
  20. package/dist/cjs/index.js +2 -2
  21. package/dist/cjs/v2/ManageMember.js +3 -3
  22. package/dist/cjs/v2/Profile.js +21 -20
  23. package/dist/cjs/v2/Profile.js.map +1 -1
  24. package/dist/cjs/v2/RolesRadioGroup.js +1 -1
  25. package/dist/cjs/v2/TeamMembers.js +2 -2
  26. package/dist/cjs/v2/index.js +3 -3
  27. package/dist/{index-DmV3sVid.js → index-BKaV_E74.js} +16 -15
  28. package/dist/index-BKaV_E74.js.map +1 -0
  29. package/dist/{index-DEZO9e9o.js → index-BXIiDsJ1.js} +17 -16
  30. package/dist/index-BXIiDsJ1.js.map +1 -0
  31. package/dist/{index-UR4SZrU9.js → index-CHBsVjnm.js} +6 -5
  32. package/dist/index-CHBsVjnm.js.map +1 -0
  33. package/dist/{index-Ccq1w-Cg.js → index-THxL0vR4.js} +6 -5
  34. package/dist/index-THxL0vR4.js.map +1 -0
  35. package/dist/index.js +2 -2
  36. package/dist/v2/ManageMember.js +3 -3
  37. package/dist/v2/Profile.js +22 -21
  38. package/dist/v2/Profile.js.map +1 -1
  39. package/dist/v2/RolesRadioGroup.js +1 -1
  40. package/dist/v2/TeamMembers.js +2 -2
  41. package/dist/v2/index.js +3 -3
  42. package/package.json +5 -5
  43. package/dist/RolesRadioGroup-BaPc-NJ8.js.map +0 -1
  44. package/dist/RolesRadioGroup-BefORc9L.js.map +0 -1
  45. package/dist/RolesRadioGroup-Y0ye4oSa.js.map +0 -1
  46. package/dist/RolesRadioGroup-cRZea-gs.js.map +0 -1
  47. package/dist/index-Ccq1w-Cg.js.map +0 -1
  48. package/dist/index-DEZO9e9o.js.map +0 -1
  49. package/dist/index-DmV3sVid.js.map +0 -1
  50. package/dist/index-UR4SZrU9.js.map +0 -1
package/dist/index.js CHANGED
@@ -5,8 +5,8 @@ export { default as Profile } from './Profile.js';
5
5
  export { default as Roles } from './Roles.js';
6
6
  export { P as Permissions } from './Permissions-u64AeX0Q.js';
7
7
  export { default as TeamMembers } from './TeamMembers.js';
8
- export { M as ManageMember } from './index-UR4SZrU9.js';
9
- export { R as RolesRadioGroup } from './RolesRadioGroup-BefORc9L.js';
8
+ export { M as ManageMember } from './index-CHBsVjnm.js';
9
+ export { R as RolesRadioGroup } from './RolesRadioGroup-0v5JVDZl.js';
10
10
  export { default as TeamsAndMembersDropdown } from './TeamsAndMembersDropdown.js';
11
11
  export { default as TeamsDropdown } from './TeamsDropdown.js';
12
12
  export { r as refetchMembers, u as useFetchMembers, a as useFetchMembersCountsPerCategory } from './useTeamsApi-CGY9oJqn.js';
@@ -3,9 +3,9 @@ import '@babel/runtime/helpers/defineProperty';
3
3
  import '@babel/runtime/helpers/slicedToArray';
4
4
  import '@babel/runtime/regenerator';
5
5
  import 'react';
6
- import '@bigbinary/neeto-atoms';
7
6
  import 'classnames';
8
7
  import 'lucide-react';
8
+ import '@bigbinary/neeto-atoms';
9
9
  import '@bigbinary/neeto-commons-frontend/v2/initializers';
10
10
  import '@bigbinary/neeto-commons-frontend/v2/utils';
11
11
  import '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
@@ -14,8 +14,8 @@ import 'react-i18next';
14
14
  import 'sonner';
15
15
  import '../useRolesApi-93OoRU1s.js';
16
16
  import '../useTeamsApi-CGY9oJqn.js';
17
- export { M as default } from '../index-DEZO9e9o.js';
18
- import '../RolesRadioGroup-BaPc-NJ8.js';
17
+ export { M as default } from '../index-BXIiDsJ1.js';
18
+ import '../RolesRadioGroup-C7VAnBwI.js';
19
19
  import '../ActionBlock-BfQKysEx.js';
20
20
  import '../Select-DZ56UG-l.js';
21
21
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -1,5 +1,5 @@
1
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import { useRef, useCallback, useEffect, memo, useState } from 'react';
2
+ import { useRef, useCallback, memo, useState } from 'react';
3
3
  import { Spinner, Sheet, Label, Typography, Avatar, Button } from '@bigbinary/neeto-atoms';
4
4
  import MoreDropdown from '@bigbinary/neeto-molecules/v2/MoreDropdown';
5
5
  import { useTranslation } from 'react-i18next';
@@ -7,9 +7,9 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
7
7
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
8
8
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
9
9
  import _regeneratorRuntime from '@babel/runtime/regenerator';
10
+ import { NeetoTimezoneSelector, ianaTimezoneToHumanReadable } from '@bigbinary/neeto-time-zones';
10
11
  import { Input } from '@bigbinary/neeto-atoms/formik';
11
12
  import { Card, CardContent, CardAction } from '@bigbinary/neeto-atoms/primitives/Card';
12
- import { NeetoTimezoneSelector, ianaTimezoneToHumanReadable } from '@bigbinary/neeto-time-zones';
13
13
  import { findBy, noop, _findBy } from '@bigbinary/neeto-cist';
14
14
  import { LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/v2/constants';
15
15
  import { useProfileImageUpload } from '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
@@ -43,6 +43,7 @@ var _excluded = ["countryId"];
43
43
  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; }
44
44
  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; }
45
45
  var ChangeProfile = function ChangeProfile(_ref) {
46
+ var _findBy$value, _findBy;
46
47
  var onClose = _ref.onClose;
47
48
  var _useTranslation = useTranslation(),
48
49
  t = _useTranslation.t;
@@ -81,8 +82,8 @@ var ChangeProfile = function ChangeProfile(_ref) {
81
82
  timeZone = _user$timeZone === void 0 ? "" : _user$timeZone,
82
83
  _user$profileImageUrl = user.profileImageUrl,
83
84
  profileImageUrl = _user$profileImageUrl === void 0 ? "" : _user$profileImageUrl,
84
- _user$countryId = user.countryId,
85
- countryId = _user$countryId === void 0 ? "" : _user$countryId,
85
+ _user$countryName = user.countryName,
86
+ countryName = _user$countryName === void 0 ? "" : _user$countryName,
86
87
  _user$timeFormat = user.timeFormat,
87
88
  timeFormat = _user$timeFormat === void 0 ? TIME_FORMAT_OPTIONS[0].value : _user$timeFormat,
88
89
  _user$language = user.language,
@@ -90,10 +91,14 @@ var ChangeProfile = function ChangeProfile(_ref) {
90
91
  var setFieldValueRef = useRef(null);
91
92
  var _useCountries = useCountries(),
92
93
  countryDropdownOptions = _useCountries.countryDropdownOptions,
93
- selectedCountryOption = _useCountries.selectedCountryOption,
94
94
  isFetchingCountriesList = _useCountries.isFetchingCountriesList,
95
95
  _useCountries$handleC = _useCountries.handleCountryChange,
96
96
  handleCountryChange = _useCountries$handleC === void 0 ? noop : _useCountries$handleC;
97
+
98
+ // The product stores the country by name; the select is keyed by id.
99
+ var initialCountryId = (_findBy$value = (_findBy = findBy({
100
+ label: countryName
101
+ }, countryDropdownOptions)) === null || _findBy === void 0 ? void 0 : _findBy.value) !== null && _findBy$value !== void 0 ? _findBy$value : "";
97
102
  var _useUpdateProfileMuta = useUpdateProfileMutation(),
98
103
  updateProfile = _useUpdateProfileMuta.mutate,
99
104
  isUpdatingProfile = _useUpdateProfileMuta.isPending;
@@ -119,6 +124,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
119
124
  dateFormat: dateFormat,
120
125
  timeFormat: timeFormat,
121
126
  language: language,
127
+ countryId: initialCountryId,
122
128
  avatar: {
123
129
  imageUrl: profileImageUrl,
124
130
  file: null
@@ -126,7 +132,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
126
132
  };
127
133
  var handleSubmit = /*#__PURE__*/function () {
128
134
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values) {
129
- var avatar, _yield$handleUploadIm, fileId, filePath, url, updatedCountryId, rest, payload;
135
+ var _findBy2, avatar, _yield$handleUploadIm, fileId, filePath, url, updatedCountryId, rest, isCountryChanged, payload;
130
136
  return _regeneratorRuntime.wrap(function _callee$(_context) {
131
137
  while (1) switch (_context.prev = _context.next) {
132
138
  case 0:
@@ -162,38 +168,34 @@ var ChangeProfile = function ChangeProfile(_ref) {
162
168
  };
163
169
  case 14:
164
170
  updatedCountryId = values.countryId, rest = _objectWithoutProperties(values, _excluded);
171
+ isCountryChanged = updatedCountryId !== initialCountryId;
165
172
  payload = _objectSpread(_objectSpread({}, rest), {}, {
166
173
  avatar: avatar,
167
- countryIdentifier: updatedCountryId !== countryId ? updatedCountryId : undefined
174
+ countryIdentifier: isCountryChanged ? updatedCountryId : undefined,
175
+ countryName: isCountryChanged ? (_findBy2 = findBy({
176
+ value: updatedCountryId
177
+ }, countryDropdownOptions)) === null || _findBy2 === void 0 ? void 0 : _findBy2.label : undefined
168
178
  });
169
179
  updateProfile({
170
180
  id: user.id,
171
181
  payload: payload
172
182
  });
173
- _context.next = 22;
183
+ _context.next = 23;
174
184
  break;
175
- case 19:
176
- _context.prev = 19;
185
+ case 20:
186
+ _context.prev = 20;
177
187
  _context.t0 = _context["catch"](0);
178
188
  toast.error(_context.t0.message);
179
- case 22:
189
+ case 23:
180
190
  case "end":
181
191
  return _context.stop();
182
192
  }
183
- }, _callee, null, [[0, 19]]);
193
+ }, _callee, null, [[0, 20]]);
184
194
  }));
185
195
  return function handleSubmit(_x) {
186
196
  return _ref3.apply(this, arguments);
187
197
  };
188
198
  }();
189
- useEffect(function () {
190
- var country = findBy({
191
- value: countryId
192
- }, countryDropdownOptions);
193
- if (country) {
194
- handleCountryChange(country);
195
- }
196
- }, [countryId, countryDropdownOptions, handleCountryChange]);
197
199
  if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {
198
200
  return /*#__PURE__*/jsx("div", {
199
201
  className: "flex h-full w-full items-center justify-center",
@@ -260,7 +262,6 @@ var ChangeProfile = function ChangeProfile(_ref) {
260
262
  label: t("neetoTeamMembers.profile.inputs.label.country"),
261
263
  name: "countryId",
262
264
  options: countryDropdownOptions,
263
- value: selectedCountryOption,
264
265
  onChange: function onChange(value) {
265
266
  var option = findBy({
266
267
  value: value
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.js","sources":["../../app/javascript/src/v2/components/Profile/ChangeProfile.jsx","../../app/javascript/src/v2/components/Profile/hooks/useProfileUpdatePane.js","../../app/javascript/src/v2/components/Profile/utils.js","../../app/javascript/src/v2/components/Profile/Preview.jsx","../../app/javascript/src/v2/components/Profile/index.jsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\n\nimport { Label, Sheet, Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { Card, CardContent } from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader/v2\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/v2/PhoneNumber\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/timezone-selector.css\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nimport { FormikForm, FormikSelect, FormikActionBlock } from \"../Common/formik\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n phonenumber = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n language = \"\",\n } = user;\n\n const setFieldValueRef = useRef(null);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n node => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n });\n }\n },\n [timeZone, timeFormat]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n phonenumber: phonenumber ?? \"\",\n timeZone,\n dateFormat,\n timeFormat,\n language,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n toast.error(error.message);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions, handleCountryChange]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <FormikForm\n className=\"flex flex-col h-full flex-1 overflow-y-auto\"\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => {\n setFieldValueRef.current = setFieldValue;\n\n return (\n <>\n <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <ProfileImage />\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"space-y-6\">\n <FormikInput\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <FormikInput\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n <div className=\"space-y-2\">\n <Label htmlFor=\"profile-phonenumber\">\n {t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n </Label>\n <FormikPhoneNumberInput\n data-testid=\"profile-phonenumber-text-field\"\n id=\"profile-phonenumber\"\n name=\"phonenumber\"\n />\n </div>\n <FormikSelect\n required\n data-testid=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={value => {\n const option = findBy({ value }, countryDropdownOptions);\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n }}\n />\n <FormikSelect\n required\n data-testid=\"ntm-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n />\n <div className=\"space-y-2\">\n <Label>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <div\n className=\"w-full grow\"\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n />\n {touched.timeZone && errors.timeZone && (\n <Typography color=\"destructive\" variant=\"caption\">\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <FormikSelect\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n />\n <FormikSelect\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n />\n </CardContent>\n </Card>\n </Sheet.Body>\n <Sheet.Footer className=\"border-t border-border\">\n <FormikActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Sheet.Footer>\n </>\n );\n }}\n </FormikForm>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/v2/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport {\n Avatar,\n Button,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Card,\n CardAction,\n CardContent,\n} from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { Crown } from \"lucide-react\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { MANAGE_BILLING_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Field = ({ label, children, testId }) => (\n <div className=\"flex flex-col gap-1 py-3 first:pt-0 last:pb-0\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {label}\n </Typography>\n <Typography data-testid={testId} variant=\"body2\">\n {children}\n </Typography>\n </div>\n);\n\nconst Preview = () => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n phonenumber: sanitizeValue(user.phonenumber, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n phonenumber,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <div className=\"flex items-center gap-3\">\n <Avatar\n className=\"size-12\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <div className=\"flex flex-col\">\n <Typography data-testid=\"profile-full-name-field\" variant=\"h6\">\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n color=\"muted\"\n data-testid=\"profile-email-field\"\n variant=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"icon-xs\"\n value={email}\n variant=\"ghost\"\n />\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"divide-y divide-border\">\n <Field\n label={t(\"neetoTeamMembers.labels.firstName\")}\n testId=\"profile-first-name-field\"\n >\n {firstName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.lastName\")}\n testId=\"profile-last-name-field\"\n >\n {lastName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n testId=\"profile-phonenumber-field\"\n >\n {phonenumber}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.country\")}\n testId=\"profile-country-field\"\n >\n {countryName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.language\")}\n testId=\"profile-preferred-language-field\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.timeZone\")}\n testId=\"profile-time-zone-field\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n testId=\"profile-preferred-time-format-field\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n testId=\"profile-preferred-date-format-field\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"grid grid-cols-[1fr_auto] items-center gap-2\">\n <div className=\"flex flex-col gap-1\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography data-testid=\"profile-subscription-type\" variant=\"body2\">\n {t(\"neetoTeamMembers.common.subscriptionType\", { subscription })}\n </Typography>\n </div>\n <CardAction>\n <Button asChild data-testid=\"profile-upgrade-button\" size=\"sm\">\n <a href={MANAGE_BILLING_PATH}>\n <Crown className=\"size-4\" />\n {t(\"neetoTeamMembers.buttons.upgrade\")}\n </a>\n </Button>\n </CardAction>\n </CardContent>\n </Card>\n </Sheet.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MANAGE_BILLING_PATH, UPDATE_EMAIL_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\n\nconst Profile = () => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n const menuItems = [\n {\n key: \"edit-basic-info\",\n \"data-testid\": \"edit-basic-info-menu-button\",\n label: t(\"neetoTeamMembers.buttons.editBasicInfo\"),\n onClick: enableEditMode,\n },\n {\n key: \"update-email\",\n \"data-testid\": \"update-email-menu-button\",\n label: t(\"neetoTeamMembers.buttons.updateEmail\"),\n onClick: () => window.open(UPDATE_EMAIL_PATH, \"_self\"),\n },\n {\n key: \"manage-billing-subscriptions\",\n \"data-testid\": \"manage-billing-subscriptions-menu-button\",\n label: t(\"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"),\n onClick: () => window.open(MANAGE_BILLING_PATH, \"_self\"),\n },\n ];\n\n return (\n <div className=\"w-full\">\n <Sheet\n {...{ isOpen, onClose }}\n className=\"ntm-timezone-shadcn-overrides gap-0 bg-sidebar\"\n size=\"large\"\n >\n <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Sheet.Title>\n {!isEditMode && (\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownProps={{ position: \"bottom-end\", className: \"w-max\" }}\n dropdownButtonProps={{\n \"data-testid\": \"profile-more-dropdown-button\",\n size: \"icon-sm\",\n className: \"absolute top-3 end-12\",\n }}\n />\n )}\n </Sheet.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Sheet>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["ChangeProfile","_ref","onClose","_useTranslation","useTranslation","t","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","useFetchProfile","_useFetchProfile$data","data","_useFetchProfile$data2","_useFetchProfile$data3","user","isFetchingUserDetails","isFetching","_user$firstName","firstName","_user$lastName","lastName","_user$phonenumber","phonenumber","_user$dateFormat","dateFormat","DATE_FORMAT_OPTIONS","value","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$language","language","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","_useCountries$handleC","handleCountryChange","noop","_useUpdateProfileMuta","useUpdateProfileMutation","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","initialFormValues","avatar","imageUrl","file","handleSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","payload","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","_objectSpread","countryIdentifier","undefined","id","t0","toast","error","message","stop","_x","apply","arguments","useEffect","country","findBy","_jsx","children","Spinner","FormikForm","formProps","formikProps","initialValues","validationSchema","PROFILE_VALIDATION_SCHEMA","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Sheet","Body","Card","size","CardContent","ProfileImage","FormikInput","autoFocus","required","label","name","type","placeholder","Label","htmlFor","FormikPhoneNumberInput","FormikSelect","options","option","dependentFields","LANGUAGE_OPTIONS","ref","Typography","color","variant","Footer","FormikActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","trim","Field","testId","weight","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy2","_findBy3","_findBy4","sanitizedUser","countryName","email","concat","subscription","globalProps","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","CopyToClipboardButton","_findBy","ianaTimezoneToHumanReadable","CardAction","Button","asChild","href","MANAGE_BILLING_PATH","Crown","memo","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","menuItems","key","window","open","UPDATE_EMAIL_PATH","Header","Title","MoreDropdown","isVertical","dropdownProps","dropdownButtonProps","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"Profile.js","sources":["../../app/javascript/src/v2/components/Profile/ChangeProfile.jsx","../../app/javascript/src/v2/components/Profile/hooks/useProfileUpdatePane.js","../../app/javascript/src/v2/components/Profile/utils.js","../../app/javascript/src/v2/components/Profile/Preview.jsx","../../app/javascript/src/v2/components/Profile/index.jsx"],"sourcesContent":["import { useCallback, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { Label, Sheet, Spinner, Typography } from \"neetoatoms\";\nimport { Input as FormikInput } from \"neetoatoms/formik\";\nimport { Card, CardContent } from \"neetoatoms/primitives/Card\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader/v2\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/v2/PhoneNumber\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/timezone-selector.css\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nimport { FormikForm, FormikSelect, FormikActionBlock } from \"../Common/formik\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n phonenumber = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryName = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n language = \"\",\n } = user;\n\n const setFieldValueRef = useRef(null);\n\n const {\n countryDropdownOptions,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n // The product stores the country by name; the select is keyed by id.\n const initialCountryId =\n findBy({ label: countryName }, countryDropdownOptions)?.value ?? \"\";\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n node => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n });\n }\n },\n [timeZone, timeFormat]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n phonenumber: phonenumber ?? \"\",\n timeZone,\n dateFormat,\n timeFormat,\n language,\n countryId: initialCountryId,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n const isCountryChanged = updatedCountryId !== initialCountryId;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier: isCountryChanged ? updatedCountryId : undefined,\n countryName: isCountryChanged\n ? findBy({ value: updatedCountryId }, countryDropdownOptions)?.label\n : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n toast.error(error.message);\n }\n };\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <FormikForm\n className=\"flex flex-col h-full flex-1 overflow-y-auto\"\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => {\n setFieldValueRef.current = setFieldValue;\n\n return (\n <>\n <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <ProfileImage />\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"space-y-6\">\n <FormikInput\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <FormikInput\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n <div className=\"space-y-2\">\n <Label htmlFor=\"profile-phonenumber\">\n {t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n </Label>\n <FormikPhoneNumberInput\n data-testid=\"profile-phonenumber-text-field\"\n id=\"profile-phonenumber\"\n name=\"phonenumber\"\n />\n </div>\n <FormikSelect\n required\n data-testid=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n onChange={value => {\n const option = findBy({ value }, countryDropdownOptions);\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n }}\n />\n <FormikSelect\n required\n data-testid=\"ntm-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n />\n <div className=\"space-y-2\">\n <Label>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <div\n className=\"w-full grow\"\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n />\n {touched.timeZone && errors.timeZone && (\n <Typography color=\"destructive\" variant=\"caption\">\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <FormikSelect\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n />\n <FormikSelect\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n />\n </CardContent>\n </Card>\n </Sheet.Body>\n <Sheet.Footer className=\"border-t border-border\">\n <FormikActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Sheet.Footer>\n </>\n );\n }}\n </FormikForm>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/v2/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport {\n Avatar,\n Button,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Card,\n CardAction,\n CardContent,\n} from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { Crown } from \"lucide-react\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { MANAGE_BILLING_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Field = ({ label, children, testId }) => (\n <div className=\"flex flex-col gap-1 py-3 first:pt-0 last:pb-0\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {label}\n </Typography>\n <Typography data-testid={testId} variant=\"body2\">\n {children}\n </Typography>\n </div>\n);\n\nconst Preview = () => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n phonenumber: sanitizeValue(user.phonenumber, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n phonenumber,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <div className=\"flex items-center gap-3\">\n <Avatar\n className=\"size-12\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <div className=\"flex flex-col\">\n <Typography data-testid=\"profile-full-name-field\" variant=\"h6\">\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n color=\"muted\"\n data-testid=\"profile-email-field\"\n variant=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"icon-xs\"\n value={email}\n variant=\"ghost\"\n />\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"divide-y divide-border\">\n <Field\n label={t(\"neetoTeamMembers.labels.firstName\")}\n testId=\"profile-first-name-field\"\n >\n {firstName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.lastName\")}\n testId=\"profile-last-name-field\"\n >\n {lastName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n testId=\"profile-phonenumber-field\"\n >\n {phonenumber}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.country\")}\n testId=\"profile-country-field\"\n >\n {countryName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.language\")}\n testId=\"profile-preferred-language-field\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.timeZone\")}\n testId=\"profile-time-zone-field\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n testId=\"profile-preferred-time-format-field\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n testId=\"profile-preferred-date-format-field\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"grid grid-cols-[1fr_auto] items-center gap-2\">\n <div className=\"flex flex-col gap-1\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography data-testid=\"profile-subscription-type\" variant=\"body2\">\n {t(\"neetoTeamMembers.common.subscriptionType\", { subscription })}\n </Typography>\n </div>\n <CardAction>\n <Button asChild data-testid=\"profile-upgrade-button\" size=\"sm\">\n <a href={MANAGE_BILLING_PATH}>\n <Crown className=\"size-4\" />\n {t(\"neetoTeamMembers.buttons.upgrade\")}\n </a>\n </Button>\n </CardAction>\n </CardContent>\n </Card>\n </Sheet.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MANAGE_BILLING_PATH, UPDATE_EMAIL_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\n\nconst Profile = () => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n const menuItems = [\n {\n key: \"edit-basic-info\",\n \"data-testid\": \"edit-basic-info-menu-button\",\n label: t(\"neetoTeamMembers.buttons.editBasicInfo\"),\n onClick: enableEditMode,\n },\n {\n key: \"update-email\",\n \"data-testid\": \"update-email-menu-button\",\n label: t(\"neetoTeamMembers.buttons.updateEmail\"),\n onClick: () => window.open(UPDATE_EMAIL_PATH, \"_self\"),\n },\n {\n key: \"manage-billing-subscriptions\",\n \"data-testid\": \"manage-billing-subscriptions-menu-button\",\n label: t(\"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"),\n onClick: () => window.open(MANAGE_BILLING_PATH, \"_self\"),\n },\n ];\n\n return (\n <div className=\"w-full\">\n <Sheet\n {...{ isOpen, onClose }}\n className=\"ntm-timezone-shadcn-overrides gap-0 bg-sidebar\"\n size=\"large\"\n >\n <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Sheet.Title>\n {!isEditMode && (\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownProps={{ position: \"bottom-end\", className: \"w-max\" }}\n dropdownButtonProps={{\n \"data-testid\": \"profile-more-dropdown-button\",\n size: \"icon-sm\",\n className: \"absolute top-3 end-12\",\n }}\n />\n )}\n </Sheet.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Sheet>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["ChangeProfile","_ref","_findBy$value","_findBy","onClose","_useTranslation","useTranslation","t","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","useFetchProfile","_useFetchProfile$data","data","_useFetchProfile$data2","_useFetchProfile$data3","user","isFetchingUserDetails","isFetching","_user$firstName","firstName","_user$lastName","lastName","_user$phonenumber","phonenumber","_user$dateFormat","dateFormat","DATE_FORMAT_OPTIONS","value","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryName","countryName","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$language","language","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","isFetchingCountriesList","_useCountries$handleC","handleCountryChange","noop","initialCountryId","findBy","label","_useUpdateProfileMuta","useUpdateProfileMutation","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","initialFormValues","countryId","avatar","imageUrl","file","handleSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_findBy2","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","isCountryChanged","payload","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","_objectSpread","countryIdentifier","undefined","id","t0","toast","error","message","stop","_x","apply","arguments","_jsx","children","Spinner","FormikForm","formProps","formikProps","initialValues","validationSchema","PROFILE_VALIDATION_SCHEMA","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Sheet","Body","Card","size","CardContent","ProfileImage","FormikInput","autoFocus","required","name","type","placeholder","Label","htmlFor","FormikPhoneNumberInput","FormikSelect","options","option","dependentFields","LANGUAGE_OPTIONS","ref","Typography","color","variant","Footer","FormikActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","trim","Field","testId","weight","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy3","_findBy4","sanitizedUser","email","concat","subscription","globalProps","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","CopyToClipboardButton","ianaTimezoneToHumanReadable","CardAction","Button","asChild","href","MANAGE_BILLING_PATH","Crown","memo","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","menuItems","key","window","open","UPDATE_EMAIL_PATH","Header","Title","MoreDropdown","isVertical","dropdownProps","dropdownButtonProps","Pane","usePaneState"],"mappings":"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"}
@@ -5,7 +5,7 @@ import '@bigbinary/neeto-commons-frontend/v2/constants';
5
5
  import '@bigbinary/neeto-commons-frontend/v2/initializers';
6
6
  import 'ramda';
7
7
  import 'react-i18next';
8
- export { R as default } from '../RolesRadioGroup-BaPc-NJ8.js';
8
+ export { R as default } from '../RolesRadioGroup-C7VAnBwI.js';
9
9
  import '@babel/runtime/helpers/defineProperty';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import 'react/jsx-runtime';
@@ -23,7 +23,7 @@ import { t } from 'i18next';
23
23
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
24
24
  import { b as DEFAULT_SELECTED_ROWS, c as DEFAULT_RADIX } from '../constants-FEDmfINW.js';
25
25
  import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
26
- import { h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, M as ManageMember, r as renderUpdateAlert } from '../index-DEZO9e9o.js';
26
+ import { h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, M as ManageMember, r as renderUpdateAlert } from '../index-BXIiDsJ1.js';
27
27
  import { w as withReactQuery } from '../withReactQuery-CSuiy5RK.js';
28
28
  import '@babel/runtime/helpers/objectWithoutProperties';
29
29
  import '@tanstack/react-query';
@@ -42,7 +42,7 @@ import 'classnames';
42
42
  import '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
43
43
  import 'sonner';
44
44
  import 'formik';
45
- import '../RolesRadioGroup-BaPc-NJ8.js';
45
+ import '../RolesRadioGroup-C7VAnBwI.js';
46
46
  import 'yup';
47
47
  import '../Select-DZ56UG-l.js';
48
48
  import '@bigbinary/neeto-atoms/primitives/Card';
package/dist/v2/index.js CHANGED
@@ -8,8 +8,8 @@ export { default as Profile } from './Profile.js';
8
8
  export { default as Roles } from './Roles.js';
9
9
  export { P as Permissions } from '../Permissions-C8papJqs.js';
10
10
  export { default as TeamMembers } from './TeamMembers.js';
11
- export { M as ManageMember } from '../index-DEZO9e9o.js';
12
- export { R as RolesRadioGroup } from '../RolesRadioGroup-BaPc-NJ8.js';
11
+ export { M as ManageMember } from '../index-BXIiDsJ1.js';
12
+ export { R as RolesRadioGroup } from '../RolesRadioGroup-C7VAnBwI.js';
13
13
  export { default as TeamsAndMembersDropdown } from './TeamsAndMembersDropdown.js';
14
14
  export { default as TeamsDropdown } from './TeamsDropdown.js';
15
15
  import 'i18next';
@@ -54,8 +54,8 @@ import '../InviteLinkError-5auG6HEb.js';
54
54
  import '@bigbinary/neeto-commons-frontend/v2/constants';
55
55
  import '@babel/runtime/helpers/asyncToGenerator';
56
56
  import '@babel/runtime/regenerator';
57
- import '@bigbinary/neeto-atoms/primitives/Card';
58
57
  import '@bigbinary/neeto-time-zones';
58
+ import '@bigbinary/neeto-atoms/primitives/Card';
59
59
  import '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
60
60
  import '@bigbinary/neeto-molecules/v2/PhoneNumber';
61
61
  import 'sonner';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-team-members-frontend",
3
- "version": "5.1.4",
3
+ "version": "5.1.5-beta1",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-team-members-nano",
@@ -72,13 +72,13 @@
72
72
  "@babel/runtime": "7.29.7",
73
73
  "@bigbinary/babel-preset-neeto": "^1.0.3",
74
74
  "@bigbinary/eslint-plugin-neeto": "1.9.1",
75
- "@bigbinary/neeto-atoms": "1.0.140",
75
+ "@bigbinary/neeto-atoms": "1.0.144",
76
76
  "@bigbinary/neeto-cist": "1.0.17",
77
77
  "@bigbinary/neeto-commons-frontend": "4.13.160",
78
78
  "@bigbinary/neeto-filters-frontend": "4.3.45",
79
79
  "@bigbinary/neeto-icons": "1.20.89",
80
80
  "@bigbinary/neeto-image-uploader-frontend": "4.0.15",
81
- "@bigbinary/neeto-molecules": "5.3.32",
81
+ "@bigbinary/neeto-molecules": "5.4.1",
82
82
  "@bigbinary/neeto-time-zones": "0.8.26",
83
83
  "@bigbinary/neetoui": "8.8.3",
84
84
  "@dnd-kit/core": "6.3.1",
@@ -189,13 +189,13 @@
189
189
  },
190
190
  "peerDependencies": {
191
191
  "@babel/runtime": "7.29.7",
192
- "@bigbinary/neeto-atoms": "1.0.140",
192
+ "@bigbinary/neeto-atoms": "1.0.144",
193
193
  "@bigbinary/neeto-cist": "1.0.17",
194
194
  "@bigbinary/neeto-commons-frontend": "4.13.160",
195
195
  "@bigbinary/neeto-filters-frontend": "4.3.45",
196
196
  "@bigbinary/neeto-icons": "1.20.89",
197
197
  "@bigbinary/neeto-image-uploader-frontend": "4.0.15",
198
- "@bigbinary/neeto-molecules": "5.3.32",
198
+ "@bigbinary/neeto-molecules": "5.4.1",
199
199
  "@bigbinary/neeto-time-zones": "0.8.26",
200
200
  "@bigbinary/neetoui": "8.8.3",
201
201
  "@dnd-kit/core": "6.3.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"RolesRadioGroup-BaPc-NJ8.js","sources":["../app/javascript/src/v2/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/v2/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/v2/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/v2/components/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/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const FEEDBACK_DURATION_MS = 2500;\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 appRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n activeRole: 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 { Callout, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\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 MemberLimitExceededMessage = () => (\n <Callout className=\"mt-2 text-left\" variant=\"warning\">\n <div className=\"space-y-3\">\n <Typography variant=\"body3\">\n {t(\"neetoTeamMembers.validations.memberLimitExceededV2.first\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoTeamMembers.validations.memberLimitExceededV2.second\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoTeamMembers.validations.memberLimitExceededV2.third\")}\n </Typography>\n </div>\n </Callout>\n);\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 memberShowData,\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:\n memberShowData?.member?.countryIdentifier ||\n selectedMember.countryIdentifier ||\n \"\",\n language: selectedMember.language || \"\",\n phonenumber: selectedMember.phonenumber || \"\",\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 initialValues = {}\n) => {\n if (selectedMember) {\n const {\n timeZone,\n dateFormat,\n timeFormat,\n countryId,\n language,\n phonenumber,\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 phonenumber,\n };\n\n // Compare each field against its initial form value, not `selectedMember`.\n // The payload key `countryIdentifier` maps to form field `countryId`\n // (seeded from the show endpoint's `country_id`, a different\n // representation than the list's `country_identifier`); aligning the\n // baseline stops an untouched country being logged as a phantom audit\n // change (#1746).\n const initialProfile = {\n ...initialValues,\n countryIdentifier: initialValues.countryId,\n };\n\n const profile = Object.fromEntries(\n Object.entries(profileFields).filter(\n ([key, value]) => value !== (initialProfile[key] ?? \"\")\n )\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 <MemberLimitExceededMessage />,\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/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isAdminRole } from \"./utils\";\n\nimport { FormikRadioGroup } from \"../../Common/formik\";\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 <div className=\"space-y-2\">\n <div 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 </div>\n <FormikRadioGroup\n stacked\n className=\"w-full grow-0\"\n data-testid=\"ntm-manage-member-roles-group\"\n name=\"role\"\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-1 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 </div>\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","FEEDBACK_DURATION_MS","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appRoles","array","of","object","shape","appName","isEnabled","activeRole","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","MemberLimitExceededMessage","Callout","variant","_jsxs","Typography","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","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","memberShowData","selectedMember","isNotNil","_memberShowData$membe","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","timeZone","dateFormat","timeFormat","countryId","member","countryIdentifier","language","phonenumber","avatar","imageUrl","profileImageUrl","file","renderPayload","otherValues","arguments","length","undefined","initialValues","rest","payload","active","organizationRole","value","profileFields","initialProfile","profile","fromEntries","entries","filter","_ref3","_initialProfile$key","_ref4","_slicedToArray","key","user","pluck","getSingleInvitationTranslationProps","_ref5","selectedEmail","count","buildValidationSchema","_ref6","memberLimit","activeUsersCount","min","test","_ref7","every","prop","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","values","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","Label","SINGULAR","Button","asChild","href","pathToRolesPage","FormikRadioGroup","stacked","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}