@yourgoods/ui-smart 0.43.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-CCVSMKv7.js → ProfileEmailDialog-DbVB3QMM.js} +2 -2
- package/dist/{ProfilePasswordDialog-BxZKRHS6.js → ProfilePasswordDialog-Dz1pfiLP.js} +1 -1
- package/dist/{ProfilePhoneDialog-CZKg3xV1.js → ProfilePhoneDialog-BNDUQGI1.js} +2 -2
- package/dist/{index-BSQq7qYA.js → index-Cfmqoc9B.js} +229 -237
- package/dist/index.js +2 -2
- package/dist/{useRateLimitToast-Jc4ZoHx3.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
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
|
-
}), S =
|
|
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
|
-
S.value = !1, A.value = !1, o.value = e, o.imageBinary = e.fileBinary ?? null, o.imageContent = e.fileContent ?? "", P.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
|
-
S.value = !0, o.value = null, o.imageBinary = null, o.imageContent = "", P.value = !1;
|
|
341
|
-
}, De = () => {
|
|
342
|
-
A.value = !0, o.value = null, o.imageBinary = null, o.imageContent = "", P.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,44 +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
|
-
S.value ? (w(), k("span", ua, U("Размер фото слишком большой. Загрузите JPEG, PNG до 10 MB"))) : (w(), k("span", ma, U(`${p("Формат")} ${m(ea)(o.accept).join(", ")} ${p("до")} ${m(Qe)(o.uploadLimit)}`), 1))
|
|
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))
|
|
500
492
|
]),
|
|
501
493
|
_: 1
|
|
502
494
|
}, 8, ["modelValue", "src", "accept", "loading", "label", "upload-limit"])) : b("", !0),
|
|
503
|
-
|
|
504
|
-
g(m(
|
|
505
|
-
modelValue:
|
|
506
|
-
"onUpdate:modelValue": a[2] || (a[2] = (t) =>
|
|
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),
|
|
507
499
|
size: "large",
|
|
508
500
|
label: p("Имя"),
|
|
509
|
-
error:
|
|
501
|
+
error: fe.value,
|
|
510
502
|
onBlur: a[3] || (a[3] = (t) => c.firstName = !0),
|
|
511
|
-
onInput: a[4] || (a[4] = (t) =>
|
|
503
|
+
onInput: a[4] || (a[4] = (t) => $("firstName"))
|
|
512
504
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
513
|
-
g(m(
|
|
505
|
+
g(m(M), { class: "icon-locked" })
|
|
514
506
|
])) : b("", !0),
|
|
515
|
-
|
|
516
|
-
g(m(
|
|
517
|
-
modelValue:
|
|
518
|
-
"onUpdate:modelValue": a[5] || (a[5] = (t) =>
|
|
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),
|
|
519
511
|
size: "large",
|
|
520
512
|
label: p("Фамилия"),
|
|
521
|
-
error:
|
|
513
|
+
error: ge.value,
|
|
522
514
|
onBlur: a[6] || (a[6] = (t) => c.lastName = !0),
|
|
523
|
-
onInput: a[7] || (a[7] = (t) =>
|
|
515
|
+
onInput: a[7] || (a[7] = (t) => $("lastName"))
|
|
524
516
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
525
|
-
g(m(
|
|
517
|
+
g(m(M), { class: "icon-locked" })
|
|
526
518
|
])) : b("", !0),
|
|
527
|
-
|
|
528
|
-
g(m(
|
|
519
|
+
B("email") ? (y(), k("div", da, [
|
|
520
|
+
g(m(L), {
|
|
529
521
|
modelValue: u.value,
|
|
530
522
|
"onUpdate:modelValue": a[8] || (a[8] = (t) => u.value = t),
|
|
531
523
|
size: "large",
|
|
@@ -534,15 +526,15 @@ const na = {
|
|
|
534
526
|
type: "email",
|
|
535
527
|
readonly: "",
|
|
536
528
|
style: { cursor: "pointer" },
|
|
537
|
-
error:
|
|
529
|
+
error: ve.value && j.value,
|
|
538
530
|
onBlur: a[9] || (a[9] = (t) => c.email = !0),
|
|
539
|
-
onInput: a[10] || (a[10] = (t) =>
|
|
540
|
-
onClick:
|
|
531
|
+
onInput: a[10] || (a[10] = (t) => $("email")),
|
|
532
|
+
onClick: Ne
|
|
541
533
|
}, null, 8, ["modelValue", "error"]),
|
|
542
|
-
g(m(
|
|
534
|
+
g(m(M), { class: "icon-locked" })
|
|
543
535
|
])) : b("", !0),
|
|
544
|
-
|
|
545
|
-
g(m(
|
|
536
|
+
B("phone") ? (y(), k("div", ca, [
|
|
537
|
+
g(m(L), {
|
|
546
538
|
modelValue: f.value,
|
|
547
539
|
"onUpdate:modelValue": a[11] || (a[11] = (t) => f.value = t),
|
|
548
540
|
size: "large",
|
|
@@ -551,75 +543,75 @@ const na = {
|
|
|
551
543
|
type: "tel",
|
|
552
544
|
readonly: "",
|
|
553
545
|
style: { cursor: "pointer" },
|
|
554
|
-
error:
|
|
546
|
+
error: he.value && G.value,
|
|
555
547
|
onBlur: a[12] || (a[12] = (t) => c.phone = !0),
|
|
556
|
-
onInput: a[13] || (a[13] = (t) =>
|
|
557
|
-
onClick:
|
|
548
|
+
onInput: a[13] || (a[13] = (t) => $("phone")),
|
|
549
|
+
onClick: Ce
|
|
558
550
|
}, null, 8, ["modelValue", "label", "error"]),
|
|
559
|
-
g(m(
|
|
551
|
+
g(m(M), { class: "icon-locked" })
|
|
560
552
|
])) : b("", !0),
|
|
561
|
-
|
|
562
|
-
|
|
553
|
+
Y("div", pa, [
|
|
554
|
+
we.value ? (y(), I(m(me), {
|
|
563
555
|
key: 0,
|
|
564
556
|
color: "secondary",
|
|
565
|
-
onClick:
|
|
557
|
+
onClick: ze
|
|
566
558
|
}, {
|
|
567
|
-
default:
|
|
568
|
-
|
|
559
|
+
default: D(() => [
|
|
560
|
+
W(F(p("Сменить пароль")), 1)
|
|
569
561
|
]),
|
|
570
562
|
_: 1
|
|
571
563
|
})) : b("", !0),
|
|
572
|
-
g(m(
|
|
573
|
-
disabled: !
|
|
574
|
-
onClick:
|
|
564
|
+
g(m(me), {
|
|
565
|
+
disabled: !A.value,
|
|
566
|
+
onClick: Oe
|
|
575
567
|
}, {
|
|
576
|
-
default:
|
|
577
|
-
|
|
568
|
+
default: D(() => [
|
|
569
|
+
W(F(p("Сохранить")), 1)
|
|
578
570
|
]),
|
|
579
571
|
_: 1
|
|
580
572
|
}, 8, ["disabled"])
|
|
581
573
|
])
|
|
582
574
|
]),
|
|
583
|
-
|
|
575
|
+
C.value ? (y(), I(ue, {
|
|
584
576
|
key: 0,
|
|
585
577
|
to: "body"
|
|
586
578
|
}, [
|
|
587
|
-
|
|
588
|
-
g(m(
|
|
579
|
+
C.value ? (y(), k("div", fa, [
|
|
580
|
+
g(m(We), {
|
|
589
581
|
"circle-mode": !0,
|
|
590
582
|
"model-value": o.imageContent,
|
|
591
|
-
onClose:
|
|
592
|
-
onSave: a[14] || (a[14] = (t) =>
|
|
593
|
-
"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))
|
|
594
586
|
}, null, 8, ["model-value"])
|
|
595
587
|
])) : b("", !0)
|
|
596
588
|
])) : b("", !0),
|
|
597
|
-
(
|
|
598
|
-
|
|
589
|
+
(y(), I(ue, { to: "#toast-root" }, [
|
|
590
|
+
Y("div", ga, [
|
|
599
591
|
g(je, { name: "list" }, {
|
|
600
|
-
default:
|
|
601
|
-
qe(g(m(
|
|
592
|
+
default: D(() => [
|
|
593
|
+
qe(g(m(Ke), {
|
|
602
594
|
class: "toast",
|
|
603
|
-
color:
|
|
604
|
-
text:
|
|
605
|
-
onClose: a[16] || (a[16] = (t) =>
|
|
595
|
+
color: ae.value,
|
|
596
|
+
text: te.value,
|
|
597
|
+
onClose: a[16] || (a[16] = (t) => V.value = !1)
|
|
606
598
|
}, null, 8, ["color", "text"]), [
|
|
607
|
-
[
|
|
599
|
+
[Je, V.value]
|
|
608
600
|
])
|
|
609
601
|
]),
|
|
610
602
|
_: 1
|
|
611
603
|
})
|
|
612
604
|
])
|
|
613
605
|
])),
|
|
614
|
-
g(m(
|
|
606
|
+
g(m(pe))
|
|
615
607
|
], 64));
|
|
616
608
|
}
|
|
617
|
-
}),
|
|
618
|
-
const r =
|
|
619
|
-
for (const [i,
|
|
620
|
-
r[i] =
|
|
609
|
+
}), ha = (s, n) => {
|
|
610
|
+
const r = s.__vccOpts || s;
|
|
611
|
+
for (const [i, v] of n)
|
|
612
|
+
r[i] = v;
|
|
621
613
|
return r;
|
|
622
|
-
},
|
|
614
|
+
}, wa = /* @__PURE__ */ ha(va, [["__scopeId", "data-v-20e48116"]]), ba = /* @__PURE__ */ Q({
|
|
623
615
|
__name: "index",
|
|
624
616
|
props: {
|
|
625
617
|
throttlerPrefix: {},
|
|
@@ -632,19 +624,19 @@ const na = {
|
|
|
632
624
|
awsStorageUrl: {}
|
|
633
625
|
},
|
|
634
626
|
emits: ["on-update-jwt", "update-tokens"],
|
|
635
|
-
setup(
|
|
636
|
-
const r = n, { openDialog: i } =
|
|
627
|
+
setup(s, { emit: n }) {
|
|
628
|
+
const r = n, { openDialog: i } = ee(), v = (d, c) => {
|
|
637
629
|
i("email", { initialEmail: d, mode: c });
|
|
638
630
|
}, p = (d, c) => {
|
|
639
631
|
i("phone", { initialPhone: d, mode: c });
|
|
640
|
-
},
|
|
632
|
+
}, U = () => {
|
|
641
633
|
i("password");
|
|
642
|
-
},
|
|
634
|
+
}, l = (d, c, E) => {
|
|
643
635
|
r("on-update-jwt", d, c, E);
|
|
644
636
|
};
|
|
645
|
-
return (d, c) => (
|
|
646
|
-
g(m(
|
|
647
|
-
g(
|
|
637
|
+
return (d, c) => (y(), k(ce, null, [
|
|
638
|
+
g(m(Ze)),
|
|
639
|
+
g(wa, {
|
|
648
640
|
"throttler-prefix": d.throttlerPrefix,
|
|
649
641
|
provider: d.provider,
|
|
650
642
|
"request-url": d.requestUrl,
|
|
@@ -653,21 +645,21 @@ const na = {
|
|
|
653
645
|
"access-token": d.accessToken,
|
|
654
646
|
"refresh-token": d.refreshToken,
|
|
655
647
|
"aws-storage-url": d.awsStorageUrl,
|
|
656
|
-
onOpenEmailDialog:
|
|
648
|
+
onOpenEmailDialog: v,
|
|
657
649
|
onOpenPhoneDialog: p,
|
|
658
|
-
onOpenPasswordDialog:
|
|
659
|
-
onOnUpdateJwt:
|
|
650
|
+
onOpenPasswordDialog: U,
|
|
651
|
+
onOnUpdateJwt: l
|
|
660
652
|
}, null, 8, ["throttler-prefix", "provider", "request-url", "language", "fields", "access-token", "refresh-token", "aws-storage-url"]),
|
|
661
|
-
g(m(
|
|
653
|
+
g(m(pe))
|
|
662
654
|
], 64));
|
|
663
655
|
}
|
|
664
656
|
});
|
|
665
657
|
export {
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
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
|
|
673
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")}`;
|