@vc-shell/framework 2.6.2 → 2.6.3-rc.0

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