@vc-shell/framework 2.5.0-pr332.a439a24 → 2.5.0-pr333.e765c02
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/core/composables/useAssets/index.d.ts.map +1 -1
- package/dist/core/composables/useAssetsManager/index.d.ts.map +1 -1
- package/dist/core/interceptors/index.d.ts.map +1 -1
- package/dist/core/plugins/signalR/index.d.ts.map +1 -1
- package/dist/framework.js +1297 -1245
- package/dist/framework.js.map +1 -1
- package/dist/locales/de.js +5 -0
- package/dist/locales/en.js +5 -0
- package/dist/locales/en.json +5 -0
- package/dist/locales/types.d.ts +5 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-data-table/VcDataTable.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-data-table/VcDataTable.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/VcColumn.vue.d.ts +1 -1
- package/package.json +4 -4
- package/dist/core/composables/useAssetsManager/uploadAssets.d.ts +0 -37
- package/dist/core/composables/useAssetsManager/uploadAssets.d.ts.map +0 -1
package/dist/framework.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { b as
|
|
2
|
-
import { N as
|
|
3
|
-
import { B as
|
|
4
|
-
import { getCurrentScope as
|
|
5
|
-
import { aS as
|
|
6
|
-
import { b8 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
|
|
1
|
+
import { b as ya, c as Ba } from "./chunks/vendor-vueuse-core-_wFDcFkI.js";
|
|
2
|
+
import { N as st, O as se, P as Y, Q as x, l as $, R as Pe, S as Ma, T as yt, p as ot, q as K, n as pe, A as ka, U as Va, W as Ua, X as Fa, V as Ee, Y as Wa, Z as Ha, $ as Ga, a0 as xa, a1 as $a, a2 as Ka, a3 as za, a4 as qa, a5 as Ya } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js";
|
|
3
|
+
import { B as Zl, a6 as Xl, a as Ql, _ as Jl, b as eu, c as tu, d as au, e as nu, f as su, g as ou, h as ru, i as iu, j as lu, k as uu, a7 as cu, a8 as du, a9 as Eu, aa as fu, ab as gu, ac as mu, ad as Su, m as Au, o as pu, r as Tu, s as hu, t as Ou, u as Lu, v as Ru, w as _u, x as Iu, y as vu, z as wu, ae as Cu, af as Pu, ag as bu, ah as Nu, ai as Du, aj as yu, ak as Bu, al as Mu, am as ku, an as Vu, ao as Uu, ap as Fu, aq as Wu, ar as Hu, as as Gu, at as xu, au as $u, av as Ku, aw as zu, ax as qu, ay as Yu, C as ju, az as Zu, aA as Xu, aB as Qu, aC as Ju, D as ec, aD as tc, aE as ac, aF as nc, aG as sc, aH as oc, aI as rc, aJ as ic, aK as lc, aL as uc, E as cc, F as dc, G as Ec, L as fc, aM as gc, H as mc, I as Sc, aN as Ac, J as pc, aO as Tc, aP as hc, aQ as Oc } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js";
|
|
4
|
+
import { getCurrentScope as rt, onScopeDispose as it, computed as I, inject as J, watch as ae, defineComponent as H, openBlock as b, createBlock as D, createSlots as Le, withCtx as h, renderSlot as j, createElementVNode as U, normalizeClass as ja, createElementBlock as W, Fragment as ne, createVNode as _, unref as i, createTextVNode as M, toDisplayString as y, shallowReactive as Za, ref as N, readonly as Me, onMounted as Re, onBeforeMount as Xa, onBeforeUnmount as Qa, shallowRef as Ja, onUnmounted as en, provide as Bt, toValue as Mt, isRef as kt, normalizeStyle as Vt, createCommentVNode as q, withDirectives as tn, withModifiers as He, reactive as ie, createApp as an, nextTick as be, renderList as Fe, withKeys as lt, mergeProps as re, getCurrentInstance as nn, warn as sn, h as ee, toRaw as on } from "vue";
|
|
5
|
+
import { aS as ge, aT as rn, aU as ln, aV as Ut, aW as Ge, aX as un, aY as cn, aZ as dn, a_ as En, a$ as fn, ab as gn, b0 as xe, b1 as mn, b2 as Sn, b3 as Ft, F as Wt, M as An, Y as me, W as $e, am as pn, N as Tn, ai as hn, B as _e, a3 as Ht, E as On, b4 as Ln, b5 as Rn, an as gt, b6 as _n, b7 as In } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-RHeDlcVB.js";
|
|
6
|
+
import { b8 as Rc, b9 as _c, C as Ic, ba as vc, bb as wc, bc as Cc, _ as Pc, bd as bc, be as Nc, S as Dc, bf as yc, bg as Bc, a as Mc, b as kc, c as Vc, d as Uc, e as Fc, f as Wc, T as Hc, g as Gc, h as xc, i as $c, j as Kc, k as zc, l as qc, m as Yc, bh as jc, bi as Zc, V as Xc, n as Qc, o as Jc, p as ed, q as td, r as ad, s as nd, t as sd, u as od, v as rd, w as id, x as ld, y as ud, z as cd, A as dd, D as Ed, bj as fd, bj as gd, bk as md, G as Sd, H as Ad, I as pd, J as Td, K as hd, L as Od, O as Ld, P as Rd, Q as _d, R as Id, U as vd, X as wd, Z as Cd, $ as Pd, a0 as bd, a1 as Nd, a2 as Dd, a4 as yd, a5 as Bd, a6 as Md, a7 as kd, a8 as Vd, a9 as Ud, aa as Fd, ac as Wd, ad as Hd, ae as Gd, af as xd, ag as $d, ah as Kd, aj as zd, ak as qd, al as Yd, ao as jd, ap as Zd, bl as Xd, aq as Qd, bm as Jd, bn as eE, bo as tE, bp as aE, bq as nE, br as sE, bs as oE, bt as rE, bu as iE, bv as lE, bw as uE, ar as cE, as as dE, at as EE, bx as fE, au as gE, av as mE, by as SE, aw as AE, ax as pE, ay as TE, az as hE, bz as OE, aA as LE, aB as RE, aC as _E, bA as IE, aD as vE, aE as wE, aF as CE, aG as PE, bB as bE, aH as NE, aI as DE, aJ as yE, aK as BE, aL as ME, aM as kE, aN as VE, aO as UE, aP as FE, aQ as WE, aR as HE, aq as GE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-RHeDlcVB.js";
|
|
7
|
+
import { _ as vn } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
|
|
8
|
+
import { c as k, b as wn, d as Cn, i as et, S as Pn, W as Gt, B as xt, h as bn, j as $t, k as Nn, m as Dn, l as Kt, n as yn, _ as Bn, L as Mn, I as kn, o as Vn, p as Un, q as Fn, r as Wn, s as Hn, T as Gn, t as xn, v as $n, w as Kn, x as zn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
|
|
9
|
+
import { A as $E, y as KE, z as zE, C as qE, D as YE, F as jE, G as ZE, H as XE, J as QE, K as JE, e as ef, f as tf, O as af, P as nf, Q as sf, R as of, U as rf, V as lf, X as uf, Y as cf, Z as df, $ as Ef, a0 as ff, E as gf, a1 as mf, a2 as Sf, a3 as Af, a4 as pf, a5 as Tf, a6 as hf, a7 as Of, a8 as Lf, M as Rf, N as _f, a9 as If, aa as vf, ab as wf, ac as Cf, ad as Pf, ae as bf, af as Nf, ag as Df, a as yf, ah as Bf, ai as Mf, aj as kf, ak as Vf, u as Uf, g as Ff } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
|
|
10
|
+
import { H as qn, L as Yn } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
|
|
11
|
+
import { a as jn } from "./chunks/index-DLsURdJp.js";
|
|
12
|
+
import { u as Hf } from "./chunks/index-DLsURdJp.js";
|
|
13
|
+
import { a as Zn, s as Xn, b as Qn, d as Jn, e as es, f as ut, g as ts, h as as, i as ns, j as ss } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.js";
|
|
14
|
+
import { A as xf, D as $f, E as Kf, H as zf, _ as qf, c as Yf, k as jf, l as Zf, m as Xf, n as Qf, o as Jf, p as eg, u as tg, q as ag, r as ng, t as sg } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.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 os } 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
|
|
103
|
-
function
|
|
96
|
+
import { _ as rg, a as ig, b as lg, c as ug, d as cg, L as dg, e as Eg, f as fg, l as gg, m as mg, s as Sg, t as Ag, u as pg } from "./chunks/dashboard-feed-row.vue_vue_type_script_setup_true_lang-C0IjvNtI.js";
|
|
97
|
+
import { _ as hg, a as Og, b as Lg, c as Rg, d as _g, e as Ig } from "./chunks/DashboardDonutChart.vue_vue_type_script_setup_true_lang-hTcM33bM.js";
|
|
98
|
+
import { A as rs, u as is } from "./chunks/vendor-vue3-application-insights-CAgbt8pk.js";
|
|
99
|
+
import { o as ls, c as Q, d as us, i as cs } from "./chunks/vendor-lodash-es-D2n90GJy.js";
|
|
100
|
+
import { T as ds, x as Es, b as fs, S as gs, $ as ms } from "./chunks/vendor-web-vitals-ByFgAM-8.js";
|
|
101
|
+
import { _ as Ss } from "./chunks/index-BuTo_Lx8.js";
|
|
102
|
+
import { E as wg, d as Cg, u as Pg } from "./chunks/index-BuTo_Lx8.js";
|
|
103
|
+
function Sl(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
|
|
109
|
-
function
|
|
110
|
-
const t =
|
|
108
|
+
const As = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
|
|
109
|
+
function Al(e) {
|
|
110
|
+
const t = As(e);
|
|
111
111
|
return t[0].toUpperCase() + t.substring(1);
|
|
112
112
|
}
|
|
113
|
-
function
|
|
113
|
+
function pl(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 ps = /* @__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 ? ps.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 Ts = {
|
|
131
131
|
pdf: "#e74c3c",
|
|
132
132
|
doc: "#2b579a",
|
|
133
133
|
docx: "#2b579a",
|
|
@@ -144,28 +144,28 @@ const Ls = {
|
|
|
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 Ts[t] ?? "var(--neutrals-400)";
|
|
149
149
|
}
|
|
150
150
|
function jt(e) {
|
|
151
|
-
return e ? (
|
|
151
|
+
return e ? (dt(e) ?? "FILE").toUpperCase() : "FILE";
|
|
152
152
|
}
|
|
153
|
-
const
|
|
153
|
+
const hs = {
|
|
154
154
|
install(e) {
|
|
155
|
-
const { hasAccess: t } =
|
|
155
|
+
const { hasAccess: t } = st();
|
|
156
156
|
e.config.globalProperties.$hasAccess = t;
|
|
157
157
|
}
|
|
158
158
|
};
|
|
159
|
-
function
|
|
160
|
-
const t =
|
|
159
|
+
function Tl(e) {
|
|
160
|
+
const t = ge(), a = t.subscribe({
|
|
161
161
|
types: e.types,
|
|
162
162
|
filter: e.filter,
|
|
163
163
|
handler: e.onMessage
|
|
164
164
|
});
|
|
165
|
-
|
|
166
|
-
const n =
|
|
165
|
+
rt() && it(a);
|
|
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
|
}
|
|
@@ -175,64 +175,74 @@ function Sl(e) {
|
|
|
175
175
|
markAsRead: o
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
|
-
function
|
|
179
|
-
const e =
|
|
178
|
+
function hl() {
|
|
179
|
+
const e = J(rn);
|
|
180
180
|
if (!e)
|
|
181
181
|
throw new Error("useNotificationContext() must be used inside a notification template");
|
|
182
182
|
return e;
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
const e =
|
|
184
|
+
function Ol() {
|
|
185
|
+
const e = ge();
|
|
186
186
|
return {
|
|
187
187
|
setBroadcastFilter: e.setBroadcastFilter,
|
|
188
188
|
clearBroadcastFilter: e.clearBroadcastFilter
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
const Zt = Symbol("NotificationContainerState"),
|
|
191
|
+
const Zt = Symbol("NotificationContainerState"), Ke = k("signalR"), Os = {
|
|
192
192
|
install(e) {
|
|
193
|
-
const t =
|
|
193
|
+
const t = ge(), { isAuthenticated: a } = se();
|
|
194
194
|
let n = !1;
|
|
195
|
-
const s =
|
|
195
|
+
const s = vn("pushNotificationHub", { enableForVitest: !0 }) ?? new qn().withUrl("/pushNotificationHub").withAutomaticReconnect().configureLogging(Yn.Information).build(), o = 5e3, r = 6e4;
|
|
196
|
+
let l = 0, c;
|
|
197
|
+
function u(f) {
|
|
198
|
+
return f instanceof Error && /\b401\b/.test(f.message);
|
|
199
|
+
}
|
|
200
|
+
const E = () => {
|
|
196
201
|
s.start().then(() => {
|
|
197
|
-
|
|
198
|
-
}).catch((
|
|
199
|
-
|
|
202
|
+
l = 0, Ke.info("Connected.");
|
|
203
|
+
}).catch((f) => {
|
|
204
|
+
if (Ke.error("Connection Error: ", f), u(f)) {
|
|
205
|
+
Ke.warn("Not authenticated — stopping reconnect attempts until sign-in.");
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const d = Math.min(o * 2 ** l, r);
|
|
209
|
+
l++, c = setTimeout(() => E(), d);
|
|
200
210
|
});
|
|
201
211
|
};
|
|
202
|
-
async function
|
|
203
|
-
await s.stop();
|
|
212
|
+
async function m() {
|
|
213
|
+
clearTimeout(c), c = void 0, await s.stop();
|
|
204
214
|
}
|
|
205
215
|
s.onclose(() => {
|
|
206
|
-
n &&
|
|
207
|
-
}), s.on("Send", (
|
|
208
|
-
t.ingest(
|
|
209
|
-
}), s.on("SendSystemEvents", (
|
|
210
|
-
t.ingest(
|
|
216
|
+
n && E();
|
|
217
|
+
}), s.on("Send", (f) => {
|
|
218
|
+
t.ingest(f);
|
|
219
|
+
}), s.on("SendSystemEvents", (f) => {
|
|
220
|
+
t.ingest(f, { broadcast: !0 });
|
|
211
221
|
}), ae(
|
|
212
222
|
a,
|
|
213
|
-
async (
|
|
214
|
-
|
|
223
|
+
async (f) => {
|
|
224
|
+
f ? (n = !0, l = 0, E()) : (n = !1, await m());
|
|
215
225
|
},
|
|
216
226
|
{ immediate: !0 }
|
|
217
227
|
);
|
|
218
228
|
}
|
|
219
229
|
};
|
|
220
|
-
function
|
|
221
|
-
const t =
|
|
230
|
+
function Ll(e) {
|
|
231
|
+
const t = J(ln, void 0);
|
|
222
232
|
return {
|
|
223
233
|
read: () => t ? t.read(e) : {}
|
|
224
234
|
};
|
|
225
235
|
}
|
|
226
|
-
const
|
|
227
|
-
function
|
|
236
|
+
const Ls = k("modularity");
|
|
237
|
+
function Et(e) {
|
|
228
238
|
const { blades: t, locales: a, notificationTemplates: n, notifications: s } = e;
|
|
229
239
|
return {
|
|
230
240
|
install(o) {
|
|
231
|
-
const r =
|
|
241
|
+
const r = ge();
|
|
232
242
|
if (t && Object.keys(t).length > 0) {
|
|
233
|
-
const l = o.runWithContext(() =>
|
|
243
|
+
const l = o.runWithContext(() => J(Ut));
|
|
234
244
|
if (!l?._registerBladeFn)
|
|
235
|
-
|
|
245
|
+
Ls.error("defineAppModule: BladeRegistry not found. Blade registration will be skipped.");
|
|
236
246
|
else
|
|
237
247
|
for (const [c, u] of Object.entries(t)) {
|
|
238
248
|
const E = u.name || c;
|
|
@@ -265,7 +275,7 @@ function dt(e) {
|
|
|
265
275
|
c.filter((E) => !r.registry.has(E)).length > 0 && r.subscribe({
|
|
266
276
|
types: c,
|
|
267
277
|
handler: (E) => {
|
|
268
|
-
E.title &&
|
|
278
|
+
E.title && Y(E.title, {
|
|
269
279
|
onClose() {
|
|
270
280
|
r.markAsRead(E);
|
|
271
281
|
}
|
|
@@ -276,18 +286,18 @@ function dt(e) {
|
|
|
276
286
|
}
|
|
277
287
|
if (a)
|
|
278
288
|
for (const [l, c] of Object.entries(a))
|
|
279
|
-
|
|
289
|
+
x.global.mergeLocaleMessage(l, c);
|
|
280
290
|
}
|
|
281
291
|
};
|
|
282
292
|
}
|
|
283
|
-
function
|
|
284
|
-
return
|
|
293
|
+
function Rl(e, t, a, n) {
|
|
294
|
+
return Et({
|
|
285
295
|
blades: e,
|
|
286
296
|
locales: t,
|
|
287
297
|
notificationTemplates: a
|
|
288
298
|
});
|
|
289
299
|
}
|
|
290
|
-
async function
|
|
300
|
+
async function Rs(e, t, a, n, s, o) {
|
|
291
301
|
if (!a.workspaceUrl) return !1;
|
|
292
302
|
const r = t.getBladeByRoute(a.workspaceUrl);
|
|
293
303
|
if (!r)
|
|
@@ -297,7 +307,7 @@ async function Is(e, t, a, n, s, o) {
|
|
|
297
307
|
`[restoreFromUrl] Blade '${r.name}' matched URL '${a.workspaceUrl}' but is not a workspace`
|
|
298
308
|
), s && Ge(s, o), !1;
|
|
299
309
|
if (n && r.data.permissions && !n(r.data.permissions))
|
|
300
|
-
return console.warn(`[restoreFromUrl] Access denied to workspace '${r.name}'`),
|
|
310
|
+
return console.warn(`[restoreFromUrl] Access denied to workspace '${r.name}'`), Y.error(x.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), { timeout: 3e3 }), s && Ge(s, o), !1;
|
|
301
311
|
if (e.workspace.value?.name !== r.name && await e.openWorkspace({ name: r.name }), a.bladeUrl) {
|
|
302
312
|
const c = t.getBladeByRoute(a.bladeUrl);
|
|
303
313
|
if (c) {
|
|
@@ -315,7 +325,7 @@ async function Is(e, t, a, n, s, o) {
|
|
|
315
325
|
}
|
|
316
326
|
return !1;
|
|
317
327
|
}
|
|
318
|
-
async function
|
|
328
|
+
async function mt(e) {
|
|
319
329
|
for (; e.blades.value.length > 1; ) {
|
|
320
330
|
const t = e.blades.value, a = t[t.length - 1];
|
|
321
331
|
if (await e.closeBlade(a.id) || e.blades.value.length >= t.length)
|
|
@@ -323,28 +333,28 @@ async function gt(e) {
|
|
|
323
333
|
}
|
|
324
334
|
return e.blades.value.length > 0 && e._restoreStack([]), !0;
|
|
325
335
|
}
|
|
326
|
-
async function
|
|
336
|
+
async function _s(e, t, a, n, s) {
|
|
327
337
|
if (!e.matched.some((E) => E.meta?.root)) return;
|
|
328
338
|
if (!e.matched.some((E) => E.meta?.bladeCatchAll))
|
|
329
|
-
return t.blades.value.length > 0 && !await
|
|
330
|
-
const r = Object.values(e.params)?.[0] || "", l =
|
|
339
|
+
return t.blades.value.length > 0 && !await mt(t) ? !1 : void 0;
|
|
340
|
+
const r = Object.values(e.params)?.[0] || "", l = un(e.path, r);
|
|
331
341
|
if (!l.workspaceUrl)
|
|
332
|
-
return t.blades.value.length > 0 && !await
|
|
342
|
+
return t.blades.value.length > 0 && !await mt(t) ? !1 : void 0;
|
|
333
343
|
const c = Object.fromEntries(Object.entries(e.params).filter(([, E]) => typeof E == "string"));
|
|
334
|
-
if (await
|
|
335
|
-
const { path: E, query: m } =
|
|
344
|
+
if (await Rs(t, a, l, n, s, c)) {
|
|
345
|
+
const { path: E, query: m } = cn(r, t.blades.value);
|
|
336
346
|
return { path: E, query: m, replace: !0 };
|
|
337
347
|
}
|
|
338
348
|
}
|
|
339
|
-
const
|
|
349
|
+
const Is = {
|
|
340
350
|
install(e, t) {
|
|
341
351
|
const { router: a } = t, n = {
|
|
342
352
|
router: t.router
|
|
343
353
|
};
|
|
344
|
-
|
|
354
|
+
Jn(n);
|
|
345
355
|
const s = e.runWithContext(() => {
|
|
346
356
|
try {
|
|
347
|
-
return
|
|
357
|
+
return dn();
|
|
348
358
|
} catch {
|
|
349
359
|
console.warn(
|
|
350
360
|
"[BladeNavigationPlugin] BladeRegistry not yet available. BladeStack will be created but URL restoration may be deferred."
|
|
@@ -356,20 +366,20 @@ const ws = {
|
|
|
356
366
|
console.error("[BladeNavigationPlugin] BladeRegistry is required but not found.");
|
|
357
367
|
return;
|
|
358
368
|
}
|
|
359
|
-
const { hasAccess: o } = e.runWithContext(() =>
|
|
360
|
-
r.current = c, e.provide(
|
|
361
|
-
const u =
|
|
362
|
-
e.provide(
|
|
369
|
+
const { hasAccess: o } = e.runWithContext(() => st()), r = {}, l = fn(a, () => r.current), c = Zn(s, o, l);
|
|
370
|
+
r.current = c, e.provide(wn, c), Xn(c);
|
|
371
|
+
const u = En(c);
|
|
372
|
+
e.provide(Cn, u), Qn(u), es(s);
|
|
363
373
|
const E = a.getRoutes().find((m) => m.meta?.root);
|
|
364
374
|
E && a.addRoute(E.name, {
|
|
365
375
|
path: ":pathMatch(.*)*",
|
|
366
376
|
component: { render: () => null },
|
|
367
377
|
meta: { bladeCatchAll: !0 }
|
|
368
378
|
}), a.beforeEach(
|
|
369
|
-
(m) => l.suppressWhile(() =>
|
|
379
|
+
(m) => l.suppressWhile(() => _s(m, c, s, o, a))
|
|
370
380
|
);
|
|
371
381
|
}
|
|
372
|
-
},
|
|
382
|
+
}, vs = {
|
|
373
383
|
input: {
|
|
374
384
|
maxlength: 1024,
|
|
375
385
|
debounce: 0,
|
|
@@ -419,10 +429,10 @@ const ws = {
|
|
|
419
429
|
gap: 20
|
|
420
430
|
}
|
|
421
431
|
};
|
|
422
|
-
function
|
|
423
|
-
return
|
|
432
|
+
function _l(e) {
|
|
433
|
+
return vs[e];
|
|
424
434
|
}
|
|
425
|
-
const
|
|
435
|
+
const ft = /* @__PURE__ */ H({
|
|
426
436
|
__name: "vc-popup-base",
|
|
427
437
|
props: {
|
|
428
438
|
title: {},
|
|
@@ -442,50 +452,50 @@ const Et = /* @__PURE__ */ H({
|
|
|
442
452
|
function s(o) {
|
|
443
453
|
n("confirm"), a.closeOnConfirm && o();
|
|
444
454
|
}
|
|
445
|
-
return (o, r) => (b(), D(
|
|
455
|
+
return (o, r) => (b(), D(gn, {
|
|
446
456
|
variant: e.variant,
|
|
447
457
|
"is-mobile-fullscreen": e.isMobileFullscreen,
|
|
448
458
|
title: e.title,
|
|
449
459
|
closable: e.closable,
|
|
450
460
|
onClose: r[0] || (r[0] = (l) => o.$emit("close"))
|
|
451
|
-
},
|
|
452
|
-
content:
|
|
453
|
-
|
|
461
|
+
}, Le({
|
|
462
|
+
content: h(() => [
|
|
463
|
+
j(o.$slots, "default")
|
|
454
464
|
]),
|
|
455
|
-
footer:
|
|
456
|
-
|
|
465
|
+
footer: h(({ close: l }) => [
|
|
466
|
+
j(o.$slots, "footer", {
|
|
457
467
|
close: l,
|
|
458
468
|
confirm: () => s(l)
|
|
459
469
|
}, () => [
|
|
460
470
|
U("div", {
|
|
461
|
-
class:
|
|
471
|
+
class: ja(["vc-popup-base__actions", {
|
|
462
472
|
"vc-popup-base__actions--confirm": e.mode === "confirm",
|
|
463
473
|
"vc-popup-base__actions--single": e.mode === "acknowledge"
|
|
464
474
|
}])
|
|
465
475
|
}, [
|
|
466
476
|
e.mode === "confirm" ? (b(), W(ne, { key: 0 }, [
|
|
467
|
-
|
|
477
|
+
_(i($), {
|
|
468
478
|
text: e.confirmAsText,
|
|
469
479
|
class: "vc-popup-base__confirm",
|
|
470
480
|
onClick: (c) => s(l)
|
|
471
481
|
}, {
|
|
472
|
-
default:
|
|
482
|
+
default: h(() => [
|
|
473
483
|
M(y(e.confirmLabel), 1)
|
|
474
484
|
]),
|
|
475
485
|
_: 1
|
|
476
486
|
}, 8, ["text", "onClick"]),
|
|
477
|
-
|
|
478
|
-
default:
|
|
487
|
+
_(i($), { onClick: l }, {
|
|
488
|
+
default: h(() => [
|
|
479
489
|
M(y(e.cancelLabel), 1)
|
|
480
490
|
]),
|
|
481
491
|
_: 1
|
|
482
492
|
}, 8, ["onClick"])
|
|
483
|
-
], 64)) : (b(), D(i(
|
|
493
|
+
], 64)) : (b(), D(i($), {
|
|
484
494
|
key: 1,
|
|
485
495
|
class: "vc-popup-base__single",
|
|
486
496
|
onClick: l
|
|
487
497
|
}, {
|
|
488
|
-
default:
|
|
498
|
+
default: h(() => [
|
|
489
499
|
M(y(e.actionLabel), 1)
|
|
490
500
|
]),
|
|
491
501
|
_: 1
|
|
@@ -497,21 +507,21 @@ const Et = /* @__PURE__ */ H({
|
|
|
497
507
|
}, [
|
|
498
508
|
o.$slots.header ? {
|
|
499
509
|
name: "header",
|
|
500
|
-
fn:
|
|
501
|
-
|
|
510
|
+
fn: h(() => [
|
|
511
|
+
j(o.$slots, "header")
|
|
502
512
|
]),
|
|
503
513
|
key: "0"
|
|
504
514
|
} : void 0
|
|
505
515
|
]), 1032, ["variant", "is-mobile-fullscreen", "title", "closable"]));
|
|
506
516
|
}
|
|
507
|
-
}),
|
|
517
|
+
}), ws = /* @__PURE__ */ H({
|
|
508
518
|
__name: "vc-popup-warning",
|
|
509
519
|
props: {
|
|
510
520
|
title: {}
|
|
511
521
|
},
|
|
512
522
|
emits: ["close", "confirm"],
|
|
513
523
|
setup(e) {
|
|
514
|
-
return (t, a) => (b(), D(
|
|
524
|
+
return (t, a) => (b(), D(ft, {
|
|
515
525
|
variant: "warning",
|
|
516
526
|
mode: "confirm",
|
|
517
527
|
"confirm-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.CONFIRM"),
|
|
@@ -520,90 +530,90 @@ const Et = /* @__PURE__ */ H({
|
|
|
520
530
|
title: e.title,
|
|
521
531
|
onClose: a[0] || (a[0] = (n) => t.$emit("close")),
|
|
522
532
|
onConfirm: a[1] || (a[1] = (n) => t.$emit("confirm"))
|
|
523
|
-
},
|
|
524
|
-
default:
|
|
525
|
-
|
|
533
|
+
}, Le({
|
|
534
|
+
default: h(() => [
|
|
535
|
+
j(t.$slots, "default")
|
|
526
536
|
]),
|
|
527
537
|
_: 2
|
|
528
538
|
}, [
|
|
529
539
|
t.$slots.header ? {
|
|
530
540
|
name: "header",
|
|
531
|
-
fn:
|
|
532
|
-
|
|
541
|
+
fn: h(() => [
|
|
542
|
+
j(t.$slots, "header")
|
|
533
543
|
]),
|
|
534
544
|
key: "0"
|
|
535
545
|
} : void 0
|
|
536
546
|
]), 1032, ["confirm-label", "cancel-label", "title"]));
|
|
537
547
|
}
|
|
538
|
-
}),
|
|
548
|
+
}), Cs = /* @__PURE__ */ H({
|
|
539
549
|
__name: "vc-popup-error",
|
|
540
550
|
props: {
|
|
541
551
|
title: {}
|
|
542
552
|
},
|
|
543
553
|
emits: ["close"],
|
|
544
554
|
setup(e) {
|
|
545
|
-
return (t, a) => (b(), D(
|
|
555
|
+
return (t, a) => (b(), D(ft, {
|
|
546
556
|
variant: "error",
|
|
547
557
|
mode: "acknowledge",
|
|
548
558
|
"action-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.OK"),
|
|
549
559
|
title: e.title,
|
|
550
560
|
onClose: a[0] || (a[0] = (n) => t.$emit("close"))
|
|
551
|
-
},
|
|
552
|
-
default:
|
|
553
|
-
|
|
561
|
+
}, Le({
|
|
562
|
+
default: h(() => [
|
|
563
|
+
j(t.$slots, "default")
|
|
554
564
|
]),
|
|
555
565
|
_: 2
|
|
556
566
|
}, [
|
|
557
567
|
t.$slots.header ? {
|
|
558
568
|
name: "header",
|
|
559
|
-
fn:
|
|
560
|
-
|
|
569
|
+
fn: h(() => [
|
|
570
|
+
j(t.$slots, "header")
|
|
561
571
|
]),
|
|
562
572
|
key: "0"
|
|
563
573
|
} : void 0
|
|
564
574
|
]), 1032, ["action-label", "title"]));
|
|
565
575
|
}
|
|
566
|
-
}),
|
|
576
|
+
}), Ps = /* @__PURE__ */ H({
|
|
567
577
|
__name: "vc-popup-info",
|
|
568
578
|
props: {
|
|
569
579
|
title: {}
|
|
570
580
|
},
|
|
571
581
|
emits: ["close"],
|
|
572
582
|
setup(e) {
|
|
573
|
-
return (t, a) => (b(), D(
|
|
583
|
+
return (t, a) => (b(), D(ft, {
|
|
574
584
|
variant: "info",
|
|
575
585
|
mode: "acknowledge",
|
|
576
586
|
"action-label": t.$t("COMPONENTS.ORGANISMS.VC_POPUP.OK"),
|
|
577
587
|
title: e.title,
|
|
578
588
|
onClose: a[0] || (a[0] = (n) => t.$emit("close"))
|
|
579
|
-
},
|
|
580
|
-
default:
|
|
581
|
-
|
|
589
|
+
}, Le({
|
|
590
|
+
default: h(() => [
|
|
591
|
+
j(t.$slots, "default")
|
|
582
592
|
]),
|
|
583
593
|
_: 2
|
|
584
594
|
}, [
|
|
585
595
|
t.$slots.header ? {
|
|
586
596
|
name: "header",
|
|
587
|
-
fn:
|
|
588
|
-
|
|
597
|
+
fn: h(() => [
|
|
598
|
+
j(t.$slots, "header")
|
|
589
599
|
]),
|
|
590
600
|
key: "0"
|
|
591
601
|
} : void 0
|
|
592
602
|
]), 1032, ["action-label", "title"]));
|
|
593
603
|
}
|
|
594
604
|
});
|
|
595
|
-
function
|
|
596
|
-
xe("warning",
|
|
605
|
+
function bs() {
|
|
606
|
+
xe("warning", ws), xe("error", Cs), xe("info", Ps);
|
|
597
607
|
}
|
|
598
|
-
const
|
|
608
|
+
const Ns = {
|
|
599
609
|
install(e) {
|
|
600
610
|
const a = {
|
|
601
|
-
popups:
|
|
611
|
+
popups: Za([])
|
|
602
612
|
};
|
|
603
|
-
e.config.globalProperties.$popupPlugin = a, e.provide(
|
|
613
|
+
e.config.globalProperties.$popupPlugin = a, e.provide(mn, a), Sn(a), bs();
|
|
604
614
|
}
|
|
605
615
|
};
|
|
606
|
-
function
|
|
616
|
+
function Ds(e, t) {
|
|
607
617
|
let a = null;
|
|
608
618
|
return function(...n) {
|
|
609
619
|
a && clearTimeout(a), a = window.setTimeout(() => {
|
|
@@ -611,20 +621,20 @@ function Bs(e, t) {
|
|
|
611
621
|
}, t);
|
|
612
622
|
};
|
|
613
623
|
}
|
|
614
|
-
function
|
|
624
|
+
function ys(e, t = 0) {
|
|
615
625
|
setTimeout(e, t);
|
|
616
626
|
}
|
|
617
|
-
const
|
|
618
|
-
function
|
|
627
|
+
const ze = /* @__PURE__ */ new WeakMap();
|
|
628
|
+
function Bs(e) {
|
|
619
629
|
return function(...t) {
|
|
620
|
-
if (!
|
|
630
|
+
if (!ze.has(e)) {
|
|
621
631
|
const a = e(...t);
|
|
622
|
-
|
|
632
|
+
ze.set(e, a);
|
|
623
633
|
}
|
|
624
|
-
return
|
|
634
|
+
return ze.get(e);
|
|
625
635
|
};
|
|
626
636
|
}
|
|
627
|
-
function
|
|
637
|
+
function Ms(e, t) {
|
|
628
638
|
let a = !1;
|
|
629
639
|
return function(...n) {
|
|
630
640
|
a || (e(...n), a = !0, setTimeout(() => {
|
|
@@ -632,26 +642,26 @@ function Vs(e, t) {
|
|
|
632
642
|
}, t));
|
|
633
643
|
};
|
|
634
644
|
}
|
|
635
|
-
function
|
|
645
|
+
function Il() {
|
|
636
646
|
return {
|
|
637
|
-
debounce:
|
|
638
|
-
delay:
|
|
639
|
-
once:
|
|
640
|
-
throttle:
|
|
647
|
+
debounce: Ds,
|
|
648
|
+
delay: ys,
|
|
649
|
+
once: Bs,
|
|
650
|
+
throttle: Ms
|
|
641
651
|
};
|
|
642
652
|
}
|
|
643
|
-
function
|
|
644
|
-
const t =
|
|
653
|
+
function vl(e) {
|
|
654
|
+
const t = ge(), a = e ? Array.isArray(e) ? e : [e] : [];
|
|
645
655
|
let n, s;
|
|
646
656
|
a.length && (s = t.subscribe({
|
|
647
657
|
types: a,
|
|
648
658
|
handler: (r) => n?.(r)
|
|
649
|
-
}),
|
|
650
|
-
const o =
|
|
659
|
+
}), rt() && it(() => s?.()));
|
|
660
|
+
const o = I(() => a.length ? t.realtime.value.filter(
|
|
651
661
|
(r) => r.isNew && r.notifyType != null && a.includes(r.notifyType)
|
|
652
662
|
) : []);
|
|
653
663
|
return {
|
|
654
|
-
notifications:
|
|
664
|
+
notifications: I(() => ls(t.history.value, ["created"], ["desc"])),
|
|
655
665
|
moduleNotifications: o,
|
|
656
666
|
loadFromHistory: t.loadHistory,
|
|
657
667
|
addNotification: t.ingest,
|
|
@@ -662,8 +672,8 @@ function Rl(e) {
|
|
|
662
672
|
}
|
|
663
673
|
};
|
|
664
674
|
}
|
|
665
|
-
let
|
|
666
|
-
const
|
|
675
|
+
let qe;
|
|
676
|
+
const ks = k("use-async");
|
|
667
677
|
function Xt(e, t) {
|
|
668
678
|
const a = N(!1), n = N(null), s = t?.notify !== !1, o = t?.notifyTimeout ?? 8e3;
|
|
669
679
|
async function r(l, ...c) {
|
|
@@ -672,14 +682,14 @@ function Xt(e, t) {
|
|
|
672
682
|
return await e(l, ...c);
|
|
673
683
|
} catch (u) {
|
|
674
684
|
const E = Pe(u);
|
|
675
|
-
if (n.value = E,
|
|
685
|
+
if (n.value = E, ks.error("Async action failed:", u), s && !et() && u && typeof u == "object") {
|
|
676
686
|
const m = `async-error-${E.message.slice(0, 80)}`, f = setTimeout(async () => {
|
|
677
|
-
|
|
687
|
+
qe || (qe = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js").then((S) => S.b0)).notification), qe.error(E.message, {
|
|
678
688
|
timeout: o,
|
|
679
689
|
notificationId: m
|
|
680
690
|
});
|
|
681
691
|
}, 0);
|
|
682
|
-
|
|
692
|
+
Ma(u, f, m);
|
|
683
693
|
}
|
|
684
694
|
throw u;
|
|
685
695
|
} finally {
|
|
@@ -692,7 +702,7 @@ function Xt(e, t) {
|
|
|
692
702
|
action: r
|
|
693
703
|
};
|
|
694
704
|
}
|
|
695
|
-
function
|
|
705
|
+
function Vs(e) {
|
|
696
706
|
async function t() {
|
|
697
707
|
return new e();
|
|
698
708
|
}
|
|
@@ -700,12 +710,12 @@ function Fs(e) {
|
|
|
700
710
|
getApiClient: t
|
|
701
711
|
};
|
|
702
712
|
}
|
|
703
|
-
function
|
|
704
|
-
return
|
|
713
|
+
function Qt(...e) {
|
|
714
|
+
return I(() => e.some((t) => t.value));
|
|
705
715
|
}
|
|
706
|
-
const
|
|
716
|
+
const Us = k("use-settings");
|
|
707
717
|
function we() {
|
|
708
|
-
const e = N(), t = N(!1), { getApiClient: a } =
|
|
718
|
+
const e = N(), t = N(!1), { getApiClient: a } = Vs(Pn), { loading: n, action: s } = Xt(async () => {
|
|
709
719
|
if (t.value) return;
|
|
710
720
|
const r = await (await a()).getUICustomizationSetting();
|
|
711
721
|
let l = null;
|
|
@@ -713,7 +723,7 @@ function we() {
|
|
|
713
723
|
try {
|
|
714
724
|
l = JSON.parse(r.defaultValue);
|
|
715
725
|
} catch (c) {
|
|
716
|
-
|
|
726
|
+
Us.warn("Failed to parse UI customization settings JSON; ignoring.", c);
|
|
717
727
|
}
|
|
718
728
|
l && !e.value && (e.value = {
|
|
719
729
|
contrast_logo: l.contrast_logo,
|
|
@@ -733,12 +743,12 @@ function we() {
|
|
|
733
743
|
return Re(async () => {
|
|
734
744
|
!e.value && !t.value && await s();
|
|
735
745
|
}), {
|
|
736
|
-
uiSettings:
|
|
746
|
+
uiSettings: I(() => e.value ?? {}),
|
|
737
747
|
applySettings: o,
|
|
738
|
-
loading:
|
|
748
|
+
loading: Qt(n)
|
|
739
749
|
};
|
|
740
750
|
}
|
|
741
|
-
function
|
|
751
|
+
function wl() {
|
|
742
752
|
const e = N(!1);
|
|
743
753
|
let t = 0, a = !1;
|
|
744
754
|
function n() {
|
|
@@ -757,41 +767,46 @@ function _l() {
|
|
|
757
767
|
function o() {
|
|
758
768
|
a = !0, s();
|
|
759
769
|
}
|
|
760
|
-
return
|
|
770
|
+
return rt() && it(o), {
|
|
761
771
|
begin: n,
|
|
762
772
|
invalidate: s,
|
|
763
773
|
dispose: o,
|
|
764
774
|
pending: Me(e)
|
|
765
775
|
};
|
|
766
776
|
}
|
|
767
|
-
const
|
|
768
|
-
async function
|
|
777
|
+
const St = k("use-assets"), Fs = 4;
|
|
778
|
+
async function Ws(e, t, a, n) {
|
|
769
779
|
const s = new FormData();
|
|
770
780
|
s.append("file", e);
|
|
771
|
-
const
|
|
781
|
+
const r = await (await fetch(`/api/assets?folderUrl=/${t}`, {
|
|
772
782
|
method: "POST",
|
|
773
783
|
body: s
|
|
774
784
|
})).json();
|
|
775
|
-
if (
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
}
|
|
779
|
-
async function ea(e, { uploadPath: t, startingSortOrder: a, concurrency: n = Qt }) {
|
|
780
|
-
const s = Array.from(e), o = [];
|
|
781
|
-
for (let r = 0; r < s.length; r += n) {
|
|
782
|
-
const l = s.slice(r, r + n), c = await Promise.all(
|
|
783
|
-
l.map((u, E) => Hs(u, t, r + E, a))
|
|
784
|
-
);
|
|
785
|
-
o.push(...c);
|
|
785
|
+
if (r?.length) {
|
|
786
|
+
const l = r[0];
|
|
787
|
+
return l.createdDate = /* @__PURE__ */ new Date(), l.sortOrder = n !== void 0 && n >= 0 ? n + a + 1 : 0, l.url = l.url ? decodeURI(l.url) : "", "size" in l && (l.size = e.size), l;
|
|
786
788
|
}
|
|
787
|
-
return
|
|
789
|
+
return null;
|
|
788
790
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
+
async function Hs(e, t, a) {
|
|
792
|
+
const n = [];
|
|
793
|
+
for (let s = 0; s < e.length; s += a) {
|
|
794
|
+
const o = e.slice(s, s + a), r = await Promise.all(o.map((l, c) => t(l, s + c)));
|
|
795
|
+
n.push(...r);
|
|
796
|
+
}
|
|
797
|
+
return n;
|
|
798
|
+
}
|
|
799
|
+
function Cl() {
|
|
791
800
|
const e = N(!1);
|
|
792
801
|
async function t(s, o, r) {
|
|
793
802
|
try {
|
|
794
|
-
|
|
803
|
+
e.value = !0;
|
|
804
|
+
const l = Array.from(s);
|
|
805
|
+
return (await Hs(
|
|
806
|
+
l,
|
|
807
|
+
(u, E) => Ws(u, o, E, r),
|
|
808
|
+
Fs
|
|
809
|
+
)).filter((u) => u !== null);
|
|
795
810
|
} catch (l) {
|
|
796
811
|
throw St.error("Upload failed:", l), l;
|
|
797
812
|
} finally {
|
|
@@ -801,8 +816,8 @@ function Il() {
|
|
|
801
816
|
function a(s, o, r = "url") {
|
|
802
817
|
try {
|
|
803
818
|
e.value = !0;
|
|
804
|
-
let l =
|
|
805
|
-
return l && l.length && s.length > 0 && (l =
|
|
819
|
+
let l = Q(o) || [];
|
|
820
|
+
return l && l.length && s.length > 0 && (l = us(l, s, (c, u) => c[r] === u[r])), l;
|
|
806
821
|
} catch (l) {
|
|
807
822
|
throw St.error("Remove failed:", l), l;
|
|
808
823
|
} finally {
|
|
@@ -812,7 +827,7 @@ function Il() {
|
|
|
812
827
|
function n(s, o) {
|
|
813
828
|
if (s.length === o.length)
|
|
814
829
|
return s.map((l) => ({ ...l }));
|
|
815
|
-
const r =
|
|
830
|
+
const r = Q(o) || [];
|
|
816
831
|
return r && r.length && s.forEach((l) => {
|
|
817
832
|
const c = r.findIndex((u) => u.url === l.url);
|
|
818
833
|
c !== -1 && (r[c] = { ...r[c], ...l });
|
|
@@ -822,17 +837,38 @@ function Il() {
|
|
|
822
837
|
upload: t,
|
|
823
838
|
remove: a,
|
|
824
839
|
edit: n,
|
|
825
|
-
loading:
|
|
840
|
+
loading: I(() => e.value)
|
|
826
841
|
};
|
|
827
842
|
}
|
|
828
|
-
const Gs = k("use-assets-manager");
|
|
843
|
+
const Gs = k("use-assets-manager"), xs = 4;
|
|
844
|
+
async function $s(e, t, a, n) {
|
|
845
|
+
const s = new FormData();
|
|
846
|
+
s.append("file", e);
|
|
847
|
+
const o = t.startsWith("/") ? t.slice(1) : t, l = await (await fetch(`/api/assets?folderUrl=/${o}`, {
|
|
848
|
+
method: "POST",
|
|
849
|
+
body: s
|
|
850
|
+
})).json();
|
|
851
|
+
if (l?.length) {
|
|
852
|
+
const c = l[0];
|
|
853
|
+
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;
|
|
854
|
+
}
|
|
855
|
+
return null;
|
|
856
|
+
}
|
|
857
|
+
async function Ks(e, t, a) {
|
|
858
|
+
const n = [];
|
|
859
|
+
for (let s = 0; s < e.length; s += a) {
|
|
860
|
+
const o = e.slice(s, s + a), r = await Promise.all(o.map((l, c) => t(l, s + c)));
|
|
861
|
+
n.push(...r);
|
|
862
|
+
}
|
|
863
|
+
return n;
|
|
864
|
+
}
|
|
829
865
|
function At(e) {
|
|
830
866
|
return e.map((t, a) => ({ item: t, index: a })).sort((t, a) => {
|
|
831
867
|
const n = t.item.sortOrder ?? Number.MAX_SAFE_INTEGER, s = a.item.sortOrder ?? Number.MAX_SAFE_INTEGER;
|
|
832
868
|
return n === s ? t.index - a.index : n - s;
|
|
833
869
|
}).map(({ item: t }, a) => ({ ...t, sortOrder: a }));
|
|
834
870
|
}
|
|
835
|
-
function
|
|
871
|
+
function Pl(e, t) {
|
|
836
872
|
const a = N(!1), n = N(At(e.value ?? []));
|
|
837
873
|
ae(
|
|
838
874
|
() => e.value,
|
|
@@ -844,12 +880,16 @@ function vl(e, t) {
|
|
|
844
880
|
function s() {
|
|
845
881
|
e.value = n.value;
|
|
846
882
|
}
|
|
847
|
-
const o = n, r =
|
|
848
|
-
async function u(S,
|
|
883
|
+
const o = n, r = I(() => a.value), l = t.concurrency ?? xs, c = t.assetKey ?? "url";
|
|
884
|
+
async function u(S, L) {
|
|
849
885
|
try {
|
|
850
886
|
a.value = !0;
|
|
851
|
-
const T =
|
|
852
|
-
|
|
887
|
+
const T = Array.from(S), v = t.uploadPath(), C = (await Ks(
|
|
888
|
+
T,
|
|
889
|
+
(O, g) => $s(O, v, g, L),
|
|
890
|
+
l
|
|
891
|
+
)).filter((O) => O !== null);
|
|
892
|
+
n.value = [...n.value, ...C], s();
|
|
853
893
|
} catch (T) {
|
|
854
894
|
throw Gs.error("Upload failed:", T), T;
|
|
855
895
|
} finally {
|
|
@@ -862,17 +902,17 @@ function vl(e, t) {
|
|
|
862
902
|
async function m(S) {
|
|
863
903
|
if (t.confirmRemove && !await t.confirmRemove())
|
|
864
904
|
return;
|
|
865
|
-
const
|
|
866
|
-
n.value = n.value.filter((T) => !
|
|
905
|
+
const L = new Set(S.map((T) => T[c]));
|
|
906
|
+
n.value = n.value.filter((T) => !L.has(T[c])), s();
|
|
867
907
|
}
|
|
868
908
|
function f(S) {
|
|
869
|
-
n.value = S.map((
|
|
909
|
+
n.value = S.map((L) => ({ ...L })), s();
|
|
870
910
|
}
|
|
871
911
|
function d(S) {
|
|
872
|
-
const
|
|
873
|
-
if (
|
|
912
|
+
const L = n.value.findIndex((T) => T[c] === S[c]);
|
|
913
|
+
if (L !== -1) {
|
|
874
914
|
const T = [...n.value];
|
|
875
|
-
T[
|
|
915
|
+
T[L] = { ...n.value[L], ...S }, n.value = T, s();
|
|
876
916
|
}
|
|
877
917
|
}
|
|
878
918
|
return {
|
|
@@ -885,10 +925,10 @@ function vl(e, t) {
|
|
|
885
925
|
loading: r
|
|
886
926
|
};
|
|
887
927
|
}
|
|
888
|
-
const
|
|
889
|
-
|
|
928
|
+
const zs = (e) => {
|
|
929
|
+
Xa(() => {
|
|
890
930
|
window.addEventListener("beforeunload", t);
|
|
891
|
-
}),
|
|
931
|
+
}), Qa(() => {
|
|
892
932
|
window.removeEventListener("beforeunload", t);
|
|
893
933
|
});
|
|
894
934
|
function t(a) {
|
|
@@ -897,9 +937,9 @@ const xs = (e) => {
|
|
|
897
937
|
return {
|
|
898
938
|
modified: e
|
|
899
939
|
};
|
|
900
|
-
},
|
|
901
|
-
function
|
|
902
|
-
const e =
|
|
940
|
+
}, qs = k("use-breadcrumbs");
|
|
941
|
+
function bl() {
|
|
942
|
+
const e = Ja([]);
|
|
903
943
|
function t(s) {
|
|
904
944
|
const o = e.value.findIndex((r) => r.id === s);
|
|
905
945
|
o !== -1 && (e.value = e.value.slice(0, o + 1));
|
|
@@ -911,7 +951,7 @@ function wl() {
|
|
|
911
951
|
try {
|
|
912
952
|
await s.clickHandler(l) !== !1 && t(l);
|
|
913
953
|
} catch (c) {
|
|
914
|
-
|
|
954
|
+
qs.error("Breadcrumb click handler failed:", c);
|
|
915
955
|
}
|
|
916
956
|
} : void 0
|
|
917
957
|
}, r = e.value.findIndex((l) => l.id === o.id);
|
|
@@ -925,7 +965,7 @@ function wl() {
|
|
|
925
965
|
e.value = e.value.filter((o) => !s.includes(o.id));
|
|
926
966
|
}
|
|
927
967
|
return {
|
|
928
|
-
breadcrumbs:
|
|
968
|
+
breadcrumbs: I(() => e.value),
|
|
929
969
|
push: a,
|
|
930
970
|
remove: n
|
|
931
971
|
};
|
|
@@ -936,16 +976,16 @@ function Se(e) {
|
|
|
936
976
|
function fe(e) {
|
|
937
977
|
return !!e.multilanguage;
|
|
938
978
|
}
|
|
939
|
-
function
|
|
979
|
+
function Oe(e) {
|
|
940
980
|
return !!e.multivalue;
|
|
941
981
|
}
|
|
942
982
|
function pt(e) {
|
|
943
983
|
return !!e.dictionary;
|
|
944
984
|
}
|
|
945
|
-
function
|
|
985
|
+
function Ys(e) {
|
|
946
986
|
return e.valueType === "Measure";
|
|
947
987
|
}
|
|
948
|
-
function
|
|
988
|
+
function js(e) {
|
|
949
989
|
return e.valueType === "Color";
|
|
950
990
|
}
|
|
951
991
|
function F(e) {
|
|
@@ -954,9 +994,9 @@ function F(e) {
|
|
|
954
994
|
function We(e, t) {
|
|
955
995
|
e.values && (fe(e) && t ? e.values = e.values.filter((a) => a.languageCode !== t) : e.values = [], e.values.length > 0 && e.values.every((a) => Se(a.value)) && (e.values = []));
|
|
956
996
|
}
|
|
957
|
-
const
|
|
997
|
+
const Zs = {
|
|
958
998
|
get(e, t) {
|
|
959
|
-
return fe(e) ?
|
|
999
|
+
return fe(e) ? Oe(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? "" : Oe(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
|
|
960
1000
|
},
|
|
961
1001
|
set(e, t, a) {
|
|
962
1002
|
if (!Array.isArray(t) && Se(t)) {
|
|
@@ -981,16 +1021,16 @@ const qs = {
|
|
|
981
1021
|
}
|
|
982
1022
|
e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [F({ value: t })];
|
|
983
1023
|
}
|
|
984
|
-
},
|
|
1024
|
+
}, Xs = {
|
|
985
1025
|
get(e, t) {
|
|
986
1026
|
return fe(e) ? (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? !1 : e.values?.[0]?.value ?? !1;
|
|
987
1027
|
},
|
|
988
1028
|
set(e, t, a) {
|
|
989
1029
|
e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [F({ value: t })];
|
|
990
1030
|
}
|
|
991
|
-
},
|
|
1031
|
+
}, Qs = {
|
|
992
1032
|
get(e, t) {
|
|
993
|
-
return fe(e) ?
|
|
1033
|
+
return fe(e) ? Oe(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.valueId ?? "" : Oe(e) ? e.values ?? [] : e.values?.[0]?.valueId ?? "";
|
|
994
1034
|
},
|
|
995
1035
|
set(e, t, a) {
|
|
996
1036
|
const { dictionary: n, locale: s } = a;
|
|
@@ -998,17 +1038,17 @@ const qs = {
|
|
|
998
1038
|
We(e, s);
|
|
999
1039
|
return;
|
|
1000
1040
|
}
|
|
1001
|
-
n?.length && (fe(e) ?
|
|
1041
|
+
n?.length && (fe(e) ? Js(e, t, n, s) : ao(e, t, n));
|
|
1002
1042
|
}
|
|
1003
1043
|
};
|
|
1004
|
-
function
|
|
1005
|
-
Array.isArray(t) ?
|
|
1044
|
+
function Js(e, t, a, n) {
|
|
1045
|
+
Array.isArray(t) ? eo(
|
|
1006
1046
|
e,
|
|
1007
1047
|
t,
|
|
1008
1048
|
a
|
|
1009
|
-
) :
|
|
1049
|
+
) : to(e, t, a, n);
|
|
1010
1050
|
}
|
|
1011
|
-
function
|
|
1051
|
+
function eo(e, t, a) {
|
|
1012
1052
|
e.values = t.flatMap((n) => {
|
|
1013
1053
|
const s = a.find(
|
|
1014
1054
|
(o) => o.id === n.valueId || o.id === n.id
|
|
@@ -1025,7 +1065,7 @@ function Xs(e, t, a) {
|
|
|
1025
1065
|
) : F(n);
|
|
1026
1066
|
});
|
|
1027
1067
|
}
|
|
1028
|
-
function
|
|
1068
|
+
function to(e, t, a, n) {
|
|
1029
1069
|
const s = a.find((o) => o.id === t);
|
|
1030
1070
|
if (!s) {
|
|
1031
1071
|
e.values = [];
|
|
@@ -1056,7 +1096,7 @@ function Js(e, t, a, n) {
|
|
|
1056
1096
|
);
|
|
1057
1097
|
}
|
|
1058
1098
|
}
|
|
1059
|
-
function
|
|
1099
|
+
function ao(e, t, a) {
|
|
1060
1100
|
if (Array.isArray(t))
|
|
1061
1101
|
e.values = t.flatMap((n) => {
|
|
1062
1102
|
const s = a.find(
|
|
@@ -1087,7 +1127,7 @@ function Qs(e, t, a) {
|
|
|
1087
1127
|
];
|
|
1088
1128
|
}
|
|
1089
1129
|
}
|
|
1090
|
-
const
|
|
1130
|
+
const no = {
|
|
1091
1131
|
get(e, t) {
|
|
1092
1132
|
return e.values?.[0]?.value ?? "";
|
|
1093
1133
|
},
|
|
@@ -1098,9 +1138,9 @@ const eo = {
|
|
|
1098
1138
|
}
|
|
1099
1139
|
e.values = [F({ value: t, unitOfMeasureId: a.unitOfMeasureId })];
|
|
1100
1140
|
}
|
|
1101
|
-
},
|
|
1141
|
+
}, so = {
|
|
1102
1142
|
get(e, t) {
|
|
1103
|
-
return
|
|
1143
|
+
return Oe(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
|
|
1104
1144
|
},
|
|
1105
1145
|
set(e, t, a) {
|
|
1106
1146
|
if (!Array.isArray(t) && Se(t)) {
|
|
@@ -1113,9 +1153,9 @@ const eo = {
|
|
|
1113
1153
|
}
|
|
1114
1154
|
};
|
|
1115
1155
|
function Tt(e) {
|
|
1116
|
-
return
|
|
1156
|
+
return Ys(e) ? no : js(e) && !pt(e) ? so : e.valueType === "Boolean" ? Xs : pt(e) ? Qs : Zs;
|
|
1117
1157
|
}
|
|
1118
|
-
function
|
|
1158
|
+
function Nl(e) {
|
|
1119
1159
|
const { searchDictionary: t, searchMeasurements: a } = e, { loading: n, action: s } = Xt(async (u) => {
|
|
1120
1160
|
if (u)
|
|
1121
1161
|
return await t(u);
|
|
@@ -1128,7 +1168,7 @@ function Cl(e) {
|
|
|
1128
1168
|
skip: 0
|
|
1129
1169
|
});
|
|
1130
1170
|
return !m || !f ? f : f.map((d) => {
|
|
1131
|
-
const S = d.localizedValues?.find((
|
|
1171
|
+
const S = d.localizedValues?.find((L) => L.languageCode === m)?.value;
|
|
1132
1172
|
return { ...d, value: S ?? d.alias };
|
|
1133
1173
|
});
|
|
1134
1174
|
}
|
|
@@ -1148,10 +1188,10 @@ function Cl(e) {
|
|
|
1148
1188
|
setPropertyValue: c,
|
|
1149
1189
|
loadDictionaries: o,
|
|
1150
1190
|
loadMeasurements: r,
|
|
1151
|
-
loading:
|
|
1191
|
+
loading: Qt(n)
|
|
1152
1192
|
};
|
|
1153
1193
|
}
|
|
1154
|
-
function
|
|
1194
|
+
function Dl(e) {
|
|
1155
1195
|
const t = (n) => {
|
|
1156
1196
|
}, a = (n) => {
|
|
1157
1197
|
(e ?? t)({
|
|
@@ -1160,14 +1200,14 @@ function Pl(e) {
|
|
|
1160
1200
|
rating: n.rating
|
|
1161
1201
|
});
|
|
1162
1202
|
};
|
|
1163
|
-
|
|
1203
|
+
ds(a), Es(a), fs(a), gs(a), ms(a);
|
|
1164
1204
|
}
|
|
1165
|
-
const
|
|
1166
|
-
function
|
|
1167
|
-
const t =
|
|
1205
|
+
const Jt = k("use-blade-widgets");
|
|
1206
|
+
function yl(e) {
|
|
1207
|
+
const t = J(Gt);
|
|
1168
1208
|
if (!t)
|
|
1169
1209
|
throw new yt("WidgetService");
|
|
1170
|
-
const a = t, n =
|
|
1210
|
+
const a = t, n = J(xt, void 0);
|
|
1171
1211
|
if (!n)
|
|
1172
1212
|
throw new Error(
|
|
1173
1213
|
"[vc-shell] useBladeWidgets() requires blade context (BladeDescriptorKey). It must be called inside a blade component rendered by VcBladeSlot."
|
|
@@ -1175,14 +1215,14 @@ function bl(e) {
|
|
|
1175
1215
|
const s = n.value.id;
|
|
1176
1216
|
Re(() => {
|
|
1177
1217
|
for (const l of e)
|
|
1178
|
-
a.registerWidget(
|
|
1179
|
-
}),
|
|
1218
|
+
a.registerWidget(oo(l), s);
|
|
1219
|
+
}), en(() => {
|
|
1180
1220
|
for (const l of e)
|
|
1181
1221
|
a.unregisterWidget(l.id, s);
|
|
1182
1222
|
});
|
|
1183
1223
|
function o(l) {
|
|
1184
1224
|
const u = a.getWidgets(s).find((E) => E.id === l);
|
|
1185
|
-
u?.trigger?.onRefresh ? u.trigger.onRefresh() :
|
|
1225
|
+
u?.trigger?.onRefresh ? u.trigger.onRefresh() : Jt.warn(`Widget '${l}' has no trigger.onRefresh registered.`);
|
|
1186
1226
|
}
|
|
1187
1227
|
function r() {
|
|
1188
1228
|
const l = a.getWidgets(s);
|
|
@@ -1191,15 +1231,15 @@ function bl(e) {
|
|
|
1191
1231
|
}
|
|
1192
1232
|
return { refresh: o, refreshAll: r };
|
|
1193
1233
|
}
|
|
1194
|
-
function
|
|
1195
|
-
const t =
|
|
1234
|
+
function Bl(e) {
|
|
1235
|
+
const t = J(bn);
|
|
1196
1236
|
if (!t) {
|
|
1197
|
-
|
|
1237
|
+
Jt.warn("useWidgetTrigger() called outside WidgetContainer scope — trigger will not be registered.");
|
|
1198
1238
|
return;
|
|
1199
1239
|
}
|
|
1200
1240
|
t.setTrigger(e);
|
|
1201
1241
|
}
|
|
1202
|
-
function
|
|
1242
|
+
function oo(e) {
|
|
1203
1243
|
const t = {
|
|
1204
1244
|
icon: e.icon,
|
|
1205
1245
|
badge: e.badge,
|
|
@@ -1216,7 +1256,7 @@ function ao(e) {
|
|
|
1216
1256
|
trigger: e.onRefresh ? { onRefresh: e.onRefresh } : void 0
|
|
1217
1257
|
};
|
|
1218
1258
|
}
|
|
1219
|
-
function
|
|
1259
|
+
function ro(e) {
|
|
1220
1260
|
const t = {};
|
|
1221
1261
|
for (const a of Object.keys(e)) {
|
|
1222
1262
|
const n = e[a];
|
|
@@ -1224,14 +1264,14 @@ function no(e) {
|
|
|
1224
1264
|
}
|
|
1225
1265
|
return t;
|
|
1226
1266
|
}
|
|
1227
|
-
function
|
|
1267
|
+
function Ml(e) {
|
|
1228
1268
|
Bt(
|
|
1229
1269
|
$t,
|
|
1230
|
-
|
|
1270
|
+
I(() => ro(Mt(e)))
|
|
1231
1271
|
);
|
|
1232
1272
|
}
|
|
1233
|
-
function
|
|
1234
|
-
const e =
|
|
1273
|
+
function kl() {
|
|
1274
|
+
const e = J($t);
|
|
1235
1275
|
if (!e)
|
|
1236
1276
|
throw new yt("BladeContext");
|
|
1237
1277
|
return e;
|
|
@@ -1239,18 +1279,18 @@ function yl() {
|
|
|
1239
1279
|
function ht(e) {
|
|
1240
1280
|
return e == null || e === "";
|
|
1241
1281
|
}
|
|
1242
|
-
function
|
|
1243
|
-
return
|
|
1282
|
+
function Ot(e, t) {
|
|
1283
|
+
return cs(e, t, (a, n) => {
|
|
1244
1284
|
if (ht(a) && ht(n)) return !0;
|
|
1245
1285
|
});
|
|
1246
1286
|
}
|
|
1247
|
-
function
|
|
1248
|
-
const t = (r) =>
|
|
1287
|
+
function Vl(e) {
|
|
1288
|
+
const t = (r) => Q(i(r)), a = N(t(e)), n = N(t(e)), s = N(!1);
|
|
1249
1289
|
kt(e) && ae(
|
|
1250
1290
|
e,
|
|
1251
1291
|
(r) => {
|
|
1252
|
-
const l = !
|
|
1253
|
-
a.value =
|
|
1292
|
+
const l = !Ot(n.value, a.value);
|
|
1293
|
+
a.value = Q(r), l || (n.value = Q(r));
|
|
1254
1294
|
},
|
|
1255
1295
|
{ deep: !0 }
|
|
1256
1296
|
// Deep tracking, if initialValueProp is a Ref to an object/array
|
|
@@ -1258,37 +1298,37 @@ function Bl(e) {
|
|
|
1258
1298
|
[n, a],
|
|
1259
1299
|
// Track changes in currentValue or pristineValue
|
|
1260
1300
|
([r, l]) => {
|
|
1261
|
-
s.value = !
|
|
1301
|
+
s.value = !Ot(r, l);
|
|
1262
1302
|
},
|
|
1263
1303
|
{ deep: !0 }
|
|
1264
1304
|
);
|
|
1265
1305
|
const o = (r) => {
|
|
1266
1306
|
if (r !== void 0) {
|
|
1267
1307
|
const l = t(r);
|
|
1268
|
-
a.value = l, n.value =
|
|
1308
|
+
a.value = l, n.value = Q(l);
|
|
1269
1309
|
} else
|
|
1270
|
-
a.value =
|
|
1310
|
+
a.value = Q(n.value);
|
|
1271
1311
|
s.value = !1;
|
|
1272
1312
|
};
|
|
1273
1313
|
return {
|
|
1274
1314
|
currentValue: n,
|
|
1275
1315
|
pristineValue: a,
|
|
1276
|
-
isModified:
|
|
1316
|
+
isModified: I(() => s.value),
|
|
1277
1317
|
resetModificationState: o
|
|
1278
1318
|
};
|
|
1279
1319
|
}
|
|
1280
|
-
const
|
|
1320
|
+
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 = {
|
|
1281
1321
|
key: 1,
|
|
1282
1322
|
class: "assets-details__file-preview tw-shrink-0"
|
|
1283
|
-
},
|
|
1323
|
+
}, fo = { class: "assets-details__meta" };
|
|
1284
1324
|
Ft("AssetsDetails", {});
|
|
1285
|
-
const
|
|
1325
|
+
const go = /* @__PURE__ */ H({
|
|
1286
1326
|
name: "AssetsDetails",
|
|
1287
1327
|
__name: "assets-details",
|
|
1288
1328
|
setup(e) {
|
|
1289
|
-
const { options: t, closeSelf: a } =
|
|
1329
|
+
const { options: t, closeSelf: a } = ut();
|
|
1290
1330
|
ue({ validateOnMount: !1 });
|
|
1291
|
-
const n = Ie(), s =
|
|
1331
|
+
const n = Ie(), s = ct(), { t: o } = le({ useScope: "global" }), r = N({ ...t.value?.asset }), l = I(() => t.value?.disabled), c = I({
|
|
1292
1332
|
get() {
|
|
1293
1333
|
const f = r.value.name;
|
|
1294
1334
|
if (!f) return "";
|
|
@@ -1298,10 +1338,10 @@ const co = /* @__PURE__ */ H({
|
|
|
1298
1338
|
set(f) {
|
|
1299
1339
|
const d = r.value.name;
|
|
1300
1340
|
if (!d) return;
|
|
1301
|
-
const S = d.lastIndexOf("."),
|
|
1302
|
-
r.value.name = f ? f +
|
|
1341
|
+
const S = d.lastIndexOf("."), L = S > 0 ? d.slice(S) : "";
|
|
1342
|
+
r.value.name = f ? f + L : "";
|
|
1303
1343
|
}
|
|
1304
|
-
}), u =
|
|
1344
|
+
}), u = I(() => !s.value || !n.value), E = N([
|
|
1305
1345
|
{
|
|
1306
1346
|
id: "save",
|
|
1307
1347
|
title: o("ASSETS.PAGES.DETAILS.TOOLBAR.SAVE"),
|
|
@@ -1309,7 +1349,7 @@ const co = /* @__PURE__ */ H({
|
|
|
1309
1349
|
async clickHandler() {
|
|
1310
1350
|
t.value?.assetEditHandler && typeof t.value?.assetEditHandler == "function" && (await t.value?.assetEditHandler(r.value), a());
|
|
1311
1351
|
},
|
|
1312
|
-
disabled:
|
|
1352
|
+
disabled: I(() => u.value || l.value)
|
|
1313
1353
|
},
|
|
1314
1354
|
{
|
|
1315
1355
|
id: "delete",
|
|
@@ -1318,46 +1358,46 @@ const co = /* @__PURE__ */ H({
|
|
|
1318
1358
|
async clickHandler() {
|
|
1319
1359
|
t.value?.assetRemoveHandler && typeof t.value?.assetRemoveHandler == "function" && (await t.value?.assetRemoveHandler(r.value), a());
|
|
1320
1360
|
},
|
|
1321
|
-
disabled:
|
|
1361
|
+
disabled: I(() => l.value)
|
|
1322
1362
|
}
|
|
1323
|
-
]), m =
|
|
1363
|
+
]), m = I(() => r.value?.typeId);
|
|
1324
1364
|
return (f, d) => (b(), D(i(Wt), {
|
|
1325
1365
|
title: i(t)?.asset?.name,
|
|
1326
1366
|
subtitle: i(o)("ASSETS.PAGES.DETAILS.SUBTITLE"),
|
|
1327
1367
|
"toolbar-items": E.value
|
|
1328
1368
|
}, {
|
|
1329
|
-
default:
|
|
1330
|
-
U("div",
|
|
1331
|
-
U("div",
|
|
1332
|
-
|
|
1333
|
-
default:
|
|
1334
|
-
U("div",
|
|
1335
|
-
|
|
1336
|
-
default:
|
|
1337
|
-
U("div",
|
|
1338
|
-
i(zt)(r.value.name) ? (b(), D(i(
|
|
1369
|
+
default: h(() => [
|
|
1370
|
+
U("div", io, [
|
|
1371
|
+
U("div", lo, [
|
|
1372
|
+
_(i(An), { "no-padding": !0 }, {
|
|
1373
|
+
default: h(() => [
|
|
1374
|
+
U("div", uo, [
|
|
1375
|
+
_(i(me), null, {
|
|
1376
|
+
default: h(() => [
|
|
1377
|
+
U("div", co, [
|
|
1378
|
+
i(zt)(r.value.name) ? (b(), D(i(ot), {
|
|
1339
1379
|
key: 0,
|
|
1340
1380
|
src: r.value.url,
|
|
1341
1381
|
size: "xl",
|
|
1342
1382
|
bordered: !0,
|
|
1343
1383
|
class: "tw-shrink-0"
|
|
1344
|
-
}, null, 8, ["src"])) : (b(), W("div",
|
|
1384
|
+
}, null, 8, ["src"])) : (b(), W("div", Eo, [
|
|
1345
1385
|
U("div", {
|
|
1346
1386
|
class: "assets-details__file-badge",
|
|
1347
1387
|
style: Vt({ backgroundColor: i(Yt)(r.value.name) })
|
|
1348
1388
|
}, y(i(jt)(r.value.name)), 5)
|
|
1349
1389
|
])),
|
|
1350
|
-
U("div",
|
|
1351
|
-
|
|
1390
|
+
U("div", fo, [
|
|
1391
|
+
_(i($e), {
|
|
1352
1392
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.SIZE"),
|
|
1353
1393
|
"model-value": i(qt)(r.value.size)
|
|
1354
1394
|
}, null, 8, ["label", "model-value"]),
|
|
1355
|
-
|
|
1395
|
+
_(i($e), {
|
|
1356
1396
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.CREATED_DATE"),
|
|
1357
1397
|
"model-value": r.value.createdDate,
|
|
1358
1398
|
type: "date-ago"
|
|
1359
1399
|
}, null, 8, ["label", "model-value"]),
|
|
1360
|
-
|
|
1400
|
+
_(i($e), {
|
|
1361
1401
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.URL"),
|
|
1362
1402
|
"model-value": r.value.url,
|
|
1363
1403
|
"display-value": r.value.name,
|
|
@@ -1366,19 +1406,19 @@ const co = /* @__PURE__ */ H({
|
|
|
1366
1406
|
}, null, 8, ["label", "model-value", "display-value"])
|
|
1367
1407
|
])
|
|
1368
1408
|
]),
|
|
1369
|
-
i(t)?.hiddenFields?.includes("name") ?
|
|
1409
|
+
i(t)?.hiddenFields?.includes("name") ? q("", !0) : (b(), D(i(X), {
|
|
1370
1410
|
key: 0,
|
|
1371
1411
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.NAME.TITLE"),
|
|
1372
1412
|
name: "asset_name",
|
|
1373
1413
|
rules: "required",
|
|
1374
1414
|
"model-value": r.value.name
|
|
1375
1415
|
}, {
|
|
1376
|
-
default:
|
|
1377
|
-
|
|
1416
|
+
default: h(({ errorMessage: S, handleChange: L, errors: T }) => [
|
|
1417
|
+
_(i(K), {
|
|
1378
1418
|
modelValue: c.value,
|
|
1379
1419
|
"onUpdate:modelValue": [
|
|
1380
1420
|
d[0] || (d[0] = (v) => c.value = v),
|
|
1381
|
-
|
|
1421
|
+
L
|
|
1382
1422
|
],
|
|
1383
1423
|
class: "tw-mb-4",
|
|
1384
1424
|
label: i(o)("ASSETS.PAGES.DETAILS.FIELDS.NAME.TITLE"),
|
|
@@ -1392,7 +1432,7 @@ const co = /* @__PURE__ */ H({
|
|
|
1392
1432
|
]),
|
|
1393
1433
|
_: 1
|
|
1394
1434
|
}, 8, ["label", "model-value"])),
|
|
1395
|
-
m.value === "Image" && !i(t)?.hiddenFields?.includes("altText") ? (b(), D(i(
|
|
1435
|
+
m.value === "Image" && !i(t)?.hiddenFields?.includes("altText") ? (b(), D(i(K), {
|
|
1396
1436
|
key: 1,
|
|
1397
1437
|
modelValue: r.value.altText,
|
|
1398
1438
|
"onUpdate:modelValue": d[1] || (d[1] = (S) => r.value.altText = S),
|
|
@@ -1402,8 +1442,8 @@ const co = /* @__PURE__ */ H({
|
|
|
1402
1442
|
placeholder: i(o)("ASSETS.PAGES.DETAILS.FIELDS.ALT.PLACEHOLDER"),
|
|
1403
1443
|
tooltip: i(o)("ASSETS.PAGES.DETAILS.FIELDS.ALT.TOOLTIP"),
|
|
1404
1444
|
disabled: l.value
|
|
1405
|
-
}, null, 8, ["modelValue", "label", "placeholder", "tooltip", "disabled"])) :
|
|
1406
|
-
i(t)?.hiddenFields?.includes("description") ?
|
|
1445
|
+
}, null, 8, ["modelValue", "label", "placeholder", "tooltip", "disabled"])) : q("", !0),
|
|
1446
|
+
i(t)?.hiddenFields?.includes("description") ? q("", !0) : (b(), D(i(pn), {
|
|
1407
1447
|
key: 2,
|
|
1408
1448
|
modelValue: r.value.description,
|
|
1409
1449
|
"onUpdate:modelValue": d[2] || (d[2] = (S) => r.value.description = S),
|
|
@@ -1425,44 +1465,44 @@ const co = /* @__PURE__ */ H({
|
|
|
1425
1465
|
_: 1
|
|
1426
1466
|
}, 8, ["title", "subtitle", "toolbar-items"]));
|
|
1427
1467
|
}
|
|
1428
|
-
}),
|
|
1468
|
+
}), mo = go, So = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1429
1469
|
__proto__: null,
|
|
1430
|
-
AssetsDetails:
|
|
1431
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1470
|
+
AssetsDetails: mo
|
|
1471
|
+
}, Symbol.toStringTag, { value: "Module" })), Ao = Et({ blades: So }), po = { class: "tw-flex tw-items-center tw-justify-center" };
|
|
1432
1472
|
Ft("AssetsManager", {});
|
|
1433
|
-
const
|
|
1473
|
+
const To = /* @__PURE__ */ H({
|
|
1434
1474
|
name: "AssetsManager",
|
|
1435
1475
|
__name: "assets-manager",
|
|
1436
1476
|
setup(e) {
|
|
1437
|
-
const t = k("assets-manager"), { options: a, openBlade: n } =
|
|
1477
|
+
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 = N(!1), E = N(), m = N([]), f = I(() => a.value?.disabled), d = N([
|
|
1438
1478
|
{
|
|
1439
1479
|
id: "add",
|
|
1440
|
-
title:
|
|
1480
|
+
title: I(() => s("ASSETS_MANAGER.TOOLBAR.ADD")),
|
|
1441
1481
|
icon: "lucide-plus",
|
|
1442
1482
|
clickHandler() {
|
|
1443
1483
|
w();
|
|
1444
1484
|
},
|
|
1445
|
-
disabled:
|
|
1446
|
-
isVisible:
|
|
1485
|
+
disabled: I(() => f.value),
|
|
1486
|
+
isVisible: I(() => !f.value)
|
|
1447
1487
|
},
|
|
1448
1488
|
{
|
|
1449
1489
|
id: "delete",
|
|
1450
|
-
title:
|
|
1490
|
+
title: I(() => s("ASSETS_MANAGER.TOOLBAR.DELETE")),
|
|
1451
1491
|
icon: "lucide-trash-2",
|
|
1452
1492
|
async clickHandler() {
|
|
1453
1493
|
await o.value.removeMany(m.value);
|
|
1454
1494
|
},
|
|
1455
|
-
disabled:
|
|
1456
|
-
isVisible:
|
|
1495
|
+
disabled: I(() => !m.value.length || f.value),
|
|
1496
|
+
isVisible: I(() => !f.value)
|
|
1457
1497
|
}
|
|
1458
1498
|
]);
|
|
1459
1499
|
async function S(A) {
|
|
1460
1500
|
if (A.dragIndex !== A.dropIndex) {
|
|
1461
|
-
const
|
|
1462
|
-
o.value.reorder(
|
|
1501
|
+
const R = A.value.map((P, B) => (P.sortOrder = B, P));
|
|
1502
|
+
o.value.reorder(R);
|
|
1463
1503
|
}
|
|
1464
1504
|
}
|
|
1465
|
-
function
|
|
1505
|
+
function L() {
|
|
1466
1506
|
f.value || (u.value = !0);
|
|
1467
1507
|
}
|
|
1468
1508
|
function T() {
|
|
@@ -1470,10 +1510,10 @@ const So = /* @__PURE__ */ H({
|
|
|
1470
1510
|
}
|
|
1471
1511
|
async function v(A) {
|
|
1472
1512
|
if (!f.value) {
|
|
1473
|
-
const
|
|
1474
|
-
if (
|
|
1513
|
+
const R = A.dataTransfer?.files;
|
|
1514
|
+
if (R && R.length)
|
|
1475
1515
|
try {
|
|
1476
|
-
await
|
|
1516
|
+
await C(R);
|
|
1477
1517
|
} catch (P) {
|
|
1478
1518
|
throw t.error("Failed to upload dropped files:", P), P;
|
|
1479
1519
|
}
|
|
@@ -1483,31 +1523,31 @@ const So = /* @__PURE__ */ H({
|
|
|
1483
1523
|
function w() {
|
|
1484
1524
|
E.value.value = "", E.value.click();
|
|
1485
1525
|
}
|
|
1486
|
-
async function
|
|
1526
|
+
async function C(A) {
|
|
1487
1527
|
if (!A || A.length === 0) return;
|
|
1488
|
-
const
|
|
1528
|
+
const R = new Set((r.value ?? []).map((B) => B.name).filter(Boolean)), P = new DataTransfer();
|
|
1489
1529
|
for (const B of Array.from(A)) {
|
|
1490
1530
|
let V = B.name;
|
|
1491
|
-
if (
|
|
1492
|
-
const
|
|
1531
|
+
if (R.has(V)) {
|
|
1532
|
+
const z = V.includes(".") ? `.${V.split(".").pop()}` : "", ce = V.slice(0, V.length - z.length);
|
|
1493
1533
|
let Ae = 1;
|
|
1494
|
-
for (;
|
|
1495
|
-
V = `${ce}_${Ae}${
|
|
1534
|
+
for (; R.has(V); )
|
|
1535
|
+
V = `${ce}_${Ae}${z}`, Ae++;
|
|
1496
1536
|
}
|
|
1497
|
-
|
|
1537
|
+
R.add(V), P.items.add(new File([B], V, { type: B.type }));
|
|
1498
1538
|
}
|
|
1499
1539
|
try {
|
|
1500
|
-
const B = r.value.reduce((V,
|
|
1540
|
+
const B = r.value.reduce((V, z) => Math.max(V, z.sortOrder ?? 0), -1);
|
|
1501
1541
|
await o.value.upload(P.files, B);
|
|
1502
1542
|
} catch (B) {
|
|
1503
1543
|
throw t.error("Failed to upload assets:", B), B;
|
|
1504
1544
|
}
|
|
1505
1545
|
}
|
|
1506
|
-
async function
|
|
1546
|
+
async function O(A) {
|
|
1507
1547
|
const P = A.target.files;
|
|
1508
1548
|
if (P && P.length)
|
|
1509
1549
|
try {
|
|
1510
|
-
await
|
|
1550
|
+
await C(P);
|
|
1511
1551
|
} catch (B) {
|
|
1512
1552
|
throw t.error("Failed to upload files:", B), B;
|
|
1513
1553
|
}
|
|
@@ -1519,47 +1559,47 @@ const So = /* @__PURE__ */ H({
|
|
|
1519
1559
|
asset: i(A),
|
|
1520
1560
|
disabled: f.value,
|
|
1521
1561
|
hiddenFields: a.value?.hiddenFields,
|
|
1522
|
-
assetEditHandler: (
|
|
1523
|
-
o.value.updateItem(
|
|
1562
|
+
assetEditHandler: (R) => {
|
|
1563
|
+
o.value.updateItem(R);
|
|
1524
1564
|
},
|
|
1525
|
-
assetRemoveHandler: async (
|
|
1526
|
-
await o.value.remove(
|
|
1565
|
+
assetRemoveHandler: async (R) => {
|
|
1566
|
+
await o.value.remove(R);
|
|
1527
1567
|
}
|
|
1528
1568
|
}
|
|
1529
|
-
}).catch((
|
|
1530
|
-
t.error("Failed to open AssetsDetails blade:",
|
|
1569
|
+
}).catch((R) => {
|
|
1570
|
+
t.error("Failed to open AssetsDetails blade:", R);
|
|
1531
1571
|
});
|
|
1532
1572
|
}
|
|
1533
|
-
const
|
|
1573
|
+
const p = () => [
|
|
1534
1574
|
{
|
|
1535
1575
|
icon: "lucide-trash-2",
|
|
1536
|
-
title:
|
|
1576
|
+
title: I(() => s("ASSETS_MANAGER.TABLE.ACTIONS.DELETE")),
|
|
1537
1577
|
type: "danger",
|
|
1538
1578
|
async clickHandler(A) {
|
|
1539
1579
|
await o.value.remove(A), m.value = [];
|
|
1540
1580
|
}
|
|
1541
1581
|
}
|
|
1542
1582
|
];
|
|
1543
|
-
return (A,
|
|
1583
|
+
return (A, R) => (b(), D(i(Wt), {
|
|
1544
1584
|
title: c.value,
|
|
1545
1585
|
"toolbar-items": d.value,
|
|
1546
1586
|
width: "70%"
|
|
1547
1587
|
}, {
|
|
1548
|
-
default:
|
|
1549
|
-
|
|
1588
|
+
default: h(() => [
|
|
1589
|
+
tn((b(), W("div", {
|
|
1550
1590
|
class: "tw-relative tw-h-full tw-flex-1",
|
|
1551
|
-
onDragover: He(
|
|
1591
|
+
onDragover: He(L, ["prevent", "stop"]),
|
|
1552
1592
|
onDragleave: He(T, ["prevent"]),
|
|
1553
1593
|
onDrop: He(v, ["prevent", "stop"])
|
|
1554
1594
|
}, [
|
|
1555
|
-
|
|
1595
|
+
_(i(Tn), {
|
|
1556
1596
|
selection: m.value,
|
|
1557
|
-
"onUpdate:selection":
|
|
1597
|
+
"onUpdate:selection": R[0] || (R[0] = (P) => m.value = P),
|
|
1558
1598
|
items: r.value,
|
|
1559
1599
|
"state-key": "assets_manager",
|
|
1560
1600
|
"reorderable-rows": !f.value,
|
|
1561
1601
|
"selection-mode": f.value ? void 0 : "multiple",
|
|
1562
|
-
"row-actions": f.value ? void 0 :
|
|
1602
|
+
"row-actions": f.value ? void 0 : p,
|
|
1563
1603
|
"empty-state": {
|
|
1564
1604
|
icon: "lucide-cloud-upload",
|
|
1565
1605
|
title: A.$t("ASSETS_MANAGER.EMPTY.UPLOAD_ASSETS"),
|
|
@@ -1567,20 +1607,20 @@ const So = /* @__PURE__ */ H({
|
|
|
1567
1607
|
actionHandler: w
|
|
1568
1608
|
},
|
|
1569
1609
|
class: "tw-h-full tw-w-full",
|
|
1570
|
-
onRowClick:
|
|
1610
|
+
onRowClick: R[1] || (R[1] = ({ data: P }) => g(P)),
|
|
1571
1611
|
onRowReorder: S
|
|
1572
1612
|
}, {
|
|
1573
|
-
default:
|
|
1574
|
-
|
|
1613
|
+
default: h(() => [
|
|
1614
|
+
_(i(pe), {
|
|
1575
1615
|
id: "url",
|
|
1576
1616
|
title: i(s)("ASSETS_MANAGER.TABLE.HEADER.IMAGE"),
|
|
1577
1617
|
width: "10%",
|
|
1578
1618
|
"always-visible": "",
|
|
1579
1619
|
type: "image"
|
|
1580
1620
|
}, {
|
|
1581
|
-
body:
|
|
1582
|
-
U("div",
|
|
1583
|
-
i(zt)(P.name ?? "") ? (b(), D(i(
|
|
1621
|
+
body: h(({ data: P }) => [
|
|
1622
|
+
U("div", po, [
|
|
1623
|
+
i(zt)(P.name ?? "") ? (b(), D(i(ot), {
|
|
1584
1624
|
key: 0,
|
|
1585
1625
|
bordered: !0,
|
|
1586
1626
|
size: "s",
|
|
@@ -1596,35 +1636,35 @@ const So = /* @__PURE__ */ H({
|
|
|
1596
1636
|
]),
|
|
1597
1637
|
_: 1
|
|
1598
1638
|
}, 8, ["title"]),
|
|
1599
|
-
|
|
1639
|
+
_(i(pe), {
|
|
1600
1640
|
id: "name",
|
|
1601
1641
|
title: i(s)("ASSETS_MANAGER.TABLE.HEADER.NAME"),
|
|
1602
1642
|
width: "20%",
|
|
1603
1643
|
"always-visible": ""
|
|
1604
1644
|
}, null, 8, ["title"]),
|
|
1605
|
-
|
|
1645
|
+
_(i(pe), {
|
|
1606
1646
|
id: "size",
|
|
1607
1647
|
title: i(s)("ASSETS_MANAGER.TABLE.HEADER.SIZE"),
|
|
1608
1648
|
width: "20%",
|
|
1609
1649
|
"always-visible": ""
|
|
1610
1650
|
}, {
|
|
1611
|
-
body:
|
|
1651
|
+
body: h(({ data: P }) => [
|
|
1612
1652
|
U("div", null, y(i(qt)(P.size ?? 0)), 1)
|
|
1613
1653
|
]),
|
|
1614
1654
|
_: 1
|
|
1615
1655
|
}, 8, ["title"]),
|
|
1616
|
-
|
|
1656
|
+
_(i(pe), {
|
|
1617
1657
|
id: "sortOrder",
|
|
1618
1658
|
title: i(s)("ASSETS_MANAGER.TABLE.HEADER.SORT_ORDER"),
|
|
1619
1659
|
width: "25%",
|
|
1620
1660
|
"always-visible": ""
|
|
1621
1661
|
}, {
|
|
1622
|
-
body:
|
|
1662
|
+
body: h(({ data: P }) => [
|
|
1623
1663
|
U("div", null, y(P.sortOrder), 1)
|
|
1624
1664
|
]),
|
|
1625
1665
|
_: 1
|
|
1626
1666
|
}, 8, ["title"]),
|
|
1627
|
-
|
|
1667
|
+
_(i(pe), {
|
|
1628
1668
|
id: "createdDate",
|
|
1629
1669
|
title: i(s)("ASSETS_MANAGER.TABLE.HEADER.CREATED_DATE"),
|
|
1630
1670
|
width: "25%",
|
|
@@ -1635,7 +1675,7 @@ const So = /* @__PURE__ */ H({
|
|
|
1635
1675
|
_: 1
|
|
1636
1676
|
}, 8, ["selection", "items", "reorderable-rows", "selection-mode", "row-actions", "empty-state"])
|
|
1637
1677
|
], 32)), [
|
|
1638
|
-
[i(
|
|
1678
|
+
[i(ka), l.value]
|
|
1639
1679
|
]),
|
|
1640
1680
|
U("input", {
|
|
1641
1681
|
ref_key: "uploader",
|
|
@@ -1644,24 +1684,24 @@ const So = /* @__PURE__ */ H({
|
|
|
1644
1684
|
hidden: "",
|
|
1645
1685
|
multiple: "",
|
|
1646
1686
|
name: "assets_manager",
|
|
1647
|
-
onChange:
|
|
1687
|
+
onChange: O
|
|
1648
1688
|
}, null, 544)
|
|
1649
1689
|
]),
|
|
1650
1690
|
_: 1
|
|
1651
1691
|
}, 8, ["title", "toolbar-items"]));
|
|
1652
1692
|
}
|
|
1653
|
-
}),
|
|
1693
|
+
}), ho = To, Oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1654
1694
|
__proto__: null,
|
|
1655
|
-
AssetsManager:
|
|
1656
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1657
|
-
function
|
|
1695
|
+
AssetsManager: ho
|
|
1696
|
+
}, Symbol.toStringTag, { value: "Module" })), Lo = Et({ blades: Oo }), Lt = k("connection-status"), Rt = "vc-framework-offline-status", _t = N(!1), It = N(!0);
|
|
1697
|
+
function ea() {
|
|
1658
1698
|
if (!_t.value && typeof window < "u") {
|
|
1659
1699
|
_t.value = !0;
|
|
1660
|
-
const { isOnline: e } =
|
|
1700
|
+
const { isOnline: e } = ya();
|
|
1661
1701
|
ae(
|
|
1662
1702
|
e,
|
|
1663
1703
|
(t) => {
|
|
1664
|
-
It.value = t, t ? (
|
|
1704
|
+
It.value = t, t ? (Lt.info("Network connection restored"), Y.remove(Rt), document.documentElement.classList.remove("vc-offline")) : (Lt.warn("Network connection lost"), Y.warning("You are currently offline. Some features may be unavailable.", {
|
|
1665
1705
|
notificationId: Rt,
|
|
1666
1706
|
timeout: !1
|
|
1667
1707
|
}), document.documentElement.classList.add("vc-offline"));
|
|
@@ -1673,70 +1713,70 @@ function aa() {
|
|
|
1673
1713
|
isOnline: Me(It)
|
|
1674
1714
|
};
|
|
1675
1715
|
}
|
|
1676
|
-
const
|
|
1677
|
-
let
|
|
1678
|
-
const
|
|
1716
|
+
const Ye = k("slow-network"), Ro = 1e4, _o = ["slow-2g", "2g"];
|
|
1717
|
+
let je = null;
|
|
1718
|
+
const ta = "vc-framework-slow-network", Io = 3e3, vo = "Your network is slow or the server is taking longer than usual. Please be patient.";
|
|
1679
1719
|
let te = null;
|
|
1680
1720
|
function vt() {
|
|
1681
|
-
|
|
1682
|
-
notificationId:
|
|
1721
|
+
Y.warning(vo, {
|
|
1722
|
+
notificationId: ta,
|
|
1683
1723
|
timeout: !1
|
|
1684
1724
|
});
|
|
1685
1725
|
}
|
|
1686
1726
|
function wt() {
|
|
1687
|
-
|
|
1727
|
+
Y.remove(ta);
|
|
1688
1728
|
}
|
|
1689
|
-
const Ct = N(!1), ke = N(0),
|
|
1690
|
-
function
|
|
1729
|
+
const Ct = N(!1), ke = N(0), tt = N(!1), Ve = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Set(), Ze = I(() => ke.value > 0 || tt.value);
|
|
1730
|
+
function wo(e) {
|
|
1691
1731
|
const t = setTimeout(() => {
|
|
1692
|
-
ke.value++, Ve.delete(e),
|
|
1693
|
-
},
|
|
1732
|
+
ke.value++, Ve.delete(e), at.add(e);
|
|
1733
|
+
}, Ro);
|
|
1694
1734
|
Ve.set(e, t);
|
|
1695
1735
|
}
|
|
1696
|
-
function
|
|
1736
|
+
function Co(e) {
|
|
1697
1737
|
const t = Ve.get(e);
|
|
1698
|
-
t != null ? (clearTimeout(t), Ve.delete(e)) :
|
|
1738
|
+
t != null ? (clearTimeout(t), Ve.delete(e)) : at.has(e) && (ke.value = Math.max(0, ke.value - 1), at.delete(e));
|
|
1699
1739
|
}
|
|
1700
|
-
function
|
|
1740
|
+
function aa() {
|
|
1701
1741
|
if (!Ct.value && typeof window < "u") {
|
|
1702
1742
|
Ct.value = !0;
|
|
1703
1743
|
const e = navigator.connection;
|
|
1704
|
-
e && (
|
|
1705
|
-
const a =
|
|
1706
|
-
a !==
|
|
1707
|
-
}, e.addEventListener("change",
|
|
1708
|
-
const { isOnline: t } =
|
|
1709
|
-
ae(
|
|
1710
|
-
a ? (te != null && (clearTimeout(te), te = null), t.value && (
|
|
1711
|
-
|
|
1712
|
-
},
|
|
1744
|
+
e && (je = () => {
|
|
1745
|
+
const a = _o.includes(e.effectiveType);
|
|
1746
|
+
a !== tt.value && Ye.info(`Connection type: ${e.effectiveType} → ${a ? "slow" : "normal"}`), tt.value = a;
|
|
1747
|
+
}, e.addEventListener("change", je), je());
|
|
1748
|
+
const { isOnline: t } = ea();
|
|
1749
|
+
ae(Ze, (a) => {
|
|
1750
|
+
a ? (te != null && (clearTimeout(te), te = null), t.value && (Ye.info("Slow network detected — showing notification"), vt())) : te = setTimeout(() => {
|
|
1751
|
+
Ye.info("Network recovered — hiding notification"), wt(), te = null;
|
|
1752
|
+
}, Io);
|
|
1713
1753
|
}), ae(t, (a) => {
|
|
1714
|
-
a ?
|
|
1754
|
+
a ? Ze.value && vt() : (te != null && (clearTimeout(te), te = null), wt());
|
|
1715
1755
|
});
|
|
1716
1756
|
}
|
|
1717
1757
|
return {
|
|
1718
|
-
isSlowNetwork:
|
|
1719
|
-
trackRequest:
|
|
1720
|
-
untrackRequest:
|
|
1758
|
+
isSlowNetwork: Ze,
|
|
1759
|
+
trackRequest: wo,
|
|
1760
|
+
untrackRequest: Co
|
|
1721
1761
|
};
|
|
1722
1762
|
}
|
|
1723
|
-
const Te = k("interceptors"),
|
|
1724
|
-
function
|
|
1763
|
+
const Te = k("interceptors"), Po = /(^|\/)(login|signin|sign-in|account\/login|connect\/authorize)(\/|$)/i;
|
|
1764
|
+
function bo(e) {
|
|
1725
1765
|
let t;
|
|
1726
1766
|
try {
|
|
1727
1767
|
t = new URL(e.url, window.location.origin).pathname;
|
|
1728
1768
|
} catch {
|
|
1729
1769
|
return !1;
|
|
1730
1770
|
}
|
|
1731
|
-
if (
|
|
1771
|
+
if (Po.test(t))
|
|
1732
1772
|
return !0;
|
|
1733
1773
|
const a = e.headers?.get?.("content-type") ?? "";
|
|
1734
1774
|
return e.redirected === !0 && a.includes("text/html");
|
|
1735
1775
|
}
|
|
1736
|
-
function
|
|
1776
|
+
function No(e) {
|
|
1737
1777
|
if (window.fetch.__vcInterceptorsInstalled__)
|
|
1738
1778
|
return Te.warn("registerInterceptors called twice — ignoring second install"), window.fetch;
|
|
1739
|
-
const { fetch: a } = window, { signOut: n, isAuthenticated: s } = se(), { trackRequest: o, untrackRequest: r } =
|
|
1779
|
+
const { fetch: a } = window, { signOut: n, isAuthenticated: s } = se(), { trackRequest: o, untrackRequest: r } = aa();
|
|
1740
1780
|
let l = 0;
|
|
1741
1781
|
const c = (async (...u) => {
|
|
1742
1782
|
if (window.__DEMO_MODE__)
|
|
@@ -1744,7 +1784,7 @@ function Co(e) {
|
|
|
1744
1784
|
u[0] === "/api/platform/security/login" ? E({
|
|
1745
1785
|
status: 200,
|
|
1746
1786
|
text: async () => JSON.stringify({ succeeded: !0 })
|
|
1747
|
-
}) : u[0] === "/api/platform/security/currentuser" ? (
|
|
1787
|
+
}) : u[0] === "/api/platform/security/currentuser" ? (Y.warning(
|
|
1748
1788
|
`You are currently in DEMO mode until the first page refresh.
|
|
1749
1789
|
All API calls are disabled. Please add APP_PLATFORM_URL to your application's .env file to enable API calls.`,
|
|
1750
1790
|
{
|
|
@@ -1759,129 +1799,141 @@ function Co(e) {
|
|
|
1759
1799
|
});
|
|
1760
1800
|
});
|
|
1761
1801
|
{
|
|
1762
|
-
let E = function(
|
|
1763
|
-
const
|
|
1802
|
+
let E = function(g) {
|
|
1803
|
+
const p = typeof g == "string" ? g : g instanceof Request ? g.url : g.toString();
|
|
1804
|
+
try {
|
|
1805
|
+
const A = new URL(p, window.location.origin);
|
|
1806
|
+
return A.origin === window.location.origin && A.pathname.startsWith("/api/");
|
|
1807
|
+
} catch {
|
|
1808
|
+
return !1;
|
|
1809
|
+
}
|
|
1810
|
+
}, m = function(g) {
|
|
1811
|
+
const p = typeof g == "string" ? g : g instanceof Request ? g.url : g.toString();
|
|
1764
1812
|
try {
|
|
1765
|
-
|
|
1766
|
-
return g.origin === window.location.origin && g.pathname.startsWith("/api/");
|
|
1813
|
+
return new URL(p, window.location.origin).origin === window.location.origin;
|
|
1767
1814
|
} catch {
|
|
1768
1815
|
return !1;
|
|
1769
1816
|
}
|
|
1817
|
+
}, f = function(g) {
|
|
1818
|
+
!g || et() || !s.value || (Dn(), n().catch((p) => {
|
|
1819
|
+
Te.error("signOut failed after session expiry:", p);
|
|
1820
|
+
}).finally(() => {
|
|
1821
|
+
Do(e), Y.error(x.global.t("CORE.ERRORS.SESSION_EXPIRED"));
|
|
1822
|
+
}));
|
|
1770
1823
|
};
|
|
1771
|
-
const [
|
|
1772
|
-
if (!E(
|
|
1773
|
-
|
|
1824
|
+
const [d, S] = u;
|
|
1825
|
+
if (!E(d)) {
|
|
1826
|
+
if (!m(d))
|
|
1827
|
+
return a(...u);
|
|
1828
|
+
const g = await a(...u);
|
|
1829
|
+
return f(g.status === 401), g;
|
|
1830
|
+
}
|
|
1774
1831
|
if (!navigator.onLine)
|
|
1775
|
-
return Te.warn("Request blocked: browser is offline",
|
|
1776
|
-
const
|
|
1777
|
-
o(
|
|
1778
|
-
const
|
|
1779
|
-
let
|
|
1780
|
-
const
|
|
1781
|
-
|
|
1782
|
-
}, 3e4),
|
|
1783
|
-
|
|
1832
|
+
return Te.warn("Request blocked: browser is offline", d), Promise.reject(new Error(x.global.t("CORE.ERRORS.NETWORK_UNAVAILABLE")));
|
|
1833
|
+
const L = String(++l);
|
|
1834
|
+
o(L);
|
|
1835
|
+
const T = new AbortController();
|
|
1836
|
+
let v = !1;
|
|
1837
|
+
const w = setTimeout(() => {
|
|
1838
|
+
v = !0, T.abort();
|
|
1839
|
+
}, 3e4), C = S?.signal, O = () => T.abort();
|
|
1840
|
+
C?.aborted ? O() : C && C.addEventListener("abort", O, { once: !0 });
|
|
1784
1841
|
try {
|
|
1785
|
-
const
|
|
1786
|
-
...
|
|
1787
|
-
signal:
|
|
1788
|
-
}),
|
|
1789
|
-
if ((
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
Please log in again or contact the administrator for assistance.`
|
|
1795
|
-
);
|
|
1796
|
-
})), R && Qe())
|
|
1797
|
-
throw new Bn();
|
|
1798
|
-
return O;
|
|
1799
|
-
} catch (O) {
|
|
1800
|
-
throw h ? new Error("Request timed out. Please try again.") : O;
|
|
1842
|
+
const g = await a(d, {
|
|
1843
|
+
...S || {},
|
|
1844
|
+
signal: T.signal
|
|
1845
|
+
}), p = g.ok && bo(g);
|
|
1846
|
+
if (f(g.status === 401 || p), p && et())
|
|
1847
|
+
throw new Nn();
|
|
1848
|
+
return g;
|
|
1849
|
+
} catch (g) {
|
|
1850
|
+
throw v ? new Error(x.global.t("CORE.ERRORS.REQUEST_TIMED_OUT")) : g;
|
|
1801
1851
|
} finally {
|
|
1802
|
-
r(
|
|
1852
|
+
r(L), clearTimeout(w), C && C.removeEventListener("abort", O);
|
|
1803
1853
|
}
|
|
1804
1854
|
}
|
|
1805
1855
|
});
|
|
1806
1856
|
return c.__vcInterceptorsInstalled__ = !0, window.fetch = c, c;
|
|
1807
1857
|
}
|
|
1808
|
-
function
|
|
1858
|
+
function Do(e) {
|
|
1809
1859
|
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 + "/";
|
|
1810
1860
|
}
|
|
1811
|
-
const oa = { 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" }, pa = { no_options: "No options" }, bo = {
|
|
1812
|
-
CORE: oa,
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1861
|
+
const na = { ERRORS: { SESSION_EXPIRED: `Access Denied: Your session has expired or you do not have the necessary permissions.
|
|
1862
|
+
Please log in again or contact the administrator for assistance.`, NETWORK_UNAVAILABLE: "Network unavailable. Please check your connection.", REQUEST_TIMED_OUT: "Request timed out. Please try again." }, THEMES: { LIGHT: "Light", DARK: "Dark" }, NOTIFICATIONS: { CLEAR_ALL: "Clear all" } }, sa = { 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" } }, oa = { 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" } }, ra = { 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." } }, ia = { 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}" } }, la = { 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}" }, ua = { 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." } }, ca = { 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" } } }, da = { 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" } } } } }, Ea = { _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" }, fa = { ACCESS_RESTRICTED: "Access restricted" }, ga = { LOADING: "Loading Virto OZ..." }, ma = { 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" }, Sa = { no_options: "No options" }, yo = {
|
|
1863
|
+
CORE: na,
|
|
1864
|
+
SHELL: sa,
|
|
1865
|
+
COMPONENTS: oa,
|
|
1866
|
+
INVITATION: ra,
|
|
1867
|
+
LOGIN: ia,
|
|
1868
|
+
FORGOT_PASSWORD: la,
|
|
1869
|
+
PASSWORDRESET: ua,
|
|
1870
|
+
ASSETS_MANAGER: ca,
|
|
1871
|
+
ASSETS: da,
|
|
1872
|
+
messages: Ea,
|
|
1873
|
+
PERMISSION_MESSAGES: fa,
|
|
1874
|
+
AI_AGENT: ga,
|
|
1875
|
+
VC_SCHEDULER: ma,
|
|
1876
|
+
common: Sa
|
|
1877
|
+
}, Bo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1827
1878
|
__proto__: null,
|
|
1828
|
-
AI_AGENT:
|
|
1829
|
-
ASSETS:
|
|
1830
|
-
ASSETS_MANAGER:
|
|
1831
|
-
COMPONENTS:
|
|
1832
|
-
CORE:
|
|
1833
|
-
FORGOT_PASSWORD:
|
|
1834
|
-
INVITATION:
|
|
1835
|
-
LOGIN:
|
|
1836
|
-
PASSWORDRESET:
|
|
1837
|
-
PERMISSION_MESSAGES:
|
|
1838
|
-
SHELL:
|
|
1839
|
-
VC_SCHEDULER:
|
|
1840
|
-
common:
|
|
1841
|
-
default:
|
|
1842
|
-
messages:
|
|
1843
|
-
}, Symbol.toStringTag, { value: "Module" })), Ta = { 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" }, Da = { no_options: "Keine Optionen" }, Do = {
|
|
1844
|
-
CORE: Ta,
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1879
|
+
AI_AGENT: ga,
|
|
1880
|
+
ASSETS: da,
|
|
1881
|
+
ASSETS_MANAGER: ca,
|
|
1882
|
+
COMPONENTS: oa,
|
|
1883
|
+
CORE: na,
|
|
1884
|
+
FORGOT_PASSWORD: la,
|
|
1885
|
+
INVITATION: ra,
|
|
1886
|
+
LOGIN: ia,
|
|
1887
|
+
PASSWORDRESET: ua,
|
|
1888
|
+
PERMISSION_MESSAGES: fa,
|
|
1889
|
+
SHELL: sa,
|
|
1890
|
+
VC_SCHEDULER: ma,
|
|
1891
|
+
common: Sa,
|
|
1892
|
+
default: yo,
|
|
1893
|
+
messages: Ea
|
|
1894
|
+
}, Symbol.toStringTag, { value: "Module" })), Aa = { ERRORS: { SESSION_EXPIRED: `Zugriff verweigert: Ihre Sitzung ist abgelaufen oder Sie verfügen nicht über die erforderlichen Berechtigungen.
|
|
1895
|
+
Bitte melden Sie sich erneut an oder wenden Sie sich an den Administrator.`, NETWORK_UNAVAILABLE: "Keine Netzwerkverbindung. Bitte prüfen Sie Ihre Verbindung.", REQUEST_TIMED_OUT: "Zeitüberschreitung der Anfrage. Bitte versuchen Sie es erneut." }, THEMES: { LIGHT: "Hell", DARK: "Dunkel" }, NOTIFICATIONS: { CLEAR_ALL: "Alle löschen" } }, pa = { NAVIGATION_ARIA_LABEL: "Hauptnavigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Suchbegriff" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Einstellungen", CHANGE_PASSWORD: "Passwort ändern", PROFILE: "Profil", LOGOUT: "Abmelden" } }, Ta = { 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" } }, ha = { 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." } }, Oa = { 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}" } }, La = { 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" }, Ra = { 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." } }, _a = { 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" } } }, Ia = { 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" } } } } }, va = { _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" }, wa = { ACCESS_RESTRICTED: "Zugriff eingeschränkt" }, Ca = { LOADING: "Virto OZ wird geladen..." }, Pa = { 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" }, ba = { no_options: "Keine Optionen" }, Mo = {
|
|
1896
|
+
CORE: Aa,
|
|
1897
|
+
SHELL: pa,
|
|
1898
|
+
COMPONENTS: Ta,
|
|
1899
|
+
INVITATION: ha,
|
|
1900
|
+
LOGIN: Oa,
|
|
1901
|
+
FORGOT_PASSWORD: La,
|
|
1902
|
+
PASSWORDRESET: Ra,
|
|
1903
|
+
ASSETS_MANAGER: _a,
|
|
1904
|
+
ASSETS: Ia,
|
|
1905
|
+
messages: va,
|
|
1906
|
+
PERMISSION_MESSAGES: wa,
|
|
1907
|
+
AI_AGENT: Ca,
|
|
1908
|
+
VC_SCHEDULER: Pa,
|
|
1909
|
+
common: ba
|
|
1910
|
+
}, ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1859
1911
|
__proto__: null,
|
|
1860
|
-
AI_AGENT:
|
|
1861
|
-
ASSETS:
|
|
1862
|
-
ASSETS_MANAGER:
|
|
1863
|
-
COMPONENTS:
|
|
1864
|
-
CORE:
|
|
1865
|
-
FORGOT_PASSWORD:
|
|
1866
|
-
INVITATION:
|
|
1867
|
-
LOGIN:
|
|
1868
|
-
PASSWORDRESET:
|
|
1869
|
-
PERMISSION_MESSAGES:
|
|
1870
|
-
SHELL:
|
|
1871
|
-
VC_SCHEDULER:
|
|
1872
|
-
common:
|
|
1873
|
-
default:
|
|
1874
|
-
messages:
|
|
1875
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1912
|
+
AI_AGENT: Ca,
|
|
1913
|
+
ASSETS: Ia,
|
|
1914
|
+
ASSETS_MANAGER: _a,
|
|
1915
|
+
COMPONENTS: Ta,
|
|
1916
|
+
CORE: Aa,
|
|
1917
|
+
FORGOT_PASSWORD: La,
|
|
1918
|
+
INVITATION: ha,
|
|
1919
|
+
LOGIN: Oa,
|
|
1920
|
+
PASSWORDRESET: Ra,
|
|
1921
|
+
PERMISSION_MESSAGES: wa,
|
|
1922
|
+
SHELL: pa,
|
|
1923
|
+
VC_SCHEDULER: Pa,
|
|
1924
|
+
common: ba,
|
|
1925
|
+
default: Mo,
|
|
1926
|
+
messages: va
|
|
1927
|
+
}, Symbol.toStringTag, { value: "Module" })), Vo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1876
1928
|
__proto__: null,
|
|
1877
|
-
de:
|
|
1878
|
-
en:
|
|
1879
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1929
|
+
de: ko,
|
|
1930
|
+
en: Bo
|
|
1931
|
+
}, Symbol.toStringTag, { value: "Module" })), Xe = k("global-error-handler");
|
|
1880
1932
|
function Ne(e) {
|
|
1881
1933
|
return e instanceof Error ? `${e.name}:${e.message}` : String(e);
|
|
1882
1934
|
}
|
|
1883
1935
|
const he = /* @__PURE__ */ new Map(), Pt = 3e3;
|
|
1884
|
-
function
|
|
1936
|
+
function Qe(e) {
|
|
1885
1937
|
const t = Ne(e), a = Date.now(), n = he.get(t);
|
|
1886
1938
|
if (n && a - n < Pt) return !0;
|
|
1887
1939
|
if (he.set(t, a), he.size > 50)
|
|
@@ -1889,13 +1941,13 @@ function Xe(e) {
|
|
|
1889
1941
|
a - o > Pt && he.delete(s);
|
|
1890
1942
|
return !1;
|
|
1891
1943
|
}
|
|
1892
|
-
function
|
|
1944
|
+
function Uo(e) {
|
|
1893
1945
|
const t = e.config.errorHandler;
|
|
1894
1946
|
if (e.config.errorHandler = (o, r, l) => {
|
|
1895
|
-
if (
|
|
1896
|
-
Info:`, l), !
|
|
1947
|
+
if (Xe.error("Unhandled Vue error:", o, `
|
|
1948
|
+
Info:`, l), !Qe(o)) {
|
|
1897
1949
|
const c = Pe(o);
|
|
1898
|
-
|
|
1950
|
+
Y.error(c.message, {
|
|
1899
1951
|
timeout: 8e3,
|
|
1900
1952
|
notificationId: `global-vue-${Ne(o)}`
|
|
1901
1953
|
});
|
|
@@ -1906,9 +1958,9 @@ Info:`, l), !Xe(o)) {
|
|
|
1906
1958
|
if (a.__VC_GLOBAL_ERROR_HANDLERS_INSTALLED__) return;
|
|
1907
1959
|
a.__VC_GLOBAL_ERROR_HANDLERS_INSTALLED__ = !0;
|
|
1908
1960
|
const n = (o) => {
|
|
1909
|
-
if (
|
|
1961
|
+
if (Xe.error("Unhandled rejection:", o.reason), !Qe(o.reason)) {
|
|
1910
1962
|
const r = Pe(o.reason);
|
|
1911
|
-
|
|
1963
|
+
Y.error(r.message, {
|
|
1912
1964
|
timeout: 8e3,
|
|
1913
1965
|
notificationId: `global-rejection-${Ne(o.reason)}`
|
|
1914
1966
|
});
|
|
@@ -1916,9 +1968,9 @@ Info:`, l), !Xe(o)) {
|
|
|
1916
1968
|
};
|
|
1917
1969
|
window.addEventListener("unhandledrejection", n);
|
|
1918
1970
|
const s = (o) => {
|
|
1919
|
-
if (o.error && (
|
|
1971
|
+
if (o.error && (Xe.error("Uncaught error:", o.error), !Qe(o.error))) {
|
|
1920
1972
|
const r = Pe(o.error);
|
|
1921
|
-
|
|
1973
|
+
Y.error(r.message, {
|
|
1922
1974
|
timeout: 8e3,
|
|
1923
1975
|
notificationId: `global-error-${Ne(o.error)}`
|
|
1924
1976
|
});
|
|
@@ -1926,7 +1978,7 @@ Info:`, l), !Xe(o)) {
|
|
|
1926
1978
|
};
|
|
1927
1979
|
window.addEventListener("error", s);
|
|
1928
1980
|
}
|
|
1929
|
-
const
|
|
1981
|
+
const Fo = k("notification-instance"), Z = {
|
|
1930
1982
|
"top-center": void 0,
|
|
1931
1983
|
"top-right": void 0,
|
|
1932
1984
|
"top-left": void 0,
|
|
@@ -1934,27 +1986,27 @@ const ko = k("notification-instance"), j = {
|
|
|
1934
1986
|
"bottom-right": void 0,
|
|
1935
1987
|
"bottom-left": void 0
|
|
1936
1988
|
};
|
|
1937
|
-
function
|
|
1989
|
+
function Wo() {
|
|
1938
1990
|
function e(s, o, r) {
|
|
1939
|
-
document.getElementById(o) && (
|
|
1991
|
+
document.getElementById(o) && (Z[r] = s);
|
|
1940
1992
|
}
|
|
1941
1993
|
function t(s) {
|
|
1942
1994
|
try {
|
|
1943
|
-
s ?
|
|
1995
|
+
s ? Z[s] && (Z[s]?.unmount(), document.getElementById(`notification-${s}`)?.remove(), Z[s] = void 0) : (Object.keys(Z).forEach((r) => {
|
|
1944
1996
|
const l = r;
|
|
1945
|
-
|
|
1946
|
-
}), Object.values(
|
|
1997
|
+
Z[l]?.unmount(), document.getElementById(`notification-${l}`)?.remove(), Z[l] = void 0;
|
|
1998
|
+
}), Object.values(Z).some((r) => r !== void 0) || document.querySelector(".notification")?.remove());
|
|
1947
1999
|
} catch (o) {
|
|
1948
|
-
|
|
2000
|
+
Fo.error("Failed to unmount notification component:", o);
|
|
1949
2001
|
}
|
|
1950
2002
|
}
|
|
1951
2003
|
function a() {
|
|
1952
|
-
Object.keys(
|
|
1953
|
-
|
|
2004
|
+
Object.keys(Z).forEach((s) => {
|
|
2005
|
+
Z[s] && t(s);
|
|
1954
2006
|
});
|
|
1955
2007
|
}
|
|
1956
2008
|
function n(s) {
|
|
1957
|
-
return
|
|
2009
|
+
return Z[s];
|
|
1958
2010
|
}
|
|
1959
2011
|
return {
|
|
1960
2012
|
saveInstance: e,
|
|
@@ -1970,8 +2022,8 @@ const de = k("notification-container"), G = {
|
|
|
1970
2022
|
"bottom-center": N([]),
|
|
1971
2023
|
"bottom-right": N([]),
|
|
1972
2024
|
"bottom-left": N([])
|
|
1973
|
-
}, { clearContainer:
|
|
1974
|
-
function
|
|
2025
|
+
}, { clearContainer: Ho, unmountComponent: Go, saveInstance: xo, getInstanceByPosition: bt } = Wo();
|
|
2026
|
+
function $o() {
|
|
1975
2027
|
const e = ie({
|
|
1976
2028
|
timeout: 3e3,
|
|
1977
2029
|
pauseOnHover: !0,
|
|
@@ -1996,11 +2048,11 @@ function Ho() {
|
|
|
1996
2048
|
const E = u.position || e.position, m = o.get(E);
|
|
1997
2049
|
if (m && await m, !bt(E)) {
|
|
1998
2050
|
const f = (async () => {
|
|
1999
|
-
const d = s(E), { default: S } = await Promise.resolve().then(() =>
|
|
2051
|
+
const d = s(E), { default: S } = await Promise.resolve().then(() => Or), L = an(S, {
|
|
2000
2052
|
...u,
|
|
2001
2053
|
position: E
|
|
2002
2054
|
});
|
|
2003
|
-
|
|
2055
|
+
L.use(x), L.provide(Zt, { notificationContainers: G, actions: c }), L.mount(d), xo(L, d.id, E);
|
|
2004
2056
|
})();
|
|
2005
2057
|
o.set(E, f), await f, o.delete(E);
|
|
2006
2058
|
}
|
|
@@ -2022,15 +2074,15 @@ function Ho() {
|
|
|
2022
2074
|
if (u) {
|
|
2023
2075
|
let E, m;
|
|
2024
2076
|
Object.entries(G).forEach(([f, d]) => {
|
|
2025
|
-
const S = d.value.find((
|
|
2077
|
+
const S = d.value.find((L) => L.notificationId === u);
|
|
2026
2078
|
S && (E = S, m = f);
|
|
2027
|
-
}), m && (G[m].value = G[m].value.filter((f) => f.notificationId !== u), G[m].value.length === 0 &&
|
|
2079
|
+
}), m && (G[m].value = G[m].value.filter((f) => f.notificationId !== u), G[m].value.length === 0 && Go(m), be(() => {
|
|
2028
2080
|
E?.onClose && typeof E?.onClose == "function" && E.onClose(E.payload);
|
|
2029
2081
|
}));
|
|
2030
2082
|
}
|
|
2031
2083
|
},
|
|
2032
2084
|
clear() {
|
|
2033
|
-
|
|
2085
|
+
Ho(), Object.values(G).forEach((u) => {
|
|
2034
2086
|
u.value = [];
|
|
2035
2087
|
});
|
|
2036
2088
|
},
|
|
@@ -2047,12 +2099,12 @@ function Ho() {
|
|
|
2047
2099
|
if (u.updateId) {
|
|
2048
2100
|
let E, m, f;
|
|
2049
2101
|
if (Object.entries(G).forEach(([d, S]) => {
|
|
2050
|
-
const
|
|
2051
|
-
|
|
2102
|
+
const L = S.value.find((T) => T.notificationId === u.notificationId);
|
|
2103
|
+
L && (E = L, m = S, f = d);
|
|
2052
2104
|
}), E && m) {
|
|
2053
2105
|
if (de.debug(`Updating notification ${u.notificationId} in position ${f}`), u.position && u.position !== f) {
|
|
2054
2106
|
m.value = m.value.filter(
|
|
2055
|
-
(
|
|
2107
|
+
(L) => L.notificationId !== u.notificationId
|
|
2056
2108
|
);
|
|
2057
2109
|
const d = {
|
|
2058
2110
|
...E,
|
|
@@ -2062,8 +2114,8 @@ function Ho() {
|
|
|
2062
2114
|
} else
|
|
2063
2115
|
de.debug("Standard update of notification properties"), Object.keys(u).forEach((d) => {
|
|
2064
2116
|
if (d !== "updateId" && d !== "notificationId") {
|
|
2065
|
-
const S = d,
|
|
2066
|
-
E &&
|
|
2117
|
+
const S = d, L = u[S];
|
|
2118
|
+
E && L !== void 0 && (E[S] = L);
|
|
2067
2119
|
}
|
|
2068
2120
|
});
|
|
2069
2121
|
return !0;
|
|
@@ -2084,13 +2136,13 @@ function Ho() {
|
|
|
2084
2136
|
getNotificationsByPosition: a,
|
|
2085
2137
|
appendInstance: r,
|
|
2086
2138
|
getNotification: n,
|
|
2087
|
-
generateNotificationId:
|
|
2139
|
+
generateNotificationId: Va,
|
|
2088
2140
|
hasNotification: l
|
|
2089
2141
|
};
|
|
2090
2142
|
}
|
|
2091
|
-
function
|
|
2092
|
-
const e =
|
|
2093
|
-
|
|
2143
|
+
function Ko() {
|
|
2144
|
+
const e = $o();
|
|
2145
|
+
Ua({
|
|
2094
2146
|
defaultOptions: e.defaultOptions,
|
|
2095
2147
|
actions: e.actions,
|
|
2096
2148
|
getAllNotifications: e.getAllNotifications,
|
|
@@ -2099,22 +2151,22 @@ function Go() {
|
|
|
2099
2151
|
hasNotification: (t) => e.hasNotification(t)
|
|
2100
2152
|
});
|
|
2101
2153
|
}
|
|
2102
|
-
const
|
|
2103
|
-
function
|
|
2154
|
+
const zo = "2.5.0-pr333.e765c02";
|
|
2155
|
+
function qo() {
|
|
2104
2156
|
return {
|
|
2105
|
-
version:
|
|
2106
|
-
buildDate: "2026-08-31T13:
|
|
2107
|
-
gitHash: "
|
|
2157
|
+
version: zo,
|
|
2158
|
+
buildDate: "2026-08-31T13:27:11.794Z",
|
|
2159
|
+
gitHash: "e765c0252"
|
|
2108
2160
|
};
|
|
2109
2161
|
}
|
|
2110
|
-
function
|
|
2162
|
+
function Yo(e = qo()) {
|
|
2111
2163
|
console.warn(
|
|
2112
2164
|
`%c@vc-shell/framework%c v${e.version} · ${e.buildDate} · ${e.gitHash}`,
|
|
2113
2165
|
"font-weight:bold;color:#319ED4",
|
|
2114
2166
|
"color:inherit"
|
|
2115
2167
|
);
|
|
2116
2168
|
}
|
|
2117
|
-
const
|
|
2169
|
+
const jo = /* @__PURE__ */ H({
|
|
2118
2170
|
__name: "sidebar",
|
|
2119
2171
|
props: {
|
|
2120
2172
|
position: { default: "right" },
|
|
@@ -2125,11 +2177,11 @@ const zo = /* @__PURE__ */ H({
|
|
|
2125
2177
|
},
|
|
2126
2178
|
emits: ["close"],
|
|
2127
2179
|
setup(e, { emit: t }) {
|
|
2128
|
-
const a = e, n = t, { isMobile: s, isDesktop: o } =
|
|
2180
|
+
const a = e, n = t, { isMobile: s, isDesktop: o } = Fa(), r = I(() => a.render === "always" ? !0 : a.render === "mobile" ? s.value : o.value), l = I(() => a.isExpanded && r.value);
|
|
2129
2181
|
function c(u) {
|
|
2130
2182
|
u || n("close");
|
|
2131
2183
|
}
|
|
2132
|
-
return (u, E) => l.value ? (b(), D(i(
|
|
2184
|
+
return (u, E) => l.value ? (b(), D(i(hn), {
|
|
2133
2185
|
key: 0,
|
|
2134
2186
|
"model-value": !0,
|
|
2135
2187
|
position: e.position,
|
|
@@ -2137,22 +2189,22 @@ const zo = /* @__PURE__ */ H({
|
|
|
2137
2189
|
"close-button": e.closeCross,
|
|
2138
2190
|
teleport: !i(o),
|
|
2139
2191
|
"onUpdate:modelValue": c
|
|
2140
|
-
},
|
|
2141
|
-
default:
|
|
2142
|
-
|
|
2192
|
+
}, Le({
|
|
2193
|
+
default: h(() => [
|
|
2194
|
+
j(u.$slots, "content")
|
|
2143
2195
|
]),
|
|
2144
2196
|
_: 2
|
|
2145
2197
|
}, [
|
|
2146
2198
|
u.$slots.header ? {
|
|
2147
2199
|
name: "header",
|
|
2148
|
-
fn:
|
|
2149
|
-
|
|
2200
|
+
fn: h(({ close: m }) => [
|
|
2201
|
+
j(u.$slots, "header", { close: m })
|
|
2150
2202
|
]),
|
|
2151
2203
|
key: "0"
|
|
2152
2204
|
} : void 0
|
|
2153
|
-
]), 1032, ["position", "title", "close-button", "teleport"])) :
|
|
2205
|
+
]), 1032, ["position", "title", "close-button", "teleport"])) : j(u.$slots, "content", { key: 1 });
|
|
2154
2206
|
}
|
|
2155
|
-
}),
|
|
2207
|
+
}), Ul = jo, Zo = { class: "tw-flex tw-flex-row tw-items-center tw-gap-2" }, Xo = /* @__PURE__ */ H({
|
|
2156
2208
|
__name: "external-provider",
|
|
2157
2209
|
props: {
|
|
2158
2210
|
logo: {},
|
|
@@ -2161,15 +2213,15 @@ const zo = /* @__PURE__ */ H({
|
|
|
2161
2213
|
},
|
|
2162
2214
|
emits: ["signIn"],
|
|
2163
2215
|
setup(e) {
|
|
2164
|
-
const t = e, a =
|
|
2165
|
-
return (n, s) => (b(), D(i(
|
|
2216
|
+
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);
|
|
2217
|
+
return (n, s) => (b(), D(i($), {
|
|
2166
2218
|
variant: "secondary",
|
|
2167
2219
|
class: "vc-external-provider",
|
|
2168
2220
|
onClick: s[0] || (s[0] = (o) => n.$emit("signIn"))
|
|
2169
2221
|
}, {
|
|
2170
|
-
default:
|
|
2171
|
-
U("div",
|
|
2172
|
-
|
|
2222
|
+
default: h(() => [
|
|
2223
|
+
U("div", Zo, [
|
|
2224
|
+
_(i(ot), {
|
|
2173
2225
|
src: a.value,
|
|
2174
2226
|
class: "vc-external-provider__icon",
|
|
2175
2227
|
size: "xxs"
|
|
@@ -2180,15 +2232,15 @@ const zo = /* @__PURE__ */ H({
|
|
|
2180
2232
|
_: 1
|
|
2181
2233
|
}));
|
|
2182
2234
|
}
|
|
2183
|
-
}),
|
|
2235
|
+
}), Qo = { class: "tw-flex tw-justify-center tw-flex-col tw-gap-4" }, Jo = /* @__PURE__ */ H({
|
|
2184
2236
|
__name: "external-providers",
|
|
2185
2237
|
props: {
|
|
2186
2238
|
providers: {}
|
|
2187
2239
|
},
|
|
2188
2240
|
setup(e) {
|
|
2189
2241
|
const { signIn: t } = Kt();
|
|
2190
|
-
return (a, n) => (b(), W("div",
|
|
2191
|
-
(b(!0), W(ne, null, Fe(e.providers, (s) => (b(), D(
|
|
2242
|
+
return (a, n) => (b(), W("div", Qo, [
|
|
2243
|
+
(b(!0), W(ne, null, Fe(e.providers, (s) => (b(), D(Xo, {
|
|
2192
2244
|
key: s.authenticationType,
|
|
2193
2245
|
logo: s.logoUrl,
|
|
2194
2246
|
"display-name": s.displayName,
|
|
@@ -2198,25 +2250,25 @@ const zo = /* @__PURE__ */ H({
|
|
|
2198
2250
|
]));
|
|
2199
2251
|
}
|
|
2200
2252
|
});
|
|
2201
|
-
function
|
|
2253
|
+
function er(e) {
|
|
2202
2254
|
if (!e) return "/";
|
|
2203
2255
|
const t = e.trim();
|
|
2204
2256
|
return !t.startsWith("/") || t.startsWith("//") ? "/" : t;
|
|
2205
2257
|
}
|
|
2206
|
-
function
|
|
2258
|
+
function tr(e, t) {
|
|
2207
2259
|
return e.status === 401 ? t("LOGIN.ERRORS.INVALID_CREDENTIALS") : e.status ? t("LOGIN.ERRORS.AUTH_WITH_CODE", { code: e.status }) : e.error ? t("LOGIN.ERRORS.AUTH_GENERIC", { detail: e.error }) : t("LOGIN.ERRORS.INVALID_CREDENTIALS");
|
|
2208
2260
|
}
|
|
2209
|
-
function
|
|
2261
|
+
function ar(e) {
|
|
2210
2262
|
const t = [];
|
|
2211
2263
|
return e.confirmPassword !== e.password && t.push({ code: "Repeat-password" }), e.password === e.currentPassword && e.confirmPassword === e.currentPassword && t.push({ code: "Equal-passwords" }), t;
|
|
2212
2264
|
}
|
|
2213
|
-
const
|
|
2265
|
+
const nr = {
|
|
2214
2266
|
key: 0,
|
|
2215
2267
|
class: "vc-login-page__providers"
|
|
2216
|
-
},
|
|
2268
|
+
}, sr = {
|
|
2217
2269
|
key: 0,
|
|
2218
2270
|
class: "vc-login-page__separator-line"
|
|
2219
|
-
},
|
|
2271
|
+
}, or = /* @__PURE__ */ H({
|
|
2220
2272
|
__name: "Login",
|
|
2221
2273
|
props: {
|
|
2222
2274
|
logo: {},
|
|
@@ -2226,11 +2278,11 @@ const er = {
|
|
|
2226
2278
|
ssoOnly: { type: Boolean }
|
|
2227
2279
|
},
|
|
2228
2280
|
setup(e) {
|
|
2229
|
-
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 = N({ succeeded: !0 }), { signIn: u, loading: E, user: m } = se(), { getProviders: f } = Kt(), d = Ie(), S = N(),
|
|
2281
|
+
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 = N({ succeeded: !0 }), { signIn: u, loading: E, user: m } = se(), { getProviders: f } = Kt(), d = Ie(), S = N(), L = N(!1);
|
|
2230
2282
|
Re(async () => {
|
|
2231
|
-
S.value = await f(),
|
|
2283
|
+
S.value = await f(), L.value = !0;
|
|
2232
2284
|
});
|
|
2233
|
-
const T =
|
|
2285
|
+
const T = I(() => ({
|
|
2234
2286
|
logo: l.value ? "" : r.value?.logo || a.logo
|
|
2235
2287
|
})), v = ie({
|
|
2236
2288
|
username: "",
|
|
@@ -2242,93 +2294,93 @@ const er = {
|
|
|
2242
2294
|
return;
|
|
2243
2295
|
}
|
|
2244
2296
|
if (c.value.succeeded) {
|
|
2245
|
-
const
|
|
2246
|
-
localStorage.removeItem("redirectAfterLogin"), await s.push(
|
|
2297
|
+
const O = er(localStorage.getItem("redirectAfterLogin"));
|
|
2298
|
+
localStorage.removeItem("redirectAfterLogin"), await s.push(O);
|
|
2247
2299
|
return;
|
|
2248
2300
|
}
|
|
2249
|
-
c.value.error =
|
|
2301
|
+
c.value.error = tr(c.value, n), v.password = "", o("password");
|
|
2250
2302
|
}
|
|
2251
|
-
},
|
|
2303
|
+
}, C = () => {
|
|
2252
2304
|
s.push({ name: "ForgotPassword" });
|
|
2253
2305
|
};
|
|
2254
|
-
return t.debug("Init login-page"), (
|
|
2306
|
+
return t.debug("Init login-page"), (O, g) => (b(), D(i(_e), {
|
|
2255
2307
|
logo: T.value.logo,
|
|
2256
2308
|
background: e.background,
|
|
2257
|
-
title: e.title ||
|
|
2258
|
-
subtitle: e.subtitle ||
|
|
2309
|
+
title: e.title || O.$t("LOGIN.TITLE"),
|
|
2310
|
+
subtitle: e.subtitle || O.$t("LOGIN.SUBTITLE"),
|
|
2259
2311
|
class: "vc-login-page"
|
|
2260
2312
|
}, {
|
|
2261
|
-
default:
|
|
2262
|
-
S.value && S.value.length ? (b(), W("div",
|
|
2263
|
-
|
|
2264
|
-
e.ssoOnly ?
|
|
2265
|
-
])) :
|
|
2266
|
-
e.ssoOnly &&
|
|
2313
|
+
default: h(() => [
|
|
2314
|
+
S.value && S.value.length ? (b(), W("div", nr, [
|
|
2315
|
+
_(Jo, { providers: S.value }, null, 8, ["providers"]),
|
|
2316
|
+
e.ssoOnly ? q("", !0) : (b(), W("div", sr, y(O.$t("LOGIN.OR")), 1))
|
|
2317
|
+
])) : q("", !0),
|
|
2318
|
+
e.ssoOnly && L.value && !S.value?.length ? (b(), D(i(Ee), {
|
|
2267
2319
|
key: 1,
|
|
2268
2320
|
class: "tw-mt-4 tw-text-danger-500"
|
|
2269
2321
|
}, {
|
|
2270
|
-
default:
|
|
2271
|
-
M(y(
|
|
2322
|
+
default: h(() => [
|
|
2323
|
+
M(y(O.$t("LOGIN.SSO_NO_PROVIDERS_ERROR")), 1)
|
|
2272
2324
|
]),
|
|
2273
2325
|
_: 1
|
|
2274
|
-
})) :
|
|
2275
|
-
e.ssoOnly ?
|
|
2276
|
-
|
|
2326
|
+
})) : q("", !0),
|
|
2327
|
+
e.ssoOnly ? q("", !0) : (b(), W(ne, { key: 2 }, [
|
|
2328
|
+
_(i(me), {
|
|
2277
2329
|
class: "tw-gap-5",
|
|
2278
2330
|
onSubmit: w
|
|
2279
2331
|
}, {
|
|
2280
|
-
default:
|
|
2281
|
-
|
|
2282
|
-
label:
|
|
2332
|
+
default: h(() => [
|
|
2333
|
+
_(i(X), {
|
|
2334
|
+
label: O.$t("LOGIN.FIELDS.LOGIN.LABEL"),
|
|
2283
2335
|
name: "username",
|
|
2284
2336
|
"model-value": v.username,
|
|
2285
2337
|
rules: "required"
|
|
2286
2338
|
}, {
|
|
2287
|
-
default:
|
|
2288
|
-
|
|
2339
|
+
default: h(({ errorMessage: p, handleChange: A, errors: R }) => [
|
|
2340
|
+
_(i(K), {
|
|
2289
2341
|
ref: "loginField",
|
|
2290
2342
|
modelValue: v.username,
|
|
2291
2343
|
"onUpdate:modelValue": [
|
|
2292
2344
|
g[0] || (g[0] = (P) => v.username = P),
|
|
2293
2345
|
A
|
|
2294
2346
|
],
|
|
2295
|
-
label:
|
|
2296
|
-
placeholder:
|
|
2347
|
+
label: O.$t("LOGIN.FIELDS.LOGIN.LABEL"),
|
|
2348
|
+
placeholder: O.$t("LOGIN.FIELDS.LOGIN.PLACEHOLDER"),
|
|
2297
2349
|
autocomplete: "username",
|
|
2298
2350
|
required: "",
|
|
2299
|
-
error: !!
|
|
2300
|
-
"error-message":
|
|
2351
|
+
error: !!R.length,
|
|
2352
|
+
"error-message": p
|
|
2301
2353
|
}, null, 8, ["modelValue", "label", "placeholder", "error", "error-message", "onUpdate:modelValue"])
|
|
2302
2354
|
]),
|
|
2303
2355
|
_: 1
|
|
2304
2356
|
}, 8, ["label", "model-value"]),
|
|
2305
|
-
|
|
2306
|
-
label:
|
|
2357
|
+
_(i(X), {
|
|
2358
|
+
label: O.$t("LOGIN.FIELDS.PASSWORD.LABEL"),
|
|
2307
2359
|
name: "password",
|
|
2308
2360
|
"model-value": v.password,
|
|
2309
2361
|
rules: "required"
|
|
2310
2362
|
}, {
|
|
2311
|
-
default:
|
|
2312
|
-
|
|
2363
|
+
default: h(({ errorMessage: p, handleChange: A, errors: R }) => [
|
|
2364
|
+
_(i(K), {
|
|
2313
2365
|
ref: "passwordField",
|
|
2314
2366
|
modelValue: v.password,
|
|
2315
2367
|
"onUpdate:modelValue": [
|
|
2316
2368
|
g[1] || (g[1] = (P) => v.password = P),
|
|
2317
2369
|
A
|
|
2318
2370
|
],
|
|
2319
|
-
label:
|
|
2320
|
-
placeholder:
|
|
2371
|
+
label: O.$t("LOGIN.FIELDS.PASSWORD.LABEL"),
|
|
2372
|
+
placeholder: O.$t("LOGIN.FIELDS.PASSWORD.PLACEHOLDER"),
|
|
2321
2373
|
type: "password",
|
|
2322
2374
|
autocomplete: "current-password",
|
|
2323
2375
|
required: "",
|
|
2324
|
-
error: !!
|
|
2325
|
-
"error-message":
|
|
2326
|
-
onKeyup:
|
|
2376
|
+
error: !!R.length,
|
|
2377
|
+
"error-message": p,
|
|
2378
|
+
onKeyup: lt(w, ["enter"])
|
|
2327
2379
|
}, null, 8, ["modelValue", "label", "placeholder", "error", "error-message", "onUpdate:modelValue"])
|
|
2328
2380
|
]),
|
|
2329
2381
|
_: 1
|
|
2330
2382
|
}, 8, ["label", "model-value"]),
|
|
2331
|
-
|
|
2383
|
+
_(i($), {
|
|
2332
2384
|
variant: "primary",
|
|
2333
2385
|
class: "tw-w-full",
|
|
2334
2386
|
icon: "lucide-log-in",
|
|
@@ -2336,36 +2388,36 @@ const er = {
|
|
|
2336
2388
|
loading: i(E),
|
|
2337
2389
|
onClick: w
|
|
2338
2390
|
}, {
|
|
2339
|
-
default:
|
|
2340
|
-
M(y(
|
|
2391
|
+
default: h(() => [
|
|
2392
|
+
M(y(O.$t("LOGIN.BUTTON")), 1)
|
|
2341
2393
|
]),
|
|
2342
2394
|
_: 1
|
|
2343
2395
|
}, 8, ["disabled", "loading"]),
|
|
2344
|
-
|
|
2396
|
+
_(i($), {
|
|
2345
2397
|
variant: "link",
|
|
2346
2398
|
class: "tw-w-full tw-justify-center",
|
|
2347
2399
|
type: "button",
|
|
2348
|
-
onClick:
|
|
2400
|
+
onClick: C
|
|
2349
2401
|
}, {
|
|
2350
|
-
default:
|
|
2351
|
-
M(y(
|
|
2402
|
+
default: h(() => [
|
|
2403
|
+
M(y(O.$t("LOGIN.FORGOT_PASSWORD_BUTTON")), 1)
|
|
2352
2404
|
]),
|
|
2353
2405
|
_: 1
|
|
2354
2406
|
})
|
|
2355
2407
|
]),
|
|
2356
2408
|
_: 1
|
|
2357
2409
|
}),
|
|
2358
|
-
|
|
2410
|
+
_(i(Ss), {
|
|
2359
2411
|
name: "auth:after-form",
|
|
2360
2412
|
separator: "",
|
|
2361
2413
|
"separator-class": "tw-border-t tw-border-[color:var(--login-separator)] tw-border-solid tw-pb-5",
|
|
2362
2414
|
"wrapper-class": "vc-login-page__separator"
|
|
2363
2415
|
}),
|
|
2364
|
-
c.value.succeeded ?
|
|
2416
|
+
c.value.succeeded ? q("", !0) : (b(), D(i(Ee), {
|
|
2365
2417
|
key: 0,
|
|
2366
2418
|
class: "tw-mt-4 tw-text-danger-500"
|
|
2367
2419
|
}, {
|
|
2368
|
-
default:
|
|
2420
|
+
default: h(() => [
|
|
2369
2421
|
M(y(c.value.error), 1)
|
|
2370
2422
|
]),
|
|
2371
2423
|
_: 1
|
|
@@ -2375,7 +2427,7 @@ const er = {
|
|
|
2375
2427
|
_: 1
|
|
2376
2428
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2377
2429
|
}
|
|
2378
|
-
}),
|
|
2430
|
+
}), Fl = or, rr = { class: "tw-text-center" }, ir = { class: "tw-text-center tw-mb-6" }, lr = { class: "tw-text-sm tw-text-neutrals-600" }, ur = /* @__PURE__ */ H({
|
|
2379
2431
|
__name: "ForgotPassword",
|
|
2380
2432
|
props: {
|
|
2381
2433
|
logo: {},
|
|
@@ -2397,9 +2449,9 @@ const er = {
|
|
|
2397
2449
|
await T(v.loginOrEmail);
|
|
2398
2450
|
};
|
|
2399
2451
|
}
|
|
2400
|
-
const f =
|
|
2452
|
+
const f = I(() => ({
|
|
2401
2453
|
logo: r.value ? "" : o.value?.logo || t.logo
|
|
2402
|
-
})), d =
|
|
2454
|
+
})), d = I(() => {
|
|
2403
2455
|
const T = E.loginOrEmail, [v, w] = T.split("@");
|
|
2404
2456
|
return !v || !w ? T : `${v.length > 2 ? v[0] + "***" + v[v.length - 1] : v[0] + "***"}@${w}`;
|
|
2405
2457
|
}), S = async () => {
|
|
@@ -2411,7 +2463,7 @@ const er = {
|
|
|
2411
2463
|
} finally {
|
|
2412
2464
|
l.value = !1;
|
|
2413
2465
|
}
|
|
2414
|
-
},
|
|
2466
|
+
}, L = () => {
|
|
2415
2467
|
a.push({ name: "Login" });
|
|
2416
2468
|
};
|
|
2417
2469
|
return (T, v) => (b(), D(i(_e), {
|
|
@@ -2420,69 +2472,69 @@ const er = {
|
|
|
2420
2472
|
title: u.value ? i(n)("FORGOT_PASSWORD.SUCCESS_TITLE") : i(n)("FORGOT_PASSWORD.TITLE"),
|
|
2421
2473
|
subtitle: u.value ? void 0 : i(n)("FORGOT_PASSWORD.SUBTITLE")
|
|
2422
2474
|
}, {
|
|
2423
|
-
default:
|
|
2475
|
+
default: h(() => [
|
|
2424
2476
|
u.value ? (b(), W(ne, { key: 1 }, [
|
|
2425
|
-
U("div",
|
|
2426
|
-
U("p",
|
|
2477
|
+
U("div", ir, [
|
|
2478
|
+
U("p", lr, y(i(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: d.value })), 1)
|
|
2427
2479
|
]),
|
|
2428
|
-
|
|
2480
|
+
_(i($), {
|
|
2429
2481
|
variant: "primary",
|
|
2430
2482
|
class: "tw-w-full",
|
|
2431
|
-
onClick:
|
|
2483
|
+
onClick: L
|
|
2432
2484
|
}, {
|
|
2433
|
-
default:
|
|
2485
|
+
default: h(() => [
|
|
2434
2486
|
M(y(i(n)("FORGOT_PASSWORD.BACK_TO_LOGIN")), 1)
|
|
2435
2487
|
]),
|
|
2436
2488
|
_: 1
|
|
2437
2489
|
})
|
|
2438
2490
|
], 64)) : (b(), W(ne, { key: 0 }, [
|
|
2439
|
-
|
|
2440
|
-
default:
|
|
2441
|
-
|
|
2491
|
+
_(i(me), { onSubmit: S }, {
|
|
2492
|
+
default: h(() => [
|
|
2493
|
+
_(i(X), {
|
|
2442
2494
|
label: i(n)("FORGOT_PASSWORD.FIELDS.EMAIL.LABEL"),
|
|
2443
2495
|
name: "loginOrEmail",
|
|
2444
2496
|
"model-value": E.loginOrEmail,
|
|
2445
2497
|
rules: "required|email"
|
|
2446
2498
|
}, {
|
|
2447
|
-
default:
|
|
2448
|
-
|
|
2499
|
+
default: h(({ errorMessage: w, handleChange: C, errors: O }) => [
|
|
2500
|
+
_(i(K), {
|
|
2449
2501
|
ref: "emailField",
|
|
2450
2502
|
modelValue: E.loginOrEmail,
|
|
2451
2503
|
"onUpdate:modelValue": [
|
|
2452
2504
|
v[0] || (v[0] = (g) => E.loginOrEmail = g),
|
|
2453
|
-
|
|
2505
|
+
C
|
|
2454
2506
|
],
|
|
2455
2507
|
class: "tw-mb-6",
|
|
2456
2508
|
label: i(n)("FORGOT_PASSWORD.FIELDS.EMAIL.LABEL"),
|
|
2457
2509
|
placeholder: i(n)("FORGOT_PASSWORD.FIELDS.EMAIL.PLACEHOLDER"),
|
|
2458
2510
|
required: "",
|
|
2459
|
-
error: !!
|
|
2511
|
+
error: !!O.length,
|
|
2460
2512
|
"error-message": w
|
|
2461
2513
|
}, null, 8, ["modelValue", "label", "placeholder", "error", "error-message", "onUpdate:modelValue"])
|
|
2462
2514
|
]),
|
|
2463
2515
|
_: 1
|
|
2464
2516
|
}, 8, ["label", "model-value"]),
|
|
2465
|
-
|
|
2517
|
+
_(i($), {
|
|
2466
2518
|
variant: "primary",
|
|
2467
2519
|
class: "tw-w-full tw-mb-4",
|
|
2468
2520
|
disabled: !i(s) || l.value,
|
|
2469
2521
|
loading: l.value,
|
|
2470
2522
|
onClick: S
|
|
2471
2523
|
}, {
|
|
2472
|
-
default:
|
|
2524
|
+
default: h(() => [
|
|
2473
2525
|
M(y(i(n)("FORGOT_PASSWORD.SEND_BUTTON")), 1)
|
|
2474
2526
|
]),
|
|
2475
2527
|
_: 1
|
|
2476
2528
|
}, 8, ["disabled", "loading"]),
|
|
2477
|
-
U("div",
|
|
2478
|
-
|
|
2529
|
+
U("div", rr, [
|
|
2530
|
+
_(i($), {
|
|
2479
2531
|
variant: "link",
|
|
2480
2532
|
icon: "lucide-arrow-left",
|
|
2481
2533
|
"icon-size": "xs",
|
|
2482
2534
|
type: "button",
|
|
2483
|
-
onClick:
|
|
2535
|
+
onClick: L
|
|
2484
2536
|
}, {
|
|
2485
|
-
default:
|
|
2537
|
+
default: h(() => [
|
|
2486
2538
|
M(y(i(n)("FORGOT_PASSWORD.BACK_TO_LOGIN")), 1)
|
|
2487
2539
|
]),
|
|
2488
2540
|
_: 1
|
|
@@ -2495,17 +2547,17 @@ const er = {
|
|
|
2495
2547
|
key: 0,
|
|
2496
2548
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2497
2549
|
}, {
|
|
2498
|
-
default:
|
|
2550
|
+
default: h(() => [
|
|
2499
2551
|
M(y(c.value), 1)
|
|
2500
2552
|
]),
|
|
2501
2553
|
_: 1
|
|
2502
|
-
})) :
|
|
2554
|
+
})) : q("", !0)
|
|
2503
2555
|
], 64))
|
|
2504
2556
|
]),
|
|
2505
2557
|
_: 1
|
|
2506
2558
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2507
2559
|
}
|
|
2508
|
-
}),
|
|
2560
|
+
}), Wl = ur, cr = /* @__PURE__ */ H({
|
|
2509
2561
|
__name: "ResetPassword",
|
|
2510
2562
|
props: {
|
|
2511
2563
|
userId: {},
|
|
@@ -2525,22 +2577,22 @@ const er = {
|
|
|
2525
2577
|
Re(async () => {
|
|
2526
2578
|
f.tokenIsValid = await a(t.userId, t.token), f.tokenIsValid || f.errors.push("Invalid-token");
|
|
2527
2579
|
});
|
|
2528
|
-
const d =
|
|
2580
|
+
const d = I(() => r.value || !f.password || !f.confirmPassword || !f.isValid && f.tokenIsValid), S = async () => {
|
|
2529
2581
|
if (f.tokenIsValid) {
|
|
2530
2582
|
const v = (await n(f.password)).errors;
|
|
2531
2583
|
f.errors = v?.map((w) => w.code), f.confirmPassword !== f.password && f.errors.push("Repeat-password"), f.isValid = f.errors.length == 0;
|
|
2532
2584
|
}
|
|
2533
|
-
},
|
|
2585
|
+
}, L = async () => {
|
|
2534
2586
|
const { valid: v } = await u();
|
|
2535
2587
|
if (v) {
|
|
2536
2588
|
const w = await s(t.userId, f.password, t.token);
|
|
2537
2589
|
if (w.succeeded) {
|
|
2538
|
-
const
|
|
2539
|
-
|
|
2590
|
+
const C = await o(t.userName, f.password);
|
|
2591
|
+
C.succeeded ? l.push("/") : f.errors = "error" in C && [C.error] || [];
|
|
2540
2592
|
} else
|
|
2541
2593
|
f.errors = w.errors;
|
|
2542
2594
|
}
|
|
2543
|
-
}, T =
|
|
2595
|
+
}, T = I(() => ({
|
|
2544
2596
|
logo: m.value ? "" : E.value?.logo || t.logo
|
|
2545
2597
|
}));
|
|
2546
2598
|
return (v, w) => (b(), D(i(_e), {
|
|
@@ -2549,21 +2601,21 @@ const er = {
|
|
|
2549
2601
|
title: i(c)("PASSWORDRESET.TITLE"),
|
|
2550
2602
|
subtitle: i(c)("PASSWORDRESET.SUBTITLE")
|
|
2551
2603
|
}, {
|
|
2552
|
-
default:
|
|
2604
|
+
default: h(() => [
|
|
2553
2605
|
i(r) ? (b(), D(i(Ht), {
|
|
2554
2606
|
key: 0,
|
|
2555
2607
|
active: ""
|
|
2556
|
-
})) :
|
|
2557
|
-
|
|
2558
|
-
default:
|
|
2559
|
-
|
|
2608
|
+
})) : q("", !0),
|
|
2609
|
+
_(i(me), null, {
|
|
2610
|
+
default: h(() => [
|
|
2611
|
+
_(i(X), {
|
|
2560
2612
|
label: i(c)("PASSWORDRESET.FIELDS.PASSWORD.LABEL"),
|
|
2561
2613
|
name: "password",
|
|
2562
2614
|
"model-value": f.password,
|
|
2563
2615
|
rules: "required"
|
|
2564
2616
|
}, {
|
|
2565
|
-
default:
|
|
2566
|
-
|
|
2617
|
+
default: h(({ field: C, errorMessage: O, handleChange: g, errors: p }) => [
|
|
2618
|
+
_(i(K), re(C, {
|
|
2567
2619
|
ref: "passwordField",
|
|
2568
2620
|
modelValue: f.password,
|
|
2569
2621
|
"onUpdate:modelValue": [
|
|
@@ -2579,20 +2631,20 @@ const er = {
|
|
|
2579
2631
|
autocomplete: "new-password",
|
|
2580
2632
|
disabled: !f.tokenIsValid,
|
|
2581
2633
|
required: "",
|
|
2582
|
-
error: !!
|
|
2583
|
-
"error-message":
|
|
2634
|
+
error: !!p.length,
|
|
2635
|
+
"error-message": O
|
|
2584
2636
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-message", "onUpdate:modelValue"])
|
|
2585
2637
|
]),
|
|
2586
2638
|
_: 1
|
|
2587
2639
|
}, 8, ["label", "model-value"]),
|
|
2588
|
-
|
|
2640
|
+
_(i(X), {
|
|
2589
2641
|
label: i(c)("PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2590
2642
|
name: "confirm_password",
|
|
2591
2643
|
"model-value": f.confirmPassword,
|
|
2592
2644
|
rules: "required"
|
|
2593
2645
|
}, {
|
|
2594
|
-
default:
|
|
2595
|
-
|
|
2646
|
+
default: h(({ field: C, errorMessage: O, handleChange: g, errors: p }) => [
|
|
2647
|
+
_(i(K), re(C, {
|
|
2596
2648
|
ref: "confirmPasswordField",
|
|
2597
2649
|
modelValue: f.confirmPassword,
|
|
2598
2650
|
"onUpdate:modelValue": [
|
|
@@ -2608,31 +2660,31 @@ const er = {
|
|
|
2608
2660
|
type: "password",
|
|
2609
2661
|
autocomplete: "new-password",
|
|
2610
2662
|
required: "",
|
|
2611
|
-
error: !!
|
|
2612
|
-
"error-message":
|
|
2613
|
-
onKeyup:
|
|
2663
|
+
error: !!p.length,
|
|
2664
|
+
"error-message": O,
|
|
2665
|
+
onKeyup: lt(L, ["enter"])
|
|
2614
2666
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-message", "onUpdate:modelValue"])
|
|
2615
2667
|
]),
|
|
2616
2668
|
_: 1
|
|
2617
2669
|
}, 8, ["label", "model-value"]),
|
|
2618
|
-
|
|
2670
|
+
_(i($), {
|
|
2619
2671
|
variant: "primary",
|
|
2620
2672
|
class: "tw-w-full",
|
|
2621
2673
|
disabled: d.value,
|
|
2622
2674
|
loading: i(r),
|
|
2623
|
-
onClick:
|
|
2675
|
+
onClick: L
|
|
2624
2676
|
}, {
|
|
2625
|
-
default:
|
|
2677
|
+
default: h(() => [
|
|
2626
2678
|
M(y(i(c)("PASSWORDRESET.SAVE_PASSWORD")), 1)
|
|
2627
2679
|
]),
|
|
2628
2680
|
_: 1
|
|
2629
2681
|
}, 8, ["disabled", "loading"]),
|
|
2630
|
-
(b(!0), W(ne, null, Fe(f.errors, (
|
|
2631
|
-
key:
|
|
2682
|
+
(b(!0), W(ne, null, Fe(f.errors, (C) => (b(), D(i(Ee), {
|
|
2683
|
+
key: C,
|
|
2632
2684
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2633
2685
|
}, {
|
|
2634
|
-
default:
|
|
2635
|
-
M(y(i(c)(`PASSWORDRESET.ERRORS.${
|
|
2686
|
+
default: h(() => [
|
|
2687
|
+
M(y(i(c)(`PASSWORDRESET.ERRORS.${C}`)), 1)
|
|
2636
2688
|
]),
|
|
2637
2689
|
_: 2
|
|
2638
2690
|
}, 1024))), 128))
|
|
@@ -2643,7 +2695,7 @@ const er = {
|
|
|
2643
2695
|
_: 1
|
|
2644
2696
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2645
2697
|
}
|
|
2646
|
-
}),
|
|
2698
|
+
}), Hl = cr, dr = /* @__PURE__ */ H({
|
|
2647
2699
|
__name: "Invite",
|
|
2648
2700
|
props: {
|
|
2649
2701
|
userId: {},
|
|
@@ -2654,41 +2706,41 @@ const er = {
|
|
|
2654
2706
|
},
|
|
2655
2707
|
setup(e) {
|
|
2656
2708
|
ue({ validateOnMount: !1 });
|
|
2657
|
-
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t: c } = le({ useScope: "global" }), u = Ie(), E =
|
|
2709
|
+
const t = e, { validateToken: a, validatePassword: n, resetPasswordByToken: s, signIn: o, loading: r } = se(), l = ve(), { t: c } = le({ useScope: "global" }), u = Ie(), E = ct(), { uiSettings: m, loading: f } = we(), d = ie({
|
|
2658
2710
|
isValid: !1,
|
|
2659
2711
|
tokenIsValid: !1,
|
|
2660
2712
|
errors: [],
|
|
2661
2713
|
password: "",
|
|
2662
2714
|
confirmPassword: ""
|
|
2663
|
-
}), S =
|
|
2715
|
+
}), S = I(() => !E.value || !u.value);
|
|
2664
2716
|
Re(async () => {
|
|
2665
2717
|
d.tokenIsValid = await a(t.userId, t.token), d.tokenIsValid || d.errors.push("Invalid-token");
|
|
2666
2718
|
});
|
|
2667
|
-
const
|
|
2719
|
+
const L = async () => {
|
|
2668
2720
|
if (d.tokenIsValid) {
|
|
2669
2721
|
const w = (await n(d.password)).errors;
|
|
2670
|
-
d.errors = w?.map((
|
|
2722
|
+
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;
|
|
2671
2723
|
}
|
|
2672
2724
|
}, T = async () => {
|
|
2673
2725
|
const w = await s(t.userId, d.password, t.token);
|
|
2674
2726
|
w.succeeded ? (await o(t.userName, d.password)).succeeded && l.push("/") : d.errors = w.errors;
|
|
2675
|
-
}, v =
|
|
2727
|
+
}, v = I(() => ({
|
|
2676
2728
|
logo: f.value ? "" : m.value?.logo || t.logo
|
|
2677
2729
|
}));
|
|
2678
|
-
return (w,
|
|
2730
|
+
return (w, C) => (b(), D(i(_e), {
|
|
2679
2731
|
logo: v.value.logo,
|
|
2680
2732
|
background: e.background,
|
|
2681
2733
|
title: i(c)("INVITATION.TITLE"),
|
|
2682
2734
|
subtitle: i(c)("INVITATION.SUBTITLE")
|
|
2683
2735
|
}, {
|
|
2684
|
-
default:
|
|
2736
|
+
default: h(() => [
|
|
2685
2737
|
i(r) ? (b(), D(i(Ht), {
|
|
2686
2738
|
key: 0,
|
|
2687
2739
|
active: ""
|
|
2688
|
-
})) :
|
|
2689
|
-
|
|
2690
|
-
default:
|
|
2691
|
-
|
|
2740
|
+
})) : q("", !0),
|
|
2741
|
+
_(i(me), null, {
|
|
2742
|
+
default: h(() => [
|
|
2743
|
+
_(i(K), {
|
|
2692
2744
|
class: "tw-mb-4",
|
|
2693
2745
|
label: i(c)("INVITATION.FIELDS.EMAIL.LABEL"),
|
|
2694
2746
|
"model-value": e.userName,
|
|
@@ -2696,20 +2748,20 @@ const er = {
|
|
|
2696
2748
|
autocomplete: "username",
|
|
2697
2749
|
disabled: ""
|
|
2698
2750
|
}, null, 8, ["label", "model-value"]),
|
|
2699
|
-
|
|
2751
|
+
_(i(X), {
|
|
2700
2752
|
label: i(c)("INVITATION.FIELDS.PASSWORD.LABEL"),
|
|
2701
2753
|
"model-value": d.password,
|
|
2702
2754
|
rules: "required",
|
|
2703
2755
|
name: "password"
|
|
2704
2756
|
}, {
|
|
2705
|
-
default:
|
|
2706
|
-
|
|
2757
|
+
default: h(({ field: O, errorMessage: g, handleChange: p, errors: A }) => [
|
|
2758
|
+
_(i(K), re(O, {
|
|
2707
2759
|
ref: "passwordField",
|
|
2708
2760
|
modelValue: d.password,
|
|
2709
2761
|
"onUpdate:modelValue": [
|
|
2710
|
-
|
|
2711
|
-
(
|
|
2712
|
-
|
|
2762
|
+
C[0] || (C[0] = (R) => d.password = R),
|
|
2763
|
+
(R) => {
|
|
2764
|
+
p(R), L();
|
|
2713
2765
|
}
|
|
2714
2766
|
],
|
|
2715
2767
|
class: "tw-mb-4",
|
|
@@ -2725,20 +2777,20 @@ const er = {
|
|
|
2725
2777
|
]),
|
|
2726
2778
|
_: 1
|
|
2727
2779
|
}, 8, ["label", "model-value"]),
|
|
2728
|
-
|
|
2780
|
+
_(i(X), {
|
|
2729
2781
|
label: i(c)("INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL"),
|
|
2730
2782
|
"model-value": d.confirmPassword,
|
|
2731
2783
|
rules: "required",
|
|
2732
2784
|
name: "confirm_password"
|
|
2733
2785
|
}, {
|
|
2734
|
-
default:
|
|
2735
|
-
|
|
2786
|
+
default: h(({ field: O, errorMessage: g, handleChange: p, errors: A }) => [
|
|
2787
|
+
_(i(K), re(O, {
|
|
2736
2788
|
ref: "confirmPasswordField",
|
|
2737
2789
|
modelValue: d.confirmPassword,
|
|
2738
2790
|
"onUpdate:modelValue": [
|
|
2739
|
-
|
|
2740
|
-
(
|
|
2741
|
-
|
|
2791
|
+
C[1] || (C[1] = (R) => d.confirmPassword = R),
|
|
2792
|
+
(R) => {
|
|
2793
|
+
p(R), L();
|
|
2742
2794
|
}
|
|
2743
2795
|
],
|
|
2744
2796
|
class: "tw-mb-6",
|
|
@@ -2750,29 +2802,29 @@ const er = {
|
|
|
2750
2802
|
error: !!A.length,
|
|
2751
2803
|
"error-message": g,
|
|
2752
2804
|
required: "",
|
|
2753
|
-
onKeyup:
|
|
2805
|
+
onKeyup: lt(T, ["enter"])
|
|
2754
2806
|
}), null, 16, ["modelValue", "label", "placeholder", "disabled", "error", "error-message", "onUpdate:modelValue"])
|
|
2755
2807
|
]),
|
|
2756
2808
|
_: 1
|
|
2757
2809
|
}, 8, ["label", "model-value"]),
|
|
2758
|
-
|
|
2810
|
+
_(i($), {
|
|
2759
2811
|
variant: "primary",
|
|
2760
2812
|
class: "tw-w-full",
|
|
2761
2813
|
disabled: i(r) || !d.isValid || !d.tokenIsValid,
|
|
2762
2814
|
loading: i(r),
|
|
2763
2815
|
onClick: T
|
|
2764
2816
|
}, {
|
|
2765
|
-
default:
|
|
2817
|
+
default: h(() => [
|
|
2766
2818
|
M(y(i(c)("INVITATION.ACCEPT_INVITATION")), 1)
|
|
2767
2819
|
]),
|
|
2768
2820
|
_: 1
|
|
2769
2821
|
}, 8, ["disabled", "loading"]),
|
|
2770
|
-
(b(!0), W(ne, null, Fe(d.errors, (
|
|
2771
|
-
key:
|
|
2822
|
+
(b(!0), W(ne, null, Fe(d.errors, (O) => (b(), D(i(Ee), {
|
|
2823
|
+
key: O,
|
|
2772
2824
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2773
2825
|
}, {
|
|
2774
|
-
default:
|
|
2775
|
-
M(y(i(c)(`INVITATION.ERRORS.${
|
|
2826
|
+
default: h(() => [
|
|
2827
|
+
M(y(i(c)(`INVITATION.ERRORS.${O}`)), 1)
|
|
2776
2828
|
]),
|
|
2777
2829
|
_: 2
|
|
2778
2830
|
}, 1024))), 128))
|
|
@@ -2783,10 +2835,10 @@ const er = {
|
|
|
2783
2835
|
_: 1
|
|
2784
2836
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2785
2837
|
}
|
|
2786
|
-
}),
|
|
2838
|
+
}), Gl = dr, Er = {
|
|
2787
2839
|
key: 0,
|
|
2788
2840
|
class: "tw-mb-4"
|
|
2789
|
-
},
|
|
2841
|
+
}, fr = { class: "tw-flex tw-gap-3" }, gr = /* @__PURE__ */ H({
|
|
2790
2842
|
__name: "ChangePassword",
|
|
2791
2843
|
props: {
|
|
2792
2844
|
forced: { type: Boolean },
|
|
@@ -2794,18 +2846,18 @@ const er = {
|
|
|
2794
2846
|
background: {}
|
|
2795
2847
|
},
|
|
2796
2848
|
setup(e) {
|
|
2797
|
-
const t = e, { t: a } = le({ useScope: "global" }), { changeUserPassword: n, loading: s, validatePassword: o, signOut: r } = se(), { uiSettings: l, loading: c } = we(), u =
|
|
2849
|
+
const t = e, { t: a } = le({ useScope: "global" }), { changeUserPassword: n, loading: s, validatePassword: o, signOut: r } = se(), { uiSettings: l, loading: c } = we(), u = I(() => ({
|
|
2798
2850
|
logo: c.value ? "" : l.value?.logo || t.logo
|
|
2799
2851
|
}));
|
|
2800
2852
|
ue({ validateOnMount: !1 });
|
|
2801
|
-
const E = Ie(), m =
|
|
2853
|
+
const E = Ie(), m = ct(), f = ve(), d = ie({
|
|
2802
2854
|
isValid: !1,
|
|
2803
2855
|
errors: [],
|
|
2804
2856
|
currentPassword: "",
|
|
2805
2857
|
password: "",
|
|
2806
2858
|
confirmPassword: ""
|
|
2807
|
-
}), S =
|
|
2808
|
-
async function
|
|
2859
|
+
}), S = I(() => !m.value || !E.value);
|
|
2860
|
+
async function L() {
|
|
2809
2861
|
await r(), await f.push("/login");
|
|
2810
2862
|
}
|
|
2811
2863
|
async function T() {
|
|
@@ -2815,48 +2867,48 @@ const er = {
|
|
|
2815
2867
|
function v() {
|
|
2816
2868
|
be(async () => {
|
|
2817
2869
|
if (d.password || d.confirmPassword) {
|
|
2818
|
-
const w = (await o(d.password)).errors ?? [],
|
|
2870
|
+
const w = (await o(d.password)).errors ?? [], C = ar({
|
|
2819
2871
|
password: d.password,
|
|
2820
2872
|
confirmPassword: d.confirmPassword,
|
|
2821
2873
|
currentPassword: d.currentPassword
|
|
2822
2874
|
});
|
|
2823
|
-
d.errors = [...w, ...
|
|
2875
|
+
d.errors = [...w, ...C], d.isValid = d.errors.length == 0;
|
|
2824
2876
|
}
|
|
2825
2877
|
});
|
|
2826
2878
|
}
|
|
2827
|
-
return (w,
|
|
2879
|
+
return (w, C) => (b(), D(i(_e), {
|
|
2828
2880
|
logo: u.value.logo,
|
|
2829
2881
|
background: e.background,
|
|
2830
2882
|
title: e.forced ? i(a)("COMPONENTS.CHANGE_PASSWORD.TITLE_FORCED") : i(a)("COMPONENTS.CHANGE_PASSWORD.TITLE"),
|
|
2831
2883
|
subtitle: e.forced ? i(a)("COMPONENTS.CHANGE_PASSWORD.SUBTITLE_FORCED") : void 0
|
|
2832
2884
|
}, {
|
|
2833
|
-
default:
|
|
2834
|
-
e.forced ? (b(), W("div",
|
|
2835
|
-
|
|
2885
|
+
default: h(() => [
|
|
2886
|
+
e.forced ? (b(), W("div", Er, [
|
|
2887
|
+
_(i(On), {
|
|
2836
2888
|
variant: "info",
|
|
2837
2889
|
icon: "lucide-lightbulb",
|
|
2838
2890
|
"icon-size": "l"
|
|
2839
2891
|
}, {
|
|
2840
|
-
default:
|
|
2892
|
+
default: h(() => [
|
|
2841
2893
|
M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.FORCED.LABEL")), 1)
|
|
2842
2894
|
]),
|
|
2843
2895
|
_: 1
|
|
2844
2896
|
})
|
|
2845
|
-
])) :
|
|
2846
|
-
|
|
2847
|
-
default:
|
|
2848
|
-
|
|
2897
|
+
])) : q("", !0),
|
|
2898
|
+
_(i(me), null, {
|
|
2899
|
+
default: h(() => [
|
|
2900
|
+
_(i(X), {
|
|
2849
2901
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.LABEL"),
|
|
2850
2902
|
name: "current",
|
|
2851
2903
|
rules: "required|min:6",
|
|
2852
2904
|
"model-value": d.currentPassword
|
|
2853
2905
|
}, {
|
|
2854
|
-
default:
|
|
2855
|
-
|
|
2906
|
+
default: h(({ field: O, errorMessage: g, errors: p }) => [
|
|
2907
|
+
_(i(K), re(O, {
|
|
2856
2908
|
ref: "passwordField",
|
|
2857
2909
|
modelValue: d.currentPassword,
|
|
2858
2910
|
"onUpdate:modelValue": [
|
|
2859
|
-
|
|
2911
|
+
C[0] || (C[0] = (A) => d.currentPassword = A),
|
|
2860
2912
|
v
|
|
2861
2913
|
],
|
|
2862
2914
|
class: "tw-mb-4",
|
|
@@ -2865,24 +2917,24 @@ const er = {
|
|
|
2865
2917
|
type: "password",
|
|
2866
2918
|
autocomplete: "current-password",
|
|
2867
2919
|
required: "",
|
|
2868
|
-
error: !!
|
|
2920
|
+
error: !!p.length,
|
|
2869
2921
|
"error-message": g
|
|
2870
2922
|
}), null, 16, ["modelValue", "label", "placeholder", "error", "error-message"])
|
|
2871
2923
|
]),
|
|
2872
2924
|
_: 1
|
|
2873
2925
|
}, 8, ["label", "model-value"]),
|
|
2874
|
-
|
|
2926
|
+
_(i(X), {
|
|
2875
2927
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.LABEL"),
|
|
2876
2928
|
name: "new_pass",
|
|
2877
2929
|
rules: "required|min:6",
|
|
2878
2930
|
"model-value": d.password
|
|
2879
2931
|
}, {
|
|
2880
|
-
default:
|
|
2881
|
-
|
|
2932
|
+
default: h(({ field: O, errorMessage: g, errors: p }) => [
|
|
2933
|
+
_(i(K), re(O, {
|
|
2882
2934
|
ref: "newPasswordField",
|
|
2883
2935
|
modelValue: d.password,
|
|
2884
2936
|
"onUpdate:modelValue": [
|
|
2885
|
-
|
|
2937
|
+
C[1] || (C[1] = (A) => d.password = A),
|
|
2886
2938
|
v
|
|
2887
2939
|
],
|
|
2888
2940
|
class: "tw-mb-4",
|
|
@@ -2891,24 +2943,24 @@ const er = {
|
|
|
2891
2943
|
type: "password",
|
|
2892
2944
|
autocomplete: "new-password",
|
|
2893
2945
|
required: "",
|
|
2894
|
-
error: !!
|
|
2946
|
+
error: !!p.length,
|
|
2895
2947
|
"error-message": g
|
|
2896
2948
|
}), null, 16, ["modelValue", "label", "placeholder", "error", "error-message"])
|
|
2897
2949
|
]),
|
|
2898
2950
|
_: 1
|
|
2899
2951
|
}, 8, ["label", "model-value"]),
|
|
2900
|
-
|
|
2952
|
+
_(i(X), {
|
|
2901
2953
|
label: i(a)("COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.LABEL"),
|
|
2902
2954
|
name: "confirm_pass",
|
|
2903
2955
|
rules: "required|min:6",
|
|
2904
2956
|
"model-value": d.confirmPassword
|
|
2905
2957
|
}, {
|
|
2906
|
-
default:
|
|
2907
|
-
|
|
2958
|
+
default: h(({ field: O, errorMessage: g, errors: p }) => [
|
|
2959
|
+
_(i(K), re(O, {
|
|
2908
2960
|
ref: "confirmPasswordField",
|
|
2909
2961
|
modelValue: d.confirmPassword,
|
|
2910
2962
|
"onUpdate:modelValue": [
|
|
2911
|
-
|
|
2963
|
+
C[2] || (C[2] = (A) => d.confirmPassword = A),
|
|
2912
2964
|
v
|
|
2913
2965
|
],
|
|
2914
2966
|
class: "tw-mb-6",
|
|
@@ -2917,42 +2969,42 @@ const er = {
|
|
|
2917
2969
|
type: "password",
|
|
2918
2970
|
autocomplete: "new-password",
|
|
2919
2971
|
required: "",
|
|
2920
|
-
error: !!
|
|
2972
|
+
error: !!p.length,
|
|
2921
2973
|
"error-message": g
|
|
2922
2974
|
}), null, 16, ["modelValue", "label", "placeholder", "error", "error-message"])
|
|
2923
2975
|
]),
|
|
2924
2976
|
_: 1
|
|
2925
2977
|
}, 8, ["label", "model-value"]),
|
|
2926
|
-
U("div",
|
|
2927
|
-
|
|
2978
|
+
U("div", fr, [
|
|
2979
|
+
_(i($), {
|
|
2928
2980
|
variant: "secondary",
|
|
2929
2981
|
class: "tw-flex-1",
|
|
2930
|
-
onClick:
|
|
2982
|
+
onClick: L
|
|
2931
2983
|
}, {
|
|
2932
|
-
default:
|
|
2984
|
+
default: h(() => [
|
|
2933
2985
|
M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.CANCEL")), 1)
|
|
2934
2986
|
]),
|
|
2935
2987
|
_: 1
|
|
2936
2988
|
}),
|
|
2937
|
-
|
|
2989
|
+
_(i($), {
|
|
2938
2990
|
variant: "primary",
|
|
2939
2991
|
class: "tw-flex-1",
|
|
2940
2992
|
disabled: i(s) || !d.isValid || S.value,
|
|
2941
2993
|
loading: i(s),
|
|
2942
2994
|
onClick: T
|
|
2943
2995
|
}, {
|
|
2944
|
-
default:
|
|
2996
|
+
default: h(() => [
|
|
2945
2997
|
M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.SAVE")), 1)
|
|
2946
2998
|
]),
|
|
2947
2999
|
_: 1
|
|
2948
3000
|
}, 8, ["disabled", "loading"])
|
|
2949
3001
|
]),
|
|
2950
|
-
(b(!0), W(ne, null, Fe(d.errors, (
|
|
3002
|
+
(b(!0), W(ne, null, Fe(d.errors, (O, g) => (b(), D(i(Ee), {
|
|
2951
3003
|
key: g,
|
|
2952
3004
|
class: "tw-mt-3 tw-text-danger-500"
|
|
2953
3005
|
}, {
|
|
2954
|
-
default:
|
|
2955
|
-
M(y(
|
|
3006
|
+
default: h(() => [
|
|
3007
|
+
M(y(O.code ? i(a)(`COMPONENTS.CHANGE_PASSWORD.ERRORS.${O.code}`) : O), 1)
|
|
2956
3008
|
]),
|
|
2957
3009
|
_: 2
|
|
2958
3010
|
}, 1024))), 128))
|
|
@@ -2963,10 +3015,10 @@ const er = {
|
|
|
2963
3015
|
_: 1
|
|
2964
3016
|
}, 8, ["logo", "background", "title", "subtitle"]));
|
|
2965
3017
|
}
|
|
2966
|
-
}),
|
|
3018
|
+
}), xl = gr, Je = k("use-blade-navigation-adapter"), nt = /* @__PURE__ */ new Set();
|
|
2967
3019
|
function oe(e, t) {
|
|
2968
|
-
if (
|
|
2969
|
-
|
|
3020
|
+
if (nt.has(e)) return;
|
|
3021
|
+
nt.add(e);
|
|
2970
3022
|
const a = `[useBladeNavigation] "${e}" is deprecated.`;
|
|
2971
3023
|
console.warn(t ? `${a} Use ${t} instead.` : a);
|
|
2972
3024
|
}
|
|
@@ -2988,22 +3040,22 @@ function Nt(e, t, a) {
|
|
|
2988
3040
|
};
|
|
2989
3041
|
}
|
|
2990
3042
|
let De, ye;
|
|
2991
|
-
function
|
|
2992
|
-
De = void 0, ye = void 0,
|
|
3043
|
+
function $l() {
|
|
3044
|
+
De = void 0, ye = void 0, nt.clear();
|
|
2993
3045
|
}
|
|
2994
|
-
function
|
|
2995
|
-
const e =
|
|
3046
|
+
function mr() {
|
|
3047
|
+
const e = as, t = ss, a = ns;
|
|
2996
3048
|
if (!e || !t)
|
|
2997
3049
|
throw new Error(
|
|
2998
3050
|
"[useBladeNavigation adapter] BladeStack or BladeMessaging not available. Ensure plugin-v2 is installed before calling useBladeNavigation()."
|
|
2999
3051
|
);
|
|
3000
|
-
const n =
|
|
3052
|
+
const n = ts?.router;
|
|
3001
3053
|
if (!n)
|
|
3002
3054
|
throw new Error("[@vc-shell/framework#useBladeNavigation] Vue Router instance is not available.");
|
|
3003
|
-
return De || (De =
|
|
3055
|
+
return De || (De = I(() => {
|
|
3004
3056
|
const s = e.activeBlade.value?.id;
|
|
3005
3057
|
return e.blades.value.map((o, r) => Nt(o, r, s));
|
|
3006
|
-
})), ye || (ye =
|
|
3058
|
+
})), ye || (ye = I(() => {
|
|
3007
3059
|
const s = e.workspace.value;
|
|
3008
3060
|
if (s)
|
|
3009
3061
|
return Nt(s, 0, e.activeBlade.value?.id);
|
|
@@ -3016,7 +3068,7 @@ function Er() {
|
|
|
3016
3068
|
activeWorkspace: ye
|
|
3017
3069
|
};
|
|
3018
3070
|
}
|
|
3019
|
-
function
|
|
3071
|
+
function Sr(e) {
|
|
3020
3072
|
if (!e)
|
|
3021
3073
|
throw new Error("Blade cannot be null or undefined.");
|
|
3022
3074
|
if (typeof e == "object" && "name" in e && typeof e.name == "string")
|
|
@@ -3028,117 +3080,117 @@ function Dt(e) {
|
|
|
3028
3080
|
const [t, a = ""] = e.replace(/^#/, "").split("?");
|
|
3029
3081
|
return [t, a];
|
|
3030
3082
|
}
|
|
3031
|
-
function
|
|
3083
|
+
function Ar(e) {
|
|
3032
3084
|
const t = Number(e);
|
|
3033
3085
|
return !isNaN(t) && String(t) === e ? t : e;
|
|
3034
3086
|
}
|
|
3035
|
-
function
|
|
3036
|
-
const { bladeStack: e, messaging: t, bladeRegistry: a, router: n, blades: s, activeWorkspace: o } =
|
|
3087
|
+
function Kl() {
|
|
3088
|
+
const { bladeStack: e, messaging: t, bladeRegistry: a, router: n, blades: s, activeWorkspace: o } = mr(), r = nn() ? J(xt, void 0) : void 0;
|
|
3037
3089
|
function l() {
|
|
3038
3090
|
return r ? r.value.id : e.activeBlade.value?.id;
|
|
3039
3091
|
}
|
|
3040
3092
|
function c(g) {
|
|
3041
|
-
const
|
|
3042
|
-
if (g >= 0 && g <
|
|
3043
|
-
return
|
|
3093
|
+
const p = e.blades.value;
|
|
3094
|
+
if (g >= 0 && g < p.length)
|
|
3095
|
+
return p[g].id;
|
|
3044
3096
|
}
|
|
3045
|
-
async function u(g,
|
|
3046
|
-
const
|
|
3047
|
-
name:
|
|
3097
|
+
async function u(g, p) {
|
|
3098
|
+
const R = {
|
|
3099
|
+
name: Sr(g.blade),
|
|
3048
3100
|
param: g.param,
|
|
3049
3101
|
options: g.options,
|
|
3050
3102
|
onOpen: g.onOpen,
|
|
3051
3103
|
onClose: g.onClose,
|
|
3052
3104
|
replaceCurrentBlade: g.replaceCurrentBlade
|
|
3053
3105
|
};
|
|
3054
|
-
if (
|
|
3055
|
-
await e.openWorkspace(
|
|
3106
|
+
if (p)
|
|
3107
|
+
await e.openWorkspace(R);
|
|
3056
3108
|
else if (g.replaceCurrentBlade)
|
|
3057
|
-
await e.coverCurrentBlade(
|
|
3109
|
+
await e.coverCurrentBlade(R);
|
|
3058
3110
|
else {
|
|
3059
3111
|
const P = l();
|
|
3060
|
-
await e.openBlade({ ...
|
|
3112
|
+
await e.openBlade({ ...R, parentId: P });
|
|
3061
3113
|
}
|
|
3062
3114
|
}
|
|
3063
3115
|
async function E(g) {
|
|
3064
3116
|
oe("closeBlade(index)", "useBlade().closeSelf()");
|
|
3065
|
-
const
|
|
3066
|
-
return
|
|
3117
|
+
const p = c(g);
|
|
3118
|
+
return p ? e.closeBlade(p) : (Je.error(`closeBlade: No blade found at index ${g}.`), !1);
|
|
3067
3119
|
}
|
|
3068
3120
|
function m() {
|
|
3069
3121
|
oe("goToRoot()");
|
|
3070
|
-
const g = n.getRoutes(),
|
|
3122
|
+
const g = n.getRoutes(), p = g.find((P) => P.meta?.root), A = p ? g.find((P) => P.aliasOf?.path === p.path) ?? p : void 0;
|
|
3071
3123
|
if (A?.name)
|
|
3072
3124
|
return {
|
|
3073
3125
|
name: A.name,
|
|
3074
3126
|
params: n.currentRoute.value.params
|
|
3075
3127
|
};
|
|
3076
|
-
const
|
|
3077
|
-
return { path:
|
|
3128
|
+
const R = Ln(n);
|
|
3129
|
+
return { path: R ? `/${R}` : "/" };
|
|
3078
3130
|
}
|
|
3079
|
-
async function f(g,
|
|
3131
|
+
async function f(g, p) {
|
|
3080
3132
|
oe("onParentCall(args, index)", "useBlade().callParent(method, args)");
|
|
3081
3133
|
let A;
|
|
3082
|
-
if (
|
|
3134
|
+
if (p !== void 0 ? A = c(p) : A = l(), !A) {
|
|
3083
3135
|
Je.error("onParentCall: Could not determine caller blade.");
|
|
3084
3136
|
return;
|
|
3085
3137
|
}
|
|
3086
3138
|
try {
|
|
3087
|
-
const
|
|
3088
|
-
typeof g.callback == "function" && g.callback(
|
|
3089
|
-
} catch (
|
|
3090
|
-
Je.error(`onParentCall: Failed to call parent method "${g.method}":`,
|
|
3139
|
+
const R = await t.callParent(A, g.method, g.args);
|
|
3140
|
+
typeof g.callback == "function" && g.callback(R);
|
|
3141
|
+
} catch (R) {
|
|
3142
|
+
Je.error(`onParentCall: Failed to call parent method "${g.method}":`, R);
|
|
3091
3143
|
}
|
|
3092
3144
|
}
|
|
3093
3145
|
function d(g) {
|
|
3094
3146
|
oe("onBeforeClose(cb)", "useBlade().onBeforeClose(guard)");
|
|
3095
|
-
const
|
|
3096
|
-
if (!
|
|
3097
|
-
|
|
3147
|
+
const p = l();
|
|
3148
|
+
if (!p) {
|
|
3149
|
+
sn("onBeforeClose: Could not determine current blade.");
|
|
3098
3150
|
return;
|
|
3099
3151
|
}
|
|
3100
|
-
e.registerBeforeClose(
|
|
3152
|
+
e.registerBeforeClose(p, async () => await g() === !1);
|
|
3101
3153
|
}
|
|
3102
3154
|
function S(g) {
|
|
3103
3155
|
return a.getBladeComponent(g);
|
|
3104
3156
|
}
|
|
3105
|
-
function
|
|
3157
|
+
function L(g) {
|
|
3106
3158
|
oe("routeResolver", "plugin-v2 handles URL resolution automatically");
|
|
3107
3159
|
}
|
|
3108
3160
|
function T(g) {
|
|
3109
3161
|
oe("setNavigationQuery");
|
|
3110
|
-
const
|
|
3111
|
-
if (!
|
|
3112
|
-
const A =
|
|
3113
|
-
for (const
|
|
3114
|
-
|
|
3115
|
-
for (const [
|
|
3116
|
-
ce != null && B.set(`${A}_${
|
|
3162
|
+
const p = e.workspace.value;
|
|
3163
|
+
if (!p) return;
|
|
3164
|
+
const A = p.name.toLowerCase(), [R, P] = Dt(window.location.hash), B = new URLSearchParams(P);
|
|
3165
|
+
for (const z of [...B.keys()])
|
|
3166
|
+
z.startsWith(`${A}_`) && B.delete(z);
|
|
3167
|
+
for (const [z, ce] of Object.entries(g))
|
|
3168
|
+
ce != null && B.set(`${A}_${z}`, String(ce));
|
|
3117
3169
|
const V = B.toString();
|
|
3118
|
-
n.options.history.replace(V ? `${
|
|
3170
|
+
n.options.history.replace(V ? `${R}?${V}` : R);
|
|
3119
3171
|
}
|
|
3120
3172
|
function v() {
|
|
3121
3173
|
oe("getNavigationQuery");
|
|
3122
3174
|
const g = e.workspace.value;
|
|
3123
3175
|
if (!g) return;
|
|
3124
|
-
const
|
|
3176
|
+
const p = g.name.toLowerCase(), A = new URLSearchParams(Dt(window.location.hash)[1]), R = {};
|
|
3125
3177
|
for (const [P, B] of A.entries())
|
|
3126
|
-
P.startsWith(`${
|
|
3127
|
-
return Object.keys(
|
|
3178
|
+
P.startsWith(`${p}_`) && (R[P.replace(`${p}_`, "")] = Ar(B));
|
|
3179
|
+
return Object.keys(R).length > 0 ? R : void 0;
|
|
3128
3180
|
}
|
|
3129
|
-
function w(g,
|
|
3181
|
+
function w(g, p) {
|
|
3130
3182
|
const A = c(g);
|
|
3131
|
-
A && e.setBladeError(A,
|
|
3183
|
+
A && e.setBladeError(A, p);
|
|
3132
3184
|
}
|
|
3133
|
-
function
|
|
3134
|
-
const
|
|
3135
|
-
|
|
3185
|
+
function C(g) {
|
|
3186
|
+
const p = c(g);
|
|
3187
|
+
p && e.clearBladeError(p);
|
|
3136
3188
|
}
|
|
3137
|
-
const
|
|
3189
|
+
const O = I(() => {
|
|
3138
3190
|
if (!r) return;
|
|
3139
3191
|
const g = r.value;
|
|
3140
3192
|
return {
|
|
3141
|
-
idx: e.blades.value.findIndex((
|
|
3193
|
+
idx: e.blades.value.findIndex((R) => R.id === g.id),
|
|
3142
3194
|
instance: g.title != null ? { title: g.title } : void 0,
|
|
3143
3195
|
isVisible: g.visible,
|
|
3144
3196
|
error: N(g.error ? new Error(String(g.error)) : null)
|
|
@@ -3153,12 +3205,12 @@ function Gl() {
|
|
|
3153
3205
|
onParentCall: f,
|
|
3154
3206
|
onBeforeClose: d,
|
|
3155
3207
|
resolveBladeByName: S,
|
|
3156
|
-
routeResolver:
|
|
3208
|
+
routeResolver: L,
|
|
3157
3209
|
setNavigationQuery: T,
|
|
3158
3210
|
getNavigationQuery: v,
|
|
3159
3211
|
setBladeError: w,
|
|
3160
|
-
clearBladeError:
|
|
3161
|
-
currentBladeNavigationData:
|
|
3212
|
+
clearBladeError: C,
|
|
3213
|
+
currentBladeNavigationData: O
|
|
3162
3214
|
};
|
|
3163
3215
|
}
|
|
3164
3216
|
function Ce(e) {
|
|
@@ -3174,7 +3226,7 @@ function Ue(e, t) {
|
|
|
3174
3226
|
if (!Ue(a[o], n[o])) return !1;
|
|
3175
3227
|
return !0;
|
|
3176
3228
|
}
|
|
3177
|
-
function
|
|
3229
|
+
function zl(e) {
|
|
3178
3230
|
const {
|
|
3179
3231
|
data: t,
|
|
3180
3232
|
canSaveOverride: a,
|
|
@@ -3182,7 +3234,7 @@ function xl(e) {
|
|
|
3182
3234
|
autoBeforeUnload: s = !0,
|
|
3183
3235
|
closeConfirmMessage: o,
|
|
3184
3236
|
onRevert: r
|
|
3185
|
-
} = e, { meta: l, setFieldError: c, errorBag: u } = ue({ validateOnMount: !1 }), E = N(
|
|
3237
|
+
} = e, { meta: l, setFieldError: c, errorBag: u } = ue({ validateOnMount: !1 }), E = N(Q(t.value)), m = N(!1);
|
|
3186
3238
|
ae(
|
|
3187
3239
|
t,
|
|
3188
3240
|
(w) => {
|
|
@@ -3190,9 +3242,9 @@ function xl(e) {
|
|
|
3190
3242
|
},
|
|
3191
3243
|
{ deep: !0 }
|
|
3192
3244
|
);
|
|
3193
|
-
const f = N(!1), d =
|
|
3194
|
-
function
|
|
3195
|
-
E.value =
|
|
3245
|
+
const f = N(!1), d = I(() => f.value && m.value), S = I(() => !(!f.value || !l.value.valid || !m.value || a && !a.value));
|
|
3246
|
+
function L() {
|
|
3247
|
+
E.value = Q(t.value), m.value = !1, f.value = !0;
|
|
3196
3248
|
}
|
|
3197
3249
|
function T() {
|
|
3198
3250
|
f.value = !0, m.value = !Ue(t.value, E.value);
|
|
@@ -3200,33 +3252,33 @@ function xl(e) {
|
|
|
3200
3252
|
function v() {
|
|
3201
3253
|
if (r)
|
|
3202
3254
|
return r();
|
|
3203
|
-
t.value =
|
|
3255
|
+
t.value = Q(E.value);
|
|
3204
3256
|
}
|
|
3205
|
-
if (s &&
|
|
3206
|
-
const { onBeforeClose: w } =
|
|
3257
|
+
if (s && zs(d), n !== !1) {
|
|
3258
|
+
const { onBeforeClose: w } = ut(), { showConfirmation: C } = Rn();
|
|
3207
3259
|
w(async () => {
|
|
3208
|
-
let
|
|
3209
|
-
if (typeof n == "object" ?
|
|
3260
|
+
let O;
|
|
3261
|
+
if (typeof n == "object" ? O = n.value && d.value : O = d.value, O) {
|
|
3210
3262
|
const g = o ? Mt(o) : "You have unsaved changes. Are you sure you want to leave?";
|
|
3211
|
-
return !await
|
|
3263
|
+
return !await C(g);
|
|
3212
3264
|
}
|
|
3213
3265
|
return !1;
|
|
3214
3266
|
});
|
|
3215
3267
|
}
|
|
3216
|
-
return Bt(
|
|
3217
|
-
setBaseline:
|
|
3268
|
+
return Bt(yn, { isModified: d, canSave: S }), {
|
|
3269
|
+
setBaseline: L,
|
|
3218
3270
|
markReady: T,
|
|
3219
3271
|
revert: v,
|
|
3220
3272
|
canSave: S,
|
|
3221
3273
|
isModified: d,
|
|
3222
|
-
isReady:
|
|
3274
|
+
isReady: I(() => f.value),
|
|
3223
3275
|
formMeta: l,
|
|
3224
3276
|
setFieldError: c,
|
|
3225
3277
|
errorBag: u
|
|
3226
3278
|
};
|
|
3227
3279
|
}
|
|
3228
|
-
const Be = 14,
|
|
3229
|
-
function
|
|
3280
|
+
const Be = 14, Na = 3;
|
|
3281
|
+
function pr(e, t, a) {
|
|
3230
3282
|
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, E) => {
|
|
3231
3283
|
const m = n - 1 - E;
|
|
3232
3284
|
let f = 0;
|
|
@@ -3249,10 +3301,10 @@ function gr(e, t, a) {
|
|
|
3249
3301
|
const m = u * Be + E, f = s(e[0]);
|
|
3250
3302
|
c = m + f;
|
|
3251
3303
|
} else
|
|
3252
|
-
c = r + Math.min(n - 1,
|
|
3304
|
+
c = r + Math.min(n - 1, Na - 1) * Be;
|
|
3253
3305
|
return { toasts: l, frontHeight: r, groupHeight: c };
|
|
3254
3306
|
}
|
|
3255
|
-
function
|
|
3307
|
+
function Tr() {
|
|
3256
3308
|
const e = N(!1), t = N(!1);
|
|
3257
3309
|
let a = null;
|
|
3258
3310
|
function n() {
|
|
@@ -3289,7 +3341,7 @@ function Sr() {
|
|
|
3289
3341
|
setInteracting: u
|
|
3290
3342
|
};
|
|
3291
3343
|
}
|
|
3292
|
-
const
|
|
3344
|
+
const hr = H({
|
|
3293
3345
|
name: "NotificationContainer",
|
|
3294
3346
|
inheritAttrs: !1,
|
|
3295
3347
|
props: {
|
|
@@ -3345,7 +3397,7 @@ const Ar = H({
|
|
|
3345
3397
|
}
|
|
3346
3398
|
},
|
|
3347
3399
|
setup(e) {
|
|
3348
|
-
const { notificationContainers: t, actions: a } =
|
|
3400
|
+
const { notificationContainers: t, actions: a } = J(Zt), n = I(() => t[e.position].value || []), {
|
|
3349
3401
|
expanded: s,
|
|
3350
3402
|
heightsMap: o,
|
|
3351
3403
|
expandStack: r,
|
|
@@ -3354,7 +3406,7 @@ const Ar = H({
|
|
|
3354
3406
|
forgetHeight: u,
|
|
3355
3407
|
clearHeights: E,
|
|
3356
3408
|
setInteracting: m
|
|
3357
|
-
} =
|
|
3409
|
+
} = Tr();
|
|
3358
3410
|
function f(T) {
|
|
3359
3411
|
return typeof T == "object" && (!!T?.render || !!T?.setup);
|
|
3360
3412
|
}
|
|
@@ -3364,18 +3416,18 @@ const Ar = H({
|
|
|
3364
3416
|
function S() {
|
|
3365
3417
|
a.clear(), E();
|
|
3366
3418
|
}
|
|
3367
|
-
const
|
|
3419
|
+
const L = I(() => (e.position || "top-center").startsWith("top"));
|
|
3368
3420
|
return () => {
|
|
3369
|
-
const T = n.value, v = T.length, w = s.value || v <= 1,
|
|
3421
|
+
const T = n.value, v = T.length, w = s.value || v <= 1, C = v > 1, O = pr(
|
|
3370
3422
|
T.map((A) => A.notificationId),
|
|
3371
3423
|
o,
|
|
3372
3424
|
w
|
|
3373
|
-
), g = T.map((A,
|
|
3374
|
-
const { sonnerIndex: P, zIndex: B, offset: V, initialHeight:
|
|
3425
|
+
), g = T.map((A, R) => {
|
|
3426
|
+
const { sonnerIndex: P, zIndex: B, offset: V, initialHeight: z } = O.toasts[R], ce = {
|
|
3375
3427
|
"--toasts-before": P,
|
|
3376
3428
|
"--z-index": B,
|
|
3377
3429
|
"--offset": `${V}px`,
|
|
3378
|
-
"--initial-height":
|
|
3430
|
+
"--initial-height": z ? `${z}px` : "auto"
|
|
3379
3431
|
}, Ae = {
|
|
3380
3432
|
...A,
|
|
3381
3433
|
onClose: d,
|
|
@@ -3383,19 +3435,19 @@ const Ar = H({
|
|
|
3383
3435
|
toastIndex: P,
|
|
3384
3436
|
toastsCount: v,
|
|
3385
3437
|
expanded: w,
|
|
3386
|
-
visibleToasts:
|
|
3438
|
+
visibleToasts: Na,
|
|
3387
3439
|
style: ce
|
|
3388
|
-
},
|
|
3389
|
-
return ee("li", { key: A.notificationId, style: { display: "contents" } }, [
|
|
3440
|
+
}, Da = A.content && f(A.content) ? ee(gt, { ...Ae, content: ee(on(A.content)) }) : ee(gt, Ae);
|
|
3441
|
+
return ee("li", { key: A.notificationId, style: { display: "contents" } }, [Da]);
|
|
3390
3442
|
});
|
|
3391
|
-
let
|
|
3392
|
-
return
|
|
3443
|
+
let p = null;
|
|
3444
|
+
return C && (p = ee(
|
|
3393
3445
|
"li",
|
|
3394
3446
|
{
|
|
3395
3447
|
class: "notification__clear-all",
|
|
3396
3448
|
style: {
|
|
3397
3449
|
position: "absolute",
|
|
3398
|
-
[
|
|
3450
|
+
[L.value ? "top" : "bottom"]: "0",
|
|
3399
3451
|
left: "var(--width, 356px)",
|
|
3400
3452
|
"margin-left": "8px",
|
|
3401
3453
|
"list-style": "none",
|
|
@@ -3412,8 +3464,8 @@ const Ar = H({
|
|
|
3412
3464
|
onClick: S
|
|
3413
3465
|
},
|
|
3414
3466
|
[
|
|
3415
|
-
ee(
|
|
3416
|
-
|
|
3467
|
+
ee(Bn, { icon: "lucide-x", size: "xs", "aria-hidden": "true" }),
|
|
3468
|
+
x.global.t("CORE.NOTIFICATIONS.CLEAR_ALL")
|
|
3417
3469
|
]
|
|
3418
3470
|
)
|
|
3419
3471
|
]
|
|
@@ -3423,12 +3475,12 @@ const Ar = H({
|
|
|
3423
3475
|
class: "notification__toast-group",
|
|
3424
3476
|
"data-expanded": String(w),
|
|
3425
3477
|
"data-position": e.position || "top-center",
|
|
3426
|
-
"data-y-position":
|
|
3478
|
+
"data-y-position": L.value ? "top" : "bottom",
|
|
3427
3479
|
style: {
|
|
3428
|
-
"--front-toast-height": `${
|
|
3480
|
+
"--front-toast-height": `${O.frontHeight}px`,
|
|
3429
3481
|
"--gap": `${Be}px`,
|
|
3430
3482
|
width: "var(--width, 356px)",
|
|
3431
|
-
height: `${
|
|
3483
|
+
height: `${O.groupHeight}px`
|
|
3432
3484
|
},
|
|
3433
3485
|
onMouseenter: r,
|
|
3434
3486
|
onMouseleave: l,
|
|
@@ -3439,44 +3491,44 @@ const Ar = H({
|
|
|
3439
3491
|
m(!1);
|
|
3440
3492
|
}
|
|
3441
3493
|
},
|
|
3442
|
-
[...g,
|
|
3494
|
+
[...g, p]
|
|
3443
3495
|
);
|
|
3444
3496
|
};
|
|
3445
3497
|
}
|
|
3446
|
-
}),
|
|
3498
|
+
}), Or = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3447
3499
|
__proto__: null,
|
|
3448
|
-
default:
|
|
3500
|
+
default: hr
|
|
3449
3501
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
3450
|
-
function
|
|
3451
|
-
t.i18n?.locale && (
|
|
3452
|
-
const a =
|
|
3453
|
-
e.provide(
|
|
3502
|
+
function Lr(e, t) {
|
|
3503
|
+
t.i18n?.locale && (x.global.locale.value = t.i18n.locale), t.i18n?.fallbackLocale && (x.global.fallbackLocale.value = t.i18n.fallbackLocale), e.use(x);
|
|
3504
|
+
const a = _n();
|
|
3505
|
+
e.provide(Mn, a);
|
|
3454
3506
|
const { resolveCamelCaseLocale: n } = a;
|
|
3455
3507
|
e.config.globalProperties.$mergeLocaleMessage = (s, o) => {
|
|
3456
|
-
|
|
3457
|
-
}, Object.entries(
|
|
3458
|
-
|
|
3508
|
+
x.global.mergeLocaleMessage(n(s), o);
|
|
3509
|
+
}, Object.entries(Vo).forEach(([s, o]) => {
|
|
3510
|
+
x.global.mergeLocaleMessage(n(s), o);
|
|
3459
3511
|
});
|
|
3460
3512
|
}
|
|
3461
|
-
function
|
|
3462
|
-
const t =
|
|
3513
|
+
function Rr(e) {
|
|
3514
|
+
const t = Ba({
|
|
3463
3515
|
phone: 480,
|
|
3464
3516
|
desktop: 1024
|
|
3465
3517
|
});
|
|
3466
|
-
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.greater("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(
|
|
3518
|
+
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.greater("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(kn, e.config.globalProperties.$isPhone), e.provide(Vn, e.config.globalProperties.$isTablet), e.provide(Un, e.config.globalProperties.$isMobile), e.provide(Fn, e.config.globalProperties.$isDesktop), e.provide(Wn, e.config.globalProperties.$isTouch);
|
|
3467
3519
|
}
|
|
3468
|
-
function
|
|
3469
|
-
e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(
|
|
3520
|
+
function _r(e) {
|
|
3521
|
+
e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(Hn, e.config.globalProperties.bladeRoutes);
|
|
3470
3522
|
}
|
|
3471
|
-
function
|
|
3472
|
-
e.provide(Gt,
|
|
3473
|
-
const t =
|
|
3523
|
+
function Ir(e) {
|
|
3524
|
+
e.provide(Gt, Ha()), e.provide(Gn, Ga()), e.provide(xn, xa()), e.provide($n, $a()), e.provide(Kn, Ka()), e.provide(zn, ge());
|
|
3525
|
+
const t = In(e);
|
|
3474
3526
|
e.provide(Ut, t);
|
|
3475
3527
|
}
|
|
3476
|
-
function
|
|
3477
|
-
|
|
3528
|
+
function vr(e, t) {
|
|
3529
|
+
Ko(), e.use(Is, { router: t.router }), e.use(Ns), e.use(Ao), e.use(Lo), e.use(Os), e.use(hs), e.use(os), e.use(jn, t.aiAgent);
|
|
3478
3530
|
}
|
|
3479
|
-
function
|
|
3531
|
+
function wr(e, t) {
|
|
3480
3532
|
if (!t.applicationInsights?.instrumentationKey) return;
|
|
3481
3533
|
const a = {
|
|
3482
3534
|
appInsightsConfig: {
|
|
@@ -3489,9 +3541,9 @@ function _r(e, t) {
|
|
|
3489
3541
|
cloudRole: t.applicationInsights?.cloudRole,
|
|
3490
3542
|
cloudRoleInstance: t.applicationInsights?.cloudRoleInstance
|
|
3491
3543
|
};
|
|
3492
|
-
e.provide(
|
|
3544
|
+
e.provide(za, a);
|
|
3493
3545
|
}
|
|
3494
|
-
function
|
|
3546
|
+
function Cr(e, t) {
|
|
3495
3547
|
if (!t.applicationInsights?.instrumentationKey) return;
|
|
3496
3548
|
const a = {
|
|
3497
3549
|
appInsightsConfig: {
|
|
@@ -3504,10 +3556,10 @@ function Ir(e, t) {
|
|
|
3504
3556
|
cloudRole: t.applicationInsights?.cloudRole,
|
|
3505
3557
|
cloudRoleInstance: t.applicationInsights?.cloudRoleInstance
|
|
3506
3558
|
};
|
|
3507
|
-
e.use(
|
|
3508
|
-
const n = e.runWithContext(() =>
|
|
3509
|
-
e.provide(
|
|
3510
|
-
const { setupPageTracking: s } =
|
|
3559
|
+
e.use(rs, a);
|
|
3560
|
+
const n = e.runWithContext(() => is());
|
|
3561
|
+
e.provide(qa, n), e.runWithContext(() => {
|
|
3562
|
+
const { setupPageTracking: s } = Ya();
|
|
3511
3563
|
t.router.beforeEach((o) => {
|
|
3512
3564
|
s.beforeEach({ name: o.name });
|
|
3513
3565
|
}), t.router.afterEach((o) => {
|
|
@@ -3515,7 +3567,7 @@ function Ir(e, t) {
|
|
|
3515
3567
|
});
|
|
3516
3568
|
});
|
|
3517
3569
|
}
|
|
3518
|
-
function
|
|
3570
|
+
function Pr(e) {
|
|
3519
3571
|
const t = (a) => {
|
|
3520
3572
|
let n = {};
|
|
3521
3573
|
return Object.keys(a.params).length > 0 && (n = Object.fromEntries(Object.entries(a.params).filter(([s]) => s !== "pathMatch"))), n;
|
|
@@ -3530,11 +3582,11 @@ function vr(e) {
|
|
|
3530
3582
|
return localStorage.setItem("redirectAfterLogin", a.fullPath), { name: "Login" };
|
|
3531
3583
|
}
|
|
3532
3584
|
}), e.beforeEach((a, n) => {
|
|
3533
|
-
const { hasAccess: s } =
|
|
3585
|
+
const { hasAccess: s } = st();
|
|
3534
3586
|
if (a.meta.permissions) {
|
|
3535
3587
|
if (s(a.meta.permissions)) return !0;
|
|
3536
3588
|
{
|
|
3537
|
-
|
|
3589
|
+
Y.error(x.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), {
|
|
3538
3590
|
timeout: 3e3
|
|
3539
3591
|
});
|
|
3540
3592
|
const o = t(a);
|
|
@@ -3543,421 +3595,421 @@ function vr(e) {
|
|
|
3543
3595
|
} else return !0;
|
|
3544
3596
|
});
|
|
3545
3597
|
}
|
|
3546
|
-
const
|
|
3598
|
+
const ql = {
|
|
3547
3599
|
install(e, t) {
|
|
3548
|
-
|
|
3549
|
-
performance.mark("vc:deferred-plugins-start"),
|
|
3600
|
+
Yo(), Wa().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch = No(t.router), Lr(e, t), Rr(e), _r(e), Ir(e), vr(e, t), wr(e, t), Uo(e), typeof window < "u" && (e.runWithContext(() => ea()), e.runWithContext(() => aa())), Pr(t.router), setTimeout(() => {
|
|
3601
|
+
performance.mark("vc:deferred-plugins-start"), Cr(e, t), performance.mark("vc:deferred-plugins-done");
|
|
3550
3602
|
}, 0);
|
|
3551
3603
|
}
|
|
3552
3604
|
};
|
|
3553
3605
|
export {
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3606
|
+
xf as AI_AGENT_URL_ENV_KEY,
|
|
3607
|
+
$E as AiAgentServiceKey,
|
|
3608
|
+
KE as ApiException,
|
|
3609
|
+
zE as AppBarMobileButtonsServiceKey,
|
|
3610
|
+
xn as AppBarWidgetServiceKey,
|
|
3611
|
+
qa as AppInsightsInstanceKey,
|
|
3612
|
+
za as AppInsightsOptionsKey,
|
|
3613
|
+
qE as AppManifestClient,
|
|
3614
|
+
YE as AppPlacement,
|
|
3615
|
+
jE as AppRootElementKey,
|
|
3616
|
+
ZE as AppsClient,
|
|
3617
|
+
Ao as AssetsDetailsModule,
|
|
3618
|
+
ho as AssetsManager,
|
|
3619
|
+
Lo as AssetsManagerModule,
|
|
3620
|
+
XE as AuthApiBase,
|
|
3621
|
+
QE as AuthorizationClient,
|
|
3622
|
+
Zl as BUILTIN_CELL_TYPES,
|
|
3623
|
+
JE as BladeBackButtonKey,
|
|
3624
|
+
ef as BladeBannersKey,
|
|
3573
3625
|
$t as BladeContextKey,
|
|
3574
|
-
|
|
3626
|
+
tf as BladeDataKey,
|
|
3575
3627
|
xt as BladeDescriptorKey,
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3628
|
+
Xl as BladeError,
|
|
3629
|
+
yn as BladeFormKey,
|
|
3630
|
+
af as BladeLoadingKey,
|
|
3631
|
+
nf as BladeMaximizedKey,
|
|
3632
|
+
Cn as BladeMessagingKey,
|
|
3633
|
+
sf as BladeRenderingStateKey,
|
|
3634
|
+
Hn as BladeRoutesKey,
|
|
3635
|
+
wn as BladeStackKey,
|
|
3636
|
+
Ql as ButtonGroupKey,
|
|
3637
|
+
vs as COMPONENT_DEFAULTS,
|
|
3638
|
+
Jl as CellDate,
|
|
3639
|
+
eu as CellDateAgo,
|
|
3640
|
+
tu as CellDefault,
|
|
3641
|
+
au as CellEditableWrapper,
|
|
3642
|
+
nu as CellHtml,
|
|
3643
|
+
su as CellImage,
|
|
3644
|
+
ou as CellLink,
|
|
3645
|
+
ru as CellMoney,
|
|
3646
|
+
iu as CellNumber,
|
|
3647
|
+
lu as CellStatus,
|
|
3648
|
+
uu as CellStatusIcon,
|
|
3649
|
+
of as ChangeLogClient,
|
|
3650
|
+
Rc as ChangePassword,
|
|
3651
|
+
_c as ChangePasswordButton,
|
|
3652
|
+
xl as ChangePasswordPage,
|
|
3653
|
+
hg as ChartContainer,
|
|
3654
|
+
Og as ChartLegend,
|
|
3655
|
+
Lg as ChartTooltip,
|
|
3656
|
+
rf as CloseSettingsMenuKey,
|
|
3657
|
+
Ic as ColumnCollector,
|
|
3658
|
+
$f as DEFAULT_AI_AGENT_CONFIG,
|
|
3659
|
+
Rg as DashboardBarChart,
|
|
3660
|
+
_g as DashboardDonutChart,
|
|
3661
|
+
rg as DashboardFeedList,
|
|
3662
|
+
ig as DashboardFeedRow,
|
|
3663
|
+
Ig as DashboardLineChart,
|
|
3664
|
+
lf as DashboardServiceKey,
|
|
3665
|
+
lg as DashboardStatItem,
|
|
3666
|
+
ug as DashboardWidgetCard,
|
|
3667
|
+
uf as DeveloperToolsClient,
|
|
3668
|
+
cf as DiagnosticsClient,
|
|
3669
|
+
cu as DisplayableError,
|
|
3670
|
+
cg as DraggableDashboard,
|
|
3671
|
+
df as DynamicModulesKey,
|
|
3672
|
+
Ef as DynamicPropertiesClient,
|
|
3673
|
+
ff as DynamicPropertyValueType,
|
|
3674
|
+
Kf as EMBEDDED_TO_HOST_MESSAGE_TYPES,
|
|
3675
|
+
gf as EmbeddedModeKey,
|
|
3676
|
+
mf as EntryState,
|
|
3677
|
+
vc as ErrorInterceptor,
|
|
3678
|
+
Ss as ExtensionPoint,
|
|
3679
|
+
wg as ExtensionPoints,
|
|
3680
|
+
Jo as ExternalProviders,
|
|
3681
|
+
Sf as ExternalSignInClient,
|
|
3682
|
+
du as FALLBACK_BLADE_ID,
|
|
3683
|
+
Wl as ForgotPassword,
|
|
3684
|
+
Eu as FrameworkError,
|
|
3685
|
+
zf as HOST_TO_EMBEDDED_MESSAGE_TYPES,
|
|
3634
3686
|
yt as InjectionError,
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3687
|
+
Af as InternalRoutesKey,
|
|
3688
|
+
Gl as Invite,
|
|
3689
|
+
Fn as IsDesktopKey,
|
|
3690
|
+
Un as IsMobileKey,
|
|
3691
|
+
kn as IsPhoneKey,
|
|
3692
|
+
Vn as IsTabletKey,
|
|
3693
|
+
Wn as IsTouchKey,
|
|
3694
|
+
pf as JobsClient,
|
|
3695
|
+
Tf as JsonValueKind,
|
|
3696
|
+
dg as LAYOUT_STORAGE_KEY,
|
|
3697
|
+
wc as LanguageSelector,
|
|
3698
|
+
Mn as LanguageServiceKey,
|
|
3699
|
+
hf as LocalizableSettingsClient,
|
|
3700
|
+
Fl as Login,
|
|
3701
|
+
Cc as LogoutButton,
|
|
3702
|
+
Pc as MenuBurgerIcon,
|
|
3703
|
+
$n as MenuServiceKey,
|
|
3704
|
+
fu as ModuleLoadError,
|
|
3705
|
+
Of as ModulesClient,
|
|
3706
|
+
Lf as ModulesLoadErrorKey,
|
|
3707
|
+
Rf as ModulesReadyKey,
|
|
3708
|
+
_f as NOOP_URL_SINK,
|
|
3709
|
+
hr as NotificationContainer,
|
|
3710
|
+
rn as NotificationContextKey,
|
|
3711
|
+
bc as NotificationDropdown,
|
|
3712
|
+
zn as NotificationStoreKey,
|
|
3713
|
+
Nc as NotificationTemplate,
|
|
3714
|
+
If as OAuthAppsClient,
|
|
3715
|
+
vf as ProgressMessageLevel,
|
|
3716
|
+
wf as PushNotificationClient,
|
|
3717
|
+
gu as RegistrationError,
|
|
3718
|
+
Hl as ResetPassword,
|
|
3719
|
+
Dc as SCHEDULER_ZOOM_LEVELS,
|
|
3720
|
+
Cf as SecurityClient,
|
|
3721
|
+
mu as ServiceError,
|
|
3722
|
+
Pn as SettingClient,
|
|
3723
|
+
Pf as SettingValueType,
|
|
3724
|
+
yc as SettingsMenu,
|
|
3725
|
+
Bc as SettingsMenuItem,
|
|
3726
|
+
Kn as SettingsMenuServiceKey,
|
|
3727
|
+
bf as SettingsV2Client,
|
|
3728
|
+
Nf as ShellIndicatorsKey,
|
|
3729
|
+
Ul as Sidebar,
|
|
3730
|
+
Df as SortDirection,
|
|
3731
|
+
Mc as Table,
|
|
3732
|
+
kc as TableBody,
|
|
3733
|
+
Vc as TableCell,
|
|
3734
|
+
Uc as TableCheckbox,
|
|
3735
|
+
Fc as TableColumnSwitcher,
|
|
3736
|
+
Wc as TableEmpty,
|
|
3737
|
+
Hc as TableFooter,
|
|
3738
|
+
Gc as TableGroupRow,
|
|
3739
|
+
xc as TableHead,
|
|
3740
|
+
$c as TableHeader,
|
|
3741
|
+
Kc as TableRow,
|
|
3742
|
+
zc as TableRowActions,
|
|
3743
|
+
qc as TableSearchHeader,
|
|
3744
|
+
Yc as TableSelectAllBar,
|
|
3745
|
+
jc as ThemeSelector,
|
|
3746
|
+
Gn as ToolbarServiceKey,
|
|
3747
|
+
Zc as UserDropdownButton,
|
|
3748
|
+
Su as ValidationError,
|
|
3749
|
+
Xc as VcAccordion,
|
|
3750
|
+
Qc as VcAccordionItem,
|
|
3751
|
+
qf as VcAiAgentPanel,
|
|
3752
|
+
Jc as VcApp,
|
|
3753
|
+
ed as VcAppBarMobileActions,
|
|
3754
|
+
td as VcAppBarOverlay,
|
|
3755
|
+
ad as VcAppBarWidgetContent,
|
|
3756
|
+
nd as VcAppBarWidgetItem,
|
|
3757
|
+
sd as VcAppBarWidgetsMenu,
|
|
3758
|
+
od as VcAppDesktopLayout,
|
|
3759
|
+
rd as VcAppMenu,
|
|
3760
|
+
id as VcAppMenuSidebar,
|
|
3761
|
+
ld as VcAppMobileLayout,
|
|
3762
|
+
ud as VcAppSidebarCollapseButton,
|
|
3763
|
+
cd as VcAppSidebarContent,
|
|
3764
|
+
dd as VcAppSidebarHeader,
|
|
3713
3765
|
_e as VcAuthLayout,
|
|
3714
|
-
|
|
3715
|
-
|
|
3766
|
+
Ed as VcBadge,
|
|
3767
|
+
On as VcBanner,
|
|
3716
3768
|
Wt as VcBlade,
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3769
|
+
fd as VcBladeNavigation,
|
|
3770
|
+
Is as VcBladeNavigationComponent,
|
|
3771
|
+
gd as VcBladeNavigationV2,
|
|
3772
|
+
md as VcBladeSlot,
|
|
3773
|
+
Sd as VcBreadcrumbs,
|
|
3774
|
+
$ as VcButton,
|
|
3775
|
+
Ad as VcButtonGroup,
|
|
3776
|
+
pd as VcCard,
|
|
3777
|
+
Td as VcCheckbox,
|
|
3778
|
+
hd as VcCheckboxGroup,
|
|
3779
|
+
Od as VcCol,
|
|
3780
|
+
Au as VcColorInput,
|
|
3729
3781
|
pe as VcColumn,
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3782
|
+
An as VcContainer,
|
|
3783
|
+
Tn as VcDataTable,
|
|
3784
|
+
pu as VcDatePicker,
|
|
3785
|
+
Ld as VcDropdown,
|
|
3786
|
+
Rd as VcDropdownItem,
|
|
3787
|
+
_d as VcDynamicProperty,
|
|
3788
|
+
Id as VcEditor,
|
|
3789
|
+
vd as VcEnvironmentBanner,
|
|
3738
3790
|
$e as VcField,
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3791
|
+
wd as VcFileUpload,
|
|
3792
|
+
me as VcForm,
|
|
3793
|
+
Cd as VcGallery,
|
|
3742
3794
|
Ee as VcHint,
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3795
|
+
Bn as VcIcon,
|
|
3796
|
+
ot as VcImage,
|
|
3797
|
+
Pd as VcImageTile,
|
|
3798
|
+
bd as VcImageUpload,
|
|
3799
|
+
K as VcInput,
|
|
3800
|
+
Tu as VcInputCurrency,
|
|
3801
|
+
hu as VcInputDropdown,
|
|
3802
|
+
Nd as VcInputGroup,
|
|
3803
|
+
Ou as VcLabel,
|
|
3804
|
+
Dd as VcLanguageSelector,
|
|
3805
|
+
Lu as VcLink,
|
|
3754
3806
|
Ht as VcLoading,
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3807
|
+
yd as VcMenu,
|
|
3808
|
+
Bd as VcMenuExpandedKey,
|
|
3809
|
+
Md as VcMenuGroup,
|
|
3810
|
+
kd as VcMenuItem,
|
|
3811
|
+
Vd as VcMultivalue,
|
|
3812
|
+
Ud as VcPagination,
|
|
3813
|
+
Fd as VcPopover,
|
|
3814
|
+
gn as VcPopup,
|
|
3815
|
+
Wd as VcProgress,
|
|
3816
|
+
Hd as VcRadioButton,
|
|
3817
|
+
Gd as VcRadioGroup,
|
|
3818
|
+
xd as VcRating,
|
|
3819
|
+
$d as VcRow,
|
|
3820
|
+
Kd as VcScheduler,
|
|
3821
|
+
Ru as VcScrollableContainer,
|
|
3822
|
+
_u as VcSelect,
|
|
3823
|
+
hn as VcSidebar,
|
|
3824
|
+
Iu as VcSkeleton,
|
|
3825
|
+
zd as VcSlider,
|
|
3826
|
+
vu as VcStatus,
|
|
3827
|
+
wu as VcStatusIcon,
|
|
3828
|
+
qd as VcSwitch,
|
|
3829
|
+
Yd as VcTable,
|
|
3830
|
+
pn as VcTextarea,
|
|
3831
|
+
gt as VcToast,
|
|
3832
|
+
yf as VcTooltip,
|
|
3833
|
+
jd as VcVideo,
|
|
3834
|
+
Zd as VcWidget,
|
|
3835
|
+
bn as WidgetScopeKey,
|
|
3784
3836
|
Gt as WidgetServiceKey,
|
|
3785
3837
|
Ft as __registerBladeConfig,
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3838
|
+
Xd as _createEnvironmentNameLogic,
|
|
3839
|
+
Bf as _createInternalUserLogic,
|
|
3840
|
+
$l as _resetAdapterState,
|
|
3841
|
+
Mf as _sharedInternalUserLogic,
|
|
3842
|
+
Cu as addAppBarWidget,
|
|
3843
|
+
Pu as addMenuItem,
|
|
3844
|
+
bu as addSettingsMenuItem,
|
|
3845
|
+
Nu as after,
|
|
3846
|
+
jn as aiAgentPlugin,
|
|
3847
|
+
Qd as autofocus,
|
|
3848
|
+
Du as before,
|
|
3849
|
+
yu as bigInt,
|
|
3850
|
+
Sl as camelToSnake,
|
|
3851
|
+
pl as camelize,
|
|
3852
|
+
Eg as clearLayoutStorage,
|
|
3853
|
+
Bu as convertColorNameToHex,
|
|
3854
|
+
Mu as convertMomentFormat,
|
|
3855
|
+
Yf as createAiAgentToolbarButton,
|
|
3856
|
+
Rl as createAppModule,
|
|
3857
|
+
ku as createBackendRegistry,
|
|
3858
|
+
Vu as createKeyedBackendRegistry,
|
|
3807
3859
|
k as createLogger,
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3860
|
+
ql as default,
|
|
3861
|
+
Et as defineAppModule,
|
|
3862
|
+
Ml as defineBladeContext,
|
|
3863
|
+
Cg as defineExtensionPoint,
|
|
3864
|
+
Jd as detectThemePreset,
|
|
3865
|
+
jf as expectedCode,
|
|
3866
|
+
Zf as expectedEventKey,
|
|
3867
|
+
Uu as fileWeight,
|
|
3868
|
+
eE as focusIfLoose,
|
|
3869
|
+
tE as formatBadgeCount,
|
|
3870
|
+
Fu as formatDateRelative,
|
|
3871
|
+
Wu as formatDateWithPattern,
|
|
3872
|
+
Xf as formatShortcut,
|
|
3873
|
+
fg as fromGridstackNode,
|
|
3874
|
+
Va as generateId,
|
|
3875
|
+
aE as getAllBladeConfigs,
|
|
3876
|
+
Hu as getBestThumbnailSize,
|
|
3877
|
+
nE as getBladeConfig,
|
|
3878
|
+
_l as getComponentDefaults,
|
|
3827
3879
|
Yt as getExtensionColor,
|
|
3828
3880
|
jt as getExtensionLabel,
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3881
|
+
Gu as getMenuBadge,
|
|
3882
|
+
xu as getMenuBadges,
|
|
3883
|
+
$u as getThumbnailUrl,
|
|
3884
|
+
Qf as hotkey,
|
|
3885
|
+
x as i18n,
|
|
3886
|
+
kl as injectBladeContext,
|
|
3887
|
+
Ku as isFrameworkError,
|
|
3836
3888
|
zt as isImage,
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3889
|
+
Jf as isTextInputFocused,
|
|
3890
|
+
zu as isValidHexColor,
|
|
3891
|
+
As as kebabToCamel,
|
|
3892
|
+
Al as kebabToPascal,
|
|
3893
|
+
sE as languageToCountryMap,
|
|
3894
|
+
gg as loadLayoutFromStorage,
|
|
3895
|
+
ka as loading,
|
|
3896
|
+
kf as logger,
|
|
3897
|
+
Vf as loggers,
|
|
3898
|
+
eg as matchesEvent,
|
|
3899
|
+
mg as mergeLayoutWithWidgets,
|
|
3900
|
+
qu as mindimensions,
|
|
3901
|
+
Yu as normalizeHexColor,
|
|
3902
|
+
Y as notification,
|
|
3851
3903
|
Pe as parseError,
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3904
|
+
hs as permissions,
|
|
3905
|
+
ju as provideAppBarState,
|
|
3906
|
+
oE as provideAppBarWidget,
|
|
3907
|
+
Zu as provideDashboardService,
|
|
3908
|
+
rE as provideLanguages,
|
|
3909
|
+
Xu as provideMenuService,
|
|
3910
|
+
Qu as provideSettingsMenu,
|
|
3911
|
+
iE as provideSidebarState,
|
|
3912
|
+
Ju as provideToolbarService,
|
|
3861
3913
|
qt as readableSize,
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3914
|
+
ec as registerBuiltinCells,
|
|
3915
|
+
tc as registerDashboardWidget,
|
|
3916
|
+
ac as registerExternalWidget,
|
|
3917
|
+
nc as registerToolbarItem,
|
|
3918
|
+
sc as registerWidget,
|
|
3919
|
+
oc as removeMenuBadge,
|
|
3920
|
+
rc as removeRegisteredMenuItem,
|
|
3921
|
+
lE as resolveEnvironment,
|
|
3922
|
+
ic as resolveLocale,
|
|
3923
|
+
lc as resolveLocaleSync,
|
|
3924
|
+
Sg as saveLayoutToStorage,
|
|
3925
|
+
uc as setMenuBadge,
|
|
3926
|
+
uE as sidebarStorageKey,
|
|
3927
|
+
Os as signalR,
|
|
3928
|
+
cE as stripTenantPrefix,
|
|
3929
|
+
Ag as toGridstackWidget,
|
|
3930
|
+
dE as useAdaptiveItems,
|
|
3931
|
+
tg as useAiAgent,
|
|
3932
|
+
Hf as useAiAgentContext,
|
|
3933
|
+
Vs as useApiClient,
|
|
3934
|
+
EE as useAppBarMobileActions,
|
|
3935
|
+
cc as useAppBarState,
|
|
3936
|
+
fE as useAppBarWidget,
|
|
3937
|
+
gE as useAppBarWidgets,
|
|
3938
|
+
Ya as useAppInsights,
|
|
3939
|
+
Cl as useAssets,
|
|
3940
|
+
Pl as useAssetsManager,
|
|
3889
3941
|
Xt as useAsync,
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3942
|
+
mE as useBadge,
|
|
3943
|
+
zs as useBeforeUnload,
|
|
3944
|
+
ut as useBlade,
|
|
3945
|
+
zl as useBladeForm,
|
|
3946
|
+
dc as useBladeLoading,
|
|
3947
|
+
SE as useBladeMessaging,
|
|
3948
|
+
Kl as useBladeNavigation,
|
|
3949
|
+
Tl as useBladeNotifications,
|
|
3950
|
+
ag as useBladeStack,
|
|
3951
|
+
yl as useBladeWidgets,
|
|
3952
|
+
bl as useBreadcrumbs,
|
|
3953
|
+
Ol as useBroadcastFilter,
|
|
3954
|
+
Ec as useCellRegistry,
|
|
3955
|
+
AE as useCollapsible,
|
|
3956
|
+
pE as useColumnFilter,
|
|
3957
|
+
$o as useContainer,
|
|
3958
|
+
fc as useDashboard,
|
|
3959
|
+
TE as useDataTablePagination,
|
|
3960
|
+
hE as useDataTableSort,
|
|
3961
|
+
Nl as useDynamicProperties,
|
|
3962
|
+
OE as useEnvironmentName,
|
|
3963
|
+
gc as useErrorHandler,
|
|
3964
|
+
Pg as useExtensionPoint,
|
|
3965
|
+
LE as useFilterState,
|
|
3966
|
+
mc as useFloatingPosition,
|
|
3967
|
+
Sc as useFormField,
|
|
3968
|
+
Il as useFunctions,
|
|
3969
|
+
RE as useGalleryPreview,
|
|
3970
|
+
pg as useGridstack,
|
|
3971
|
+
_E as useImageLoad,
|
|
3972
|
+
Wo as useInstance,
|
|
3973
|
+
ng as useIsMac,
|
|
3974
|
+
sg as useKeyboardShortcuts,
|
|
3975
|
+
IE as useLanguages,
|
|
3976
|
+
wl as useLatestRequest,
|
|
3977
|
+
Qt as useLoading,
|
|
3978
|
+
vE as useMenuActiveState,
|
|
3979
|
+
Ac as useMenuService,
|
|
3980
|
+
Vl as useModificationTracker,
|
|
3981
|
+
hl as useNotificationContext,
|
|
3982
|
+
ge as useNotificationStore,
|
|
3983
|
+
vl as useNotifications,
|
|
3984
|
+
st as usePermissions,
|
|
3985
|
+
Rn as usePopup,
|
|
3986
|
+
Fa as useResponsive,
|
|
3987
|
+
pc as useScrollArrows,
|
|
3936
3988
|
we as useSettings,
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3989
|
+
Tc as useSettingsMenu,
|
|
3990
|
+
wE as useShellBootstrap,
|
|
3991
|
+
CE as useShellLifecycle,
|
|
3992
|
+
PE as useShellNavigation,
|
|
3993
|
+
bE as useSidebarState,
|
|
3994
|
+
NE as useTableColumnsReorder,
|
|
3995
|
+
DE as useTableColumnsResize,
|
|
3996
|
+
yE as useTableContext,
|
|
3997
|
+
BE as useTableInlineEdit,
|
|
3998
|
+
Ll as useTableQueryState,
|
|
3999
|
+
ME as useTableRowGrouping,
|
|
4000
|
+
kE as useTableRowReorder,
|
|
4001
|
+
VE as useTableSearch,
|
|
4002
|
+
UE as useTableSelection,
|
|
4003
|
+
FE as useTableSort,
|
|
4004
|
+
Uf as useTeleportTarget,
|
|
4005
|
+
Wa as useTheme,
|
|
4006
|
+
WE as useToggleableContent,
|
|
4007
|
+
hc as useToolbar,
|
|
4008
|
+
Ff as useUser,
|
|
4009
|
+
HE as useVirtualScroll,
|
|
4010
|
+
Dl as useWebVitals,
|
|
4011
|
+
Bl as useWidgetTrigger,
|
|
4012
|
+
GE as vAutofocus,
|
|
4013
|
+
ka as vLoading,
|
|
4014
|
+
Oc as wrapError
|
|
3963
4015
|
};
|