@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/framework.js CHANGED
@@ -1,21 +1,21 @@
1
- import { b as Ma, c as ka } from "./chunks/vendor-vueuse-core-_wFDcFkI.js";
2
- import { N as nt, O as se, P as q, Q as X, l as x, R as Pe, S as Va, T as yt, p as st, q as $, n as pe, A as Ua, U as Fa, W as Wa, X as Ha, V as Ee, Y as Ga, Z as xa, $ as $a, a0 as Ka, a1 as za, a2 as qa, a3 as Ya, a4 as ja, a5 as Za } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js";
3
- import { B as ql, a6 as Yl, a as jl, _ as Zl, b as Xl, c as Jl, d as Ql, e as eu, f as tu, g as au, h as nu, i as su, j as ou, k as ru, a7 as iu, a8 as lu, a9 as uu, aa as cu, ab as du, ac as Eu, ad as fu, m as mu, o as gu, r as Su, s as Au, t as pu, u as Tu, v as hu, w as Lu, x as Ou, y as Ru, z as _u, ae as Iu, af as vu, ag as wu, ah as Cu, ai as Pu, aj as bu, ak as Nu, al as Du, am as yu, an as Bu, ao as Mu, ap as ku, aq as Vu, ar as Uu, as as Fu, at as Wu, au as Hu, av as Gu, aw as xu, ax as $u, ay as Ku, C as zu, az as qu, aA as Yu, aB as ju, aC as Zu, D as Xu, aD as Ju, aE as Qu, aF as ec, aG as tc, aH as ac, aI as nc, aJ as sc, aK as oc, aL as rc, E as ic, F as lc, G as uc, L as cc, aM as dc, H as Ec, I as fc, aN as mc, J as gc, aO as Sc, aP as Ac, aQ as pc } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js";
4
- import { getCurrentScope as ot, onScopeDispose as rt, computed as C, inject as Q, watch as ae, defineComponent as H, openBlock as b, createBlock as D, createSlots as Oe, withCtx as p, renderSlot as Y, createElementVNode as U, normalizeClass as Xa, createElementBlock as W, Fragment as ne, createVNode as I, unref as i, createTextVNode as M, toDisplayString as y, shallowReactive as Ja, ref as N, readonly as Me, onMounted as Re, onBeforeMount as Qa, onBeforeUnmount as en, shallowRef as tn, onUnmounted as an, provide as Bt, toValue as Mt, isRef as kt, normalizeStyle as Vt, createCommentVNode as z, withDirectives as nn, withModifiers as He, reactive as ie, createApp as sn, nextTick as be, renderList as Fe, withKeys as it, mergeProps as re, getCurrentInstance as on, warn as rn, h as ee, toRaw as ln } from "vue";
5
- import { aS as me, aT as un, aU as cn, aV as Ut, aW as Ge, aX as dn, aY as En, aZ as fn, a_ as mn, a$ as gn, ab as Sn, b0 as xe, b1 as An, b2 as pn, b3 as Ft, F as Wt, M as Tn, Y as ge, W as $e, am as hn, N as Ln, ai as On, B as _e, a3 as Ht, E as Rn, b4 as _n, b5 as In, an as ft, b6 as vn, b7 as wn } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-RHeDlcVB.js";
6
- import { b8 as hc, b9 as Lc, C as Oc, ba as Rc, bb as _c, bc as Ic, _ as vc, bd as wc, be as Cc, S as Pc, bf as bc, bg as Nc, a as Dc, b as yc, c as Bc, d as Mc, e as kc, f as Vc, T as Uc, g as Fc, h as Wc, i as Hc, j as Gc, k as xc, l as $c, m as Kc, bh as zc, bi as qc, V as Yc, n as jc, o as Zc, p as Xc, q as Jc, r as Qc, s as ed, t as td, u as ad, v as nd, w as sd, x as od, y as rd, z as id, A as ld, D as ud, bj as cd, bj as dd, bk as Ed, G as fd, H as md, I as gd, J as Sd, K as Ad, L as pd, O as Td, P as hd, Q as Ld, R as Od, U as Rd, X as _d, Z as Id, $ as vd, a0 as wd, a1 as Cd, a2 as Pd, a4 as bd, a5 as Nd, a6 as Dd, a7 as yd, a8 as Bd, a9 as Md, aa as kd, ac as Vd, ad as Ud, ae as Fd, af as Wd, ag as Hd, ah as Gd, aj as xd, ak as $d, al as Kd, ao as zd, ap as qd, bl as Yd, aq as jd, bm as Zd, bn as Xd, bo as Jd, bp as Qd, bq as eE, br as tE, bs as aE, bt as nE, bu as sE, bv as oE, bw as rE, ar as iE, as as lE, at as uE, bx as cE, au as dE, av as EE, by as fE, aw as mE, ax as gE, ay as SE, az as AE, bz as pE, aA as TE, aB as hE, aC as LE, bA as OE, aD as RE, aE as _E, aF as IE, aG as vE, bB as wE, aH as CE, aI as PE, aJ as bE, aK as NE, aL as DE, aM as yE, aN as BE, aO as ME, aP as kE, aQ as VE, aR as UE, aq as FE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-RHeDlcVB.js";
7
- import { _ as Cn } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
8
- import { c as k, b as Pn, d as bn, i as Qe, S as Nn, W as Gt, B as xt, h as Dn, j as $t, m as yn, k as Bn, l as Kt, n as Mn, _ as kn, L as Vn, I as Un, o as Fn, p as Wn, q as Hn, r as Gn, s as xn, T as $n, t as Kn, v as zn, w as qn, x as Yn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
9
- import { A as HE, y as GE, z as xE, C as $E, D as KE, F as zE, G as qE, H as YE, J as jE, K as ZE, e as XE, f as JE, O as QE, P as ef, Q as tf, R as af, U as nf, V as sf, X as of, Y as rf, Z as lf, $ as uf, a0 as cf, E as df, a1 as Ef, a2 as ff, a3 as mf, a4 as gf, a5 as Sf, a6 as Af, a7 as pf, a8 as Tf, M as hf, N as Lf, a9 as Of, aa as Rf, ab as _f, ac as If, ad as vf, ae as wf, af as Cf, ag as Pf, a as bf, ah as Nf, ai as Df, aj as yf, ak as Bf, u as Mf, g as kf } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-JB7OKRk6.js";
10
- import { H as jn, L as Zn } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
11
- import { a as Xn } from "./chunks/index-DLsURdJp.js";
12
- import { u as Uf } from "./chunks/index-DLsURdJp.js";
13
- import { a as Jn, s as Qn, b as es, d as ts, e as as, f as lt, g as ns, h as ss, i as os, j as rs } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.js";
14
- import { A as Wf, D as Hf, E as Gf, H as xf, _ as $f, c as Kf, k as zf, l as qf, m as Yf, n as jf, o as Zf, p as Xf, u as Jf, q as Qf, r as em, t as tm } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-y-eKcMMU.js";
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 ut, Field as Z } from "vee-validate";
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 is } from "./chunks/vendor-vue3-touch-events-DqysuuWh.js";
94
+ import { v as os } from "./chunks/vendor-vue3-touch-events-DqysuuWh.js";
95
95
  import "./chunks/vendor-gridstack-Beau2jQ7.js";
96
- import { _ as nm, a as sm, b as om, c as rm, d as im, L as lm, e as um, f as cm, l as dm, m as Em, s as fm, t as mm, u as gm } from "./chunks/dashboard-feed-row.vue_vue_type_script_setup_true_lang-C0IjvNtI.js";
97
- import { _ as Am, a as pm, b as Tm, c as hm, d as Lm, e as Om } from "./chunks/DashboardDonutChart.vue_vue_type_script_setup_true_lang-hTcM33bM.js";
98
- import { A as ls, u as us } from "./chunks/vendor-vue3-application-insights-CAgbt8pk.js";
99
- import { o as cs, c as J, d as ds, i as Es } from "./chunks/vendor-lodash-es-D2n90GJy.js";
100
- import { T as fs, x as ms, b as gs, S as Ss, $ as As } from "./chunks/vendor-web-vitals-ByFgAM-8.js";
101
- import { _ as ps } from "./chunks/index-BuTo_Lx8.js";
102
- import { E as _m, d as Im, u as vm } from "./chunks/index-BuTo_Lx8.js";
103
- function fl(e) {
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 Ts = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
109
- function ml(e) {
110
- const t = Ts(e);
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 gl(e) {
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 hs = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "svg", "gif"]);
119
- function ct(e) {
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 ? hs.has(ct(e) ?? "") : !1;
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 Ls = {
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 = ct(e) ?? "";
148
- return Ls[t] ?? "var(--neutrals-400)";
147
+ const t = dt(e) ?? "";
148
+ return Ts[t] ?? "var(--neutrals-400)";
149
149
  }
150
150
  function jt(e) {
151
- return e ? (ct(e) ?? "FILE").toUpperCase() : "FILE";
151
+ return e ? (dt(e) ?? "FILE").toUpperCase() : "FILE";
152
152
  }
153
- const Os = {
153
+ const hs = {
154
154
  install(e) {
155
- const { hasAccess: t } = nt();
155
+ const { hasAccess: t } = st();
156
156
  e.config.globalProperties.$hasAccess = t;
157
157
  }
158
158
  };
159
- function Sl(e) {
160
- const t = me(), a = t.subscribe({
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
- ot() && rt(a);
166
- const n = C(
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 = C(() => n.value.length);
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 Al() {
179
- const e = Q(un);
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 pl() {
185
- const e = me();
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"), mt = k("signalR"), Rs = {
191
+ const Zt = Symbol("NotificationContainerState"), Ke = k("signalR"), Os = {
192
192
  install(e) {
193
- const t = me(), { isAuthenticated: a } = se();
193
+ const t = ge(), { isAuthenticated: a } = se();
194
194
  let n = !1;
195
- const s = Cn("pushNotificationHub", { enableForVitest: !0 }) ?? new jn().withUrl("/pushNotificationHub").withAutomaticReconnect().configureLogging(Zn.Information).build(), o = () => {
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
- mt.info("Connected.");
198
- }).catch((l) => {
199
- mt.error("Connection Error: ", l), setTimeout(() => o(), 5e3);
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 r() {
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 && o();
207
- }), s.on("Send", (l) => {
208
- t.ingest(l);
209
- }), s.on("SendSystemEvents", (l) => {
210
- t.ingest(l, { broadcast: !0 });
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 (l) => {
214
- l ? (n = !0, o()) : (n = !1, await r());
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 Tl(e) {
221
- const t = Q(cn, void 0);
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 _s = k("modularity");
227
- function dt(e) {
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 = me();
241
+ const r = ge();
232
242
  if (t && Object.keys(t).length > 0) {
233
- const l = o.runWithContext(() => Q(Ut));
243
+ const l = o.runWithContext(() => J(Ut));
234
244
  if (!l?._registerBladeFn)
235
- _s.error("defineAppModule: BladeRegistry not found. Blade registration will be skipped.");
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 && q(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
- X.global.mergeLocaleMessage(l, c);
289
+ x.global.mergeLocaleMessage(l, c);
280
290
  }
281
291
  };
282
292
  }
283
- function hl(e, t, a, n) {
284
- return dt({
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 Is(e, t, a, n, s, o) {
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}'`), q.error(X.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), { timeout: 3e3 }), s && Ge(s, o), !1;
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 gt(e) {
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 vs(e, t, a, n, s) {
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 gt(t) ? !1 : void 0;
330
- const r = Object.values(e.params)?.[0] || "", l = dn(e.path, r);
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 gt(t) ? !1 : void 0;
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 Is(t, a, l, n, s, c)) {
335
- const { path: E, query: m } = En(r, t.blades.value);
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 ws = {
349
+ const Is = {
340
350
  install(e, t) {
341
351
  const { router: a } = t, n = {
342
352
  router: t.router
343
353
  };
344
- ts(n);
354
+ Jn(n);
345
355
  const s = e.runWithContext(() => {
346
356
  try {
347
- return fn();
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(() => nt()), r = {}, l = gn(a, () => r.current), c = Jn(s, o, l);
360
- r.current = c, e.provide(Pn, c), Qn(c);
361
- const u = mn(c);
362
- e.provide(bn, u), es(u), as(s);
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(() => vs(m, c, s, o, a))
379
+ (m) => l.suppressWhile(() => _s(m, c, s, o, a))
370
380
  );
371
381
  }
372
- }, Cs = {
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 Ll(e) {
423
- return Cs[e];
432
+ function _l(e) {
433
+ return vs[e];
424
434
  }
425
- const Et = /* @__PURE__ */ H({
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(Sn, {
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
- }, Oe({
452
- content: p(() => [
453
- Y(o.$slots, "default")
461
+ }, Le({
462
+ content: h(() => [
463
+ j(o.$slots, "default")
454
464
  ]),
455
- footer: p(({ close: l }) => [
456
- Y(o.$slots, "footer", {
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: Xa(["vc-popup-base__actions", {
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
- I(i(x), {
477
+ _(i($), {
468
478
  text: e.confirmAsText,
469
479
  class: "vc-popup-base__confirm",
470
480
  onClick: (c) => s(l)
471
481
  }, {
472
- default: p(() => [
482
+ default: h(() => [
473
483
  M(y(e.confirmLabel), 1)
474
484
  ]),
475
485
  _: 1
476
486
  }, 8, ["text", "onClick"]),
477
- I(i(x), { onClick: l }, {
478
- default: p(() => [
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(x), {
493
+ ], 64)) : (b(), D(i($), {
484
494
  key: 1,
485
495
  class: "vc-popup-base__single",
486
496
  onClick: l
487
497
  }, {
488
- default: p(() => [
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: p(() => [
501
- Y(o.$slots, "header")
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
- }), Ps = /* @__PURE__ */ H({
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(Et, {
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
- }, Oe({
524
- default: p(() => [
525
- Y(t.$slots, "default")
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: p(() => [
532
- Y(t.$slots, "header")
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
- }), bs = /* @__PURE__ */ H({
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(Et, {
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
- }, Oe({
552
- default: p(() => [
553
- Y(t.$slots, "default")
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: p(() => [
560
- Y(t.$slots, "header")
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
- }), Ns = /* @__PURE__ */ H({
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(Et, {
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
- }, Oe({
580
- default: p(() => [
581
- Y(t.$slots, "default")
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: p(() => [
588
- Y(t.$slots, "header")
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 Ds() {
596
- xe("warning", Ps), xe("error", bs), xe("info", Ns);
605
+ function bs() {
606
+ xe("warning", ws), xe("error", Cs), xe("info", Ps);
597
607
  }
598
- const ys = {
608
+ const Ns = {
599
609
  install(e) {
600
610
  const a = {
601
- popups: Ja([])
611
+ popups: Za([])
602
612
  };
603
- e.config.globalProperties.$popupPlugin = a, e.provide(An, a), pn(a), Ds();
613
+ e.config.globalProperties.$popupPlugin = a, e.provide(mn, a), Sn(a), bs();
604
614
  }
605
615
  };
606
- function Bs(e, t) {
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 Ms(e, t = 0) {
624
+ function ys(e, t = 0) {
615
625
  setTimeout(e, t);
616
626
  }
617
- const Ke = /* @__PURE__ */ new WeakMap();
618
- function ks(e) {
627
+ const ze = /* @__PURE__ */ new WeakMap();
628
+ function Bs(e) {
619
629
  return function(...t) {
620
- if (!Ke.has(e)) {
630
+ if (!ze.has(e)) {
621
631
  const a = e(...t);
622
- Ke.set(e, a);
632
+ ze.set(e, a);
623
633
  }
624
- return Ke.get(e);
634
+ return ze.get(e);
625
635
  };
626
636
  }
627
- function Vs(e, t) {
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 Ol() {
645
+ function Il() {
636
646
  return {
637
- debounce: Bs,
638
- delay: Ms,
639
- once: ks,
640
- throttle: Vs
647
+ debounce: Ds,
648
+ delay: ys,
649
+ once: Bs,
650
+ throttle: Ms
641
651
  };
642
652
  }
643
- function Rl(e) {
644
- const t = me(), a = e ? Array.isArray(e) ? e : [e] : [];
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
- }), ot() && rt(() => s?.()));
650
- const o = C(() => a.length ? t.realtime.value.filter(
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: C(() => cs(t.history.value, ["created"], ["desc"])),
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 ze;
666
- const Us = k("use-async");
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, Us.error("Async action failed:", u), s && !Qe() && u && typeof u == "object") {
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
- ze || (ze = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-BQ09AUgy.js").then((S) => S.b0)).notification), ze.error(E.message, {
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
- Va(u, f, m);
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 Fs(e) {
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 Jt(...e) {
704
- return C(() => e.some((t) => t.value));
713
+ function Qt(...e) {
714
+ return I(() => e.some((t) => t.value));
705
715
  }
706
- const Ws = k("use-settings");
716
+ const Us = k("use-settings");
707
717
  function we() {
708
- const e = N(), t = N(!1), { getApiClient: a } = Fs(Nn), { loading: n, action: s } = Xt(async () => {
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
- Ws.warn("Failed to parse UI customization settings JSON; ignoring.", c);
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: C(() => e.value ?? {}),
746
+ uiSettings: I(() => e.value ?? {}),
737
747
  applySettings: o,
738
- loading: Jt(n)
748
+ loading: Qt(n)
739
749
  };
740
750
  }
741
- function _l() {
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 ot() && rt(o), {
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 Qt = 4;
768
- async function Hs(e, t, a, n) {
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 o = t.startsWith("/") ? t.slice(1) : t, l = await (await fetch(`/api/assets?folderUrl=/${o}`, {
781
+ const r = await (await fetch(`/api/assets?folderUrl=/${t}`, {
772
782
  method: "POST",
773
783
  body: s
774
784
  })).json();
775
- if (!l?.length) return null;
776
- const c = l[0];
777
- 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;
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 o.filter((r) => r !== null);
789
+ return null;
788
790
  }
789
- const St = k("use-assets");
790
- function Il() {
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
- return e.value = !0, await ea(s, { uploadPath: o, startingSortOrder: r });
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 = J(o) || [];
805
- return l && l.length && s.length > 0 && (l = ds(l, s, (c, u) => c[r] === u[r])), 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 = J(o) || [];
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: C(() => e.value)
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 vl(e, t) {
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 = C(() => a.value), l = t.concurrency ?? Qt, c = t.assetKey ?? "url";
848
- async function u(S, h) {
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 = t.uploadPath(), v = await ea(S, { uploadPath: T, startingSortOrder: h, concurrency: l });
852
- n.value = [...n.value, ...v], s();
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 h = new Set(S.map((T) => T[c]));
866
- n.value = n.value.filter((T) => !h.has(T[c])), s();
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((h) => ({ ...h })), s();
909
+ n.value = S.map((L) => ({ ...L })), s();
870
910
  }
871
911
  function d(S) {
872
- const h = n.value.findIndex((T) => T[c] === S[c]);
873
- if (h !== -1) {
912
+ const L = n.value.findIndex((T) => T[c] === S[c]);
913
+ if (L !== -1) {
874
914
  const T = [...n.value];
875
- T[h] = { ...n.value[h], ...S }, n.value = T, s();
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 xs = (e) => {
889
- Qa(() => {
928
+ const zs = (e) => {
929
+ Xa(() => {
890
930
  window.addEventListener("beforeunload", t);
891
- }), en(() => {
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
- }, $s = k("use-breadcrumbs");
901
- function wl() {
902
- const e = tn([]);
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
- $s.error("Breadcrumb click handler failed:", c);
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: C(() => e.value),
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 Le(e) {
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 Ks(e) {
985
+ function Ys(e) {
946
986
  return e.valueType === "Measure";
947
987
  }
948
- function zs(e) {
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 qs = {
997
+ const Zs = {
958
998
  get(e, t) {
959
- return fe(e) ? Le(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? "" : Le(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
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
- }, Ys = {
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
- }, js = {
1031
+ }, Qs = {
992
1032
  get(e, t) {
993
- return fe(e) ? Le(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.valueId ?? "" : Le(e) ? e.values ?? [] : e.values?.[0]?.valueId ?? "";
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) ? Zs(e, t, n, s) : Qs(e, t, n));
1041
+ n?.length && (fe(e) ? Js(e, t, n, s) : ao(e, t, n));
1002
1042
  }
1003
1043
  };
1004
- function Zs(e, t, a, n) {
1005
- Array.isArray(t) ? Xs(
1044
+ function Js(e, t, a, n) {
1045
+ Array.isArray(t) ? eo(
1006
1046
  e,
1007
1047
  t,
1008
1048
  a
1009
- ) : Js(e, t, a, n);
1049
+ ) : to(e, t, a, n);
1010
1050
  }
1011
- function Xs(e, t, a) {
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 Js(e, t, a, n) {
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 Qs(e, t, a) {
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 eo = {
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
- }, to = {
1141
+ }, so = {
1102
1142
  get(e, t) {
1103
- return Le(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
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 Ks(e) ? eo : zs(e) && !pt(e) ? to : e.valueType === "Boolean" ? Ys : pt(e) ? js : qs;
1156
+ return Ys(e) ? no : js(e) && !pt(e) ? so : e.valueType === "Boolean" ? Xs : pt(e) ? Qs : Zs;
1117
1157
  }
1118
- function Cl(e) {
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((h) => h.languageCode === m)?.value;
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: Jt(n)
1191
+ loading: Qt(n)
1152
1192
  };
1153
1193
  }
1154
- function Pl(e) {
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
- fs(a), ms(a), gs(a), Ss(a), As(a);
1203
+ ds(a), Es(a), fs(a), gs(a), ms(a);
1164
1204
  }
1165
- const ta = k("use-blade-widgets");
1166
- function bl(e) {
1167
- const t = Q(Gt);
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 = Q(xt, void 0);
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(ao(l), s);
1179
- }), an(() => {
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() : ta.warn(`Widget '${l}' has no trigger.onRefresh registered.`);
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 Nl(e) {
1195
- const t = Q(Dn);
1234
+ function Bl(e) {
1235
+ const t = J(bn);
1196
1236
  if (!t) {
1197
- ta.warn("useWidgetTrigger() called outside WidgetContainer scope — trigger will not be registered.");
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 ao(e) {
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 no(e) {
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 Dl(e) {
1267
+ function Ml(e) {
1228
1268
  Bt(
1229
1269
  $t,
1230
- C(() => no(Mt(e)))
1270
+ I(() => ro(Mt(e)))
1231
1271
  );
1232
1272
  }
1233
- function yl() {
1234
- const e = Q($t);
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 Lt(e, t) {
1243
- return Es(e, t, (a, n) => {
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 Bl(e) {
1248
- const t = (r) => J(i(r)), a = N(t(e)), n = N(t(e)), s = N(!1);
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 = !Lt(n.value, a.value);
1253
- a.value = J(r), l || (n.value = J(r));
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 = !Lt(r, l);
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 = J(l);
1308
+ a.value = l, n.value = Q(l);
1269
1309
  } else
1270
- a.value = J(n.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: C(() => s.value),
1316
+ isModified: I(() => s.value),
1277
1317
  resetModificationState: o
1278
1318
  };
1279
1319
  }
1280
- const so = { class: "tw-flex tw-grow-1 tw-border-t tw-border-solid tw-border-t-[--assets-details-border]" }, oo = { class: "assets-details__content tw-grow tw-basis-0 tw-w-full tw-overflow-hidden" }, ro = { class: "tw-p-4" }, io = { class: "assets-details__header" }, lo = {
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
- }, uo = { class: "assets-details__meta" };
1323
+ }, fo = { class: "assets-details__meta" };
1284
1324
  Ft("AssetsDetails", {});
1285
- const co = /* @__PURE__ */ H({
1325
+ const go = /* @__PURE__ */ H({
1286
1326
  name: "AssetsDetails",
1287
1327
  __name: "assets-details",
1288
1328
  setup(e) {
1289
- const { options: t, closeSelf: a } = lt();
1329
+ const { options: t, closeSelf: a } = ut();
1290
1330
  ue({ validateOnMount: !1 });
1291
- const n = Ie(), s = ut(), { t: o } = le({ useScope: "global" }), r = N({ ...t.value?.asset }), l = C(() => t.value?.disabled), c = C({
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("."), h = S > 0 ? d.slice(S) : "";
1302
- r.value.name = f ? f + h : "";
1341
+ const S = d.lastIndexOf("."), L = S > 0 ? d.slice(S) : "";
1342
+ r.value.name = f ? f + L : "";
1303
1343
  }
1304
- }), u = C(() => !s.value || !n.value), E = N([
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: C(() => u.value || l.value)
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: C(() => l.value)
1361
+ disabled: I(() => l.value)
1322
1362
  }
1323
- ]), m = C(() => r.value?.typeId);
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: p(() => [
1330
- U("div", so, [
1331
- U("div", oo, [
1332
- I(i(Tn), { "no-padding": !0 }, {
1333
- default: p(() => [
1334
- U("div", ro, [
1335
- I(i(ge), null, {
1336
- default: p(() => [
1337
- U("div", io, [
1338
- i(zt)(r.value.name) ? (b(), D(i(st), {
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", lo, [
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", uo, [
1351
- I(i($e), {
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
- I(i($e), {
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
- I(i($e), {
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") ? z("", !0) : (b(), D(i(Z), {
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: p(({ errorMessage: S, handleChange: h, errors: T }) => [
1377
- I(i($), {
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
- h
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"])) : z("", !0),
1406
- i(t)?.hiddenFields?.includes("description") ? z("", !0) : (b(), D(i(hn), {
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
- }), Eo = co, fo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1468
+ }), mo = go, So = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1429
1469
  __proto__: null,
1430
- AssetsDetails: Eo
1431
- }, Symbol.toStringTag, { value: "Module" })), mo = dt({ blades: fo }), go = { class: "tw-flex tw-items-center tw-justify-center" };
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 So = /* @__PURE__ */ H({
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 } = lt(), { t: s } = le({ useScope: "global" }), o = C(() => a.value.manager), r = C(() => o.value.items.value ?? []), l = C(() => o.value.loading.value), c = C(() => a.value?.title || s("ASSETS_MANAGER.TITLE")), u = N(!1), E = N(), m = N([]), f = C(() => a.value?.disabled), d = 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: C(() => s("ASSETS_MANAGER.TOOLBAR.ADD")),
1480
+ title: I(() => s("ASSETS_MANAGER.TOOLBAR.ADD")),
1441
1481
  icon: "lucide-plus",
1442
1482
  clickHandler() {
1443
1483
  w();
1444
1484
  },
1445
- disabled: C(() => f.value),
1446
- isVisible: C(() => !f.value)
1485
+ disabled: I(() => f.value),
1486
+ isVisible: I(() => !f.value)
1447
1487
  },
1448
1488
  {
1449
1489
  id: "delete",
1450
- title: C(() => s("ASSETS_MANAGER.TOOLBAR.DELETE")),
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: C(() => !m.value.length || f.value),
1456
- isVisible: C(() => !f.value)
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 L = A.value.map((P, B) => (P.sortOrder = B, P));
1462
- o.value.reorder(L);
1501
+ const R = A.value.map((P, B) => (P.sortOrder = B, P));
1502
+ o.value.reorder(R);
1463
1503
  }
1464
1504
  }
1465
- function h() {
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 L = A.dataTransfer?.files;
1474
- if (L && L.length)
1513
+ const R = A.dataTransfer?.files;
1514
+ if (R && R.length)
1475
1515
  try {
1476
- await O(L);
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 O(A) {
1526
+ async function C(A) {
1487
1527
  if (!A || A.length === 0) return;
1488
- const L = new Set((r.value ?? []).map((B) => B.name).filter(Boolean)), P = new DataTransfer();
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 (L.has(V)) {
1492
- const K = V.includes(".") ? `.${V.split(".").pop()}` : "", ce = V.slice(0, V.length - K.length);
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 (; L.has(V); )
1495
- V = `${ce}_${Ae}${K}`, Ae++;
1534
+ for (; R.has(V); )
1535
+ V = `${ce}_${Ae}${z}`, Ae++;
1496
1536
  }
1497
- L.add(V), P.items.add(new File([B], V, { type: B.type }));
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, K) => Math.max(V, K.sortOrder ?? 0), -1);
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 R(A) {
1546
+ async function O(A) {
1507
1547
  const P = A.target.files;
1508
1548
  if (P && P.length)
1509
1549
  try {
1510
- await O(P);
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: (L) => {
1523
- o.value.updateItem(L);
1562
+ assetEditHandler: (R) => {
1563
+ o.value.updateItem(R);
1524
1564
  },
1525
- assetRemoveHandler: async (L) => {
1526
- await o.value.remove(L);
1565
+ assetRemoveHandler: async (R) => {
1566
+ await o.value.remove(R);
1527
1567
  }
1528
1568
  }
1529
- }).catch((L) => {
1530
- t.error("Failed to open AssetsDetails blade:", L);
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: C(() => s("ASSETS_MANAGER.TABLE.ACTIONS.DELETE")),
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, L) => (b(), D(i(Wt), {
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: p(() => [
1549
- nn((b(), W("div", {
1588
+ default: h(() => [
1589
+ tn((b(), W("div", {
1550
1590
  class: "tw-relative tw-h-full tw-flex-1",
1551
- onDragover: He(h, ["prevent", "stop"]),
1591
+ onDragover: He(L, ["prevent", "stop"]),
1552
1592
  onDragleave: He(T, ["prevent"]),
1553
1593
  onDrop: He(v, ["prevent", "stop"])
1554
1594
  }, [
1555
- I(i(Ln), {
1595
+ _(i(Tn), {
1556
1596
  selection: m.value,
1557
- "onUpdate:selection": L[0] || (L[0] = (P) => m.value = P),
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: L[1] || (L[1] = ({ data: P }) => g(P)),
1610
+ onRowClick: R[1] || (R[1] = ({ data: P }) => g(P)),
1571
1611
  onRowReorder: S
1572
1612
  }, {
1573
- default: p(() => [
1574
- I(i(pe), {
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: p(({ data: P }) => [
1582
- U("div", go, [
1583
- i(zt)(P.name ?? "") ? (b(), D(i(st), {
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
- I(i(pe), {
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
- I(i(pe), {
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: p(({ data: P }) => [
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
- I(i(pe), {
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: p(({ data: P }) => [
1662
+ body: h(({ data: P }) => [
1623
1663
  U("div", null, y(P.sortOrder), 1)
1624
1664
  ]),
1625
1665
  _: 1
1626
1666
  }, 8, ["title"]),
1627
- I(i(pe), {
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(Ua), l.value]
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: R
1687
+ onChange: O
1648
1688
  }, null, 544)
1649
1689
  ]),
1650
1690
  _: 1
1651
1691
  }, 8, ["title", "toolbar-items"]));
1652
1692
  }
1653
- }), Ao = So, po = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1693
+ }), ho = To, Oo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1654
1694
  __proto__: null,
1655
- AssetsManager: Ao
1656
- }, Symbol.toStringTag, { value: "Module" })), To = dt({ blades: po }), Ot = k("connection-status"), Rt = "vc-framework-offline-status", _t = N(!1), It = N(!0);
1657
- function aa() {
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 } = Ma();
1700
+ const { isOnline: e } = ya();
1661
1701
  ae(
1662
1702
  e,
1663
1703
  (t) => {
1664
- It.value = t, t ? (Ot.info("Network connection restored"), q.remove(Rt), document.documentElement.classList.remove("vc-offline")) : (Ot.warn("Network connection lost"), q.warning("You are currently offline. Some features may be unavailable.", {
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 qe = k("slow-network"), ho = 1e4, Lo = ["slow-2g", "2g"];
1677
- let Ye = null;
1678
- const na = "vc-framework-slow-network", Oo = 3e3, Ro = "Your network is slow or the server is taking longer than usual. Please be patient.";
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
- q.warning(Ro, {
1682
- notificationId: na,
1721
+ Y.warning(vo, {
1722
+ notificationId: ta,
1683
1723
  timeout: !1
1684
1724
  });
1685
1725
  }
1686
1726
  function wt() {
1687
- q.remove(na);
1727
+ Y.remove(ta);
1688
1728
  }
1689
- const Ct = N(!1), ke = N(0), et = N(!1), Ve = /* @__PURE__ */ new Map(), tt = /* @__PURE__ */ new Set(), je = C(() => ke.value > 0 || et.value);
1690
- function _o(e) {
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), tt.add(e);
1693
- }, ho);
1732
+ ke.value++, Ve.delete(e), at.add(e);
1733
+ }, Ro);
1694
1734
  Ve.set(e, t);
1695
1735
  }
1696
- function Io(e) {
1736
+ function Co(e) {
1697
1737
  const t = Ve.get(e);
1698
- t != null ? (clearTimeout(t), Ve.delete(e)) : tt.has(e) && (ke.value = Math.max(0, ke.value - 1), tt.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 sa() {
1740
+ function aa() {
1701
1741
  if (!Ct.value && typeof window < "u") {
1702
1742
  Ct.value = !0;
1703
1743
  const e = navigator.connection;
1704
- e && (Ye = () => {
1705
- const a = Lo.includes(e.effectiveType);
1706
- a !== et.value && qe.info(`Connection type: ${e.effectiveType} → ${a ? "slow" : "normal"}`), et.value = a;
1707
- }, e.addEventListener("change", Ye), Ye());
1708
- const { isOnline: t } = aa();
1709
- ae(je, (a) => {
1710
- a ? (te != null && (clearTimeout(te), te = null), t.value && (qe.info("Slow network detected — showing notification"), vt())) : te = setTimeout(() => {
1711
- qe.info("Network recovered — hiding notification"), wt(), te = null;
1712
- }, Oo);
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 ? je.value && vt() : (te != null && (clearTimeout(te), te = null), wt());
1754
+ a ? Ze.value && vt() : (te != null && (clearTimeout(te), te = null), wt());
1715
1755
  });
1716
1756
  }
1717
1757
  return {
1718
- isSlowNetwork: je,
1719
- trackRequest: _o,
1720
- untrackRequest: Io
1758
+ isSlowNetwork: Ze,
1759
+ trackRequest: wo,
1760
+ untrackRequest: Co
1721
1761
  };
1722
1762
  }
1723
- const Te = k("interceptors"), vo = /(^|\/)(login|signin|sign-in|account\/login|connect\/authorize)(\/|$)/i;
1724
- function wo(e) {
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 (vo.test(t))
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 Co(e) {
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 } = sa();
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" ? (q.warning(
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(O) {
1763
- const R = typeof O == "string" ? O : O instanceof Request ? O.url : O.toString();
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
- const g = new URL(R, window.location.origin);
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 [m, f] = u;
1772
- if (!E(m))
1773
- return a(...u);
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", m), Promise.reject(new Error("Network unavailable. Please check your connection."));
1776
- const d = String(++l);
1777
- o(d);
1778
- const S = new AbortController();
1779
- let h = !1;
1780
- const T = setTimeout(() => {
1781
- h = !0, S.abort();
1782
- }, 3e4), v = f?.signal, w = () => S.abort();
1783
- v?.aborted ? w() : v && v.addEventListener("abort", w, { once: !0 });
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 O = await a(m, {
1786
- ...f || {},
1787
- signal: S.signal
1788
- }), R = O.ok && wo(O);
1789
- if ((O.status === 401 || R) && !Qe() && s.value && (yn(), n().catch((_) => {
1790
- Te.error("signOut failed after session expiry:", _);
1791
- }).finally(() => {
1792
- Po(e), q.error(
1793
- `Access Denied: Your session has expired or you do not have the necessary permissions.
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(d), clearTimeout(T), v && v.removeEventListener("abort", w);
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 Po(e) {
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
- SHELL: ra,
1814
- COMPONENTS: ia,
1815
- INVITATION: la,
1816
- LOGIN: ua,
1817
- FORGOT_PASSWORD: ca,
1818
- PASSWORDRESET: da,
1819
- ASSETS_MANAGER: Ea,
1820
- ASSETS: fa,
1821
- messages: ma,
1822
- PERMISSION_MESSAGES: ga,
1823
- AI_AGENT: Sa,
1824
- VC_SCHEDULER: Aa,
1825
- common: pa
1826
- }, No = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
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: Sa,
1829
- ASSETS: fa,
1830
- ASSETS_MANAGER: Ea,
1831
- COMPONENTS: ia,
1832
- CORE: oa,
1833
- FORGOT_PASSWORD: ca,
1834
- INVITATION: la,
1835
- LOGIN: ua,
1836
- PASSWORDRESET: da,
1837
- PERMISSION_MESSAGES: ga,
1838
- SHELL: ra,
1839
- VC_SCHEDULER: Aa,
1840
- common: pa,
1841
- default: bo,
1842
- messages: ma
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
- SHELL: ha,
1846
- COMPONENTS: La,
1847
- INVITATION: Oa,
1848
- LOGIN: Ra,
1849
- FORGOT_PASSWORD: _a,
1850
- PASSWORDRESET: Ia,
1851
- ASSETS_MANAGER: va,
1852
- ASSETS: wa,
1853
- messages: Ca,
1854
- PERMISSION_MESSAGES: Pa,
1855
- AI_AGENT: ba,
1856
- VC_SCHEDULER: Na,
1857
- common: Da
1858
- }, yo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
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: ba,
1861
- ASSETS: wa,
1862
- ASSETS_MANAGER: va,
1863
- COMPONENTS: La,
1864
- CORE: Ta,
1865
- FORGOT_PASSWORD: _a,
1866
- INVITATION: Oa,
1867
- LOGIN: Ra,
1868
- PASSWORDRESET: Ia,
1869
- PERMISSION_MESSAGES: Pa,
1870
- SHELL: ha,
1871
- VC_SCHEDULER: Na,
1872
- common: Da,
1873
- default: Do,
1874
- messages: Ca
1875
- }, Symbol.toStringTag, { value: "Module" })), Bo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
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: yo,
1878
- en: No
1879
- }, Symbol.toStringTag, { value: "Module" })), Ze = k("global-error-handler");
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 Xe(e) {
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 Mo(e) {
1944
+ function Uo(e) {
1893
1945
  const t = e.config.errorHandler;
1894
1946
  if (e.config.errorHandler = (o, r, l) => {
1895
- if (Ze.error("Unhandled Vue error:", o, `
1896
- Info:`, l), !Xe(o)) {
1947
+ if (Xe.error("Unhandled Vue error:", o, `
1948
+ Info:`, l), !Qe(o)) {
1897
1949
  const c = Pe(o);
1898
- q.error(c.message, {
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 (Ze.error("Unhandled rejection:", o.reason), !Xe(o.reason)) {
1961
+ if (Xe.error("Unhandled rejection:", o.reason), !Qe(o.reason)) {
1910
1962
  const r = Pe(o.reason);
1911
- q.error(r.message, {
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 && (Ze.error("Uncaught error:", o.error), !Xe(o.error))) {
1971
+ if (o.error && (Xe.error("Uncaught error:", o.error), !Qe(o.error))) {
1920
1972
  const r = Pe(o.error);
1921
- q.error(r.message, {
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 ko = k("notification-instance"), j = {
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 Vo() {
1989
+ function Wo() {
1938
1990
  function e(s, o, r) {
1939
- document.getElementById(o) && (j[r] = s);
1991
+ document.getElementById(o) && (Z[r] = s);
1940
1992
  }
1941
1993
  function t(s) {
1942
1994
  try {
1943
- s ? j[s] && (j[s]?.unmount(), document.getElementById(`notification-${s}`)?.remove(), j[s] = void 0) : (Object.keys(j).forEach((r) => {
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
- j[l]?.unmount(), document.getElementById(`notification-${l}`)?.remove(), j[l] = void 0;
1946
- }), Object.values(j).some((r) => r !== void 0) || document.querySelector(".notification")?.remove());
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
- ko.error("Failed to unmount notification component:", o);
2000
+ Fo.error("Failed to unmount notification component:", o);
1949
2001
  }
1950
2002
  }
1951
2003
  function a() {
1952
- Object.keys(j).forEach((s) => {
1953
- j[s] && t(s);
2004
+ Object.keys(Z).forEach((s) => {
2005
+ Z[s] && t(s);
1954
2006
  });
1955
2007
  }
1956
2008
  function n(s) {
1957
- return j[s];
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: Uo, unmountComponent: Fo, saveInstance: Wo, getInstanceByPosition: bt } = Vo();
1974
- function Ho() {
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(() => pr), h = sn(S, {
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
- h.use(X), h.provide(Zt, { notificationContainers: G, actions: c }), h.mount(d), Wo(h, d.id, E);
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((h) => h.notificationId === u);
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 && Fo(m), be(() => {
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
- Uo(), Object.values(G).forEach((u) => {
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 h = S.value.find((T) => T.notificationId === u.notificationId);
2051
- h && (E = h, m = S, f = d);
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
- (h) => h.notificationId !== u.notificationId
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, h = u[S];
2066
- E && h !== void 0 && (E[S] = h);
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: Fa,
2139
+ generateNotificationId: Va,
2088
2140
  hasNotification: l
2089
2141
  };
2090
2142
  }
2091
- function Go() {
2092
- const e = Ho();
2093
- Wa({
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 xo = "2.5.0-pr332.a439a24";
2103
- function $o() {
2154
+ const zo = "2.5.0-pr333.e765c02";
2155
+ function qo() {
2104
2156
  return {
2105
- version: xo,
2106
- buildDate: "2026-08-31T13:48:32.120Z",
2107
- gitHash: "a439a24e0"
2157
+ version: zo,
2158
+ buildDate: "2026-08-31T13:27:11.794Z",
2159
+ gitHash: "e765c0252"
2108
2160
  };
2109
2161
  }
2110
- function Ko(e = $o()) {
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 zo = /* @__PURE__ */ H({
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 } = Ha(), r = C(() => a.render === "always" ? !0 : a.render === "mobile" ? s.value : o.value), l = C(() => a.isExpanded && r.value);
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(On), {
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
- }, Oe({
2141
- default: p(() => [
2142
- Y(u.$slots, "content")
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: p(({ close: m }) => [
2149
- Y(u.$slots, "header", { close: m })
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"])) : Y(u.$slots, "content", { key: 1 });
2205
+ ]), 1032, ["position", "title", "close-button", "teleport"])) : j(u.$slots, "content", { key: 1 });
2154
2206
  }
2155
- }), Ml = zo, qo = { class: "tw-flex tw-flex-row tw-items-center tw-gap-2" }, Yo = /* @__PURE__ */ H({
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 = C(() => t.logo && !t.logo.startsWith("data:image") && !t.logo.startsWith("http") ? new URL(t.logo, window.location.origin).toString() : t.logo);
2165
- return (n, s) => (b(), D(i(x), {
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: p(() => [
2171
- U("div", qo, [
2172
- I(i(st), {
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
- }), jo = { class: "tw-flex tw-justify-center tw-flex-col tw-gap-4" }, Zo = /* @__PURE__ */ H({
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", jo, [
2191
- (b(!0), W(ne, null, Fe(e.providers, (s) => (b(), D(Yo, {
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 Xo(e) {
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 Jo(e, t) {
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 Qo(e) {
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 er = {
2265
+ const nr = {
2214
2266
  key: 0,
2215
2267
  class: "vc-login-page__providers"
2216
- }, tr = {
2268
+ }, sr = {
2217
2269
  key: 0,
2218
2270
  class: "vc-login-page__separator-line"
2219
- }, ar = /* @__PURE__ */ H({
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(), h = N(!1);
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(), h.value = !0;
2283
+ S.value = await f(), L.value = !0;
2232
2284
  });
2233
- const T = C(() => ({
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 R = Xo(localStorage.getItem("redirectAfterLogin"));
2246
- localStorage.removeItem("redirectAfterLogin"), await s.push(R);
2297
+ const O = er(localStorage.getItem("redirectAfterLogin"));
2298
+ localStorage.removeItem("redirectAfterLogin"), await s.push(O);
2247
2299
  return;
2248
2300
  }
2249
- c.value.error = Jo(c.value, n), v.password = "", o("password");
2301
+ c.value.error = tr(c.value, n), v.password = "", o("password");
2250
2302
  }
2251
- }, O = () => {
2303
+ }, C = () => {
2252
2304
  s.push({ name: "ForgotPassword" });
2253
2305
  };
2254
- return t.debug("Init login-page"), (R, g) => (b(), D(i(_e), {
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 || R.$t("LOGIN.TITLE"),
2258
- subtitle: e.subtitle || R.$t("LOGIN.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: p(() => [
2262
- S.value && S.value.length ? (b(), W("div", er, [
2263
- I(Zo, { providers: S.value }, null, 8, ["providers"]),
2264
- e.ssoOnly ? z("", !0) : (b(), W("div", tr, y(R.$t("LOGIN.OR")), 1))
2265
- ])) : z("", !0),
2266
- e.ssoOnly && h.value && !S.value?.length ? (b(), D(i(Ee), {
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: p(() => [
2271
- M(y(R.$t("LOGIN.SSO_NO_PROVIDERS_ERROR")), 1)
2322
+ default: h(() => [
2323
+ M(y(O.$t("LOGIN.SSO_NO_PROVIDERS_ERROR")), 1)
2272
2324
  ]),
2273
2325
  _: 1
2274
- })) : z("", !0),
2275
- e.ssoOnly ? z("", !0) : (b(), W(ne, { key: 2 }, [
2276
- I(i(ge), {
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: p(() => [
2281
- I(i(Z), {
2282
- label: R.$t("LOGIN.FIELDS.LOGIN.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: p(({ errorMessage: _, handleChange: A, errors: L }) => [
2288
- I(i($), {
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: R.$t("LOGIN.FIELDS.LOGIN.LABEL"),
2296
- placeholder: R.$t("LOGIN.FIELDS.LOGIN.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: !!L.length,
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
- I(i(Z), {
2306
- label: R.$t("LOGIN.FIELDS.PASSWORD.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: p(({ errorMessage: _, handleChange: A, errors: L }) => [
2312
- I(i($), {
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: R.$t("LOGIN.FIELDS.PASSWORD.LABEL"),
2320
- placeholder: R.$t("LOGIN.FIELDS.PASSWORD.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: !!L.length,
2325
- "error-message": _,
2326
- onKeyup: it(w, ["enter"])
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
- I(i(x), {
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: p(() => [
2340
- M(y(R.$t("LOGIN.BUTTON")), 1)
2391
+ default: h(() => [
2392
+ M(y(O.$t("LOGIN.BUTTON")), 1)
2341
2393
  ]),
2342
2394
  _: 1
2343
2395
  }, 8, ["disabled", "loading"]),
2344
- I(i(x), {
2396
+ _(i($), {
2345
2397
  variant: "link",
2346
2398
  class: "tw-w-full tw-justify-center",
2347
2399
  type: "button",
2348
- onClick: O
2400
+ onClick: C
2349
2401
  }, {
2350
- default: p(() => [
2351
- M(y(R.$t("LOGIN.FORGOT_PASSWORD_BUTTON")), 1)
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
- I(i(ps), {
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 ? z("", !0) : (b(), D(i(Ee), {
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: p(() => [
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
- }), kl = ar, nr = { class: "tw-text-center" }, sr = { class: "tw-text-center tw-mb-6" }, or = { class: "tw-text-sm tw-text-neutrals-600" }, rr = /* @__PURE__ */ H({
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 = C(() => ({
2452
+ const f = I(() => ({
2401
2453
  logo: r.value ? "" : o.value?.logo || t.logo
2402
- })), d = C(() => {
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
- }, h = () => {
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: p(() => [
2475
+ default: h(() => [
2424
2476
  u.value ? (b(), W(ne, { key: 1 }, [
2425
- U("div", sr, [
2426
- U("p", or, y(i(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: d.value })), 1)
2477
+ U("div", ir, [
2478
+ U("p", lr, y(i(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: d.value })), 1)
2427
2479
  ]),
2428
- I(i(x), {
2480
+ _(i($), {
2429
2481
  variant: "primary",
2430
2482
  class: "tw-w-full",
2431
- onClick: h
2483
+ onClick: L
2432
2484
  }, {
2433
- default: p(() => [
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
- I(i(ge), { onSubmit: S }, {
2440
- default: p(() => [
2441
- I(i(Z), {
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: p(({ errorMessage: w, handleChange: O, errors: R }) => [
2448
- I(i($), {
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
- O
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: !!R.length,
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
- I(i(x), {
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: p(() => [
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", nr, [
2478
- I(i(x), {
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: h
2535
+ onClick: L
2484
2536
  }, {
2485
- default: p(() => [
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: p(() => [
2550
+ default: h(() => [
2499
2551
  M(y(c.value), 1)
2500
2552
  ]),
2501
2553
  _: 1
2502
- })) : z("", !0)
2554
+ })) : q("", !0)
2503
2555
  ], 64))
2504
2556
  ]),
2505
2557
  _: 1
2506
2558
  }, 8, ["logo", "background", "title", "subtitle"]));
2507
2559
  }
2508
- }), Vl = rr, ir = /* @__PURE__ */ H({
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 = C(() => r.value || !f.password || !f.confirmPassword || !f.isValid && f.tokenIsValid), S = async () => {
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
- }, h = async () => {
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 O = await o(t.userName, f.password);
2539
- O.succeeded ? l.push("/") : f.errors = "error" in O && [O.error] || [];
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 = C(() => ({
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: p(() => [
2604
+ default: h(() => [
2553
2605
  i(r) ? (b(), D(i(Ht), {
2554
2606
  key: 0,
2555
2607
  active: ""
2556
- })) : z("", !0),
2557
- I(i(ge), null, {
2558
- default: p(() => [
2559
- I(i(Z), {
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: p(({ field: O, errorMessage: R, handleChange: g, errors: _ }) => [
2566
- I(i($), re(O, {
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: !!_.length,
2583
- "error-message": R
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
- I(i(Z), {
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: p(({ field: O, errorMessage: R, handleChange: g, errors: _ }) => [
2595
- I(i($), re(O, {
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: !!_.length,
2612
- "error-message": R,
2613
- onKeyup: it(h, ["enter"])
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
- I(i(x), {
2670
+ _(i($), {
2619
2671
  variant: "primary",
2620
2672
  class: "tw-w-full",
2621
2673
  disabled: d.value,
2622
2674
  loading: i(r),
2623
- onClick: h
2675
+ onClick: L
2624
2676
  }, {
2625
- default: p(() => [
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, (O) => (b(), D(i(Ee), {
2631
- key: O,
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: p(() => [
2635
- M(y(i(c)(`PASSWORDRESET.ERRORS.${O}`)), 1)
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
- }), Ul = ir, lr = /* @__PURE__ */ H({
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 = ut(), { uiSettings: m, loading: f } = we(), d = ie({
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 = C(() => !E.value || !u.value);
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 h = async () => {
2719
+ const L = async () => {
2668
2720
  if (d.tokenIsValid) {
2669
2721
  const w = (await n(d.password)).errors;
2670
- d.errors = w?.map((O) => O.code), d.confirmPassword && d.confirmPassword !== d.password && d.errors.push("Repeat-password"), d.isValid = d.errors.length == 0 && !S.value;
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 = C(() => ({
2727
+ }, v = I(() => ({
2676
2728
  logo: f.value ? "" : m.value?.logo || t.logo
2677
2729
  }));
2678
- return (w, O) => (b(), D(i(_e), {
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: p(() => [
2736
+ default: h(() => [
2685
2737
  i(r) ? (b(), D(i(Ht), {
2686
2738
  key: 0,
2687
2739
  active: ""
2688
- })) : z("", !0),
2689
- I(i(ge), null, {
2690
- default: p(() => [
2691
- I(i($), {
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
- I(i(Z), {
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: p(({ field: R, errorMessage: g, handleChange: _, errors: A }) => [
2706
- I(i($), re(R, {
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
- O[0] || (O[0] = (L) => d.password = L),
2711
- (L) => {
2712
- _(L), h();
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
- I(i(Z), {
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: p(({ field: R, errorMessage: g, handleChange: _, errors: A }) => [
2735
- I(i($), re(R, {
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
- O[1] || (O[1] = (L) => d.confirmPassword = L),
2740
- (L) => {
2741
- _(L), h();
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: it(T, ["enter"])
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
- I(i(x), {
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: p(() => [
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, (R) => (b(), D(i(Ee), {
2771
- key: R,
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: p(() => [
2775
- M(y(i(c)(`INVITATION.ERRORS.${R}`)), 1)
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
- }), Fl = lr, ur = {
2838
+ }), Gl = dr, Er = {
2787
2839
  key: 0,
2788
2840
  class: "tw-mb-4"
2789
- }, cr = { class: "tw-flex tw-gap-3" }, dr = /* @__PURE__ */ H({
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 = C(() => ({
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 = ut(), f = ve(), d = ie({
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 = C(() => !m.value || !E.value);
2808
- async function h() {
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 ?? [], O = Qo({
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, ...O], d.isValid = d.errors.length == 0;
2875
+ d.errors = [...w, ...C], d.isValid = d.errors.length == 0;
2824
2876
  }
2825
2877
  });
2826
2878
  }
2827
- return (w, O) => (b(), D(i(_e), {
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: p(() => [
2834
- e.forced ? (b(), W("div", ur, [
2835
- I(i(Rn), {
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: p(() => [
2892
+ default: h(() => [
2841
2893
  M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.FORCED.LABEL")), 1)
2842
2894
  ]),
2843
2895
  _: 1
2844
2896
  })
2845
- ])) : z("", !0),
2846
- I(i(ge), null, {
2847
- default: p(() => [
2848
- I(i(Z), {
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: p(({ field: R, errorMessage: g, errors: _ }) => [
2855
- I(i($), re(R, {
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
- O[0] || (O[0] = (A) => d.currentPassword = A),
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: !!_.length,
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
- I(i(Z), {
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: p(({ field: R, errorMessage: g, errors: _ }) => [
2881
- I(i($), re(R, {
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
- O[1] || (O[1] = (A) => d.password = A),
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: !!_.length,
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
- I(i(Z), {
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: p(({ field: R, errorMessage: g, errors: _ }) => [
2907
- I(i($), re(R, {
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
- O[2] || (O[2] = (A) => d.confirmPassword = A),
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: !!_.length,
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", cr, [
2927
- I(i(x), {
2978
+ U("div", fr, [
2979
+ _(i($), {
2928
2980
  variant: "secondary",
2929
2981
  class: "tw-flex-1",
2930
- onClick: h
2982
+ onClick: L
2931
2983
  }, {
2932
- default: p(() => [
2984
+ default: h(() => [
2933
2985
  M(y(i(a)("COMPONENTS.CHANGE_PASSWORD.CANCEL")), 1)
2934
2986
  ]),
2935
2987
  _: 1
2936
2988
  }),
2937
- I(i(x), {
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: p(() => [
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, (R, g) => (b(), D(i(Ee), {
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: p(() => [
2955
- M(y(R.code ? i(a)(`COMPONENTS.CHANGE_PASSWORD.ERRORS.${R.code}`) : R), 1)
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
- }), Wl = dr, Je = k("use-blade-navigation-adapter"), at = /* @__PURE__ */ new Set();
3018
+ }), xl = gr, Je = k("use-blade-navigation-adapter"), nt = /* @__PURE__ */ new Set();
2967
3019
  function oe(e, t) {
2968
- if (at.has(e)) return;
2969
- at.add(e);
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 Hl() {
2992
- De = void 0, ye = void 0, at.clear();
3043
+ function $l() {
3044
+ De = void 0, ye = void 0, nt.clear();
2993
3045
  }
2994
- function Er() {
2995
- const e = ss, t = rs, a = os;
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 = ns?.router;
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 = C(() => {
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 = C(() => {
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 fr(e) {
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 mr(e) {
3083
+ function Ar(e) {
3032
3084
  const t = Number(e);
3033
3085
  return !isNaN(t) && String(t) === e ? t : e;
3034
3086
  }
3035
- function Gl() {
3036
- const { bladeStack: e, messaging: t, bladeRegistry: a, router: n, blades: s, activeWorkspace: o } = Er(), r = on() ? Q(xt, void 0) : void 0;
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 _ = e.blades.value;
3042
- if (g >= 0 && g < _.length)
3043
- return _[g].id;
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 L = {
3047
- name: fr(g.blade),
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(L);
3106
+ if (p)
3107
+ await e.openWorkspace(R);
3056
3108
  else if (g.replaceCurrentBlade)
3057
- await e.coverCurrentBlade(L);
3109
+ await e.coverCurrentBlade(R);
3058
3110
  else {
3059
3111
  const P = l();
3060
- await e.openBlade({ ...L, parentId: P });
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 _ = c(g);
3066
- return _ ? e.closeBlade(_) : (Je.error(`closeBlade: No blade found at index ${g}.`), !1);
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(), _ = g.find((P) => P.meta?.root), A = _ ? g.find((P) => P.aliasOf?.path === _.path) ?? _ : void 0;
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 L = _n(n);
3077
- return { path: L ? `/${L}` : "/" };
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 (_ !== void 0 ? A = c(_) : A = l(), !A) {
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 L = await t.callParent(A, g.method, g.args);
3088
- typeof g.callback == "function" && g.callback(L);
3089
- } catch (L) {
3090
- Je.error(`onParentCall: Failed to call parent method "${g.method}":`, L);
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 _ = l();
3096
- if (!_) {
3097
- rn("onBeforeClose: Could not determine current blade.");
3147
+ const p = l();
3148
+ if (!p) {
3149
+ sn("onBeforeClose: Could not determine current blade.");
3098
3150
  return;
3099
3151
  }
3100
- e.registerBeforeClose(_, async () => await g() === !1);
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 h(g) {
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 _ = e.workspace.value;
3111
- if (!_) return;
3112
- const A = _.name.toLowerCase(), [L, P] = Dt(window.location.hash), B = new URLSearchParams(P);
3113
- for (const K of [...B.keys()])
3114
- K.startsWith(`${A}_`) && B.delete(K);
3115
- for (const [K, ce] of Object.entries(g))
3116
- ce != null && B.set(`${A}_${K}`, String(ce));
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 ? `${L}?${V}` : L);
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 _ = g.name.toLowerCase(), A = new URLSearchParams(Dt(window.location.hash)[1]), L = {};
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(`${_}_`) && (L[P.replace(`${_}_`, "")] = mr(B));
3127
- return Object.keys(L).length > 0 ? L : void 0;
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 O(g) {
3134
- const _ = c(g);
3135
- _ && e.clearBladeError(_);
3185
+ function C(g) {
3186
+ const p = c(g);
3187
+ p && e.clearBladeError(p);
3136
3188
  }
3137
- const R = C(() => {
3189
+ const O = I(() => {
3138
3190
  if (!r) return;
3139
3191
  const g = r.value;
3140
3192
  return {
3141
- idx: e.blades.value.findIndex((L) => L.id === g.id),
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: h,
3208
+ routeResolver: L,
3157
3209
  setNavigationQuery: T,
3158
3210
  getNavigationQuery: v,
3159
3211
  setBladeError: w,
3160
- clearBladeError: O,
3161
- currentBladeNavigationData: R
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 xl(e) {
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(J(t.value)), m = N(!1);
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 = C(() => f.value && m.value), S = C(() => !(!f.value || !l.value.valid || !m.value || a && !a.value));
3194
- function h() {
3195
- E.value = J(t.value), m.value = !1, f.value = !0;
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 = J(E.value);
3255
+ t.value = Q(E.value);
3204
3256
  }
3205
- if (s && xs(d), n !== !1) {
3206
- const { onBeforeClose: w } = lt(), { showConfirmation: O } = In();
3257
+ if (s && zs(d), n !== !1) {
3258
+ const { onBeforeClose: w } = ut(), { showConfirmation: C } = Rn();
3207
3259
  w(async () => {
3208
- let R;
3209
- if (typeof n == "object" ? R = n.value && d.value : R = d.value, R) {
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 O(g);
3263
+ return !await C(g);
3212
3264
  }
3213
3265
  return !1;
3214
3266
  });
3215
3267
  }
3216
- return Bt(Mn, { isModified: d, canSave: S }), {
3217
- setBaseline: h,
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: C(() => f.value),
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, ya = 3;
3229
- function gr(e, t, a) {
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, ya - 1) * Be;
3304
+ c = r + Math.min(n - 1, Na - 1) * Be;
3253
3305
  return { toasts: l, frontHeight: r, groupHeight: c };
3254
3306
  }
3255
- function Sr() {
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 Ar = H({
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 } = Q(Zt), n = C(() => t[e.position].value || []), {
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
- } = Sr();
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 h = C(() => (e.position || "top-center").startsWith("top"));
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, O = v > 1, R = gr(
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, L) => {
3374
- const { sonnerIndex: P, zIndex: B, offset: V, initialHeight: K } = R.toasts[L], ce = {
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": K ? `${K}px` : "auto"
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: ya,
3438
+ visibleToasts: Na,
3387
3439
  style: ce
3388
- }, Ba = A.content && f(A.content) ? ee(ft, { ...Ae, content: ee(ln(A.content)) }) : ee(ft, Ae);
3389
- return ee("li", { key: A.notificationId, style: { display: "contents" } }, [Ba]);
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 _ = null;
3392
- return O && (_ = ee(
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
- [h.value ? "top" : "bottom"]: "0",
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(kn, { icon: "lucide-x", size: "xs", "aria-hidden": "true" }),
3416
- X.global.t("CORE.NOTIFICATIONS.CLEAR_ALL")
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": h.value ? "top" : "bottom",
3478
+ "data-y-position": L.value ? "top" : "bottom",
3427
3479
  style: {
3428
- "--front-toast-height": `${R.frontHeight}px`,
3480
+ "--front-toast-height": `${O.frontHeight}px`,
3429
3481
  "--gap": `${Be}px`,
3430
3482
  width: "var(--width, 356px)",
3431
- height: `${R.groupHeight}px`
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
- }), pr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3498
+ }), Or = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3447
3499
  __proto__: null,
3448
- default: Ar
3500
+ default: hr
3449
3501
  }, Symbol.toStringTag, { value: "Module" }));
3450
- function Tr(e, t) {
3451
- t.i18n?.locale && (X.global.locale.value = t.i18n.locale), t.i18n?.fallbackLocale && (X.global.fallbackLocale.value = t.i18n.fallbackLocale), e.use(X);
3452
- const a = vn();
3453
- e.provide(Vn, a);
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
- X.global.mergeLocaleMessage(n(s), o);
3457
- }, Object.entries(Bo).forEach(([s, o]) => {
3458
- X.global.mergeLocaleMessage(n(s), o);
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 hr(e) {
3462
- const t = ka({
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(Un, e.config.globalProperties.$isPhone), e.provide(Fn, e.config.globalProperties.$isTablet), e.provide(Wn, e.config.globalProperties.$isMobile), e.provide(Hn, e.config.globalProperties.$isDesktop), e.provide(Gn, e.config.globalProperties.$isTouch);
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 Lr(e) {
3469
- e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(xn, e.config.globalProperties.bladeRoutes);
3520
+ function _r(e) {
3521
+ e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(Hn, e.config.globalProperties.bladeRoutes);
3470
3522
  }
3471
- function Or(e) {
3472
- e.provide(Gt, xa()), e.provide($n, $a()), e.provide(Kn, Ka()), e.provide(zn, za()), e.provide(qn, qa()), e.provide(Yn, me());
3473
- const t = wn(e);
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 Rr(e, t) {
3477
- Go(), e.use(ws, { router: t.router }), e.use(ys), e.use(mo), e.use(To), e.use(Rs), e.use(Os), e.use(is), e.use(Xn, t.aiAgent);
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 _r(e, t) {
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(Ya, a);
3544
+ e.provide(za, a);
3493
3545
  }
3494
- function Ir(e, t) {
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(ls, a);
3508
- const n = e.runWithContext(() => us());
3509
- e.provide(ja, n), e.runWithContext(() => {
3510
- const { setupPageTracking: s } = Za();
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 vr(e) {
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 } = nt();
3585
+ const { hasAccess: s } = st();
3534
3586
  if (a.meta.permissions) {
3535
3587
  if (s(a.meta.permissions)) return !0;
3536
3588
  {
3537
- q.error(X.global.t("PERMISSION_MESSAGES.ACCESS_RESTRICTED"), {
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 $l = {
3598
+ const ql = {
3547
3599
  install(e, t) {
3548
- Ko(), Ga().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch = Co(t.router), Tr(e, t), hr(e), Lr(e), Or(e), Rr(e, t), _r(e, t), Mo(e), typeof window < "u" && (e.runWithContext(() => aa()), e.runWithContext(() => sa())), vr(t.router), setTimeout(() => {
3549
- performance.mark("vc:deferred-plugins-start"), Ir(e, t), performance.mark("vc:deferred-plugins-done");
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
- Wf as AI_AGENT_URL_ENV_KEY,
3555
- HE as AiAgentServiceKey,
3556
- GE as ApiException,
3557
- xE as AppBarMobileButtonsServiceKey,
3558
- Kn as AppBarWidgetServiceKey,
3559
- ja as AppInsightsInstanceKey,
3560
- Ya as AppInsightsOptionsKey,
3561
- $E as AppManifestClient,
3562
- KE as AppPlacement,
3563
- zE as AppRootElementKey,
3564
- qE as AppsClient,
3565
- mo as AssetsDetailsModule,
3566
- Ao as AssetsManager,
3567
- To as AssetsManagerModule,
3568
- YE as AuthApiBase,
3569
- jE as AuthorizationClient,
3570
- ql as BUILTIN_CELL_TYPES,
3571
- ZE as BladeBackButtonKey,
3572
- XE as BladeBannersKey,
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
- JE as BladeDataKey,
3626
+ tf as BladeDataKey,
3575
3627
  xt as BladeDescriptorKey,
3576
- Yl as BladeError,
3577
- Mn as BladeFormKey,
3578
- QE as BladeLoadingKey,
3579
- ef as BladeMaximizedKey,
3580
- bn as BladeMessagingKey,
3581
- tf as BladeRenderingStateKey,
3582
- xn as BladeRoutesKey,
3583
- Pn as BladeStackKey,
3584
- jl as ButtonGroupKey,
3585
- Cs as COMPONENT_DEFAULTS,
3586
- Zl as CellDate,
3587
- Xl as CellDateAgo,
3588
- Jl as CellDefault,
3589
- Ql as CellEditableWrapper,
3590
- eu as CellHtml,
3591
- tu as CellImage,
3592
- au as CellLink,
3593
- nu as CellMoney,
3594
- su as CellNumber,
3595
- ou as CellStatus,
3596
- ru as CellStatusIcon,
3597
- af as ChangeLogClient,
3598
- hc as ChangePassword,
3599
- Lc as ChangePasswordButton,
3600
- Wl as ChangePasswordPage,
3601
- Am as ChartContainer,
3602
- pm as ChartLegend,
3603
- Tm as ChartTooltip,
3604
- nf as CloseSettingsMenuKey,
3605
- Oc as ColumnCollector,
3606
- Hf as DEFAULT_AI_AGENT_CONFIG,
3607
- hm as DashboardBarChart,
3608
- Lm as DashboardDonutChart,
3609
- nm as DashboardFeedList,
3610
- sm as DashboardFeedRow,
3611
- Om as DashboardLineChart,
3612
- sf as DashboardServiceKey,
3613
- om as DashboardStatItem,
3614
- rm as DashboardWidgetCard,
3615
- of as DeveloperToolsClient,
3616
- rf as DiagnosticsClient,
3617
- iu as DisplayableError,
3618
- im as DraggableDashboard,
3619
- lf as DynamicModulesKey,
3620
- uf as DynamicPropertiesClient,
3621
- cf as DynamicPropertyValueType,
3622
- Gf as EMBEDDED_TO_HOST_MESSAGE_TYPES,
3623
- df as EmbeddedModeKey,
3624
- Ef as EntryState,
3625
- Rc as ErrorInterceptor,
3626
- ps as ExtensionPoint,
3627
- _m as ExtensionPoints,
3628
- Zo as ExternalProviders,
3629
- ff as ExternalSignInClient,
3630
- lu as FALLBACK_BLADE_ID,
3631
- Vl as ForgotPassword,
3632
- uu as FrameworkError,
3633
- xf as HOST_TO_EMBEDDED_MESSAGE_TYPES,
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
- mf as InternalRoutesKey,
3636
- Fl as Invite,
3637
- Hn as IsDesktopKey,
3638
- Wn as IsMobileKey,
3639
- Un as IsPhoneKey,
3640
- Fn as IsTabletKey,
3641
- Gn as IsTouchKey,
3642
- gf as JobsClient,
3643
- Sf as JsonValueKind,
3644
- lm as LAYOUT_STORAGE_KEY,
3645
- _c as LanguageSelector,
3646
- Vn as LanguageServiceKey,
3647
- Af as LocalizableSettingsClient,
3648
- kl as Login,
3649
- Ic as LogoutButton,
3650
- vc as MenuBurgerIcon,
3651
- zn as MenuServiceKey,
3652
- cu as ModuleLoadError,
3653
- pf as ModulesClient,
3654
- Tf as ModulesLoadErrorKey,
3655
- hf as ModulesReadyKey,
3656
- Lf as NOOP_URL_SINK,
3657
- Ar as NotificationContainer,
3658
- un as NotificationContextKey,
3659
- wc as NotificationDropdown,
3660
- Yn as NotificationStoreKey,
3661
- Cc as NotificationTemplate,
3662
- Of as OAuthAppsClient,
3663
- Rf as ProgressMessageLevel,
3664
- _f as PushNotificationClient,
3665
- du as RegistrationError,
3666
- Ul as ResetPassword,
3667
- Pc as SCHEDULER_ZOOM_LEVELS,
3668
- If as SecurityClient,
3669
- Eu as ServiceError,
3670
- Nn as SettingClient,
3671
- vf as SettingValueType,
3672
- bc as SettingsMenu,
3673
- Nc as SettingsMenuItem,
3674
- qn as SettingsMenuServiceKey,
3675
- wf as SettingsV2Client,
3676
- Cf as ShellIndicatorsKey,
3677
- Ml as Sidebar,
3678
- Pf as SortDirection,
3679
- Dc as Table,
3680
- yc as TableBody,
3681
- Bc as TableCell,
3682
- Mc as TableCheckbox,
3683
- kc as TableColumnSwitcher,
3684
- Vc as TableEmpty,
3685
- Uc as TableFooter,
3686
- Fc as TableGroupRow,
3687
- Wc as TableHead,
3688
- Hc as TableHeader,
3689
- Gc as TableRow,
3690
- xc as TableRowActions,
3691
- $c as TableSearchHeader,
3692
- Kc as TableSelectAllBar,
3693
- zc as ThemeSelector,
3694
- $n as ToolbarServiceKey,
3695
- qc as UserDropdownButton,
3696
- fu as ValidationError,
3697
- Yc as VcAccordion,
3698
- jc as VcAccordionItem,
3699
- $f as VcAiAgentPanel,
3700
- Zc as VcApp,
3701
- Xc as VcAppBarMobileActions,
3702
- Jc as VcAppBarOverlay,
3703
- Qc as VcAppBarWidgetContent,
3704
- ed as VcAppBarWidgetItem,
3705
- td as VcAppBarWidgetsMenu,
3706
- ad as VcAppDesktopLayout,
3707
- nd as VcAppMenu,
3708
- sd as VcAppMenuSidebar,
3709
- od as VcAppMobileLayout,
3710
- rd as VcAppSidebarCollapseButton,
3711
- id as VcAppSidebarContent,
3712
- ld as VcAppSidebarHeader,
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
- ud as VcBadge,
3715
- Rn as VcBanner,
3766
+ Ed as VcBadge,
3767
+ On as VcBanner,
3716
3768
  Wt as VcBlade,
3717
- cd as VcBladeNavigation,
3718
- ws as VcBladeNavigationComponent,
3719
- dd as VcBladeNavigationV2,
3720
- Ed as VcBladeSlot,
3721
- fd as VcBreadcrumbs,
3722
- x as VcButton,
3723
- md as VcButtonGroup,
3724
- gd as VcCard,
3725
- Sd as VcCheckbox,
3726
- Ad as VcCheckboxGroup,
3727
- pd as VcCol,
3728
- mu as VcColorInput,
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
- Tn as VcContainer,
3731
- Ln as VcDataTable,
3732
- gu as VcDatePicker,
3733
- Td as VcDropdown,
3734
- hd as VcDropdownItem,
3735
- Ld as VcDynamicProperty,
3736
- Od as VcEditor,
3737
- Rd as VcEnvironmentBanner,
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
- _d as VcFileUpload,
3740
- ge as VcForm,
3741
- Id as VcGallery,
3791
+ wd as VcFileUpload,
3792
+ me as VcForm,
3793
+ Cd as VcGallery,
3742
3794
  Ee as VcHint,
3743
- kn as VcIcon,
3744
- st as VcImage,
3745
- vd as VcImageTile,
3746
- wd as VcImageUpload,
3747
- $ as VcInput,
3748
- Su as VcInputCurrency,
3749
- Au as VcInputDropdown,
3750
- Cd as VcInputGroup,
3751
- pu as VcLabel,
3752
- Pd as VcLanguageSelector,
3753
- Tu as VcLink,
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
- bd as VcMenu,
3756
- Nd as VcMenuExpandedKey,
3757
- Dd as VcMenuGroup,
3758
- yd as VcMenuItem,
3759
- Bd as VcMultivalue,
3760
- Md as VcPagination,
3761
- kd as VcPopover,
3762
- Sn as VcPopup,
3763
- Vd as VcProgress,
3764
- Ud as VcRadioButton,
3765
- Fd as VcRadioGroup,
3766
- Wd as VcRating,
3767
- Hd as VcRow,
3768
- Gd as VcScheduler,
3769
- hu as VcScrollableContainer,
3770
- Lu as VcSelect,
3771
- On as VcSidebar,
3772
- Ou as VcSkeleton,
3773
- xd as VcSlider,
3774
- Ru as VcStatus,
3775
- _u as VcStatusIcon,
3776
- $d as VcSwitch,
3777
- Kd as VcTable,
3778
- hn as VcTextarea,
3779
- ft as VcToast,
3780
- bf as VcTooltip,
3781
- zd as VcVideo,
3782
- qd as VcWidget,
3783
- Dn as WidgetScopeKey,
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
- Yd as _createEnvironmentNameLogic,
3787
- Nf as _createInternalUserLogic,
3788
- Hl as _resetAdapterState,
3789
- Df as _sharedInternalUserLogic,
3790
- Iu as addAppBarWidget,
3791
- vu as addMenuItem,
3792
- wu as addSettingsMenuItem,
3793
- Cu as after,
3794
- Xn as aiAgentPlugin,
3795
- jd as autofocus,
3796
- Pu as before,
3797
- bu as bigInt,
3798
- fl as camelToSnake,
3799
- gl as camelize,
3800
- um as clearLayoutStorage,
3801
- Nu as convertColorNameToHex,
3802
- Du as convertMomentFormat,
3803
- Kf as createAiAgentToolbarButton,
3804
- hl as createAppModule,
3805
- yu as createBackendRegistry,
3806
- Bu as createKeyedBackendRegistry,
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
- $l as default,
3809
- dt as defineAppModule,
3810
- Dl as defineBladeContext,
3811
- Im as defineExtensionPoint,
3812
- Zd as detectThemePreset,
3813
- zf as expectedCode,
3814
- qf as expectedEventKey,
3815
- Mu as fileWeight,
3816
- Xd as focusIfLoose,
3817
- Jd as formatBadgeCount,
3818
- ku as formatDateRelative,
3819
- Vu as formatDateWithPattern,
3820
- Yf as formatShortcut,
3821
- cm as fromGridstackNode,
3822
- Fa as generateId,
3823
- Qd as getAllBladeConfigs,
3824
- Uu as getBestThumbnailSize,
3825
- eE as getBladeConfig,
3826
- Ll as getComponentDefaults,
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
- Fu as getMenuBadge,
3830
- Wu as getMenuBadges,
3831
- Hu as getThumbnailUrl,
3832
- jf as hotkey,
3833
- X as i18n,
3834
- yl as injectBladeContext,
3835
- Gu as isFrameworkError,
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
- Zf as isTextInputFocused,
3838
- xu as isValidHexColor,
3839
- Ts as kebabToCamel,
3840
- ml as kebabToPascal,
3841
- tE as languageToCountryMap,
3842
- dm as loadLayoutFromStorage,
3843
- Ua as loading,
3844
- yf as logger,
3845
- Bf as loggers,
3846
- Xf as matchesEvent,
3847
- Em as mergeLayoutWithWidgets,
3848
- $u as mindimensions,
3849
- Ku as normalizeHexColor,
3850
- q as notification,
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
- Os as permissions,
3853
- zu as provideAppBarState,
3854
- aE as provideAppBarWidget,
3855
- qu as provideDashboardService,
3856
- nE as provideLanguages,
3857
- Yu as provideMenuService,
3858
- ju as provideSettingsMenu,
3859
- sE as provideSidebarState,
3860
- Zu as provideToolbarService,
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
- Xu as registerBuiltinCells,
3863
- Ju as registerDashboardWidget,
3864
- Qu as registerExternalWidget,
3865
- ec as registerToolbarItem,
3866
- tc as registerWidget,
3867
- ac as removeMenuBadge,
3868
- nc as removeRegisteredMenuItem,
3869
- oE as resolveEnvironment,
3870
- sc as resolveLocale,
3871
- oc as resolveLocaleSync,
3872
- fm as saveLayoutToStorage,
3873
- rc as setMenuBadge,
3874
- rE as sidebarStorageKey,
3875
- Rs as signalR,
3876
- iE as stripTenantPrefix,
3877
- mm as toGridstackWidget,
3878
- lE as useAdaptiveItems,
3879
- Jf as useAiAgent,
3880
- Uf as useAiAgentContext,
3881
- Fs as useApiClient,
3882
- uE as useAppBarMobileActions,
3883
- ic as useAppBarState,
3884
- cE as useAppBarWidget,
3885
- dE as useAppBarWidgets,
3886
- Za as useAppInsights,
3887
- Il as useAssets,
3888
- vl as useAssetsManager,
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
- EE as useBadge,
3891
- xs as useBeforeUnload,
3892
- lt as useBlade,
3893
- xl as useBladeForm,
3894
- lc as useBladeLoading,
3895
- fE as useBladeMessaging,
3896
- Gl as useBladeNavigation,
3897
- Sl as useBladeNotifications,
3898
- Qf as useBladeStack,
3899
- bl as useBladeWidgets,
3900
- wl as useBreadcrumbs,
3901
- pl as useBroadcastFilter,
3902
- uc as useCellRegistry,
3903
- mE as useCollapsible,
3904
- gE as useColumnFilter,
3905
- Ho as useContainer,
3906
- cc as useDashboard,
3907
- SE as useDataTablePagination,
3908
- AE as useDataTableSort,
3909
- Cl as useDynamicProperties,
3910
- pE as useEnvironmentName,
3911
- dc as useErrorHandler,
3912
- vm as useExtensionPoint,
3913
- TE as useFilterState,
3914
- Ec as useFloatingPosition,
3915
- fc as useFormField,
3916
- Ol as useFunctions,
3917
- hE as useGalleryPreview,
3918
- gm as useGridstack,
3919
- LE as useImageLoad,
3920
- Vo as useInstance,
3921
- em as useIsMac,
3922
- tm as useKeyboardShortcuts,
3923
- OE as useLanguages,
3924
- _l as useLatestRequest,
3925
- Jt as useLoading,
3926
- RE as useMenuActiveState,
3927
- mc as useMenuService,
3928
- Bl as useModificationTracker,
3929
- Al as useNotificationContext,
3930
- me as useNotificationStore,
3931
- Rl as useNotifications,
3932
- nt as usePermissions,
3933
- In as usePopup,
3934
- Ha as useResponsive,
3935
- gc as useScrollArrows,
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
- Sc as useSettingsMenu,
3938
- _E as useShellBootstrap,
3939
- IE as useShellLifecycle,
3940
- vE as useShellNavigation,
3941
- wE as useSidebarState,
3942
- CE as useTableColumnsReorder,
3943
- PE as useTableColumnsResize,
3944
- bE as useTableContext,
3945
- NE as useTableInlineEdit,
3946
- Tl as useTableQueryState,
3947
- DE as useTableRowGrouping,
3948
- yE as useTableRowReorder,
3949
- BE as useTableSearch,
3950
- ME as useTableSelection,
3951
- kE as useTableSort,
3952
- Mf as useTeleportTarget,
3953
- Ga as useTheme,
3954
- VE as useToggleableContent,
3955
- Ac as useToolbar,
3956
- kf as useUser,
3957
- UE as useVirtualScroll,
3958
- Pl as useWebVitals,
3959
- Nl as useWidgetTrigger,
3960
- FE as vAutofocus,
3961
- Ua as vLoading,
3962
- pc as wrapError
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
  };