@bigbinary/neeto-team-members-frontend 5.0.32 → 5.0.34
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/app/javascript/src/translations/ar.json +2 -1
- package/app/javascript/src/translations/bg.json +2 -1
- package/app/javascript/src/translations/ca.json +2 -1
- package/app/javascript/src/translations/cs.json +2 -1
- package/app/javascript/src/translations/da.json +2 -1
- package/app/javascript/src/translations/de.json +2 -1
- package/app/javascript/src/translations/en.json +1 -0
- package/app/javascript/src/translations/es-MX.json +2 -1
- package/app/javascript/src/translations/es.json +2 -1
- package/app/javascript/src/translations/et.json +2 -1
- package/app/javascript/src/translations/fi.json +2 -1
- package/app/javascript/src/translations/fil.json +2 -1
- package/app/javascript/src/translations/fr.json +2 -1
- package/app/javascript/src/translations/he.json +2 -1
- package/app/javascript/src/translations/hi.json +2 -1
- package/app/javascript/src/translations/hr.json +2 -1
- package/app/javascript/src/translations/hu.json +2 -1
- package/app/javascript/src/translations/id.json +2 -1
- package/app/javascript/src/translations/it.json +2 -1
- package/app/javascript/src/translations/ja.json +2 -1
- package/app/javascript/src/translations/ko.json +2 -1
- package/app/javascript/src/translations/nl.json +2 -1
- package/app/javascript/src/translations/pl.json +2 -1
- package/app/javascript/src/translations/pt-BR.json +2 -1
- package/app/javascript/src/translations/pt.json +2 -1
- package/app/javascript/src/translations/ro.json +2 -1
- package/app/javascript/src/translations/ru.json +2 -1
- package/app/javascript/src/translations/sk.json +2 -1
- package/app/javascript/src/translations/sl.json +2 -1
- package/app/javascript/src/translations/sv.json +2 -1
- package/app/javascript/src/translations/th.json +2 -1
- package/app/javascript/src/translations/tr.json +2 -1
- package/app/javascript/src/translations/uk.json +2 -1
- package/app/javascript/src/translations/vi.json +2 -1
- package/app/javascript/src/translations/zh-CN.json +2 -1
- package/app/javascript/src/translations/zh-TW.json +2 -1
- package/dist/.ready +1 -1
- package/dist/{Permissions-3L2jJkiY.js → Permissions-Ds61VDtG.js} +4 -4
- package/dist/Permissions-Ds61VDtG.js.map +1 -0
- package/dist/{Permissions-CpmpfRk1.js → Permissions-rFYQmsMn.js} +4 -4
- package/dist/Permissions-rFYQmsMn.js.map +1 -0
- package/dist/{RolesRadioGroup-fBmS68cW.js → RolesRadioGroup-bXyHmk_Q.js} +35 -38
- package/dist/RolesRadioGroup-bXyHmk_Q.js.map +1 -0
- package/dist/{RolesRadioGroup-tSNC-Wtu.js → RolesRadioGroup-n1NclSyf.js} +35 -38
- package/dist/RolesRadioGroup-n1NclSyf.js.map +1 -0
- package/dist/cjs/v2/Groups.js +1 -1
- package/dist/cjs/v2/Groups.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +5 -3
- package/dist/cjs/v2/ManageMember.js.map +1 -1
- package/dist/cjs/v2/MembersDropdown.js +1 -1
- package/dist/cjs/v2/MembersInvite.js +1 -1
- package/dist/cjs/v2/MembersInvite.js.map +1 -1
- package/dist/cjs/v2/Permissions.js +1 -1
- package/dist/cjs/v2/Profile.js +189 -202
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/Roles.js +2 -2
- package/dist/cjs/v2/RolesRadioGroup.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +5 -3
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/TeamsAndMembersDropdown.js +12 -18
- package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/cjs/v2/TeamsDropdown.js +1 -1
- package/dist/{index-SkKQWXyo.js → index-B2PgGcMs.js} +183 -104
- package/dist/index-B2PgGcMs.js.map +1 -0
- package/dist/{index-DCtowiCJ.js → index-BBIYGX2C.js} +183 -104
- package/dist/index-BBIYGX2C.js.map +1 -0
- package/dist/{index-DqqXniGT.js → index-BaW7CGuF.js} +3 -3
- package/dist/index-BaW7CGuF.js.map +1 -0
- package/dist/{index-DeYRFiJy.js → index-C8Aaixo-.js} +3 -3
- package/dist/index-C8Aaixo-.js.map +1 -0
- package/dist/timezone-selector-BGpvIcKU.js +175 -0
- package/dist/timezone-selector-BGpvIcKU.js.map +1 -0
- package/dist/timezone-selector-ojZT6BkF.js +165 -0
- package/dist/timezone-selector-ojZT6BkF.js.map +1 -0
- package/dist/v2/Groups.js +1 -1
- package/dist/v2/Groups.js.map +1 -1
- package/dist/v2/ManageMember.js +5 -3
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/MembersDropdown.js +1 -1
- package/dist/v2/MembersInvite.js +1 -1
- package/dist/v2/MembersInvite.js.map +1 -1
- package/dist/v2/Permissions.js +1 -1
- package/dist/v2/Profile.js +184 -199
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/Roles.js +2 -2
- package/dist/v2/RolesRadioGroup.js +1 -1
- package/dist/v2/TeamMembers.js +5 -3
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/TeamsAndMembersDropdown.js +12 -18
- package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/v2/TeamsDropdown.js +1 -1
- package/package.json +1 -1
- package/dist/Permissions-3L2jJkiY.js.map +0 -1
- package/dist/Permissions-CpmpfRk1.js.map +0 -1
- package/dist/RolesRadioGroup-fBmS68cW.js.map +0 -1
- package/dist/RolesRadioGroup-tSNC-Wtu.js.map +0 -1
- package/dist/index-DCtowiCJ.js.map +0 -1
- package/dist/index-DeYRFiJy.js.map +0 -1
- package/dist/index-DqqXniGT.js.map +0 -1
- package/dist/index-SkKQWXyo.js.map +0 -1
- package/dist/useCountries-CQdvJz0R.js +0 -249
- package/dist/useCountries-CQdvJz0R.js.map +0 -1
- package/dist/useCountries-DePOPtue.js +0 -235
- package/dist/useCountries-DePOPtue.js.map +0 -1
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
-
import { useRef, useState, useMemo, useCallback } from 'react';
|
|
3
|
-
import { Avatar, DropdownMenu, Button, cn } from '@bigbinary/neeto-atoms';
|
|
4
|
-
import { useField } from 'formik';
|
|
5
|
-
import { Pencil, Check, Copy } from 'lucide-react';
|
|
6
|
-
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
7
|
-
import { useTranslation } from 'react-i18next';
|
|
8
|
-
import { toast } from 'sonner';
|
|
9
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
11
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
12
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
13
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
14
|
-
import { findById } from '@bigbinary/neeto-cist';
|
|
15
|
-
import { useQuery } from '@tanstack/react-query';
|
|
16
|
-
import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
|
|
17
|
-
import axios from 'axios';
|
|
18
|
-
import { B as BASE_URL, Q as QUERY_KEYS } from './constants-B1L6arSR.js';
|
|
19
|
-
|
|
20
|
-
var ProfileImage = function ProfileImage() {
|
|
21
|
-
var _globalProps$user;
|
|
22
|
-
var _useTranslation = useTranslation(),
|
|
23
|
-
t = _useTranslation.t;
|
|
24
|
-
var _useField = useField("avatar"),
|
|
25
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
26
|
-
field = _useField2[0],
|
|
27
|
-
helpers = _useField2[2];
|
|
28
|
-
var fileInputRef = useRef(null);
|
|
29
|
-
var _ref = field.value || {},
|
|
30
|
-
imageUrl = _ref.imageUrl,
|
|
31
|
-
file = _ref.file;
|
|
32
|
-
var displayUrl = file && file !== "_destroy" ? URL.createObjectURL(file) : imageUrl;
|
|
33
|
-
var handleFileSelect = function handleFileSelect(event) {
|
|
34
|
-
var selectedFile = event.target.files[0];
|
|
35
|
-
if (!selectedFile) return;
|
|
36
|
-
var maxSize = 5 * 1024 * 1024;
|
|
37
|
-
if (selectedFile.size > maxSize) {
|
|
38
|
-
toast.error(t("neetoTeamMembers.common.fileSizeTooLarge", "File size must be less than 5MB"));
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
helpers.setValue({
|
|
42
|
-
imageUrl: imageUrl,
|
|
43
|
-
file: selectedFile
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
var handleRemove = function handleRemove() {
|
|
47
|
-
helpers.setValue({
|
|
48
|
-
imageUrl: "",
|
|
49
|
-
file: "_destroy"
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
return /*#__PURE__*/jsxs("div", {
|
|
53
|
-
className: "flex items-center gap-4",
|
|
54
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
55
|
-
className: "relative",
|
|
56
|
-
children: [/*#__PURE__*/jsx(Avatar, {
|
|
57
|
-
size: "xl",
|
|
58
|
-
user: {
|
|
59
|
-
name: (_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.name,
|
|
60
|
-
imageUrl: displayUrl
|
|
61
|
-
}
|
|
62
|
-
}), /*#__PURE__*/jsx(DropdownMenu, {
|
|
63
|
-
customTarget: /*#__PURE__*/jsx(Button, {
|
|
64
|
-
className: "absolute -bottom-1 -right-1 size-6 neeto-ui-rounded-full",
|
|
65
|
-
size: "icon-xs",
|
|
66
|
-
variant: "outline",
|
|
67
|
-
children: /*#__PURE__*/jsx(Pencil, {
|
|
68
|
-
className: "size-3"
|
|
69
|
-
})
|
|
70
|
-
}),
|
|
71
|
-
children: /*#__PURE__*/jsxs(DropdownMenu.Menu, {
|
|
72
|
-
children: [/*#__PURE__*/jsx(DropdownMenu.MenuItem, {
|
|
73
|
-
children: /*#__PURE__*/jsx(DropdownMenu.MenuItem.Button, {
|
|
74
|
-
"data-testid": "profile-image-upload-button",
|
|
75
|
-
onClick: function onClick() {
|
|
76
|
-
var _fileInputRef$current;
|
|
77
|
-
return (_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 ? void 0 : _fileInputRef$current.click();
|
|
78
|
-
},
|
|
79
|
-
children: t("neetoTeamMembers.common.upload", "Upload")
|
|
80
|
-
})
|
|
81
|
-
}), displayUrl && /*#__PURE__*/jsx(DropdownMenu.MenuItem, {
|
|
82
|
-
children: /*#__PURE__*/jsx(DropdownMenu.MenuItem.Button, {
|
|
83
|
-
"data-testid": "profile-image-remove-button",
|
|
84
|
-
onClick: handleRemove,
|
|
85
|
-
children: t("neetoTeamMembers.common.remove")
|
|
86
|
-
})
|
|
87
|
-
})]
|
|
88
|
-
})
|
|
89
|
-
})]
|
|
90
|
-
}), /*#__PURE__*/jsx("input", {
|
|
91
|
-
accept: "image/*",
|
|
92
|
-
className: "hidden",
|
|
93
|
-
"data-testid": "profile-image-upload-file-field",
|
|
94
|
-
ref: fileInputRef,
|
|
95
|
-
type: "file",
|
|
96
|
-
onChange: handleFileSelect
|
|
97
|
-
})]
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
var _excluded = ["value", "className", "size", "variant", "children"];
|
|
102
|
-
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
103
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
104
|
-
var CopyToClipboardButton = function CopyToClipboardButton(_ref) {
|
|
105
|
-
var value = _ref.value,
|
|
106
|
-
className = _ref.className,
|
|
107
|
-
_ref$size = _ref.size,
|
|
108
|
-
size = _ref$size === void 0 ? "sm" : _ref$size,
|
|
109
|
-
_ref$variant = _ref.variant,
|
|
110
|
-
variant = _ref$variant === void 0 ? "outline" : _ref$variant,
|
|
111
|
-
children = _ref.children,
|
|
112
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
113
|
-
var _useState = useState(false),
|
|
114
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
115
|
-
copied = _useState2[0],
|
|
116
|
-
setCopied = _useState2[1];
|
|
117
|
-
var handleCopy = /*#__PURE__*/function () {
|
|
118
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
119
|
-
var textArea;
|
|
120
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
121
|
-
while (1) switch (_context.prev = _context.next) {
|
|
122
|
-
case 0:
|
|
123
|
-
_context.prev = 0;
|
|
124
|
-
_context.next = 3;
|
|
125
|
-
return navigator.clipboard.writeText(value);
|
|
126
|
-
case 3:
|
|
127
|
-
setCopied(true);
|
|
128
|
-
setTimeout(function () {
|
|
129
|
-
return setCopied(false);
|
|
130
|
-
}, 2000);
|
|
131
|
-
_context.next = 17;
|
|
132
|
-
break;
|
|
133
|
-
case 7:
|
|
134
|
-
_context.prev = 7;
|
|
135
|
-
_context.t0 = _context["catch"](0);
|
|
136
|
-
// Fallback for older browsers
|
|
137
|
-
textArea = document.createElement("textarea");
|
|
138
|
-
textArea.value = value;
|
|
139
|
-
document.body.appendChild(textArea);
|
|
140
|
-
textArea.select();
|
|
141
|
-
document.execCommand("copy");
|
|
142
|
-
document.body.removeChild(textArea);
|
|
143
|
-
setCopied(true);
|
|
144
|
-
setTimeout(function () {
|
|
145
|
-
return setCopied(false);
|
|
146
|
-
}, 2000);
|
|
147
|
-
case 17:
|
|
148
|
-
case "end":
|
|
149
|
-
return _context.stop();
|
|
150
|
-
}
|
|
151
|
-
}, _callee, null, [[0, 7]]);
|
|
152
|
-
}));
|
|
153
|
-
return function handleCopy() {
|
|
154
|
-
return _ref2.apply(this, arguments);
|
|
155
|
-
};
|
|
156
|
-
}();
|
|
157
|
-
return /*#__PURE__*/jsxs(Button, _objectSpread$1(_objectSpread$1({
|
|
158
|
-
size: size,
|
|
159
|
-
variant: variant,
|
|
160
|
-
className: cn("gap-1", className),
|
|
161
|
-
onClick: handleCopy
|
|
162
|
-
}, rest), {}, {
|
|
163
|
-
children: [copied ? /*#__PURE__*/jsx(Check, {
|
|
164
|
-
className: "size-3.5"
|
|
165
|
-
}) : /*#__PURE__*/jsx(Copy, {
|
|
166
|
-
className: "size-3.5"
|
|
167
|
-
}), children]
|
|
168
|
-
}));
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis
|
|
172
|
-
var fetchCountries = function fetchCountries() {
|
|
173
|
-
return axios.get("".concat(BASE_URL, "/profile/countries"));
|
|
174
|
-
};
|
|
175
|
-
var fetchUserDetails = function fetchUserDetails() {
|
|
176
|
-
return axios.get("".concat(BASE_URL, "/profile/user"));
|
|
177
|
-
};
|
|
178
|
-
var updateUser = function updateUser(_ref) {
|
|
179
|
-
var id = _ref.id,
|
|
180
|
-
payload = _ref.payload;
|
|
181
|
-
return axios.put("".concat(BASE_URL, "/profile/user/").concat(id), payload);
|
|
182
|
-
};
|
|
183
|
-
var profileApi = {
|
|
184
|
-
fetchCountries: fetchCountries,
|
|
185
|
-
fetchUserDetails: fetchUserDetails,
|
|
186
|
-
updateUser: updateUser
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
190
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
191
|
-
var useFetchCountries = function useFetchCountries(options) {
|
|
192
|
-
return useQuery(_objectSpread({
|
|
193
|
-
queryKey: [QUERY_KEYS.COUNTRIES_LIST],
|
|
194
|
-
queryFn: profileApi.fetchCountries,
|
|
195
|
-
staleTime: DEFAULT_STALE_TIME
|
|
196
|
-
}, options));
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
var useCountries = function useCountries() {
|
|
200
|
-
var _useState = useState(null),
|
|
201
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
202
|
-
selectedCountryOption = _useState2[0],
|
|
203
|
-
setSelectedCountryOption = _useState2[1];
|
|
204
|
-
var _useFetchCountries = useFetchCountries(),
|
|
205
|
-
_useFetchCountries$da = _useFetchCountries.data,
|
|
206
|
-
_useFetchCountries$da2 = _useFetchCountries$da === void 0 ? {} : _useFetchCountries$da,
|
|
207
|
-
_useFetchCountries$da3 = _useFetchCountries$da2.countries,
|
|
208
|
-
countries = _useFetchCountries$da3 === void 0 ? [] : _useFetchCountries$da3,
|
|
209
|
-
isLoading = _useFetchCountries.isLoading;
|
|
210
|
-
var formatCountryOption = function formatCountryOption(country) {
|
|
211
|
-
return {
|
|
212
|
-
label: country === null || country === void 0 ? void 0 : country.name,
|
|
213
|
-
value: country === null || country === void 0 ? void 0 : country.id
|
|
214
|
-
};
|
|
215
|
-
};
|
|
216
|
-
var countryDropdownOptions = useMemo(function () {
|
|
217
|
-
return countries.map(formatCountryOption);
|
|
218
|
-
}, [countries]);
|
|
219
|
-
var handleCountryChange = useCallback(function (countryOption) {
|
|
220
|
-
setSelectedCountryOption(countryOption);
|
|
221
|
-
var dependentFields = {};
|
|
222
|
-
var selectedCountry = findById(countryOption.value, countries);
|
|
223
|
-
dependentFields.dateFormat = selectedCountry.dateFormat;
|
|
224
|
-
return dependentFields;
|
|
225
|
-
}, [countries]);
|
|
226
|
-
return {
|
|
227
|
-
countryDropdownOptions: countryDropdownOptions,
|
|
228
|
-
selectedCountryOption: selectedCountryOption,
|
|
229
|
-
isFetchingCountriesList: isLoading,
|
|
230
|
-
handleCountryChange: handleCountryChange
|
|
231
|
-
};
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
export { CopyToClipboardButton as C, ProfileImage as P, profileApi as p, useCountries as u };
|
|
235
|
-
//# sourceMappingURL=useCountries-DePOPtue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCountries-DePOPtue.js","sources":["../app/javascript/src/components/v2/Profile/ProfileImage.jsx","../app/javascript/src/components/v2/common/CopyToClipboardButton.jsx","../app/javascript/src/components/v2/apis/profile.js","../app/javascript/src/components/v2/hooks/profile/useCountriesApi.js","../app/javascript/src/components/v2/Profile/hooks/useCountries.js"],"sourcesContent":["/* 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/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 size-6 neeto-ui-rounded-full\"\n size=\"icon-xs\"\n variant=\"outline\"\n >\n <Pencil className=\"size-3\" />\n </Button>\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem>\n <DropdownMenu.MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={() => fileInputRef.current?.click()}\n >\n {t(\"neetoTeamMembers.common.upload\", \"Upload\")}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n {displayUrl && (\n <DropdownMenu.MenuItem>\n <DropdownMenu.MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemove}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem.Button>\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","import { useState } from \"react\";\n\nimport { Button, cn } from \"@bigbinary/neeto-atoms\";\nimport { Check, Copy } from \"lucide-react\";\n\nconst CopyToClipboardButton = ({\n value,\n className,\n size = \"sm\",\n variant = \"outline\",\n children,\n ...rest\n}) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n } catch {\n // Fallback for older browsers\n const textArea = document.createElement(\"textarea\");\n textArea.value = value;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(textArea);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n };\n\n return (\n <Button\n {...{ size, variant }}\n className={cn(\"gap-1\", className)}\n onClick={handleCopy}\n {...rest}\n >\n {copied ? <Check className=\"size-3.5\" /> : <Copy className=\"size-3.5\" />}\n {children}\n </Button>\n );\n};\n\nexport default CopyToClipboardButton;\n","// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\n\nimport { BASE_URL } from \"v2/common/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/profile/countries`);\n\nconst fetchUserDetails = () => axios.get(`${BASE_URL}/profile/user`);\n\nconst updateUser = ({ id, payload }) =>\n axios.put(`${BASE_URL}/profile/user/${id}`, payload);\n\nconst profileApi = { fetchCountries, fetchUserDetails, updateUser };\n\nexport default profileApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport profileApi from \"v2/apis/profile\";\nimport { QUERY_KEYS } from \"v2/common/constants\";\n\nconst useFetchCountries = options =>\n useQuery({\n queryKey: [QUERY_KEYS.COUNTRIES_LIST],\n queryFn: profileApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport { useFetchCountries };\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"v2/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);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n"],"names":["ProfileImage","_globalProps$user","_useTranslation","useTranslation","t","_useField","useField","_useField2","_slicedToArray","field","helpers","fileInputRef","useRef","_ref","value","imageUrl","file","displayUrl","URL","createObjectURL","handleFileSelect","event","selectedFile","target","files","maxSize","size","toast","error","setValue","handleRemove","_jsxs","className","children","_jsx","Avatar","user","name","globalProps","DropdownMenu","customTarget","Button","variant","Pencil","Menu","MenuItem","onClick","_fileInputRef$current","current","click","accept","ref","type","onChange","CopyToClipboardButton","_ref$size","_ref$variant","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","copied","setCopied","handleCopy","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","textArea","wrap","_callee$","_context","prev","next","navigator","clipboard","writeText","setTimeout","t0","document","createElement","body","appendChild","select","execCommand","removeChild","stop","apply","arguments","_objectSpread","cn","Check","Copy","fetchCountries","axios","get","concat","BASE_URL","fetchUserDetails","updateUser","id","payload","put","profileApi","useFetchCountries","options","useQuery","queryKey","QUERY_KEYS","COUNTRIES_LIST","queryFn","staleTime","DEFAULT_STALE_TIME","useCountries","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","dateFormat","isFetchingCountriesList"],"mappings":"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"}
|