@bigbinary/neeto-team-members-frontend 5.1.2-beta1 → 5.1.2
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.
- package/dist/.ready +1 -1
- package/dist/ManageMember.js +2 -2
- package/dist/Profile.js +1 -1
- package/dist/{ProfileImage-D6FlUbTV.js → ProfileImage-7HtCnKc-.js} +5 -5
- package/dist/ProfileImage-7HtCnKc-.js.map +1 -0
- package/dist/{ProfileImage-g_BVBsn6.js → ProfileImage-D1kCXp4a.js} +3 -7
- package/dist/ProfileImage-D1kCXp4a.js.map +1 -0
- package/dist/{ProfileImage-BVGvRQVx.js → ProfileImage-DIc2wajv.js} +4 -4
- package/dist/ProfileImage-DIc2wajv.js.map +1 -0
- package/dist/{ProfileImage-DLWJaZ0H.js → ProfileImage-DSnU8nqZ.js} +2 -6
- package/dist/ProfileImage-DSnU8nqZ.js.map +1 -0
- package/dist/TeamMembers.js +2 -2
- package/dist/cjs/ManageMember.js +2 -2
- package/dist/cjs/Profile.js +1 -1
- package/dist/cjs/TeamMembers.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/v2/ManageMember.js +2 -2
- package/dist/cjs/v2/Profile.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +2 -2
- package/dist/cjs/v2/index.js +2 -2
- package/dist/{index-DkYQBe1V.js → index-BcPx2-z8.js} +2 -2
- package/dist/{index-DkYQBe1V.js.map → index-BcPx2-z8.js.map} +1 -1
- package/dist/{index-BUDkqcf9.js → index-CHvbZfMI.js} +2 -2
- package/dist/{index-BUDkqcf9.js.map → index-CHvbZfMI.js.map} +1 -1
- package/dist/{index-CCrDkOrb.js → index-D8lgteE5.js} +2 -2
- package/dist/{index-CCrDkOrb.js.map → index-D8lgteE5.js.map} +1 -1
- package/dist/{index-i205PvB5.js → index-venWfbj6.js} +2 -2
- package/dist/{index-i205PvB5.js.map → index-venWfbj6.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/v2/ManageMember.js +2 -2
- package/dist/v2/Profile.js +1 -1
- package/dist/v2/TeamMembers.js +2 -2
- package/dist/v2/index.js +2 -2
- package/package.json +1 -1
- package/dist/ProfileImage-BVGvRQVx.js.map +0 -1
- package/dist/ProfileImage-D6FlUbTV.js.map +0 -1
- package/dist/ProfileImage-DLWJaZ0H.js.map +0 -1
- package/dist/ProfileImage-g_BVBsn6.js.map +0 -1
package/dist/.ready
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Built at 2026-09-24T14:
|
|
1
|
+
Built at 2026-09-24T14:19:09.626Z
|
package/dist/ManageMember.js
CHANGED
|
@@ -19,10 +19,10 @@ import '@bigbinary/neetoui/formik/Form';
|
|
|
19
19
|
import 'ramda';
|
|
20
20
|
import 'react-i18next';
|
|
21
21
|
import './index-BISwUwuE.js';
|
|
22
|
-
import './ProfileImage-
|
|
22
|
+
import './ProfileImage-D1kCXp4a.js';
|
|
23
23
|
import './useRolesApi-93OoRU1s.js';
|
|
24
24
|
import './useTeamsApi-CGY9oJqn.js';
|
|
25
|
-
export { M as default } from './index-
|
|
25
|
+
export { M as default } from './index-BcPx2-z8.js';
|
|
26
26
|
import './RolesRadioGroup-BefORc9L.js';
|
|
27
27
|
import 'react/jsx-runtime';
|
|
28
28
|
import '@babel/runtime/helpers/toConsumableArray';
|
package/dist/Profile.js
CHANGED
|
@@ -24,7 +24,7 @@ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
|
24
24
|
import { isNotNil, isNil, is, trim } from 'ramda';
|
|
25
25
|
import { D as DATE_FORMAT_OPTIONS, T as TIME_FORMAT_OPTIONS } from './constants-CXdiW8NZ.js';
|
|
26
26
|
import { u as useFetchProfile, a as useUpdateProfileMutation } from './useProfileApi-Dkt6sE5p.js';
|
|
27
|
-
import { u as useCountries, P as PROFILE_VALIDATION_SCHEMA, a as ProfileImage, M as MANAGE_BILLING_PATH, U as UPDATE_EMAIL_PATH } from './ProfileImage-
|
|
27
|
+
import { u as useCountries, P as PROFILE_VALIDATION_SCHEMA, a as ProfileImage, M as MANAGE_BILLING_PATH, U as UPDATE_EMAIL_PATH } from './ProfileImage-D1kCXp4a.js';
|
|
28
28
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
29
29
|
import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
30
30
|
import { create } from 'zustand';
|
|
@@ -4,8 +4,9 @@ import { useState, useMemo, useCallback, useRef } from 'react';
|
|
|
4
4
|
import { findById } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { u as useFetchCountries } from './useCountriesApi-DK00167T.js';
|
|
6
6
|
import { Avatar, DropdownMenu, Button } from '@bigbinary/neeto-atoms';
|
|
7
|
-
import { useField
|
|
7
|
+
import { useField } from 'formik';
|
|
8
8
|
import { Pencil } from 'lucide-react';
|
|
9
|
+
import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
|
|
9
10
|
import { useTranslation } from 'react-i18next';
|
|
10
11
|
import { toast } from 'sonner';
|
|
11
12
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -49,14 +50,13 @@ var useCountries = function useCountries() {
|
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
var ProfileImage = function ProfileImage() {
|
|
53
|
+
var _globalProps$user;
|
|
52
54
|
var _useTranslation = useTranslation(),
|
|
53
55
|
t = _useTranslation.t;
|
|
54
56
|
var _useField = useField("avatar"),
|
|
55
57
|
_useField2 = _slicedToArray(_useField, 3),
|
|
56
58
|
field = _useField2[0],
|
|
57
59
|
helpers = _useField2[2];
|
|
58
|
-
var _useFormikContext = useFormikContext(),
|
|
59
|
-
values = _useFormikContext.values;
|
|
60
60
|
var fileInputRef = useRef(null);
|
|
61
61
|
var _ref = field.value || {},
|
|
62
62
|
imageUrl = _ref.imageUrl,
|
|
@@ -88,7 +88,7 @@ var ProfileImage = function ProfileImage() {
|
|
|
88
88
|
children: [/*#__PURE__*/jsx(Avatar, {
|
|
89
89
|
size: "xl",
|
|
90
90
|
user: {
|
|
91
|
-
name:
|
|
91
|
+
name: (_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.name,
|
|
92
92
|
imageUrl: displayUrl
|
|
93
93
|
}
|
|
94
94
|
}), /*#__PURE__*/jsx(DropdownMenu, {
|
|
@@ -126,4 +126,4 @@ var ProfileImage = function ProfileImage() {
|
|
|
126
126
|
};
|
|
127
127
|
|
|
128
128
|
export { ProfileImage as P, useCountries as u };
|
|
129
|
-
//# sourceMappingURL=ProfileImage-
|
|
129
|
+
//# sourceMappingURL=ProfileImage-7HtCnKc-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileImage-7HtCnKc-.js","sources":["../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["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 */\n// v2 ProfileImage — placeholder, full implementation in Phase 3.5\n// Used by ManageMember for member avatar editing\nimport { useRef } from \"react\";\n\nimport { Avatar, Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const fileInputRef = useRef(null);\n\n const { imageUrl, file } = field.value || {};\n const displayUrl =\n file && file !== \"_destroy\" ? URL.createObjectURL(file) : imageUrl;\n\n const handleFileSelect = event => {\n const selectedFile = event.target.files[0];\n if (!selectedFile) return;\n\n const maxSize = 5 * 1024 * 1024;\n if (selectedFile.size > maxSize) {\n toast.error(\n t(\n \"neetoTeamMembers.common.fileSizeTooLarge\",\n \"File size must be less than 5MB\"\n )\n );\n\n return;\n }\n\n helpers.setValue({ imageUrl, file: selectedFile });\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: globalProps.user?.name,\n imageUrl: displayUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 rounded-full\"\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={() => fileInputRef.current?.click()}\n >\n {t(\"neetoTeamMembers.common.upload\", \"Upload\")}\n </DropdownMenu.MenuItem>\n {displayUrl && (\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 <input\n accept=\"image/*\"\n className=\"hidden\"\n data-testid=\"profile-image-upload-file-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n />\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["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","dateFormat","isFetchingCountriesList","ProfileImage","_globalProps$user","_useTranslation","useTranslation","t","_useField","useField","_useField2","field","helpers","fileInputRef","useRef","_ref","imageUrl","file","displayUrl","URL","createObjectURL","handleFileSelect","event","selectedFile","target","files","maxSize","size","toast","error","setValue","handleRemove","_jsxs","className","children","_jsx","Avatar","user","globalProps","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","_fileInputRef$current","current","click","accept","ref","type","onChange"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
2
2
|
import { useState, useMemo, useCallback, useRef, useEffect } from 'react';
|
|
3
3
|
import { findById } from '@bigbinary/neeto-cist';
|
|
4
4
|
import { u as useFetchCountries } from './useCountriesApi-DK00167T.js';
|
|
5
|
-
import { useField
|
|
5
|
+
import { useField } from 'formik';
|
|
6
6
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
7
7
|
import Edit from '@bigbinary/neeto-icons/Edit';
|
|
8
8
|
import Avatar from '@bigbinary/neetoui/Avatar';
|
|
@@ -71,7 +71,6 @@ var useCountries = function useCountries() {
|
|
|
71
71
|
var Menu = Dropdown.Menu,
|
|
72
72
|
MenuItem = Dropdown.MenuItem;
|
|
73
73
|
var ProfileImage = function ProfileImage() {
|
|
74
|
-
var _field$value;
|
|
75
74
|
var _useTranslation = useTranslation(),
|
|
76
75
|
t = _useTranslation.t;
|
|
77
76
|
var fileInputRef = useRef(null);
|
|
@@ -81,12 +80,9 @@ var ProfileImage = function ProfileImage() {
|
|
|
81
80
|
field = _useField2[0];
|
|
82
81
|
_useField2[1];
|
|
83
82
|
var helpers = _useField2[2];
|
|
84
|
-
var _useFormikContext = useFormikContext(),
|
|
85
|
-
values = _useFormikContext.values;
|
|
86
83
|
var setValue = helpers.setValue;
|
|
87
84
|
var avatarDetails = {
|
|
88
|
-
|
|
89
|
-
imageUrl: (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.imageUrl
|
|
85
|
+
imageUrl: field.value.imageUrl
|
|
90
86
|
};
|
|
91
87
|
useEffect(function () {
|
|
92
88
|
return function () {
|
|
@@ -188,4 +184,4 @@ var ProfileImage = function ProfileImage() {
|
|
|
188
184
|
};
|
|
189
185
|
|
|
190
186
|
export { MANAGE_BILLING_PATH as M, PROFILE_VALIDATION_SCHEMA as P, UPDATE_EMAIL_PATH as U, ProfileImage as a, useCountries as u };
|
|
191
|
-
//# sourceMappingURL=ProfileImage-
|
|
187
|
+
//# sourceMappingURL=ProfileImage-D1kCXp4a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileImage-D1kCXp4a.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","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 } 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 { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\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 <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\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","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","_useTranslation","useTranslation","fileInputRef","useRef","blobUrlRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","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","values","limit","hidden","accept","join","ref","onChange"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ var useCountriesApi = require('./useCountriesApi-CjhrbnjK.js');
|
|
|
8
8
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
9
9
|
var formik = require('formik');
|
|
10
10
|
var lucideReact = require('lucide-react');
|
|
11
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
11
12
|
var reactI18next = require('react-i18next');
|
|
12
13
|
var sonner = require('sonner');
|
|
13
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -55,14 +56,13 @@ var useCountries = function useCountries() {
|
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
var ProfileImage = function ProfileImage() {
|
|
59
|
+
var _globalProps$user;
|
|
58
60
|
var _useTranslation = reactI18next.useTranslation(),
|
|
59
61
|
t = _useTranslation.t;
|
|
60
62
|
var _useField = formik.useField("avatar"),
|
|
61
63
|
_useField2 = _slicedToArray__default.default(_useField, 3),
|
|
62
64
|
field = _useField2[0],
|
|
63
65
|
helpers = _useField2[2];
|
|
64
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
65
|
-
values = _useFormikContext.values;
|
|
66
66
|
var fileInputRef = React.useRef(null);
|
|
67
67
|
var _ref = field.value || {},
|
|
68
68
|
imageUrl = _ref.imageUrl,
|
|
@@ -94,7 +94,7 @@ var ProfileImage = function ProfileImage() {
|
|
|
94
94
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Avatar, {
|
|
95
95
|
size: "xl",
|
|
96
96
|
user: {
|
|
97
|
-
name:
|
|
97
|
+
name: (_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.name,
|
|
98
98
|
imageUrl: displayUrl
|
|
99
99
|
}
|
|
100
100
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu, {
|
|
@@ -133,4 +133,4 @@ var ProfileImage = function ProfileImage() {
|
|
|
133
133
|
|
|
134
134
|
exports.ProfileImage = ProfileImage;
|
|
135
135
|
exports.useCountries = useCountries;
|
|
136
|
-
//# sourceMappingURL=ProfileImage-
|
|
136
|
+
//# sourceMappingURL=ProfileImage-DIc2wajv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileImage-DIc2wajv.js","sources":["../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["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 */\n// v2 ProfileImage — placeholder, full implementation in Phase 3.5\n// Used by ManageMember for member avatar editing\nimport { useRef } from \"react\";\n\nimport { Avatar, Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const fileInputRef = useRef(null);\n\n const { imageUrl, file } = field.value || {};\n const displayUrl =\n file && file !== \"_destroy\" ? URL.createObjectURL(file) : imageUrl;\n\n const handleFileSelect = event => {\n const selectedFile = event.target.files[0];\n if (!selectedFile) return;\n\n const maxSize = 5 * 1024 * 1024;\n if (selectedFile.size > maxSize) {\n toast.error(\n t(\n \"neetoTeamMembers.common.fileSizeTooLarge\",\n \"File size must be less than 5MB\"\n )\n );\n\n return;\n }\n\n helpers.setValue({ imageUrl, file: selectedFile });\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: globalProps.user?.name,\n imageUrl: displayUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 rounded-full\"\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={() => fileInputRef.current?.click()}\n >\n {t(\"neetoTeamMembers.common.upload\", \"Upload\")}\n </DropdownMenu.MenuItem>\n {displayUrl && (\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 <input\n accept=\"image/*\"\n className=\"hidden\"\n data-testid=\"profile-image-upload-file-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n />\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["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","dateFormat","isFetchingCountriesList","ProfileImage","_globalProps$user","_useTranslation","useTranslation","t","_useField","useField","_useField2","field","helpers","fileInputRef","useRef","_ref","imageUrl","file","displayUrl","URL","createObjectURL","handleFileSelect","event","selectedFile","target","files","maxSize","size","toast","error","setValue","handleRemove","_jsxs","className","children","_jsx","Avatar","user","globalProps","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","_fileInputRef$current","current","click","accept","ref","type","onChange"],"mappings":"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"}
|
|
@@ -101,7 +101,6 @@ var useCountries = function useCountries() {
|
|
|
101
101
|
var Menu = Dropdown__default.default.Menu,
|
|
102
102
|
MenuItem = Dropdown__default.default.MenuItem;
|
|
103
103
|
var ProfileImage = function ProfileImage() {
|
|
104
|
-
var _field$value;
|
|
105
104
|
var _useTranslation = reactI18next.useTranslation(),
|
|
106
105
|
t = _useTranslation.t;
|
|
107
106
|
var fileInputRef = React.useRef(null);
|
|
@@ -111,12 +110,9 @@ var ProfileImage = function ProfileImage() {
|
|
|
111
110
|
field = _useField2[0];
|
|
112
111
|
_useField2[1];
|
|
113
112
|
var helpers = _useField2[2];
|
|
114
|
-
var _useFormikContext = formik.useFormikContext(),
|
|
115
|
-
values = _useFormikContext.values;
|
|
116
113
|
var setValue = helpers.setValue;
|
|
117
114
|
var avatarDetails = {
|
|
118
|
-
|
|
119
|
-
imageUrl: (_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.imageUrl
|
|
115
|
+
imageUrl: field.value.imageUrl
|
|
120
116
|
};
|
|
121
117
|
React.useEffect(function () {
|
|
122
118
|
return function () {
|
|
@@ -222,4 +218,4 @@ exports.PROFILE_VALIDATION_SCHEMA = PROFILE_VALIDATION_SCHEMA;
|
|
|
222
218
|
exports.ProfileImage = ProfileImage;
|
|
223
219
|
exports.UPDATE_EMAIL_PATH = UPDATE_EMAIL_PATH;
|
|
224
220
|
exports.useCountries = useCountries;
|
|
225
|
-
//# sourceMappingURL=ProfileImage-
|
|
221
|
+
//# sourceMappingURL=ProfileImage-DSnU8nqZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileImage-DSnU8nqZ.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","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 } 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 { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\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 <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\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","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","_useTranslation","useTranslation","fileInputRef","useRef","blobUrlRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","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","values","limit","hidden","accept","join","ref","onChange"],"mappings":"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"}
|
package/dist/TeamMembers.js
CHANGED
|
@@ -23,7 +23,7 @@ import { b as useFetchFilterOptions, c as useBulkUpdateMembers, d as useExportMe
|
|
|
23
23
|
import { TABLE_KEYS, EVENTS } from './constants.js';
|
|
24
24
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
25
25
|
import { buildFiltersFromURL } from '@bigbinary/neeto-filters-frontend/utils';
|
|
26
|
-
import { d as defaultNeetoFiltersColumns, D as DEFAULT_FILTER_VALUES, b as buildFilterColumns, a as DEFAULT_IS_OPEN_VALUES, c as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, e as getColumnData, f as generateNoDataContent, r as renderPaginationProps, i as DEFAULT_RADIX, M as ManageMember, j as renderUpdateAlert } from './index-
|
|
26
|
+
import { d as defaultNeetoFiltersColumns, D as DEFAULT_FILTER_VALUES, b as buildFilterColumns, a as DEFAULT_IS_OPEN_VALUES, c as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, e as getColumnData, f as generateNoDataContent, r as renderPaginationProps, i as DEFAULT_RADIX, M as ManageMember, j as renderUpdateAlert } from './index-BcPx2-z8.js';
|
|
27
27
|
import { n } from './inject-css-C2dztUxs.js';
|
|
28
28
|
import { noop, isNotEmpty, hyphenate, findBy } from '@bigbinary/neeto-cist';
|
|
29
29
|
import Button from '@bigbinary/neetoui/Button';
|
|
@@ -56,7 +56,7 @@ import '@bigbinary/neetoui/formik/ActionBlock';
|
|
|
56
56
|
import '@bigbinary/neetoui/formik/Form';
|
|
57
57
|
import './index-BISwUwuE.js';
|
|
58
58
|
import 'formik';
|
|
59
|
-
import './ProfileImage-
|
|
59
|
+
import './ProfileImage-D1kCXp4a.js';
|
|
60
60
|
import './useCountriesApi-DK00167T.js';
|
|
61
61
|
import '@bigbinary/neeto-icons/Edit';
|
|
62
62
|
import '@bigbinary/neetoui/Avatar';
|
package/dist/cjs/ManageMember.js
CHANGED
|
@@ -21,10 +21,10 @@ require('@bigbinary/neetoui/formik/Form');
|
|
|
21
21
|
require('ramda');
|
|
22
22
|
require('react-i18next');
|
|
23
23
|
require('../index-4wQ9Y7v9.js');
|
|
24
|
-
require('../ProfileImage-
|
|
24
|
+
require('../ProfileImage-DSnU8nqZ.js');
|
|
25
25
|
require('../useRolesApi-DuL4eCuF.js');
|
|
26
26
|
require('../useTeamsApi-ClWGPxNW.js');
|
|
27
|
-
var ManageMember = require('../index-
|
|
27
|
+
var ManageMember = require('../index-D8lgteE5.js');
|
|
28
28
|
require('../RolesRadioGroup-Y0ye4oSa.js');
|
|
29
29
|
require('react/jsx-runtime');
|
|
30
30
|
require('@babel/runtime/helpers/toConsumableArray');
|
package/dist/cjs/Profile.js
CHANGED
|
@@ -26,7 +26,7 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
|
26
26
|
var ramda = require('ramda');
|
|
27
27
|
var constants = require('../constants-D_H6M1Pm.js');
|
|
28
28
|
var useProfileApi = require('../useProfileApi-BcuLCyms.js');
|
|
29
|
-
var ProfileImage = require('../ProfileImage-
|
|
29
|
+
var ProfileImage = require('../ProfileImage-DSnU8nqZ.js');
|
|
30
30
|
var jsxRuntime = require('react/jsx-runtime');
|
|
31
31
|
var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
|
|
32
32
|
var zustand = require('zustand');
|
package/dist/cjs/TeamMembers.js
CHANGED
|
@@ -25,7 +25,7 @@ var useTeamsApi = require('../useTeamsApi-ClWGPxNW.js');
|
|
|
25
25
|
var constants$1 = require('./constants.js');
|
|
26
26
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
27
27
|
var utils = require('@bigbinary/neeto-filters-frontend/utils');
|
|
28
|
-
var ManageMember = require('../index-
|
|
28
|
+
var ManageMember = require('../index-D8lgteE5.js');
|
|
29
29
|
var injectCss = require('../inject-css-B6qYtOJe.js');
|
|
30
30
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
31
31
|
var Button = require('@bigbinary/neetoui/Button');
|
|
@@ -58,7 +58,7 @@ require('@bigbinary/neetoui/formik/ActionBlock');
|
|
|
58
58
|
require('@bigbinary/neetoui/formik/Form');
|
|
59
59
|
require('../index-4wQ9Y7v9.js');
|
|
60
60
|
require('formik');
|
|
61
|
-
require('../ProfileImage-
|
|
61
|
+
require('../ProfileImage-DSnU8nqZ.js');
|
|
62
62
|
require('../useCountriesApi-CjhrbnjK.js');
|
|
63
63
|
require('@bigbinary/neeto-icons/Edit');
|
|
64
64
|
require('@bigbinary/neetoui/Avatar');
|
package/dist/cjs/index.js
CHANGED
|
@@ -7,7 +7,7 @@ var Profile = require('./Profile.js');
|
|
|
7
7
|
var Roles = require('./Roles.js');
|
|
8
8
|
var Permissions = require('../Permissions-B6RRMTKS.js');
|
|
9
9
|
var TeamMembers = require('./TeamMembers.js');
|
|
10
|
-
var ManageMember = require('../index-
|
|
10
|
+
var ManageMember = require('../index-D8lgteE5.js');
|
|
11
11
|
var RolesRadioGroup = require('../RolesRadioGroup-Y0ye4oSa.js');
|
|
12
12
|
var TeamsAndMembersDropdown = require('./TeamsAndMembersDropdown.js');
|
|
13
13
|
var TeamsDropdown = require('./TeamsDropdown.js');
|
|
@@ -77,7 +77,7 @@ require('@bigbinary/neetoui/Label');
|
|
|
77
77
|
require('@bigbinary/neetoui/Toastr');
|
|
78
78
|
require('../useProfileApi-BcuLCyms.js');
|
|
79
79
|
require('../useCountriesApi-CjhrbnjK.js');
|
|
80
|
-
require('../ProfileImage-
|
|
80
|
+
require('../ProfileImage-DSnU8nqZ.js');
|
|
81
81
|
require('@bigbinary/neeto-icons/Edit');
|
|
82
82
|
require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
|
|
83
83
|
require('zustand');
|
|
@@ -16,7 +16,7 @@ require('react-i18next');
|
|
|
16
16
|
require('sonner');
|
|
17
17
|
require('../../useRolesApi-DuL4eCuF.js');
|
|
18
18
|
require('../../useTeamsApi-ClWGPxNW.js');
|
|
19
|
-
var v2_ManageMember = require('../../index-
|
|
19
|
+
var v2_ManageMember = require('../../index-CHvbZfMI.js');
|
|
20
20
|
require('../../RolesRadioGroup-cRZea-gs.js');
|
|
21
21
|
require('../../ActionBlock-DjypCjju.js');
|
|
22
22
|
require('../../Select-CshPoN2b.js');
|
|
@@ -24,7 +24,7 @@ require('@babel/runtime/helpers/objectWithoutProperties');
|
|
|
24
24
|
require('formik');
|
|
25
25
|
require('react/jsx-runtime');
|
|
26
26
|
require('../../index-BOQKf6as.js');
|
|
27
|
-
require('../../ProfileImage-
|
|
27
|
+
require('../../ProfileImage-DIc2wajv.js');
|
|
28
28
|
require('@tanstack/react-query');
|
|
29
29
|
require('@bigbinary/neeto-cist');
|
|
30
30
|
require('@bigbinary/neeto-commons-frontend/react-utils');
|
package/dist/cjs/v2/Profile.js
CHANGED
|
@@ -20,7 +20,7 @@ var ramda = require('ramda');
|
|
|
20
20
|
var sonner = require('sonner');
|
|
21
21
|
var constants = require('../../constants-D_H6M1Pm.js');
|
|
22
22
|
var useProfileApi = require('../../useProfileApi-BcuLCyms.js');
|
|
23
|
-
var ProfileImage = require('../../ProfileImage-
|
|
23
|
+
var ProfileImage = require('../../ProfileImage-DIc2wajv.js');
|
|
24
24
|
var i18next = require('i18next');
|
|
25
25
|
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
26
26
|
var yup = require('yup');
|
|
@@ -25,7 +25,7 @@ var i18next = require('i18next');
|
|
|
25
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
26
26
|
var constants$2 = require('../../constants-il7hAfM-.js');
|
|
27
27
|
var NeetoHeader = require('@bigbinary/neeto-molecules/v2/Header');
|
|
28
|
-
var v2_ManageMember = require('../../index-
|
|
28
|
+
var v2_ManageMember = require('../../index-CHvbZfMI.js');
|
|
29
29
|
var withReactQuery = require('../../withReactQuery-DvSkXhEx.js');
|
|
30
30
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
31
31
|
require('@tanstack/react-query');
|
|
@@ -55,7 +55,7 @@ require('../utils.js');
|
|
|
55
55
|
require('../../_commonjsHelpers-BJu3ubxk.js');
|
|
56
56
|
require('@bigbinary/neeto-time-zones');
|
|
57
57
|
require('@bigbinary/neeto-molecules/v2/PhoneNumber');
|
|
58
|
-
require('../../ProfileImage-
|
|
58
|
+
require('../../ProfileImage-DIc2wajv.js');
|
|
59
59
|
require('../../inject-css-B6qYtOJe.js');
|
|
60
60
|
require('../../useCountriesApi-CjhrbnjK.js');
|
|
61
61
|
require('../../ActionBlock-DjypCjju.js');
|
package/dist/cjs/v2/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var v2_Profile = require('./Profile.js');
|
|
|
10
10
|
var v2_Roles = require('./Roles.js');
|
|
11
11
|
var v2_Permissions = require('../../Permissions-BH2pNPMx.js');
|
|
12
12
|
var v2_TeamMembers = require('./TeamMembers.js');
|
|
13
|
-
var v2_ManageMember = require('../../index-
|
|
13
|
+
var v2_ManageMember = require('../../index-CHvbZfMI.js');
|
|
14
14
|
var v2_RolesRadioGroup = require('../../RolesRadioGroup-cRZea-gs.js');
|
|
15
15
|
var v2_TeamsAndMembersDropdown = require('./TeamsAndMembersDropdown.js');
|
|
16
16
|
var v2_TeamsDropdown = require('./TeamsDropdown.js');
|
|
@@ -63,7 +63,7 @@ require('@bigbinary/neeto-molecules/v2/PhoneNumber');
|
|
|
63
63
|
require('sonner');
|
|
64
64
|
require('../../useProfileApi-BcuLCyms.js');
|
|
65
65
|
require('../../useCountriesApi-CjhrbnjK.js');
|
|
66
|
-
require('../../ProfileImage-
|
|
66
|
+
require('../../ProfileImage-DIc2wajv.js');
|
|
67
67
|
require('../../inject-css-B6qYtOJe.js');
|
|
68
68
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions');
|
|
69
69
|
require('zustand');
|
|
@@ -19,7 +19,7 @@ import Form from '@bigbinary/neetoui/formik/Form';
|
|
|
19
19
|
import { clamp, curry, filter, identical, mergeLeft, assoc, not, pluck, isEmpty, head, reverse, groupBy, prop } from 'ramda';
|
|
20
20
|
import { Trans, useTranslation } from 'react-i18next';
|
|
21
21
|
import { S as ScrollToErrorField } from './index-BISwUwuE.js';
|
|
22
|
-
import { u as useCountries, a as ProfileImage } from './ProfileImage-
|
|
22
|
+
import { u as useCountries, a as ProfileImage } from './ProfileImage-D1kCXp4a.js';
|
|
23
23
|
import { u as useFetchRoles, a as useFetchGlobalRoles } from './useRolesApi-93OoRU1s.js';
|
|
24
24
|
import { u as useFetchMembers, f as useFetchMember, g as useCreateMember, h as useMembersCreationStatus, r as refetchMembers, e as useUpdateMember } from './useTeamsApi-CGY9oJqn.js';
|
|
25
25
|
import { n } from './inject-css-C2dztUxs.js';
|
|
@@ -1284,4 +1284,4 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
1284
1284
|
};
|
|
1285
1285
|
|
|
1286
1286
|
export { DEFAULT_FILTER_VALUES as D, ManageMember as M, DEFAULT_IS_OPEN_VALUES as a, buildFilterColumns as b, DEFAULT_SELECTED_ROWS as c, defaultNeetoFiltersColumns as d, getColumnData as e, generateNoDataContent as f, getFilteredRoles as g, handlePageChange as h, DEFAULT_RADIX as i, renderUpdateAlert as j, renderPaginationProps as r };
|
|
1287
|
-
//# sourceMappingURL=index-
|
|
1287
|
+
//# sourceMappingURL=index-BcPx2-z8.js.map
|