@bigbinary/neeto-team-members-frontend 5.3.0-beta1 → 5.3.1-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 (42) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ManageMember.js +2 -2
  3. package/dist/Profile.js +1 -2
  4. package/dist/Profile.js.map +1 -1
  5. package/dist/{ProfileImage-BpPp5DsL.js → ProfileImage-B-2kqrUZ.js} +6 -2
  6. package/dist/ProfileImage-B-2kqrUZ.js.map +1 -0
  7. package/dist/{ProfileImage-BFPW6Yvu.js → ProfileImage-BHaLVI7l.js} +6 -2
  8. package/dist/ProfileImage-BHaLVI7l.js.map +1 -0
  9. package/dist/{ProfileImage-DF-OFmpP.js → ProfileImage-BXtKo3xu.js} +6 -2
  10. package/dist/ProfileImage-BXtKo3xu.js.map +1 -0
  11. package/dist/{ProfileImage-DYM-kESR.js → ProfileImage-DTjp52CP.js} +6 -2
  12. package/dist/ProfileImage-DTjp52CP.js.map +1 -0
  13. package/dist/TeamMembers.js +2 -2
  14. package/dist/cjs/ManageMember.js +2 -2
  15. package/dist/cjs/Profile.js +1 -2
  16. package/dist/cjs/Profile.js.map +1 -1
  17. package/dist/cjs/TeamMembers.js +2 -2
  18. package/dist/cjs/index.js +2 -2
  19. package/dist/cjs/v2/ManageMember.js +2 -2
  20. package/dist/cjs/v2/Profile.js +1 -2
  21. package/dist/cjs/v2/Profile.js.map +1 -1
  22. package/dist/cjs/v2/TeamMembers.js +2 -2
  23. package/dist/cjs/v2/index.js +2 -2
  24. package/dist/{index-BUrneUe2.js → index-D6ogtSkx.js} +2 -2
  25. package/dist/{index-BUrneUe2.js.map → index-D6ogtSkx.js.map} +1 -1
  26. package/dist/{index-DF64FSTl.js → index-DDNaZaTa.js} +2 -2
  27. package/dist/{index-DF64FSTl.js.map → index-DDNaZaTa.js.map} +1 -1
  28. package/dist/{index-D7Dwp65-.js → index-Dx8-A1zi.js} +2 -2
  29. package/dist/{index-D7Dwp65-.js.map → index-Dx8-A1zi.js.map} +1 -1
  30. package/dist/{index-z2GMjNcs.js → index-sCDvDkeZ.js} +2 -2
  31. package/dist/{index-z2GMjNcs.js.map → index-sCDvDkeZ.js.map} +1 -1
  32. package/dist/index.js +2 -2
  33. package/dist/v2/ManageMember.js +2 -2
  34. package/dist/v2/Profile.js +1 -2
  35. package/dist/v2/Profile.js.map +1 -1
  36. package/dist/v2/TeamMembers.js +2 -2
  37. package/dist/v2/index.js +2 -2
  38. package/package.json +7 -7
  39. package/dist/ProfileImage-BFPW6Yvu.js.map +0 -1
  40. package/dist/ProfileImage-BpPp5DsL.js.map +0 -1
  41. package/dist/ProfileImage-DF-OFmpP.js.map +0 -1
  42. package/dist/ProfileImage-DYM-kESR.js.map +0 -1
@@ -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, 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 = ({ focusField = null, onClose }) => {\n const { t } = useTranslation();\n\n const isFocused = name => (focusField ?? \"firstName\") === name;\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 required\n autoFocus={isFocused(\"firstName\")}\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 autoFocus={isFocused(\"lastName\")}\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 autoFocus={isFocused(\"phonenumber\")}\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 { prop } from \"ramda\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n focusField: null,\n\n setIsOpen: (arg, { focusField = null } = {}) => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen), focusField }));\n } else {\n set({ isOpen: arg, focusField });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport const useProfileFocusField = () =>\n useProfileUpdateStore(prop(\"focusField\"));\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 \"neetoatoms\";\nimport { isPresent } from \"neetocist\";\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, {\n useProfileFocusField,\n} 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 const focusField = useProfileFocusField();\n const isEditing = isEditMode || isPresent(focusField);\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 {!isEditing && (\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 {isEditing ? (\n <ChangeProfile {...{ focusField, onClose }} />\n ) : (\n <Preview />\n )}\n </Sheet>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["ChangeProfile","_ref","_findBy$value","_findBy","_ref$focusField","focusField","onClose","_useTranslation","useTranslation","t","isFocused","name","_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","required","autoFocus","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","length","state","useProfileUpdatePaneState","shallow","useProfileFocusField","prop","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","isEditing","isPresent","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 = ({ focusField = null, onClose }) => {\n const { t } = useTranslation();\n\n const isFocused = name => (focusField ?? \"firstName\") === name;\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 required\n autoFocus={isFocused(\"firstName\")}\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 autoFocus={isFocused(\"lastName\")}\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 autoFocus={isFocused(\"phonenumber\")}\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 { prop } from \"ramda\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n focusField: null,\n\n setIsOpen: (arg, { focusField = null } = {}) => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen), focusField }));\n } else {\n set({ isOpen: arg, focusField });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport const useProfileFocusField = () =>\n useProfileUpdateStore(prop(\"focusField\"));\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 \"neetoatoms\";\nimport { isPresent } from \"neetocist\";\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, {\n useProfileFocusField,\n} 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 const focusField = useProfileFocusField();\n const isEditing = isEditMode || isPresent(focusField);\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 {!isEditing && (\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 {isEditing ? (\n <ChangeProfile {...{ focusField, onClose }} />\n ) : (\n <Preview />\n )}\n </Sheet>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["ChangeProfile","_ref","_findBy$value","_findBy","_ref$focusField","focusField","onClose","_useTranslation","useTranslation","t","isFocused","name","_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","required","autoFocus","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","length","state","useProfileUpdatePaneState","shallow","useProfileFocusField","prop","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","isEditing","isPresent","enableEditMode","menuItems","key","window","open","UPDATE_EMAIL_PATH","Header","Title","MoreDropdown","isVertical","dropdownProps","dropdownButtonProps","Pane","usePaneState"],"mappings":"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"}
@@ -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-D7Dwp65-.js';
26
+ import { h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, M as ManageMember, r as renderUpdateAlert } from '../index-Dx8-A1zi.js';
27
27
  import { w as withReactQuery } from '../withReactQuery-CSuiy5RK.js';
28
28
  import '@babel/runtime/helpers/objectWithoutProperties';
29
29
  import '@tanstack/react-query';
@@ -53,7 +53,7 @@ import '../utils.js';
53
53
  import '../_commonjsHelpers-BFTU3MAI.js';
54
54
  import '@bigbinary/neeto-time-zones';
55
55
  import '@bigbinary/neeto-molecules/v2/PhoneNumber';
56
- import '../ProfileImage-BpPp5DsL.js';
56
+ import '../ProfileImage-B-2kqrUZ.js';
57
57
  import '../inject-css-C2dztUxs.js';
58
58
  import '../useCountriesApi-DK00167T.js';
59
59
  import '@bigbinary/neeto-image-uploader-frontend/v2/ImageUploader';
package/dist/v2/index.js CHANGED
@@ -8,7 +8,7 @@ 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-D7Dwp65-.js';
11
+ export { M as ManageMember } from '../index-Dx8-A1zi.js';
12
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';
@@ -61,7 +61,7 @@ import '@bigbinary/neeto-molecules/v2/PhoneNumber';
61
61
  import 'sonner';
62
62
  import '../useProfileApi-Dkt6sE5p.js';
63
63
  import '../useCountriesApi-DK00167T.js';
64
- import '../ProfileImage-BpPp5DsL.js';
64
+ import '../ProfileImage-B-2kqrUZ.js';
65
65
  import '../inject-css-C2dztUxs.js';
66
66
  import '@bigbinary/neeto-image-uploader-frontend/v2/ImageUploader';
67
67
  import '@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-team-members-frontend",
3
- "version": "5.3.0-beta1",
3
+ "version": "5.3.1-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",
@@ -78,11 +78,11 @@
78
78
  "@bigbinary/eslint-plugin-neeto": "1.9.1",
79
79
  "@bigbinary/neeto-atoms": "1.1.0",
80
80
  "@bigbinary/neeto-cist": "1.0.17",
81
- "@bigbinary/neeto-commons-frontend": "4.14.4",
81
+ "@bigbinary/neeto-commons-frontend": "4.14.5",
82
82
  "@bigbinary/neeto-filters-frontend": "4.5.2",
83
83
  "@bigbinary/neeto-icons": "1.20.89",
84
- "@bigbinary/neeto-image-uploader-frontend": "4.1.7",
85
- "@bigbinary/neeto-molecules": "5.9.8",
84
+ "@bigbinary/neeto-image-uploader-frontend": "4.1.8",
85
+ "@bigbinary/neeto-molecules": "5.9.10",
86
86
  "@bigbinary/neeto-time-zones": "0.8.26",
87
87
  "@bigbinary/neetoui": "8.8.3",
88
88
  "@dnd-kit/core": "6.3.1",
@@ -195,11 +195,11 @@
195
195
  "@babel/runtime": "7.29.7",
196
196
  "@bigbinary/neeto-atoms": "1.1.0",
197
197
  "@bigbinary/neeto-cist": "1.0.17",
198
- "@bigbinary/neeto-commons-frontend": "4.14.4",
198
+ "@bigbinary/neeto-commons-frontend": "4.14.5",
199
199
  "@bigbinary/neeto-filters-frontend": "4.5.2",
200
200
  "@bigbinary/neeto-icons": "1.20.89",
201
- "@bigbinary/neeto-image-uploader-frontend": "4.1.7",
202
- "@bigbinary/neeto-molecules": "5.9.8",
201
+ "@bigbinary/neeto-image-uploader-frontend": "4.1.8",
202
+ "@bigbinary/neeto-molecules": "5.9.10",
203
203
  "@bigbinary/neeto-time-zones": "0.8.26",
204
204
  "@bigbinary/neetoui": "8.8.3",
205
205
  "@dnd-kit/core": "6.3.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-BFPW6Yvu.js","sources":["../app/javascript/src/components/Profile/constants.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/PhoneNumber\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n phonenumber: phoneNumberValidation(\n t(\"neetoTeamMembers.profile.form.invalidPhoneNumber\")\n ).nullable(),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n\nexport const FOCUSABLE_FIELD_IDS = {\n firstName: \"profile-first-name\",\n lastName: \"profile-last-name\",\n phonenumber: \"profile-phonenumber\",\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption ?? null);\n\n const selectedCountry = findById(countryOption?.value, countries);\n\n return { dateFormat: selectedCountry?.dateFormat };\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useEffect, useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const blobUrlRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { values } = useFormikContext();\n const { setValue } = helpers;\n\n const avatarDetails = {\n name: [values.firstName, values.lastName].filter(Boolean).join(\" \"),\n imageUrl: field.value?.imageUrl,\n };\n\n useEffect(\n () => () => {\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n },\n []\n );\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n blobUrlRef.current = URL.createObjectURL(imageFile);\n\n return setValue({\n imageUrl: blobUrlRef.current,\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => {\n if (blobUrlRef.current) {\n URL.revokeObjectURL(blobUrlRef.current);\n blobUrlRef.current = null;\n }\n setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n {avatarDetails?.imageUrl && (\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept={ALLOWED_PROFILE_IMAGE_MIME_TYPES.join(\",\")}\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","phonenumber","phoneNumberValidation","nullable","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","FOCUSABLE_FIELD_IDS","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_field$value","_useTranslation","useTranslation","fileInputRef","useRef","blobUrlRef","_useField","useField","_useField2","field","_","helpers","_useFormikContext","useFormikContext","values","setValue","avatarDetails","filter","Boolean","join","imageUrl","useEffect","current","URL","revokeObjectURL","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","createObjectURL","file","handleChangeImage","_fileInputRef$current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","limit","hidden","accept","ref","onChange"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-BpPp5DsL.js","sources":["../app/javascript/src/v2/components/Profile/constants.js","../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/v2/PhoneNumber\";\nimport * as yup from \"yup\";\n\nconst PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE = {\n \"image/jpeg\": [\".jpeg\", \".jpg\"],\n \"image/png\": [\".png\"],\n};\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n phonenumber: phoneNumberValidation(\n t(\"neetoTeamMembers.profile.form.invalidPhoneNumber\")\n ).nullable(),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = Object.keys(\n PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE\n);\nexport const PROFILE_IMAGE_UPLOAD_CONFIG = {\n allowedImageTypes: PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE,\n};\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption ?? null);\n\n const selectedCountry = findById(countryOption?.value, countries);\n\n return { dateFormat: selectedCountry?.dateFormat };\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState } from \"react\";\n\nimport {\n Avatar,\n Button,\n Dialog,\n DropdownMenu,\n Toastr,\n} from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n PROFILE_IMAGE_UPLOAD_CONFIG,\n} from \"./constants\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const { values } = useFormikContext();\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n\n const { imageUrl } = field.value || {};\n const title = imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\");\n\n const handleUploadComplete = async ({ url }) => {\n if (!url) return;\n\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n const isAllowedType = ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(\n blob.type\n );\n if (!response.ok || !isAllowedType) throw new Error();\n\n const fileName = new URL(url, window.location.href).pathname\n .split(\"/\")\n .pop();\n\n helpers.setValue({\n imageUrl: url,\n file: new File([blob], fileName, { type: blob.type }),\n });\n } catch {\n Toastr.error(t(\"neetoTeamMembers.profile.file.corrupted\"));\n }\n setIsDialogOpen(false);\n };\n\n const handleRemove = () => {\n helpers.setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <div className=\"relative\">\n <Avatar\n size=\"xl\"\n user={{\n name: [values.firstName, values.lastName].filter(Boolean).join(\" \"),\n imageUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 rounded-full\"\n data-testid=\"profile-image-dropdown-button\"\n icon={Pencil}\n size=\"icon-xs\"\n variant=\"outline\"\n aria-label={t(\n \"neetoTeamMembers.common.changeProfileImage\",\n \"Change profile image\"\n )}\n />\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-upload-button\"\n onClick={() => setIsDialogOpen(true)}\n >\n {title}\n </DropdownMenu.MenuItem>\n {imageUrl && (\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemove}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu.Menu>\n </DropdownMenu>\n </div>\n <Dialog isOpen={isDialogOpen} onClose={() => setIsDialogOpen(false)}>\n <Dialog.Header>\n <Dialog.Title>{title}</Dialog.Title>\n </Dialog.Header>\n <ImageUploader\n defaultImageSize={{ width: 500, height: 500 }}\n fixedAspectRatio={{ width: 1, height: 1 }}\n key={imageUrl}\n uploadConfig={PROFILE_IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleUploadComplete}\n />\n </Dialog>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","phonenumber","phoneNumberValidation","nullable","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","Object","keys","PROFILE_IMAGE_UPLOAD_CONFIG","allowedImageTypes","globalProps","endUserUploadedFileSizeLimitInMb","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","selectedCountry","findById","isFetchingCountriesList","ProfileImage","_useTranslation","useTranslation","_useField","useField","_useField2","field","helpers","_useFormikContext","useFormikContext","values","isDialogOpen","setIsDialogOpen","_ref","imageUrl","title","handleUploadComplete","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","response","blob","isAllowedType","fileName","wrap","_callee$","_context","prev","next","abrupt","fetch","sent","includes","type","ok","Error","URL","window","location","href","pathname","split","pop","setValue","file","File","t0","Toastr","error","stop","_x","apply","arguments","handleRemove","_jsxs","className","children","_jsx","Avatar","size","user","filter","Boolean","join","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","Dialog","isOpen","onClose","Header","Title","ImageUploader","defaultImageSize","width","height","fixedAspectRatio","uploadConfig","onUploadComplete"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,qCAAqC,GAAG;AAC5C,EAAA,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;EAC/B,WAAW,EAAE,CAAC,MAAM;AACtB,CAAC;AAEM,IAAMC,yBAAyB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC1DC,EAAAA,SAAS,EAAEH,GAAG,CACXI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CAACC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CACjEC,OAAO,CACN,qySAAiC,EACjCD,CAAC,CAAC,2CAA2C,CAC/C,CAAC,CACAC,OAAO,CAAC,UAAU,EAAED,CAAC,CAAC,8CAA8C,CAAC,CAAC;AACzEE,EAAAA,QAAQ,EAAET,GAAG,CACVI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CAACC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAChEC,OAAO,CACN,qySAAiC,EACjCD,CAAC,CAAC,2CAA2C,CAC/C,CAAC,CACAC,OAAO,CAAC,UAAU,EAAED,CAAC,CAAC,8CAA8C,CAAC,CAAC;EACzEG,WAAW,EAAEC,UAAqB,CAChCJ,CAAC,CAAC,kDAAkD,CACtD,CAAC,CAACK,QAAQ,EAAE;AACZC,EAAAA,UAAU,EAAEb,GAAG,CACZI,MAAM,EAAE,CACRE,QAAQ,CAACC,CAAC,CAAC,qDAAqD,CAAC;AACtE,CAAC;AAEM,IAAMO,iBAAiB,GAAG;AAC1B,IAAMC,mBAAmB,GAAG;AAE5B,IAAMC,gCAAgC,GAAGC,MAAM,CAACC,IAAI,CACzDpB,qCACF,CAAC;AACM,IAAMqB,2BAA2B,GAAG;AACzCC,EAAAA,iBAAiB,EAAEtB;AACrB,CAAC;AAGCuB,WAAW,CAACC,gCAAgC,GAAG,IAAI,GAAG;CAEvB;AAC/BC,EAAAA,YAAY,EAAEhB,CAAC,CAAC,iDAAiD,CAAC;AAClEiB,EAAAA,cAAc,EAAEjB,CAAC,CAAC,yCAAyC,CAAC;AAC5DkB,EAAAA,mBAAmB,EAAElB,CAAC,CAAC,6CAA6C,EAAE;IACpEmB,OAAO,EAAEL,WAAW,CAACC;GACtB;AACH;;AClDA,IAAMK,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,EAAA,IAAAC,SAAA,GAA0DC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAAI,kBAAA,GAAqDC,iBAAiB,EAAE;IAAAC,qBAAA,GAAAF,kBAAA,CAAhEG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArBE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAASE,SAAS,GAAAP,kBAAA,CAATO,SAAS;AAEhD,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,OAAO,EAAA;IAAA,OAAK;AACtCC,MAAAA,KAAK,EAAED,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEE,IAAI;AACpBC,MAAAA,KAAK,EAAEH,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEI;KACjB;EAAA,CAAC;EAEF,IAAMC,sBAAsB,GAAGC,OAAO,CACpC,YAAA;AAAA,IAAA,OAAMT,SAAS,CAACU,GAAG,CAACR,mBAAmB,CAAC;EAAA,CAAA,EACxC,CAACF,SAAS,CACZ,CAAC;AAED,EAAA,IAAMW,mBAAmB,GAAGC,WAAW,CACrC,UAAAC,aAAa,EAAI;IACfpB,wBAAwB,CAACoB,aAAa,KAAA,IAAA,IAAbA,aAAa,cAAbA,aAAa,GAAI,IAAI,CAAC;AAE/C,IAAA,IAAMC,eAAe,GAAGC,QAAQ,CAACF,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEP,KAAK,EAAEN,SAAS,CAAC;IAEjE,OAAO;AAAE3B,MAAAA,UAAU,EAAEyC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEzC;KAAY;AACpD,EAAA,CAAC,EACD,CAAC2B,SAAS,CACZ,CAAC;EAED,OAAO;AACLQ,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBhB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBwB,IAAAA,uBAAuB,EAAEf,SAAS;AAClCU,IAAAA,mBAAmB,EAAnBA;GACD;AACH;;AClBA,IAAMM,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBpD,CAAC,GAAAmD,eAAA,CAADnD,CAAC;AACT,EAAA,IAAAqD,SAAA,GAA2BC,QAAQ,CAAC,QAAQ,CAAC;IAAAC,UAAA,GAAA/B,cAAA,CAAA6B,SAAA,EAAA,CAAA,CAAA;AAAtCG,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAIE,IAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA;AACvB,EAAA,IAAAG,iBAAA,GAAmBC,gBAAgB,EAAE;IAA7BC,MAAM,GAAAF,iBAAA,CAANE,MAAM;AACd,EAAA,IAAAvC,SAAA,GAAwCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDwC,IAAAA,YAAY,GAAAtC,UAAA,CAAA,CAAA,CAAA;AAAEuC,IAAAA,eAAe,GAAAvC,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAwC,IAAA,GAAqBP,KAAK,CAACjB,KAAK,IAAI,EAAE;IAA9ByB,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AAChB,EAAA,IAAMC,KAAK,GAAGD,QAAQ,GAClBhE,CAAC,CAAC,sDAAsD,CAAC,GACzDA,CAAC,CAAC,sDAAsD,CAAC;AAE7D,EAAA,IAAMkE,oBAAoB,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAAC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAAC,KAAA,EAAA;MAAA,IAAAC,GAAA,EAAAC,QAAA,EAAAC,IAAA,EAAAC,aAAA,EAAAC,QAAA;AAAA,MAAA,OAAAR,mBAAA,CAAAS,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YAAST,GAAG,GAAAD,KAAA,CAAHC,GAAG;AAAA,YAAA,IAClCA,GAAG,EAAA;AAAAO,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAH,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;YAAA,OAGiBE,KAAK,CAACX,GAAG,CAAC;AAAA,UAAA,KAAA,CAAA;YAA3BC,QAAQ,GAAAM,QAAA,CAAAK,IAAA;AAAAL,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,YAAA,OACKR,QAAQ,CAACC,IAAI,EAAE;AAAA,UAAA,KAAA,CAAA;YAA5BA,IAAI,GAAAK,QAAA,CAAAK,IAAA;YACJT,aAAa,GAAGnE,gCAAgC,CAAC6E,QAAQ,CAC7DX,IAAI,CAACY,IACP,CAAC;AAAA,YAAA,IAAA,EACG,CAACb,QAAQ,CAACc,EAAE,IAAI,CAACZ,aAAa,CAAA,EAAA;AAAAI,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA,YAAA;YAAA,MAAQ,IAAIO,KAAK,EAAE;AAAA,UAAA,KAAA,EAAA;YAE/CZ,QAAQ,GAAG,IAAIa,GAAG,CAACjB,GAAG,EAAEkB,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC,CAACC,QAAQ,CACzDC,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,EAAE;YAERvC,OAAO,CAACwC,QAAQ,CAAC;AACfjC,cAAAA,QAAQ,EAAES,GAAG;cACbyB,IAAI,EAAE,IAAIC,IAAI,CAAC,CAACxB,IAAI,CAAC,EAAEE,QAAQ,EAAE;gBAAEU,IAAI,EAAEZ,IAAI,CAACY;eAAM;AACtD,aAAC,CAAC;AAACP,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;YAAAD,QAAA,CAAAoB,EAAA,GAAApB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAEHqB,YAAAA,MAAM,CAACC,KAAK,CAACtG,CAAC,CAAC,yCAAyC,CAAC,CAAC;AAAC,UAAA,KAAA,EAAA;YAE7D8D,eAAe,CAAC,KAAK,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAkB,QAAA,CAAAuB,IAAA,EAAA;AAAA;AAAA,MAAA,CAAA,EAAAhC,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CACxB,CAAA,CAAA;IAAA,OAAA,SAvBKL,oBAAoBA,CAAAsC,EAAA,EAAA;AAAA,MAAA,OAAArC,KAAA,CAAAsC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAuBzB;AAED,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBlD,OAAO,CAACwC,QAAQ,CAAC;AAAEjC,MAAAA,QAAQ,EAAE,EAAE;AAAEkC,MAAAA,IAAI,EAAE;AAAW,KAAC,CAAC;EACtD,CAAC;AAED,EAAA,oBACEU,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAyB;AAAAC,IAAAA,QAAA,gBACtCF,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,UAAU;MAAAC,QAAA,EAAA,cACvBC,GAAA,CAACC,MAAM,EAAA;AACLC,QAAAA,IAAI,EAAC,IAAI;AACTC,QAAAA,IAAI,EAAE;AACJ5E,UAAAA,IAAI,EAAE,CAACsB,MAAM,CAAChE,SAAS,EAAEgE,MAAM,CAAC1D,QAAQ,CAAC,CAACiH,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACnErD,UAAAA,QAAQ,EAARA;AACF;AAAE,OACH,CAAC,eACF+C,GAAA,CAACO,YAAY,EAAA;QACXC,YAAY,eACVR,GAAA,CAACS,MAAM,EAAA;AACLX,UAAAA,SAAS,EAAC,0CAA0C;AACpD,UAAA,aAAA,EAAY,+BAA+B;AAC3CY,UAAAA,IAAI,EAAEC,MAAO;AACbT,UAAAA,IAAI,EAAC,SAAS;AACdU,UAAAA,OAAO,EAAC,SAAS;AACjB,UAAA,YAAA,EAAY3H,CAAC,CACX,4CAA4C,EAC5C,sBACF;AAAE,SACH,CACF;AAAA8G,QAAAA,QAAA,eAEDF,IAAA,CAACU,YAAY,CAACM,IAAI,EAAA;AAAAd,UAAAA,QAAA,EAAA,cAChBC,GAAA,CAACO,YAAY,CAACO,QAAQ,EAAA;AACpB,YAAA,aAAA,EAAY,6BAA6B;YACzCC,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQhE,eAAe,CAAC,IAAI,CAAC;YAAA,CAAC;AAAAgD,YAAAA,QAAA,EAEpC7C;WACoB,CAAC,EACvBD,QAAQ,iBACP+C,GAAA,CAACO,YAAY,CAACO,QAAQ,EAAA;AACpB,YAAA,aAAA,EAAY,6BAA6B;AACzCC,YAAAA,OAAO,EAAEnB,YAAa;YAAAG,QAAA,EAErB9G,CAAC,CAAC,gCAAgC;AAAC,WACf,CACxB;SACgB;AAAC,OACR,CAAC;AAAA,KACZ,CAAC,eACN4G,IAAA,CAACmB,MAAM,EAAA;AAACC,MAAAA,MAAM,EAAEnE,YAAa;MAACoE,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQnE,eAAe,CAAC,KAAK,CAAC;MAAA,CAAC;AAAAgD,MAAAA,QAAA,EAAA,cAClEC,GAAA,CAACgB,MAAM,CAACG,MAAM,EAAA;AAAApB,QAAAA,QAAA,eACZC,GAAA,CAACgB,MAAM,CAACI,KAAK,EAAA;AAAArB,UAAAA,QAAA,EAAE7C;SAAoB;AAAC,OACvB,CAAC,eAChB8C,GAAA,CAACqB,aAAa,EAAA;AACZC,QAAAA,gBAAgB,EAAE;AAAEC,UAAAA,KAAK,EAAE,GAAG;AAAEC,UAAAA,MAAM,EAAE;SAAM;AAC9CC,QAAAA,gBAAgB,EAAE;AAAEF,UAAAA,KAAK,EAAE,CAAC;AAAEC,UAAAA,MAAM,EAAE;SAAI;AAE1CE,QAAAA,YAAY,EAAE7H,2BAA4B;AAC1C8H,QAAAA,gBAAgB,EAAExE;AAAqB,OAAA,EAFlCF,QAGN,CAAC;AAAA,KACI,CAAC;AAAA,GACN,CAAC;AAEV;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-DF-OFmpP.js","sources":["../app/javascript/src/v2/components/Profile/constants.js","../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/v2/PhoneNumber\";\nimport * as yup from \"yup\";\n\nconst PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE = {\n \"image/jpeg\": [\".jpeg\", \".jpg\"],\n \"image/png\": [\".png\"],\n};\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n phonenumber: phoneNumberValidation(\n t(\"neetoTeamMembers.profile.form.invalidPhoneNumber\")\n ).nullable(),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = Object.keys(\n PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE\n);\nexport const PROFILE_IMAGE_UPLOAD_CONFIG = {\n allowedImageTypes: PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE,\n};\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption ?? null);\n\n const selectedCountry = findById(countryOption?.value, countries);\n\n return { dateFormat: selectedCountry?.dateFormat };\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\nimport { useState } from \"react\";\n\nimport {\n Avatar,\n Button,\n Dialog,\n DropdownMenu,\n Toastr,\n} from \"@bigbinary/neeto-atoms\";\nimport { useField, useFormikContext } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n PROFILE_IMAGE_UPLOAD_CONFIG,\n} from \"./constants\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const { values } = useFormikContext();\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n\n const { imageUrl } = field.value || {};\n const title = imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\");\n\n const handleUploadComplete = async ({ url }) => {\n if (!url) return;\n\n try {\n const response = await fetch(url);\n const blob = await response.blob();\n const isAllowedType = ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(\n blob.type\n );\n if (!response.ok || !isAllowedType) throw new Error();\n\n const fileName = new URL(url, window.location.href).pathname\n .split(\"/\")\n .pop();\n\n helpers.setValue({\n imageUrl: url,\n file: new File([blob], fileName, { type: blob.type }),\n });\n } catch {\n Toastr.error(t(\"neetoTeamMembers.profile.file.corrupted\"));\n }\n setIsDialogOpen(false);\n };\n\n const handleRemove = () => {\n helpers.setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <div className=\"relative\">\n <Avatar\n size=\"xl\"\n user={{\n name: [values.firstName, values.lastName].filter(Boolean).join(\" \"),\n imageUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 rounded-full\"\n data-testid=\"profile-image-dropdown-button\"\n icon={Pencil}\n size=\"icon-xs\"\n variant=\"outline\"\n aria-label={t(\n \"neetoTeamMembers.common.changeProfileImage\",\n \"Change profile image\"\n )}\n />\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-upload-button\"\n onClick={() => setIsDialogOpen(true)}\n >\n {title}\n </DropdownMenu.MenuItem>\n {imageUrl && (\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemove}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu.Menu>\n </DropdownMenu>\n </div>\n <Dialog isOpen={isDialogOpen} onClose={() => setIsDialogOpen(false)}>\n <Dialog.Header>\n <Dialog.Title>{title}</Dialog.Title>\n </Dialog.Header>\n <ImageUploader\n defaultImageSize={{ width: 500, height: 500 }}\n fixedAspectRatio={{ width: 1, height: 1 }}\n key={imageUrl}\n uploadConfig={PROFILE_IMAGE_UPLOAD_CONFIG}\n onUploadComplete={handleUploadComplete}\n />\n </Dialog>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_IMAGE_EXTENSIONS_BY_MIME_TYPE","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","phonenumber","phoneNumberValidation","nullable","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","Object","keys","PROFILE_IMAGE_UPLOAD_CONFIG","allowedImageTypes","globalProps","endUserUploadedFileSizeLimitInMb","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","selectedCountry","findById","isFetchingCountriesList","ProfileImage","_useTranslation","useTranslation","_useField","useField","_useField2","field","helpers","_useFormikContext","useFormikContext","values","isDialogOpen","setIsDialogOpen","_ref","imageUrl","title","handleUploadComplete","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","url","response","blob","isAllowedType","fileName","wrap","_callee$","_context","prev","next","abrupt","fetch","sent","includes","type","ok","Error","URL","window","location","href","pathname","split","pop","setValue","file","File","t0","Toastr","error","stop","_x","apply","arguments","handleRemove","_jsxs","className","children","_jsx","Avatar","size","user","filter","Boolean","join","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","Dialog","isOpen","onClose","Header","Title","ImageUploader","defaultImageSize","width","height","fixedAspectRatio","uploadConfig","onUploadComplete"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-DYM-kESR.js","sources":["../app/javascript/src/components/Profile/constants.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { validation as phoneNumberValidation } from \"neetomolecules/PhoneNumber\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n phonenumber: phoneNumberValidation(\n t(\"neetoTeamMembers.profile.form.invalidPhoneNumber\")\n ).nullable(),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const UPDATE_EMAIL_PATH = \"/auth/email/edit\";\nexport const MANAGE_BILLING_PATH = \"/auth/billing/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n\nexport const FOCUSABLE_FIELD_IDS = {\n firstName: \"profile-first-name\",\n lastName: \"profile-last-name\",\n phonenumber: \"profile-phonenumber\",\n};\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption ?? null);\n\n const selectedCountry = findById(countryOption?.value, countries);\n\n return { dateFormat: selectedCountry?.dateFormat };\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useEffect, useRef } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n const blobUrlRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { values } = useFormikContext();\n const { setValue } = helpers;\n\n const avatarDetails = {\n name: [values.firstName, values.lastName].filter(Boolean).join(\" \"),\n imageUrl: field.value?.imageUrl,\n };\n\n useEffect(\n () => () => {\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n },\n []\n );\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n blobUrlRef.current = URL.createObjectURL(imageFile);\n\n return setValue({\n imageUrl: blobUrlRef.current,\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => {\n if (blobUrlRef.current) {\n URL.revokeObjectURL(blobUrlRef.current);\n blobUrlRef.current = null;\n }\n setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n {avatarDetails?.imageUrl && (\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept={ALLOWED_PROFILE_IMAGE_MIME_TYPES.join(\",\")}\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","phonenumber","phoneNumberValidation","nullable","dateFormat","UPDATE_EMAIL_PATH","MANAGE_BILLING_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","FOCUSABLE_FIELD_IDS","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_field$value","_useTranslation","useTranslation","fileInputRef","useRef","blobUrlRef","_useField","useField","_useField2","field","_","helpers","_useFormikContext","useFormikContext","values","setValue","avatarDetails","filter","Boolean","join","imageUrl","useEffect","current","URL","revokeObjectURL","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","createObjectURL","file","handleChangeImage","_fileInputRef$current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","limit","hidden","accept","ref","onChange"],"mappings":"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"}