@yourgoods/ui-smart 0.44.0 → 0.45.0
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/{ProfileEmailDialog-BPt1DkNT.js → ProfileEmailDialog-DbVB3QMM.js} +2 -2
- package/dist/{ProfilePasswordDialog-Po9rSUta.js → ProfilePasswordDialog-Dz1pfiLP.js} +1 -1
- package/dist/{ProfilePhoneDialog-CGS6xxYu.js → ProfilePhoneDialog-BNDUQGI1.js} +2 -2
- package/dist/{index-C0IlP0F_.js → index-Cfmqoc9B.js} +238 -247
- package/dist/index.js +2 -2
- package/dist/{useRateLimitToast-BDIdr9Dt.js → useRateLimitToast-C5Hm2h-v.js} +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as te, ref as b, reactive as Q, watch as Y, computed as M, toRefs as re, createElementBlock as k, openBlock as E, createElementVNode as S, createCommentVNode as D, toDisplayString as X, createVNode as $, unref as u, isRef as Z, withCtx as G, createTextVNode as le, Fragment as Oe, createBlock as H, resolveDynamicComponent as Ce, onMounted as Ue } from "vue";
|
|
2
|
-
import { T as ue, c as Ve, u as Ae, a as Fe, P as ye, b as Re } from "./useRateLimitToast-
|
|
3
|
-
import { C as A, _ as ze, B as We, p as W, g as He } from "./index-
|
|
2
|
+
import { T as ue, c as Ve, u as Ae, a as Fe, P as ye, b as Re } from "./useRateLimitToast-C5Hm2h-v.js";
|
|
3
|
+
import { C as A, _ as ze, B as We, p as W, g as He } from "./index-Cfmqoc9B.js";
|
|
4
4
|
import { PInput as J, IconMailMd as me, PButton as oe, IconEyeMd as ge, IconEyeClosedMd as he, PDialog as _e, PTopBar as qe, IconCrossMd as je } from "@profeat/ui-kit";
|
|
5
5
|
const Ge = { class: "dialogDefaultContainerInsideContent" }, Ye = { class: "dialogDefaultContainerTextHint" }, Je = {
|
|
6
6
|
key: 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as ye, ref as a, reactive as _, computed as u, watch as Z, onMounted as Ce, createElementBlock as S, openBlock as g, Fragment as ge, createVNode as n, unref as o, withCtx as m, createCommentVNode as ee, createElementVNode as r, toDisplayString as V, createBlock as B, resolveDynamicComponent as $, createTextVNode as z } from "vue";
|
|
2
|
-
import { C as I, p as D, g as Ve } from "./index-
|
|
2
|
+
import { C as I, p as D, g as Ve } from "./index-Cfmqoc9B.js";
|
|
3
3
|
import { PDialog as be, PInput as M, IconEyeMd as O, IconEyeClosedMd as U, PButton as F, PTopBar as Te, IconCrossMd as Ie, PTeleportContainer as xe } from "@profeat/ui-kit";
|
|
4
4
|
function ke(b) {
|
|
5
5
|
return { showPasswordRateLimitToast: (P) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createElementBlock as T, openBlock as h, createElementVNode as U, defineComponent as ue, reactive as ce, watch as Z, ref as O, toRefs as fe, computed as E, createCommentVNode as V, createVNode as S, toDisplayString as H, createBlock as G, createTextVNode as Y, unref as i, isRef as te, withCtx as K, onMounted as Ue, Fragment as qe } from "vue";
|
|
2
|
-
import { T as ge, c as Le, a as We, u as je, P as Ee, b as He } from "./useRateLimitToast-
|
|
2
|
+
import { T as ge, c as Le, a as We, u as je, P as Ee, b as He } from "./useRateLimitToast-C5Hm2h-v.js";
|
|
3
3
|
import { IconTelegramSm as ye, PInput as oe, IconPhoneMd as Ge, IconMailMd as De, PButton as Ae, PDialog as Je, PTopBar as Ke, IconCrossMd as Qe, PTeleportContainer as Xe } from "@profeat/ui-kit";
|
|
4
|
-
import { C as j, t as Ie, p as ee, g as Oe } from "./index-
|
|
4
|
+
import { C as j, t as Ie, p as ee, g as Oe } from "./index-Cfmqoc9B.js";
|
|
5
5
|
const Ye = {
|
|
6
6
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7
7
|
width: "12",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import
|
|
3
|
-
import { PInputFileUploader as
|
|
4
|
-
function
|
|
5
|
-
if (
|
|
1
|
+
import { ref as h, shallowRef as Le, defineComponent as Q, defineAsyncComponent as J, watch as de, createBlock as I, createCommentVNode as b, unref as m, openBlock as y, resolveDynamicComponent as Me, mergeProps as Re, computed as T, reactive as _, onMounted as Ge, createElementBlock as k, Fragment as ce, createVNode as g, createElementVNode as Y, withCtx as D, toDisplayString as F, createTextVNode as W, Teleport as ue, Transition as je, withDirectives as qe, vShow as Je } from "vue";
|
|
2
|
+
import _e from "axios";
|
|
3
|
+
import { PInputFileUploader as Ye, PInput as L, IconFilledEditMd as M, PButton as me, PImageCropper as We, PToast as Ke, PTeleportContainer as pe, PToastContainer as Ze } from "@profeat/ui-kit";
|
|
4
|
+
function He(s, n = 2) {
|
|
5
|
+
if (s === 0)
|
|
6
6
|
return "0 B";
|
|
7
|
-
const r = 1024, i = ["B", "KB", "MB", "GB", "TB", "PB", "EB"],
|
|
8
|
-
return `${Number.parseFloat((
|
|
7
|
+
const r = 1024, i = ["B", "KB", "MB", "GB", "TB", "PB", "EB"], v = Math.floor(Math.log(s) / Math.log(r));
|
|
8
|
+
return `${Number.parseFloat((s / r ** v).toFixed(n))} ${i[v]}`;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
10
|
+
const Qe = {
|
|
11
11
|
"image/jpeg": "JPEG",
|
|
12
12
|
"image/png": "PNG",
|
|
13
13
|
"application/pdf": "PDF",
|
|
@@ -15,66 +15,66 @@ const Xe = {
|
|
|
15
15
|
"application/zip": "ZIP Archive"
|
|
16
16
|
// ...
|
|
17
17
|
};
|
|
18
|
-
function
|
|
19
|
-
return
|
|
18
|
+
function Xe(s) {
|
|
19
|
+
return s.map((n) => {
|
|
20
20
|
var r;
|
|
21
|
-
return
|
|
21
|
+
return Qe[n] || ((r = n.split("/")[1]) == null ? void 0 : r.toUpperCase());
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const Ca = {
|
|
25
25
|
OLD: "old",
|
|
26
26
|
NEW: "new",
|
|
27
27
|
COMPLETED: "completed"
|
|
28
|
-
},
|
|
28
|
+
}, Pa = {
|
|
29
29
|
VERIFY_EMAIL: "verify-email"
|
|
30
30
|
};
|
|
31
|
-
let
|
|
32
|
-
function
|
|
33
|
-
|
|
31
|
+
let Z = null;
|
|
32
|
+
function ea(s, n) {
|
|
33
|
+
Z = _e.create({
|
|
34
34
|
baseURL: n,
|
|
35
35
|
headers: {
|
|
36
|
-
Authorization: `Bearer ${
|
|
36
|
+
Authorization: `Bearer ${s}`,
|
|
37
37
|
// 'Content-Type': 'application/json',
|
|
38
38
|
"x-throttler-prefix": "throttler_profile_edit"
|
|
39
39
|
},
|
|
40
40
|
validateStatus: () => !0
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
if (!
|
|
43
|
+
function X() {
|
|
44
|
+
if (!Z)
|
|
45
45
|
throw new Error("Axios instance not initialized. Call initAxios(token, baseUrl) first.");
|
|
46
|
-
return
|
|
46
|
+
return Z;
|
|
47
47
|
}
|
|
48
|
-
async function
|
|
49
|
-
return
|
|
48
|
+
async function H(s, n, r) {
|
|
49
|
+
return X().post(s, n, r);
|
|
50
50
|
}
|
|
51
|
-
async function
|
|
52
|
-
return
|
|
51
|
+
async function aa(s, n) {
|
|
52
|
+
return X().get(s, n);
|
|
53
53
|
}
|
|
54
|
-
async function
|
|
55
|
-
return
|
|
54
|
+
async function ta(s, n) {
|
|
55
|
+
return X().delete(s, n);
|
|
56
56
|
}
|
|
57
|
-
async function
|
|
58
|
-
const n = await
|
|
57
|
+
async function oa(s) {
|
|
58
|
+
const n = await H("/users/profile/me", s);
|
|
59
59
|
if (console.log("---res: ", n), n.status !== 200 && n.status !== 201 || !n.data)
|
|
60
60
|
throw new Error("Ошибка при получении профиля пользователя");
|
|
61
61
|
return n.data;
|
|
62
62
|
}
|
|
63
|
-
const
|
|
64
|
-
function
|
|
63
|
+
const R = h(null), K = Le(null);
|
|
64
|
+
function ee() {
|
|
65
65
|
return {
|
|
66
|
-
currentDialog:
|
|
67
|
-
dialogPayload:
|
|
68
|
-
openDialog: (i,
|
|
69
|
-
|
|
66
|
+
currentDialog: R,
|
|
67
|
+
dialogPayload: K,
|
|
68
|
+
openDialog: (i, v) => {
|
|
69
|
+
R.value = i, K.value = v ?? null;
|
|
70
70
|
},
|
|
71
71
|
closeDialog: () => {
|
|
72
|
-
|
|
72
|
+
R.value = null, K.value = null;
|
|
73
73
|
},
|
|
74
|
-
isDialogOpen: (i) =>
|
|
74
|
+
isDialogOpen: (i) => R.value === i
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
-
const
|
|
77
|
+
const ra = {
|
|
78
78
|
ru: {
|
|
79
79
|
Имя: "Имя",
|
|
80
80
|
Фамилия: "Фамилия",
|
|
@@ -207,63 +207,60 @@ const na = {
|
|
|
207
207
|
"Введите новый номер телефона": "Enter a new phone number",
|
|
208
208
|
"Телефон успешно изменен": "Phone number successfully changed"
|
|
209
209
|
}
|
|
210
|
-
},
|
|
210
|
+
}, na = /* @__PURE__ */ Q({
|
|
211
211
|
__name: "DialogManager",
|
|
212
212
|
props: {
|
|
213
213
|
language: {},
|
|
214
214
|
provider: {}
|
|
215
215
|
},
|
|
216
216
|
emits: ["clean-input-errors", "on-update-jwt", "update-phone-field", "update-email-field", "on-password-error", "on-toast"],
|
|
217
|
-
setup(
|
|
218
|
-
const r = n, i =
|
|
219
|
-
email:
|
|
220
|
-
phone:
|
|
221
|
-
password:
|
|
217
|
+
setup(s, { emit: n }) {
|
|
218
|
+
const r = n, i = h(!0), { currentDialog: v, dialogPayload: p, closeDialog: U } = ee(), l = {
|
|
219
|
+
email: J(() => import("./ProfileEmailDialog-DbVB3QMM.js")),
|
|
220
|
+
phone: J(() => import("./ProfilePhoneDialog-BNDUQGI1.js")),
|
|
221
|
+
password: J(() => import("./ProfilePasswordDialog-Dz1pfiLP.js"))
|
|
222
222
|
}, d = ({ email: E }) => {
|
|
223
223
|
r("update-email-field", E);
|
|
224
224
|
}, c = ({ phone: E }) => {
|
|
225
225
|
r("update-phone-field", E);
|
|
226
226
|
};
|
|
227
|
-
return
|
|
227
|
+
return de(v, (E) => {
|
|
228
228
|
i.value = !!E;
|
|
229
|
-
}), (E, u) => m(
|
|
229
|
+
}), (E, u) => m(v) ? (y(), I(Me(l[m(v)]), Re({
|
|
230
230
|
key: 0,
|
|
231
231
|
modelValue: i.value,
|
|
232
232
|
"onUpdate:modelValue": u[0] || (u[0] = (f) => i.value = f),
|
|
233
233
|
language: E.language,
|
|
234
234
|
provider: E.provider
|
|
235
235
|
}, m(p), {
|
|
236
|
-
onClose: m(
|
|
236
|
+
onClose: m(U),
|
|
237
237
|
onCleanInputErrors: u[1] || (u[1] = (f) => r("clean-input-errors")),
|
|
238
|
-
onOnUpdateJwt: u[2] || (u[2] = (f,
|
|
238
|
+
onOnUpdateJwt: u[2] || (u[2] = (f, C, o) => r("on-update-jwt", f, C, o)),
|
|
239
239
|
onSubmitEmail: d,
|
|
240
240
|
onSubmitPhone: c,
|
|
241
|
-
onOnPasswordError: u[3] || (u[3] = (f,
|
|
241
|
+
onOnPasswordError: u[3] || (u[3] = (f, C) => r("on-password-error", f, C)),
|
|
242
242
|
onOnToast: u[4] || (u[4] = (f) => r("on-toast", f))
|
|
243
|
-
}), null, 16, ["modelValue", "language", "provider", "onClose"])) :
|
|
243
|
+
}), null, 16, ["modelValue", "language", "provider", "onClose"])) : b("", !0);
|
|
244
244
|
}
|
|
245
|
-
}), sa = { class: "base-container" },
|
|
245
|
+
}), sa = { class: "base-container" }, la = {
|
|
246
246
|
key: 0,
|
|
247
247
|
style: { color: "#E46060" }
|
|
248
|
-
}, ua = {
|
|
249
|
-
key: 1,
|
|
250
|
-
style: { color: "#E46060" }
|
|
251
|
-
}, ma = { key: 2 }, da = {
|
|
248
|
+
}, ia = { key: 1 }, ua = {
|
|
252
249
|
key: 1,
|
|
253
250
|
class: "input-wrapper"
|
|
254
|
-
},
|
|
251
|
+
}, ma = {
|
|
255
252
|
key: 2,
|
|
256
253
|
class: "input-wrapper"
|
|
257
|
-
},
|
|
254
|
+
}, da = {
|
|
258
255
|
key: 3,
|
|
259
256
|
class: "input-wrapper"
|
|
260
|
-
},
|
|
257
|
+
}, ca = {
|
|
261
258
|
key: 4,
|
|
262
259
|
class: "input-wrapper"
|
|
263
|
-
},
|
|
260
|
+
}, pa = { class: "buttons-container" }, fa = {
|
|
264
261
|
key: 0,
|
|
265
262
|
class: "centered-overlay"
|
|
266
|
-
},
|
|
263
|
+
}, ga = { class: "toastWrapper" }, va = /* @__PURE__ */ Q({
|
|
267
264
|
__name: "PEditUserContact",
|
|
268
265
|
props: {
|
|
269
266
|
language: {},
|
|
@@ -276,81 +273,77 @@ const na = {
|
|
|
276
273
|
awsStorageUrl: {}
|
|
277
274
|
},
|
|
278
275
|
emits: ["open-email-dialog", "open-phone-dialog", "open-password-dialog", "on-update-jwt", "on-password-error", "update-tokens"],
|
|
279
|
-
setup(
|
|
280
|
-
const r =
|
|
276
|
+
setup(s, { emit: n }) {
|
|
277
|
+
const r = s, i = n, v = T(() => r.language ?? "ru"), p = (e) => ra[v.value][e] || e, { openDialog: U } = ee(), l = _({ firstName: "", lastName: "" }), d = h({ firstName: "", lastName: "" }), c = _({ firstName: !1, lastName: !1, email: !1, phone: !1 }), E = h(""), u = h(""), f = h(""), C = h(!1), o = _({
|
|
281
278
|
value: null,
|
|
282
279
|
loading: !1,
|
|
283
280
|
accept: ["image/png", "image/jpeg"],
|
|
284
281
|
uploadLimit: 10 * 1024 * 1024,
|
|
285
|
-
//
|
|
282
|
+
// 10 MB
|
|
286
283
|
imageBinary: null,
|
|
287
284
|
imageContent: ""
|
|
288
|
-
}),
|
|
285
|
+
}), S = h(""), A = h(!1), V = h(!1), G = h(!0), j = h(!0), ae = h(void 0), te = h(""), fe = T(() => re(l.firstName, c.firstName)), ge = T(() => re(l.lastName, c.lastName)), ve = T(() => c.email && !u.value.trim() ? "Введите e-mail" : ""), he = T(() => c.phone && !f.value.trim() ? "Введите номер телефона" : ""), B = (e) => r.fields.some((a) => a.key === e), oe = (e) => e && e.trim() ? "edit" : "bind", q = () => setTimeout(() => {
|
|
289
286
|
var e;
|
|
290
287
|
return (e = document.activeElement) == null ? void 0 : e.blur();
|
|
291
|
-
}, 0),
|
|
288
|
+
}, 0), we = T(() => !!(u.value && u.value.trim() !== "")), ye = T(() => o.imageContent ? p("Загрузить другое фото") : p("Загрузить фото")), re = (e, a) => {
|
|
292
289
|
if (!a) return "";
|
|
293
290
|
const t = e.trim();
|
|
294
291
|
return t ? t.length < 2 ? "Поле должно содержать минимум 2 символа" : "" : "Введите значение";
|
|
295
|
-
},
|
|
296
|
-
|
|
297
|
-
},
|
|
298
|
-
|
|
299
|
-
},
|
|
292
|
+
}, Ee = (e) => U("email", { mode: e ? "edit" : "bind", initialEmail: e }), Ne = () => {
|
|
293
|
+
q(), c.email = !1, j.value = !1, i("open-email-dialog", u.value, oe(u.value)), Ee(u.value);
|
|
294
|
+
}, Ce = () => {
|
|
295
|
+
q(), c.phone = !1, G.value = !1, i("open-phone-dialog", f.value, oe(f.value));
|
|
296
|
+
}, Pe = async (e, a, t) => {
|
|
300
297
|
e === "email" && t && (u.value = t), e === "phone" && t && (f.value = t), i("on-update-jwt");
|
|
301
|
-
}, Pe = (e) => {
|
|
302
|
-
f.value = e;
|
|
303
298
|
}, be = (e) => {
|
|
299
|
+
f.value = e;
|
|
300
|
+
}, ke = (e) => {
|
|
304
301
|
console.debug("emitUpdateEmailField, цепочка такая: profileEmailDialog -> DialogManager -> PEditUserContact", e), u.value = e;
|
|
305
|
-
},
|
|
306
|
-
|
|
307
|
-
},
|
|
308
|
-
|
|
302
|
+
}, Te = (e, a) => {
|
|
303
|
+
V.value = !0, i("on-password-error", e, a);
|
|
304
|
+
}, Ue = () => {
|
|
305
|
+
G.value = !1, j.value = !1;
|
|
306
|
+
}, x = (e) => {
|
|
307
|
+
V.value = !0, ae.value = e.color ?? "", te.value = e.text ?? "";
|
|
309
308
|
}, $ = (e) => {
|
|
310
|
-
x.value = !0, ee.value = e.color ?? "", ae.value = e.text ?? "";
|
|
311
|
-
}, O = (e) => {
|
|
312
309
|
if (c[e] = !0, e === "firstName" || e === "lastName") {
|
|
313
|
-
const a =
|
|
314
|
-
a.length > 40 && (
|
|
310
|
+
const a = l[e];
|
|
311
|
+
a.length > 40 && (l[e] = a.slice(0, 40), console.debug(`[Input Limit] Поле '${e}' достигло 40 символов. Ввод обрезан.`));
|
|
315
312
|
}
|
|
316
|
-
},
|
|
317
|
-
var
|
|
318
|
-
if (!e) {
|
|
319
|
-
|
|
313
|
+
}, Be = (e) => {
|
|
314
|
+
var O, z;
|
|
315
|
+
if (S.value = "", !e) {
|
|
316
|
+
ne();
|
|
320
317
|
return;
|
|
321
318
|
}
|
|
322
|
-
const a =
|
|
323
|
-
if (
|
|
324
|
-
|
|
319
|
+
const a = ((O = e.fileBinary) == null ? void 0 : O.type) ?? "", t = ((z = e.fileBinary) == null ? void 0 : z.size) ?? 0, P = !["image/png", "image/jpeg"].includes(a), N = t > o.uploadLimit;
|
|
320
|
+
if (P || N) {
|
|
321
|
+
S.value = "Файл не подходит. Пожалуйста, загрузите PNG или JPEG размером до 10 МБ", ne();
|
|
325
322
|
return;
|
|
326
323
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
D.value = !1, F.value = !1, o.value = e, o.imageBinary = e.fileBinary ?? null, o.imageContent = e.fileContent ?? "", b.value = !0;
|
|
332
|
-
}, Be = async () => {
|
|
324
|
+
o.value = e, o.imageBinary = e.fileBinary ?? null, o.imageContent = e.fileContent ?? "", C.value = !0;
|
|
325
|
+
}, ne = () => {
|
|
326
|
+
o.value = null, o.imageBinary = null, o.imageContent = "", C.value = !1;
|
|
327
|
+
}, De = async () => {
|
|
333
328
|
try {
|
|
334
|
-
const a = (await
|
|
329
|
+
const a = (await ta("/users/profile/delete/avatar")).data;
|
|
335
330
|
return (a == null ? void 0 : a.success) !== !0 ? (console.warn("Сервер не подтвердил успешное удаление аватара."), console.warn("Ответ сервера:", a), !1) : !0;
|
|
336
331
|
} catch (e) {
|
|
337
332
|
return console.error("Ошибка при удалении аватара:", e), !1;
|
|
338
333
|
}
|
|
339
|
-
}, re = () => {
|
|
340
|
-
D.value = !0, o.value = null, o.imageBinary = null, o.imageContent = "", b.value = !1;
|
|
341
|
-
}, De = () => {
|
|
342
|
-
F.value = !0, o.value = null, o.imageBinary = null, o.imageContent = "", b.value = !1;
|
|
343
|
-
}, ne = async (e, a, t = "image/png") => {
|
|
344
|
-
if (!e) return null;
|
|
345
|
-
const C = await (await fetch(e)).blob();
|
|
346
|
-
return new File([C], a, { type: t });
|
|
347
334
|
}, Fe = () => {
|
|
348
|
-
o.value = null, o.imageBinary = null, o.imageContent = "",
|
|
349
|
-
},
|
|
350
|
-
|
|
335
|
+
o.value = null, o.imageBinary = null, o.imageContent = "", C.value = !1;
|
|
336
|
+
}, se = async (e, a, t = "image/png") => {
|
|
337
|
+
if (!e) return null;
|
|
338
|
+
const P = await (await fetch(e)).blob();
|
|
339
|
+
return new File([P], a, { type: t });
|
|
340
|
+
}, Ie = () => {
|
|
341
|
+
o.value = null, o.imageBinary = null, o.imageContent = "", C.value = !1;
|
|
342
|
+
}, Se = async (e) => {
|
|
343
|
+
C.value = !1;
|
|
351
344
|
const a = o.imageContent;
|
|
352
345
|
if (o.imageContent = e, !o.imageBinary) return;
|
|
353
|
-
const t = await
|
|
346
|
+
const t = await se(
|
|
354
347
|
e,
|
|
355
348
|
o.imageBinary.name,
|
|
356
349
|
o.imageBinary.type || "image/png"
|
|
@@ -361,44 +354,44 @@ const na = {
|
|
|
361
354
|
}
|
|
362
355
|
try {
|
|
363
356
|
o.loading = !0;
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
} catch (
|
|
367
|
-
console.error(
|
|
357
|
+
const w = new FormData();
|
|
358
|
+
w.append("file", t), await H(`/users/profile/avatar/${E.value}`, w, { headers: { "Content-Type": void 0 } });
|
|
359
|
+
} catch (w) {
|
|
360
|
+
console.error(w), x({
|
|
368
361
|
color: "error",
|
|
369
362
|
text: p("Не удалось сохранить изменения. Попробуйте позже")
|
|
370
363
|
}), o.imageContent = a;
|
|
371
364
|
} finally {
|
|
372
|
-
|
|
365
|
+
o.loading = !1;
|
|
373
366
|
}
|
|
374
|
-
},
|
|
375
|
-
o.imageContent = e ?? "", o.imageBinary && (o.imageBinary = await
|
|
367
|
+
}, Ae = async (e) => {
|
|
368
|
+
o.imageContent = e ?? "", o.imageBinary && (o.imageBinary = await se(
|
|
376
369
|
e ?? "",
|
|
377
370
|
o.imageBinary.name,
|
|
378
371
|
o.imageBinary.type || "image/png"
|
|
379
372
|
));
|
|
380
|
-
}, le =
|
|
381
|
-
var t,
|
|
382
|
-
const a = (t =
|
|
373
|
+
}, le = h(!1), ie = async (e) => {
|
|
374
|
+
var t, w;
|
|
375
|
+
const a = (t = l[e]) == null ? void 0 : t.trim();
|
|
383
376
|
if (a)
|
|
384
377
|
try {
|
|
385
378
|
le.value = !0;
|
|
386
|
-
const N = (
|
|
387
|
-
N != null && N.user && (
|
|
388
|
-
firstName:
|
|
389
|
-
lastName:
|
|
379
|
+
const N = (w = (await H("/users/profile/update-name", { [e]: a })).data) == null ? void 0 : w.data;
|
|
380
|
+
N != null && N.user && (l.firstName = N.user.firstName ?? l.firstName, l.lastName = N.user.lastName ?? l.lastName, d.value = {
|
|
381
|
+
firstName: l.firstName,
|
|
382
|
+
lastName: l.lastName
|
|
390
383
|
});
|
|
391
|
-
} catch (
|
|
392
|
-
throw
|
|
384
|
+
} catch (P) {
|
|
385
|
+
throw P;
|
|
393
386
|
} finally {
|
|
394
387
|
le.value = !1;
|
|
395
388
|
}
|
|
396
|
-
},
|
|
389
|
+
}, Ve = async () => {
|
|
397
390
|
var e;
|
|
398
391
|
if (!r.accessToken)
|
|
399
392
|
throw console.error("Access token не передан в props"), new Error("Access token is required");
|
|
400
393
|
try {
|
|
401
|
-
const t = (e = (await
|
|
394
|
+
const t = (e = (await oa({
|
|
402
395
|
accessToken: r.accessToken,
|
|
403
396
|
refreshToken: r.refreshToken ?? "",
|
|
404
397
|
excludeFields: []
|
|
@@ -406,29 +399,29 @@ const na = {
|
|
|
406
399
|
if (!t)
|
|
407
400
|
throw console.error("Данные пользователя отсутствуют в ответе сервера"), new Error("User data is missing from the response");
|
|
408
401
|
const {
|
|
409
|
-
userId:
|
|
410
|
-
privateFirstName:
|
|
402
|
+
userId: w,
|
|
403
|
+
privateFirstName: P,
|
|
411
404
|
privateLastName: N,
|
|
412
|
-
email:
|
|
413
|
-
phoneNumber:
|
|
405
|
+
email: O,
|
|
406
|
+
phoneNumber: z
|
|
414
407
|
} = t;
|
|
415
|
-
E.value =
|
|
416
|
-
firstName:
|
|
408
|
+
E.value = w ?? "", l.firstName = P ?? "", l.lastName = N ?? "", u.value = O ?? "", f.value = z ?? "", o.imageContent = await xe(), d.value = {
|
|
409
|
+
firstName: P ?? "",
|
|
417
410
|
lastName: N ?? ""
|
|
418
411
|
};
|
|
419
412
|
} catch (a) {
|
|
420
413
|
console.error("Критическая ошибка при загрузке профиля:", a);
|
|
421
414
|
}
|
|
422
|
-
},
|
|
415
|
+
}, xe = async () => {
|
|
423
416
|
var e;
|
|
424
417
|
try {
|
|
425
|
-
const t = (e = (await
|
|
426
|
-
return t ?
|
|
418
|
+
const t = (e = (await aa("/users/profile/avatar")).data) == null ? void 0 : e.data;
|
|
419
|
+
return t ? $e(t) : (console.warn("Метаданные аватара отсутствуют в ответе."), "");
|
|
427
420
|
} catch (a) {
|
|
428
421
|
return console.error("Ошибка при загрузке метаданных аватара:", a), "";
|
|
429
422
|
}
|
|
430
423
|
};
|
|
431
|
-
function
|
|
424
|
+
function $e(e) {
|
|
432
425
|
if (!e)
|
|
433
426
|
return "";
|
|
434
427
|
try {
|
|
@@ -437,49 +430,49 @@ const na = {
|
|
|
437
430
|
return console.error("Ошибка при составлении URL аватара:", a), "";
|
|
438
431
|
}
|
|
439
432
|
}
|
|
440
|
-
|
|
441
|
-
() => [
|
|
433
|
+
de(
|
|
434
|
+
() => [l.firstName, l.lastName],
|
|
442
435
|
([e, a]) => {
|
|
443
|
-
const t = e.trim(),
|
|
444
|
-
|
|
436
|
+
const t = e.trim(), w = a.trim(), P = t !== d.value.firstName.trim() || w !== d.value.lastName.trim(), N = t.length >= 2 && w.length >= 2;
|
|
437
|
+
A.value = P && N;
|
|
445
438
|
},
|
|
446
439
|
{ immediate: !0 }
|
|
447
440
|
);
|
|
448
|
-
const
|
|
449
|
-
if (
|
|
441
|
+
const Oe = async () => {
|
|
442
|
+
if (A.value)
|
|
450
443
|
try {
|
|
451
|
-
await Promise.all([
|
|
444
|
+
await Promise.all([ie("firstName"), ie("lastName")]), A.value = !1, i("on-update-jwt"), x({ color: "success", text: "Изменения сохранены" });
|
|
452
445
|
} catch (e) {
|
|
453
|
-
console.error(e),
|
|
446
|
+
console.error(e), x({
|
|
454
447
|
color: "error",
|
|
455
448
|
text: p("Не удалось сохранить изменения. Попробуйте позже")
|
|
456
449
|
});
|
|
457
450
|
}
|
|
458
|
-
},
|
|
459
|
-
|
|
451
|
+
}, ze = () => {
|
|
452
|
+
q(), i("open-password-dialog");
|
|
460
453
|
};
|
|
461
|
-
return
|
|
454
|
+
return Ge(async () => {
|
|
462
455
|
if (!r.accessToken) throw new Error("Access token не передан в props");
|
|
463
456
|
if (!r.requestUrl) throw new Error("auth-backend url не передан в props");
|
|
464
|
-
|
|
465
|
-
}), (e, a) => (
|
|
466
|
-
g(
|
|
467
|
-
language:
|
|
457
|
+
ea(r.accessToken, r.requestUrl), await Ve();
|
|
458
|
+
}), (e, a) => (y(), k(ce, null, [
|
|
459
|
+
g(na, {
|
|
460
|
+
language: v.value,
|
|
468
461
|
provider: e.provider,
|
|
469
|
-
onCleanInputErrors:
|
|
470
|
-
onOnUpdateJwt:
|
|
471
|
-
onUpdatePhoneField:
|
|
472
|
-
onUpdateEmailField:
|
|
473
|
-
onOnPasswordError:
|
|
474
|
-
onOnToast:
|
|
462
|
+
onCleanInputErrors: Ue,
|
|
463
|
+
onOnUpdateJwt: Pe,
|
|
464
|
+
onUpdatePhoneField: be,
|
|
465
|
+
onUpdateEmailField: ke,
|
|
466
|
+
onOnPasswordError: Te,
|
|
467
|
+
onOnToast: x
|
|
475
468
|
}, null, 8, ["language", "provider"]),
|
|
476
|
-
|
|
477
|
-
|
|
469
|
+
Y("div", sa, [
|
|
470
|
+
B("avatar") ? (y(), I(m(Ye), {
|
|
478
471
|
key: 0,
|
|
479
472
|
modelValue: o.value,
|
|
480
473
|
"onUpdate:modelValue": [
|
|
481
474
|
a[0] || (a[0] = (t) => o.value = t),
|
|
482
|
-
a[1] || (a[1] = (t) =>
|
|
475
|
+
a[1] || (a[1] = (t) => Be(t))
|
|
483
476
|
],
|
|
484
477
|
type: "img",
|
|
485
478
|
class: "avatar-input",
|
|
@@ -488,45 +481,43 @@ const na = {
|
|
|
488
481
|
loading: o.loading,
|
|
489
482
|
label: p("Загрузить фото"),
|
|
490
483
|
"upload-limit": o.uploadLimit,
|
|
491
|
-
onDelete:
|
|
492
|
-
"onChange:error":
|
|
484
|
+
onDelete: De,
|
|
485
|
+
"onChange:error": Fe
|
|
493
486
|
}, {
|
|
494
|
-
afterLoadLabel:
|
|
495
|
-
|
|
487
|
+
afterLoadLabel: D(() => [
|
|
488
|
+
W(F(ye.value), 1)
|
|
496
489
|
]),
|
|
497
|
-
subtext:
|
|
498
|
-
|
|
499
|
-
D.value ? (w(), k("span", ua, U("Размер фото слишком большой. Загрузите JPEG, PNG до 10 MB"))) : P("", !0),
|
|
500
|
-
!D.value && !F.value ? (w(), k("span", ma, U(`${p("Формат")} ${m(ea)(o.accept).join(", ")} ${p("до")} ${m(Qe)(o.uploadLimit)}`), 1)) : P("", !0)
|
|
490
|
+
subtext: D(() => [
|
|
491
|
+
S.value ? (y(), k("span", la, F(S.value), 1)) : (y(), k("span", ia, F(`${p("Формат")} ${m(Xe)(o.accept).join(", ")} ${p("до")} ${m(He)(o.uploadLimit)}`), 1))
|
|
501
492
|
]),
|
|
502
493
|
_: 1
|
|
503
|
-
}, 8, ["modelValue", "src", "accept", "loading", "label", "upload-limit"])) :
|
|
504
|
-
|
|
505
|
-
g(m(
|
|
506
|
-
modelValue:
|
|
507
|
-
"onUpdate:modelValue": a[2] || (a[2] = (t) =>
|
|
494
|
+
}, 8, ["modelValue", "src", "accept", "loading", "label", "upload-limit"])) : b("", !0),
|
|
495
|
+
B("firstName") ? (y(), k("div", ua, [
|
|
496
|
+
g(m(L), {
|
|
497
|
+
modelValue: l.firstName,
|
|
498
|
+
"onUpdate:modelValue": a[2] || (a[2] = (t) => l.firstName = t),
|
|
508
499
|
size: "large",
|
|
509
500
|
label: p("Имя"),
|
|
510
|
-
error:
|
|
501
|
+
error: fe.value,
|
|
511
502
|
onBlur: a[3] || (a[3] = (t) => c.firstName = !0),
|
|
512
|
-
onInput: a[4] || (a[4] = (t) =>
|
|
503
|
+
onInput: a[4] || (a[4] = (t) => $("firstName"))
|
|
513
504
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
514
|
-
g(m(
|
|
515
|
-
])) :
|
|
516
|
-
|
|
517
|
-
g(m(
|
|
518
|
-
modelValue:
|
|
519
|
-
"onUpdate:modelValue": a[5] || (a[5] = (t) =>
|
|
505
|
+
g(m(M), { class: "icon-locked" })
|
|
506
|
+
])) : b("", !0),
|
|
507
|
+
B("lastName") ? (y(), k("div", ma, [
|
|
508
|
+
g(m(L), {
|
|
509
|
+
modelValue: l.lastName,
|
|
510
|
+
"onUpdate:modelValue": a[5] || (a[5] = (t) => l.lastName = t),
|
|
520
511
|
size: "large",
|
|
521
512
|
label: p("Фамилия"),
|
|
522
|
-
error:
|
|
513
|
+
error: ge.value,
|
|
523
514
|
onBlur: a[6] || (a[6] = (t) => c.lastName = !0),
|
|
524
|
-
onInput: a[7] || (a[7] = (t) =>
|
|
515
|
+
onInput: a[7] || (a[7] = (t) => $("lastName"))
|
|
525
516
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
526
|
-
g(m(
|
|
527
|
-
])) :
|
|
528
|
-
|
|
529
|
-
g(m(
|
|
517
|
+
g(m(M), { class: "icon-locked" })
|
|
518
|
+
])) : b("", !0),
|
|
519
|
+
B("email") ? (y(), k("div", da, [
|
|
520
|
+
g(m(L), {
|
|
530
521
|
modelValue: u.value,
|
|
531
522
|
"onUpdate:modelValue": a[8] || (a[8] = (t) => u.value = t),
|
|
532
523
|
size: "large",
|
|
@@ -535,15 +526,15 @@ const na = {
|
|
|
535
526
|
type: "email",
|
|
536
527
|
readonly: "",
|
|
537
528
|
style: { cursor: "pointer" },
|
|
538
|
-
error:
|
|
529
|
+
error: ve.value && j.value,
|
|
539
530
|
onBlur: a[9] || (a[9] = (t) => c.email = !0),
|
|
540
|
-
onInput: a[10] || (a[10] = (t) =>
|
|
541
|
-
onClick:
|
|
531
|
+
onInput: a[10] || (a[10] = (t) => $("email")),
|
|
532
|
+
onClick: Ne
|
|
542
533
|
}, null, 8, ["modelValue", "error"]),
|
|
543
|
-
g(m(
|
|
544
|
-
])) :
|
|
545
|
-
|
|
546
|
-
g(m(
|
|
534
|
+
g(m(M), { class: "icon-locked" })
|
|
535
|
+
])) : b("", !0),
|
|
536
|
+
B("phone") ? (y(), k("div", ca, [
|
|
537
|
+
g(m(L), {
|
|
547
538
|
modelValue: f.value,
|
|
548
539
|
"onUpdate:modelValue": a[11] || (a[11] = (t) => f.value = t),
|
|
549
540
|
size: "large",
|
|
@@ -552,75 +543,75 @@ const na = {
|
|
|
552
543
|
type: "tel",
|
|
553
544
|
readonly: "",
|
|
554
545
|
style: { cursor: "pointer" },
|
|
555
|
-
error:
|
|
546
|
+
error: he.value && G.value,
|
|
556
547
|
onBlur: a[12] || (a[12] = (t) => c.phone = !0),
|
|
557
|
-
onInput: a[13] || (a[13] = (t) =>
|
|
558
|
-
onClick:
|
|
548
|
+
onInput: a[13] || (a[13] = (t) => $("phone")),
|
|
549
|
+
onClick: Ce
|
|
559
550
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
560
|
-
g(m(
|
|
561
|
-
])) :
|
|
562
|
-
|
|
563
|
-
|
|
551
|
+
g(m(M), { class: "icon-locked" })
|
|
552
|
+
])) : b("", !0),
|
|
553
|
+
Y("div", pa, [
|
|
554
|
+
we.value ? (y(), I(m(me), {
|
|
564
555
|
key: 0,
|
|
565
556
|
color: "secondary",
|
|
566
|
-
onClick:
|
|
557
|
+
onClick: ze
|
|
567
558
|
}, {
|
|
568
|
-
default:
|
|
569
|
-
|
|
559
|
+
default: D(() => [
|
|
560
|
+
W(F(p("Сменить пароль")), 1)
|
|
570
561
|
]),
|
|
571
562
|
_: 1
|
|
572
|
-
})) :
|
|
573
|
-
g(m(
|
|
574
|
-
disabled: !
|
|
575
|
-
onClick:
|
|
563
|
+
})) : b("", !0),
|
|
564
|
+
g(m(me), {
|
|
565
|
+
disabled: !A.value,
|
|
566
|
+
onClick: Oe
|
|
576
567
|
}, {
|
|
577
|
-
default:
|
|
578
|
-
|
|
568
|
+
default: D(() => [
|
|
569
|
+
W(F(p("Сохранить")), 1)
|
|
579
570
|
]),
|
|
580
571
|
_: 1
|
|
581
572
|
}, 8, ["disabled"])
|
|
582
573
|
])
|
|
583
574
|
]),
|
|
584
|
-
|
|
575
|
+
C.value ? (y(), I(ue, {
|
|
585
576
|
key: 0,
|
|
586
577
|
to: "body"
|
|
587
578
|
}, [
|
|
588
|
-
|
|
589
|
-
g(m(
|
|
579
|
+
C.value ? (y(), k("div", fa, [
|
|
580
|
+
g(m(We), {
|
|
590
581
|
"circle-mode": !0,
|
|
591
582
|
"model-value": o.imageContent,
|
|
592
|
-
onClose:
|
|
593
|
-
onSave: a[14] || (a[14] = (t) =>
|
|
594
|
-
"onUpdate:modelValue": a[15] || (a[15] = (t) =>
|
|
583
|
+
onClose: Ie,
|
|
584
|
+
onSave: a[14] || (a[14] = (t) => Se(t)),
|
|
585
|
+
"onUpdate:modelValue": a[15] || (a[15] = (t) => Ae(t))
|
|
595
586
|
}, null, 8, ["model-value"])
|
|
596
|
-
])) :
|
|
597
|
-
])) :
|
|
598
|
-
(
|
|
599
|
-
|
|
587
|
+
])) : b("", !0)
|
|
588
|
+
])) : b("", !0),
|
|
589
|
+
(y(), I(ue, { to: "#toast-root" }, [
|
|
590
|
+
Y("div", ga, [
|
|
600
591
|
g(je, { name: "list" }, {
|
|
601
|
-
default:
|
|
602
|
-
qe(g(m(
|
|
592
|
+
default: D(() => [
|
|
593
|
+
qe(g(m(Ke), {
|
|
603
594
|
class: "toast",
|
|
604
|
-
color:
|
|
605
|
-
text:
|
|
606
|
-
onClose: a[16] || (a[16] = (t) =>
|
|
595
|
+
color: ae.value,
|
|
596
|
+
text: te.value,
|
|
597
|
+
onClose: a[16] || (a[16] = (t) => V.value = !1)
|
|
607
598
|
}, null, 8, ["color", "text"]), [
|
|
608
|
-
[
|
|
599
|
+
[Je, V.value]
|
|
609
600
|
])
|
|
610
601
|
]),
|
|
611
602
|
_: 1
|
|
612
603
|
})
|
|
613
604
|
])
|
|
614
605
|
])),
|
|
615
|
-
g(m(
|
|
606
|
+
g(m(pe))
|
|
616
607
|
], 64));
|
|
617
608
|
}
|
|
618
|
-
}),
|
|
619
|
-
const r =
|
|
620
|
-
for (const [i,
|
|
621
|
-
r[i] =
|
|
609
|
+
}), ha = (s, n) => {
|
|
610
|
+
const r = s.__vccOpts || s;
|
|
611
|
+
for (const [i, v] of n)
|
|
612
|
+
r[i] = v;
|
|
622
613
|
return r;
|
|
623
|
-
},
|
|
614
|
+
}, wa = /* @__PURE__ */ ha(va, [["__scopeId", "data-v-20e48116"]]), ba = /* @__PURE__ */ Q({
|
|
624
615
|
__name: "index",
|
|
625
616
|
props: {
|
|
626
617
|
throttlerPrefix: {},
|
|
@@ -633,19 +624,19 @@ const na = {
|
|
|
633
624
|
awsStorageUrl: {}
|
|
634
625
|
},
|
|
635
626
|
emits: ["on-update-jwt", "update-tokens"],
|
|
636
|
-
setup(
|
|
637
|
-
const r = n, { openDialog: i } =
|
|
627
|
+
setup(s, { emit: n }) {
|
|
628
|
+
const r = n, { openDialog: i } = ee(), v = (d, c) => {
|
|
638
629
|
i("email", { initialEmail: d, mode: c });
|
|
639
630
|
}, p = (d, c) => {
|
|
640
631
|
i("phone", { initialPhone: d, mode: c });
|
|
641
|
-
},
|
|
632
|
+
}, U = () => {
|
|
642
633
|
i("password");
|
|
643
|
-
},
|
|
634
|
+
}, l = (d, c, E) => {
|
|
644
635
|
r("on-update-jwt", d, c, E);
|
|
645
636
|
};
|
|
646
|
-
return (d, c) => (
|
|
647
|
-
g(m(
|
|
648
|
-
g(
|
|
637
|
+
return (d, c) => (y(), k(ce, null, [
|
|
638
|
+
g(m(Ze)),
|
|
639
|
+
g(wa, {
|
|
649
640
|
"throttler-prefix": d.throttlerPrefix,
|
|
650
641
|
provider: d.provider,
|
|
651
642
|
"request-url": d.requestUrl,
|
|
@@ -654,21 +645,21 @@ const na = {
|
|
|
654
645
|
"access-token": d.accessToken,
|
|
655
646
|
"refresh-token": d.refreshToken,
|
|
656
647
|
"aws-storage-url": d.awsStorageUrl,
|
|
657
|
-
onOpenEmailDialog:
|
|
648
|
+
onOpenEmailDialog: v,
|
|
658
649
|
onOpenPhoneDialog: p,
|
|
659
|
-
onOpenPasswordDialog:
|
|
660
|
-
onOnUpdateJwt:
|
|
650
|
+
onOpenPasswordDialog: U,
|
|
651
|
+
onOnUpdateJwt: l
|
|
661
652
|
}, null, 8, ["throttler-prefix", "provider", "request-url", "language", "fields", "access-token", "refresh-token", "aws-storage-url"]),
|
|
662
|
-
g(m(
|
|
653
|
+
g(m(pe))
|
|
663
654
|
], 64));
|
|
664
655
|
}
|
|
665
656
|
});
|
|
666
657
|
export {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
658
|
+
Pa as B,
|
|
659
|
+
Ca as C,
|
|
660
|
+
ha as _,
|
|
661
|
+
ba as a,
|
|
662
|
+
aa as g,
|
|
663
|
+
H as p,
|
|
664
|
+
ra as t
|
|
674
665
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".avatar-input[data-v-
|
|
2
|
-
import { a as o } from "./index-
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".avatar-input[data-v-20e48116] .p-input-file .overlay{visibility:hidden}.avatar-input[data-v-20e48116] .p-input-file:hover .overlay{visibility:visible}.icon-locked{pointer-events:auto;position:absolute;right:1rem;top:1rem;color:#b6c7d6}.input-wrapper{position:relative;width:100%}.dialogTitle{z-index:10;width:100%;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#2b3238}.dialogDefaultContainer{display:flex;align-items:flex-start;flex-direction:column;width:100%;gap:32px;margin-top:16px;padding:10px 16px}.dialogDefaultContainerTextHint{font-weight:400;font-size:14px;line-height:20px;text-align:center;color:#1b1b1b}.dialogDefaultContainerRateLimitText{font-weight:600;font-size:14px;line-height:20px;color:#d0dbe4}.dialogDefaultContainerInsideContent{width:100%;display:flex;flex-direction:column;gap:24px}.dialogDefaultContainerRateLimitTextActive{color:#1c7ef1;cursor:pointer}.dialogDefaultContainerSendCodeBySmsText{color:#1c7ef1;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;text-align:center}.chip{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:4px;height:24px;font-size:12px;font-weight:600;color:#1b1b1b;padding:4px;line-height:16px;background-color:#b6d7ff4d;border-radius:4px;text-align:center;margin-left:5px}.cross{cursor:pointer;text-align:end}.finalLimitWrapper{display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:12px;width:440px;min-height:94px;background:#e4606026;border-radius:8px}.finalLimitText{text-align:center;font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#5d7285}.finalLimitLink{font-family:Inter,sans-serif;font-weight:600;font-size:14px;line-height:20px;color:#1c7ef1;text-align:center;cursor:pointer;text-decoration:none}.finalLimitLink:hover{text-decoration:underline}.toastWrapper{position:fixed;bottom:1rem;right:1rem;z-index:9999}.toast{width:100%}.base-container{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.25rem;width:490px;height:428px}.icon-disabled{pointer-events:none;position:absolute;right:1rem;top:1rem;color:#b6c7d6}.centered-overlay{position:absolute;left:50%;top:50%;z-index:1000;height:100%;width:100%;transform:translate(-50%,-50%)}.buttons-container{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.buttons-container PButton{flex:1 1 100%}._loaderOverlay_cpu73_1[data-v-9e697525]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background:#ffffffb3;border-radius:16px;z-index:99}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
+
import { a as o } from "./index-Cfmqoc9B.js";
|
|
3
3
|
export {
|
|
4
4
|
o as PEditUserContact
|
|
5
5
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as l, defineComponent as L, createElementBlock as f, openBlock as v, normalizeClass as r, createVNode as E, unref as F, computed as T, renderSlot as d, createCommentVNode as $, createElementVNode as o, toDisplayString as y, createTextVNode as p } from "vue";
|
|
2
2
|
import { PLoader as w } from "@profeat/ui-kit";
|
|
3
|
-
import { _ as g, g as R, p as h } from "./index-
|
|
3
|
+
import { _ as g, g as R, p as h } from "./index-Cfmqoc9B.js";
|
|
4
4
|
function C(e) {
|
|
5
5
|
const t = Math.floor(e / 60), a = e % 60;
|
|
6
6
|
return `${String(t).padStart(2, "0")}:${String(a).padStart(2, "0")}`;
|