@vc-shell/framework 2.6.3-rc.0-pr381.e44adf9 → 2.6.3-rc.0-pr380.ae2f7ea
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/ai-agent/index.js +3 -3
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-CeicZwqW.js → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cs47PW6F.js} +1 -1
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-CeicZwqW.js.map → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cs47PW6F.js.map} +1 -1
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-Di_7qCFv.js → VcAiAgentPanel.vue_vue_type_style_index_0_lang-CQ4PNnTu.js} +346 -340
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-Di_7qCFv.js.map → VcAiAgentPanel.vue_vue_type_style_index_0_lang-CQ4PNnTu.js.map} +1 -1
- package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-SLAzCa01.js → VcScheduler.vue_vue_type_script_setup_true_lang-Bh8CNJsW.js} +3715 -3691
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-Bh8CNJsW.js.map +1 -0
- package/dist/chunks/{VcScheduler.vue_vue_type_style_index_0_lang-Cts7Z-jQ.js → VcScheduler.vue_vue_type_style_index_0_lang-ClYksC9b.js} +699 -690
- package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-ClYksC9b.js.map +1 -0
- package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-CWIBUWHJ.js → dashboard-feed-row.vue_vue_type_script_setup_true_lang-CXrhWmOi.js} +58 -58
- package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-CWIBUWHJ.js.map → dashboard-feed-row.vue_vue_type_script_setup_true_lang-CXrhWmOi.js.map} +1 -1
- package/dist/chunks/{index-CzfVdRiW.js → index-DyZe677u.js} +2 -2
- package/dist/chunks/{index-CzfVdRiW.js.map → index-DyZe677u.js.map} +1 -1
- package/dist/core/composables/useUser/index.d.ts +16 -1
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/core/composables/useUserManagement/index.d.ts +4 -2
- package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
- package/dist/core/utilities/authGuard.d.ts +28 -0
- package/dist/core/utilities/authGuard.d.ts.map +1 -0
- package/dist/dashboard/index.js +1 -1
- package/dist/framework.js +993 -996
- package/dist/framework.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/de.js +2 -4
- package/dist/locales/en.js +2 -4
- package/dist/locales/en.json +2 -4
- package/dist/locales/types.d.ts +1 -3
- package/dist/shell/auth/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-scheduler/VcScheduler.vue.d.ts.map +1 -1
- package/dist/ui/composables/useScrollArrows.d.ts +7 -0
- package/dist/ui/composables/useScrollArrows.d.ts.map +1 -1
- package/dist/ui/index.js +34 -33
- package/package.json +4 -4
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-SLAzCa01.js.map +0 -1
- package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-Cts7Z-jQ.js.map +0 -1
package/dist/framework.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { b as Ma, c as ka } from "./chunks/vendor-vueuse-core-BwXFv1rx.js";
|
|
2
|
-
import {
|
|
3
|
-
import { B as Jl,
|
|
4
|
-
import { getCurrentScope as rt, onScopeDispose as it, computed as
|
|
5
|
-
import { aS as fe, aT as un, aU as
|
|
6
|
-
import { bh as
|
|
7
|
-
import { _ as
|
|
8
|
-
import { c as k, b as
|
|
9
|
-
import { A as
|
|
10
|
-
import { H as
|
|
11
|
-
import { a as
|
|
12
|
-
import { u as
|
|
13
|
-
import { a as
|
|
14
|
-
import { A as
|
|
2
|
+
import { O as st, P as se, Q as j, R as x, l as $, S as Pe, T as Va, U as yt, p as ot, q as K, n as Se, C as Ua, W as Fa, X as Wa, Y as Ha, V as Ee, Z as Ga, $ as xa, a0 as $a, a1 as Ka, a2 as za, a3 as qa, a4 as Ya, a5 as Za, a6 as ja } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-ClYksC9b.js";
|
|
3
|
+
import { B as Jl, a7 as Ql, a as eu, _ as tu, b as au, c as nu, d as su, e as ou, f as ru, g as iu, h as lu, i as uu, j as cu, k as du, a8 as Eu, a9 as fu, aa as mu, ab as gu, ac as Su, ad as Au, ae as pu, m as Tu, o as hu, r as Lu, s as Ou, t as Ru, u as _u, v as Iu, w as vu, x as wu, y as Cu, z as Pu, af as bu, ag as Nu, ah as Du, ai as yu, aj as Bu, ak as Mu, al as ku, am as Vu, an as Uu, ao as Fu, ap as Wu, aq as Hu, ar as Gu, as as xu, at as $u, au as Ku, av as zu, aw as qu, A as Yu, ax as Zu, ay as ju, az as Xu, D as Ju, aA as Qu, aB as ec, aC as tc, aD as ac, E as nc, aE as sc, aF as oc, aG as rc, aH as ic, aI as lc, aJ as uc, aK as cc, aL as dc, aM as Ec, F as fc, G as mc, H as gc, M as Sc, aN as Ac, I as pc, J as Tc, aO as hc, K as Lc, aP as Oc, aQ as Rc, aR as _c } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-ClYksC9b.js";
|
|
4
|
+
import { getCurrentScope as rt, onScopeDispose as it, computed as I, inject as Q, watch as ae, defineComponent as H, openBlock as P, createBlock as D, createSlots as Le, withCtx as T, renderSlot as Y, createElementVNode as U, normalizeClass as Xa, createElementBlock as W, Fragment as ne, createVNode as R, unref as i, createTextVNode as M, toDisplayString as y, shallowReactive as Ja, ref as b, readonly as ke, onMounted as Oe, onBeforeMount as Qa, onBeforeUnmount as en, shallowRef as tn, onUnmounted as an, provide as Bt, toValue as Mt, isRef as kt, normalizeStyle as Vt, createCommentVNode as q, withDirectives as nn, withModifiers as Ge, reactive as ie, createApp as sn, nextTick as be, renderList as We, withKeys as lt, mergeProps as re, getCurrentInstance as on, warn as rn, h as ee, toRaw as ln } from "vue";
|
|
5
|
+
import { aS as fe, aT as un, aU as cn, aV as Ut, aW as xe, aX as dn, aY as En, aZ as fn, a_ as mn, a$ as gn, ab as Sn, b0 as $e, b1 as An, b2 as pn, b3 as Re, b4 as He, b5 as Te, b6 as F, b7 as he, b8 as Tn, b9 as hn, ba as mt, bb as Ft, F as Wt, M as Ln, Y as me, W as Ke, am as On, N as Rn, ai as _n, B as _e, a3 as Ht, E as In, bc as vn, bd as wn, be as Cn, an as gt, bf as Pn, bg as bn } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-Bh8CNJsW.js";
|
|
6
|
+
import { bh as vc, bi as wc, C as Cc, bj as Pc, bk as bc, bl as Nc, _ as Dc, bm as yc, bn as Bc, S as Mc, bo as kc, bp as Vc, a as Uc, b as Fc, c as Wc, d as Hc, e as Gc, f as xc, T as $c, g as Kc, h as zc, i as qc, j as Yc, k as Zc, l as jc, m as Xc, bq as Jc, br as Qc, V as ed, n as td, o as ad, p as nd, q as sd, r as od, s as rd, t as id, u as ld, v as ud, w as cd, x as dd, y as Ed, z as fd, A as md, D as gd, bs as Sd, bs as Ad, bt as pd, G as Td, H as hd, I as Ld, J as Od, K as Rd, L as _d, O as Id, P as vd, Q as wd, R as Cd, U as Pd, X as bd, Z as Nd, $ as Dd, a0 as yd, a1 as Bd, a2 as Md, a4 as kd, a5 as Vd, a6 as Ud, a7 as Fd, a8 as Wd, a9 as Hd, aa as Gd, ac as xd, ad as $d, ae as Kd, af as zd, ag as qd, ah as Yd, aj as Zd, ak as jd, al as Xd, ao as Jd, ap as Qd, bu as eE, aq as tE, bv as aE, bw as nE, bx as sE, by as oE, bz as rE, bA as iE, bB as lE, bC as uE, bD as cE, bE as dE, bF as EE, bG as fE, ar as mE, as as gE, at as SE, bH as AE, au as pE, av as TE, bI as hE, aw as LE, ax as OE, ay as RE, az as _E, bJ as IE, aA as vE, aB as wE, aC as CE, bK as PE, aD as bE, aE as NE, aF as DE, aG as yE, bL as BE, aH as ME, aI as kE, aJ as VE, aK as UE, aL as FE, aM as WE, aN as HE, aO as GE, aP as xE, aQ as $E, aR as KE, aq as zE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-Bh8CNJsW.js";
|
|
7
|
+
import { _ as Nn } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
|
|
8
|
+
import { c as k, b as Dn, d as yn, i as Ne, S as Bn, W as Gt, B as xt, h as Mn, j as $t, k as kn, l as Vn, m as Un, n as Fn, o as Kt, p as Wn, _ as Hn, L as Gn, I as xn, q as $n, r as Kn, s as zn, t as qn, v as Yn, T as Zn, w as jn, x as Xn, y as Jn, z as Qn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-CQ4PNnTu.js";
|
|
9
|
+
import { A as YE, C as ZE, D as jE, F as XE, G as JE, H as QE, J as ef, K as tf, O as af, e as nf, f as sf, P as of, Q as rf, R as lf, U as uf, V as cf, X as df, Y as Ef, Z as ff, $ as mf, a0 as gf, a1 as Sf, E as Af, a2 as pf, a3 as Tf, a4 as hf, a5 as Lf, a6 as Of, a7 as Rf, a8 as _f, a9 as If, M as vf, N as wf, aa as Cf, ab as Pf, ac as bf, ad as Nf, ae as Df, af as yf, ag as Bf, a as Mf, ah as kf, ai as Vf, aj as Uf, ak as Ff, al as Wf, u as Hf, g as Gf } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-CQ4PNnTu.js";
|
|
10
|
+
import { H as es, L as ts } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
|
|
11
|
+
import { a as as } from "./chunks/index-DyZe677u.js";
|
|
12
|
+
import { u as $f } from "./chunks/index-DyZe677u.js";
|
|
13
|
+
import { a as ns, s as ss, b as os, d as rs, e as is, f as ut, g as ls, h as us, i as cs, j as ds } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cs47PW6F.js";
|
|
14
|
+
import { A as zf, D as qf, E as Yf, H as Zf, _ as jf, c as Xf, k as Jf, l as Qf, m as em, n as tm, o as am, p as nm, u as sm, q as om, r as rm, t as im } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cs47PW6F.js";
|
|
15
15
|
import "./chunks/ExtensionPoint.vue_vue_type_style_index_0_lang-B1R06zHa.js";
|
|
16
16
|
import "./chunks/vendor-dompurify-DpIUMBYC.js";
|
|
17
17
|
import { u as le } from "./chunks/vendor-vue-i18n-LO-EJStU.js";
|
|
18
|
-
import { useForm as ue, useIsFormValid as Ie, useIsFormDirty as
|
|
18
|
+
import { useForm as ue, useIsFormValid as Ie, useIsFormDirty as ct, Field as X } from "vee-validate";
|
|
19
19
|
import { useRouter as ve } from "vue-router";
|
|
20
20
|
import "./chunks/vendor-tiptap-starter-kit-ny-AoaO_.js";
|
|
21
21
|
import "./chunks/vendor-tiptap-extension-underline-Bo1pXXDN.js";
|
|
@@ -91,43 +91,43 @@ import "./assets/72de3a63bc0b70dd.svg";
|
|
|
91
91
|
import "./chunks/vendor-iso-639-1-BEjYyfKo.js";
|
|
92
92
|
import "./chunks/vendor-truncate-html-ChA1T5zy.js";
|
|
93
93
|
import "./chunks/vendor-sortablejs-Bsvu-FKn.js";
|
|
94
|
-
import { v as
|
|
94
|
+
import { v as Es } from "./chunks/vendor-vue3-touch-events-DqysuuWh.js";
|
|
95
95
|
import "./chunks/vendor-gridstack-Beau2jQ7.js";
|
|
96
|
-
import { _ as
|
|
97
|
-
import { _ as
|
|
98
|
-
import { A as
|
|
99
|
-
import { o as
|
|
100
|
-
import { T as
|
|
101
|
-
import { _ as
|
|
102
|
-
import { E as
|
|
96
|
+
import { _ as um, a as cm, b as dm, c as Em, d as fm, L as mm, e as gm, f as Sm, l as Am, m as pm, s as Tm, t as hm, u as Lm } from "./chunks/dashboard-feed-row.vue_vue_type_script_setup_true_lang-CXrhWmOi.js";
|
|
97
|
+
import { _ as Rm, a as _m, b as Im, c as vm, d as wm, e as Cm } from "./chunks/DashboardDonutChart.vue_vue_type_script_setup_true_lang-hTcM33bM.js";
|
|
98
|
+
import { A as fs, u as ms } from "./chunks/vendor-vue3-application-insights-CAgbt8pk.js";
|
|
99
|
+
import { o as gs, c as J, d as Ss, i as As } from "./chunks/vendor-lodash-es-D2n90GJy.js";
|
|
100
|
+
import { T as ps, x as Ts, b as hs, S as Ls, $ as Os } from "./chunks/vendor-web-vitals-ByFgAM-8.js";
|
|
101
|
+
import { _ as Rs } from "./chunks/index-BuTo_Lx8.js";
|
|
102
|
+
import { E as bm, d as Nm, u as Dm } from "./chunks/index-BuTo_Lx8.js";
|
|
103
103
|
function pl(e) {
|
|
104
104
|
return e.replace(/[\w]([A-Z])/g, function(t) {
|
|
105
105
|
return t[0] + "_" + t[1];
|
|
106
106
|
}).toLowerCase();
|
|
107
107
|
}
|
|
108
|
-
const
|
|
108
|
+
const _s = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
|
|
109
109
|
function Tl(e) {
|
|
110
|
-
const t =
|
|
110
|
+
const t = _s(e);
|
|
111
111
|
return t[0].toUpperCase() + t.substring(1);
|
|
112
112
|
}
|
|
113
|
-
function
|
|
113
|
+
function hl(e) {
|
|
114
114
|
return e.replace(/\W+(.)/g, function(t, a) {
|
|
115
115
|
return a.toUpperCase();
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
const
|
|
119
|
-
function
|
|
118
|
+
const Is = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "svg", "gif"]);
|
|
119
|
+
function dt(e) {
|
|
120
120
|
return e.split(".").pop()?.toLowerCase();
|
|
121
121
|
}
|
|
122
122
|
function zt(e) {
|
|
123
|
-
return e ?
|
|
123
|
+
return e ? Is.has(dt(e) ?? "") : !1;
|
|
124
124
|
}
|
|
125
125
|
function qt(e, t = 2) {
|
|
126
126
|
if (!e) return "0 Bytes";
|
|
127
127
|
const a = 1024, n = t < 0 ? 0 : t, s = ["Bytes", "KB", "MB", "GB"], o = Math.floor(Math.log(e) / Math.log(a));
|
|
128
128
|
return `${parseFloat((e / Math.pow(a, o)).toFixed(n))} ${s[o]}`;
|
|
129
129
|
}
|
|
130
|
-
const
|
|
130
|
+
const vs = {
|
|
131
131
|
pdf: "#e74c3c",
|
|
132
132
|
doc: "#2b579a",
|
|
133
133
|
docx: "#2b579a",
|
|
@@ -144,28 +144,28 @@ const ws = {
|
|
|
144
144
|
};
|
|
145
145
|
function Yt(e) {
|
|
146
146
|
if (!e) return "var(--neutrals-400)";
|
|
147
|
-
const t =
|
|
148
|
-
return
|
|
147
|
+
const t = dt(e) ?? "";
|
|
148
|
+
return vs[t] ?? "var(--neutrals-400)";
|
|
149
149
|
}
|
|
150
150
|
function Zt(e) {
|
|
151
|
-
return e ? (
|
|
151
|
+
return e ? (dt(e) ?? "FILE").toUpperCase() : "FILE";
|
|
152
152
|
}
|
|
153
|
-
const
|
|
153
|
+
const ws = {
|
|
154
154
|
install(e) {
|
|
155
155
|
const { hasAccess: t } = st();
|
|
156
156
|
e.config.globalProperties.$hasAccess = t;
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
|
-
function
|
|
159
|
+
function Ll(e) {
|
|
160
160
|
const t = fe(), a = t.subscribe({
|
|
161
161
|
types: e.types,
|
|
162
162
|
filter: e.filter,
|
|
163
163
|
handler: e.onMessage
|
|
164
164
|
});
|
|
165
165
|
rt() && it(a);
|
|
166
|
-
const n =
|
|
166
|
+
const n = I(
|
|
167
167
|
() => t.realtime.value.filter((r) => !(!r.notifyType || !e.types.includes(r.notifyType) || !r.isNew || e.filter && !e.filter(r)))
|
|
168
|
-
), s =
|
|
168
|
+
), s = I(() => n.value.length);
|
|
169
169
|
function o(r) {
|
|
170
170
|
t.markAsRead(r);
|
|
171
171
|
}
|
|
@@ -188,12 +188,12 @@ function Rl() {
|
|
|
188
188
|
clearBroadcastFilter: e.clearBroadcastFilter
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
const jt = Symbol("NotificationContainerState"), ze = k("signalR"),
|
|
191
|
+
const jt = Symbol("NotificationContainerState"), ze = k("signalR"), Cs = {
|
|
192
192
|
install(e) {
|
|
193
193
|
const t = fe(), { isAuthenticated: a } = se();
|
|
194
194
|
let n = !1;
|
|
195
|
-
const s =
|
|
196
|
-
let l = 0,
|
|
195
|
+
const s = Nn("pushNotificationHub", { enableForVitest: !0 }) ?? new es().withUrl("/pushNotificationHub").withAutomaticReconnect().configureLogging(ts.Information).build(), o = 5e3, r = 6e4;
|
|
196
|
+
let l = 0, c;
|
|
197
197
|
function u(E) {
|
|
198
198
|
return E instanceof Error && /\b401\b/.test(E.message);
|
|
199
199
|
}
|
|
@@ -205,12 +205,12 @@ const jt = Symbol("NotificationContainerState"), ze = k("signalR"), bs = {
|
|
|
205
205
|
ze.warn("Not authenticated — stopping reconnect attempts until sign-in.");
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
|
-
const
|
|
209
|
-
l++,
|
|
208
|
+
const d = Math.min(o * 2 ** l, r);
|
|
209
|
+
l++, c = setTimeout(() => f(), d);
|
|
210
210
|
});
|
|
211
211
|
};
|
|
212
212
|
async function m() {
|
|
213
|
-
clearTimeout(
|
|
213
|
+
clearTimeout(c), c = void 0, await s.stop();
|
|
214
214
|
}
|
|
215
215
|
s.onclose(() => {
|
|
216
216
|
n && f();
|
|
@@ -228,7 +228,7 @@ const jt = Symbol("NotificationContainerState"), ze = k("signalR"), bs = {
|
|
|
228
228
|
}
|
|
229
229
|
};
|
|
230
230
|
function _l(e) {
|
|
231
|
-
const t = Q(
|
|
231
|
+
const t = Q(cn, void 0);
|
|
232
232
|
return {
|
|
233
233
|
read: () => t ? t.read(e) : {}
|
|
234
234
|
};
|
|
@@ -244,8 +244,8 @@ function Et(e) {
|
|
|
244
244
|
if (!l?._registerBladeFn)
|
|
245
245
|
Ps.error("defineAppModule: BladeRegistry not found. Blade registration will be skipped.");
|
|
246
246
|
else
|
|
247
|
-
for (const [
|
|
248
|
-
const f = u.name ||
|
|
247
|
+
for (const [c, u] of Object.entries(t)) {
|
|
248
|
+
const f = u.name || c;
|
|
249
249
|
o.runWithContext(() => {
|
|
250
250
|
l._registerBladeFn(f, {
|
|
251
251
|
component: u,
|
|
@@ -258,12 +258,12 @@ function Et(e) {
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
if (s)
|
|
261
|
-
for (const [l,
|
|
262
|
-
r.registerType(l,
|
|
261
|
+
for (const [l, c] of Object.entries(s))
|
|
262
|
+
r.registerType(l, c);
|
|
263
263
|
if (!s && n)
|
|
264
264
|
for (const l of Object.values(n)) {
|
|
265
|
-
const
|
|
266
|
-
|
|
265
|
+
const c = l.notifyType;
|
|
266
|
+
c && r.registerType(c, {
|
|
267
267
|
template: l,
|
|
268
268
|
toast: { mode: "auto" }
|
|
269
269
|
});
|
|
@@ -271,11 +271,11 @@ function Et(e) {
|
|
|
271
271
|
if (t) {
|
|
272
272
|
for (const l of Object.values(t))
|
|
273
273
|
if (l.notifyType) {
|
|
274
|
-
const
|
|
275
|
-
|
|
276
|
-
types:
|
|
274
|
+
const c = Array.isArray(l.notifyType) ? l.notifyType : [l.notifyType];
|
|
275
|
+
c.filter((f) => !r.registry.has(f)).length > 0 && r.subscribe({
|
|
276
|
+
types: c,
|
|
277
277
|
handler: (f) => {
|
|
278
|
-
f.title &&
|
|
278
|
+
f.title && j(f.title, {
|
|
279
279
|
onClose() {
|
|
280
280
|
r.markAsRead(f);
|
|
281
281
|
}
|
|
@@ -285,8 +285,8 @@ function Et(e) {
|
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
if (a)
|
|
288
|
-
for (const [l,
|
|
289
|
-
|
|
288
|
+
for (const [l, c] of Object.entries(a))
|
|
289
|
+
x.global.mergeLocaleMessage(l, c);
|
|
290
290
|
}
|
|
291
291
|
};
|
|
292
292
|
}
|
|
@@ -297,7 +297,7 @@ function Il(e, t, a, n) {
|
|
|
297
297
|
notificationTemplates: a
|
|
298
298
|
});
|
|
299
299
|
}
|
|
300
|
-
async function
|
|
300
|
+
async function bs(e, t, a, n, s, o) {
|
|
301
301
|
if (!a.workspaceUrl) return !1;
|
|
302
302
|
const r = t.getBladeByRoute(a.workspaceUrl);
|
|
303
303
|
if (!r)
|
|
@@ -307,16 +307,16 @@ async function Ns(e, t, a, n, s, o) {
|
|
|
307
307
|
`[restoreFromUrl] Blade '${r.name}' matched URL '${a.workspaceUrl}' but is not a workspace`
|
|
308
308
|
), s && xe(s, o), !1;
|
|
309
309
|
if (n && r.data.permissions && !n(r.data.permissions))
|
|
310
|
-
return console.warn(`[restoreFromUrl] Access denied to workspace '${r.name}'`),
|
|
310
|
+
return console.warn(`[restoreFromUrl] Access denied to workspace '${r.name}'`), j.error(x.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), { timeout: 3e3 }), s && xe(s, o), !1;
|
|
311
311
|
if (e.workspace.value?.name !== r.name && await e.openWorkspace({ name: r.name }), a.bladeUrl) {
|
|
312
|
-
const
|
|
313
|
-
if (
|
|
314
|
-
if (e.blades.value.find((f) => f.name ===
|
|
312
|
+
const c = t.getBladeByRoute(a.bladeUrl);
|
|
313
|
+
if (c) {
|
|
314
|
+
if (e.blades.value.find((f) => f.name === c.name && f.param === a.param))
|
|
315
315
|
return !1;
|
|
316
|
-
if (
|
|
316
|
+
if (c.data.routable === !1)
|
|
317
317
|
return !0;
|
|
318
318
|
await e.openBlade({
|
|
319
|
-
name:
|
|
319
|
+
name: c.name,
|
|
320
320
|
param: a.param
|
|
321
321
|
// options not available from URL — blade must handle gracefully
|
|
322
322
|
});
|
|
@@ -333,25 +333,25 @@ async function St(e) {
|
|
|
333
333
|
}
|
|
334
334
|
return e.blades.value.length > 0 && e._restoreStack([]), !0;
|
|
335
335
|
}
|
|
336
|
-
async function
|
|
336
|
+
async function Ns(e, t, a, n, s) {
|
|
337
337
|
if (!e.matched.some((f) => f.meta?.root)) return;
|
|
338
338
|
if (!e.matched.some((f) => f.meta?.bladeCatchAll))
|
|
339
339
|
return t.blades.value.length > 0 && !await St(t) ? !1 : void 0;
|
|
340
|
-
const r = Object.values(e.params)?.[0] || "", l =
|
|
340
|
+
const r = Object.values(e.params)?.[0] || "", l = dn(e.path, r);
|
|
341
341
|
if (!l.workspaceUrl)
|
|
342
342
|
return t.blades.value.length > 0 && !await St(t) ? !1 : void 0;
|
|
343
|
-
const
|
|
344
|
-
if (await
|
|
343
|
+
const c = Object.fromEntries(Object.entries(e.params).filter(([, f]) => typeof f == "string"));
|
|
344
|
+
if (await bs(t, a, l, n, s, c)) {
|
|
345
345
|
const { path: f, query: m } = En(r, t.blades.value);
|
|
346
346
|
return { path: f, query: m, replace: !0 };
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
|
-
const
|
|
349
|
+
const Ds = {
|
|
350
350
|
install(e, t) {
|
|
351
351
|
const { router: a } = t, n = {
|
|
352
352
|
router: t.router
|
|
353
353
|
};
|
|
354
|
-
|
|
354
|
+
rs(n);
|
|
355
355
|
const s = e.runWithContext(() => {
|
|
356
356
|
try {
|
|
357
357
|
return fn();
|
|
@@ -366,20 +366,20 @@ const ys = {
|
|
|
366
366
|
console.error("[BladeNavigationPlugin] BladeRegistry is required but not found.");
|
|
367
367
|
return;
|
|
368
368
|
}
|
|
369
|
-
const { hasAccess: o } = e.runWithContext(() => st()), r = {}, l = gn(a, () => r.current),
|
|
370
|
-
r.current =
|
|
371
|
-
const u = mn(
|
|
372
|
-
e.provide(
|
|
369
|
+
const { hasAccess: o } = e.runWithContext(() => st()), r = {}, l = gn(a, () => r.current), c = ns(s, o, l);
|
|
370
|
+
r.current = c, e.provide(Dn, c), ss(c);
|
|
371
|
+
const u = mn(c);
|
|
372
|
+
e.provide(yn, u), os(u), is(s);
|
|
373
373
|
const f = a.getRoutes().find((m) => m.meta?.root);
|
|
374
374
|
f && a.addRoute(f.name, {
|
|
375
375
|
path: ":pathMatch(.*)*",
|
|
376
376
|
component: { render: () => null },
|
|
377
377
|
meta: { bladeCatchAll: !0 }
|
|
378
378
|
}), a.beforeEach(
|
|
379
|
-
(m) => l.suppressWhile(() =>
|
|
379
|
+
(m) => l.suppressWhile(() => Ns(m, c, s, o, a))
|
|
380
380
|
);
|
|
381
381
|
}
|
|
382
|
-
},
|
|
382
|
+
}, ys = {
|
|
383
383
|
input: {
|
|
384
384
|
maxlength: 1024,
|
|
385
385
|
debounce: 0,
|
|
@@ -430,7 +430,7 @@ const ys = {
|
|
|
430
430
|
}
|
|
431
431
|
};
|
|
432
432
|
function vl(e) {
|
|
433
|
-
return
|
|
433
|
+
return ys[e];
|
|
434
434
|
}
|
|
435
435
|
const ft = /* @__PURE__ */ H({
|
|
436
436
|
__name: "vc-popup-base",
|
|
@@ -452,13 +452,13 @@ const ft = /* @__PURE__ */ H({
|
|
|
452
452
|
function s(o) {
|
|
453
453
|
n("confirm"), a.closeOnConfirm && o();
|
|
454
454
|
}
|
|
455
|
-
return (o, r) => (
|
|
455
|
+
return (o, r) => (P(), D(Sn, {
|
|
456
456
|
variant: e.variant,
|
|
457
457
|
"is-mobile-fullscreen": e.isMobileFullscreen,
|
|
458
458
|
title: e.title,
|
|
459
459
|
closable: e.closable,
|
|
460
460
|
onClose: r[0] || (r[0] = (l) => o.$emit("close"))
|
|
461
|
-
},
|
|
461
|
+
}, Le({
|
|
462
462
|
content: T(() => [
|
|
463
463
|
Y(o.$slots, "default")
|
|
464
464
|
]),
|
|
@@ -473,24 +473,24 @@ const ft = /* @__PURE__ */ H({
|
|
|
473
473
|
"vc-popup-base__actions--single": e.mode === "acknowledge"
|
|
474
474
|
}])
|
|
475
475
|
}, [
|
|
476
|
-
e.mode === "confirm" ? (
|
|
477
|
-
R(i(
|
|
476
|
+
e.mode === "confirm" ? (P(), W(ne, { key: 0 }, [
|
|
477
|
+
R(i($), {
|
|
478
478
|
text: e.confirmAsText,
|
|
479
479
|
class: "vc-popup-base__confirm",
|
|
480
|
-
onClick: (
|
|
480
|
+
onClick: (c) => s(l)
|
|
481
481
|
}, {
|
|
482
482
|
default: T(() => [
|
|
483
483
|
M(y(e.confirmLabel), 1)
|
|
484
484
|
]),
|
|
485
485
|
_: 1
|
|
486
486
|
}, 8, ["text", "onClick"]),
|
|
487
|
-
R(i(
|
|
487
|
+
R(i($), { onClick: l }, {
|
|
488
488
|
default: T(() => [
|
|
489
489
|
M(y(e.cancelLabel), 1)
|
|
490
490
|
]),
|
|
491
491
|
_: 1
|
|
492
492
|
}, 8, ["onClick"])
|
|
493
|
-
], 64)) : (
|
|
493
|
+
], 64)) : (P(), D(i($), {
|
|
494
494
|
key: 1,
|
|
495
495
|
class: "vc-popup-base__single",
|
|
496
496
|
onClick: l
|
|
@@ -514,14 +514,14 @@ const ft = /* @__PURE__ */ H({
|
|
|
514
514
|
} : void 0
|
|
515
515
|
]), 1032, ["variant", "is-mobile-fullscreen", "title", "closable"]));
|
|
516
516
|
}
|
|
517
|
-
}),
|
|
517
|
+
}), Bs = /* @__PURE__ */ H({
|
|
518
518
|
__name: "vc-popup-warning",
|
|
519
519
|
props: {
|
|
520
520
|
title: {}
|
|
521
521
|
},
|
|
522
522
|
emits: ["close", "confirm"],
|
|
523
523
|
setup(e) {
|
|
524
|
-
return (t, a) => (
|
|
524
|
+
return (t, a) => (P(), D(ft, {
|
|
525
525
|
variant: "warning",
|
|
526
526
|
mode: "confirm",
|
|
527
527
|
"confirm-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.CONFIRM"),
|
|
@@ -530,7 +530,7 @@ const ft = /* @__PURE__ */ H({
|
|
|
530
530
|
title: e.title,
|
|
531
531
|
onClose: a[0] || (a[0] = (n) => t.$emit("close")),
|
|
532
532
|
onConfirm: a[1] || (a[1] = (n) => t.$emit("confirm"))
|
|
533
|
-
},
|
|
533
|
+
}, Le({
|
|
534
534
|
default: T(() => [
|
|
535
535
|
Y(t.$slots, "default")
|
|
536
536
|
]),
|
|
@@ -545,20 +545,20 @@ const ft = /* @__PURE__ */ H({
|
|
|
545
545
|
} : void 0
|
|
546
546
|
]), 1032, ["confirm-label", "cancel-label", "title"]));
|
|
547
547
|
}
|
|
548
|
-
}),
|
|
548
|
+
}), Ms = /* @__PURE__ */ H({
|
|
549
549
|
__name: "vc-popup-error",
|
|
550
550
|
props: {
|
|
551
551
|
title: {}
|
|
552
552
|
},
|
|
553
553
|
emits: ["close"],
|
|
554
554
|
setup(e) {
|
|
555
|
-
return (t, a) => (
|
|
555
|
+
return (t, a) => (P(), D(ft, {
|
|
556
556
|
variant: "error",
|
|
557
557
|
mode: "acknowledge",
|
|
558
558
|
"action-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.OK"),
|
|
559
559
|
title: e.title,
|
|
560
560
|
onClose: a[0] || (a[0] = (n) => t.$emit("close"))
|
|
561
|
-
},
|
|
561
|
+
}, Le({
|
|
562
562
|
default: T(() => [
|
|
563
563
|
Y(t.$slots, "default")
|
|
564
564
|
]),
|
|
@@ -573,20 +573,20 @@ const ft = /* @__PURE__ */ H({
|
|
|
573
573
|
} : void 0
|
|
574
574
|
]), 1032, ["action-label", "title"]));
|
|
575
575
|
}
|
|
576
|
-
}),
|
|
576
|
+
}), ks = /* @__PURE__ */ H({
|
|
577
577
|
__name: "vc-popup-info",
|
|
578
578
|
props: {
|
|
579
579
|
title: {}
|
|
580
580
|
},
|
|
581
581
|
emits: ["close"],
|
|
582
582
|
setup(e) {
|
|
583
|
-
return (t, a) => (
|
|
583
|
+
return (t, a) => (P(), D(ft, {
|
|
584
584
|
variant: "info",
|
|
585
585
|
mode: "acknowledge",
|
|
586
586
|
"action-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.OK"),
|
|
587
587
|
title: e.title,
|
|
588
588
|
onClose: a[0] || (a[0] = (n) => t.$emit("close"))
|
|
589
|
-
},
|
|
589
|
+
}, Le({
|
|
590
590
|
default: T(() => [
|
|
591
591
|
Y(t.$slots, "default")
|
|
592
592
|
]),
|
|
@@ -602,18 +602,18 @@ const ft = /* @__PURE__ */ H({
|
|
|
602
602
|
]), 1032, ["action-label", "title"]));
|
|
603
603
|
}
|
|
604
604
|
});
|
|
605
|
-
function
|
|
606
|
-
$e("warning",
|
|
605
|
+
function Vs() {
|
|
606
|
+
$e("warning", Bs), $e("error", Ms), $e("info", ks);
|
|
607
607
|
}
|
|
608
|
-
const
|
|
608
|
+
const Us = {
|
|
609
609
|
install(e) {
|
|
610
610
|
const a = {
|
|
611
611
|
popups: Ja([])
|
|
612
612
|
};
|
|
613
|
-
e.config.globalProperties.$popupPlugin = a, e.provide(An, a), pn(a),
|
|
613
|
+
e.config.globalProperties.$popupPlugin = a, e.provide(An, a), pn(a), Vs();
|
|
614
614
|
}
|
|
615
615
|
};
|
|
616
|
-
function
|
|
616
|
+
function Fs(e, t) {
|
|
617
617
|
let a = null;
|
|
618
618
|
return function(...n) {
|
|
619
619
|
a && clearTimeout(a), a = window.setTimeout(() => {
|
|
@@ -621,11 +621,11 @@ function Ws(e, t) {
|
|
|
621
621
|
}, t);
|
|
622
622
|
};
|
|
623
623
|
}
|
|
624
|
-
function
|
|
624
|
+
function Ws(e, t = 0) {
|
|
625
625
|
setTimeout(e, t);
|
|
626
626
|
}
|
|
627
627
|
const qe = /* @__PURE__ */ new WeakMap();
|
|
628
|
-
function
|
|
628
|
+
function Hs(e) {
|
|
629
629
|
return function(...t) {
|
|
630
630
|
if (!qe.has(e)) {
|
|
631
631
|
const a = e(...t);
|
|
@@ -634,7 +634,7 @@ function Gs(e) {
|
|
|
634
634
|
return qe.get(e);
|
|
635
635
|
};
|
|
636
636
|
}
|
|
637
|
-
function
|
|
637
|
+
function Gs(e, t) {
|
|
638
638
|
let a = !1;
|
|
639
639
|
return function(...n) {
|
|
640
640
|
a || (e(...n), a = !0, setTimeout(() => {
|
|
@@ -644,10 +644,10 @@ function xs(e, t) {
|
|
|
644
644
|
}
|
|
645
645
|
function wl() {
|
|
646
646
|
return {
|
|
647
|
-
debounce:
|
|
648
|
-
delay:
|
|
649
|
-
once:
|
|
650
|
-
throttle:
|
|
647
|
+
debounce: Fs,
|
|
648
|
+
delay: Ws,
|
|
649
|
+
once: Hs,
|
|
650
|
+
throttle: Gs
|
|
651
651
|
};
|
|
652
652
|
}
|
|
653
653
|
function Cl(e) {
|
|
@@ -657,11 +657,11 @@ function Cl(e) {
|
|
|
657
657
|
types: a,
|
|
658
658
|
handler: (r) => n?.(r)
|
|
659
659
|
}), rt() && it(() => s?.()));
|
|
660
|
-
const o =
|
|
660
|
+
const o = I(() => a.length ? t.realtime.value.filter(
|
|
661
661
|
(r) => r.isNew && r.notifyType != null && a.includes(r.notifyType)
|
|
662
662
|
) : []);
|
|
663
663
|
return {
|
|
664
|
-
notifications:
|
|
664
|
+
notifications: I(() => gs(t.history.value, ["created"], ["desc"])),
|
|
665
665
|
moduleNotifications: o,
|
|
666
666
|
loadFromHistory: t.loadHistory,
|
|
667
667
|
addNotification: t.ingest,
|
|
@@ -673,18 +673,18 @@ function Cl(e) {
|
|
|
673
673
|
};
|
|
674
674
|
}
|
|
675
675
|
let Ye;
|
|
676
|
-
const
|
|
676
|
+
const xs = k("use-async");
|
|
677
677
|
function Xt(e, t) {
|
|
678
|
-
const a =
|
|
679
|
-
async function r(l, ...
|
|
678
|
+
const a = b(!1), n = b(null), s = t?.notify !== !1, o = t?.notifyTimeout ?? 8e3;
|
|
679
|
+
async function r(l, ...c) {
|
|
680
680
|
a.value = !0, n.value = null;
|
|
681
681
|
try {
|
|
682
|
-
return await e(l, ...
|
|
682
|
+
return await e(l, ...c);
|
|
683
683
|
} catch (u) {
|
|
684
|
-
const f =
|
|
685
|
-
if (n.value = f,
|
|
684
|
+
const f = Pe(u);
|
|
685
|
+
if (n.value = f, xs.error("Async action failed:", u), s && !Ne() && u && typeof u == "object") {
|
|
686
686
|
const m = `async-error-${f.message.slice(0, 80)}`, E = setTimeout(async () => {
|
|
687
|
-
Ye || (Ye = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-
|
|
687
|
+
Ye || (Ye = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-ClYksC9b.js").then((S) => S.b2)).notification), Ye.error(f.message, {
|
|
688
688
|
timeout: o,
|
|
689
689
|
notificationId: m
|
|
690
690
|
});
|
|
@@ -702,7 +702,7 @@ function Xt(e, t) {
|
|
|
702
702
|
action: r
|
|
703
703
|
};
|
|
704
704
|
}
|
|
705
|
-
function
|
|
705
|
+
function $s(e) {
|
|
706
706
|
async function t() {
|
|
707
707
|
return new e();
|
|
708
708
|
}
|
|
@@ -711,19 +711,19 @@ function Ks(e) {
|
|
|
711
711
|
};
|
|
712
712
|
}
|
|
713
713
|
function Jt(...e) {
|
|
714
|
-
return
|
|
714
|
+
return I(() => e.some((t) => t.value));
|
|
715
715
|
}
|
|
716
|
-
const
|
|
716
|
+
const Ks = k("use-settings");
|
|
717
717
|
function we() {
|
|
718
|
-
const e =
|
|
718
|
+
const e = b(), t = b(!1), { getApiClient: a } = $s(Bn), { loading: n, action: s } = Xt(async () => {
|
|
719
719
|
if (t.value) return;
|
|
720
720
|
const r = await (await a()).getUICustomizationSetting();
|
|
721
721
|
let l = null;
|
|
722
722
|
if (r.defaultValue)
|
|
723
723
|
try {
|
|
724
724
|
l = JSON.parse(r.defaultValue);
|
|
725
|
-
} catch (
|
|
726
|
-
|
|
725
|
+
} catch (c) {
|
|
726
|
+
Ks.warn("Failed to parse UI customization settings JSON; ignoring.", c);
|
|
727
727
|
}
|
|
728
728
|
l && !e.value && (e.value = {
|
|
729
729
|
contrast_logo: l.contrast_logo,
|
|
@@ -743,31 +743,31 @@ function we() {
|
|
|
743
743
|
return Oe(async () => {
|
|
744
744
|
!e.value && !t.value && await s();
|
|
745
745
|
}), {
|
|
746
|
-
uiSettings:
|
|
746
|
+
uiSettings: I(() => e.value ?? {}),
|
|
747
747
|
applySettings: o,
|
|
748
748
|
loading: Jt(n)
|
|
749
749
|
};
|
|
750
750
|
}
|
|
751
|
-
function
|
|
752
|
-
const e =
|
|
751
|
+
function Pl() {
|
|
752
|
+
const e = b(!1);
|
|
753
753
|
let t = 0, a = !1;
|
|
754
754
|
function n() {
|
|
755
755
|
const l = ++t;
|
|
756
|
-
let
|
|
756
|
+
let c = !1;
|
|
757
757
|
return a || (e.value = !0), {
|
|
758
758
|
isCurrent: () => !a && l === t,
|
|
759
759
|
complete: () => {
|
|
760
|
-
|
|
760
|
+
c || (c = !0, !a && l === t && (e.value = !1));
|
|
761
761
|
}
|
|
762
762
|
};
|
|
763
763
|
}
|
|
764
764
|
async function s(l) {
|
|
765
|
-
const
|
|
765
|
+
const c = n();
|
|
766
766
|
try {
|
|
767
767
|
const u = await l;
|
|
768
|
-
return
|
|
768
|
+
return c.isCurrent() ? u : void 0;
|
|
769
769
|
} finally {
|
|
770
|
-
|
|
770
|
+
c.complete();
|
|
771
771
|
}
|
|
772
772
|
}
|
|
773
773
|
function o() {
|
|
@@ -785,7 +785,7 @@ function bl() {
|
|
|
785
785
|
};
|
|
786
786
|
}
|
|
787
787
|
const Qt = 4;
|
|
788
|
-
async function
|
|
788
|
+
async function zs(e, t, a, n) {
|
|
789
789
|
const s = new FormData();
|
|
790
790
|
s.append("file", e);
|
|
791
791
|
const o = t.startsWith("/") ? t.slice(1) : t, l = await (await fetch(`/api/assets?folderUrl=/${o}`, {
|
|
@@ -793,22 +793,22 @@ async function qs(e, t, a, n) {
|
|
|
793
793
|
body: s
|
|
794
794
|
})).json();
|
|
795
795
|
if (!l?.length) return null;
|
|
796
|
-
const
|
|
797
|
-
return
|
|
796
|
+
const c = l[0];
|
|
797
|
+
return c.createdDate = /* @__PURE__ */ new Date(), c.sortOrder = n !== void 0 && n >= 0 ? n + a + 1 : 0, c.url = c.url ? decodeURI(c.url) : "", "size" in c && (c.size = e.size), c;
|
|
798
798
|
}
|
|
799
799
|
async function ea(e, { uploadPath: t, startingSortOrder: a, concurrency: n = Qt }) {
|
|
800
800
|
const s = Array.from(e), o = [];
|
|
801
801
|
for (let r = 0; r < s.length; r += n) {
|
|
802
|
-
const l = s.slice(r, r + n),
|
|
803
|
-
l.map((u, f) =>
|
|
802
|
+
const l = s.slice(r, r + n), c = await Promise.all(
|
|
803
|
+
l.map((u, f) => zs(u, t, r + f, a))
|
|
804
804
|
);
|
|
805
|
-
o.push(...
|
|
805
|
+
o.push(...c);
|
|
806
806
|
}
|
|
807
807
|
return o.filter((r) => r !== null);
|
|
808
808
|
}
|
|
809
809
|
const At = k("use-assets");
|
|
810
|
-
function
|
|
811
|
-
const e =
|
|
810
|
+
function bl() {
|
|
811
|
+
const e = b(!1);
|
|
812
812
|
async function t(s, o, r) {
|
|
813
813
|
try {
|
|
814
814
|
return e.value = !0, await ea(s, { uploadPath: o, startingSortOrder: r });
|
|
@@ -821,8 +821,8 @@ function Pl() {
|
|
|
821
821
|
function a(s, o, r = "url") {
|
|
822
822
|
try {
|
|
823
823
|
e.value = !0;
|
|
824
|
-
let l =
|
|
825
|
-
return l && l.length && s.length > 0 && (l =
|
|
824
|
+
let l = J(o) || [];
|
|
825
|
+
return l && l.length && s.length > 0 && (l = Ss(l, s, (c, u) => c[r] === u[r])), l;
|
|
826
826
|
} catch (l) {
|
|
827
827
|
throw At.error("Remove failed:", l), l;
|
|
828
828
|
} finally {
|
|
@@ -832,20 +832,20 @@ function Pl() {
|
|
|
832
832
|
function n(s, o) {
|
|
833
833
|
if (s.length === o.length)
|
|
834
834
|
return s.map((l) => ({ ...l }));
|
|
835
|
-
const r =
|
|
835
|
+
const r = J(o) || [];
|
|
836
836
|
return r && r.length && s.forEach((l) => {
|
|
837
|
-
const
|
|
838
|
-
|
|
837
|
+
const c = r.findIndex((u) => u.url === l.url);
|
|
838
|
+
c !== -1 && (r[c] = { ...r[c], ...l });
|
|
839
839
|
}), r;
|
|
840
840
|
}
|
|
841
841
|
return {
|
|
842
842
|
upload: t,
|
|
843
843
|
remove: a,
|
|
844
844
|
edit: n,
|
|
845
|
-
loading:
|
|
845
|
+
loading: I(() => e.value)
|
|
846
846
|
};
|
|
847
847
|
}
|
|
848
|
-
const
|
|
848
|
+
const qs = k("use-assets-manager");
|
|
849
849
|
function pt(e) {
|
|
850
850
|
return e.map((t, a) => ({ item: t, index: a })).sort((t, a) => {
|
|
851
851
|
const n = t.item.sortOrder ?? Number.MAX_SAFE_INTEGER, s = a.item.sortOrder ?? Number.MAX_SAFE_INTEGER;
|
|
@@ -853,7 +853,7 @@ function pt(e) {
|
|
|
853
853
|
}).map(({ item: t }, a) => ({ ...t, sortOrder: a }));
|
|
854
854
|
}
|
|
855
855
|
function Nl(e, t) {
|
|
856
|
-
const a =
|
|
856
|
+
const a = b(!1), n = b(pt(e.value ?? []));
|
|
857
857
|
ae(
|
|
858
858
|
() => e.value,
|
|
859
859
|
(S) => {
|
|
@@ -864,14 +864,14 @@ function Nl(e, t) {
|
|
|
864
864
|
function s() {
|
|
865
865
|
e.value = n.value;
|
|
866
866
|
}
|
|
867
|
-
const o = n, r =
|
|
868
|
-
async function u(S,
|
|
867
|
+
const o = n, r = I(() => a.value), l = t.concurrency ?? Qt, c = t.assetKey ?? "url";
|
|
868
|
+
async function u(S, h) {
|
|
869
869
|
try {
|
|
870
870
|
a.value = !0;
|
|
871
|
-
const
|
|
872
|
-
n.value = [...n.value, ...
|
|
873
|
-
} catch (
|
|
874
|
-
throw
|
|
871
|
+
const L = t.uploadPath(), v = await ea(S, { uploadPath: L, startingSortOrder: h, concurrency: l });
|
|
872
|
+
n.value = [...n.value, ...v], s();
|
|
873
|
+
} catch (L) {
|
|
874
|
+
throw qs.error("Upload failed:", L), L;
|
|
875
875
|
} finally {
|
|
876
876
|
a.value = !1;
|
|
877
877
|
}
|
|
@@ -882,17 +882,17 @@ function Nl(e, t) {
|
|
|
882
882
|
async function m(S) {
|
|
883
883
|
if (t.confirmRemove && !await t.confirmRemove())
|
|
884
884
|
return;
|
|
885
|
-
const
|
|
886
|
-
n.value = n.value.filter((
|
|
885
|
+
const h = new Set(S.map((L) => L[c]));
|
|
886
|
+
n.value = n.value.filter((L) => !h.has(L[c])), s();
|
|
887
887
|
}
|
|
888
888
|
function E(S) {
|
|
889
|
-
n.value = S.map((
|
|
889
|
+
n.value = S.map((h) => ({ ...h })), s();
|
|
890
890
|
}
|
|
891
|
-
function
|
|
892
|
-
const
|
|
893
|
-
if (
|
|
894
|
-
const
|
|
895
|
-
h
|
|
891
|
+
function d(S) {
|
|
892
|
+
const h = n.value.findIndex((L) => L[c] === S[c]);
|
|
893
|
+
if (h !== -1) {
|
|
894
|
+
const L = [...n.value];
|
|
895
|
+
L[h] = { ...n.value[h], ...S }, n.value = L, s();
|
|
896
896
|
}
|
|
897
897
|
}
|
|
898
898
|
return {
|
|
@@ -901,11 +901,11 @@ function Nl(e, t) {
|
|
|
901
901
|
remove: f,
|
|
902
902
|
removeMany: m,
|
|
903
903
|
reorder: E,
|
|
904
|
-
updateItem:
|
|
904
|
+
updateItem: d,
|
|
905
905
|
loading: r
|
|
906
906
|
};
|
|
907
907
|
}
|
|
908
|
-
const
|
|
908
|
+
const Ys = (e) => {
|
|
909
909
|
Qa(() => {
|
|
910
910
|
window.addEventListener("beforeunload", t);
|
|
911
911
|
}), en(() => {
|
|
@@ -917,7 +917,7 @@ const Zs = (e) => {
|
|
|
917
917
|
return {
|
|
918
918
|
modified: e
|
|
919
919
|
};
|
|
920
|
-
},
|
|
920
|
+
}, Zs = k("use-breadcrumbs");
|
|
921
921
|
function Dl() {
|
|
922
922
|
const e = tn([]);
|
|
923
923
|
function t(s) {
|
|
@@ -930,8 +930,8 @@ function Dl() {
|
|
|
930
930
|
clickHandler: s.clickHandler ? async (l) => {
|
|
931
931
|
try {
|
|
932
932
|
await s.clickHandler(l) !== !1 && t(l);
|
|
933
|
-
} catch (
|
|
934
|
-
|
|
933
|
+
} catch (c) {
|
|
934
|
+
Zs.error("Breadcrumb click handler failed:", c);
|
|
935
935
|
}
|
|
936
936
|
} : void 0
|
|
937
937
|
}, r = e.value.findIndex((l) => l.id === o.id);
|
|
@@ -945,14 +945,14 @@ function Dl() {
|
|
|
945
945
|
e.value = e.value.filter((o) => !s.includes(o.id));
|
|
946
946
|
}
|
|
947
947
|
return {
|
|
948
|
-
breadcrumbs:
|
|
948
|
+
breadcrumbs: I(() => e.value),
|
|
949
949
|
push: a,
|
|
950
950
|
remove: n
|
|
951
951
|
};
|
|
952
952
|
}
|
|
953
|
-
const
|
|
953
|
+
const js = {
|
|
954
954
|
get(e, t) {
|
|
955
|
-
return Te(e) ?
|
|
955
|
+
return Te(e) ? he(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? "" : he(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
|
|
956
956
|
},
|
|
957
957
|
set(e, t, a) {
|
|
958
958
|
if (!Array.isArray(t) && Re(t)) {
|
|
@@ -977,16 +977,16 @@ const Xs = {
|
|
|
977
977
|
}
|
|
978
978
|
e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [F({ value: t })];
|
|
979
979
|
}
|
|
980
|
-
},
|
|
980
|
+
}, Xs = {
|
|
981
981
|
get(e, t) {
|
|
982
982
|
return Te(e) ? (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? !1 : e.values?.[0]?.value ?? !1;
|
|
983
983
|
},
|
|
984
984
|
set(e, t, a) {
|
|
985
985
|
e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [F({ value: t })];
|
|
986
986
|
}
|
|
987
|
-
},
|
|
987
|
+
}, Js = {
|
|
988
988
|
get(e, t) {
|
|
989
|
-
return Te(e) ?
|
|
989
|
+
return Te(e) ? he(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.valueId ?? "" : he(e) ? e.values ?? [] : e.values?.[0]?.valueId ?? "";
|
|
990
990
|
},
|
|
991
991
|
set(e, t, a) {
|
|
992
992
|
const { dictionary: n, locale: s } = a;
|
|
@@ -994,17 +994,17 @@ const Xs = {
|
|
|
994
994
|
He(e, s);
|
|
995
995
|
return;
|
|
996
996
|
}
|
|
997
|
-
n?.length && (Te(e) ?
|
|
997
|
+
n?.length && (Te(e) ? Qs(e, t, n, s) : ao(e, t, n));
|
|
998
998
|
}
|
|
999
999
|
};
|
|
1000
|
-
function
|
|
1001
|
-
Array.isArray(t) ?
|
|
1000
|
+
function Qs(e, t, a, n) {
|
|
1001
|
+
Array.isArray(t) ? eo(
|
|
1002
1002
|
e,
|
|
1003
1003
|
t,
|
|
1004
1004
|
a
|
|
1005
|
-
) :
|
|
1005
|
+
) : to(e, t, a, n);
|
|
1006
1006
|
}
|
|
1007
|
-
function
|
|
1007
|
+
function eo(e, t, a) {
|
|
1008
1008
|
e.values = t.flatMap((n) => {
|
|
1009
1009
|
const s = a.find(
|
|
1010
1010
|
(o) => o.id === n.valueId || o.id === n.id
|
|
@@ -1021,7 +1021,7 @@ function to(e, t, a) {
|
|
|
1021
1021
|
) : F(n);
|
|
1022
1022
|
});
|
|
1023
1023
|
}
|
|
1024
|
-
function
|
|
1024
|
+
function to(e, t, a, n) {
|
|
1025
1025
|
const s = a.find((o) => o.id === t);
|
|
1026
1026
|
if (!s) {
|
|
1027
1027
|
e.values = [];
|
|
@@ -1052,7 +1052,7 @@ function ao(e, t, a, n) {
|
|
|
1052
1052
|
);
|
|
1053
1053
|
}
|
|
1054
1054
|
}
|
|
1055
|
-
function
|
|
1055
|
+
function ao(e, t, a) {
|
|
1056
1056
|
if (Array.isArray(t))
|
|
1057
1057
|
e.values = t.flatMap((n) => {
|
|
1058
1058
|
const s = a.find(
|
|
@@ -1083,7 +1083,7 @@ function no(e, t, a) {
|
|
|
1083
1083
|
];
|
|
1084
1084
|
}
|
|
1085
1085
|
}
|
|
1086
|
-
const
|
|
1086
|
+
const no = {
|
|
1087
1087
|
get(e, t) {
|
|
1088
1088
|
return e.values?.[0]?.value ?? "";
|
|
1089
1089
|
},
|
|
@@ -1094,9 +1094,9 @@ const so = {
|
|
|
1094
1094
|
}
|
|
1095
1095
|
e.values = [F({ value: t, unitOfMeasureId: a.unitOfMeasureId })];
|
|
1096
1096
|
}
|
|
1097
|
-
},
|
|
1097
|
+
}, so = {
|
|
1098
1098
|
get(e, t) {
|
|
1099
|
-
return
|
|
1099
|
+
return he(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
|
|
1100
1100
|
},
|
|
1101
1101
|
set(e, t, a) {
|
|
1102
1102
|
if (!Array.isArray(t) && Re(t)) {
|
|
@@ -1109,7 +1109,7 @@ const so = {
|
|
|
1109
1109
|
}
|
|
1110
1110
|
};
|
|
1111
1111
|
function Tt(e) {
|
|
1112
|
-
return Tn(e) ?
|
|
1112
|
+
return Tn(e) ? no : hn(e) && !mt(e) ? so : e.valueType === "Boolean" ? Xs : mt(e) ? Js : js;
|
|
1113
1113
|
}
|
|
1114
1114
|
function yl(e) {
|
|
1115
1115
|
const { searchDictionary: t, searchMeasurements: a } = e, { loading: n, action: s } = Xt(async (u) => {
|
|
@@ -1123,9 +1123,9 @@ function yl(e) {
|
|
|
1123
1123
|
keyword: f,
|
|
1124
1124
|
skip: 0
|
|
1125
1125
|
});
|
|
1126
|
-
return !m || !E ? E : E.map((
|
|
1127
|
-
const S =
|
|
1128
|
-
return { ...
|
|
1126
|
+
return !m || !E ? E : E.map((d) => {
|
|
1127
|
+
const S = d.localizedValues?.find((h) => h.languageCode === m)?.value;
|
|
1128
|
+
return { ...d, value: S ?? d.alias };
|
|
1129
1129
|
});
|
|
1130
1130
|
}
|
|
1131
1131
|
async function r(u, f, m) {
|
|
@@ -1135,13 +1135,13 @@ function yl(e) {
|
|
|
1135
1135
|
function l(u, f) {
|
|
1136
1136
|
return Tt(u).get(u, f);
|
|
1137
1137
|
}
|
|
1138
|
-
function
|
|
1138
|
+
function c(u) {
|
|
1139
1139
|
const { property: f, value: m, ...E } = u;
|
|
1140
1140
|
Tt(f).set(f, m, E);
|
|
1141
1141
|
}
|
|
1142
1142
|
return {
|
|
1143
1143
|
getPropertyValue: l,
|
|
1144
|
-
setPropertyValue:
|
|
1144
|
+
setPropertyValue: c,
|
|
1145
1145
|
loadDictionaries: o,
|
|
1146
1146
|
loadMeasurements: r,
|
|
1147
1147
|
loading: Jt(n)
|
|
@@ -1156,7 +1156,7 @@ function Bl(e) {
|
|
|
1156
1156
|
rating: n.rating
|
|
1157
1157
|
});
|
|
1158
1158
|
};
|
|
1159
|
-
|
|
1159
|
+
ps(a), Ts(a), hs(a), Ls(a), Os(a);
|
|
1160
1160
|
}
|
|
1161
1161
|
const ta = k("use-blade-widgets");
|
|
1162
1162
|
function Ml(e) {
|
|
@@ -1171,7 +1171,7 @@ function Ml(e) {
|
|
|
1171
1171
|
const s = n.value.id;
|
|
1172
1172
|
Oe(() => {
|
|
1173
1173
|
for (const l of e)
|
|
1174
|
-
a.registerWidget(
|
|
1174
|
+
a.registerWidget(oo(l), s);
|
|
1175
1175
|
}), an(() => {
|
|
1176
1176
|
for (const l of e)
|
|
1177
1177
|
a.unregisterWidget(l.id, s);
|
|
@@ -1182,20 +1182,20 @@ function Ml(e) {
|
|
|
1182
1182
|
}
|
|
1183
1183
|
function r() {
|
|
1184
1184
|
const l = a.getWidgets(s);
|
|
1185
|
-
for (const
|
|
1186
|
-
|
|
1185
|
+
for (const c of l)
|
|
1186
|
+
c.trigger?.onRefresh && c.trigger.onRefresh();
|
|
1187
1187
|
}
|
|
1188
1188
|
return { refresh: o, refreshAll: r };
|
|
1189
1189
|
}
|
|
1190
1190
|
function kl(e) {
|
|
1191
|
-
const t = Q(
|
|
1191
|
+
const t = Q(Mn);
|
|
1192
1192
|
if (!t) {
|
|
1193
1193
|
ta.warn("useWidgetTrigger() called outside WidgetContainer scope — trigger will not be registered.");
|
|
1194
1194
|
return;
|
|
1195
1195
|
}
|
|
1196
1196
|
t.setTrigger(e);
|
|
1197
1197
|
}
|
|
1198
|
-
function
|
|
1198
|
+
function oo(e) {
|
|
1199
1199
|
const t = {
|
|
1200
1200
|
icon: e.icon,
|
|
1201
1201
|
badge: e.badge,
|
|
@@ -1212,7 +1212,7 @@ function ro(e) {
|
|
|
1212
1212
|
trigger: e.onRefresh ? { onRefresh: e.onRefresh } : void 0
|
|
1213
1213
|
};
|
|
1214
1214
|
}
|
|
1215
|
-
function
|
|
1215
|
+
function ro(e) {
|
|
1216
1216
|
const t = {};
|
|
1217
1217
|
for (const a of Object.keys(e)) {
|
|
1218
1218
|
const n = e[a];
|
|
@@ -1223,7 +1223,7 @@ function io(e) {
|
|
|
1223
1223
|
function Vl(e) {
|
|
1224
1224
|
Bt(
|
|
1225
1225
|
$t,
|
|
1226
|
-
|
|
1226
|
+
I(() => ro(Mt(e)))
|
|
1227
1227
|
);
|
|
1228
1228
|
}
|
|
1229
1229
|
function Ul() {
|
|
@@ -1232,21 +1232,21 @@ function Ul() {
|
|
|
1232
1232
|
throw new yt("BladeContext");
|
|
1233
1233
|
return e;
|
|
1234
1234
|
}
|
|
1235
|
-
function
|
|
1235
|
+
function ht(e) {
|
|
1236
1236
|
return e == null || e === "";
|
|
1237
1237
|
}
|
|
1238
|
-
function
|
|
1239
|
-
return
|
|
1240
|
-
if (
|
|
1238
|
+
function Lt(e, t) {
|
|
1239
|
+
return As(e, t, (a, n) => {
|
|
1240
|
+
if (ht(a) && ht(n)) return !0;
|
|
1241
1241
|
});
|
|
1242
1242
|
}
|
|
1243
1243
|
function Fl(e) {
|
|
1244
|
-
const t = (r) =>
|
|
1244
|
+
const t = (r) => J(i(r)), a = b(t(e)), n = b(t(e)), s = b(!1);
|
|
1245
1245
|
kt(e) && ae(
|
|
1246
1246
|
e,
|
|
1247
1247
|
(r) => {
|
|
1248
|
-
const l = !
|
|
1249
|
-
a.value =
|
|
1248
|
+
const l = !Lt(n.value, a.value);
|
|
1249
|
+
a.value = J(r), l || (n.value = J(r));
|
|
1250
1250
|
},
|
|
1251
1251
|
{ deep: !0 }
|
|
1252
1252
|
// Deep tracking, if initialValueProp is a Ref to an object/array
|
|
@@ -1254,50 +1254,50 @@ function Fl(e) {
|
|
|
1254
1254
|
[n, a],
|
|
1255
1255
|
// Track changes in currentValue or pristineValue
|
|
1256
1256
|
([r, l]) => {
|
|
1257
|
-
s.value = !
|
|
1257
|
+
s.value = !Lt(r, l);
|
|
1258
1258
|
},
|
|
1259
1259
|
{ deep: !0 }
|
|
1260
1260
|
);
|
|
1261
1261
|
const o = (r) => {
|
|
1262
1262
|
if (r !== void 0) {
|
|
1263
1263
|
const l = t(r);
|
|
1264
|
-
a.value = l, n.value =
|
|
1264
|
+
a.value = l, n.value = J(l);
|
|
1265
1265
|
} else
|
|
1266
|
-
a.value =
|
|
1266
|
+
a.value = J(n.value);
|
|
1267
1267
|
s.value = !1;
|
|
1268
1268
|
};
|
|
1269
1269
|
return {
|
|
1270
1270
|
currentValue: n,
|
|
1271
1271
|
pristineValue: a,
|
|
1272
|
-
isModified:
|
|
1272
|
+
isModified: I(() => s.value),
|
|
1273
1273
|
resetModificationState: o
|
|
1274
1274
|
};
|
|
1275
1275
|
}
|
|
1276
|
-
const
|
|
1276
|
+
const io = { class: "tw-flex tw-grow-1 tw-border-t tw-border-solid tw-border-t-[--assets-details-border]" }, lo = { class: "assets-details__content tw-grow tw-basis-0 tw-w-full tw-overflow-hidden" }, uo = { class: "tw-p-4" }, co = { class: "assets-details__header" }, Eo = {
|
|
1277
1277
|
key: 1,
|
|
1278
1278
|
class: "assets-details__file-preview tw-shrink-0"
|
|
1279
|
-
},
|
|
1279
|
+
}, fo = { class: "assets-details__meta" };
|
|
1280
1280
|
Ft("AssetsDetails", {});
|
|
1281
|
-
const
|
|
1281
|
+
const mo = /* @__PURE__ */ H({
|
|
1282
1282
|
name: "AssetsDetails",
|
|
1283
1283
|
__name: "assets-details",
|
|
1284
1284
|
setup(e) {
|
|
1285
1285
|
const { options: t, closeSelf: a } = ut();
|
|
1286
1286
|
ue({ validateOnMount: !1 });
|
|
1287
|
-
const n = Ie(), s =
|
|
1287
|
+
const n = Ie(), s = ct(), { t: o } = le({ useScope: "global" }), r = b({ ...t.value?.asset }), l = I(() => t.value?.disabled), c = I({
|
|
1288
1288
|
get() {
|
|
1289
1289
|
const E = r.value.name;
|
|
1290
1290
|
if (!E) return "";
|
|
1291
|
-
const
|
|
1292
|
-
return
|
|
1291
|
+
const d = E.lastIndexOf(".");
|
|
1292
|
+
return d > 0 ? E.slice(0, d) : E;
|
|
1293
1293
|
},
|
|
1294
1294
|
set(E) {
|
|
1295
|
-
const
|
|
1296
|
-
if (!
|
|
1297
|
-
const S =
|
|
1298
|
-
r.value.name = E ? E +
|
|
1295
|
+
const d = r.value.name;
|
|
1296
|
+
if (!d) return;
|
|
1297
|
+
const S = d.lastIndexOf("."), h = S > 0 ? d.slice(S) : "";
|
|
1298
|
+
r.value.name = E ? E + h : "";
|
|
1299
1299
|
}
|
|
1300
|
-
}), u =
|
|
1300
|
+
}), u = I(() => !s.value || !n.value), f = b([
|
|
1301
1301
|
{
|
|
1302
1302
|
id: "save",
|
|
1303
1303
|
title: o("ASSETS.PAGES.DETAILS.TOOLBAR.SAVE"),
|
|
@@ -1305,7 +1305,7 @@ const go = /* @__PURE__ */ H({
|
|
|
1305
1305
|
async clickHandler() {
|
|
1306
1306
|
t.value?.assetEditHandler && typeof t.value?.assetEditHandler == "function" && (await t.value?.assetEditHandler(r.value), a());
|
|
1307
1307
|
},
|
|
1308
|
-
disabled:
|
|
1308
|
+
disabled: I(() => u.value || l.value)
|
|
1309
1309
|
},
|
|
1310
1310
|
{
|
|
1311
1311
|
id: "delete",
|
|
@@ -1314,36 +1314,36 @@ const go = /* @__PURE__ */ H({
|
|
|
1314
1314
|
async clickHandler() {
|
|
1315
1315
|
t.value?.assetRemoveHandler && typeof t.value?.assetRemoveHandler == "function" && (await t.value?.assetRemoveHandler(r.value), a());
|
|
1316
1316
|
},
|
|
1317
|
-
disabled:
|
|
1317
|
+
disabled: I(() => l.value)
|
|
1318
1318
|
}
|
|
1319
|
-
]), m =
|
|
1320
|
-
return (E,
|
|
1319
|
+
]), m = I(() => r.value?.typeId);
|
|
1320
|
+
return (E, d) => (P(), D(i(Wt), {
|
|
1321
1321
|
title: i(t)?.asset?.name,
|
|
1322
1322
|
subtitle: i(o)("ASSETS.PAGES.DETAILS.SUBTITLE"),
|
|
1323
1323
|
"toolbar-items": f.value
|
|
1324
1324
|
}, {
|
|
1325
1325
|
default: T(() => [
|
|
1326
|
-
U("div",
|
|
1327
|
-
U("div",
|
|
1328
|
-
R(i(
|
|
1326
|
+
U("div", io, [
|
|
1327
|
+
U("div", lo, [
|
|
1328
|
+
R(i(Ln), { "no-padding": !0 }, {
|
|
1329
1329
|
default: T(() => [
|
|
1330
|
-
U("div",
|
|
1330
|
+
U("div", uo, [
|
|
1331
1331
|
R(i(me), null, {
|
|
1332
1332
|
default: T(() => [
|
|
1333
|
-
U("div",
|
|
1334
|
-
i(zt)(r.value.name) ? (
|
|
1333
|
+
U("div", co, [
|
|
1334
|
+
i(zt)(r.value.name) ? (P(), D(i(ot), {
|
|
1335
1335
|
key: 0,
|
|
1336
1336
|
src: r.value.url,
|
|
1337
1337
|
size: "xl",
|
|
1338
1338
|
bordered: !0,
|
|
1339
1339
|
class: "tw-shrink-0"
|
|
1340
|
-
}, null, 8, ["src"])) : (
|
|
1340
|
+
}, null, 8, ["src"])) : (P(), W("div", Eo, [
|
|
1341
1341
|
U("div", {
|
|
1342
1342
|
class: "assets-details__file-badge",
|
|
1343
1343
|
style: Vt({ backgroundColor: i(Yt)(r.value.name) })
|
|
1344
1344
|
}, y(i(Zt)(r.value.name)), 5)
|
|
1345
1345
|
])),
|
|
1346
|
-
U("div",
|
|
1346
|
+
U("div", fo, [
|
|
1347
1347
|
R(i(Ke), {
|
|
1348
1348
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.SIZE"),
|
|
1349
1349
|
"model-value": i(qt)(r.value.size)
|
|
@@ -1362,25 +1362,25 @@ const go = /* @__PURE__ */ H({
|
|
|
1362
1362
|
}, null, 8, ["label", "model-value", "display-value"])
|
|
1363
1363
|
])
|
|
1364
1364
|
]),
|
|
1365
|
-
i(t)?.hiddenFields?.includes("name") ? q("", !0) : (
|
|
1365
|
+
i(t)?.hiddenFields?.includes("name") ? q("", !0) : (P(), D(i(X), {
|
|
1366
1366
|
key: 0,
|
|
1367
1367
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.NAME.TITLE"),
|
|
1368
1368
|
name: "asset_name",
|
|
1369
1369
|
rules: "required",
|
|
1370
1370
|
"model-value": r.value.name
|
|
1371
1371
|
}, {
|
|
1372
|
-
default: T(({ errorMessage: S, handleChange:
|
|
1373
|
-
R(i(
|
|
1374
|
-
modelValue:
|
|
1372
|
+
default: T(({ errorMessage: S, handleChange: h, errors: L }) => [
|
|
1373
|
+
R(i(K), {
|
|
1374
|
+
modelValue: c.value,
|
|
1375
1375
|
"onUpdate:modelValue": [
|
|
1376
|
-
|
|
1377
|
-
|
|
1376
|
+
d[0] || (d[0] = (v) => c.value = v),
|
|
1377
|
+
h
|
|
1378
1378
|
],
|
|
1379
1379
|
class: "tw-mb-4",
|
|
1380
1380
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.NAME.TITLE"),
|
|
1381
1381
|
clearable: "",
|
|
1382
1382
|
required: "",
|
|
1383
|
-
error: !!
|
|
1383
|
+
error: !!L.length,
|
|
1384
1384
|
"error-message": S,
|
|
1385
1385
|
placeholder: i(o)("ASSETS.PAGES.DETAILS.FIELDS.NAME.PLACEHOLDER"),
|
|
1386
1386
|
disabled: l.value
|
|
@@ -1388,10 +1388,10 @@ const go = /* @__PURE__ */ H({
|
|
|
1388
1388
|
]),
|
|
1389
1389
|
_: 1
|
|
1390
1390
|
}, 8, ["label", "model-value"])),
|
|
1391
|
-
m.value === "Image" && !i(t)?.hiddenFields?.includes("altText") ? (
|
|
1391
|
+
m.value === "Image" && !i(t)?.hiddenFields?.includes("altText") ? (P(), D(i(K), {
|
|
1392
1392
|
key: 1,
|
|
1393
1393
|
modelValue: r.value.altText,
|
|
1394
|
-
"onUpdate:modelValue":
|
|
1394
|
+
"onUpdate:modelValue": d[1] || (d[1] = (S) => r.value.altText = S),
|
|
1395
1395
|
class: "tw-mb-4",
|
|
1396
1396
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.ALT.TITLE"),
|
|
1397
1397
|
clearable: "",
|
|
@@ -1399,10 +1399,10 @@ const go = /* @__PURE__ */ H({
|
|
|
1399
1399
|
tooltip: i(o)("ASSETS.PAGES.DETAILS.FIELDS.ALT.TOOLTIP"),
|
|
1400
1400
|
disabled: l.value
|
|
1401
1401
|
}, null, 8, ["modelValue", "label", "placeholder", "tooltip", "disabled"])) : q("", !0),
|
|
1402
|
-
i(t)?.hiddenFields?.includes("description") ? q("", !0) : (
|
|
1402
|
+
i(t)?.hiddenFields?.includes("description") ? q("", !0) : (P(), D(i(On), {
|
|
1403
1403
|
key: 2,
|
|
1404
1404
|
modelValue: r.value.description,
|
|
1405
|
-
"onUpdate:modelValue":
|
|
1405
|
+
"onUpdate:modelValue": d[2] || (d[2] = (S) => r.value.description = S),
|
|
1406
1406
|
class: "tw-mb-4",
|
|
1407
1407
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.DESCRIPTION.TITLE"),
|
|
1408
1408
|
placeholder: i(o)("ASSETS.PAGES.DETAILS.FIELDS.DESCRIPTION.PLACEHOLDER"),
|
|
@@ -1421,55 +1421,55 @@ const go = /* @__PURE__ */ H({
|
|
|
1421
1421
|
_: 1
|
|
1422
1422
|
}, 8, ["title", "subtitle", "toolbar-items"]));
|
|
1423
1423
|
}
|
|
1424
|
-
}),
|
|
1424
|
+
}), go = mo, So = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1425
1425
|
__proto__: null,
|
|
1426
|
-
AssetsDetails:
|
|
1427
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1426
|
+
AssetsDetails: go
|
|
1427
|
+
}, Symbol.toStringTag, { value: "Module" })), Ao = Et({ blades: So }), po = { class: "tw-flex tw-items-center tw-justify-center" };
|
|
1428
1428
|
Ft("AssetsManager", {});
|
|
1429
|
-
const
|
|
1429
|
+
const To = /* @__PURE__ */ H({
|
|
1430
1430
|
name: "AssetsManager",
|
|
1431
1431
|
__name: "assets-manager",
|
|
1432
1432
|
setup(e) {
|
|
1433
|
-
const t = k("assets-manager"), { options: a, openBlade: n } = ut(), { t: s } = le({ useScope: "global" }), o =
|
|
1433
|
+
const t = k("assets-manager"), { options: a, openBlade: n } = ut(), { t: s } = le({ useScope: "global" }), o = I(() => a.value.manager), r = I(() => o.value.items.value ?? []), l = I(() => o.value.loading.value), c = I(() => a.value?.title || s("ASSETS_MANAGER.TITLE")), u = b(!1), f = b(), m = b([]), E = I(() => a.value?.disabled), d = b([
|
|
1434
1434
|
{
|
|
1435
1435
|
id: "add",
|
|
1436
|
-
title:
|
|
1436
|
+
title: I(() => s("ASSETS_MANAGER.TOOLBAR.ADD")),
|
|
1437
1437
|
icon: "lucide-plus",
|
|
1438
1438
|
clickHandler() {
|
|
1439
1439
|
w();
|
|
1440
1440
|
},
|
|
1441
|
-
disabled:
|
|
1442
|
-
isVisible:
|
|
1441
|
+
disabled: I(() => E.value),
|
|
1442
|
+
isVisible: I(() => !E.value)
|
|
1443
1443
|
},
|
|
1444
1444
|
{
|
|
1445
1445
|
id: "delete",
|
|
1446
|
-
title:
|
|
1446
|
+
title: I(() => s("ASSETS_MANAGER.TOOLBAR.DELETE")),
|
|
1447
1447
|
icon: "lucide-trash-2",
|
|
1448
1448
|
async clickHandler() {
|
|
1449
1449
|
await o.value.removeMany(m.value);
|
|
1450
1450
|
},
|
|
1451
|
-
disabled:
|
|
1452
|
-
isVisible:
|
|
1451
|
+
disabled: I(() => !m.value.length || E.value),
|
|
1452
|
+
isVisible: I(() => !E.value)
|
|
1453
1453
|
}
|
|
1454
1454
|
]);
|
|
1455
1455
|
async function S(p) {
|
|
1456
1456
|
if (p.dragIndex !== p.dropIndex) {
|
|
1457
|
-
const
|
|
1458
|
-
o.value.reorder(
|
|
1457
|
+
const _ = p.value.map((N, B) => (N.sortOrder = B, N));
|
|
1458
|
+
o.value.reorder(_);
|
|
1459
1459
|
}
|
|
1460
1460
|
}
|
|
1461
|
-
function
|
|
1461
|
+
function h() {
|
|
1462
1462
|
E.value || (u.value = !0);
|
|
1463
1463
|
}
|
|
1464
|
-
function
|
|
1464
|
+
function L() {
|
|
1465
1465
|
E.value || (u.value = !1);
|
|
1466
1466
|
}
|
|
1467
|
-
async function
|
|
1467
|
+
async function v(p) {
|
|
1468
1468
|
if (!E.value) {
|
|
1469
|
-
const
|
|
1470
|
-
if (
|
|
1469
|
+
const _ = p.dataTransfer?.files;
|
|
1470
|
+
if (_ && _.length)
|
|
1471
1471
|
try {
|
|
1472
|
-
await C(
|
|
1472
|
+
await C(_);
|
|
1473
1473
|
} catch (N) {
|
|
1474
1474
|
throw t.error("Failed to upload dropped files:", N), N;
|
|
1475
1475
|
}
|
|
@@ -1481,19 +1481,19 @@ const Lo = /* @__PURE__ */ H({
|
|
|
1481
1481
|
}
|
|
1482
1482
|
async function C(p) {
|
|
1483
1483
|
if (!p || p.length === 0) return;
|
|
1484
|
-
const
|
|
1484
|
+
const _ = new Set((r.value ?? []).map((B) => B.name).filter(Boolean)), N = new DataTransfer();
|
|
1485
1485
|
for (const B of Array.from(p)) {
|
|
1486
1486
|
let V = B.name;
|
|
1487
|
-
if (
|
|
1488
|
-
const
|
|
1487
|
+
if (_.has(V)) {
|
|
1488
|
+
const z = V.includes(".") ? `.${V.split(".").pop()}` : "", ce = V.slice(0, V.length - z.length);
|
|
1489
1489
|
let ge = 1;
|
|
1490
|
-
for (;
|
|
1491
|
-
V = `${
|
|
1490
|
+
for (; _.has(V); )
|
|
1491
|
+
V = `${ce}_${ge}${z}`, ge++;
|
|
1492
1492
|
}
|
|
1493
|
-
|
|
1493
|
+
_.add(V), N.items.add(new File([B], V, { type: B.type }));
|
|
1494
1494
|
}
|
|
1495
1495
|
try {
|
|
1496
|
-
const B = r.value.reduce((V,
|
|
1496
|
+
const B = r.value.reduce((V, z) => Math.max(V, z.sortOrder ?? 0), -1);
|
|
1497
1497
|
await o.value.upload(N.files, B);
|
|
1498
1498
|
} catch (B) {
|
|
1499
1499
|
throw t.error("Failed to upload assets:", B), B;
|
|
@@ -1515,42 +1515,42 @@ const Lo = /* @__PURE__ */ H({
|
|
|
1515
1515
|
asset: i(p),
|
|
1516
1516
|
disabled: E.value,
|
|
1517
1517
|
hiddenFields: a.value?.hiddenFields,
|
|
1518
|
-
assetEditHandler: (
|
|
1519
|
-
o.value.updateItem(
|
|
1518
|
+
assetEditHandler: (_) => {
|
|
1519
|
+
o.value.updateItem(_);
|
|
1520
1520
|
},
|
|
1521
|
-
assetRemoveHandler: async (
|
|
1522
|
-
await o.value.remove(
|
|
1521
|
+
assetRemoveHandler: async (_) => {
|
|
1522
|
+
await o.value.remove(_);
|
|
1523
1523
|
}
|
|
1524
1524
|
}
|
|
1525
|
-
}).catch((
|
|
1526
|
-
t.error("Failed to open AssetsDetails blade:",
|
|
1525
|
+
}).catch((_) => {
|
|
1526
|
+
t.error("Failed to open AssetsDetails blade:", _);
|
|
1527
1527
|
});
|
|
1528
1528
|
}
|
|
1529
1529
|
const O = () => [
|
|
1530
1530
|
{
|
|
1531
1531
|
icon: "lucide-trash-2",
|
|
1532
|
-
title:
|
|
1532
|
+
title: I(() => s("ASSETS_MANAGER.TABLE.ACTIONS.DELETE")),
|
|
1533
1533
|
type: "danger",
|
|
1534
1534
|
async clickHandler(p) {
|
|
1535
1535
|
await o.value.remove(p), m.value = [];
|
|
1536
1536
|
}
|
|
1537
1537
|
}
|
|
1538
1538
|
];
|
|
1539
|
-
return (p,
|
|
1540
|
-
title:
|
|
1541
|
-
"toolbar-items":
|
|
1539
|
+
return (p, _) => (P(), D(i(Wt), {
|
|
1540
|
+
title: c.value,
|
|
1541
|
+
"toolbar-items": d.value,
|
|
1542
1542
|
width: "70%"
|
|
1543
1543
|
}, {
|
|
1544
1544
|
default: T(() => [
|
|
1545
|
-
nn((
|
|
1545
|
+
nn((P(), W("div", {
|
|
1546
1546
|
class: "tw-relative tw-h-full tw-flex-1",
|
|
1547
|
-
onDragover: Ge(
|
|
1548
|
-
onDragleave: Ge(
|
|
1549
|
-
onDrop: Ge(
|
|
1547
|
+
onDragover: Ge(h, ["prevent", "stop"]),
|
|
1548
|
+
onDragleave: Ge(L, ["prevent"]),
|
|
1549
|
+
onDrop: Ge(v, ["prevent", "stop"])
|
|
1550
1550
|
}, [
|
|
1551
1551
|
R(i(Rn), {
|
|
1552
1552
|
selection: m.value,
|
|
1553
|
-
"onUpdate:selection":
|
|
1553
|
+
"onUpdate:selection": _[0] || (_[0] = (N) => m.value = N),
|
|
1554
1554
|
items: r.value,
|
|
1555
1555
|
"state-key": "assets_manager",
|
|
1556
1556
|
"reorderable-rows": !E.value,
|
|
@@ -1563,7 +1563,7 @@ const Lo = /* @__PURE__ */ H({
|
|
|
1563
1563
|
actionHandler: w
|
|
1564
1564
|
},
|
|
1565
1565
|
class: "tw-h-full tw-w-full",
|
|
1566
|
-
onRowClick:
|
|
1566
|
+
onRowClick: _[1] || (_[1] = ({ data: N }) => g(N)),
|
|
1567
1567
|
onRowReorder: S
|
|
1568
1568
|
}, {
|
|
1569
1569
|
default: T(() => [
|
|
@@ -1575,15 +1575,15 @@ const Lo = /* @__PURE__ */ H({
|
|
|
1575
1575
|
type: "image"
|
|
1576
1576
|
}, {
|
|
1577
1577
|
body: T(({ data: N }) => [
|
|
1578
|
-
U("div",
|
|
1579
|
-
i(zt)(N.name ?? "") ? (
|
|
1578
|
+
U("div", po, [
|
|
1579
|
+
i(zt)(N.name ?? "") ? (P(), D(i(ot), {
|
|
1580
1580
|
key: 0,
|
|
1581
1581
|
bordered: !0,
|
|
1582
1582
|
size: "s",
|
|
1583
1583
|
aspect: "1x1",
|
|
1584
1584
|
src: N.url,
|
|
1585
1585
|
background: "contain"
|
|
1586
|
-
}, null, 8, ["src"])) : (
|
|
1586
|
+
}, null, 8, ["src"])) : (P(), W("div", {
|
|
1587
1587
|
key: 1,
|
|
1588
1588
|
class: "assets-manager__file-badge",
|
|
1589
1589
|
style: Vt({ backgroundColor: i(Yt)(N.name ?? "") })
|
|
@@ -1646,10 +1646,10 @@ const Lo = /* @__PURE__ */ H({
|
|
|
1646
1646
|
_: 1
|
|
1647
1647
|
}, 8, ["title", "toolbar-items"]));
|
|
1648
1648
|
}
|
|
1649
|
-
}), ho =
|
|
1649
|
+
}), ho = To, Lo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1650
1650
|
__proto__: null,
|
|
1651
1651
|
AssetsManager: ho
|
|
1652
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1652
|
+
}, Symbol.toStringTag, { value: "Module" })), Oo = Et({ blades: Lo }), Ot = k("connection-status"), Rt = "vc-framework-offline-status", _t = b(!1), It = b(!0);
|
|
1653
1653
|
function aa() {
|
|
1654
1654
|
if (!_t.value && typeof window < "u") {
|
|
1655
1655
|
_t.value = !0;
|
|
@@ -1657,7 +1657,7 @@ function aa() {
|
|
|
1657
1657
|
ae(
|
|
1658
1658
|
e,
|
|
1659
1659
|
(t) => {
|
|
1660
|
-
It.value = t, t ? (Ot.info("Network connection restored"),
|
|
1660
|
+
It.value = t, t ? (Ot.info("Network connection restored"), j.remove(Rt), document.documentElement.classList.remove("vc-offline")) : (Ot.warn("Network connection lost"), j.warning("You are currently offline. Some features may be unavailable.", {
|
|
1661
1661
|
notificationId: Rt,
|
|
1662
1662
|
timeout: !1
|
|
1663
1663
|
}), document.documentElement.classList.add("vc-offline"));
|
|
@@ -1669,9 +1669,9 @@ function aa() {
|
|
|
1669
1669
|
isOnline: ke(It)
|
|
1670
1670
|
};
|
|
1671
1671
|
}
|
|
1672
|
-
const Ze = k("slow-network"),
|
|
1672
|
+
const Ze = k("slow-network"), Ro = 1e4, _o = ["slow-2g", "2g"];
|
|
1673
1673
|
let je = null;
|
|
1674
|
-
const na = "vc-slow-network",
|
|
1674
|
+
const na = "vc-slow-network", Io = 3e3;
|
|
1675
1675
|
let te = null;
|
|
1676
1676
|
function vt() {
|
|
1677
1677
|
document.documentElement.classList.add(na);
|
|
@@ -1679,14 +1679,14 @@ function vt() {
|
|
|
1679
1679
|
function wt() {
|
|
1680
1680
|
document.documentElement.classList.remove(na);
|
|
1681
1681
|
}
|
|
1682
|
-
const Ct =
|
|
1683
|
-
function
|
|
1682
|
+
const Ct = b(!1), Ve = b(0), tt = b(!1), Ue = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Set(), Xe = I(() => Ve.value > 0 || tt.value);
|
|
1683
|
+
function vo(e) {
|
|
1684
1684
|
const t = setTimeout(() => {
|
|
1685
1685
|
Ve.value++, Ue.delete(e), at.add(e);
|
|
1686
|
-
},
|
|
1686
|
+
}, Ro);
|
|
1687
1687
|
Ue.set(e, t);
|
|
1688
1688
|
}
|
|
1689
|
-
function
|
|
1689
|
+
function wo(e) {
|
|
1690
1690
|
const t = Ue.get(e);
|
|
1691
1691
|
t != null ? (clearTimeout(t), Ue.delete(e)) : at.has(e) && (Ve.value = Math.max(0, Ve.value - 1), at.delete(e));
|
|
1692
1692
|
}
|
|
@@ -1695,79 +1695,79 @@ function sa() {
|
|
|
1695
1695
|
Ct.value = !0;
|
|
1696
1696
|
const e = navigator.connection;
|
|
1697
1697
|
e && (je = () => {
|
|
1698
|
-
const a =
|
|
1698
|
+
const a = _o.includes(e.effectiveType);
|
|
1699
1699
|
a !== tt.value && Ze.info(`Connection type: ${e.effectiveType} → ${a ? "slow" : "normal"}`), tt.value = a;
|
|
1700
1700
|
}, e.addEventListener("change", je), je());
|
|
1701
1701
|
const { isOnline: t } = aa();
|
|
1702
1702
|
ae(Xe, (a) => {
|
|
1703
1703
|
a ? (te != null && (clearTimeout(te), te = null), t.value && (Ze.info("Slow network detected"), vt())) : te = setTimeout(() => {
|
|
1704
1704
|
Ze.info("Network recovered"), wt(), te = null;
|
|
1705
|
-
},
|
|
1705
|
+
}, Io);
|
|
1706
1706
|
}), ae(t, (a) => {
|
|
1707
1707
|
a ? Xe.value && vt() : (te != null && (clearTimeout(te), te = null), wt());
|
|
1708
1708
|
});
|
|
1709
1709
|
}
|
|
1710
1710
|
return {
|
|
1711
1711
|
isSlowNetwork: Xe,
|
|
1712
|
-
trackRequest:
|
|
1713
|
-
untrackRequest:
|
|
1712
|
+
trackRequest: vo,
|
|
1713
|
+
untrackRequest: wo
|
|
1714
1714
|
};
|
|
1715
1715
|
}
|
|
1716
|
-
const Ae = k("interceptors"),
|
|
1717
|
-
function
|
|
1716
|
+
const Ae = k("interceptors"), Co = /(^|\/)(login|signin|sign-in|account\/login|connect\/authorize)(\/|$)/i, Po = /* @__PURE__ */ new Set(["GET", "HEAD"]);
|
|
1717
|
+
function bo(e, t) {
|
|
1718
1718
|
return (t?.method ?? (e instanceof Request ? e.method : void 0) ?? "GET").toUpperCase();
|
|
1719
1719
|
}
|
|
1720
|
-
function
|
|
1720
|
+
function No(e) {
|
|
1721
1721
|
let t;
|
|
1722
1722
|
try {
|
|
1723
1723
|
t = new URL(e.url, window.location.origin).pathname;
|
|
1724
1724
|
} catch {
|
|
1725
1725
|
return !1;
|
|
1726
1726
|
}
|
|
1727
|
-
if (
|
|
1727
|
+
if (Co.test(t))
|
|
1728
1728
|
return !0;
|
|
1729
1729
|
const a = e.headers?.get?.("content-type") ?? "";
|
|
1730
1730
|
return e.redirected === !0 && a.includes("text/html");
|
|
1731
1731
|
}
|
|
1732
|
-
function
|
|
1732
|
+
function Do(e) {
|
|
1733
1733
|
if (window.fetch.__vcInterceptorsInstalled__)
|
|
1734
1734
|
return Ae.warn("registerInterceptors called twice — ignoring second install"), window.fetch;
|
|
1735
1735
|
const { fetch: a } = window, { signOut: n, isAuthenticated: s } = se(), { trackRequest: o, untrackRequest: r } = sa();
|
|
1736
1736
|
let l = 0;
|
|
1737
|
-
const
|
|
1737
|
+
const c = new kn(void 0, { fetch: (E, d) => a(E, d) });
|
|
1738
1738
|
let u = null;
|
|
1739
1739
|
function f() {
|
|
1740
|
-
return u ??=
|
|
1740
|
+
return u ??= c.getCurrentUser().then(
|
|
1741
1741
|
() => !0,
|
|
1742
1742
|
// Only a 401 answers the question. Anything else — an unreachable platform, a 5xx — says
|
|
1743
1743
|
// nothing about the session, and signing out on it would be a guess.
|
|
1744
|
-
(E) => !(
|
|
1744
|
+
(E) => !(Un.isApiException(E) && E.status === 401)
|
|
1745
1745
|
).finally(() => {
|
|
1746
1746
|
u = null;
|
|
1747
1747
|
}), u;
|
|
1748
1748
|
}
|
|
1749
1749
|
const m = (async (...E) => {
|
|
1750
1750
|
if (window.__DEMO_MODE__)
|
|
1751
|
-
return Ae.warn("CANCELLED FETCH WHILE IN __DEMO_MODE__: ", ...E), Ae.warn("Please logout and add APP_PLATFORM_URL into .env file of your application to enable API calls"), new Promise((
|
|
1752
|
-
E[0] === "/api/platform/security/login" ?
|
|
1751
|
+
return Ae.warn("CANCELLED FETCH WHILE IN __DEMO_MODE__: ", ...E), Ae.warn("Please logout and add APP_PLATFORM_URL into .env file of your application to enable API calls"), new Promise((d) => {
|
|
1752
|
+
E[0] === "/api/platform/security/login" ? d({
|
|
1753
1753
|
status: 200,
|
|
1754
1754
|
text: async () => JSON.stringify({ succeeded: !0 })
|
|
1755
|
-
}) : E[0] === "/api/platform/security/currentuser" ? (
|
|
1755
|
+
}) : E[0] === "/api/platform/security/currentuser" ? (j.warning(
|
|
1756
1756
|
`You are currently in DEMO mode until the first page refresh.
|
|
1757
1757
|
All API calls are disabled. Please add APP_PLATFORM_URL to your application's .env file to enable API calls.`,
|
|
1758
1758
|
{
|
|
1759
1759
|
timeout: 1e4
|
|
1760
1760
|
}
|
|
1761
|
-
),
|
|
1761
|
+
), d({
|
|
1762
1762
|
status: 200,
|
|
1763
1763
|
text: async () => JSON.stringify({ id: "demo_user_id", userName: "DEMO_USER" })
|
|
1764
|
-
})) :
|
|
1764
|
+
})) : d({
|
|
1765
1765
|
status: 200,
|
|
1766
1766
|
text: async () => JSON.stringify({})
|
|
1767
1767
|
});
|
|
1768
1768
|
});
|
|
1769
1769
|
{
|
|
1770
|
-
let
|
|
1770
|
+
let d = function(A) {
|
|
1771
1771
|
const g = typeof A == "string" ? A : A instanceof Request ? A.url : A.toString();
|
|
1772
1772
|
try {
|
|
1773
1773
|
const O = new URL(g, window.location.origin);
|
|
@@ -1783,28 +1783,28 @@ function yo(e) {
|
|
|
1783
1783
|
return !1;
|
|
1784
1784
|
}
|
|
1785
1785
|
};
|
|
1786
|
-
const [
|
|
1787
|
-
async function
|
|
1788
|
-
!A && !g || Ne() || !s.value || !g && await f() || Ne() || (
|
|
1786
|
+
const [h, L] = E;
|
|
1787
|
+
async function v(A, g = !1) {
|
|
1788
|
+
!A && !g || Ne() || !s.value || !g && await f() || Ne() || (Fn(), n().catch((O) => {
|
|
1789
1789
|
Ae.error("signOut failed after session expiry:", O);
|
|
1790
1790
|
}).finally(() => {
|
|
1791
|
-
|
|
1791
|
+
yo(e), j.error(x.global.t("CORE.ERRORS.SESSION_EXPIRED"));
|
|
1792
1792
|
}));
|
|
1793
1793
|
}
|
|
1794
|
-
if (!
|
|
1795
|
-
if (!S(
|
|
1794
|
+
if (!d(h)) {
|
|
1795
|
+
if (!S(h))
|
|
1796
1796
|
return a(...E);
|
|
1797
1797
|
const A = await a(...E);
|
|
1798
|
-
return await
|
|
1798
|
+
return await v(A.status === 401), A;
|
|
1799
1799
|
}
|
|
1800
1800
|
if (!navigator.onLine)
|
|
1801
|
-
return Ae.warn("Request blocked: browser is offline",
|
|
1802
|
-
const w = String(++l), C = Po.has(
|
|
1801
|
+
return Ae.warn("Request blocked: browser is offline", h), Promise.reject(new Error(x.global.t("CORE.ERRORS.NETWORK_UNAVAILABLE")));
|
|
1802
|
+
const w = String(++l), C = Po.has(bo(h, L));
|
|
1803
1803
|
C && o(w);
|
|
1804
1804
|
try {
|
|
1805
|
-
const A = await a(...E), g = A.ok &&
|
|
1806
|
-
if (await
|
|
1807
|
-
throw new
|
|
1805
|
+
const A = await a(...E), g = A.ok && No(A);
|
|
1806
|
+
if (await v(A.status === 401, g), g && Ne())
|
|
1807
|
+
throw new Vn();
|
|
1808
1808
|
return A;
|
|
1809
1809
|
} finally {
|
|
1810
1810
|
C && r(w);
|
|
@@ -1813,18 +1813,28 @@ function yo(e) {
|
|
|
1813
1813
|
});
|
|
1814
1814
|
return m.__vcInterceptorsInstalled__ = !0, window.fetch = m, m;
|
|
1815
1815
|
}
|
|
1816
|
-
function
|
|
1816
|
+
function yo(e) {
|
|
1817
1817
|
e && e.getRoutes().some((t) => t.path === "/login" || t.name === "Login") ? e.currentRoute.value.path !== "/login" && e.push("/login") : window.location.href = window.location.origin + "/";
|
|
1818
1818
|
}
|
|
1819
|
+
async function Bo(e, t) {
|
|
1820
|
+
if (e.meta.root === !0) {
|
|
1821
|
+
if (t.authState.value === "unknown" && await t.loadUser(), t.authState.value === "unknown") {
|
|
1822
|
+
t.onSessionCheckFailed();
|
|
1823
|
+
return;
|
|
1824
|
+
}
|
|
1825
|
+
if (t.authState.value === "anonymous")
|
|
1826
|
+
return localStorage.setItem("redirectAfterLogin", e.fullPath), { name: "Login" };
|
|
1827
|
+
}
|
|
1828
|
+
}
|
|
1819
1829
|
const oa = { ERRORS: { SESSION_EXPIRED: `Access Denied: Your session has expired or you do not have the necessary permissions.
|
|
1820
|
-
Please log in again or contact the administrator for assistance.`, NETWORK_UNAVAILABLE: "Network unavailable. Please check your connection." }, THEMES: { LIGHT: "Light", DARK: "Dark" }, NOTIFICATIONS: { CLEAR_ALL: "Clear all" } }, ra = { NAVIGATION_ARIA_LABEL: "Primary navigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Search keyword" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Settings", CHANGE_PASSWORD: "Change password", PROFILE: "Profile", LOGOUT: "Log Out" } }, ia = { CONTROLS: { CLEAR: "Clear", CLEAR_ALL: "Clear all", CLOSE: "Close", TOGGLE_DROPDOWN: "Toggle dropdown", SEARCH_OPTIONS: "Search options", SELECT_OPTION: "Select option", CLEAR_SELECTION: "Clear selection", COPY_TO_CLIPBOARD: "Copy to clipboard", DELETE_ITEM: "Delete item", SHOW_PASSWORD: "Show password", HIDE_PASSWORD: "Hide password" }, ATOMS: { VC_IMAGE: { LABEL: "Image" }, VC_BANNER: { SHOW_MORE: "Show more", SHOW_LESS: "Show less" }, VC_SCROLLABLE_CONTAINER: { LABEL: "Scrollable content" }, VC_VIDEO: { NO_SOURCE: "No video source" } }, MOLECULES: { VC_SELECT: { CLICK_TO_SELECT: "Click to select...", LOADING: "Loading...", LOADING_MORE: "Loading more...", NO_OPTIONS: "No options" }, VC_FILE_UPLOAD: { DRAG_HERE: "Drag and drop file here or", BROWSE: "browse your files", TAP_TO_UPLOAD: "Tap to select files", UPLOADING: "Uploading..." }, VC_INPUT: { DATE_PLACEHOLDER: "Select date", DATE_TIME_PLACEHOLDER: "Select date and time" }, VC_PAGINATION: { JUMP: "Jump to page:", LABEL: "Pagination", FIRST: "First page", PREVIOUS: "Previous page", NEXT: "Next page", LAST: "Last page", PAGE: "Page {page}" }, VC_MULTIVALUE: { ADD: "Add" }, VC_BREADCRUMBS: { BACK: "Back", LABEL: "Breadcrumb", SHOW_MORE: "Show more breadcrumbs" }, VC_COLOR_INPUT: { CLEAR: "Clear color" }, VC_DATE_PICKER: { CLEAR: "Clear date" }, VC_SLIDER: { PREVIOUS: "Previous slide", NEXT: "Next slide" }, VC_TOAST: { DISMISS: "Dismiss notification" }, VC_EDITOR: { TOOLBAR: { LABEL: "Text formatting", BOLD: "Bold", ITALIC: "Italic", UNDERLINE: "Underline", STRIKETHROUGH: "Strikethrough", HEADING_1: "Heading 1", HEADING_2: "Heading 2", HEADING_3: "Heading 3", BULLET_LIST: "Bullet list", NUMBERED_LIST: "Numbered list", BLOCKQUOTE: "Blockquote", INSERT_LINK: "Insert link", INSERT_IMAGE: "Insert image", INSERT_TABLE: "Insert table", DELETE_TABLE: "Delete table", ADD_COLUMN_BEFORE: "Add column before", ADD_COLUMN_AFTER: "Add column after", ADD_ROW_BEFORE: "Add row before", ADD_ROW_AFTER: "Add row after", DELETE_COLUMN: "Delete column", DELETE_ROW: "Delete row" }, FONT_SIZE: "Font size", VIEW: { PREVIEW: "Preview", SPLIT: "Side-by-side view", SOURCE: "Source code" } } }, ORGANISMS: { VC_DYNAMIC_PROPERTY: { ADD: "Add value", VALUE_TYPE: { COLOR: { PLACEHOLDER: "Color code", NAME: "Color name" } } }, VC_GALLERY: { INTERNAL: { VC_GALLERY_ITEM: { FULLSCREEN: "Fullscreen", EDIT: "Edit", DELETE: "Delete" }, VC_GALLERY_PREVIEW: { COPY_IMAGE_LINK: "copy image link" }, VC_GALLERY_FILMSTRIP: { PREVIOUS: "Previous images", NEXT: "Next images" } }, GALLERY_IS_EMPTY: "Gallery is empty", DROP_TO_UPLOAD: "Drop to upload", DRAG_IMAGES_HERE: "Drag images here or", BROWSE_IMAGES: "browse your files", UPLOAD: "Upload", OR_DROP_HERE: "or drop here", SHOW_ALL: "Expand ({count})", COLLAPSE: "Collapse" }, VC_APP: { NOTIFICATIONS: "Notifications", OPEN_MENU: "Open menu", CLOSE_MENU: "Close menu", INTERNAL: { VC_APP_BAR: { BACK: "Back" }, MOBILE_LAYOUT: { TAB_MENU: "Menu", TAB_HUB: "Hub" }, APP_HUB: { SEARCH_PLACEHOLDER: "Search applications and widgets", APPLICATIONS: "Applications", WIDGETS: "Widgets", NO_APPLICATIONS: "No applications found", NO_WIDGETS: "No widgets found", LIST_VIEW: "List view", TILE_VIEW: "Tile view" } } }, BLADE_NAVIGATION: { ARIA_LABEL: "Blade navigation" }, VC_BLADE: { SEE_DETAILS: "See details", UNSAVED_CHANGES: "Has unsaved changes", ERROR_POPUP: { TITLE: "Error details", COPY_ERROR: "copy content", CLOSE: "dismiss" }, MORE: "More", TOOLBAR: "Toolbar actions", CLOSE_MENU: "Close menu", PANEL: "Panel" }, VC_BLADE_HEADER: { UNSAVED_CHANGES: "Has unsaved changes", NO_CHANGES: "No unsaved changes", CLOSE: "Close", MAXIMIZE: "Maximize", RESTORE: "Restore" }, VC_TABLE: { SELECT_ROW: "Select row", SELECT_ALL_ROWS: "Select all rows", EXPAND_ROW: "Toggle row details", CURRENT_PAGE_SELECTED: "All items in this page are selected.", SELECT_ALL: "Select all items", ALL_SELECTED: "All items are selected.", ALL_SELECTED_COUNT: "All {count} items selected", SELECT_ALL_COUNT: "Select all {count} items", CANCEL: "Clear selection", ALL_ACTIONS: "All actions", MORE: "More", ALL_FILTERS: "Filters", SEARCH: "Search...", EMPTY: "List is empty.", EMPTY_TITLE: "No data", EMPTY_DESCRIPTION: "No items to display", NOT_FOUND: "Nothing found.", NOT_FOUND_TITLE: "No results found", NOT_FOUND_DESCRIPTION: "Try adjusting your search or filters", TOTALS: "Totals:", ACTIONS: "Actions", NOT_SET: "Not set", SELECTED: "Selected", SELECT_ALL_TRUNCATED: "Select all", PULL_TO_REFRESH: "Pull to refresh", RELEASE_TO_REFRESH: "Release to refresh", REFRESHING: "Refreshing...", ADD_ROW: "Add row", LOADING: "Loading...", PAGE_INFO: "Page {current} of {total}", COLUMN_FILTER: { APPLY: "Apply", CLEAR: "Clear", FROM: "From", TO: "To", TITLE: "Filter column" }, GLOBAL_FILTERS: { BUTTON: "Filters", TITLE: "Filters" }, COLUMN_SWITCHER: { BUTTON: "Columns", TITLE: "Show/Hide Columns", SHOW_ALL: "Show All", RESET: "Reset" }, OF: "of", PAGE: "Page" }, VC_POPUP: { OK: "OK", CONFIRM: "Confirm", CANCEL: "Cancel", CLOSE: "Close", TITLE: { CONFIRMATION: "Confirmation", ERROR: "Error", INFO: "Info" } } }, THEME_SELECTOR: { THEME_CHANGED: " theme", THEME_SELECTOR: "Theme" }, CHANGE_PASSWORD: { TITLE: "Change password", TITLE_FORCED: "Password expired", SUBTITLE_FORCED: "Please set a new password", FORCED: { LABEL: "Your password has expired. You must change the password to continue using the manager." }, CURRENT_PASSWORD: { LABEL: "Current password", PLACEHOLDER: "Enter password" }, NEW_PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" }, CANCEL: "Cancel", SAVE: "Update", ERRORS: { "Repeat-password": "Passwords are not same", "Equal-passwords": "The new password must not match the old one", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", "Incorrect password.": "You entered an incorrect password", "You have used this password in the past. Choose another one.": "You have used this password in the past. Choose another one." } }, APP_HUB: { TITLE: "Applications" }, NOTIFICATION_DROPDOWN: { TITLE: "Notifications", EMPTY: "No notifications yet" }, LANGUAGE_SELECTOR: { TITLE: "Language" }, FILTERS: { APPLY: "Apply filters", RESET: "Reset" } }, la = { TITLE: "You're invited!", SUBTITLE: "Set a password for your account", FIELDS: { EMAIL: { LABEL: "Email" }, PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" } }, ACCEPT_INVITATION: "Activate", ERRORS: { "Repeat-password": "Passwords are not same", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", recentPasswordUsed: "You have used this password in the past. Choose another one." } }, ua = { TITLE: "Welcome back", SUBTITLE: "Sign in to your account to continue", FIELDS: { LOGIN: { LABEL: "Email", PLACEHOLDER: "Enter your email" }, PASSWORD: { LABEL: "Password", PLACEHOLDER: "Enter your password" }, REMEMBER_ME: { LABEL: "Remember me" }, FORGOT_PASSWORD: { TITLE: "Forgot password", LABEL: "Email", PLACEHOLDER: "Please enter your email" } }, FORGOT_PASSWORD_BUTTON: "Forgot password?", BUTTON: "Sign in", OR: "or", FORGOT_BUTTON: "Submit", BACK_BUTTON: "Back", BUTTON_OK: "Ok", RESET_EMAIL_TEXT: "We will send you an email with instructions on how to reset your password.", RESET_EMAIL_SENT: "Email with instructions has been sent to you.", SSO_NO_PROVIDERS_ERROR: "SSO authentication is not configured. Please contact your administrator.", ERRORS: { INVALID_CREDENTIALS: "The login or password is incorrect.", AUTH_WITH_CODE: "Authentication error (code: {code}).", AUTH_GENERIC: "Authentication error: {detail}" } }, da = { TITLE: "Reset your password", SUBTITLE: "Enter your email and we'll send you a reset link", FIELDS: { EMAIL: { LABEL: "Email", PLACEHOLDER: "Enter your email address" } }, SEND_BUTTON: "Send reset link", BACK_TO_LOGIN: "Back to sign in", SUCCESS_TITLE: "Check your email", SUCCESS_TEXT: "We sent a reset link to {email}" }, ca = { TITLE: "Set new password", SUBTITLE: "Enter your new password below", FIELDS: { PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" } }, SAVE_PASSWORD: "Save", ERRORS: { "Repeat-password": "Passwords are not same", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", recentPasswordUsed: "You have used this password in the past. Choose another one." } }, Ea = { TITLE: "Assets", TOOLBAR: { SAVE: "Save", REFRESH: "Refresh", ADD: "Add", DELETE: "Delete selected" }, EMPTY: { NO_ASSETS: "No assets", UPLOAD_ASSETS: "Drag & drop assets here or click 'Upload' button", UPLOAD: "Upload" }, TABLE: { HEADER: { IMAGE: "Img", NAME: "Name", SIZE: "Size", SORT_ORDER: "Sort order", CREATED_DATE: "Created date" }, ACTIONS: { DELETE: "Delete", EDIT: "Edit" } } }, fa = { PAGES: { DETAILS: { SUBTITLE: "Asset edit", TOOLBAR: { SAVE: "Save", DELETE: "Delete" }, FIELDS: { SIZE: "Size", CREATED_DATE: "Created date", URL: "Url", COPY: "Copy link", NAME: { TITLE: "Asset name", PLACEHOLDER: "Enter asset name" }, ALT: { TITLE: "Image alternative text", PLACEHOLDER: "Enter image alt text", TOOLTIP: "This text will be displayed in case of disabled/unloaded image on the page" }, DESCRIPTION: { TITLE: "Meta description", PLACEHOLDER: "Enter meta description" } } } } }, ma = { _default: "The {field} is not valid", alpha: "The {field} field may only contain alphabetic characters", alpha_num: "The {field} field may only contain alpha-numeric characters", alpha_dash: "The {field} field may contain alpha-numeric characters as well as dashes and underscores", alpha_spaces: "The {field} field may only contain alphabetic characters as well as spaces", between: "The {field} field must be between 0:{min} and 1:{max}", confirmed: "The {field} field confirmation does not match", digits: "The {field} field must be numeric and exactly contain 0:{length} digits", dimensions: "The {field} field must be 0:{width} pixels by 1:{height} pixels", email: "The {field} field must be a valid email", not_one_of: "The {field} field is not a valid value", ext: "The {field} field is not a valid file", image: "The {field} field must be an image", integer: "The {field} field must be an integer", length: "The {field} field must be 0:{length} long", max_value: "The {field} field must be 0:{max} or less", max: "The {field} field may not be greater than 0:{length} characters", mimes: "The {field} field must have a valid file type", min_value: "The {field} field must be 0:{min} or more", min: "The {field} field must be at least 0:{length} characters", numeric: "The {field} field may only contain numeric characters", one_of: "The {field} field is not a valid value", regex: "The {field} field format is invalid", required_if: "The {field} field is required", required: "The {field} field is required", size: "The {field} field size must be less than 0:{size}KB", url: "The {field} field is not a valid URL", min_dimensions: { error: "Image dimensions must be greater than {height}*{width}", not_image_error: "Not image file" }, file_weight: "File size must be maximum {size} kb", before: "End date must be earlier than start date", after: "End date must be later than start date", bigint: "Unsupported number" }, ga = { ACCESS_RESTRICTED: "Access restricted" }, Sa = { LOADING: "Loading Virto OZ..." }, Aa = { AGENDA: "Agenda", ALL_DAY: "All day", CANCEL: "Cancel", CLOSE: "Close", COLOR: "Color", COLOR_DEFAULT: "Default color", COLOR_CUSTOM: "Custom color", COLOR_BLUE: "Blue", COLOR_GREEN: "Green", COLOR_AMBER: "Amber", COLOR_RED: "Red", COLOR_PURPLE: "Purple", COLOR_PINK: "Pink", COLOR_TEAL: "Teal", COLOR_SLATE: "Slate", DAY: "Day", DAY_N_OF_M: "Day {n} of {total}", DELETE: "Delete", DELETE_CONFIRM_BODY: `Delete "{title}"? This can't be undone.`, DELETE_CONFIRM_TITLE: "Delete event", EDIT: "Edit", EDIT_EVENT: "Edit event", EMPTY: "No events in this range", EMPTY_HINT: "No events yet. Click a day to add one.", END: "End", LOADING: "Loading events…", MORE: "+{count} more", MORE_EVENTS: "More events", MONTH: "Month", MORE_OPTIONS: "More options", NEW_EVENT: "New event", NEXT: "Next", PREVIOUS: "Previous", RECUR_SCOPE_ALL: "All events", RECUR_SCOPE_BODY_DELETE: "This event is part of a recurring series. Do you want to delete only this event or all events in the series?", RECUR_SCOPE_BODY_EDIT: "This event is part of a recurring series. Do you want to edit only this event or all events in the series?", RECUR_SCOPE_THIS: "This event", RECUR_SCOPE_TITLE: "Recurring event", REPEAT: "Repeat", REPEAT_DAILY: "Daily", REPEAT_END: "Ends", REPEAT_END_COUNT: "After", REPEAT_END_NEVER: "Never", REPEAT_END_UNTIL: "On date", REPEAT_EVERY: "Repeat every", REPEAT_UNIT_DAYS: "day(s)", REPEAT_UNIT_WEEKS: "week(s)", REPEAT_UNIT_MONTHS: "month(s)", REPEAT_UNIT_YEARS: "year(s)", REPEAT_MONTHLY: "Monthly", REPEAT_NONE: "Does not repeat", REPEAT_OCCURRENCES: "occurrence(s)", REPEAT_ON: "Repeat on", REPEAT_WEEKLY: "Weekly", REPEAT_YEARLY: "Yearly", SAVE: "Save", START: "Start", TIMELINE: "Timeline", TIMELINE_DAY: "Timeline Day", TIMELINE_WEEK: "Timeline Week", TITLE: "Title", TODAY: "Today", WEEK: "Week", WORK_WEEK: "Work week", ZOOM_IN: "Zoom in", ZOOM_OUT: "Zoom out", EVENT_DETAILS: "Event details" }, pa = { no_options: "No options" }, Mo = {
|
|
1830
|
+
Please log in again or contact the administrator for assistance.`, NETWORK_UNAVAILABLE: "Network unavailable. Please check your connection.", SESSION_CHECK_FAILED: "Could not verify your session. Please try again." }, THEMES: { LIGHT: "Light", DARK: "Dark" }, NOTIFICATIONS: { CLEAR_ALL: "Clear all" } }, ra = { NAVIGATION_ARIA_LABEL: "Primary navigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Search keyword" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Settings", CHANGE_PASSWORD: "Change password", PROFILE: "Profile", LOGOUT: "Log Out" } }, ia = { CONTROLS: { CLEAR: "Clear", CLEAR_ALL: "Clear all", CLOSE: "Close", TOGGLE_DROPDOWN: "Toggle dropdown", SEARCH_OPTIONS: "Search options", SELECT_OPTION: "Select option", CLEAR_SELECTION: "Clear selection", COPY_TO_CLIPBOARD: "Copy to clipboard", DELETE_ITEM: "Delete item", SHOW_PASSWORD: "Show password", HIDE_PASSWORD: "Hide password" }, ATOMS: { VC_IMAGE: { LABEL: "Image" }, VC_BANNER: { SHOW_MORE: "Show more", SHOW_LESS: "Show less" }, VC_SCROLLABLE_CONTAINER: { LABEL: "Scrollable content" }, VC_VIDEO: { NO_SOURCE: "No video source" } }, MOLECULES: { VC_SELECT: { CLICK_TO_SELECT: "Click to select...", LOADING: "Loading...", LOADING_MORE: "Loading more...", NO_OPTIONS: "No options" }, VC_FILE_UPLOAD: { DRAG_HERE: "Drag and drop file here or", BROWSE: "browse your files", TAP_TO_UPLOAD: "Tap to select files", UPLOADING: "Uploading..." }, VC_INPUT: { DATE_PLACEHOLDER: "Select date", DATE_TIME_PLACEHOLDER: "Select date and time" }, VC_PAGINATION: { JUMP: "Jump to page:", LABEL: "Pagination", FIRST: "First page", PREVIOUS: "Previous page", NEXT: "Next page", LAST: "Last page", PAGE: "Page {page}" }, VC_MULTIVALUE: { ADD: "Add" }, VC_BREADCRUMBS: { BACK: "Back", LABEL: "Breadcrumb", SHOW_MORE: "Show more breadcrumbs" }, VC_COLOR_INPUT: { CLEAR: "Clear color" }, VC_DATE_PICKER: { CLEAR: "Clear date" }, VC_SLIDER: { PREVIOUS: "Previous slide", NEXT: "Next slide" }, VC_TOAST: { DISMISS: "Dismiss notification" }, VC_EDITOR: { TOOLBAR: { LABEL: "Text formatting", BOLD: "Bold", ITALIC: "Italic", UNDERLINE: "Underline", STRIKETHROUGH: "Strikethrough", HEADING_1: "Heading 1", HEADING_2: "Heading 2", HEADING_3: "Heading 3", BULLET_LIST: "Bullet list", NUMBERED_LIST: "Numbered list", BLOCKQUOTE: "Blockquote", INSERT_LINK: "Insert link", INSERT_IMAGE: "Insert image", INSERT_TABLE: "Insert table", DELETE_TABLE: "Delete table", ADD_COLUMN_BEFORE: "Add column before", ADD_COLUMN_AFTER: "Add column after", ADD_ROW_BEFORE: "Add row before", ADD_ROW_AFTER: "Add row after", DELETE_COLUMN: "Delete column", DELETE_ROW: "Delete row" }, FONT_SIZE: "Font size", VIEW: { PREVIEW: "Preview", SPLIT: "Side-by-side view", SOURCE: "Source code" } } }, ORGANISMS: { VC_DYNAMIC_PROPERTY: { ADD: "Add value", VALUE_TYPE: { COLOR: { PLACEHOLDER: "Color code", NAME: "Color name" } } }, VC_GALLERY: { INTERNAL: { VC_GALLERY_ITEM: { FULLSCREEN: "Fullscreen", EDIT: "Edit", DELETE: "Delete" }, VC_GALLERY_PREVIEW: { COPY_IMAGE_LINK: "copy image link" }, VC_GALLERY_FILMSTRIP: { PREVIOUS: "Previous images", NEXT: "Next images" } }, GALLERY_IS_EMPTY: "Gallery is empty", DROP_TO_UPLOAD: "Drop to upload", DRAG_IMAGES_HERE: "Drag images here or", BROWSE_IMAGES: "browse your files", UPLOAD: "Upload", OR_DROP_HERE: "or drop here", SHOW_ALL: "Expand ({count})", COLLAPSE: "Collapse" }, VC_APP: { NOTIFICATIONS: "Notifications", OPEN_MENU: "Open menu", CLOSE_MENU: "Close menu", INTERNAL: { VC_APP_BAR: { BACK: "Back" }, MOBILE_LAYOUT: { TAB_MENU: "Menu", TAB_HUB: "Hub" }, APP_HUB: { SEARCH_PLACEHOLDER: "Search applications and widgets", APPLICATIONS: "Applications", WIDGETS: "Widgets", NO_APPLICATIONS: "No applications found", NO_WIDGETS: "No widgets found", LIST_VIEW: "List view", TILE_VIEW: "Tile view" } } }, BLADE_NAVIGATION: { ARIA_LABEL: "Blade navigation" }, VC_BLADE: { SEE_DETAILS: "See details", UNSAVED_CHANGES: "Has unsaved changes", ERROR_POPUP: { TITLE: "Error details", COPY_ERROR: "copy content", CLOSE: "dismiss" }, MORE: "More", TOOLBAR: "Toolbar actions", CLOSE_MENU: "Close menu", PANEL: "Panel" }, VC_BLADE_HEADER: { UNSAVED_CHANGES: "Has unsaved changes", NO_CHANGES: "No unsaved changes", CLOSE: "Close", MAXIMIZE: "Maximize", RESTORE: "Restore" }, VC_TABLE: { SELECT_ROW: "Select row", SELECT_ALL_ROWS: "Select all rows", EXPAND_ROW: "Toggle row details", CURRENT_PAGE_SELECTED: "All items in this page are selected.", SELECT_ALL: "Select all items", ALL_SELECTED: "All items are selected.", ALL_SELECTED_COUNT: "All {count} items selected", SELECT_ALL_COUNT: "Select all {count} items", CANCEL: "Clear selection", ALL_ACTIONS: "All actions", MORE: "More", ALL_FILTERS: "Filters", SEARCH: "Search...", EMPTY: "List is empty.", EMPTY_TITLE: "No data", EMPTY_DESCRIPTION: "No items to display", NOT_FOUND: "Nothing found.", NOT_FOUND_TITLE: "No results found", NOT_FOUND_DESCRIPTION: "Try adjusting your search or filters", TOTALS: "Totals:", ACTIONS: "Actions", NOT_SET: "Not set", SELECTED: "Selected", SELECT_ALL_TRUNCATED: "Select all", PULL_TO_REFRESH: "Pull to refresh", RELEASE_TO_REFRESH: "Release to refresh", REFRESHING: "Refreshing...", ADD_ROW: "Add row", LOADING: "Loading...", PAGE_INFO: "Page {current} of {total}", COLUMN_FILTER: { APPLY: "Apply", CLEAR: "Clear", FROM: "From", TO: "To", TITLE: "Filter column" }, GLOBAL_FILTERS: { BUTTON: "Filters", TITLE: "Filters" }, COLUMN_SWITCHER: { BUTTON: "Columns", TITLE: "Show/Hide Columns", SHOW_ALL: "Show All", RESET: "Reset" }, OF: "of", PAGE: "Page" }, VC_POPUP: { OK: "OK", CONFIRM: "Confirm", CANCEL: "Cancel", CLOSE: "Close", TITLE: { CONFIRMATION: "Confirmation", ERROR: "Error", INFO: "Info" } } }, THEME_SELECTOR: { THEME_CHANGED: " theme", THEME_SELECTOR: "Theme" }, CHANGE_PASSWORD: { TITLE: "Change password", TITLE_FORCED: "Password expired", SUBTITLE_FORCED: "Please set a new password", FORCED: { LABEL: "Your password has expired. You must change the password to continue using the manager." }, CURRENT_PASSWORD: { LABEL: "Current password", PLACEHOLDER: "Enter password" }, NEW_PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" }, CANCEL: "Cancel", SAVE: "Update", ERRORS: { "Repeat-password": "Passwords are not same", "Equal-passwords": "The new password must not match the old one", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", "Incorrect password.": "You entered an incorrect password", "You have used this password in the past. Choose another one.": "You have used this password in the past. Choose another one." } }, APP_HUB: { TITLE: "Applications" }, NOTIFICATION_DROPDOWN: { TITLE: "Notifications", EMPTY: "No notifications yet" }, LANGUAGE_SELECTOR: { TITLE: "Language" }, FILTERS: { APPLY: "Apply filters", RESET: "Reset" } }, la = { TITLE: "You're invited!", SUBTITLE: "Set a password for your account", FIELDS: { EMAIL: { LABEL: "Email" }, PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" } }, ACCEPT_INVITATION: "Activate", ERRORS: { "Repeat-password": "Passwords are not same", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", recentPasswordUsed: "You have used this password in the past. Choose another one." } }, ua = { TITLE: "Welcome back", SUBTITLE: "Sign in to your account to continue", FIELDS: { LOGIN: { LABEL: "Email", PLACEHOLDER: "Enter your email" }, PASSWORD: { LABEL: "Password", PLACEHOLDER: "Enter your password" }, FORGOT_PASSWORD: { TITLE: "Forgot password", LABEL: "Email", PLACEHOLDER: "Please enter your email" } }, FORGOT_PASSWORD_BUTTON: "Forgot password?", BUTTON: "Sign in", OR: "or", FORGOT_BUTTON: "Submit", BACK_BUTTON: "Back", BUTTON_OK: "Ok", RESET_EMAIL_TEXT: "We will send you an email with instructions on how to reset your password.", RESET_EMAIL_SENT: "Email with instructions has been sent to you.", SSO_NO_PROVIDERS_ERROR: "SSO authentication is not configured. Please contact your administrator.", ERRORS: { INVALID_CREDENTIALS: "The login or password is incorrect.", AUTH_WITH_CODE: "Authentication error (code: {code}).", AUTH_GENERIC: "Authentication error: {detail}" } }, ca = { TITLE: "Reset your password", SUBTITLE: "Enter your email and we'll send you a reset link", FIELDS: { EMAIL: { LABEL: "Email", PLACEHOLDER: "Enter your email address" } }, SEND_BUTTON: "Send reset link", BACK_TO_LOGIN: "Back to sign in", SUCCESS_TITLE: "Check your email", SUCCESS_TEXT: "We sent a reset link to {email}" }, da = { TITLE: "Set new password", SUBTITLE: "Enter your new password below", FIELDS: { PASSWORD: { LABEL: "New password", PLACEHOLDER: "Enter password" }, CONFIRM_PASSWORD: { LABEL: "Confirm password", PLACEHOLDER: "Confirm password" } }, SAVE_PASSWORD: "Save", ERRORS: { "Repeat-password": "Passwords are not same", "Invalid-token": "Token is invalid or expired", "Password-too-weak": "New password does not comply one or more password security policies:", PasswordTooShort: "Passwords too short", PasswordRequiresUniqueChars: "Passwords must use different characters", PasswordRequiresLower: "Passwords must have at least one lowercase ('a'-'z')", PasswordRequiresUpper: "Passwords must have at least one uppercase ('A'-'Z')", PasswordRequiresDigit: "Passwords must have at least one digit ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwords must have at least one non alphanumeric character", recentPasswordUsed: "You have used this password in the past. Choose another one." } }, Ea = { TITLE: "Assets", TOOLBAR: { SAVE: "Save", REFRESH: "Refresh", ADD: "Add", DELETE: "Delete selected" }, EMPTY: { NO_ASSETS: "No assets", UPLOAD_ASSETS: "Drag & drop assets here or click 'Upload' button", UPLOAD: "Upload" }, TABLE: { HEADER: { IMAGE: "Img", NAME: "Name", SIZE: "Size", SORT_ORDER: "Sort order", CREATED_DATE: "Created date" }, ACTIONS: { DELETE: "Delete", EDIT: "Edit" } } }, fa = { PAGES: { DETAILS: { SUBTITLE: "Asset edit", TOOLBAR: { SAVE: "Save", DELETE: "Delete" }, FIELDS: { SIZE: "Size", CREATED_DATE: "Created date", URL: "Url", COPY: "Copy link", NAME: { TITLE: "Asset name", PLACEHOLDER: "Enter asset name" }, ALT: { TITLE: "Image alternative text", PLACEHOLDER: "Enter image alt text", TOOLTIP: "This text will be displayed in case of disabled/unloaded image on the page" }, DESCRIPTION: { TITLE: "Meta description", PLACEHOLDER: "Enter meta description" } } } } }, ma = { _default: "The {field} is not valid", alpha: "The {field} field may only contain alphabetic characters", alpha_num: "The {field} field may only contain alpha-numeric characters", alpha_dash: "The {field} field may contain alpha-numeric characters as well as dashes and underscores", alpha_spaces: "The {field} field may only contain alphabetic characters as well as spaces", between: "The {field} field must be between 0:{min} and 1:{max}", confirmed: "The {field} field confirmation does not match", digits: "The {field} field must be numeric and exactly contain 0:{length} digits", dimensions: "The {field} field must be 0:{width} pixels by 1:{height} pixels", email: "The {field} field must be a valid email", not_one_of: "The {field} field is not a valid value", ext: "The {field} field is not a valid file", image: "The {field} field must be an image", integer: "The {field} field must be an integer", length: "The {field} field must be 0:{length} long", max_value: "The {field} field must be 0:{max} or less", max: "The {field} field may not be greater than 0:{length} characters", mimes: "The {field} field must have a valid file type", min_value: "The {field} field must be 0:{min} or more", min: "The {field} field must be at least 0:{length} characters", numeric: "The {field} field may only contain numeric characters", one_of: "The {field} field is not a valid value", regex: "The {field} field format is invalid", required_if: "The {field} field is required", required: "The {field} field is required", size: "The {field} field size must be less than 0:{size}KB", url: "The {field} field is not a valid URL", min_dimensions: { error: "Image dimensions must be greater than {height}*{width}", not_image_error: "Not image file" }, file_weight: "File size must be maximum {size} kb", before: "End date must be earlier than start date", after: "End date must be later than start date", bigint: "Unsupported number" }, ga = { ACCESS_RESTRICTED: "Access restricted" }, Sa = { LOADING: "Loading Virto OZ..." }, Aa = { AGENDA: "Agenda", ALL_DAY: "All day", CANCEL: "Cancel", CLOSE: "Close", COLOR: "Color", COLOR_DEFAULT: "Default color", COLOR_CUSTOM: "Custom color", COLOR_BLUE: "Blue", COLOR_GREEN: "Green", COLOR_AMBER: "Amber", COLOR_RED: "Red", COLOR_PURPLE: "Purple", COLOR_PINK: "Pink", COLOR_TEAL: "Teal", COLOR_SLATE: "Slate", DAY: "Day", DAY_N_OF_M: "Day {n} of {total}", DELETE: "Delete", DELETE_CONFIRM_BODY: `Delete "{title}"? This can't be undone.`, DELETE_CONFIRM_TITLE: "Delete event", EDIT: "Edit", EDIT_EVENT: "Edit event", EMPTY: "No events in this range", EMPTY_HINT: "No events yet. Click a day to add one.", END: "End", LOADING: "Loading events…", MORE: "+{count} more", MORE_EVENTS: "More events", MONTH: "Month", MORE_OPTIONS: "More options", NEW_EVENT: "New event", NEXT: "Next", PREVIOUS: "Previous", RECUR_SCOPE_ALL: "All events", RECUR_SCOPE_BODY_DELETE: "This event is part of a recurring series. Do you want to delete only this event or all events in the series?", RECUR_SCOPE_BODY_EDIT: "This event is part of a recurring series. Do you want to edit only this event or all events in the series?", RECUR_SCOPE_THIS: "This event", RECUR_SCOPE_TITLE: "Recurring event", REPEAT: "Repeat", REPEAT_DAILY: "Daily", REPEAT_END: "Ends", REPEAT_END_COUNT: "After", REPEAT_END_NEVER: "Never", REPEAT_END_UNTIL: "On date", REPEAT_EVERY: "Repeat every", REPEAT_UNIT_DAYS: "day(s)", REPEAT_UNIT_WEEKS: "week(s)", REPEAT_UNIT_MONTHS: "month(s)", REPEAT_UNIT_YEARS: "year(s)", REPEAT_MONTHLY: "Monthly", REPEAT_NONE: "Does not repeat", REPEAT_OCCURRENCES: "occurrence(s)", REPEAT_ON: "Repeat on", REPEAT_WEEKLY: "Weekly", REPEAT_YEARLY: "Yearly", SAVE: "Save", START: "Start", TIMELINE: "Timeline", TIMELINE_DAY: "Timeline Day", TIMELINE_WEEK: "Timeline Week", TITLE: "Title", TODAY: "Today", WEEK: "Week", WORK_WEEK: "Work week", ZOOM_IN: "Zoom in", ZOOM_OUT: "Zoom out", EVENT_DETAILS: "Event details" }, pa = { no_options: "No options" }, Mo = {
|
|
1821
1831
|
CORE: oa,
|
|
1822
1832
|
SHELL: ra,
|
|
1823
1833
|
COMPONENTS: ia,
|
|
1824
1834
|
INVITATION: la,
|
|
1825
1835
|
LOGIN: ua,
|
|
1826
|
-
FORGOT_PASSWORD:
|
|
1827
|
-
PASSWORDRESET:
|
|
1836
|
+
FORGOT_PASSWORD: ca,
|
|
1837
|
+
PASSWORDRESET: da,
|
|
1828
1838
|
ASSETS_MANAGER: Ea,
|
|
1829
1839
|
ASSETS: fa,
|
|
1830
1840
|
messages: ma,
|
|
@@ -1839,10 +1849,10 @@ Please log in again or contact the administrator for assistance.`, NETWORK_UNAVA
|
|
|
1839
1849
|
ASSETS_MANAGER: Ea,
|
|
1840
1850
|
COMPONENTS: ia,
|
|
1841
1851
|
CORE: oa,
|
|
1842
|
-
FORGOT_PASSWORD:
|
|
1852
|
+
FORGOT_PASSWORD: ca,
|
|
1843
1853
|
INVITATION: la,
|
|
1844
1854
|
LOGIN: ua,
|
|
1845
|
-
PASSWORDRESET:
|
|
1855
|
+
PASSWORDRESET: da,
|
|
1846
1856
|
PERMISSION_MESSAGES: ga,
|
|
1847
1857
|
SHELL: ra,
|
|
1848
1858
|
VC_SCHEDULER: Aa,
|
|
@@ -1850,10 +1860,10 @@ Please log in again or contact the administrator for assistance.`, NETWORK_UNAVA
|
|
|
1850
1860
|
default: Mo,
|
|
1851
1861
|
messages: ma
|
|
1852
1862
|
}, Symbol.toStringTag, { value: "Module" })), Ta = { ERRORS: { SESSION_EXPIRED: `Zugriff verweigert: Ihre Sitzung ist abgelaufen oder Sie verfügen nicht über die erforderlichen Berechtigungen.
|
|
1853
|
-
Bitte melden Sie sich erneut an oder wenden Sie sich an den Administrator.`, NETWORK_UNAVAILABLE: "Keine Netzwerkverbindung. Bitte prüfen Sie Ihre Verbindung." }, THEMES: { LIGHT: "Hell", DARK: "Dunkel" }, NOTIFICATIONS: { CLEAR_ALL: "Alle löschen" } }, La = { NAVIGATION_ARIA_LABEL: "Hauptnavigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Suchbegriff" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Einstellungen", CHANGE_PASSWORD: "Passwort ändern", PROFILE: "Profil", LOGOUT: "Abmelden" } }, ha = { CONTROLS: { CLEAR: "Löschen", CLEAR_ALL: "Alle löschen", CLOSE: "Schließen", TOGGLE_DROPDOWN: "Dropdown umschalten", SEARCH_OPTIONS: "Optionen suchen", SELECT_OPTION: "Option auswählen", CLEAR_SELECTION: "Auswahl aufheben", COPY_TO_CLIPBOARD: "In die Zwischenablage kopieren", DELETE_ITEM: "Element löschen", SHOW_PASSWORD: "Passwort anzeigen", HIDE_PASSWORD: "Passwort verbergen" }, ATOMS: { VC_IMAGE: { LABEL: "Bild" }, VC_BANNER: { SHOW_MORE: "Mehr anzeigen", SHOW_LESS: "Weniger anzeigen" }, VC_SCROLLABLE_CONTAINER: { LABEL: "Scrollbarer Inhalt" }, VC_VIDEO: { NO_SOURCE: "Keine Videoquelle" } }, MOLECULES: { VC_SELECT: { CLICK_TO_SELECT: "Zum Auswählen klicken...", LOADING: "Wird geladen...", LOADING_MORE: "Mehr laden...", NO_OPTIONS: "Keine Optionen" }, VC_FILE_UPLOAD: { DRAG_HERE: "Datei hier ablegen oder", BROWSE: "Dateien durchsuchen", TAP_TO_UPLOAD: "Tippen, um Dateien auszuwählen", UPLOADING: "Wird hochgeladen..." }, VC_INPUT: { DATE_PLACEHOLDER: "Datum auswählen", DATE_TIME_PLACEHOLDER: "Datum und Uhrzeit auswählen" }, VC_PAGINATION: { JUMP: "Zur Seite springen:", LABEL: "Seitennummerierung", FIRST: "Erste Seite", PREVIOUS: "Vorherige Seite", NEXT: "Nächste Seite", LAST: "Letzte Seite", PAGE: "Seite {page}" }, VC_MULTIVALUE: { ADD: "Hinzufügen" }, VC_BREADCRUMBS: { BACK: "Zurück", LABEL: "Brotkrümelnavigation", SHOW_MORE: "Weitere Brotkrümel anzeigen" }, VC_COLOR_INPUT: { CLEAR: "Farbe löschen" }, VC_DATE_PICKER: { CLEAR: "Datum löschen" }, VC_SLIDER: { PREVIOUS: "Vorherige Folie", NEXT: "Nächste Folie" }, VC_TOAST: { DISMISS: "Benachrichtigung schließen" }, VC_EDITOR: { TOOLBAR: { LABEL: "Textformatierung", BOLD: "Fett", ITALIC: "Kursiv", UNDERLINE: "Unterstrichen", STRIKETHROUGH: "Durchgestrichen", HEADING_1: "Überschrift 1", HEADING_2: "Überschrift 2", HEADING_3: "Überschrift 3", BULLET_LIST: "Aufzählungsliste", NUMBERED_LIST: "Nummerierte Liste", BLOCKQUOTE: "Blockzitat", INSERT_LINK: "Link einfügen", INSERT_IMAGE: "Bild einfügen", INSERT_TABLE: "Tabelle einfügen", DELETE_TABLE: "Tabelle löschen", ADD_COLUMN_BEFORE: "Spalte davor einfügen", ADD_COLUMN_AFTER: "Spalte danach einfügen", ADD_ROW_BEFORE: "Zeile davor einfügen", ADD_ROW_AFTER: "Zeile danach einfügen", DELETE_COLUMN: "Spalte löschen", DELETE_ROW: "Zeile löschen" }, FONT_SIZE: "Schriftgröße", VIEW: { PREVIEW: "Vorschau", SPLIT: "Nebeneinander-Ansicht", SOURCE: "Quellcode" } } }, ORGANISMS: { VC_DYNAMIC_PROPERTY: { ADD: "Wert hinzufügen", VALUE_TYPE: { COLOR: { PLACEHOLDER: "Farbcode", NAME: "Farbname" } } }, VC_GALLERY: { INTERNAL: { VC_GALLERY_ITEM: { FULLSCREEN: "Vollbild", EDIT: "Bearbeiten", DELETE: "Löschen" }, VC_GALLERY_PREVIEW: { COPY_IMAGE_LINK: "Bildlink kopieren" }, VC_GALLERY_FILMSTRIP: { PREVIOUS: "Vorherige Bilder", NEXT: "Nächste Bilder" } }, GALLERY_IS_EMPTY: "Galerie ist leer", DROP_TO_UPLOAD: "Zum Hochladen ablegen", DRAG_IMAGES_HERE: "Bilder hierher ziehen oder", BROWSE_IMAGES: "Dateien durchsuchen", UPLOAD: "Hochladen", OR_DROP_HERE: "oder hierher ziehen", SHOW_ALL: "Erweitern ({count})", COLLAPSE: "Einklappen" }, VC_APP: { NOTIFICATIONS: "Benachrichtigungen", OPEN_MENU: "Menü öffnen", CLOSE_MENU: "Menü schließen", INTERNAL: { VC_APP_BAR: { BACK: "Zurück" }, MOBILE_LAYOUT: { TAB_MENU: "Menü", TAB_HUB: "Hub" }, APP_HUB: { SEARCH_PLACEHOLDER: "Anwendungen und Widgets suchen", APPLICATIONS: "Anwendungen", WIDGETS: "Widgets", NO_APPLICATIONS: "Keine Anwendungen gefunden", NO_WIDGETS: "Keine Widgets gefunden", LIST_VIEW: "Listenansicht", TILE_VIEW: "Kachelansicht" } } }, BLADE_NAVIGATION: { ARIA_LABEL: "Blade-Navigation" }, VC_BLADE: { SEE_DETAILS: "Details anzeigen", UNSAVED_CHANGES: "Hat ungespeicherte Änderungen", ERROR_POPUP: { TITLE: "Fehlerdetails", COPY_ERROR: "Inhalt kopieren", CLOSE: "schließen" }, MORE: "Mehr", TOOLBAR: "Toolbar-Aktionen", CLOSE_MENU: "Menü schließen", PANEL: "Panel" }, VC_BLADE_HEADER: { UNSAVED_CHANGES: "Hat ungespeicherte Änderungen", NO_CHANGES: "Keine ungespeicherten Änderungen", CLOSE: "Schließen", MAXIMIZE: "Maximieren", RESTORE: "Wiederherstellen" }, VC_TABLE: { SELECT_ROW: "Zeile auswählen", SELECT_ALL_ROWS: "Alle Zeilen auswählen", EXPAND_ROW: "Zeilendetails umschalten", CURRENT_PAGE_SELECTED: "Alle Elemente auf dieser Seite sind ausgewählt.", SELECT_ALL: "Alle Elemente auswählen", ALL_SELECTED: "Alle Elemente sind ausgewählt.", ALL_SELECTED_COUNT: "Alle {count} Elemente ausgewählt", SELECT_ALL_COUNT: "Alle {count} Elemente auswählen", CANCEL: "Auswahl aufheben", ALL_ACTIONS: "Alle Aktionen", MORE: "Mehr", ALL_FILTERS: "Filter", SEARCH: "Suchen...", EMPTY: "Liste ist leer.", EMPTY_TITLE: "Keine Daten", EMPTY_DESCRIPTION: "Keine Elemente zum Anzeigen", NOT_FOUND: "Nichts gefunden.", NOT_FOUND_TITLE: "Keine Ergebnisse gefunden", NOT_FOUND_DESCRIPTION: "Passen Sie Ihre Suche oder Filter an", TOTALS: "Gesamt:", ACTIONS: "Aktionen", NOT_SET: "Nicht festgelegt", SELECTED: "Ausgewählt", SELECT_ALL_TRUNCATED: "Alle auswählen", PULL_TO_REFRESH: "Zum Aktualisieren ziehen", RELEASE_TO_REFRESH: "Zum Aktualisieren loslassen", REFRESHING: "Wird aktualisiert...", ADD_ROW: "Zeile hinzufügen", LOADING: "Wird geladen...", PAGE_INFO: "Seite {current} von {total}", COLUMN_FILTER: { APPLY: "Anwenden", CLEAR: "Löschen", FROM: "Von", TO: "Bis", TITLE: "Spalte filtern" }, GLOBAL_FILTERS: { BUTTON: "Filter", TITLE: "Filter" }, COLUMN_SWITCHER: { BUTTON: "Spalten", TITLE: "Spalten ein-/ausblenden", SHOW_ALL: "Alle anzeigen", RESET: "Zurücksetzen" }, OF: "von", PAGE: "Seite" }, VC_POPUP: { OK: "OK", CONFIRM: "Bestätigen", CANCEL: "Abbrechen", CLOSE: "Schließen", TITLE: { CONFIRMATION: "Bestätigung", ERROR: "Fehler", INFO: "Info" } } }, THEME_SELECTOR: { THEME_CHANGED: " Thema", THEME_SELECTOR: "Themen" }, CHANGE_PASSWORD: { TITLE: "Passwort ändern", TITLE_FORCED: "Passwort abgelaufen", SUBTITLE_FORCED: "Bitte legen Sie ein neues Passwort fest", FORCED: { LABEL: "Ihr Passwort ist abgelaufen. Sie müssen das Passwort ändern, um den Manager weiter zu nutzen." }, CURRENT_PASSWORD: { LABEL: "Aktuelles Passwort", PLACEHOLDER: "Passwort eingeben" }, NEW_PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" }, CANCEL: "Abbrechen", SAVE: "Aktualisieren", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Equal-passwords": "Das neue Passwort darf nicht mit dem alten übereinstimmen", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", "Incorrect password.": "Sie haben ein falsches Passwort eingegeben", "You have used this password in the past. Choose another one.": "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, APP_HUB: { TITLE: "Anwendungen" }, NOTIFICATION_DROPDOWN: { TITLE: "Benachrichtigungen", EMPTY: "Noch keine Benachrichtigungen" }, LANGUAGE_SELECTOR: { TITLE: "Sprache" }, FILTERS: { APPLY: "Filter anwenden", RESET: "Zurücksetzen" } }, Oa = { TITLE: "Sie sind eingeladen!", SUBTITLE: "Legen Sie ein Passwort für Ihr Konto fest", FIELDS: { EMAIL: { LABEL: "E-Mail" }, PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" } }, ACCEPT_INVITATION: "Aktivieren", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", recentPasswordUsed: "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, Ra = { TITLE: "Willkommen zurück", SUBTITLE: "Melden Sie sich bei Ihrem Konto an, um fortzufahren", FIELDS: { LOGIN: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" }, PASSWORD: { LABEL: "Passwort", PLACEHOLDER: "Geben Sie Ihr Passwort ein" }, REMEMBER_ME: { LABEL: "Angemeldet bleiben" }, FORGOT_PASSWORD: { TITLE: "Passwort vergessen", LABEL: "E-Mail", PLACEHOLDER: "Bitte geben Sie Ihre E-Mail-Adresse ein" } }, FORGOT_PASSWORD_BUTTON: "Passwort vergessen?", BUTTON: "Anmelden", OR: "oder", FORGOT_BUTTON: "Absenden", BACK_BUTTON: "Zurück", BUTTON_OK: "Ok", RESET_EMAIL_TEXT: "Wir senden Ihnen eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts.", RESET_EMAIL_SENT: "Eine E-Mail mit Anweisungen wurde an Sie gesendet.", SSO_NO_PROVIDERS_ERROR: "SSO-Authentifizierung ist nicht konfiguriert. Bitte wenden Sie sich an Ihren Administrator.", ERRORS: { INVALID_CREDENTIALS: "Anmeldename oder Passwort ist falsch.", AUTH_WITH_CODE: "Authentifizierungsfehler (Code: {code}).", AUTH_GENERIC: "Authentifizierungsfehler: {detail}" } }, _a = { TITLE: "Passwort zurücksetzen", SUBTITLE: "Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen", FIELDS: { EMAIL: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" } }, SEND_BUTTON: "Link zum Zurücksetzen senden", BACK_TO_LOGIN: "Zurück zur Anmeldung", SUCCESS_TITLE: "Überprüfen Sie Ihre E-Mail", SUCCESS_TEXT: "Wir haben einen Link zum Zurücksetzen an {email} gesendet" }, Ia = { TITLE: "Neues Passwort festlegen", SUBTITLE: "Geben Sie unten Ihr neues Passwort ein", FIELDS: { PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" } }, SAVE_PASSWORD: "Speichern", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", recentPasswordUsed: "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, va = { TITLE: "Assets", TOOLBAR: { SAVE: "Speichern", REFRESH: "Aktualisieren", ADD: "Hinzufügen", DELETE: "Ausgewählte löschen" }, EMPTY: { NO_ASSETS: "Keine Assets", UPLOAD_ASSETS: "Assets hier ablegen oder auf 'Hochladen' klicken", UPLOAD: "Hochladen" }, TABLE: { HEADER: { IMAGE: "Bild", NAME: "Name", SIZE: "Größe", SORT_ORDER: "Sortierreihenfolge", CREATED_DATE: "Erstellungsdatum" }, ACTIONS: { DELETE: "Löschen", EDIT: "Bearbeiten" } } }, wa = { PAGES: { DETAILS: { SUBTITLE: "Asset bearbeiten", TOOLBAR: { SAVE: "Speichern", DELETE: "Löschen" }, FIELDS: { SIZE: "Größe", CREATED_DATE: "Erstellungsdatum", URL: "URL", COPY: "Link kopieren", NAME: { TITLE: "Asset-Name", PLACEHOLDER: "Asset-Namen eingeben" }, ALT: { TITLE: "Alternativer Bildtext", PLACEHOLDER: "Alternativen Bildtext eingeben", TOOLTIP: "Dieser Text wird angezeigt, wenn das Bild auf der Seite deaktiviert oder nicht geladen ist" }, DESCRIPTION: { TITLE: "Meta-Beschreibung", PLACEHOLDER: "Meta-Beschreibung eingeben" } } } } }, Ca = { _default: "Das Feld {field} ist ungültig", alpha: "Das Feld {field} darf nur alphabetische Zeichen enthalten", alpha_num: "Das Feld {field} darf nur alphanumerische Zeichen enthalten", alpha_dash: "Das Feld {field} darf alphanumerische Zeichen sowie Bindestriche und Unterstriche enthalten", alpha_spaces: "Das Feld {field} darf nur alphabetische Zeichen und Leerzeichen enthalten", between: "Das Feld {field} muss zwischen 0:{min} und 1:{max} liegen", confirmed: "Die Bestätigung des Feldes {field} stimmt nicht überein", digits: "Das Feld {field} muss numerisch sein und genau 0:{length} Ziffern enthalten", dimensions: "Das Feld {field} muss 0:{width} Pixel breit und 1:{height} Pixel hoch sein", email: "Das Feld {field} muss eine gültige E-Mail-Adresse sein", not_one_of: "Das Feld {field} hat keinen gültigen Wert", ext: "Das Feld {field} ist keine gültige Datei", image: "Das Feld {field} muss ein Bild sein", integer: "Das Feld {field} muss eine ganze Zahl sein", length: "Das Feld {field} muss 0:{length} lang sein", max_value: "Das Feld {field} muss 0:{max} oder weniger sein", max: "Das Feld {field} darf nicht länger als 0:{length} Zeichen sein", mimes: "Das Feld {field} muss einen gültigen Dateityp haben", min_value: "Das Feld {field} muss 0:{min} oder mehr sein", min: "Das Feld {field} muss mindestens 0:{length} Zeichen lang sein", numeric: "Das Feld {field} darf nur numerische Zeichen enthalten", one_of: "Das Feld {field} hat keinen gültigen Wert", regex: "Das Format des Feldes {field} ist ungültig", required_if: "Das Feld {field} ist erforderlich", required: "Das Feld {field} ist erforderlich", size: "Die Größe des Feldes {field} muss kleiner als 0:{size}KB sein", url: "Das Feld {field} ist keine gültige URL", min_dimensions: { error: "Die Bildabmessungen müssen größer als {height}*{width} sein", not_image_error: "Keine Bilddatei" }, file_weight: "Die Dateigröße darf maximal {size} kb betragen", before: "Das Enddatum muss früher als das Startdatum sein", after: "Das Enddatum muss später als das Startdatum sein", bigint: "Nicht unterstützte Zahl" }, ba = { ACCESS_RESTRICTED: "Zugriff eingeschränkt" }, Pa = { LOADING: "Virto OZ wird geladen..." }, Na = { AGENDA: "Ereignisliste", ALL_DAY: "Ganztägig", CANCEL: "Abbrechen", CLOSE: "Schließen", COLOR: "Farbe", COLOR_DEFAULT: "Standardfarbe", COLOR_CUSTOM: "Eigene Farbe", COLOR_BLUE: "Blau", COLOR_GREEN: "Grün", COLOR_AMBER: "Gelb", COLOR_RED: "Rot", COLOR_PURPLE: "Violett", COLOR_PINK: "Rosa", COLOR_TEAL: "Türkis", COLOR_SLATE: "Grau", DAY: "Tag", DAY_N_OF_M: "Tag {n} von {total}", DELETE: "Löschen", DELETE_CONFIRM_BODY: '"{title}" löschen? Dies kann nicht rückgängig gemacht werden.', DELETE_CONFIRM_TITLE: "Ereignis löschen", EDIT: "Bearbeiten", EDIT_EVENT: "Ereignis bearbeiten", EMPTY: "Keine Ereignisse in diesem Zeitraum", EMPTY_HINT: "Noch keine Ereignisse. Klicke auf einen Tag, um eins hinzuzufügen.", END: "Ende", LOADING: "Ereignisse werden geladen…", MORE: "+{count} weitere", MORE_EVENTS: "Weitere Ereignisse", MONTH: "Monat", MORE_OPTIONS: "Weitere Optionen", NEW_EVENT: "Neues Ereignis", NEXT: "Nächster Zeitraum", PREVIOUS: "Vorheriger Zeitraum", RECUR_SCOPE_ALL: "Alle Ereignisse", RECUR_SCOPE_BODY_DELETE: "Dieses Ereignis ist Teil einer wiederkehrenden Serie. Möchten Sie nur dieses Ereignis oder alle Ereignisse der Serie löschen?", RECUR_SCOPE_BODY_EDIT: "Dieses Ereignis ist Teil einer wiederkehrenden Serie. Möchten Sie nur dieses Ereignis oder alle Ereignisse der Serie bearbeiten?", RECUR_SCOPE_THIS: "Dieses Ereignis", RECUR_SCOPE_TITLE: "Wiederkehrendes Ereignis", REPEAT: "Wiederholen", REPEAT_DAILY: "Täglich", REPEAT_END: "Endet", REPEAT_END_COUNT: "Nach", REPEAT_END_NEVER: "Nie", REPEAT_END_UNTIL: "Am Datum", REPEAT_EVERY: "Wiederholen alle", REPEAT_UNIT_DAYS: "Tag(e)", REPEAT_UNIT_WEEKS: "Woche(n)", REPEAT_UNIT_MONTHS: "Monat(e)", REPEAT_UNIT_YEARS: "Jahr(e)", REPEAT_MONTHLY: "Monatlich", REPEAT_NONE: "Keine Wiederholung", REPEAT_OCCURRENCES: "Vorkommen", REPEAT_ON: "Wiederholen am", REPEAT_WEEKLY: "Wöchentlich", REPEAT_YEARLY: "Jährlich", SAVE: "Speichern", START: "Beginn", TIMELINE: "Zeitachse", TIMELINE_DAY: "Zeitachse Tag", TIMELINE_WEEK: "Zeitachse Woche", TITLE: "Titel", TODAY: "Heute", WEEK: "Woche", WORK_WEEK: "Arbeitswoche", ZOOM_IN: "Vergrößern", ZOOM_OUT: "Verkleinern", EVENT_DETAILS: "Termindetails" }, Da = { no_options: "Keine Optionen" }, Vo = {
|
|
1863
|
+
Bitte melden Sie sich erneut an oder wenden Sie sich an den Administrator.`, NETWORK_UNAVAILABLE: "Keine Netzwerkverbindung. Bitte prüfen Sie Ihre Verbindung.", SESSION_CHECK_FAILED: "Ihre Sitzung konnte nicht überprüft werden. Bitte versuchen Sie es erneut." }, THEMES: { LIGHT: "Hell", DARK: "Dunkel" }, NOTIFICATIONS: { CLEAR_ALL: "Alle löschen" } }, ha = { NAVIGATION_ARIA_LABEL: "Hauptnavigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Suchbegriff" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Einstellungen", CHANGE_PASSWORD: "Passwort ändern", PROFILE: "Profil", LOGOUT: "Abmelden" } }, La = { CONTROLS: { CLEAR: "Löschen", CLEAR_ALL: "Alle löschen", CLOSE: "Schließen", TOGGLE_DROPDOWN: "Dropdown umschalten", SEARCH_OPTIONS: "Optionen suchen", SELECT_OPTION: "Option auswählen", CLEAR_SELECTION: "Auswahl aufheben", COPY_TO_CLIPBOARD: "In die Zwischenablage kopieren", DELETE_ITEM: "Element löschen", SHOW_PASSWORD: "Passwort anzeigen", HIDE_PASSWORD: "Passwort verbergen" }, ATOMS: { VC_IMAGE: { LABEL: "Bild" }, VC_BANNER: { SHOW_MORE: "Mehr anzeigen", SHOW_LESS: "Weniger anzeigen" }, VC_SCROLLABLE_CONTAINER: { LABEL: "Scrollbarer Inhalt" }, VC_VIDEO: { NO_SOURCE: "Keine Videoquelle" } }, MOLECULES: { VC_SELECT: { CLICK_TO_SELECT: "Zum Auswählen klicken...", LOADING: "Wird geladen...", LOADING_MORE: "Mehr laden...", NO_OPTIONS: "Keine Optionen" }, VC_FILE_UPLOAD: { DRAG_HERE: "Datei hier ablegen oder", BROWSE: "Dateien durchsuchen", TAP_TO_UPLOAD: "Tippen, um Dateien auszuwählen", UPLOADING: "Wird hochgeladen..." }, VC_INPUT: { DATE_PLACEHOLDER: "Datum auswählen", DATE_TIME_PLACEHOLDER: "Datum und Uhrzeit auswählen" }, VC_PAGINATION: { JUMP: "Zur Seite springen:", LABEL: "Seitennummerierung", FIRST: "Erste Seite", PREVIOUS: "Vorherige Seite", NEXT: "Nächste Seite", LAST: "Letzte Seite", PAGE: "Seite {page}" }, VC_MULTIVALUE: { ADD: "Hinzufügen" }, VC_BREADCRUMBS: { BACK: "Zurück", LABEL: "Brotkrümelnavigation", SHOW_MORE: "Weitere Brotkrümel anzeigen" }, VC_COLOR_INPUT: { CLEAR: "Farbe löschen" }, VC_DATE_PICKER: { CLEAR: "Datum löschen" }, VC_SLIDER: { PREVIOUS: "Vorherige Folie", NEXT: "Nächste Folie" }, VC_TOAST: { DISMISS: "Benachrichtigung schließen" }, VC_EDITOR: { TOOLBAR: { LABEL: "Textformatierung", BOLD: "Fett", ITALIC: "Kursiv", UNDERLINE: "Unterstrichen", STRIKETHROUGH: "Durchgestrichen", HEADING_1: "Überschrift 1", HEADING_2: "Überschrift 2", HEADING_3: "Überschrift 3", BULLET_LIST: "Aufzählungsliste", NUMBERED_LIST: "Nummerierte Liste", BLOCKQUOTE: "Blockzitat", INSERT_LINK: "Link einfügen", INSERT_IMAGE: "Bild einfügen", INSERT_TABLE: "Tabelle einfügen", DELETE_TABLE: "Tabelle löschen", ADD_COLUMN_BEFORE: "Spalte davor einfügen", ADD_COLUMN_AFTER: "Spalte danach einfügen", ADD_ROW_BEFORE: "Zeile davor einfügen", ADD_ROW_AFTER: "Zeile danach einfügen", DELETE_COLUMN: "Spalte löschen", DELETE_ROW: "Zeile löschen" }, FONT_SIZE: "Schriftgröße", VIEW: { PREVIEW: "Vorschau", SPLIT: "Nebeneinander-Ansicht", SOURCE: "Quellcode" } } }, ORGANISMS: { VC_DYNAMIC_PROPERTY: { ADD: "Wert hinzufügen", VALUE_TYPE: { COLOR: { PLACEHOLDER: "Farbcode", NAME: "Farbname" } } }, VC_GALLERY: { INTERNAL: { VC_GALLERY_ITEM: { FULLSCREEN: "Vollbild", EDIT: "Bearbeiten", DELETE: "Löschen" }, VC_GALLERY_PREVIEW: { COPY_IMAGE_LINK: "Bildlink kopieren" }, VC_GALLERY_FILMSTRIP: { PREVIOUS: "Vorherige Bilder", NEXT: "Nächste Bilder" } }, GALLERY_IS_EMPTY: "Galerie ist leer", DROP_TO_UPLOAD: "Zum Hochladen ablegen", DRAG_IMAGES_HERE: "Bilder hierher ziehen oder", BROWSE_IMAGES: "Dateien durchsuchen", UPLOAD: "Hochladen", OR_DROP_HERE: "oder hierher ziehen", SHOW_ALL: "Erweitern ({count})", COLLAPSE: "Einklappen" }, VC_APP: { NOTIFICATIONS: "Benachrichtigungen", OPEN_MENU: "Menü öffnen", CLOSE_MENU: "Menü schließen", INTERNAL: { VC_APP_BAR: { BACK: "Zurück" }, MOBILE_LAYOUT: { TAB_MENU: "Menü", TAB_HUB: "Hub" }, APP_HUB: { SEARCH_PLACEHOLDER: "Anwendungen und Widgets suchen", APPLICATIONS: "Anwendungen", WIDGETS: "Widgets", NO_APPLICATIONS: "Keine Anwendungen gefunden", NO_WIDGETS: "Keine Widgets gefunden", LIST_VIEW: "Listenansicht", TILE_VIEW: "Kachelansicht" } } }, BLADE_NAVIGATION: { ARIA_LABEL: "Blade-Navigation" }, VC_BLADE: { SEE_DETAILS: "Details anzeigen", UNSAVED_CHANGES: "Hat ungespeicherte Änderungen", ERROR_POPUP: { TITLE: "Fehlerdetails", COPY_ERROR: "Inhalt kopieren", CLOSE: "schließen" }, MORE: "Mehr", TOOLBAR: "Toolbar-Aktionen", CLOSE_MENU: "Menü schließen", PANEL: "Panel" }, VC_BLADE_HEADER: { UNSAVED_CHANGES: "Hat ungespeicherte Änderungen", NO_CHANGES: "Keine ungespeicherten Änderungen", CLOSE: "Schließen", MAXIMIZE: "Maximieren", RESTORE: "Wiederherstellen" }, VC_TABLE: { SELECT_ROW: "Zeile auswählen", SELECT_ALL_ROWS: "Alle Zeilen auswählen", EXPAND_ROW: "Zeilendetails umschalten", CURRENT_PAGE_SELECTED: "Alle Elemente auf dieser Seite sind ausgewählt.", SELECT_ALL: "Alle Elemente auswählen", ALL_SELECTED: "Alle Elemente sind ausgewählt.", ALL_SELECTED_COUNT: "Alle {count} Elemente ausgewählt", SELECT_ALL_COUNT: "Alle {count} Elemente auswählen", CANCEL: "Auswahl aufheben", ALL_ACTIONS: "Alle Aktionen", MORE: "Mehr", ALL_FILTERS: "Filter", SEARCH: "Suchen...", EMPTY: "Liste ist leer.", EMPTY_TITLE: "Keine Daten", EMPTY_DESCRIPTION: "Keine Elemente zum Anzeigen", NOT_FOUND: "Nichts gefunden.", NOT_FOUND_TITLE: "Keine Ergebnisse gefunden", NOT_FOUND_DESCRIPTION: "Passen Sie Ihre Suche oder Filter an", TOTALS: "Gesamt:", ACTIONS: "Aktionen", NOT_SET: "Nicht festgelegt", SELECTED: "Ausgewählt", SELECT_ALL_TRUNCATED: "Alle auswählen", PULL_TO_REFRESH: "Zum Aktualisieren ziehen", RELEASE_TO_REFRESH: "Zum Aktualisieren loslassen", REFRESHING: "Wird aktualisiert...", ADD_ROW: "Zeile hinzufügen", LOADING: "Wird geladen...", PAGE_INFO: "Seite {current} von {total}", COLUMN_FILTER: { APPLY: "Anwenden", CLEAR: "Löschen", FROM: "Von", TO: "Bis", TITLE: "Spalte filtern" }, GLOBAL_FILTERS: { BUTTON: "Filter", TITLE: "Filter" }, COLUMN_SWITCHER: { BUTTON: "Spalten", TITLE: "Spalten ein-/ausblenden", SHOW_ALL: "Alle anzeigen", RESET: "Zurücksetzen" }, OF: "von", PAGE: "Seite" }, VC_POPUP: { OK: "OK", CONFIRM: "Bestätigen", CANCEL: "Abbrechen", CLOSE: "Schließen", TITLE: { CONFIRMATION: "Bestätigung", ERROR: "Fehler", INFO: "Info" } } }, THEME_SELECTOR: { THEME_CHANGED: " Thema", THEME_SELECTOR: "Themen" }, CHANGE_PASSWORD: { TITLE: "Passwort ändern", TITLE_FORCED: "Passwort abgelaufen", SUBTITLE_FORCED: "Bitte legen Sie ein neues Passwort fest", FORCED: { LABEL: "Ihr Passwort ist abgelaufen. Sie müssen das Passwort ändern, um den Manager weiter zu nutzen." }, CURRENT_PASSWORD: { LABEL: "Aktuelles Passwort", PLACEHOLDER: "Passwort eingeben" }, NEW_PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" }, CANCEL: "Abbrechen", SAVE: "Aktualisieren", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Equal-passwords": "Das neue Passwort darf nicht mit dem alten übereinstimmen", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", "Incorrect password.": "Sie haben ein falsches Passwort eingegeben", "You have used this password in the past. Choose another one.": "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, APP_HUB: { TITLE: "Anwendungen" }, NOTIFICATION_DROPDOWN: { TITLE: "Benachrichtigungen", EMPTY: "Noch keine Benachrichtigungen" }, LANGUAGE_SELECTOR: { TITLE: "Sprache" }, FILTERS: { APPLY: "Filter anwenden", RESET: "Zurücksetzen" } }, Oa = { TITLE: "Sie sind eingeladen!", SUBTITLE: "Legen Sie ein Passwort für Ihr Konto fest", FIELDS: { EMAIL: { LABEL: "E-Mail" }, PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" } }, ACCEPT_INVITATION: "Aktivieren", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", recentPasswordUsed: "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, Ra = { TITLE: "Willkommen zurück", SUBTITLE: "Melden Sie sich bei Ihrem Konto an, um fortzufahren", FIELDS: { LOGIN: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" }, PASSWORD: { LABEL: "Passwort", PLACEHOLDER: "Geben Sie Ihr Passwort ein" }, FORGOT_PASSWORD: { TITLE: "Passwort vergessen", LABEL: "E-Mail", PLACEHOLDER: "Bitte geben Sie Ihre E-Mail-Adresse ein" } }, FORGOT_PASSWORD_BUTTON: "Passwort vergessen?", BUTTON: "Anmelden", OR: "oder", FORGOT_BUTTON: "Absenden", BACK_BUTTON: "Zurück", BUTTON_OK: "Ok", RESET_EMAIL_TEXT: "Wir senden Ihnen eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts.", RESET_EMAIL_SENT: "Eine E-Mail mit Anweisungen wurde an Sie gesendet.", SSO_NO_PROVIDERS_ERROR: "SSO-Authentifizierung ist nicht konfiguriert. Bitte wenden Sie sich an Ihren Administrator.", ERRORS: { INVALID_CREDENTIALS: "Anmeldename oder Passwort ist falsch.", AUTH_WITH_CODE: "Authentifizierungsfehler (Code: {code}).", AUTH_GENERIC: "Authentifizierungsfehler: {detail}" } }, _a = { TITLE: "Passwort zurücksetzen", SUBTITLE: "Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen", FIELDS: { EMAIL: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" } }, SEND_BUTTON: "Link zum Zurücksetzen senden", BACK_TO_LOGIN: "Zurück zur Anmeldung", SUCCESS_TITLE: "Überprüfen Sie Ihre E-Mail", SUCCESS_TEXT: "Wir haben einen Link zum Zurücksetzen an {email} gesendet" }, Ia = { TITLE: "Neues Passwort festlegen", SUBTITLE: "Geben Sie unten Ihr neues Passwort ein", FIELDS: { PASSWORD: { LABEL: "Neues Passwort", PLACEHOLDER: "Passwort eingeben" }, CONFIRM_PASSWORD: { LABEL: "Passwort bestätigen", PLACEHOLDER: "Passwort bestätigen" } }, SAVE_PASSWORD: "Speichern", ERRORS: { "Repeat-password": "Passwörter stimmen nicht überein", "Invalid-token": "Token ist ungültig oder abgelaufen", "Password-too-weak": "Neues Passwort erfüllt eine oder mehrere Passwort-Sicherheitsrichtlinien nicht:", PasswordTooShort: "Passwort zu kurz", PasswordRequiresUniqueChars: "Passwörter müssen unterschiedliche Zeichen verwenden", PasswordRequiresLower: "Passwörter müssen mindestens einen Kleinbuchstaben enthalten ('a'-'z')", PasswordRequiresUpper: "Passwörter müssen mindestens einen Großbuchstaben enthalten ('A'-'Z')", PasswordRequiresDigit: "Passwörter müssen mindestens eine Ziffer enthalten ('0'-'9')", PasswordRequiresNonAlphanumeric: "Passwörter müssen mindestens ein nicht-alphanumerisches Zeichen enthalten", recentPasswordUsed: "Sie haben dieses Passwort in der Vergangenheit verwendet. Wählen Sie ein anderes." } }, va = { TITLE: "Assets", TOOLBAR: { SAVE: "Speichern", REFRESH: "Aktualisieren", ADD: "Hinzufügen", DELETE: "Ausgewählte löschen" }, EMPTY: { NO_ASSETS: "Keine Assets", UPLOAD_ASSETS: "Assets hier ablegen oder auf 'Hochladen' klicken", UPLOAD: "Hochladen" }, TABLE: { HEADER: { IMAGE: "Bild", NAME: "Name", SIZE: "Größe", SORT_ORDER: "Sortierreihenfolge", CREATED_DATE: "Erstellungsdatum" }, ACTIONS: { DELETE: "Löschen", EDIT: "Bearbeiten" } } }, wa = { PAGES: { DETAILS: { SUBTITLE: "Asset bearbeiten", TOOLBAR: { SAVE: "Speichern", DELETE: "Löschen" }, FIELDS: { SIZE: "Größe", CREATED_DATE: "Erstellungsdatum", URL: "URL", COPY: "Link kopieren", NAME: { TITLE: "Asset-Name", PLACEHOLDER: "Asset-Namen eingeben" }, ALT: { TITLE: "Alternativer Bildtext", PLACEHOLDER: "Alternativen Bildtext eingeben", TOOLTIP: "Dieser Text wird angezeigt, wenn das Bild auf der Seite deaktiviert oder nicht geladen ist" }, DESCRIPTION: { TITLE: "Meta-Beschreibung", PLACEHOLDER: "Meta-Beschreibung eingeben" } } } } }, Ca = { _default: "Das Feld {field} ist ungültig", alpha: "Das Feld {field} darf nur alphabetische Zeichen enthalten", alpha_num: "Das Feld {field} darf nur alphanumerische Zeichen enthalten", alpha_dash: "Das Feld {field} darf alphanumerische Zeichen sowie Bindestriche und Unterstriche enthalten", alpha_spaces: "Das Feld {field} darf nur alphabetische Zeichen und Leerzeichen enthalten", between: "Das Feld {field} muss zwischen 0:{min} und 1:{max} liegen", confirmed: "Die Bestätigung des Feldes {field} stimmt nicht überein", digits: "Das Feld {field} muss numerisch sein und genau 0:{length} Ziffern enthalten", dimensions: "Das Feld {field} muss 0:{width} Pixel breit und 1:{height} Pixel hoch sein", email: "Das Feld {field} muss eine gültige E-Mail-Adresse sein", not_one_of: "Das Feld {field} hat keinen gültigen Wert", ext: "Das Feld {field} ist keine gültige Datei", image: "Das Feld {field} muss ein Bild sein", integer: "Das Feld {field} muss eine ganze Zahl sein", length: "Das Feld {field} muss 0:{length} lang sein", max_value: "Das Feld {field} muss 0:{max} oder weniger sein", max: "Das Feld {field} darf nicht länger als 0:{length} Zeichen sein", mimes: "Das Feld {field} muss einen gültigen Dateityp haben", min_value: "Das Feld {field} muss 0:{min} oder mehr sein", min: "Das Feld {field} muss mindestens 0:{length} Zeichen lang sein", numeric: "Das Feld {field} darf nur numerische Zeichen enthalten", one_of: "Das Feld {field} hat keinen gültigen Wert", regex: "Das Format des Feldes {field} ist ungültig", required_if: "Das Feld {field} ist erforderlich", required: "Das Feld {field} ist erforderlich", size: "Die Größe des Feldes {field} muss kleiner als 0:{size}KB sein", url: "Das Feld {field} ist keine gültige URL", min_dimensions: { error: "Die Bildabmessungen müssen größer als {height}*{width} sein", not_image_error: "Keine Bilddatei" }, file_weight: "Die Dateigröße darf maximal {size} kb betragen", before: "Das Enddatum muss früher als das Startdatum sein", after: "Das Enddatum muss später als das Startdatum sein", bigint: "Nicht unterstützte Zahl" }, Pa = { ACCESS_RESTRICTED: "Zugriff eingeschränkt" }, ba = { LOADING: "Virto OZ wird geladen..." }, Na = { AGENDA: "Ereignisliste", ALL_DAY: "Ganztägig", CANCEL: "Abbrechen", CLOSE: "Schließen", COLOR: "Farbe", COLOR_DEFAULT: "Standardfarbe", COLOR_CUSTOM: "Eigene Farbe", COLOR_BLUE: "Blau", COLOR_GREEN: "Grün", COLOR_AMBER: "Gelb", COLOR_RED: "Rot", COLOR_PURPLE: "Violett", COLOR_PINK: "Rosa", COLOR_TEAL: "Türkis", COLOR_SLATE: "Grau", DAY: "Tag", DAY_N_OF_M: "Tag {n} von {total}", DELETE: "Löschen", DELETE_CONFIRM_BODY: '"{title}" löschen? Dies kann nicht rückgängig gemacht werden.', DELETE_CONFIRM_TITLE: "Ereignis löschen", EDIT: "Bearbeiten", EDIT_EVENT: "Ereignis bearbeiten", EMPTY: "Keine Ereignisse in diesem Zeitraum", EMPTY_HINT: "Noch keine Ereignisse. Klicke auf einen Tag, um eins hinzuzufügen.", END: "Ende", LOADING: "Ereignisse werden geladen…", MORE: "+{count} weitere", MORE_EVENTS: "Weitere Ereignisse", MONTH: "Monat", MORE_OPTIONS: "Weitere Optionen", NEW_EVENT: "Neues Ereignis", NEXT: "Nächster Zeitraum", PREVIOUS: "Vorheriger Zeitraum", RECUR_SCOPE_ALL: "Alle Ereignisse", RECUR_SCOPE_BODY_DELETE: "Dieses Ereignis ist Teil einer wiederkehrenden Serie. Möchten Sie nur dieses Ereignis oder alle Ereignisse der Serie löschen?", RECUR_SCOPE_BODY_EDIT: "Dieses Ereignis ist Teil einer wiederkehrenden Serie. Möchten Sie nur dieses Ereignis oder alle Ereignisse der Serie bearbeiten?", RECUR_SCOPE_THIS: "Dieses Ereignis", RECUR_SCOPE_TITLE: "Wiederkehrendes Ereignis", REPEAT: "Wiederholen", REPEAT_DAILY: "Täglich", REPEAT_END: "Endet", REPEAT_END_COUNT: "Nach", REPEAT_END_NEVER: "Nie", REPEAT_END_UNTIL: "Am Datum", REPEAT_EVERY: "Wiederholen alle", REPEAT_UNIT_DAYS: "Tag(e)", REPEAT_UNIT_WEEKS: "Woche(n)", REPEAT_UNIT_MONTHS: "Monat(e)", REPEAT_UNIT_YEARS: "Jahr(e)", REPEAT_MONTHLY: "Monatlich", REPEAT_NONE: "Keine Wiederholung", REPEAT_OCCURRENCES: "Vorkommen", REPEAT_ON: "Wiederholen am", REPEAT_WEEKLY: "Wöchentlich", REPEAT_YEARLY: "Jährlich", SAVE: "Speichern", START: "Beginn", TIMELINE: "Zeitachse", TIMELINE_DAY: "Zeitachse Tag", TIMELINE_WEEK: "Zeitachse Woche", TITLE: "Titel", TODAY: "Heute", WEEK: "Woche", WORK_WEEK: "Arbeitswoche", ZOOM_IN: "Vergrößern", ZOOM_OUT: "Verkleinern", EVENT_DETAILS: "Termindetails" }, Da = { no_options: "Keine Optionen" }, Vo = {
|
|
1854
1864
|
CORE: Ta,
|
|
1855
|
-
SHELL:
|
|
1856
|
-
COMPONENTS:
|
|
1865
|
+
SHELL: ha,
|
|
1866
|
+
COMPONENTS: La,
|
|
1857
1867
|
INVITATION: Oa,
|
|
1858
1868
|
LOGIN: Ra,
|
|
1859
1869
|
FORGOT_PASSWORD: _a,
|
|
@@ -1861,23 +1871,23 @@ Bitte melden Sie sich erneut an oder wenden Sie sich an den Administrator.`, NET
|
|
|
1861
1871
|
ASSETS_MANAGER: va,
|
|
1862
1872
|
ASSETS: wa,
|
|
1863
1873
|
messages: Ca,
|
|
1864
|
-
PERMISSION_MESSAGES:
|
|
1865
|
-
AI_AGENT:
|
|
1874
|
+
PERMISSION_MESSAGES: Pa,
|
|
1875
|
+
AI_AGENT: ba,
|
|
1866
1876
|
VC_SCHEDULER: Na,
|
|
1867
1877
|
common: Da
|
|
1868
1878
|
}, Uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1869
1879
|
__proto__: null,
|
|
1870
|
-
AI_AGENT:
|
|
1880
|
+
AI_AGENT: ba,
|
|
1871
1881
|
ASSETS: wa,
|
|
1872
1882
|
ASSETS_MANAGER: va,
|
|
1873
|
-
COMPONENTS:
|
|
1883
|
+
COMPONENTS: La,
|
|
1874
1884
|
CORE: Ta,
|
|
1875
1885
|
FORGOT_PASSWORD: _a,
|
|
1876
1886
|
INVITATION: Oa,
|
|
1877
1887
|
LOGIN: Ra,
|
|
1878
1888
|
PASSWORDRESET: Ia,
|
|
1879
|
-
PERMISSION_MESSAGES:
|
|
1880
|
-
SHELL:
|
|
1889
|
+
PERMISSION_MESSAGES: Pa,
|
|
1890
|
+
SHELL: ha,
|
|
1881
1891
|
VC_SCHEDULER: Na,
|
|
1882
1892
|
common: Da,
|
|
1883
1893
|
default: Vo,
|
|
@@ -1890,13 +1900,13 @@ Bitte melden Sie sich erneut an oder wenden Sie sich an den Administrator.`, NET
|
|
|
1890
1900
|
function De(e) {
|
|
1891
1901
|
return e instanceof Error ? `${e.name}:${e.message}` : String(e);
|
|
1892
1902
|
}
|
|
1893
|
-
const pe = /* @__PURE__ */ new Map(),
|
|
1903
|
+
const pe = /* @__PURE__ */ new Map(), Pt = 3e3;
|
|
1894
1904
|
function Qe(e) {
|
|
1895
1905
|
const t = De(e), a = Date.now(), n = pe.get(t);
|
|
1896
|
-
if (n && a - n <
|
|
1906
|
+
if (n && a - n < Pt) return !0;
|
|
1897
1907
|
if (pe.set(t, a), pe.size > 50)
|
|
1898
1908
|
for (const [s, o] of pe)
|
|
1899
|
-
a - o >
|
|
1909
|
+
a - o > Pt && pe.delete(s);
|
|
1900
1910
|
return !1;
|
|
1901
1911
|
}
|
|
1902
1912
|
function Wo(e) {
|
|
@@ -1904,8 +1914,8 @@ function Wo(e) {
|
|
|
1904
1914
|
if (e.config.errorHandler = (o, r, l) => {
|
|
1905
1915
|
if (Je.error("Unhandled Vue error:", o, `
|
|
1906
1916
|
Info:`, l), !Qe(o)) {
|
|
1907
|
-
const
|
|
1908
|
-
|
|
1917
|
+
const c = Pe(o);
|
|
1918
|
+
j.error(c.message, {
|
|
1909
1919
|
timeout: 8e3,
|
|
1910
1920
|
notificationId: `global-vue-${De(o)}`
|
|
1911
1921
|
});
|
|
@@ -1917,8 +1927,8 @@ Info:`, l), !Qe(o)) {
|
|
|
1917
1927
|
a.__VC_GLOBAL_ERROR_HANDLERS_INSTALLED__ = !0;
|
|
1918
1928
|
const n = (o) => {
|
|
1919
1929
|
if (Je.error("Unhandled rejection:", o.reason), !Qe(o.reason)) {
|
|
1920
|
-
const r =
|
|
1921
|
-
|
|
1930
|
+
const r = Pe(o.reason);
|
|
1931
|
+
j.error(r.message, {
|
|
1922
1932
|
timeout: 8e3,
|
|
1923
1933
|
notificationId: `global-rejection-${De(o.reason)}`
|
|
1924
1934
|
});
|
|
@@ -1927,8 +1937,8 @@ Info:`, l), !Qe(o)) {
|
|
|
1927
1937
|
window.addEventListener("unhandledrejection", n);
|
|
1928
1938
|
const s = (o) => {
|
|
1929
1939
|
if (o.error && (Je.error("Uncaught error:", o.error), !Qe(o.error))) {
|
|
1930
|
-
const r =
|
|
1931
|
-
|
|
1940
|
+
const r = Pe(o.error);
|
|
1941
|
+
j.error(r.message, {
|
|
1932
1942
|
timeout: 8e3,
|
|
1933
1943
|
notificationId: `global-error-${De(o.error)}`
|
|
1934
1944
|
});
|
|
@@ -1973,14 +1983,14 @@ function Go() {
|
|
|
1973
1983
|
getInstanceByPosition: n
|
|
1974
1984
|
};
|
|
1975
1985
|
}
|
|
1976
|
-
const
|
|
1977
|
-
"top-center":
|
|
1978
|
-
"top-right":
|
|
1979
|
-
"top-left":
|
|
1980
|
-
"bottom-center":
|
|
1981
|
-
"bottom-right":
|
|
1982
|
-
"bottom-left":
|
|
1983
|
-
}, { clearContainer: xo, unmountComponent: $o, saveInstance: Ko, getInstanceByPosition:
|
|
1986
|
+
const de = k("notification-container"), G = {
|
|
1987
|
+
"top-center": b([]),
|
|
1988
|
+
"top-right": b([]),
|
|
1989
|
+
"top-left": b([]),
|
|
1990
|
+
"bottom-center": b([]),
|
|
1991
|
+
"bottom-right": b([]),
|
|
1992
|
+
"bottom-left": b([])
|
|
1993
|
+
}, { clearContainer: xo, unmountComponent: $o, saveInstance: Ko, getInstanceByPosition: bt } = Go();
|
|
1984
1994
|
function zo() {
|
|
1985
1995
|
const e = ie({
|
|
1986
1996
|
timeout: 3e3,
|
|
@@ -1998,43 +2008,43 @@ function zo() {
|
|
|
1998
2008
|
}
|
|
1999
2009
|
function s(u) {
|
|
2000
2010
|
const f = document.querySelector(".notification"), m = f || document.createElement("div"), E = `.notification__container[data-position="${u}"]`;
|
|
2001
|
-
let
|
|
2002
|
-
return
|
|
2011
|
+
let d = document.querySelector(E);
|
|
2012
|
+
return d || (d = document.createElement("div"), d.className = "notification__container", d.id = `notification-${u}`, d.setAttribute("data-position", u), f || (m.className = "notification", document.body.appendChild(m)), m.appendChild(d)), d;
|
|
2003
2013
|
}
|
|
2004
2014
|
const o = /* @__PURE__ */ new Map();
|
|
2005
2015
|
async function r(u) {
|
|
2006
2016
|
const f = u.position || e.position, m = o.get(f);
|
|
2007
|
-
if (m && await m, !
|
|
2017
|
+
if (m && await m, !bt(f)) {
|
|
2008
2018
|
const E = (async () => {
|
|
2009
|
-
const
|
|
2019
|
+
const d = s(f), { default: S } = await Promise.resolve().then(() => Rr), h = sn(S, {
|
|
2010
2020
|
...u,
|
|
2011
2021
|
position: f
|
|
2012
2022
|
});
|
|
2013
|
-
|
|
2023
|
+
h.use(x), h.provide(jt, { notificationContainers: G, actions: c }), h.mount(d), Ko(h, d.id, f);
|
|
2014
2024
|
})();
|
|
2015
2025
|
o.set(f, E), await E, o.delete(f);
|
|
2016
2026
|
}
|
|
2017
|
-
|
|
2018
|
-
u.updateId ?
|
|
2027
|
+
be(() => {
|
|
2028
|
+
u.updateId ? c.update(u) : c.add(u);
|
|
2019
2029
|
});
|
|
2020
2030
|
}
|
|
2021
2031
|
function l(u) {
|
|
2022
2032
|
return t().some((f) => f.notificationId === u);
|
|
2023
2033
|
}
|
|
2024
|
-
const
|
|
2034
|
+
const c = {
|
|
2025
2035
|
add(u) {
|
|
2026
2036
|
const f = u.position || e.position, m = G[f];
|
|
2027
|
-
m.value.find((
|
|
2037
|
+
m.value.find((d) => d.notificationId === u.notificationId) || be(() => {
|
|
2028
2038
|
m.value.push(u), u.onOpen && typeof u?.onOpen == "function" && u.onOpen(u.payload);
|
|
2029
2039
|
});
|
|
2030
2040
|
},
|
|
2031
2041
|
remove(u) {
|
|
2032
2042
|
if (u) {
|
|
2033
2043
|
let f, m;
|
|
2034
|
-
Object.entries(G).forEach(([E,
|
|
2035
|
-
const S =
|
|
2044
|
+
Object.entries(G).forEach(([E, d]) => {
|
|
2045
|
+
const S = d.value.find((h) => h.notificationId === u);
|
|
2036
2046
|
S && (f = S, m = E);
|
|
2037
|
-
}), m && (G[m].value = G[m].value.filter((E) => E.notificationId !== u), G[m].value.length === 0 && $o(m),
|
|
2047
|
+
}), m && (G[m].value = G[m].value.filter((E) => E.notificationId !== u), G[m].value.length === 0 && $o(m), be(() => {
|
|
2038
2048
|
f?.onClose && typeof f?.onClose == "function" && f.onClose(f.payload);
|
|
2039
2049
|
}));
|
|
2040
2050
|
}
|
|
@@ -2051,34 +2061,34 @@ function zo() {
|
|
|
2051
2061
|
m.value.forEach((E) => {
|
|
2052
2062
|
E.notificationId === u && (E.dismissing = !0, f = !0);
|
|
2053
2063
|
});
|
|
2054
|
-
}), f ||
|
|
2064
|
+
}), f || de.debug(`dismiss: notification ${u} not found`);
|
|
2055
2065
|
},
|
|
2056
2066
|
update(u) {
|
|
2057
2067
|
if (u.updateId) {
|
|
2058
2068
|
let f, m, E;
|
|
2059
|
-
if (Object.entries(G).forEach(([
|
|
2060
|
-
const
|
|
2061
|
-
|
|
2069
|
+
if (Object.entries(G).forEach(([d, S]) => {
|
|
2070
|
+
const h = S.value.find((L) => L.notificationId === u.notificationId);
|
|
2071
|
+
h && (f = h, m = S, E = d);
|
|
2062
2072
|
}), f && m) {
|
|
2063
|
-
if (
|
|
2073
|
+
if (de.debug(`Updating notification ${u.notificationId} in position ${E}`), u.position && u.position !== E) {
|
|
2064
2074
|
m.value = m.value.filter(
|
|
2065
|
-
(
|
|
2075
|
+
(h) => h.notificationId !== u.notificationId
|
|
2066
2076
|
);
|
|
2067
|
-
const
|
|
2077
|
+
const d = {
|
|
2068
2078
|
...f,
|
|
2069
2079
|
...u
|
|
2070
2080
|
}, S = u.position;
|
|
2071
|
-
|
|
2081
|
+
bt(S) ? (de.debug(`Adding to existing container for position ${S}`), G[S].value.push(d)) : (de.debug(`Creating new container for position ${S}`), r(d));
|
|
2072
2082
|
} else
|
|
2073
|
-
|
|
2074
|
-
if (
|
|
2075
|
-
const S =
|
|
2076
|
-
f &&
|
|
2083
|
+
de.debug("Standard update of notification properties"), Object.keys(u).forEach((d) => {
|
|
2084
|
+
if (d !== "updateId" && d !== "notificationId") {
|
|
2085
|
+
const S = d, h = u[S];
|
|
2086
|
+
f && h !== void 0 && (f[S] = h);
|
|
2077
2087
|
}
|
|
2078
2088
|
});
|
|
2079
2089
|
return !0;
|
|
2080
2090
|
} else
|
|
2081
|
-
return
|
|
2091
|
+
return de.warn(`Notification with ID ${u.notificationId} not found for update`), !1;
|
|
2082
2092
|
}
|
|
2083
2093
|
return !1;
|
|
2084
2094
|
},
|
|
@@ -2089,7 +2099,7 @@ function zo() {
|
|
|
2089
2099
|
return {
|
|
2090
2100
|
defaultOptions: e,
|
|
2091
2101
|
notificationContainers: G,
|
|
2092
|
-
actions:
|
|
2102
|
+
actions: c,
|
|
2093
2103
|
getAllNotifications: t,
|
|
2094
2104
|
getNotificationsByPosition: a,
|
|
2095
2105
|
appendInstance: r,
|
|
@@ -2109,12 +2119,12 @@ function qo() {
|
|
|
2109
2119
|
hasNotification: (t) => e.hasNotification(t)
|
|
2110
2120
|
});
|
|
2111
2121
|
}
|
|
2112
|
-
const Yo = "2.6.3-rc.0-
|
|
2122
|
+
const Yo = "2.6.3-rc.0-pr380.ae2f7ea";
|
|
2113
2123
|
function Zo() {
|
|
2114
2124
|
return {
|
|
2115
2125
|
version: Yo,
|
|
2116
|
-
buildDate: "2026-10-
|
|
2117
|
-
gitHash: "
|
|
2126
|
+
buildDate: "2026-10-07T09:54:54.409Z",
|
|
2127
|
+
gitHash: "ae2f7eada"
|
|
2118
2128
|
};
|
|
2119
2129
|
}
|
|
2120
2130
|
function jo(e = Zo()) {
|
|
@@ -2135,19 +2145,19 @@ const Xo = /* @__PURE__ */ H({
|
|
|
2135
2145
|
},
|
|
2136
2146
|
emits: ["close"],
|
|
2137
2147
|
setup(e, { emit: t }) {
|
|
2138
|
-
const a = e, n = t, { isMobile: s, isDesktop: o } = Ha(), r =
|
|
2139
|
-
function
|
|
2148
|
+
const a = e, n = t, { isMobile: s, isDesktop: o } = Ha(), r = I(() => a.render === "always" ? !0 : a.render === "mobile" ? s.value : o.value), l = I(() => a.isExpanded && r.value);
|
|
2149
|
+
function c(u) {
|
|
2140
2150
|
u || n("close");
|
|
2141
2151
|
}
|
|
2142
|
-
return (u, f) => l.value ? (
|
|
2152
|
+
return (u, f) => l.value ? (P(), D(i(_n), {
|
|
2143
2153
|
key: 0,
|
|
2144
2154
|
"model-value": !0,
|
|
2145
2155
|
position: e.position,
|
|
2146
2156
|
title: e.title,
|
|
2147
2157
|
"close-button": e.closeCross,
|
|
2148
2158
|
teleport: !i(o),
|
|
2149
|
-
"onUpdate:modelValue":
|
|
2150
|
-
},
|
|
2159
|
+
"onUpdate:modelValue": c
|
|
2160
|
+
}, Le({
|
|
2151
2161
|
default: T(() => [
|
|
2152
2162
|
Y(u.$slots, "content")
|
|
2153
2163
|
]),
|
|
@@ -2171,8 +2181,8 @@ const Xo = /* @__PURE__ */ H({
|
|
|
2171
2181
|
},
|
|
2172
2182
|
emits: ["signIn"],
|
|
2173
2183
|
setup(e) {
|
|
2174
|
-
const t = e, a =
|
|
2175
|
-
return (n, s) => (
|
|
2184
|
+
const t = e, a = I(() => t.logo && !t.logo.startsWith("data:image") && !t.logo.startsWith("http") ? new URL(t.logo, window.location.origin).toString() : t.logo);
|
|
2185
|
+
return (n, s) => (P(), D(i($), {
|
|
2176
2186
|
variant: "secondary",
|
|
2177
2187
|
class: "vc-external-provider",
|
|
2178
2188
|
onClick: s[0] || (s[0] = (o) => n.$emit("signIn"))
|
|
@@ -2197,8 +2207,8 @@ const Xo = /* @__PURE__ */ H({
|
|
|
2197
2207
|
},
|
|
2198
2208
|
setup(e) {
|
|
2199
2209
|
const { signIn: t } = Kt();
|
|
2200
|
-
return (a, n) => (
|
|
2201
|
-
(
|
|
2210
|
+
return (a, n) => (P(), W("div", er, [
|
|
2211
|
+
(P(!0), W(ne, null, We(e.providers, (s) => (P(), D(Qo, {
|
|
2202
2212
|
key: s.authenticationType,
|
|
2203
2213
|
logo: s.logoUrl,
|
|
2204
2214
|
"display-name": s.displayName,
|
|
@@ -2236,46 +2246,44 @@ const or = {
|
|
|
2236
2246
|
ssoOnly: { type: Boolean }
|
|
2237
2247
|
},
|
|
2238
2248
|
setup(e) {
|
|
2239
|
-
const t = k("login-page"), a = e, { t: n } = le({ useScope: "global" }), s = ve(), { validateField: o } = ue({ validateOnMount: !1 }), { uiSettings: r, loading: l } = we(),
|
|
2249
|
+
const t = k("login-page"), a = e, { t: n } = le({ useScope: "global" }), s = ve(), { validateField: o } = ue({ validateOnMount: !1 }), { uiSettings: r, loading: l } = we(), c = b({ succeeded: !0 }), { signIn: u, loading: f, user: m } = se(), { getProviders: E } = Kt(), d = Ie(), S = b(), h = b(!1);
|
|
2240
2250
|
Oe(async () => {
|
|
2241
|
-
S.value = await E(),
|
|
2251
|
+
S.value = await E(), h.value = !0;
|
|
2242
2252
|
});
|
|
2243
|
-
const
|
|
2253
|
+
const L = I(() => ({
|
|
2244
2254
|
logo: l.value ? "" : r.value?.logo || a.logo
|
|
2245
|
-
})),
|
|
2255
|
+
})), v = ie({
|
|
2246
2256
|
username: "",
|
|
2247
|
-
password: ""
|
|
2248
|
-
// Off by default, as in the platform admin UI: a session cookie unless the user asks to be remembered.
|
|
2249
|
-
rememberMe: !1
|
|
2257
|
+
password: ""
|
|
2250
2258
|
}), w = async () => {
|
|
2251
|
-
if (
|
|
2252
|
-
if (
|
|
2259
|
+
if (d.value) {
|
|
2260
|
+
if (c.value.error = "", c.value = await u(v.username, v.password), c.value.succeeded && m.value?.passwordExpired) {
|
|
2253
2261
|
await s.push({ name: "ChangePassword" });
|
|
2254
2262
|
return;
|
|
2255
2263
|
}
|
|
2256
|
-
if (
|
|
2264
|
+
if (c.value.succeeded) {
|
|
2257
2265
|
const A = ar(localStorage.getItem("redirectAfterLogin"));
|
|
2258
2266
|
localStorage.removeItem("redirectAfterLogin"), await s.push(A);
|
|
2259
2267
|
return;
|
|
2260
2268
|
}
|
|
2261
|
-
|
|
2269
|
+
c.value.error = nr(c.value, n), v.password = "", o("password");
|
|
2262
2270
|
}
|
|
2263
2271
|
}, C = () => {
|
|
2264
2272
|
s.push({ name: "ForgotPassword" });
|
|
2265
2273
|
};
|
|
2266
|
-
return t.debug("Init login-page"), (A, g) => (
|
|
2267
|
-
logo:
|
|
2274
|
+
return t.debug("Init login-page"), (A, g) => (P(), D(i(_e), {
|
|
2275
|
+
logo: L.value.logo,
|
|
2268
2276
|
background: e.background,
|
|
2269
2277
|
title: e.title || A.$t("LOGIN.TITLE"),
|
|
2270
2278
|
subtitle: e.subtitle || A.$t("LOGIN.SUBTITLE"),
|
|
2271
2279
|
class: "vc-login-page"
|
|
2272
2280
|
}, {
|
|
2273
2281
|
default: T(() => [
|
|
2274
|
-
S.value && S.value.length ? (
|
|
2282
|
+
S.value && S.value.length ? (P(), W("div", or, [
|
|
2275
2283
|
R(tr, { providers: S.value }, null, 8, ["providers"]),
|
|
2276
|
-
e.ssoOnly ? q("", !0) : (
|
|
2284
|
+
e.ssoOnly ? q("", !0) : (P(), W("div", rr, y(A.$t("LOGIN.OR")), 1))
|
|
2277
2285
|
])) : q("", !0),
|
|
2278
|
-
e.ssoOnly &&
|
|
2286
|
+
e.ssoOnly && h.value && !S.value?.length ? (P(), D(i(Ee), {
|
|
2279
2287
|
key: 1,
|
|
2280
2288
|
class: "tw-mt-4 tw-text-danger-500"
|
|
2281
2289
|
}, {
|
|
@@ -2284,48 +2292,48 @@ const or = {
|
|
|
2284
2292
|
]),
|
|
2285
2293
|
_: 1
|
|
2286
2294
|
})) : q("", !0),
|
|
2287
|
-
e.ssoOnly ? q("", !0) : (
|
|
2295
|
+
e.ssoOnly ? q("", !0) : (P(), W(ne, { key: 2 }, [
|
|
2288
2296
|
R(i(me), {
|
|
2289
2297
|
class: "tw-gap-5",
|
|
2290
2298
|
onSubmit: w
|
|
2291
2299
|
}, {
|
|
2292
2300
|
default: T(() => [
|
|
2293
|
-
R(i(
|
|
2301
|
+
R(i(X), {
|
|
2294
2302
|
label: A.$t("LOGIN.FIELDS.LOGIN.LABEL"),
|
|
2295
2303
|
name: "username",
|
|
2296
|
-
"model-value":
|
|
2304
|
+
"model-value": v.username,
|
|
2297
2305
|
rules: "required"
|
|
2298
2306
|
}, {
|
|
2299
|
-
default: T(({ errorMessage: O, handleChange: p, errors:
|
|
2300
|
-
R(i(
|
|
2307
|
+
default: T(({ errorMessage: O, handleChange: p, errors: _ }) => [
|
|
2308
|
+
R(i(K), {
|
|
2301
2309
|
ref: "loginField",
|
|
2302
|
-
modelValue:
|
|
2310
|
+
modelValue: v.username,
|
|
2303
2311
|
"onUpdate:modelValue": [
|
|
2304
|
-
g[0] || (g[0] = (N) =>
|
|
2312
|
+
g[0] || (g[0] = (N) => v.username = N),
|
|
2305
2313
|
p
|
|
2306
2314
|
],
|
|
2307
2315
|
label: A.$t("LOGIN.FIELDS.LOGIN.LABEL"),
|
|
2308
2316
|
placeholder: A.$t("LOGIN.FIELDS.LOGIN.PLACEHOLDER"),
|
|
2309
2317
|
autocomplete: "username",
|
|
2310
2318
|
required: "",
|
|
2311
|
-
error: !!
|
|
2319
|
+
error: !!_.length,
|
|
2312
2320
|
"error-message": O
|
|
2313
2321
|
}, null, 8, ["modelValue", "label", "placeholder", "error", "error-message", "onUpdate:modelValue"])
|
|
2314
2322
|
]),
|
|
2315
2323
|
_: 1
|
|
2316
2324
|
}, 8, ["label", "model-value"]),
|
|
2317
|
-
R(i(
|
|
2325
|
+
R(i(X), {
|
|
2318
2326
|
label: A.$t("LOGIN.FIELDS.PASSWORD.LABEL"),
|
|
2319
2327
|
name: "password",
|
|
2320
|
-
"model-value":
|
|
2328
|
+
"model-value": v.password,
|
|
2321
2329
|
rules: "required"
|
|
2322
2330
|
}, {
|
|
2323
|
-
default: T(({ errorMessage: O, handleChange: p, errors:
|
|
2324
|
-
R(i(
|
|
2331
|
+
default: T(({ errorMessage: O, handleChange: p, errors: _ }) => [
|
|
2332
|
+
R(i(K), {
|
|
2325
2333
|
ref: "passwordField",
|
|
2326
|
-
modelValue:
|
|
2334
|
+
modelValue: v.password,
|
|
2327
2335
|
"onUpdate:modelValue": [
|
|
2328
|
-
g[1] || (g[1] = (N) =>
|
|
2336
|
+
g[1] || (g[1] = (N) => v.password = N),
|
|
2329
2337
|
p
|
|
2330
2338
|
],
|
|
2331
2339
|
label: A.$t("LOGIN.FIELDS.PASSWORD.LABEL"),
|
|
@@ -2333,29 +2341,18 @@ const or = {
|
|
|
2333
2341
|
type: "password",
|
|
2334
2342
|
autocomplete: "current-password",
|
|
2335
2343
|
required: "",
|
|
2336
|
-
error: !!
|
|
2344
|
+
error: !!_.length,
|
|
2337
2345
|
"error-message": O,
|
|
2338
2346
|
onKeyup: lt(w, ["enter"])
|
|
2339
2347
|
}, null, 8, ["modelValue", "label", "placeholder", "error", "error-message", "onUpdate:modelValue"])
|
|
2340
2348
|
]),
|
|
2341
2349
|
_: 1
|
|
2342
2350
|
}, 8, ["label", "model-value"]),
|
|
2343
|
-
R(i(
|
|
2344
|
-
modelValue: _.rememberMe,
|
|
2345
|
-
"onUpdate:modelValue": g[2] || (g[2] = (O) => _.rememberMe = O),
|
|
2346
|
-
name: "rememberMe",
|
|
2347
|
-
"data-test-id": "login-remember-me"
|
|
2348
|
-
}, {
|
|
2349
|
-
default: T(() => [
|
|
2350
|
-
M(y(A.$t("LOGIN.FIELDS.REMEMBER_ME.LABEL")), 1)
|
|
2351
|
-
]),
|
|
2352
|
-
_: 1
|
|
2353
|
-
}, 8, ["modelValue"]),
|
|
2354
|
-
R(i(x), {
|
|
2351
|
+
R(i($), {
|
|
2355
2352
|
variant: "primary",
|
|
2356
2353
|
class: "tw-w-full",
|
|
2357
2354
|
icon: "lucide-log-in",
|
|
2358
|
-
disabled: !i(
|
|
2355
|
+
disabled: !i(d),
|
|
2359
2356
|
loading: i(f),
|
|
2360
2357
|
onClick: w
|
|
2361
2358
|
}, {
|
|
@@ -2364,7 +2361,7 @@ const or = {
|
|
|
2364
2361
|
]),
|
|
2365
2362
|
_: 1
|
|
2366
2363
|
}, 8, ["disabled", "loading"]),
|
|
2367
|
-
R(i(
|
|
2364
|
+
R(i($), {
|
|
2368
2365
|
variant: "link",
|
|
2369
2366
|
class: "tw-w-full tw-justify-center",
|
|
2370
2367
|
type: "button",
|
|
@@ -2378,18 +2375,18 @@ const or = {
|
|
|
2378
2375
|
]),
|
|
2379
2376
|
_: 1
|
|
2380
2377
|
}),
|
|
2381
|
-
R(i(
|
|
2378
|
+
R(i(Rs), {
|
|
2382
2379
|
name: "auth:after-form",
|
|
2383
2380
|
separator: "",
|
|
2384
2381
|
"separator-class": "tw-border-t tw-border-[color:var(--login-separator)] tw-border-solid tw-pb-5",
|
|
2385
2382
|
"wrapper-class": "vc-login-page__separator"
|
|
2386
2383
|
}),
|
|
2387
|
-
|
|
2384
|
+
c.value.succeeded ? q("", !0) : (P(), D(i(Ee), {
|
|
2388
2385
|
key: 0,
|
|
2389
2386
|
class: "tw-mt-4 tw-text-danger-500"
|
|
2390
2387
|
}, {
|
|
2391
2388
|
default: T(() => [
|
|
2392
|
-
M(y(
|
|
2389
|
+
M(y(c.value.error), 1)
|
|
2393
2390
|
]),
|
|
2394
2391
|
_: 1
|
|
2395
2392
|
}))
|
|
@@ -2398,7 +2395,7 @@ const or = {
|
|
|
2398
2395
|
_: 1
|
|
2399
2396
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2400
2397
|
}
|
|
2401
|
-
}), Hl = ir, lr = { class: "tw-text-center" }, ur = { class: "tw-text-center tw-mb-6" },
|
|
2398
|
+
}), Hl = ir, lr = { class: "tw-text-center" }, ur = { class: "tw-text-center tw-mb-6" }, cr = { class: "tw-text-sm tw-text-neutrals-600" }, dr = /* @__PURE__ */ H({
|
|
2402
2399
|
__name: "ForgotPassword",
|
|
2403
2400
|
props: {
|
|
2404
2401
|
logo: {},
|
|
@@ -2408,71 +2405,71 @@ const or = {
|
|
|
2408
2405
|
setup(e) {
|
|
2409
2406
|
const t = e, a = ve(), { t: n } = le({ useScope: "global" });
|
|
2410
2407
|
ue({ validateOnMount: !1 });
|
|
2411
|
-
const s = Ie(), { uiSettings: o, loading: r } = we(), l =
|
|
2408
|
+
const s = Ie(), { uiSettings: o, loading: r } = we(), l = b(!1), c = b(""), u = b(!1), f = ie({
|
|
2412
2409
|
loginOrEmail: ""
|
|
2413
2410
|
});
|
|
2414
2411
|
let m;
|
|
2415
2412
|
if (t.composable && typeof t.composable == "function")
|
|
2416
2413
|
m = t.composable().forgotPassword;
|
|
2417
2414
|
else {
|
|
2418
|
-
const { requestPasswordReset:
|
|
2419
|
-
m = async (
|
|
2420
|
-
await
|
|
2415
|
+
const { requestPasswordReset: L } = se();
|
|
2416
|
+
m = async (v) => {
|
|
2417
|
+
await L(v.loginOrEmail);
|
|
2421
2418
|
};
|
|
2422
2419
|
}
|
|
2423
|
-
const E =
|
|
2420
|
+
const E = I(() => ({
|
|
2424
2421
|
logo: r.value ? "" : o.value?.logo || t.logo
|
|
2425
|
-
})),
|
|
2426
|
-
const
|
|
2427
|
-
return !
|
|
2422
|
+
})), d = I(() => {
|
|
2423
|
+
const L = f.loginOrEmail, [v, w] = L.split("@");
|
|
2424
|
+
return !v || !w ? L : `${v.length > 2 ? v[0] + "***" + v[v.length - 1] : v[0] + "***"}@${w}`;
|
|
2428
2425
|
}), S = async () => {
|
|
2429
2426
|
if (!(!s.value || !m))
|
|
2430
2427
|
try {
|
|
2431
|
-
l.value = !0,
|
|
2432
|
-
} catch (
|
|
2433
|
-
|
|
2428
|
+
l.value = !0, c.value = "", await m({ loginOrEmail: f.loginOrEmail }), u.value = !0;
|
|
2429
|
+
} catch (L) {
|
|
2430
|
+
c.value = L instanceof Error ? L.message : String(L);
|
|
2434
2431
|
} finally {
|
|
2435
2432
|
l.value = !1;
|
|
2436
2433
|
}
|
|
2437
|
-
},
|
|
2434
|
+
}, h = () => {
|
|
2438
2435
|
a.push({ name: "Login" });
|
|
2439
2436
|
};
|
|
2440
|
-
return (
|
|
2437
|
+
return (L, v) => (P(), D(i(_e), {
|
|
2441
2438
|
logo: E.value.logo,
|
|
2442
2439
|
background: e.background,
|
|
2443
2440
|
title: u.value ? i(n)("FORGOT_PASSWORD.SUCCESS_TITLE") : i(n)("FORGOT_PASSWORD.TITLE"),
|
|
2444
2441
|
subtitle: u.value ? void 0 : i(n)("FORGOT_PASSWORD.SUBTITLE")
|
|
2445
2442
|
}, {
|
|
2446
2443
|
default: T(() => [
|
|
2447
|
-
u.value ? (
|
|
2444
|
+
u.value ? (P(), W(ne, { key: 1 }, [
|
|
2448
2445
|
U("div", ur, [
|
|
2449
|
-
U("p",
|
|
2446
|
+
U("p", cr, y(i(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: d.value })), 1)
|
|
2450
2447
|
]),
|
|
2451
|
-
R(i(
|
|
2448
|
+
R(i($), {
|
|
2452
2449
|
variant: "primary",
|
|
2453
2450
|
class: "tw-w-full",
|
|
2454
|
-
onClick:
|
|
2451
|
+
onClick: h
|
|
2455
2452
|
}, {
|
|
2456
2453
|
default: T(() => [
|
|
2457
2454
|
M(y(i(n)("FORGOT_PASSWORD.BACK_TO_LOGIN")), 1)
|
|
2458
2455
|
]),
|
|
2459
2456
|
_: 1
|
|
2460
2457
|
})
|
|
2461
|
-
], 64)) : (
|
|
2458
|
+
], 64)) : (P(), W(ne, { key: 0 }, [
|
|
2462
2459
|
R(i(me), { onSubmit: S }, {
|
|
2463
2460
|
default: T(() => [
|
|
2464
|
-
R(i(
|
|
2461
|
+
R(i(X), {
|
|
2465
2462
|
label: i(n)("FORGOT_PASSWORD.FIELDS.EMAIL.LABEL"),
|
|
2466
2463
|
name: "loginOrEmail",
|
|
2467
2464
|
"model-value": f.loginOrEmail,
|
|
2468
2465
|
rules: "required|email"
|
|
2469
2466
|
}, {
|
|
2470
2467
|
default: T(({ errorMessage: w, handleChange: C, errors: A }) => [
|
|
2471
|
-
R(i(
|
|
2468
|
+
R(i(K), {
|
|
2472
2469
|
ref: "emailField",
|
|
2473
2470
|
modelValue: f.loginOrEmail,
|
|
2474
2471
|
"onUpdate:modelValue": [
|
|
2475
|
-
|
|
2472
|
+
v[0] || (v[0] = (g) => f.loginOrEmail = g),
|
|
2476
2473
|
C
|
|
2477
2474
|
],
|
|
2478
2475
|
class: "tw-mb-6",
|
|
@@ -2485,7 +2482,7 @@ const or = {
|
|
|
2485
2482
|
]),
|
|
2486
2483
|
_: 1
|
|
2487
2484
|
}, 8, ["label", "model-value"]),
|
|
2488
|
-
R(i(
|
|
2485
|
+
R(i($), {
|
|
2489
2486
|
variant: "primary",
|
|
2490
2487
|
class: "tw-w-full tw-mb-4",
|
|
2491
2488
|
disabled: !i(s) || l.value,
|
|
@@ -2498,12 +2495,12 @@ const or = {
|
|
|
2498
2495
|
_: 1
|
|
2499
2496
|
}, 8, ["disabled", "loading"]),
|
|
2500
2497
|
U("div", lr, [
|
|
2501
|
-
R(i(
|
|
2498
|
+
R(i($), {
|
|
2502
2499
|
variant: "link",
|
|
2503
2500
|
icon: "lucide-arrow-left",
|
|
2504
2501
|
"icon-size": "xs",
|
|
2505
2502
|
type: "button",
|
|
2506
|
-
onClick:
|
|
2503
|
+
onClick: h
|
|
2507
2504
|
}, {
|
|
2508
2505
|
default: T(() => [
|
|
2509
2506
|
M(y(i(n)("FORGOT_PASSWORD.BACK_TO_LOGIN")), 1)
|
|
@@ -2514,12 +2511,12 @@ const or = {
|
|
|
2514
2511
|
]),
|
|
2515
2512
|
_: 1
|
|
2516
2513
|
}),
|
|
2517
|
-
|
|
2514
|
+
c.value ? (P(), D(i(Ee), {
|
|
2518
2515
|
key: 0,
|
|
2519
2516
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2520
2517
|
}, {
|
|
2521
2518
|
default: T(() => [
|
|
2522
|
-
M(y(
|
|
2519
|
+
M(y(c.value), 1)
|
|
2523
2520
|
]),
|
|
2524
2521
|
_: 1
|
|
2525
2522
|
})) : q("", !0)
|
|
@@ -2528,7 +2525,7 @@ const or = {
|
|
|
2528
2525
|
_: 1
|
|
2529
2526
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2530
2527
|
}
|
|
2531
|
-
}), Gl =
|
|
2528
|
+
}), Gl = dr, Er = /* @__PURE__ */ H({
|
|
2532
2529
|
__name: "ResetPassword",
|
|
2533
2530
|
props: {
|
|
2534
2531
|
userId: {},
|
|
@@ -2538,7 +2535,7 @@ const or = {
|
|
|
2538
2535
|
background: { default: "/assets/background.jpg" }
|
|
2539
2536
|
},
|
|
2540
2537
|
setup(e) {
|
|
2541
|
-
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t:
|
|
2538
|
+
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t: c } = le({ useScope: "global" }), { validate: u } = ue({ validateOnMount: !1 }), { uiSettings: f, loading: m } = we(), E = ie({
|
|
2542
2539
|
isValid: !1,
|
|
2543
2540
|
tokenIsValid: !1,
|
|
2544
2541
|
errors: [],
|
|
@@ -2548,14 +2545,14 @@ const or = {
|
|
|
2548
2545
|
Oe(async () => {
|
|
2549
2546
|
E.tokenIsValid = await a(t.userId, t.token), E.tokenIsValid || E.errors.push("Invalid-token");
|
|
2550
2547
|
});
|
|
2551
|
-
const
|
|
2548
|
+
const d = I(() => r.value || !E.password || !E.confirmPassword || !E.isValid && E.tokenIsValid), S = async () => {
|
|
2552
2549
|
if (E.tokenIsValid) {
|
|
2553
|
-
const
|
|
2554
|
-
E.errors =
|
|
2550
|
+
const v = (await n(E.password)).errors;
|
|
2551
|
+
E.errors = v?.map((w) => w.code), E.confirmPassword !== E.password && E.errors.push("Repeat-password"), E.isValid = E.errors.length == 0;
|
|
2555
2552
|
}
|
|
2556
|
-
},
|
|
2557
|
-
const { valid:
|
|
2558
|
-
if (
|
|
2553
|
+
}, h = async () => {
|
|
2554
|
+
const { valid: v } = await u();
|
|
2555
|
+
if (v) {
|
|
2559
2556
|
const w = await s(t.userId, E.password, t.token);
|
|
2560
2557
|
if (w.succeeded) {
|
|
2561
2558
|
const C = await o(t.userName, E.password);
|
|
@@ -2563,30 +2560,30 @@ const or = {
|
|
|
2563
2560
|
} else
|
|
2564
2561
|
E.errors = w.errors;
|
|
2565
2562
|
}
|
|
2566
|
-
},
|
|
2563
|
+
}, L = I(() => ({
|
|
2567
2564
|
logo: m.value ? "" : f.value?.logo || t.logo
|
|
2568
2565
|
}));
|
|
2569
|
-
return (
|
|
2570
|
-
logo:
|
|
2566
|
+
return (v, w) => (P(), D(i(_e), {
|
|
2567
|
+
logo: L.value.logo,
|
|
2571
2568
|
background: e.background,
|
|
2572
|
-
title: i(
|
|
2573
|
-
subtitle: i(
|
|
2569
|
+
title: i(c)("PASSWORDRESET.TITLE"),
|
|
2570
|
+
subtitle: i(c)("PASSWORDRESET.SUBTITLE")
|
|
2574
2571
|
}, {
|
|
2575
2572
|
default: T(() => [
|
|
2576
|
-
i(r) ? (
|
|
2573
|
+
i(r) ? (P(), D(i(Ht), {
|
|
2577
2574
|
key: 0,
|
|
2578
2575
|
active: ""
|
|
2579
2576
|
})) : q("", !0),
|
|
2580
2577
|
R(i(me), null, {
|
|
2581
2578
|
default: T(() => [
|
|
2582
|
-
R(i(
|
|
2583
|
-
label: i(
|
|
2579
|
+
R(i(X), {
|
|
2580
|
+
label: i(c)("PASSWORDRESET.FIELDS.PASSWORD.LABEL"),
|
|
2584
2581
|
name: "password",
|
|
2585
2582
|
"model-value": E.password,
|
|
2586
2583
|
rules: "required"
|
|
2587
2584
|
}, {
|
|
2588
2585
|
default: T(({ field: C, errorMessage: A, handleChange: g, errors: O }) => [
|
|
2589
|
-
R(i(
|
|
2586
|
+
R(i(K), re(C, {
|
|
2590
2587
|
ref: "passwordField",
|
|
2591
2588
|
modelValue: E.password,
|
|
2592
2589
|
"onUpdate:modelValue": [
|
|
@@ -2596,8 +2593,8 @@ const or = {
|
|
|
2596
2593
|
}
|
|
2597
2594
|
],
|
|
2598
2595
|
class: "tw-mb-4",
|
|
2599
|
-
label: i(
|
|
2600
|
-
placeholder: i(
|
|
2596
|
+
label: i(c)("PASSWORDRESET.FIELDS.PASSWORD.LABEL"),
|
|
2597
|
+
placeholder: i(c)("PASSWORDRESET.FIELDS.PASSWORD.PLACEHOLDER"),
|
|
2601
2598
|
type: "password",
|
|
2602
2599
|
autocomplete: "new-password",
|
|
2603
2600
|
disabled: !E.tokenIsValid,
|
|
@@ -2608,14 +2605,14 @@ const or = {
|
|
|
2608
2605
|
]),
|
|
2609
2606
|
_: 1
|
|
2610
2607
|
}, 8, ["label", "model-value"]),
|
|
2611
|
-
R(i(
|
|
2612
|
-
label: i(
|
|
2608
|
+
R(i(X), {
|
|
2609
|
+
label: i(c)("PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2613
2610
|
name: "confirm_password",
|
|
2614
2611
|
"model-value": E.confirmPassword,
|
|
2615
2612
|
rules: "required"
|
|
2616
2613
|
}, {
|
|
2617
2614
|
default: T(({ field: C, errorMessage: A, handleChange: g, errors: O }) => [
|
|
2618
|
-
R(i(
|
|
2615
|
+
R(i(K), re(C, {
|
|
2619
2616
|
ref: "confirmPasswordField",
|
|
2620
2617
|
modelValue: E.confirmPassword,
|
|
2621
2618
|
"onUpdate:modelValue": [
|
|
@@ -2625,37 +2622,37 @@ const or = {
|
|
|
2625
2622
|
}
|
|
2626
2623
|
],
|
|
2627
2624
|
class: "tw-mb-6",
|
|
2628
|
-
label: i(
|
|
2629
|
-
placeholder: i(
|
|
2625
|
+
label: i(c)("PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2626
|
+
placeholder: i(c)("PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER"),
|
|
2630
2627
|
disabled: !E.tokenIsValid,
|
|
2631
2628
|
type: "password",
|
|
2632
2629
|
autocomplete: "new-password",
|
|
2633
2630
|
required: "",
|
|
2634
2631
|
error: !!O.length,
|
|
2635
2632
|
"error-message": A,
|
|
2636
|
-
onKeyup: lt(
|
|
2633
|
+
onKeyup: lt(h, ["enter"])
|
|
2637
2634
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-message", "onUpdate:modelValue"])
|
|
2638
2635
|
]),
|
|
2639
2636
|
_: 1
|
|
2640
2637
|
}, 8, ["label", "model-value"]),
|
|
2641
|
-
R(i(
|
|
2638
|
+
R(i($), {
|
|
2642
2639
|
variant: "primary",
|
|
2643
2640
|
class: "tw-w-full",
|
|
2644
|
-
disabled:
|
|
2641
|
+
disabled: d.value,
|
|
2645
2642
|
loading: i(r),
|
|
2646
|
-
onClick:
|
|
2643
|
+
onClick: h
|
|
2647
2644
|
}, {
|
|
2648
2645
|
default: T(() => [
|
|
2649
|
-
M(y(i(
|
|
2646
|
+
M(y(i(c)("PASSWORDRESET.SAVE_PASSWORD")), 1)
|
|
2650
2647
|
]),
|
|
2651
2648
|
_: 1
|
|
2652
2649
|
}, 8, ["disabled", "loading"]),
|
|
2653
|
-
(
|
|
2650
|
+
(P(!0), W(ne, null, We(E.errors, (C) => (P(), D(i(Ee), {
|
|
2654
2651
|
key: C,
|
|
2655
2652
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2656
2653
|
}, {
|
|
2657
2654
|
default: T(() => [
|
|
2658
|
-
M(y(i(
|
|
2655
|
+
M(y(i(c)(`PASSWORDRESET.ERRORS.${C}`)), 1)
|
|
2659
2656
|
]),
|
|
2660
2657
|
_: 2
|
|
2661
2658
|
}, 1024))), 128))
|
|
@@ -2677,70 +2674,70 @@ const or = {
|
|
|
2677
2674
|
},
|
|
2678
2675
|
setup(e) {
|
|
2679
2676
|
ue({ validateOnMount: !1 });
|
|
2680
|
-
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t:
|
|
2677
|
+
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t: c } = le({ useScope: "global" }), u = Ie(), f = ct(), { uiSettings: m, loading: E } = we(), d = ie({
|
|
2681
2678
|
isValid: !1,
|
|
2682
2679
|
tokenIsValid: !1,
|
|
2683
2680
|
errors: [],
|
|
2684
2681
|
password: "",
|
|
2685
2682
|
confirmPassword: ""
|
|
2686
|
-
}), S =
|
|
2683
|
+
}), S = I(() => !f.value || !u.value);
|
|
2687
2684
|
Oe(async () => {
|
|
2688
|
-
|
|
2685
|
+
d.tokenIsValid = await a(t.userId, t.token), d.tokenIsValid || d.errors.push("Invalid-token");
|
|
2689
2686
|
});
|
|
2690
|
-
const
|
|
2691
|
-
if (
|
|
2692
|
-
const w = (await n(
|
|
2693
|
-
|
|
2687
|
+
const h = async () => {
|
|
2688
|
+
if (d.tokenIsValid) {
|
|
2689
|
+
const w = (await n(d.password)).errors;
|
|
2690
|
+
d.errors = w?.map((C) => C.code), d.confirmPassword && d.confirmPassword !== d.password && d.errors.push("Repeat-password"), d.isValid = d.errors.length == 0 && !S.value;
|
|
2694
2691
|
}
|
|
2695
|
-
},
|
|
2696
|
-
const w = await s(t.userId,
|
|
2697
|
-
w.succeeded ? (await o(t.userName,
|
|
2698
|
-
},
|
|
2692
|
+
}, L = async () => {
|
|
2693
|
+
const w = await s(t.userId, d.password, t.token);
|
|
2694
|
+
w.succeeded ? (await o(t.userName, d.password)).succeeded && l.push("/") : d.errors = w.errors;
|
|
2695
|
+
}, v = I(() => ({
|
|
2699
2696
|
logo: E.value ? "" : m.value?.logo || t.logo
|
|
2700
2697
|
}));
|
|
2701
|
-
return (w, C) => (
|
|
2702
|
-
logo:
|
|
2698
|
+
return (w, C) => (P(), D(i(_e), {
|
|
2699
|
+
logo: v.value.logo,
|
|
2703
2700
|
background: e.background,
|
|
2704
|
-
title: i(
|
|
2705
|
-
subtitle: i(
|
|
2701
|
+
title: i(c)("INVITATION.TITLE"),
|
|
2702
|
+
subtitle: i(c)("INVITATION.SUBTITLE")
|
|
2706
2703
|
}, {
|
|
2707
2704
|
default: T(() => [
|
|
2708
|
-
i(r) ? (
|
|
2705
|
+
i(r) ? (P(), D(i(Ht), {
|
|
2709
2706
|
key: 0,
|
|
2710
2707
|
active: ""
|
|
2711
2708
|
})) : q("", !0),
|
|
2712
2709
|
R(i(me), null, {
|
|
2713
2710
|
default: T(() => [
|
|
2714
|
-
R(i(
|
|
2711
|
+
R(i(K), {
|
|
2715
2712
|
class: "tw-mb-4",
|
|
2716
|
-
label: i(
|
|
2713
|
+
label: i(c)("INVITATION.FIELDS.EMAIL.LABEL"),
|
|
2717
2714
|
"model-value": e.userName,
|
|
2718
2715
|
name: "username",
|
|
2719
2716
|
autocomplete: "username",
|
|
2720
2717
|
disabled: ""
|
|
2721
2718
|
}, null, 8, ["label", "model-value"]),
|
|
2722
|
-
R(i(
|
|
2723
|
-
label: i(
|
|
2724
|
-
"model-value":
|
|
2719
|
+
R(i(X), {
|
|
2720
|
+
label: i(c)("INVITATION.FIELDS.PASSWORD.LABEL"),
|
|
2721
|
+
"model-value": d.password,
|
|
2725
2722
|
rules: "required",
|
|
2726
2723
|
name: "password"
|
|
2727
2724
|
}, {
|
|
2728
2725
|
default: T(({ field: A, errorMessage: g, handleChange: O, errors: p }) => [
|
|
2729
|
-
R(i(
|
|
2726
|
+
R(i(K), re(A, {
|
|
2730
2727
|
ref: "passwordField",
|
|
2731
|
-
modelValue:
|
|
2728
|
+
modelValue: d.password,
|
|
2732
2729
|
"onUpdate:modelValue": [
|
|
2733
|
-
C[0] || (C[0] = (
|
|
2734
|
-
(
|
|
2735
|
-
O(
|
|
2730
|
+
C[0] || (C[0] = (_) => d.password = _),
|
|
2731
|
+
(_) => {
|
|
2732
|
+
O(_), h();
|
|
2736
2733
|
}
|
|
2737
2734
|
],
|
|
2738
2735
|
class: "tw-mb-4",
|
|
2739
|
-
label: i(
|
|
2740
|
-
placeholder: i(
|
|
2736
|
+
label: i(c)("INVITATION.FIELDS.PASSWORD.LABEL"),
|
|
2737
|
+
placeholder: i(c)("INVITATION.FIELDS.PASSWORD.PLACEHOLDER"),
|
|
2741
2738
|
type: "password",
|
|
2742
2739
|
autocomplete: "new-password",
|
|
2743
|
-
disabled: !
|
|
2740
|
+
disabled: !d.tokenIsValid,
|
|
2744
2741
|
error: !!p.length,
|
|
2745
2742
|
"error-message": g,
|
|
2746
2743
|
required: ""
|
|
@@ -2748,54 +2745,54 @@ const or = {
|
|
|
2748
2745
|
]),
|
|
2749
2746
|
_: 1
|
|
2750
2747
|
}, 8, ["label", "model-value"]),
|
|
2751
|
-
R(i(
|
|
2752
|
-
label: i(
|
|
2753
|
-
"model-value":
|
|
2748
|
+
R(i(X), {
|
|
2749
|
+
label: i(c)("INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2750
|
+
"model-value": d.confirmPassword,
|
|
2754
2751
|
rules: "required",
|
|
2755
2752
|
name: "confirm_password"
|
|
2756
2753
|
}, {
|
|
2757
2754
|
default: T(({ field: A, errorMessage: g, handleChange: O, errors: p }) => [
|
|
2758
|
-
R(i(
|
|
2755
|
+
R(i(K), re(A, {
|
|
2759
2756
|
ref: "confirmPasswordField",
|
|
2760
|
-
modelValue:
|
|
2757
|
+
modelValue: d.confirmPassword,
|
|
2761
2758
|
"onUpdate:modelValue": [
|
|
2762
|
-
C[1] || (C[1] = (
|
|
2763
|
-
(
|
|
2764
|
-
O(
|
|
2759
|
+
C[1] || (C[1] = (_) => d.confirmPassword = _),
|
|
2760
|
+
(_) => {
|
|
2761
|
+
O(_), h();
|
|
2765
2762
|
}
|
|
2766
2763
|
],
|
|
2767
2764
|
class: "tw-mb-6",
|
|
2768
|
-
label: i(
|
|
2769
|
-
placeholder: i(
|
|
2770
|
-
disabled: !
|
|
2765
|
+
label: i(c)("INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2766
|
+
placeholder: i(c)("INVITATION.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER"),
|
|
2767
|
+
disabled: !d.tokenIsValid,
|
|
2771
2768
|
type: "password",
|
|
2772
2769
|
autocomplete: "new-password",
|
|
2773
2770
|
error: !!p.length,
|
|
2774
2771
|
"error-message": g,
|
|
2775
2772
|
required: "",
|
|
2776
|
-
onKeyup: lt(
|
|
2773
|
+
onKeyup: lt(L, ["enter"])
|
|
2777
2774
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-message", "onUpdate:modelValue"])
|
|
2778
2775
|
]),
|
|
2779
2776
|
_: 1
|
|
2780
2777
|
}, 8, ["label", "model-value"]),
|
|
2781
|
-
R(i(
|
|
2778
|
+
R(i($), {
|
|
2782
2779
|
variant: "primary",
|
|
2783
2780
|
class: "tw-w-full",
|
|
2784
|
-
disabled: i(r) || !
|
|
2781
|
+
disabled: i(r) || !d.isValid || !d.tokenIsValid,
|
|
2785
2782
|
loading: i(r),
|
|
2786
|
-
onClick:
|
|
2783
|
+
onClick: L
|
|
2787
2784
|
}, {
|
|
2788
2785
|
default: T(() => [
|
|
2789
|
-
M(y(i(
|
|
2786
|
+
M(y(i(c)("INVITATION.ACCEPT_INVITATION")), 1)
|
|
2790
2787
|
]),
|
|
2791
2788
|
_: 1
|
|
2792
2789
|
}, 8, ["disabled", "loading"]),
|
|
2793
|
-
(
|
|
2790
|
+
(P(!0), W(ne, null, We(d.errors, (A) => (P(), D(i(Ee), {
|
|
2794
2791
|
key: A,
|
|
2795
2792
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2796
2793
|
}, {
|
|
2797
2794
|
default: T(() => [
|
|
2798
|
-
M(y(i(
|
|
2795
|
+
M(y(i(c)(`INVITATION.ERRORS.${A}`)), 1)
|
|
2799
2796
|
]),
|
|
2800
2797
|
_: 2
|
|
2801
2798
|
}, 1024))), 128))
|
|
@@ -2817,45 +2814,45 @@ const or = {
|
|
|
2817
2814
|
background: {}
|
|
2818
2815
|
},
|
|
2819
2816
|
setup(e) {
|
|
2820
|
-
const t = e, { t: a } = le({ useScope: "global" }), { changeUserPassword: n, loading: s, validatePassword: o, signOut: r } = se(), { uiSettings: l, loading:
|
|
2821
|
-
logo:
|
|
2817
|
+
const t = e, { t: a } = le({ useScope: "global" }), { changeUserPassword: n, loading: s, validatePassword: o, signOut: r } = se(), { uiSettings: l, loading: c } = we(), u = I(() => ({
|
|
2818
|
+
logo: c.value ? "" : l.value?.logo || t.logo
|
|
2822
2819
|
}));
|
|
2823
2820
|
ue({ validateOnMount: !1 });
|
|
2824
|
-
const f = Ie(), m =
|
|
2821
|
+
const f = Ie(), m = ct(), E = ve(), d = ie({
|
|
2825
2822
|
isValid: !1,
|
|
2826
2823
|
errors: [],
|
|
2827
2824
|
currentPassword: "",
|
|
2828
2825
|
password: "",
|
|
2829
2826
|
confirmPassword: ""
|
|
2830
|
-
}), S =
|
|
2831
|
-
async function
|
|
2827
|
+
}), S = I(() => !m.value || !f.value);
|
|
2828
|
+
async function h() {
|
|
2832
2829
|
await r(), await E.push("/login");
|
|
2833
2830
|
}
|
|
2834
|
-
async function
|
|
2835
|
-
const w = await n(
|
|
2836
|
-
w?.succeeded ? await E.push("/") : w?.errors && (
|
|
2831
|
+
async function L() {
|
|
2832
|
+
const w = await n(d.currentPassword, d.password);
|
|
2833
|
+
w?.succeeded ? await E.push("/") : w?.errors && (d.errors = w?.errors, d.isValid = d.errors.length == 0);
|
|
2837
2834
|
}
|
|
2838
|
-
function
|
|
2839
|
-
|
|
2840
|
-
if (
|
|
2841
|
-
const w = (await o(
|
|
2842
|
-
password:
|
|
2843
|
-
confirmPassword:
|
|
2844
|
-
currentPassword:
|
|
2835
|
+
function v() {
|
|
2836
|
+
be(async () => {
|
|
2837
|
+
if (d.password || d.confirmPassword) {
|
|
2838
|
+
const w = (await o(d.password)).errors ?? [], C = sr({
|
|
2839
|
+
password: d.password,
|
|
2840
|
+
confirmPassword: d.confirmPassword,
|
|
2841
|
+
currentPassword: d.currentPassword
|
|
2845
2842
|
});
|
|
2846
|
-
|
|
2843
|
+
d.errors = [...w, ...C], d.isValid = d.errors.length == 0;
|
|
2847
2844
|
}
|
|
2848
2845
|
});
|
|
2849
2846
|
}
|
|
2850
|
-
return (w, C) => (
|
|
2847
|
+
return (w, C) => (P(), D(i(_e), {
|
|
2851
2848
|
logo: u.value.logo,
|
|
2852
2849
|
background: e.background,
|
|
2853
2850
|
title: e.forced ? i(a)("COMPONENTS.CHANGE_PASSWORD.TITLE_FORCED") : i(a)("COMPONENTS.CHANGE_PASSWORD.TITLE"),
|
|
2854
2851
|
subtitle: e.forced ? i(a)("COMPONENTS.CHANGE_PASSWORD.SUBTITLE_FORCED") : void 0
|
|
2855
2852
|
}, {
|
|
2856
2853
|
default: T(() => [
|
|
2857
|
-
e.forced ? (
|
|
2858
|
-
R(i(
|
|
2854
|
+
e.forced ? (P(), W("div", mr, [
|
|
2855
|
+
R(i(In), {
|
|
2859
2856
|
variant: "info",
|
|
2860
2857
|
icon: "lucide-lightbulb",
|
|
2861
2858
|
"icon-size": "l"
|
|
@@ -2868,19 +2865,19 @@ const or = {
|
|
|
2868
2865
|
])) : q("", !0),
|
|
2869
2866
|
R(i(me), null, {
|
|
2870
2867
|
default: T(() => [
|
|
2871
|
-
R(i(
|
|
2868
|
+
R(i(X), {
|
|
2872
2869
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.LABEL"),
|
|
2873
2870
|
name: "current",
|
|
2874
2871
|
rules: "required|min:6",
|
|
2875
|
-
"model-value":
|
|
2872
|
+
"model-value": d.currentPassword
|
|
2876
2873
|
}, {
|
|
2877
2874
|
default: T(({ field: A, errorMessage: g, errors: O }) => [
|
|
2878
|
-
R(i(
|
|
2875
|
+
R(i(K), re(A, {
|
|
2879
2876
|
ref: "passwordField",
|
|
2880
|
-
modelValue:
|
|
2877
|
+
modelValue: d.currentPassword,
|
|
2881
2878
|
"onUpdate:modelValue": [
|
|
2882
|
-
C[0] || (C[0] = (p) =>
|
|
2883
|
-
|
|
2879
|
+
C[0] || (C[0] = (p) => d.currentPassword = p),
|
|
2880
|
+
v
|
|
2884
2881
|
],
|
|
2885
2882
|
class: "tw-mb-4",
|
|
2886
2883
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.LABEL"),
|
|
@@ -2894,19 +2891,19 @@ const or = {
|
|
|
2894
2891
|
]),
|
|
2895
2892
|
_: 1
|
|
2896
2893
|
}, 8, ["label", "model-value"]),
|
|
2897
|
-
R(i(
|
|
2894
|
+
R(i(X), {
|
|
2898
2895
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.LABEL"),
|
|
2899
2896
|
name: "new_pass",
|
|
2900
2897
|
rules: "required|min:6",
|
|
2901
|
-
"model-value":
|
|
2898
|
+
"model-value": d.password
|
|
2902
2899
|
}, {
|
|
2903
2900
|
default: T(({ field: A, errorMessage: g, errors: O }) => [
|
|
2904
|
-
R(i(
|
|
2901
|
+
R(i(K), re(A, {
|
|
2905
2902
|
ref: "newPasswordField",
|
|
2906
|
-
modelValue:
|
|
2903
|
+
modelValue: d.password,
|
|
2907
2904
|
"onUpdate:modelValue": [
|
|
2908
|
-
C[1] || (C[1] = (p) =>
|
|
2909
|
-
|
|
2905
|
+
C[1] || (C[1] = (p) => d.password = p),
|
|
2906
|
+
v
|
|
2910
2907
|
],
|
|
2911
2908
|
class: "tw-mb-4",
|
|
2912
2909
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.LABEL"),
|
|
@@ -2920,19 +2917,19 @@ const or = {
|
|
|
2920
2917
|
]),
|
|
2921
2918
|
_: 1
|
|
2922
2919
|
}, 8, ["label", "model-value"]),
|
|
2923
|
-
R(i(
|
|
2920
|
+
R(i(X), {
|
|
2924
2921
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.LABEL"),
|
|
2925
2922
|
name: "confirm_pass",
|
|
2926
2923
|
rules: "required|min:6",
|
|
2927
|
-
"model-value":
|
|
2924
|
+
"model-value": d.confirmPassword
|
|
2928
2925
|
}, {
|
|
2929
2926
|
default: T(({ field: A, errorMessage: g, errors: O }) => [
|
|
2930
|
-
R(i(
|
|
2927
|
+
R(i(K), re(A, {
|
|
2931
2928
|
ref: "confirmPasswordField",
|
|
2932
|
-
modelValue:
|
|
2929
|
+
modelValue: d.confirmPassword,
|
|
2933
2930
|
"onUpdate:modelValue": [
|
|
2934
|
-
C[2] || (C[2] = (p) =>
|
|
2935
|
-
|
|
2931
|
+
C[2] || (C[2] = (p) => d.confirmPassword = p),
|
|
2932
|
+
v
|
|
2936
2933
|
],
|
|
2937
2934
|
class: "tw-mb-6",
|
|
2938
2935
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.LABEL"),
|
|
@@ -2947,22 +2944,22 @@ const or = {
|
|
|
2947
2944
|
_: 1
|
|
2948
2945
|
}, 8, ["label", "model-value"]),
|
|
2949
2946
|
U("div", gr, [
|
|
2950
|
-
R(i(
|
|
2947
|
+
R(i($), {
|
|
2951
2948
|
variant: "secondary",
|
|
2952
2949
|
class: "tw-flex-1",
|
|
2953
|
-
onClick:
|
|
2950
|
+
onClick: h
|
|
2954
2951
|
}, {
|
|
2955
2952
|
default: T(() => [
|
|
2956
2953
|
M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.CANCEL")), 1)
|
|
2957
2954
|
]),
|
|
2958
2955
|
_: 1
|
|
2959
2956
|
}),
|
|
2960
|
-
R(i(
|
|
2957
|
+
R(i($), {
|
|
2961
2958
|
variant: "primary",
|
|
2962
2959
|
class: "tw-flex-1",
|
|
2963
|
-
disabled: i(s) || !
|
|
2960
|
+
disabled: i(s) || !d.isValid || S.value,
|
|
2964
2961
|
loading: i(s),
|
|
2965
|
-
onClick:
|
|
2962
|
+
onClick: L
|
|
2966
2963
|
}, {
|
|
2967
2964
|
default: T(() => [
|
|
2968
2965
|
M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.SAVE")), 1)
|
|
@@ -2970,7 +2967,7 @@ const or = {
|
|
|
2970
2967
|
_: 1
|
|
2971
2968
|
}, 8, ["disabled", "loading"])
|
|
2972
2969
|
]),
|
|
2973
|
-
(
|
|
2970
|
+
(P(!0), W(ne, null, We(d.errors, (A, g) => (P(), D(i(Ee), {
|
|
2974
2971
|
key: g,
|
|
2975
2972
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2976
2973
|
}, {
|
|
@@ -3000,7 +2997,7 @@ function Nt(e, t, a) {
|
|
|
3000
2997
|
idx: t,
|
|
3001
2998
|
instance: e.title != null ? { title: e.title } : void 0,
|
|
3002
2999
|
isVisible: e.visible,
|
|
3003
|
-
error:
|
|
3000
|
+
error: b(e.error ? new Error(String(e.error)) : null)
|
|
3004
3001
|
},
|
|
3005
3002
|
param: e.param,
|
|
3006
3003
|
options: e.options,
|
|
@@ -3015,18 +3012,18 @@ function zl() {
|
|
|
3015
3012
|
ye = void 0, Be = void 0, nt.clear();
|
|
3016
3013
|
}
|
|
3017
3014
|
function Ar() {
|
|
3018
|
-
const e =
|
|
3015
|
+
const e = us, t = ds, a = cs;
|
|
3019
3016
|
if (!e || !t)
|
|
3020
3017
|
throw new Error(
|
|
3021
3018
|
"[useBladeNavigation adapter] BladeStack or BladeMessaging not available. Ensure plugin-v2 is installed before calling useBladeNavigation()."
|
|
3022
3019
|
);
|
|
3023
|
-
const n =
|
|
3020
|
+
const n = ls?.router;
|
|
3024
3021
|
if (!n)
|
|
3025
3022
|
throw new Error("[@vc-shell/framework#useBladeNavigation] Vue Router instance is not available.");
|
|
3026
|
-
return ye || (ye =
|
|
3023
|
+
return ye || (ye = I(() => {
|
|
3027
3024
|
const s = e.activeBlade.value?.id;
|
|
3028
3025
|
return e.blades.value.map((o, r) => Nt(o, r, s));
|
|
3029
|
-
})), Be || (Be =
|
|
3026
|
+
})), Be || (Be = I(() => {
|
|
3030
3027
|
const s = e.workspace.value;
|
|
3031
3028
|
if (s)
|
|
3032
3029
|
return Nt(s, 0, e.activeBlade.value?.id);
|
|
@@ -3060,13 +3057,13 @@ function ql() {
|
|
|
3060
3057
|
function l() {
|
|
3061
3058
|
return r ? r.value.id : e.activeBlade.value?.id;
|
|
3062
3059
|
}
|
|
3063
|
-
function
|
|
3060
|
+
function c(g) {
|
|
3064
3061
|
const O = e.blades.value;
|
|
3065
3062
|
if (g >= 0 && g < O.length)
|
|
3066
3063
|
return O[g].id;
|
|
3067
3064
|
}
|
|
3068
3065
|
async function u(g, O) {
|
|
3069
|
-
const
|
|
3066
|
+
const _ = {
|
|
3070
3067
|
name: pr(g.blade),
|
|
3071
3068
|
param: g.param,
|
|
3072
3069
|
options: g.options,
|
|
@@ -3075,45 +3072,45 @@ function ql() {
|
|
|
3075
3072
|
replaceCurrentBlade: g.replaceCurrentBlade
|
|
3076
3073
|
};
|
|
3077
3074
|
if (O)
|
|
3078
|
-
await e.openWorkspace(
|
|
3075
|
+
await e.openWorkspace(_);
|
|
3079
3076
|
else if (g.replaceCurrentBlade)
|
|
3080
|
-
await e.coverCurrentBlade(
|
|
3077
|
+
await e.coverCurrentBlade(_);
|
|
3081
3078
|
else {
|
|
3082
3079
|
const N = l();
|
|
3083
|
-
await e.openBlade({ ...
|
|
3080
|
+
await e.openBlade({ ..._, parentId: N });
|
|
3084
3081
|
}
|
|
3085
3082
|
}
|
|
3086
3083
|
async function f(g) {
|
|
3087
3084
|
oe("closeBlade(index)", "useBlade().closeSelf()");
|
|
3088
|
-
const O =
|
|
3085
|
+
const O = c(g);
|
|
3089
3086
|
return O ? e.closeBlade(O) : (et.error(`closeBlade: No blade found at index ${g}.`), !1);
|
|
3090
3087
|
}
|
|
3091
3088
|
function m() {
|
|
3092
3089
|
oe("goToRoot()");
|
|
3093
|
-
const g =
|
|
3090
|
+
const g = vn(n);
|
|
3094
3091
|
if (g?.name)
|
|
3095
3092
|
return {
|
|
3096
3093
|
name: g.name,
|
|
3097
3094
|
params: n.currentRoute.value.params
|
|
3098
3095
|
};
|
|
3099
|
-
const O =
|
|
3096
|
+
const O = wn(n);
|
|
3100
3097
|
return { path: O ? `/${O}` : "/" };
|
|
3101
3098
|
}
|
|
3102
3099
|
async function E(g, O) {
|
|
3103
3100
|
oe("onParentCall(args, index)", "useBlade().callParent(method, args)");
|
|
3104
3101
|
let p;
|
|
3105
|
-
if (O !== void 0 ? p =
|
|
3102
|
+
if (O !== void 0 ? p = c(O) : p = l(), !p) {
|
|
3106
3103
|
et.error("onParentCall: Could not determine caller blade.");
|
|
3107
3104
|
return;
|
|
3108
3105
|
}
|
|
3109
3106
|
try {
|
|
3110
|
-
const
|
|
3111
|
-
typeof g.callback == "function" && g.callback(
|
|
3112
|
-
} catch (
|
|
3113
|
-
et.error(`onParentCall: Failed to call parent method "${g.method}":`,
|
|
3107
|
+
const _ = await t.callParent(p, g.method, g.args);
|
|
3108
|
+
typeof g.callback == "function" && g.callback(_);
|
|
3109
|
+
} catch (_) {
|
|
3110
|
+
et.error(`onParentCall: Failed to call parent method "${g.method}":`, _);
|
|
3114
3111
|
}
|
|
3115
3112
|
}
|
|
3116
|
-
function
|
|
3113
|
+
function d(g) {
|
|
3117
3114
|
oe("onBeforeClose(cb)", "useBlade().onBeforeClose(guard)");
|
|
3118
3115
|
const O = l();
|
|
3119
3116
|
if (!O) {
|
|
@@ -3125,46 +3122,46 @@ function ql() {
|
|
|
3125
3122
|
function S(g) {
|
|
3126
3123
|
return a.getBladeComponent(g);
|
|
3127
3124
|
}
|
|
3128
|
-
function
|
|
3125
|
+
function h(g) {
|
|
3129
3126
|
oe("routeResolver", "plugin-v2 handles URL resolution automatically");
|
|
3130
3127
|
}
|
|
3131
|
-
function
|
|
3128
|
+
function L(g) {
|
|
3132
3129
|
oe("setNavigationQuery");
|
|
3133
3130
|
const O = e.workspace.value;
|
|
3134
3131
|
if (!O) return;
|
|
3135
|
-
const p = O.name.toLowerCase(), [
|
|
3136
|
-
for (const
|
|
3137
|
-
|
|
3138
|
-
for (const [
|
|
3139
|
-
|
|
3132
|
+
const p = O.name.toLowerCase(), [_, N] = Dt(window.location.hash), B = new URLSearchParams(N);
|
|
3133
|
+
for (const z of [...B.keys()])
|
|
3134
|
+
z.startsWith(`${p}_`) && B.delete(z);
|
|
3135
|
+
for (const [z, ce] of Object.entries(g))
|
|
3136
|
+
ce != null && B.set(`${p}_${z}`, String(ce));
|
|
3140
3137
|
const V = B.toString();
|
|
3141
|
-
n.options.history.replace(V ? `${
|
|
3138
|
+
n.options.history.replace(V ? `${_}?${V}` : _);
|
|
3142
3139
|
}
|
|
3143
|
-
function
|
|
3140
|
+
function v() {
|
|
3144
3141
|
oe("getNavigationQuery");
|
|
3145
3142
|
const g = e.workspace.value;
|
|
3146
3143
|
if (!g) return;
|
|
3147
|
-
const O = g.name.toLowerCase(), p = new URLSearchParams(Dt(window.location.hash)[1]),
|
|
3144
|
+
const O = g.name.toLowerCase(), p = new URLSearchParams(Dt(window.location.hash)[1]), _ = {};
|
|
3148
3145
|
for (const [N, B] of p.entries())
|
|
3149
|
-
N.startsWith(`${O}_`) && (
|
|
3150
|
-
return Object.keys(
|
|
3146
|
+
N.startsWith(`${O}_`) && (_[N.replace(`${O}_`, "")] = Tr(B));
|
|
3147
|
+
return Object.keys(_).length > 0 ? _ : void 0;
|
|
3151
3148
|
}
|
|
3152
3149
|
function w(g, O) {
|
|
3153
|
-
const p =
|
|
3150
|
+
const p = c(g);
|
|
3154
3151
|
p && e.setBladeError(p, O);
|
|
3155
3152
|
}
|
|
3156
3153
|
function C(g) {
|
|
3157
|
-
const O =
|
|
3154
|
+
const O = c(g);
|
|
3158
3155
|
O && e.clearBladeError(O);
|
|
3159
3156
|
}
|
|
3160
|
-
const A =
|
|
3157
|
+
const A = I(() => {
|
|
3161
3158
|
if (!r) return;
|
|
3162
3159
|
const g = r.value;
|
|
3163
3160
|
return {
|
|
3164
|
-
idx: e.blades.value.findIndex((
|
|
3161
|
+
idx: e.blades.value.findIndex((_) => _.id === g.id),
|
|
3165
3162
|
instance: g.title != null ? { title: g.title } : void 0,
|
|
3166
3163
|
isVisible: g.visible,
|
|
3167
|
-
error:
|
|
3164
|
+
error: b(g.error ? new Error(String(g.error)) : null)
|
|
3168
3165
|
};
|
|
3169
3166
|
});
|
|
3170
3167
|
return {
|
|
@@ -3174,11 +3171,11 @@ function ql() {
|
|
|
3174
3171
|
closeBlade: f,
|
|
3175
3172
|
goToRoot: m,
|
|
3176
3173
|
onParentCall: E,
|
|
3177
|
-
onBeforeClose:
|
|
3174
|
+
onBeforeClose: d,
|
|
3178
3175
|
resolveBladeByName: S,
|
|
3179
|
-
routeResolver:
|
|
3180
|
-
setNavigationQuery:
|
|
3181
|
-
getNavigationQuery:
|
|
3176
|
+
routeResolver: h,
|
|
3177
|
+
setNavigationQuery: L,
|
|
3178
|
+
getNavigationQuery: v,
|
|
3182
3179
|
setBladeError: w,
|
|
3183
3180
|
clearBladeError: C,
|
|
3184
3181
|
currentBladeNavigationData: A
|
|
@@ -3205,7 +3202,7 @@ function Yl(e) {
|
|
|
3205
3202
|
autoBeforeUnload: s = !0,
|
|
3206
3203
|
closeConfirmMessage: o,
|
|
3207
3204
|
onRevert: r
|
|
3208
|
-
} = e, { meta: l, setFieldError:
|
|
3205
|
+
} = e, { meta: l, setFieldError: c, errorBag: u } = ue({ validateOnMount: !1 }), f = b(J(t.value)), m = b(!1);
|
|
3209
3206
|
ae(
|
|
3210
3207
|
t,
|
|
3211
3208
|
(w) => {
|
|
@@ -3213,70 +3210,70 @@ function Yl(e) {
|
|
|
3213
3210
|
},
|
|
3214
3211
|
{ deep: !0 }
|
|
3215
3212
|
);
|
|
3216
|
-
const E =
|
|
3217
|
-
function L() {
|
|
3218
|
-
f.value = X(t.value), m.value = !1, E.value = !0;
|
|
3219
|
-
}
|
|
3213
|
+
const E = b(!1), d = I(() => E.value && m.value), S = I(() => !(!E.value || !l.value.valid || !m.value || a && !a.value));
|
|
3220
3214
|
function h() {
|
|
3215
|
+
f.value = J(t.value), m.value = !1, E.value = !0;
|
|
3216
|
+
}
|
|
3217
|
+
function L() {
|
|
3221
3218
|
E.value = !0, m.value = !Fe(t.value, f.value);
|
|
3222
3219
|
}
|
|
3223
|
-
function
|
|
3220
|
+
function v() {
|
|
3224
3221
|
if (r)
|
|
3225
3222
|
return r();
|
|
3226
|
-
t.value =
|
|
3223
|
+
t.value = J(f.value);
|
|
3227
3224
|
}
|
|
3228
|
-
if (s &&
|
|
3229
|
-
const { onBeforeClose: w } = ut(), { showConfirmation: C } =
|
|
3225
|
+
if (s && Ys(d), n !== !1) {
|
|
3226
|
+
const { onBeforeClose: w } = ut(), { showConfirmation: C } = Cn();
|
|
3230
3227
|
w(async () => {
|
|
3231
3228
|
let A;
|
|
3232
|
-
if (typeof n == "object" ? A = n.value &&
|
|
3229
|
+
if (typeof n == "object" ? A = n.value && d.value : A = d.value, A) {
|
|
3233
3230
|
const g = o ? Mt(o) : "You have unsaved changes. Are you sure you want to leave?";
|
|
3234
3231
|
return !await C(g);
|
|
3235
3232
|
}
|
|
3236
3233
|
return !1;
|
|
3237
3234
|
});
|
|
3238
3235
|
}
|
|
3239
|
-
return Bt(
|
|
3240
|
-
setBaseline:
|
|
3241
|
-
markReady:
|
|
3242
|
-
revert:
|
|
3236
|
+
return Bt(Wn, { isModified: d, canSave: S }), {
|
|
3237
|
+
setBaseline: h,
|
|
3238
|
+
markReady: L,
|
|
3239
|
+
revert: v,
|
|
3243
3240
|
canSave: S,
|
|
3244
|
-
isModified:
|
|
3245
|
-
isReady:
|
|
3241
|
+
isModified: d,
|
|
3242
|
+
isReady: I(() => E.value),
|
|
3246
3243
|
formMeta: l,
|
|
3247
|
-
setFieldError:
|
|
3244
|
+
setFieldError: c,
|
|
3248
3245
|
errorBag: u
|
|
3249
3246
|
};
|
|
3250
3247
|
}
|
|
3251
3248
|
const Me = 14, ya = 3;
|
|
3252
|
-
function
|
|
3249
|
+
function hr(e, t, a) {
|
|
3253
3250
|
const n = e.length, s = (u) => u !== void 0 && t.get(u) || 0, o = n > 0 ? e[n - 1] : void 0, r = s(o), l = e.map((u, f) => {
|
|
3254
3251
|
const m = n - 1 - f;
|
|
3255
3252
|
let E = 0;
|
|
3256
3253
|
for (let S = f + 1; S < n; S++)
|
|
3257
3254
|
E += s(e[S]);
|
|
3258
|
-
const
|
|
3255
|
+
const d = m * Me + E;
|
|
3259
3256
|
return {
|
|
3260
3257
|
sonnerIndex: m,
|
|
3261
3258
|
zIndex: n - m,
|
|
3262
|
-
offset:
|
|
3259
|
+
offset: d,
|
|
3263
3260
|
initialHeight: s(u)
|
|
3264
3261
|
};
|
|
3265
3262
|
});
|
|
3266
|
-
let
|
|
3263
|
+
let c;
|
|
3267
3264
|
if (a && n > 1) {
|
|
3268
3265
|
const u = n - 1;
|
|
3269
3266
|
let f = 0;
|
|
3270
|
-
for (let
|
|
3271
|
-
f += s(e[
|
|
3267
|
+
for (let d = 1; d < n; d++)
|
|
3268
|
+
f += s(e[d]);
|
|
3272
3269
|
const m = u * Me + f, E = s(e[0]);
|
|
3273
|
-
|
|
3270
|
+
c = m + E;
|
|
3274
3271
|
} else
|
|
3275
|
-
|
|
3276
|
-
return { toasts: l, frontHeight: r, groupHeight:
|
|
3272
|
+
c = r + Math.min(n - 1, ya - 1) * Me;
|
|
3273
|
+
return { toasts: l, frontHeight: r, groupHeight: c };
|
|
3277
3274
|
}
|
|
3278
|
-
function
|
|
3279
|
-
const e =
|
|
3275
|
+
function Lr() {
|
|
3276
|
+
const e = b(!1), t = b(!1);
|
|
3280
3277
|
let a = null;
|
|
3281
3278
|
function n() {
|
|
3282
3279
|
a && (clearTimeout(a), a = null), e.value = !0;
|
|
@@ -3294,7 +3291,7 @@ function hr() {
|
|
|
3294
3291
|
function l(f) {
|
|
3295
3292
|
o.delete(f);
|
|
3296
3293
|
}
|
|
3297
|
-
function
|
|
3294
|
+
function c() {
|
|
3298
3295
|
o.clear();
|
|
3299
3296
|
}
|
|
3300
3297
|
function u(f) {
|
|
@@ -3308,7 +3305,7 @@ function hr() {
|
|
|
3308
3305
|
collapseStack: s,
|
|
3309
3306
|
reportHeight: r,
|
|
3310
3307
|
forgetHeight: l,
|
|
3311
|
-
clearHeights:
|
|
3308
|
+
clearHeights: c,
|
|
3312
3309
|
setInteracting: u
|
|
3313
3310
|
};
|
|
3314
3311
|
}
|
|
@@ -3368,46 +3365,46 @@ const Or = H({
|
|
|
3368
3365
|
}
|
|
3369
3366
|
},
|
|
3370
3367
|
setup(e) {
|
|
3371
|
-
const { notificationContainers: t, actions: a } = Q(jt), n =
|
|
3368
|
+
const { notificationContainers: t, actions: a } = Q(jt), n = I(() => t[e.position].value || []), {
|
|
3372
3369
|
expanded: s,
|
|
3373
3370
|
heightsMap: o,
|
|
3374
3371
|
expandStack: r,
|
|
3375
3372
|
collapseStack: l,
|
|
3376
|
-
reportHeight:
|
|
3373
|
+
reportHeight: c,
|
|
3377
3374
|
forgetHeight: u,
|
|
3378
3375
|
clearHeights: f,
|
|
3379
3376
|
setInteracting: m
|
|
3380
|
-
} =
|
|
3381
|
-
function E(
|
|
3382
|
-
return typeof
|
|
3377
|
+
} = Lr();
|
|
3378
|
+
function E(L) {
|
|
3379
|
+
return typeof L == "object" && (!!L?.render || !!L?.setup);
|
|
3383
3380
|
}
|
|
3384
|
-
function
|
|
3385
|
-
|
|
3381
|
+
function d(L) {
|
|
3382
|
+
L && (u(L), a.remove(L));
|
|
3386
3383
|
}
|
|
3387
3384
|
function S() {
|
|
3388
3385
|
a.clear(), f();
|
|
3389
3386
|
}
|
|
3390
|
-
const
|
|
3387
|
+
const h = I(() => (e.position || "top-center").startsWith("top"));
|
|
3391
3388
|
return () => {
|
|
3392
|
-
const
|
|
3393
|
-
|
|
3389
|
+
const L = n.value, v = L.length, w = s.value || v <= 1, C = v > 1, A = hr(
|
|
3390
|
+
L.map((p) => p.notificationId),
|
|
3394
3391
|
o,
|
|
3395
3392
|
w
|
|
3396
|
-
), g =
|
|
3397
|
-
const { sonnerIndex: N, zIndex: B, offset: V, initialHeight:
|
|
3393
|
+
), g = L.map((p, _) => {
|
|
3394
|
+
const { sonnerIndex: N, zIndex: B, offset: V, initialHeight: z } = A.toasts[_], ce = {
|
|
3398
3395
|
"--toasts-before": N,
|
|
3399
3396
|
"--z-index": B,
|
|
3400
3397
|
"--offset": `${V}px`,
|
|
3401
|
-
"--initial-height":
|
|
3398
|
+
"--initial-height": z ? `${z}px` : "auto"
|
|
3402
3399
|
}, ge = {
|
|
3403
3400
|
...p,
|
|
3404
|
-
onClose:
|
|
3405
|
-
onReportHeight:
|
|
3401
|
+
onClose: d,
|
|
3402
|
+
onReportHeight: c,
|
|
3406
3403
|
toastIndex: N,
|
|
3407
|
-
toastsCount:
|
|
3404
|
+
toastsCount: v,
|
|
3408
3405
|
expanded: w,
|
|
3409
3406
|
visibleToasts: ya,
|
|
3410
|
-
style:
|
|
3407
|
+
style: ce
|
|
3411
3408
|
}, Ba = p.content && E(p.content) ? ee(gt, { ...ge, content: ee(ln(p.content)) }) : ee(gt, ge);
|
|
3412
3409
|
return ee("li", { key: p.notificationId, style: { display: "contents" } }, [Ba]);
|
|
3413
3410
|
});
|
|
@@ -3418,7 +3415,7 @@ const Or = H({
|
|
|
3418
3415
|
class: "notification__clear-all",
|
|
3419
3416
|
style: {
|
|
3420
3417
|
position: "absolute",
|
|
3421
|
-
[
|
|
3418
|
+
[h.value ? "top" : "bottom"]: "0",
|
|
3422
3419
|
left: "var(--width, 356px)",
|
|
3423
3420
|
"margin-left": "8px",
|
|
3424
3421
|
"list-style": "none",
|
|
@@ -3435,8 +3432,8 @@ const Or = H({
|
|
|
3435
3432
|
onClick: S
|
|
3436
3433
|
},
|
|
3437
3434
|
[
|
|
3438
|
-
ee(
|
|
3439
|
-
|
|
3435
|
+
ee(Hn, { icon: "lucide-x", size: "xs", "aria-hidden": "true" }),
|
|
3436
|
+
x.global.t("CORE.NOTIFICATIONS.CLEAR_ALL")
|
|
3440
3437
|
]
|
|
3441
3438
|
)
|
|
3442
3439
|
]
|
|
@@ -3446,7 +3443,7 @@ const Or = H({
|
|
|
3446
3443
|
class: "notification__toast-group",
|
|
3447
3444
|
"data-expanded": String(w),
|
|
3448
3445
|
"data-position": e.position || "top-center",
|
|
3449
|
-
"data-y-position":
|
|
3446
|
+
"data-y-position": h.value ? "top" : "bottom",
|
|
3450
3447
|
style: {
|
|
3451
3448
|
"--front-toast-height": `${A.frontHeight}px`,
|
|
3452
3449
|
"--gap": `${Me}px`,
|
|
@@ -3471,14 +3468,14 @@ const Or = H({
|
|
|
3471
3468
|
default: Or
|
|
3472
3469
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3473
3470
|
function _r(e, t) {
|
|
3474
|
-
t.i18n?.locale && (
|
|
3471
|
+
t.i18n?.locale && (x.global.locale.value = t.i18n.locale), t.i18n?.fallbackLocale && (x.global.fallbackLocale.value = t.i18n.fallbackLocale), e.use(x);
|
|
3475
3472
|
const a = Pn();
|
|
3476
|
-
e.provide(
|
|
3473
|
+
e.provide(Gn, a);
|
|
3477
3474
|
const { resolveCamelCaseLocale: n } = a;
|
|
3478
3475
|
e.config.globalProperties.$mergeLocaleMessage = (s, o) => {
|
|
3479
|
-
|
|
3476
|
+
x.global.mergeLocaleMessage(n(s), o);
|
|
3480
3477
|
}, Object.entries(Fo).forEach(([s, o]) => {
|
|
3481
|
-
|
|
3478
|
+
x.global.mergeLocaleMessage(n(s), o);
|
|
3482
3479
|
});
|
|
3483
3480
|
}
|
|
3484
3481
|
function Ir(e) {
|
|
@@ -3486,20 +3483,20 @@ function Ir(e) {
|
|
|
3486
3483
|
phone: 480,
|
|
3487
3484
|
desktop: 1024
|
|
3488
3485
|
});
|
|
3489
|
-
e.config.globalProperties.$isPhone = t.smaller("phone"), e.config.globalProperties.$isTablet = t.between("phone", "desktop"), e.config.globalProperties.$isMobile = t.smaller("desktop"), e.config.globalProperties.$isDesktop = t.greaterOrEqual("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(
|
|
3486
|
+
e.config.globalProperties.$isPhone = t.smaller("phone"), e.config.globalProperties.$isTablet = t.between("phone", "desktop"), e.config.globalProperties.$isMobile = t.smaller("desktop"), e.config.globalProperties.$isDesktop = t.greaterOrEqual("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(xn, e.config.globalProperties.$isPhone), e.provide($n, e.config.globalProperties.$isTablet), e.provide(Kn, e.config.globalProperties.$isMobile), e.provide(zn, e.config.globalProperties.$isDesktop), e.provide(qn, e.config.globalProperties.$isTouch);
|
|
3490
3487
|
}
|
|
3491
3488
|
function vr(e) {
|
|
3492
|
-
e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(
|
|
3489
|
+
e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(Yn, e.config.globalProperties.bladeRoutes);
|
|
3493
3490
|
}
|
|
3494
3491
|
function wr(e) {
|
|
3495
|
-
e.provide(Gt, xa()), e.provide(
|
|
3496
|
-
const t =
|
|
3492
|
+
e.provide(Gt, xa()), e.provide(Zn, $a()), e.provide(jn, Ka()), e.provide(Xn, za()), e.provide(Jn, qa()), e.provide(Qn, fe());
|
|
3493
|
+
const t = bn(e);
|
|
3497
3494
|
e.provide(Ut, t);
|
|
3498
3495
|
}
|
|
3499
3496
|
function Cr(e, t) {
|
|
3500
|
-
qo(), e.use(
|
|
3497
|
+
qo(), e.use(Ds, { router: t.router }), e.use(Us), e.use(Ao), e.use(Oo), e.use(Cs), e.use(ws), e.use(Es), e.use(as, t.aiAgent);
|
|
3501
3498
|
}
|
|
3502
|
-
function
|
|
3499
|
+
function Pr(e, t) {
|
|
3503
3500
|
if (!t.applicationInsights?.instrumentationKey) return;
|
|
3504
3501
|
const a = {
|
|
3505
3502
|
appInsightsConfig: {
|
|
@@ -3514,7 +3511,7 @@ function br(e, t) {
|
|
|
3514
3511
|
};
|
|
3515
3512
|
e.provide(Ya, a);
|
|
3516
3513
|
}
|
|
3517
|
-
function
|
|
3514
|
+
function br(e, t) {
|
|
3518
3515
|
if (!t.applicationInsights?.instrumentationKey) return;
|
|
3519
3516
|
const a = {
|
|
3520
3517
|
appInsightsConfig: {
|
|
@@ -3527,8 +3524,8 @@ function Pr(e, t) {
|
|
|
3527
3524
|
cloudRole: t.applicationInsights?.cloudRole,
|
|
3528
3525
|
cloudRoleInstance: t.applicationInsights?.cloudRoleInstance
|
|
3529
3526
|
};
|
|
3530
|
-
e.use(
|
|
3531
|
-
const n = e.runWithContext(() =>
|
|
3527
|
+
e.use(fs, a);
|
|
3528
|
+
const n = e.runWithContext(() => ms());
|
|
3532
3529
|
e.provide(Za, n), e.runWithContext(() => {
|
|
3533
3530
|
const { setupPageTracking: s } = ja();
|
|
3534
3531
|
t.router.beforeEach((o) => {
|
|
@@ -3543,21 +3540,19 @@ function Nr(e) {
|
|
|
3543
3540
|
let n = {};
|
|
3544
3541
|
return Object.keys(a.params).length > 0 && (n = Object.fromEntries(Object.entries(a.params).filter(([s]) => s !== "pathMatch"))), n;
|
|
3545
3542
|
};
|
|
3546
|
-
e.beforeEach(
|
|
3547
|
-
const {
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
return localStorage.setItem("redirectAfterLogin", a.fullPath), { name: "Login" };
|
|
3554
|
-
}
|
|
3543
|
+
e.beforeEach((a) => {
|
|
3544
|
+
const { authState: n, loadUser: s } = se();
|
|
3545
|
+
return Bo(a, {
|
|
3546
|
+
authState: n,
|
|
3547
|
+
loadUser: s,
|
|
3548
|
+
onSessionCheckFailed: () => j.error(x.global.t("CORE.ERRORS.SESSION_CHECK_FAILED"), { timeout: 5e3 })
|
|
3549
|
+
});
|
|
3555
3550
|
}), e.beforeEach((a, n) => {
|
|
3556
3551
|
const { hasAccess: s } = st();
|
|
3557
3552
|
if (a.meta.permissions) {
|
|
3558
3553
|
if (s(a.meta.permissions)) return !0;
|
|
3559
3554
|
{
|
|
3560
|
-
|
|
3555
|
+
j.error(x.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), {
|
|
3561
3556
|
timeout: 3e3
|
|
3562
3557
|
});
|
|
3563
3558
|
const o = t(a);
|
|
@@ -3568,44 +3563,44 @@ function Nr(e) {
|
|
|
3568
3563
|
}
|
|
3569
3564
|
const Zl = {
|
|
3570
3565
|
install(e, t) {
|
|
3571
|
-
jo(), Ga().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch =
|
|
3572
|
-
performance.mark("vc:deferred-plugins-start"),
|
|
3566
|
+
jo(), Ga().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch = Do(t.router), _r(e, t), Ir(e), vr(e), wr(e), Cr(e, t), Pr(e, t), Wo(e), typeof window < "u" && (e.runWithContext(() => aa()), e.runWithContext(() => sa())), Nr(t.router), setTimeout(() => {
|
|
3567
|
+
performance.mark("vc:deferred-plugins-start"), br(e, t), performance.mark("vc:deferred-plugins-done");
|
|
3573
3568
|
}, 0);
|
|
3574
3569
|
}
|
|
3575
3570
|
};
|
|
3576
3571
|
export {
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3572
|
+
zf as AI_AGENT_URL_ENV_KEY,
|
|
3573
|
+
YE as AiAgentServiceKey,
|
|
3574
|
+
Un as ApiException,
|
|
3575
|
+
ZE as AppBarMobileButtonsServiceKey,
|
|
3576
|
+
jn as AppBarWidgetServiceKey,
|
|
3582
3577
|
Za as AppInsightsInstanceKey,
|
|
3583
3578
|
Ya as AppInsightsOptionsKey,
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3579
|
+
jE as AppManifestClient,
|
|
3580
|
+
XE as AppPlacement,
|
|
3581
|
+
JE as AppRootElementKey,
|
|
3582
|
+
QE as AppsClient,
|
|
3583
|
+
Ao as AssetsDetailsModule,
|
|
3589
3584
|
ho as AssetsManager,
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3585
|
+
Oo as AssetsManagerModule,
|
|
3586
|
+
ef as AuthApiBase,
|
|
3587
|
+
tf as AuthorizationClient,
|
|
3593
3588
|
Jl as BUILTIN_CELL_TYPES,
|
|
3594
|
-
|
|
3595
|
-
|
|
3589
|
+
af as BladeBackButtonKey,
|
|
3590
|
+
nf as BladeBannersKey,
|
|
3596
3591
|
$t as BladeContextKey,
|
|
3597
|
-
|
|
3592
|
+
sf as BladeDataKey,
|
|
3598
3593
|
xt as BladeDescriptorKey,
|
|
3599
3594
|
Ql as BladeError,
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3595
|
+
Wn as BladeFormKey,
|
|
3596
|
+
of as BladeLoadingKey,
|
|
3597
|
+
rf as BladeMaximizedKey,
|
|
3598
|
+
yn as BladeMessagingKey,
|
|
3599
|
+
lf as BladeRenderingStateKey,
|
|
3600
|
+
Yn as BladeRoutesKey,
|
|
3601
|
+
Dn as BladeStackKey,
|
|
3607
3602
|
eu as ButtonGroupKey,
|
|
3608
|
-
|
|
3603
|
+
ys as COMPONENT_DEFAULTS,
|
|
3609
3604
|
tu as CellDate,
|
|
3610
3605
|
au as CellDateAgo,
|
|
3611
3606
|
nu as CellDefault,
|
|
@@ -3615,215 +3610,215 @@ export {
|
|
|
3615
3610
|
iu as CellLink,
|
|
3616
3611
|
lu as CellMoney,
|
|
3617
3612
|
uu as CellNumber,
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3613
|
+
cu as CellStatus,
|
|
3614
|
+
du as CellStatusIcon,
|
|
3615
|
+
uf as ChangeLogClient,
|
|
3616
|
+
vc as ChangePassword,
|
|
3617
|
+
wc as ChangePasswordButton,
|
|
3623
3618
|
Kl as ChangePasswordPage,
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3619
|
+
Rm as ChartContainer,
|
|
3620
|
+
_m as ChartLegend,
|
|
3621
|
+
Im as ChartTooltip,
|
|
3622
|
+
cf as CloseSettingsMenuKey,
|
|
3623
|
+
Cc as ColumnCollector,
|
|
3624
|
+
qf as DEFAULT_AI_AGENT_CONFIG,
|
|
3625
|
+
vm as DashboardBarChart,
|
|
3626
|
+
wm as DashboardDonutChart,
|
|
3627
|
+
um as DashboardFeedList,
|
|
3628
|
+
cm as DashboardFeedRow,
|
|
3629
|
+
Cm as DashboardLineChart,
|
|
3630
|
+
df as DashboardServiceKey,
|
|
3631
|
+
dm as DashboardStatItem,
|
|
3632
|
+
Em as DashboardWidgetCard,
|
|
3633
|
+
Ef as DeveloperToolsClient,
|
|
3634
|
+
ff as DiagnosticsClient,
|
|
3640
3635
|
Eu as DisplayableError,
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3636
|
+
fm as DraggableDashboard,
|
|
3637
|
+
mf as DynamicModulesKey,
|
|
3638
|
+
gf as DynamicPropertiesClient,
|
|
3639
|
+
Sf as DynamicPropertyValueType,
|
|
3640
|
+
Yf as EMBEDDED_TO_HOST_MESSAGE_TYPES,
|
|
3641
|
+
Af as EmbeddedModeKey,
|
|
3642
|
+
pf as EntryState,
|
|
3643
|
+
Pc as ErrorInterceptor,
|
|
3644
|
+
Rs as ExtensionPoint,
|
|
3645
|
+
bm as ExtensionPoints,
|
|
3651
3646
|
tr as ExternalProviders,
|
|
3652
|
-
|
|
3647
|
+
Tf as ExternalSignInClient,
|
|
3653
3648
|
fu as FALLBACK_BLADE_ID,
|
|
3654
3649
|
Gl as ForgotPassword,
|
|
3655
3650
|
mu as FrameworkError,
|
|
3656
|
-
|
|
3651
|
+
Zf as HOST_TO_EMBEDDED_MESSAGE_TYPES,
|
|
3657
3652
|
yt as InjectionError,
|
|
3658
|
-
|
|
3653
|
+
hf as InternalRoutesKey,
|
|
3659
3654
|
$l as Invite,
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3655
|
+
zn as IsDesktopKey,
|
|
3656
|
+
Kn as IsMobileKey,
|
|
3657
|
+
xn as IsPhoneKey,
|
|
3658
|
+
$n as IsTabletKey,
|
|
3659
|
+
qn as IsTouchKey,
|
|
3660
|
+
Lf as JobsClient,
|
|
3661
|
+
Of as JsonValueKind,
|
|
3662
|
+
mm as LAYOUT_STORAGE_KEY,
|
|
3663
|
+
bc as LanguageSelector,
|
|
3664
|
+
Gn as LanguageServiceKey,
|
|
3665
|
+
Rf as LocalizableSettingsClient,
|
|
3671
3666
|
Hl as Login,
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3667
|
+
Nc as LogoutButton,
|
|
3668
|
+
Dc as MenuBurgerIcon,
|
|
3669
|
+
Xn as MenuServiceKey,
|
|
3675
3670
|
gu as ModuleLoadError,
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3671
|
+
_f as ModulesClient,
|
|
3672
|
+
If as ModulesLoadErrorKey,
|
|
3673
|
+
vf as ModulesReadyKey,
|
|
3674
|
+
wf as NOOP_URL_SINK,
|
|
3680
3675
|
Or as NotificationContainer,
|
|
3681
3676
|
un as NotificationContextKey,
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3677
|
+
yc as NotificationDropdown,
|
|
3678
|
+
Qn as NotificationStoreKey,
|
|
3679
|
+
Bc as NotificationTemplate,
|
|
3680
|
+
Cf as OAuthAppsClient,
|
|
3681
|
+
Pf as ProgressMessageLevel,
|
|
3682
|
+
bf as PushNotificationClient,
|
|
3688
3683
|
Su as RegistrationError,
|
|
3689
3684
|
xl as ResetPassword,
|
|
3690
|
-
|
|
3691
|
-
|
|
3685
|
+
Mc as SCHEDULER_ZOOM_LEVELS,
|
|
3686
|
+
kn as SecurityClient,
|
|
3692
3687
|
Au as ServiceError,
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3688
|
+
Bn as SettingClient,
|
|
3689
|
+
Nf as SettingValueType,
|
|
3690
|
+
kc as SettingsMenu,
|
|
3691
|
+
Vc as SettingsMenuItem,
|
|
3692
|
+
Jn as SettingsMenuServiceKey,
|
|
3693
|
+
Df as SettingsV2Client,
|
|
3694
|
+
yf as ShellIndicatorsKey,
|
|
3700
3695
|
Wl as Sidebar,
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3696
|
+
Bf as SortDirection,
|
|
3697
|
+
Uc as Table,
|
|
3698
|
+
Fc as TableBody,
|
|
3699
|
+
Wc as TableCell,
|
|
3700
|
+
Hc as TableCheckbox,
|
|
3701
|
+
Gc as TableColumnSwitcher,
|
|
3702
|
+
xc as TableEmpty,
|
|
3703
|
+
$c as TableFooter,
|
|
3704
|
+
Kc as TableGroupRow,
|
|
3705
|
+
zc as TableHead,
|
|
3706
|
+
qc as TableHeader,
|
|
3707
|
+
Yc as TableRow,
|
|
3708
|
+
Zc as TableRowActions,
|
|
3709
|
+
jc as TableSearchHeader,
|
|
3710
|
+
Xc as TableSelectAllBar,
|
|
3711
|
+
Jc as ThemeSelector,
|
|
3712
|
+
Zn as ToolbarServiceKey,
|
|
3713
|
+
Qc as UserDropdownButton,
|
|
3719
3714
|
pu as ValidationError,
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3715
|
+
ed as VcAccordion,
|
|
3716
|
+
td as VcAccordionItem,
|
|
3717
|
+
jf as VcAiAgentPanel,
|
|
3718
|
+
ad as VcApp,
|
|
3719
|
+
nd as VcAppBarMobileActions,
|
|
3720
|
+
sd as VcAppBarOverlay,
|
|
3721
|
+
od as VcAppBarWidgetContent,
|
|
3722
|
+
rd as VcAppBarWidgetItem,
|
|
3723
|
+
id as VcAppBarWidgetsMenu,
|
|
3724
|
+
ld as VcAppDesktopLayout,
|
|
3725
|
+
ud as VcAppMenu,
|
|
3726
|
+
cd as VcAppMenuSidebar,
|
|
3727
|
+
dd as VcAppMobileLayout,
|
|
3728
|
+
Ed as VcAppSidebarCollapseButton,
|
|
3729
|
+
fd as VcAppSidebarContent,
|
|
3730
|
+
md as VcAppSidebarHeader,
|
|
3736
3731
|
_e as VcAuthLayout,
|
|
3737
|
-
|
|
3738
|
-
|
|
3732
|
+
gd as VcBadge,
|
|
3733
|
+
In as VcBanner,
|
|
3739
3734
|
Wt as VcBlade,
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3735
|
+
Sd as VcBladeNavigation,
|
|
3736
|
+
Ds as VcBladeNavigationComponent,
|
|
3737
|
+
Ad as VcBladeNavigationV2,
|
|
3738
|
+
pd as VcBladeSlot,
|
|
3739
|
+
Td as VcBreadcrumbs,
|
|
3740
|
+
$ as VcButton,
|
|
3741
|
+
hd as VcButtonGroup,
|
|
3742
|
+
Ld as VcCard,
|
|
3743
|
+
Od as VcCheckbox,
|
|
3744
|
+
Rd as VcCheckboxGroup,
|
|
3745
|
+
_d as VcCol,
|
|
3751
3746
|
Tu as VcColorInput,
|
|
3752
3747
|
Se as VcColumn,
|
|
3753
|
-
|
|
3748
|
+
Ln as VcContainer,
|
|
3754
3749
|
Rn as VcDataTable,
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3750
|
+
hu as VcDatePicker,
|
|
3751
|
+
Id as VcDropdown,
|
|
3752
|
+
vd as VcDropdownItem,
|
|
3753
|
+
wd as VcDynamicProperty,
|
|
3754
|
+
Cd as VcEditor,
|
|
3755
|
+
Pd as VcEnvironmentBanner,
|
|
3761
3756
|
Ke as VcField,
|
|
3762
|
-
|
|
3757
|
+
bd as VcFileUpload,
|
|
3763
3758
|
me as VcForm,
|
|
3764
|
-
|
|
3759
|
+
Nd as VcGallery,
|
|
3765
3760
|
Ee as VcHint,
|
|
3766
|
-
|
|
3761
|
+
Hn as VcIcon,
|
|
3767
3762
|
ot as VcImage,
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3763
|
+
Dd as VcImageTile,
|
|
3764
|
+
yd as VcImageUpload,
|
|
3765
|
+
K as VcInput,
|
|
3766
|
+
Lu as VcInputCurrency,
|
|
3772
3767
|
Ou as VcInputDropdown,
|
|
3773
|
-
|
|
3768
|
+
Bd as VcInputGroup,
|
|
3774
3769
|
Ru as VcLabel,
|
|
3775
|
-
|
|
3770
|
+
Md as VcLanguageSelector,
|
|
3776
3771
|
_u as VcLink,
|
|
3777
3772
|
Ht as VcLoading,
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3773
|
+
kd as VcMenu,
|
|
3774
|
+
Vd as VcMenuExpandedKey,
|
|
3775
|
+
Ud as VcMenuGroup,
|
|
3776
|
+
Fd as VcMenuItem,
|
|
3777
|
+
Wd as VcMultivalue,
|
|
3778
|
+
Hd as VcPagination,
|
|
3779
|
+
Gd as VcPopover,
|
|
3785
3780
|
Sn as VcPopup,
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3781
|
+
xd as VcProgress,
|
|
3782
|
+
$d as VcRadioButton,
|
|
3783
|
+
Kd as VcRadioGroup,
|
|
3784
|
+
zd as VcRating,
|
|
3785
|
+
qd as VcRow,
|
|
3786
|
+
Yd as VcScheduler,
|
|
3792
3787
|
Iu as VcScrollableContainer,
|
|
3793
3788
|
vu as VcSelect,
|
|
3794
3789
|
_n as VcSidebar,
|
|
3795
3790
|
wu as VcSkeleton,
|
|
3796
|
-
|
|
3791
|
+
Zd as VcSlider,
|
|
3797
3792
|
Cu as VcStatus,
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3793
|
+
Pu as VcStatusIcon,
|
|
3794
|
+
jd as VcSwitch,
|
|
3795
|
+
Xd as VcTable,
|
|
3801
3796
|
On as VcTextarea,
|
|
3802
3797
|
gt as VcToast,
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3798
|
+
Mf as VcTooltip,
|
|
3799
|
+
Jd as VcVideo,
|
|
3800
|
+
Qd as VcWidget,
|
|
3801
|
+
Mn as WidgetScopeKey,
|
|
3807
3802
|
Gt as WidgetServiceKey,
|
|
3808
3803
|
Ft as __registerBladeConfig,
|
|
3809
|
-
|
|
3810
|
-
|
|
3804
|
+
eE as _createEnvironmentNameLogic,
|
|
3805
|
+
kf as _createInternalUserLogic,
|
|
3811
3806
|
zl as _resetAdapterState,
|
|
3812
|
-
|
|
3813
|
-
|
|
3807
|
+
Vf as _sharedInternalUserLogic,
|
|
3808
|
+
bu as addAppBarWidget,
|
|
3814
3809
|
Nu as addMenuItem,
|
|
3815
3810
|
Du as addSettingsMenuItem,
|
|
3816
3811
|
yu as after,
|
|
3817
|
-
|
|
3818
|
-
|
|
3812
|
+
as as aiAgentPlugin,
|
|
3813
|
+
tE as autofocus,
|
|
3819
3814
|
Bu as before,
|
|
3820
3815
|
Mu as bigInt,
|
|
3821
3816
|
pl as camelToSnake,
|
|
3822
|
-
|
|
3823
|
-
|
|
3817
|
+
hl as camelize,
|
|
3818
|
+
gm as clearLayoutStorage,
|
|
3824
3819
|
ku as convertColorNameToHex,
|
|
3825
3820
|
Vu as convertMomentFormat,
|
|
3826
|
-
|
|
3821
|
+
Xf as createAiAgentToolbarButton,
|
|
3827
3822
|
Il as createAppModule,
|
|
3828
3823
|
Uu as createBackendRegistry,
|
|
3829
3824
|
Fu as createKeyedBackendRegistry,
|
|
@@ -3831,157 +3826,159 @@ export {
|
|
|
3831
3826
|
Zl as default,
|
|
3832
3827
|
Et as defineAppModule,
|
|
3833
3828
|
Vl as defineBladeContext,
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3829
|
+
Nm as defineExtensionPoint,
|
|
3830
|
+
aE as detectThemePreset,
|
|
3831
|
+
Jf as expectedCode,
|
|
3832
|
+
Qf as expectedEventKey,
|
|
3838
3833
|
Wu as fileWeight,
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3834
|
+
nE as focusFallbackTarget,
|
|
3835
|
+
sE as focusIfLoose,
|
|
3836
|
+
oE as formatBadgeCount,
|
|
3842
3837
|
Hu as formatDateRelative,
|
|
3843
3838
|
Gu as formatDateWithPattern,
|
|
3844
|
-
|
|
3845
|
-
|
|
3839
|
+
em as formatShortcut,
|
|
3840
|
+
Sm as fromGridstackNode,
|
|
3846
3841
|
Fa as generateId,
|
|
3847
|
-
|
|
3842
|
+
rE as getAllBladeConfigs,
|
|
3848
3843
|
xu as getBestThumbnailSize,
|
|
3849
|
-
|
|
3844
|
+
iE as getBladeConfig,
|
|
3850
3845
|
vl as getComponentDefaults,
|
|
3851
3846
|
Yt as getExtensionColor,
|
|
3852
3847
|
Zt as getExtensionLabel,
|
|
3853
3848
|
$u as getMenuBadge,
|
|
3854
3849
|
Ku as getMenuBadges,
|
|
3855
3850
|
zu as getThumbnailUrl,
|
|
3856
|
-
|
|
3857
|
-
|
|
3851
|
+
tm as hotkey,
|
|
3852
|
+
x as i18n,
|
|
3858
3853
|
Ul as injectBladeContext,
|
|
3854
|
+
Uf as isAuthenticationFailure,
|
|
3859
3855
|
qu as isFrameworkError,
|
|
3860
3856
|
zt as isImage,
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3857
|
+
Yu as isScrolledToEnd,
|
|
3858
|
+
am as isTextInputFocused,
|
|
3859
|
+
Zu as isValidHexColor,
|
|
3860
|
+
_s as kebabToCamel,
|
|
3864
3861
|
Tl as kebabToPascal,
|
|
3865
|
-
|
|
3866
|
-
|
|
3862
|
+
lE as languageToCountryMap,
|
|
3863
|
+
Am as loadLayoutFromStorage,
|
|
3867
3864
|
Ua as loading,
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3865
|
+
Ff as logger,
|
|
3866
|
+
Wf as loggers,
|
|
3867
|
+
nm as matchesEvent,
|
|
3868
|
+
pm as mergeLayoutWithWidgets,
|
|
3869
|
+
ju as mindimensions,
|
|
3870
|
+
Xu as normalizeHexColor,
|
|
3871
|
+
j as notification,
|
|
3872
|
+
Pe as parseError,
|
|
3873
|
+
ws as permissions,
|
|
3874
|
+
Ju as provideAppBarState,
|
|
3875
|
+
uE as provideAppBarWidget,
|
|
3876
|
+
Qu as provideDashboardService,
|
|
3877
|
+
cE as provideLanguages,
|
|
3878
|
+
ec as provideMenuService,
|
|
3879
|
+
tc as provideSettingsMenu,
|
|
3880
|
+
dE as provideSidebarState,
|
|
3881
|
+
ac as provideToolbarService,
|
|
3885
3882
|
qt as readableSize,
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3883
|
+
nc as registerBuiltinCells,
|
|
3884
|
+
sc as registerDashboardWidget,
|
|
3885
|
+
oc as registerExternalWidget,
|
|
3886
|
+
rc as registerToolbarItem,
|
|
3887
|
+
ic as registerWidget,
|
|
3888
|
+
lc as removeMenuBadge,
|
|
3889
|
+
uc as removeRegisteredMenuItem,
|
|
3890
|
+
EE as resolveEnvironment,
|
|
3891
|
+
cc as resolveLocale,
|
|
3892
|
+
dc as resolveLocaleSync,
|
|
3893
|
+
Tm as saveLayoutToStorage,
|
|
3894
|
+
Ec as setMenuBadge,
|
|
3895
|
+
fE as sidebarStorageKey,
|
|
3896
|
+
Cs as signalR,
|
|
3897
|
+
mE as stripTenantPrefix,
|
|
3898
|
+
hm as toGridstackWidget,
|
|
3899
|
+
gE as useAdaptiveItems,
|
|
3900
|
+
sm as useAiAgent,
|
|
3901
|
+
$f as useAiAgentContext,
|
|
3902
|
+
$s as useApiClient,
|
|
3903
|
+
SE as useAppBarMobileActions,
|
|
3904
|
+
fc as useAppBarState,
|
|
3905
|
+
AE as useAppBarWidget,
|
|
3906
|
+
pE as useAppBarWidgets,
|
|
3910
3907
|
ja as useAppInsights,
|
|
3911
|
-
|
|
3908
|
+
bl as useAssets,
|
|
3912
3909
|
Nl as useAssetsManager,
|
|
3913
3910
|
Xt as useAsync,
|
|
3914
|
-
|
|
3915
|
-
|
|
3911
|
+
TE as useBadge,
|
|
3912
|
+
Ys as useBeforeUnload,
|
|
3916
3913
|
ut as useBlade,
|
|
3917
3914
|
Yl as useBladeForm,
|
|
3918
|
-
|
|
3919
|
-
|
|
3915
|
+
mc as useBladeLoading,
|
|
3916
|
+
hE as useBladeMessaging,
|
|
3920
3917
|
ql as useBladeNavigation,
|
|
3921
|
-
|
|
3922
|
-
|
|
3918
|
+
Ll as useBladeNotifications,
|
|
3919
|
+
om as useBladeStack,
|
|
3923
3920
|
Ml as useBladeWidgets,
|
|
3924
3921
|
Dl as useBreadcrumbs,
|
|
3925
3922
|
Rl as useBroadcastFilter,
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3923
|
+
gc as useCellRegistry,
|
|
3924
|
+
LE as useCollapsible,
|
|
3925
|
+
OE as useColumnFilter,
|
|
3929
3926
|
zo as useContainer,
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3927
|
+
Sc as useDashboard,
|
|
3928
|
+
RE as useDataTablePagination,
|
|
3929
|
+
_E as useDataTableSort,
|
|
3933
3930
|
yl as useDynamicProperties,
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3931
|
+
IE as useEnvironmentName,
|
|
3932
|
+
Ac as useErrorHandler,
|
|
3933
|
+
Dm as useExtensionPoint,
|
|
3934
|
+
vE as useFilterState,
|
|
3935
|
+
pc as useFloatingPosition,
|
|
3936
|
+
Tc as useFormField,
|
|
3940
3937
|
wl as useFunctions,
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3938
|
+
wE as useGalleryPreview,
|
|
3939
|
+
Lm as useGridstack,
|
|
3940
|
+
CE as useImageLoad,
|
|
3944
3941
|
Go as useInstance,
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3942
|
+
rm as useIsMac,
|
|
3943
|
+
im as useKeyboardShortcuts,
|
|
3944
|
+
PE as useLanguages,
|
|
3945
|
+
Pl as useLatestRequest,
|
|
3949
3946
|
Jt as useLoading,
|
|
3950
|
-
|
|
3951
|
-
|
|
3947
|
+
bE as useMenuActiveState,
|
|
3948
|
+
hc as useMenuService,
|
|
3952
3949
|
Fl as useModificationTracker,
|
|
3953
3950
|
Ol as useNotificationContext,
|
|
3954
3951
|
fe as useNotificationStore,
|
|
3955
3952
|
Cl as useNotifications,
|
|
3956
3953
|
st as usePermissions,
|
|
3957
|
-
|
|
3954
|
+
Cn as usePopup,
|
|
3958
3955
|
Ha as useResponsive,
|
|
3959
|
-
|
|
3956
|
+
Lc as useScrollArrows,
|
|
3960
3957
|
we as useSettings,
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3958
|
+
Oc as useSettingsMenu,
|
|
3959
|
+
NE as useShellBootstrap,
|
|
3960
|
+
DE as useShellLifecycle,
|
|
3961
|
+
yE as useShellNavigation,
|
|
3962
|
+
BE as useSidebarState,
|
|
3963
|
+
ME as useTableColumnsReorder,
|
|
3964
|
+
kE as useTableColumnsResize,
|
|
3965
|
+
VE as useTableContext,
|
|
3966
|
+
UE as useTableInlineEdit,
|
|
3970
3967
|
_l as useTableQueryState,
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3968
|
+
FE as useTableRowGrouping,
|
|
3969
|
+
WE as useTableRowReorder,
|
|
3970
|
+
HE as useTableSearch,
|
|
3971
|
+
GE as useTableSelection,
|
|
3972
|
+
xE as useTableSort,
|
|
3973
|
+
Hf as useTeleportTarget,
|
|
3977
3974
|
Ga as useTheme,
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3975
|
+
$E as useToggleableContent,
|
|
3976
|
+
Rc as useToolbar,
|
|
3977
|
+
Gf as useUser,
|
|
3978
|
+
KE as useVirtualScroll,
|
|
3982
3979
|
Bl as useWebVitals,
|
|
3983
3980
|
kl as useWidgetTrigger,
|
|
3984
|
-
|
|
3981
|
+
zE as vAutofocus,
|
|
3985
3982
|
Ua as vLoading,
|
|
3986
|
-
|
|
3983
|
+
_c as wrapError
|
|
3987
3984
|
};
|