@vc-shell/framework 2.2.0-pr263.f4e6550 → 2.3.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 (78) hide show
  1. package/dist/ai-agent/index.js +3 -3
  2. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cm_izaFs.js +1380 -0
  3. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cm_izaFs.js.map +1 -0
  4. package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-D2KmNhhl.js → VcAiAgentPanel.vue_vue_type_style_index_0_lang-DrGobYkj.js} +381 -246
  5. package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-DrGobYkj.js.map +1 -0
  6. package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-DmHoLXKj.js → VcScheduler.vue_vue_type_script_setup_true_lang-BHufGxno.js} +6901 -6742
  7. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BHufGxno.js.map +1 -0
  8. package/dist/chunks/{VcScheduler.vue_vue_type_style_index_0_lang-DR8wrtyB.js → VcScheduler.vue_vue_type_style_index_0_lang-Iu3FiU-0.js} +1471 -1587
  9. package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-Iu3FiU-0.js.map +1 -0
  10. package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-DvM1DXj8.js → dashboard-feed-row.vue_vue_type_script_setup_true_lang-DlE4KIvq.js} +68 -68
  11. package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-DvM1DXj8.js.map → dashboard-feed-row.vue_vue_type_script_setup_true_lang-DlE4KIvq.js.map} +1 -1
  12. package/dist/chunks/{index-CvSe3hjU.js → index-C-SEYj46.js} +2 -2
  13. package/dist/chunks/{index-CvSe3hjU.js.map → index-C-SEYj46.js.map} +1 -1
  14. package/dist/chunks/{vendor-vueuse-components-BW7i7Uhb.js → vendor-vueuse-components-CoR2FSn3.js} +1 -1
  15. package/dist/chunks/{vendor-vueuse-components-BW7i7Uhb.js.map → vendor-vueuse-components-CoR2FSn3.js.map} +1 -1
  16. package/dist/chunks/{vendor-vueuse-core-BYWoPpF_.js → vendor-vueuse-core-BFa9je5E.js} +83 -82
  17. package/dist/chunks/{vendor-vueuse-core-BYWoPpF_.js.map → vendor-vueuse-core-BFa9je5E.js.map} +1 -1
  18. package/dist/chunks/{vendor-vueuse-shared-BlCOXw5g.js → vendor-vueuse-shared-kZH3-Km1.js} +2 -2
  19. package/dist/chunks/{vendor-vueuse-shared-BlCOXw5g.js.map → vendor-vueuse-shared-kZH3-Km1.js.map} +1 -1
  20. package/dist/core/blade-navigation/types/index.d.ts +8 -0
  21. package/dist/core/blade-navigation/types/index.d.ts.map +1 -1
  22. package/dist/core/composables/index.d.ts +1 -0
  23. package/dist/core/composables/index.d.ts.map +1 -1
  24. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  25. package/dist/core/composables/useKeyboardShortcuts/format.d.ts +11 -0
  26. package/dist/core/composables/useKeyboardShortcuts/format.d.ts.map +1 -0
  27. package/dist/core/composables/useKeyboardShortcuts/hotkey.d.ts +14 -0
  28. package/dist/core/composables/useKeyboardShortcuts/hotkey.d.ts.map +1 -0
  29. package/dist/core/composables/useKeyboardShortcuts/index.d.ts +23 -0
  30. package/dist/core/composables/useKeyboardShortcuts/index.d.ts.map +1 -0
  31. package/dist/core/composables/useKeyboardShortcuts/match.d.ts +14 -0
  32. package/dist/core/composables/useKeyboardShortcuts/match.d.ts.map +1 -0
  33. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  34. package/dist/core/interceptors/index.d.ts.map +1 -1
  35. package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -1
  36. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts.map +1 -1
  37. package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -1
  38. package/dist/core/types/index.d.ts +12 -0
  39. package/dist/core/types/index.d.ts.map +1 -1
  40. package/dist/core/utilities/sessionExpiration.d.ts +30 -0
  41. package/dist/core/utilities/sessionExpiration.d.ts.map +1 -0
  42. package/dist/dashboard/index.js +1 -1
  43. package/dist/framework.js +653 -644
  44. package/dist/framework.js.map +1 -1
  45. package/dist/index.css +1 -1
  46. package/dist/locales/de.js +4 -1
  47. package/dist/locales/en.js +4 -1
  48. package/dist/locales/en.json +4 -1
  49. package/dist/locales/types.d.ts +3 -0
  50. package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/shortcut-dispatch.d.ts +22 -0
  51. package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/shortcut-dispatch.d.ts.map +1 -0
  52. package/dist/shell/_internal/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue.d.ts.map +1 -1
  53. package/dist/shell/_internal/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue.d.ts.map +1 -1
  54. package/dist/shell/components/error-interceptor/interceptor.d.ts.map +1 -1
  55. package/dist/test-helpers.d.ts.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts.map +1 -1
  58. package/dist/ui/components/molecules/vc-popover/vc-popover.vue.d.ts +1 -1
  59. package/dist/ui/components/molecules/vc-popover/vc-popover.vue.d.ts.map +1 -1
  60. package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts.map +1 -1
  61. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ShortcutKbd.vue.d.ts +11 -0
  62. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ShortcutKbd.vue.d.ts.map +1 -0
  63. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.vue.d.ts.map +1 -1
  64. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/toolbar-button-props.d.ts +2 -0
  65. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/toolbar-button-props.d.ts.map +1 -1
  66. package/dist/ui/components/organisms/vc-data-table/components/VcColumn.vue.d.ts +1 -1
  67. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-filmstrip/vc-gallery-filmstrip.vue.d.ts +1 -1
  68. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-filmstrip/vc-gallery-filmstrip.vue.d.ts.map +1 -1
  69. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  70. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  71. package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts.map +1 -1
  72. package/dist/ui/index.js +20 -20
  73. package/package.json +4 -4
  74. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cx8_DCu_.js +0 -1124
  75. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cx8_DCu_.js.map +0 -1
  76. package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D2KmNhhl.js.map +0 -1
  77. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-DmHoLXKj.js.map +0 -1
  78. package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-DR8wrtyB.js.map +0 -1
package/dist/framework.js CHANGED
@@ -1,17 +1,17 @@
1
- import { a as Na, b as Da } from "./chunks/vendor-vueuse-core-BYWoPpF_.js";
2
- import { w as at, x as oe, y as q, z as X, _ as x, A as be, C as ya, I as bt, d as K, b as pe, l as Ba, D as Ma, E as ka, F as Va, V as Ee, G as Ua, H as Fa, J as Wa, K as Ga, L as Ha, M as $a, N as xa, O as Ka, P as za } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-DR8wrtyB.js";
3
- import { Q as Fl, B as Wl, R as Gl, S as Hl, T as $l, U as xl, W as Kl, X as zl, Y as ql, a as Yl, c as jl, e as Zl, f as Xl, g as Jl, h as Ql, i as eu, j as tu, k as au, Z as nu, $ as su, a0 as ou, a1 as ru, a2 as iu, a3 as lu, a4 as uu, a5 as du, a6 as cu, a7 as Eu, a8 as fu, a9 as mu, aa as gu, ab as Su, ac as Au, ad as pu, p as Tu, ae as hu, af as Lu, ag as Ou, ah as Ru, ai as _u, aj as Iu, ak as vu, al as wu, am as Cu, an as bu, ao as Pu, u as Nu, m as Du, t as yu, ap as Bu, n as Mu, o as ku, aq as Vu, q as Uu, ar as Fu, r as Wu, as as Gu, at as Hu } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-DR8wrtyB.js";
4
- import { getCurrentScope as Pt, onScopeDispose as Nt, computed as w, inject as Q, watch as ne, defineComponent as H, openBlock as C, createBlock as D, createSlots as Oe, withCtx as p, renderSlot as Y, createElementVNode as V, normalizeClass as qa, createElementBlock as G, Fragment as se, createVNode as _, unref as r, createTextVNode as k, toDisplayString as y, shallowReactive as Ya, ref as b, readonly as Je, onMounted as Re, onBeforeMount as ja, onBeforeUnmount as Za, onUnmounted as Xa, provide as Dt, toValue as yt, isRef as Bt, normalizeStyle as Mt, createCommentVNode as z, withDirectives as Ja, withModifiers as We, reactive as le, createApp as Qa, nextTick as Pe, renderList as Ue, withKeys as nt, mergeProps as ie, getCurrentInstance as en, warn as tn, h as te, toRaw as an } from "vue";
5
- import { b5 as me, b6 as nn, b7 as sn, b8 as kt, b9 as Ge, ba as on, bb as rn, ao as ln, bc as He, bd as un, be as dn, bf as Vt, Q as Ut, $ as cn, a8 as ge, aa as st, a6 as $e, aB as En, a0 as fn, av as mn, N as _e, ag as Ft, P as gn, bg as Sn, aC as dt, bh as An, bi as pn } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-DmHoLXKj.js";
6
- import { _ as xu, a as Ku, b as zu, c as qu, d as Yu, e as ju, f as Zu, g as Xu, h as Ju, i as Qu, j as ed, bj as td, bk as ad, C as nd, bl as sd, bm as od, bn as rd, k as id, bo as ld, bp as ud, S as dd, bq as cd, br as Ed, l as fd, m as md, n as gd, o as Sd, p as Ad, q as pd, T as Td, r as hd, s as Ld, t as Od, u as Rd, v as _d, w as Id, x as vd, bs as wd, bt as Cd, V as bd, y as Pd, z as Nd, A as Dd, B as yd, D as Bd, E as Md, F as kd, G as Vd, H as Ud, I as Fd, J as Wd, K as Gd, L as Hd, M as $d, O as xd, bu as Kd, bu as zd, bv as qd, R as Yd, U as jd, W as Zd, X as Xd, Y as Jd, Z as Qd, a1 as ec, a2 as tc, a3 as ac, a4 as nc, a5 as sc, a7 as oc, a9 as rc, ab as ic, ac as lc, ad as uc, ae as dc, af as cc, ah as Ec, ai as fc, aj as mc, ak as gc, al as Sc, am as Ac, an as pc, ap as Tc, aq as hc, ar as Lc, as as Oc, at as Rc, au as _c, aw as Ic, ax as vc, ay as wc, az as Cc, aA as bc, aD as Pc, aE as Nc, bw as Dc, aF as yc, bx as Bc, by as Mc, bz as kc, bA as Vc, bB as Uc, bC as Fc, bD as Wc, bE as Gc, bF as Hc, bG as $c, bH as xc, bI as Kc, bJ as zc, bK as qc, bL as Yc, bM as jc, aG as Zc, aH as Xc, aI as Jc, bN as Qc, aJ as eE, aK as tE, bO as aE, bP as nE, aL as sE, aM as oE, aN as rE, aO as iE, bQ as lE, aP as uE, aQ as dE, aR as cE, bR as EE, aS as fE, bS as mE, aT as gE, aU as SE, aV as AE, bT as pE, aW as TE, aX as hE, aY as LE, aZ as OE, a_ as RE, a$ as _E, b0 as IE, b1 as vE, b2 as wE, b3 as CE, b4 as bE, aF as PE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-DmHoLXKj.js";
7
- import { _ as Tn } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
8
- import { c as U, a as hn, b as Ln, S as On, W as Wt, B as Gt, f as Rn, g as Ht, h as $t, i as _n, _ as In, L as vn, I as wn, j as Cn, k as bn, l as Pn, m as Nn, n as Dn, T as yn, o as Bn, p as Mn, q as kn, N as Vn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D2KmNhhl.js";
9
- import { A as DE, r as yE, s as BE, t as ME, v as kE, w as VE, x as UE, y as FE, z as WE, C as GE, d as HE, e as $E, D as xE, F as KE, G as zE, H as qE, J as YE, K as jE, O as ZE, P as XE, Q as JE, R as QE, U as ef, E as tf, V as af, X as nf, Y as sf, Z as of, $ as rf, a0 as lf, a1 as uf, a2 as df, M as cf, a3 as Ef, a4 as ff, a5 as mf, a6 as gf, a7 as Sf, a8 as Af, a9 as pf, aa as Tf, ab as hf, ac as Lf, ad as Of, ae as Rf, u as _f } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-D2KmNhhl.js";
10
- import { H as Un, L as Fn } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
11
- import { a as Wn } from "./chunks/index-CvSe3hjU.js";
12
- import { u as vf } from "./chunks/index-CvSe3hjU.js";
13
- import { p as Gn, b as Hn, a as $n, s as xn, d as Kn, e as zn, f as qn, g as ot, h as Yn, i as jn, j as Zn, k as Xn, l as Jn, m as Qn } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cx8_DCu_.js";
14
- import { A as Cf, D as bf, E as Pf, H as Nf, _ as Df, c as yf, u as Bf, n as Mf } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cx8_DCu_.js";
1
+ import { b as Da, c as ya } from "./chunks/vendor-vueuse-core-BFa9je5E.js";
2
+ import { t as at, v as oe, w as q, x as X, _ as $, y as be, z as Ba, I as bt, d as K, b as pe, l as Ma, A as ka, C as Va, D as Ua, V as Ee, E as Fa, F as Wa, G as Ga, H as Ha, J as xa, K as $a, L as Ka, M as za, N as qa } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-Iu3FiU-0.js";
3
+ import { O as Gl, B as Hl, P as xl, Q as $l, R as Kl, S as zl, T as ql, U as Yl, W as jl, a as Zl, c as Xl, e as Jl, f as Ql, g as eu, h as tu, i as au, j as nu, X as su, Y as ou, Z as ru, $ as iu, a0 as lu, a1 as uu, a2 as du, a3 as cu, a4 as Eu, a5 as fu, a6 as mu, a7 as gu, a8 as Su, a9 as Au, aa as pu, ab as Tu, p as hu, ac as Lu, ad as Ou, ae as Ru, af as _u, ag as Iu, ah as vu, ai as wu, aj as Cu, ak as bu, al as Pu, am as Nu, u as Du, k as yu, r as Bu, an as Mu, m as ku, n as Vu, ao as Uu, o as Fu, ap as Wu, aq as Gu, ar as Hu } from "./chunks/VcScheduler.vue_vue_type_style_index_0_lang-Iu3FiU-0.js";
4
+ import { getCurrentScope as Pt, onScopeDispose as Nt, computed as w, inject as Q, watch as ne, defineComponent as H, openBlock as C, createBlock as D, createSlots as Oe, withCtx as p, renderSlot as Y, createElementVNode as V, normalizeClass as Ya, createElementBlock as G, Fragment as se, createVNode as _, unref as r, createTextVNode as k, toDisplayString as y, shallowReactive as ja, ref as b, readonly as Je, onMounted as Re, onBeforeMount as Za, onBeforeUnmount as Xa, onUnmounted as Ja, provide as Dt, toValue as yt, isRef as Bt, normalizeStyle as Mt, createCommentVNode as z, withDirectives as Qa, withModifiers as We, reactive as le, createApp as en, nextTick as Pe, renderList as Ue, withKeys as nt, mergeProps as ie, getCurrentInstance as tn, warn as an, h as te, toRaw as nn } from "vue";
5
+ import { b5 as me, b6 as sn, b7 as on, b8 as kt, b9 as Ge, ba as rn, bb as ln, ao as un, bc as He, bd as dn, be as cn, bf as Vt, Q as Ut, $ as En, a8 as ge, aa as st, a6 as xe, aB as fn, a0 as mn, av as gn, N as _e, ag as Ft, P as Sn, bg as An, aC as dt, bh as pn, bi as Tn } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BHufGxno.js";
6
+ import { _ as $u, a as Ku, b as zu, c as qu, d as Yu, e as ju, f as Zu, g as Xu, h as Ju, i as Qu, j as ed, bj as td, bk as ad, C as nd, bl as sd, bm as od, bn as rd, k as id, bo as ld, bp as ud, S as dd, bq as cd, br as Ed, l as fd, m as md, n as gd, o as Sd, p as Ad, q as pd, T as Td, r as hd, s as Ld, t as Od, u as Rd, v as _d, w as Id, x as vd, bs as wd, bt as Cd, V as bd, y as Pd, z as Nd, A as Dd, B as yd, D as Bd, E as Md, F as kd, G as Vd, H as Ud, I as Fd, J as Wd, K as Gd, L as Hd, M as xd, O as $d, bu as Kd, bu as zd, bv as qd, R as Yd, U as jd, W as Zd, X as Xd, Y as Jd, Z as Qd, a1 as ec, a2 as tc, a3 as ac, a4 as nc, a5 as sc, a7 as oc, a9 as rc, ab as ic, ac as lc, ad as uc, ae as dc, af as cc, ah as Ec, ai as fc, aj as mc, ak as gc, al as Sc, am as Ac, an as pc, ap as Tc, aq as hc, ar as Lc, as as Oc, at as Rc, au as _c, aw as Ic, ax as vc, ay as wc, az as Cc, aA as bc, aD as Pc, aE as Nc, bw as Dc, aF as yc, bx as Bc, by as Mc, bz as kc, bA as Vc, bB as Uc, bC as Fc, bD as Wc, bE as Gc, bF as Hc, bG as xc, bH as $c, bI as Kc, bJ as zc, bK as qc, bL as Yc, bM as jc, aG as Zc, aH as Xc, aI as Jc, bN as Qc, aJ as eE, aK as tE, bO as aE, bP as nE, aL as sE, aM as oE, aN as rE, aO as iE, bQ as lE, aP as uE, aQ as dE, aR as cE, bR as EE, aS as fE, bS as mE, aT as gE, aU as SE, aV as AE, bT as pE, aW as TE, aX as hE, aY as LE, aZ as OE, a_ as RE, a$ as _E, b0 as IE, b1 as vE, b2 as wE, b3 as CE, b4 as bE, aF as PE } from "./chunks/VcScheduler.vue_vue_type_script_setup_true_lang-BHufGxno.js";
7
+ import { _ as hn } from "./chunks/vendor-cypress-signalr-mock-itnm2wpA.js";
8
+ import { c as U, b as Ln, d as On, i as Wt, S as Rn, W as Gt, B as Ht, h as _n, j as xt, m as In, k as $t, l as vn, _ as wn, L as Cn, I as bn, n as Pn, o as Nn, p as Dn, q as yn, r as Bn, T as Mn, s as kn, t as Vn, v as Un, N as Fn } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-DrGobYkj.js";
9
+ import { A as DE, w as yE, x as BE, y as ME, z as kE, C as VE, D as UE, F as FE, G as WE, H as GE, e as HE, f as xE, J as $E, K as KE, O as zE, P as qE, Q as YE, R as jE, U as ZE, V as XE, X as JE, Y as QE, Z as ef, E as tf, $ as af, a0 as nf, a1 as sf, a2 as of, a3 as rf, a4 as lf, a5 as uf, a6 as df, M as cf, a7 as Ef, a8 as ff, a9 as mf, aa as gf, ab as Sf, ac as Af, ad as pf, ae as Tf, a as hf, af as Lf, ag as Of, ah as Rf, ai as _f, u as If, g as vf } from "./chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-DrGobYkj.js";
10
+ import { H as Wn, L as Gn } from "./chunks/vendor-microsoft-signalr-Bgpbb4fW.js";
11
+ import { a as Hn } from "./chunks/index-C-SEYj46.js";
12
+ import { u as Cf } from "./chunks/index-C-SEYj46.js";
13
+ import { p as xn, b as $n, a as Kn, s as zn, d as qn, e as Yn, f as jn, g as ot, h as Zn, i as Xn, j as Jn, k as Qn, l as es, m as ts } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cm_izaFs.js";
14
+ import { A as Pf, D as Nf, E as Df, H as yf, _ as Bf, c as Mf, n as kf, o as Vf, q as Uf, r as Ff, t as Wf, v as Gf, u as Hf, w as xf, x as $f, y as Kf } from "./chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-Cm_izaFs.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 ue } 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 es } from "./chunks/vendor-vue3-touch-events-DqysuuWh.js";
94
+ import { v as as } from "./chunks/vendor-vue3-touch-events-DqysuuWh.js";
95
95
  import "./chunks/vendor-gridstack-Beau2jQ7.js";
96
- import { _ as Vf, a as Uf, b as Ff, c as Wf, d as Gf, L as Hf, e as $f, f as xf, l as Kf, m as zf, s as qf, t as Yf, u as jf } from "./chunks/dashboard-feed-row.vue_vue_type_script_setup_true_lang-DvM1DXj8.js";
97
- import { _ as Xf, a as Jf, b as Qf, c as em, d as tm, e as am } from "./chunks/DashboardDonutChart.vue_vue_type_script_setup_true_lang-hTcM33bM.js";
98
- import { A as ts, u as as } from "./chunks/vendor-vue3-application-insights-CAgbt8pk.js";
99
- import { o as ns, c as J, d as ss, i as os } from "./chunks/vendor-lodash-es-D2n90GJy.js";
100
- import { T as rs, x as is, b as ls, S as us, $ as ds } from "./chunks/vendor-web-vitals-ByFgAM-8.js";
101
- import { _ as cs } from "./chunks/index-BuTo_Lx8.js";
102
- import { E as sm, d as om, u as rm } from "./chunks/index-BuTo_Lx8.js";
103
- function il(e) {
96
+ import { _ as qf, a as Yf, b as jf, c as Zf, d as Xf, L as Jf, e as Qf, f as em, l as tm, m as am, s as nm, t as sm, u as om } from "./chunks/dashboard-feed-row.vue_vue_type_script_setup_true_lang-DlE4KIvq.js";
97
+ import { _ as im, a as lm, b as um, c as dm, d as cm, e as Em } from "./chunks/DashboardDonutChart.vue_vue_type_script_setup_true_lang-hTcM33bM.js";
98
+ import { A as ns, u as ss } from "./chunks/vendor-vue3-application-insights-CAgbt8pk.js";
99
+ import { o as os, c as J, d as rs, i as is } from "./chunks/vendor-lodash-es-D2n90GJy.js";
100
+ import { T as ls, x as us, b as ds, S as cs, $ as Es } from "./chunks/vendor-web-vitals-ByFgAM-8.js";
101
+ import { _ as fs } from "./chunks/index-BuTo_Lx8.js";
102
+ import { E as mm, d as gm, u as Sm } from "./chunks/index-BuTo_Lx8.js";
103
+ function ul(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 Es = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
109
- function ll(e) {
110
- const t = Es(e);
108
+ const ms = (e) => e.replace(/-./g, (t) => t[1].toUpperCase());
109
+ function dl(e) {
110
+ const t = ms(e);
111
111
  return t[0].toUpperCase() + t.substring(1);
112
112
  }
113
- function ul(e) {
113
+ function cl(e) {
114
114
  return e.replace(/\W+(.)/g, function(t, a) {
115
115
  return a.toUpperCase();
116
116
  });
117
117
  }
118
- const fs = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "svg", "gif"]);
118
+ const gs = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "svg", "gif"]);
119
119
  function it(e) {
120
120
  return e.split(".").pop()?.toLowerCase();
121
121
  }
122
- function xt(e) {
123
- return e ? fs.has(it(e) ?? "") : !1;
122
+ function Kt(e) {
123
+ return e ? gs.has(it(e) ?? "") : !1;
124
124
  }
125
- function Kt(e, t = 2) {
125
+ function zt(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 ms = {
130
+ const Ss = {
131
131
  pdf: "#e74c3c",
132
132
  doc: "#2b579a",
133
133
  docx: "#2b579a",
@@ -142,21 +142,21 @@ const ms = {
142
142
  mp4: "#8e44ad",
143
143
  avi: "#8e44ad"
144
144
  };
145
- function zt(e) {
145
+ function qt(e) {
146
146
  if (!e) return "var(--neutrals-400)";
147
147
  const t = it(e) ?? "";
148
- return ms[t] ?? "var(--neutrals-400)";
148
+ return Ss[t] ?? "var(--neutrals-400)";
149
149
  }
150
- function qt(e) {
150
+ function Yt(e) {
151
151
  return e ? (it(e) ?? "FILE").toUpperCase() : "FILE";
152
152
  }
153
- const gs = {
153
+ const As = {
154
154
  install(e) {
155
155
  const { hasAccess: t } = at();
156
156
  e.config.globalProperties.$hasAccess = t;
157
157
  }
158
158
  };
159
- function dl(e) {
159
+ function El(e) {
160
160
  const t = me(), a = t.subscribe({
161
161
  types: e.types,
162
162
  filter: e.filter,
@@ -175,24 +175,24 @@ function dl(e) {
175
175
  markAsRead: o
176
176
  };
177
177
  }
178
- function cl() {
179
- const e = Q(nn);
178
+ function fl() {
179
+ const e = Q(sn);
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 El() {
184
+ function ml() {
185
185
  const e = me();
186
186
  return {
187
187
  setBroadcastFilter: e.setBroadcastFilter,
188
188
  clearBroadcastFilter: e.clearBroadcastFilter
189
189
  };
190
190
  }
191
- const Yt = Symbol("NotificationContainerState"), ct = U("signalR"), Ss = {
191
+ const jt = Symbol("NotificationContainerState"), ct = U("signalR"), ps = {
192
192
  install(e) {
193
193
  const t = me(), { isAuthenticated: a } = oe();
194
194
  let n = !1;
195
- const s = Tn("pushNotificationHub", { enableForVitest: !0 }) ?? new Un().withUrl("/pushNotificationHub").withAutomaticReconnect().configureLogging(Fn.Information).build(), o = () => {
195
+ const s = hn("pushNotificationHub", { enableForVitest: !0 }) ?? new Wn().withUrl("/pushNotificationHub").withAutomaticReconnect().configureLogging(Gn.Information).build(), o = () => {
196
196
  s.start().then(() => {
197
197
  ct.info("Connected.");
198
198
  }).catch((l) => {
@@ -217,13 +217,13 @@ const Yt = Symbol("NotificationContainerState"), ct = U("signalR"), Ss = {
217
217
  );
218
218
  }
219
219
  };
220
- function fl(e) {
221
- const t = Q(sn, void 0);
220
+ function gl(e) {
221
+ const t = Q(on, void 0);
222
222
  return {
223
223
  read: () => t ? t.read(e) : {}
224
224
  };
225
225
  }
226
- const As = U("modularity");
226
+ const Ts = U("modularity");
227
227
  function lt(e) {
228
228
  const { blades: t, locales: a, notificationTemplates: n, notifications: s } = e;
229
229
  return {
@@ -232,7 +232,7 @@ function lt(e) {
232
232
  if (t && Object.keys(t).length > 0) {
233
233
  const l = o.runWithContext(() => Q(kt));
234
234
  if (!l?._registerBladeFn)
235
- As.error("defineAppModule: BladeRegistry not found. Blade registration will be skipped.");
235
+ Ts.error("defineAppModule: BladeRegistry not found. Blade registration will be skipped.");
236
236
  else
237
237
  for (const [d, u] of Object.entries(t)) {
238
238
  const E = u.name || d;
@@ -280,14 +280,14 @@ function lt(e) {
280
280
  }
281
281
  };
282
282
  }
283
- function ml(e, t, a, n) {
283
+ function Sl(e, t, a, n) {
284
284
  return lt({
285
285
  blades: e,
286
286
  locales: t,
287
287
  notificationTemplates: a
288
288
  });
289
289
  }
290
- async function ps(e, t, a, n, s, o) {
290
+ async function hs(e, t, a, n, s, o) {
291
291
  if (!a.workspaceUrl) return !1;
292
292
  const i = t.getBladeByRoute(a.workspaceUrl);
293
293
  if (!i)
@@ -323,28 +323,28 @@ async function Et(e) {
323
323
  }
324
324
  return e.blades.value.length > 0 && e._restoreStack([]), !0;
325
325
  }
326
- async function Ts(e, t, a, n, s) {
326
+ async function Ls(e, t, a, n, s) {
327
327
  if (!e.matched.some((E) => E.meta?.root)) return;
328
328
  if (!e.matched.some((E) => E.meta?.bladeCatchAll))
329
329
  return t.blades.value.length > 0 && !await Et(t) ? !1 : void 0;
330
- const i = Object.values(e.params)?.[0] || "", l = Gn(e.path, i);
330
+ const i = Object.values(e.params)?.[0] || "", l = xn(e.path, i);
331
331
  if (!l.workspaceUrl)
332
332
  return t.blades.value.length > 0 && !await Et(t) ? !1 : void 0;
333
333
  const d = Object.fromEntries(Object.entries(e.params).filter(([, E]) => typeof E == "string"));
334
- if (await ps(t, a, l, n, s, d)) {
335
- const { path: E, query: g } = Hn(i, t.blades.value);
334
+ if (await hs(t, a, l, n, s, d)) {
335
+ const { path: E, query: g } = $n(i, t.blades.value);
336
336
  return { path: E, query: g, replace: !0 };
337
337
  }
338
338
  }
339
- const hs = {
339
+ const Os = {
340
340
  install(e, t) {
341
341
  const { router: a } = t, n = {
342
342
  router: t.router
343
343
  };
344
- zn(n);
344
+ Yn(n);
345
345
  const s = e.runWithContext(() => {
346
346
  try {
347
- return on();
347
+ return rn();
348
348
  } catch {
349
349
  console.warn(
350
350
  "[BladeNavigationPlugin] BladeRegistry not yet available. BladeStack will be created but URL restoration may be deferred."
@@ -356,18 +356,71 @@ const hs = {
356
356
  console.error("[BladeNavigationPlugin] BladeRegistry is required but not found.");
357
357
  return;
358
358
  }
359
- const { hasAccess: o } = e.runWithContext(() => at()), i = $n(s, o);
360
- e.provide(hn, i), xn(i);
361
- const l = rn(i);
362
- e.provide(Ln, l), Kn(l), qn(s);
359
+ const { hasAccess: o } = e.runWithContext(() => at()), i = Kn(s, o);
360
+ e.provide(Ln, i), zn(i);
361
+ const l = ln(i);
362
+ e.provide(On, l), qn(l), jn(s);
363
363
  const d = a.getRoutes().find((u) => u.meta?.root);
364
364
  d && a.addRoute(d.name, {
365
365
  path: ":pathMatch(.*)*",
366
366
  component: { render: () => null },
367
367
  meta: { bladeCatchAll: !0 }
368
- }), a.beforeEach((u) => Ts(u, i, s, o, a));
368
+ }), a.beforeEach((u) => Ls(u, i, s, o, a));
369
369
  }
370
- }, ut = /* @__PURE__ */ H({
370
+ }, Rs = {
371
+ input: {
372
+ maxlength: 1024,
373
+ debounce: 0,
374
+ type: "text",
375
+ autocomplete: "off"
376
+ },
377
+ select: {
378
+ debounce: 500,
379
+ pageSize: 20,
380
+ searchable: !0,
381
+ clearable: !0
382
+ },
383
+ table: {
384
+ pageSize: 20,
385
+ pageSizes: [10, 20, 50, 100],
386
+ selectable: !1,
387
+ multiselect: !1,
388
+ stickyHeader: !0
389
+ },
390
+ pagination: {
391
+ pageSize: 20,
392
+ visiblePages: 5
393
+ },
394
+ textarea: {
395
+ rows: 3,
396
+ maxlength: 4096
397
+ },
398
+ editor: {
399
+ minHeight: 200,
400
+ maxHeight: 500
401
+ },
402
+ tooltip: {
403
+ delay: 300,
404
+ placement: "top"
405
+ },
406
+ modal: {
407
+ closeOnEscape: !0,
408
+ closeOnOverlayClick: !0
409
+ },
410
+ notification: {
411
+ duration: 5e3,
412
+ position: "top-right"
413
+ },
414
+ dashboard: {
415
+ columns: 12,
416
+ rowHeight: 80,
417
+ gap: 20
418
+ }
419
+ };
420
+ function Al(e) {
421
+ return Rs[e];
422
+ }
423
+ const ut = /* @__PURE__ */ H({
371
424
  __name: "vc-popup-base",
372
425
  props: {
373
426
  title: {},
@@ -387,7 +440,7 @@ const hs = {
387
440
  function s(o) {
388
441
  n("confirm"), a.closeOnConfirm && o();
389
442
  }
390
- return (o, i) => (C(), D(ln, {
443
+ return (o, i) => (C(), D(un, {
391
444
  variant: e.variant,
392
445
  "is-mobile-fullscreen": e.isMobileFullscreen,
393
446
  title: e.title,
@@ -403,13 +456,13 @@ const hs = {
403
456
  confirm: () => s(l)
404
457
  }, () => [
405
458
  V("div", {
406
- class: qa(["vc-popup-base__actions", {
459
+ class: Ya(["vc-popup-base__actions", {
407
460
  "vc-popup-base__actions--confirm": e.mode === "confirm",
408
461
  "vc-popup-base__actions--single": e.mode === "acknowledge"
409
462
  }])
410
463
  }, [
411
464
  e.mode === "confirm" ? (C(), G(se, { key: 0 }, [
412
- _(r(x), {
465
+ _(r($), {
413
466
  text: e.confirmAsText,
414
467
  class: "vc-popup-base__confirm",
415
468
  onClick: (d) => s(l)
@@ -419,13 +472,13 @@ const hs = {
419
472
  ]),
420
473
  _: 1
421
474
  }, 8, ["text", "onClick"]),
422
- _(r(x), { onClick: l }, {
475
+ _(r($), { onClick: l }, {
423
476
  default: p(() => [
424
477
  k(y(e.cancelLabel), 1)
425
478
  ]),
426
479
  _: 1
427
480
  }, 8, ["onClick"])
428
- ], 64)) : (C(), D(r(x), {
481
+ ], 64)) : (C(), D(r($), {
429
482
  key: 1,
430
483
  class: "vc-popup-base__single",
431
484
  onClick: l
@@ -449,7 +502,7 @@ const hs = {
449
502
  } : void 0
450
503
  ]), 1032, ["variant", "is-mobile-fullscreen", "title", "closable"]));
451
504
  }
452
- }), Ls = /* @__PURE__ */ H({
505
+ }), _s = /* @__PURE__ */ H({
453
506
  __name: "vc-popup-warning",
454
507
  props: {
455
508
  title: {}
@@ -480,7 +533,7 @@ const hs = {
480
533
  } : void 0
481
534
  ]), 1032, ["confirm-label", "cancel-label", "title"]));
482
535
  }
483
- }), Os = /* @__PURE__ */ H({
536
+ }), Is = /* @__PURE__ */ H({
484
537
  __name: "vc-popup-error",
485
538
  props: {
486
539
  title: {}
@@ -508,7 +561,7 @@ const hs = {
508
561
  } : void 0
509
562
  ]), 1032, ["action-label", "title"]));
510
563
  }
511
- }), Rs = /* @__PURE__ */ H({
564
+ }), vs = /* @__PURE__ */ H({
512
565
  __name: "vc-popup-info",
513
566
  props: {
514
567
  title: {}
@@ -537,70 +590,18 @@ const hs = {
537
590
  ]), 1032, ["action-label", "title"]));
538
591
  }
539
592
  });
540
- function _s() {
541
- He("warning", Ls), He("error", Os), He("info", Rs);
593
+ function ws() {
594
+ He("warning", _s), He("error", Is), He("info", vs);
542
595
  }
543
- const Is = {
596
+ const Cs = {
544
597
  install(e) {
545
598
  const a = {
546
- popups: Ya([])
599
+ popups: ja([])
547
600
  };
548
- e.config.globalProperties.$popupPlugin = a, e.provide(un, a), dn(a), _s();
549
- }
550
- }, vs = {
551
- input: {
552
- maxlength: 1024,
553
- debounce: 0,
554
- type: "text",
555
- autocomplete: "off"
556
- },
557
- select: {
558
- debounce: 500,
559
- pageSize: 20,
560
- searchable: !0,
561
- clearable: !0
562
- },
563
- table: {
564
- pageSize: 20,
565
- pageSizes: [10, 20, 50, 100],
566
- selectable: !1,
567
- multiselect: !1,
568
- stickyHeader: !0
569
- },
570
- pagination: {
571
- pageSize: 20,
572
- visiblePages: 5
573
- },
574
- textarea: {
575
- rows: 3,
576
- maxlength: 4096
577
- },
578
- editor: {
579
- minHeight: 200,
580
- maxHeight: 500
581
- },
582
- tooltip: {
583
- delay: 300,
584
- placement: "top"
585
- },
586
- modal: {
587
- closeOnEscape: !0,
588
- closeOnOverlayClick: !0
589
- },
590
- notification: {
591
- duration: 5e3,
592
- position: "top-right"
593
- },
594
- dashboard: {
595
- columns: 12,
596
- rowHeight: 80,
597
- gap: 20
601
+ e.config.globalProperties.$popupPlugin = a, e.provide(dn, a), cn(a), ws();
598
602
  }
599
603
  };
600
- function gl(e) {
601
- return vs[e];
602
- }
603
- function ws(e, t) {
604
+ function bs(e, t) {
604
605
  let a = null;
605
606
  return function(...n) {
606
607
  a && clearTimeout(a), a = window.setTimeout(() => {
@@ -608,20 +609,20 @@ function ws(e, t) {
608
609
  }, t);
609
610
  };
610
611
  }
611
- function Cs(e, t = 0) {
612
+ function Ps(e, t = 0) {
612
613
  setTimeout(e, t);
613
614
  }
614
- const xe = /* @__PURE__ */ new WeakMap();
615
- function bs(e) {
615
+ const $e = /* @__PURE__ */ new WeakMap();
616
+ function Ns(e) {
616
617
  return function(...t) {
617
- if (!xe.has(e)) {
618
+ if (!$e.has(e)) {
618
619
  const a = e(...t);
619
- xe.set(e, a);
620
+ $e.set(e, a);
620
621
  }
621
- return xe.get(e);
622
+ return $e.get(e);
622
623
  };
623
624
  }
624
- function Ps(e, t) {
625
+ function Ds(e, t) {
625
626
  let a = !1;
626
627
  return function(...n) {
627
628
  a || (e(...n), a = !0, setTimeout(() => {
@@ -629,15 +630,15 @@ function Ps(e, t) {
629
630
  }, t));
630
631
  };
631
632
  }
632
- function Sl() {
633
+ function pl() {
633
634
  return {
634
- debounce: ws,
635
- delay: Cs,
636
- once: bs,
637
- throttle: Ps
635
+ debounce: bs,
636
+ delay: Ps,
637
+ once: Ns,
638
+ throttle: Ds
638
639
  };
639
640
  }
640
- function Al(e) {
641
+ function Tl(e) {
641
642
  const t = me(), a = e ? Array.isArray(e) ? e : [e] : [];
642
643
  let n, s;
643
644
  a.length && (s = t.subscribe({
@@ -648,7 +649,7 @@ function Al(e) {
648
649
  (i) => i.isNew && i.notifyType != null && a.includes(i.notifyType)
649
650
  ) : []);
650
651
  return {
651
- notifications: w(() => ns(t.history.value, ["created"], ["desc"])),
652
+ notifications: w(() => os(t.history.value, ["created"], ["desc"])),
652
653
  moduleNotifications: o,
653
654
  loadFromHistory: t.loadHistory,
654
655
  addNotification: t.ingest,
@@ -660,8 +661,8 @@ function Al(e) {
660
661
  };
661
662
  }
662
663
  let Ke;
663
- const Ns = U("use-async");
664
- function jt(e, t) {
664
+ const ys = U("use-async");
665
+ function Zt(e, t) {
665
666
  const a = b(!1), n = b(null), s = t?.notify !== !1, o = t?.notifyTimeout ?? 8e3;
666
667
  async function i(l, ...d) {
667
668
  a.value = !0, n.value = null;
@@ -669,14 +670,14 @@ function jt(e, t) {
669
670
  return await e(l, ...d);
670
671
  } catch (u) {
671
672
  const E = be(u);
672
- if (n.value = E, Ns.error("Async action failed:", u), s && u && typeof u == "object") {
673
+ if (n.value = E, ys.error("Async action failed:", u), s && !Wt() && u && typeof u == "object") {
673
674
  const g = `async-error-${E.message.slice(0, 80)}`, f = setTimeout(async () => {
674
- Ke || (Ke = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-DR8wrtyB.js").then((S) => S.aG)).notification), Ke.error(E.message, {
675
+ Ke || (Ke = (await import("./chunks/VcScheduler.vue_vue_type_style_index_0_lang-Iu3FiU-0.js").then((S) => S.aE)).notification), Ke.error(E.message, {
675
676
  timeout: o,
676
677
  notificationId: g
677
678
  });
678
679
  }, 0);
679
- ya(u, f, g);
680
+ Ba(u, f, g);
680
681
  }
681
682
  throw u;
682
683
  } finally {
@@ -689,7 +690,7 @@ function jt(e, t) {
689
690
  action: i
690
691
  };
691
692
  }
692
- function Ds(e) {
693
+ function Bs(e) {
693
694
  async function t() {
694
695
  return new e();
695
696
  }
@@ -697,12 +698,12 @@ function Ds(e) {
697
698
  getApiClient: t
698
699
  };
699
700
  }
700
- function Zt(...e) {
701
+ function Xt(...e) {
701
702
  return w(() => e.some((t) => t.value));
702
703
  }
703
- const ys = U("use-settings");
704
+ const Ms = U("use-settings");
704
705
  function we() {
705
- const e = b(), t = b(!1), { getApiClient: a } = Ds(On), { loading: n, action: s } = jt(async () => {
706
+ const e = b(), t = b(!1), { getApiClient: a } = Bs(Rn), { loading: n, action: s } = Zt(async () => {
706
707
  if (t.value) return;
707
708
  const i = await (await a()).getUICustomizationSetting();
708
709
  let l = null;
@@ -710,7 +711,7 @@ function we() {
710
711
  try {
711
712
  l = JSON.parse(i.defaultValue);
712
713
  } catch (d) {
713
- ys.warn("Failed to parse UI customization settings JSON; ignoring.", d);
714
+ Ms.warn("Failed to parse UI customization settings JSON; ignoring.", d);
714
715
  }
715
716
  l && !e.value && (e.value = {
716
717
  contrast_logo: l.contrast_logo,
@@ -732,11 +733,11 @@ function we() {
732
733
  }), {
733
734
  uiSettings: w(() => e.value ?? {}),
734
735
  applySettings: o,
735
- loading: Zt(n)
736
+ loading: Xt(n)
736
737
  };
737
738
  }
738
- const ft = U("use-assets"), Bs = 4;
739
- async function Ms(e, t, a, n) {
739
+ const ft = U("use-assets"), ks = 4;
740
+ async function Vs(e, t, a, n) {
740
741
  const s = new FormData();
741
742
  s.append("file", e);
742
743
  const i = await (await fetch(`/api/assets?folderUrl=/${t}`, {
@@ -749,7 +750,7 @@ async function Ms(e, t, a, n) {
749
750
  }
750
751
  return null;
751
752
  }
752
- async function ks(e, t, a) {
753
+ async function Us(e, t, a) {
753
754
  const n = [];
754
755
  for (let s = 0; s < e.length; s += a) {
755
756
  const o = e.slice(s, s + a), i = await Promise.all(o.map((l, d) => t(l, s + d)));
@@ -757,16 +758,16 @@ async function ks(e, t, a) {
757
758
  }
758
759
  return n;
759
760
  }
760
- function pl() {
761
+ function hl() {
761
762
  const e = b(!1);
762
763
  async function t(s, o, i) {
763
764
  try {
764
765
  e.value = !0;
765
766
  const l = Array.from(s);
766
- return (await ks(
767
+ return (await Us(
767
768
  l,
768
- (u, E) => Ms(u, o, E, i),
769
- Bs
769
+ (u, E) => Vs(u, o, E, i),
770
+ ks
770
771
  )).filter((u) => u !== null);
771
772
  } catch (l) {
772
773
  throw ft.error("Upload failed:", l), l;
@@ -778,7 +779,7 @@ function pl() {
778
779
  try {
779
780
  e.value = !0;
780
781
  let l = J(o) || [];
781
- return l && l.length && s.length > 0 && (l = ss(l, s, (d, u) => d[i] === u[i])), l;
782
+ return l && l.length && s.length > 0 && (l = rs(l, s, (d, u) => d[i] === u[i])), l;
782
783
  } catch (l) {
783
784
  throw ft.error("Remove failed:", l), l;
784
785
  } finally {
@@ -801,8 +802,8 @@ function pl() {
801
802
  loading: w(() => e.value)
802
803
  };
803
804
  }
804
- const Vs = U("use-assets-manager"), Us = 4;
805
- async function Fs(e, t, a, n) {
805
+ const Fs = U("use-assets-manager"), Ws = 4;
806
+ async function Gs(e, t, a, n) {
806
807
  const s = new FormData();
807
808
  s.append("file", e);
808
809
  const o = t.startsWith("/") ? t.slice(1) : t, l = await (await fetch(`/api/assets?folderUrl=/${o}`, {
@@ -815,7 +816,7 @@ async function Fs(e, t, a, n) {
815
816
  }
816
817
  return null;
817
818
  }
818
- async function Ws(e, t, a) {
819
+ async function Hs(e, t, a) {
819
820
  const n = [];
820
821
  for (let s = 0; s < e.length; s += a) {
821
822
  const o = e.slice(s, s + a), i = await Promise.all(o.map((l, d) => t(l, s + d)));
@@ -829,7 +830,7 @@ function mt(e) {
829
830
  return n === s ? t.index - a.index : n - s;
830
831
  }).map(({ item: t }, a) => ({ ...t, sortOrder: a }));
831
832
  }
832
- function Tl(e, t) {
833
+ function Ll(e, t) {
833
834
  const a = b(!1), n = b(mt(e.value ?? []));
834
835
  ne(
835
836
  () => e.value,
@@ -841,18 +842,18 @@ function Tl(e, t) {
841
842
  function s() {
842
843
  e.value = n.value;
843
844
  }
844
- const o = n, i = w(() => a.value), l = t.concurrency ?? Us, d = t.assetKey ?? "url";
845
+ const o = n, i = w(() => a.value), l = t.concurrency ?? Ws, d = t.assetKey ?? "url";
845
846
  async function u(S, L) {
846
847
  try {
847
848
  a.value = !0;
848
- const T = Array.from(S), I = t.uploadPath(), O = (await Ws(
849
+ const T = Array.from(S), I = t.uploadPath(), O = (await Hs(
849
850
  T,
850
- (h, N) => Fs(h, I, N, L),
851
+ (h, N) => Gs(h, I, N, L),
851
852
  l
852
853
  )).filter((h) => h !== null);
853
854
  n.value = [...n.value, ...O], s();
854
855
  } catch (T) {
855
- throw Vs.error("Upload failed:", T), T;
856
+ throw Fs.error("Upload failed:", T), T;
856
857
  } finally {
857
858
  a.value = !1;
858
859
  }
@@ -886,10 +887,10 @@ function Tl(e, t) {
886
887
  loading: i
887
888
  };
888
889
  }
889
- const Gs = (e) => {
890
- ja(() => {
890
+ const xs = (e) => {
891
+ Za(() => {
891
892
  window.addEventListener("beforeunload", t);
892
- }), Za(() => {
893
+ }), Xa(() => {
893
894
  window.removeEventListener("beforeunload", t);
894
895
  });
895
896
  function t(a) {
@@ -911,10 +912,10 @@ function Le(e) {
911
912
  function gt(e) {
912
913
  return !!e.dictionary;
913
914
  }
914
- function Hs(e) {
915
+ function $s(e) {
915
916
  return e.valueType === "Measure";
916
917
  }
917
- function $s(e) {
918
+ function Ks(e) {
918
919
  return e.valueType === "Color";
919
920
  }
920
921
  function W(e) {
@@ -923,7 +924,7 @@ function W(e) {
923
924
  function Fe(e, t) {
924
925
  e.values && (fe(e) && t ? e.values = e.values.filter((a) => a.languageCode !== t) : e.values = [], e.values.length > 0 && e.values.every((a) => Se(a.value)) && (e.values = []));
925
926
  }
926
- const xs = {
927
+ const zs = {
927
928
  get(e, t) {
928
929
  return fe(e) ? Le(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? "" : Le(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
929
930
  },
@@ -950,14 +951,14 @@ const xs = {
950
951
  }
951
952
  e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [W({ value: t })];
952
953
  }
953
- }, Ks = {
954
+ }, qs = {
954
955
  get(e, t) {
955
956
  return fe(e) ? (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.value ?? !1 : e.values?.[0]?.value ?? !1;
956
957
  },
957
958
  set(e, t, a) {
958
959
  e.values?.[0] ? Object.assign(e.values[0], { value: t }) : e.values = [W({ value: t })];
959
960
  }
960
- }, zs = {
961
+ }, Ys = {
961
962
  get(e, t) {
962
963
  return fe(e) ? Le(e) ? e.values?.filter((n) => n.languageCode === t) ?? [] : (e.values?.find((n) => n.languageCode === t) ?? e.values?.find((n) => !n.languageCode))?.valueId ?? "" : Le(e) ? e.values ?? [] : e.values?.[0]?.valueId ?? "";
963
964
  },
@@ -967,17 +968,17 @@ const xs = {
967
968
  Fe(e, s);
968
969
  return;
969
970
  }
970
- n?.length && (fe(e) ? qs(e, t, n, s) : Zs(e, t, n));
971
+ n?.length && (fe(e) ? js(e, t, n, s) : Js(e, t, n));
971
972
  }
972
973
  };
973
- function qs(e, t, a, n) {
974
- Array.isArray(t) ? Ys(
974
+ function js(e, t, a, n) {
975
+ Array.isArray(t) ? Zs(
975
976
  e,
976
977
  t,
977
978
  a
978
- ) : js(e, t, a, n);
979
+ ) : Xs(e, t, a, n);
979
980
  }
980
- function Ys(e, t, a) {
981
+ function Zs(e, t, a) {
981
982
  e.values = t.flatMap((n) => {
982
983
  const s = a.find(
983
984
  (o) => o.id === n.valueId || o.id === n.id
@@ -994,7 +995,7 @@ function Ys(e, t, a) {
994
995
  ) : W(n);
995
996
  });
996
997
  }
997
- function js(e, t, a, n) {
998
+ function Xs(e, t, a, n) {
998
999
  const s = a.find((o) => o.id === t);
999
1000
  if (!s) {
1000
1001
  e.values = [];
@@ -1025,7 +1026,7 @@ function js(e, t, a, n) {
1025
1026
  );
1026
1027
  }
1027
1028
  }
1028
- function Zs(e, t, a) {
1029
+ function Js(e, t, a) {
1029
1030
  if (Array.isArray(t))
1030
1031
  e.values = t.flatMap((n) => {
1031
1032
  const s = a.find(
@@ -1056,7 +1057,7 @@ function Zs(e, t, a) {
1056
1057
  ];
1057
1058
  }
1058
1059
  }
1059
- const Xs = {
1060
+ const Qs = {
1060
1061
  get(e, t) {
1061
1062
  return e.values?.[0]?.value ?? "";
1062
1063
  },
@@ -1067,7 +1068,7 @@ const Xs = {
1067
1068
  }
1068
1069
  e.values = [W({ value: t, unitOfMeasureId: a.unitOfMeasureId })];
1069
1070
  }
1070
- }, Js = {
1071
+ }, eo = {
1071
1072
  get(e, t) {
1072
1073
  return Le(e) ? e.values ?? [] : e.values?.[0]?.value ?? "";
1073
1074
  },
@@ -1082,10 +1083,10 @@ const Xs = {
1082
1083
  }
1083
1084
  };
1084
1085
  function St(e) {
1085
- return Hs(e) ? Xs : $s(e) && !gt(e) ? Js : e.valueType === "Boolean" ? Ks : gt(e) ? zs : xs;
1086
+ return $s(e) ? Qs : Ks(e) && !gt(e) ? eo : e.valueType === "Boolean" ? qs : gt(e) ? Ys : zs;
1086
1087
  }
1087
- function hl(e) {
1088
- const { searchDictionary: t, searchMeasurements: a } = e, { loading: n, action: s } = jt(async (u) => {
1088
+ function Ol(e) {
1089
+ const { searchDictionary: t, searchMeasurements: a } = e, { loading: n, action: s } = Zt(async (u) => {
1089
1090
  if (u)
1090
1091
  return await t(u);
1091
1092
  });
@@ -1117,10 +1118,10 @@ function hl(e) {
1117
1118
  setPropertyValue: d,
1118
1119
  loadDictionaries: o,
1119
1120
  loadMeasurements: i,
1120
- loading: Zt(n)
1121
+ loading: Xt(n)
1121
1122
  };
1122
1123
  }
1123
- function Ll(e) {
1124
+ function Rl(e) {
1124
1125
  const t = (n) => {
1125
1126
  }, a = (n) => {
1126
1127
  (e ?? t)({
@@ -1129,14 +1130,14 @@ function Ll(e) {
1129
1130
  rating: n.rating
1130
1131
  });
1131
1132
  };
1132
- rs(a), is(a), ls(a), us(a), ds(a);
1133
+ ls(a), us(a), ds(a), cs(a), Es(a);
1133
1134
  }
1134
- const Xt = U("use-blade-widgets");
1135
- function Ol(e) {
1136
- const t = Q(Wt);
1135
+ const Jt = U("use-blade-widgets");
1136
+ function _l(e) {
1137
+ const t = Q(Gt);
1137
1138
  if (!t)
1138
1139
  throw new bt("WidgetService");
1139
- const a = t, n = Q(Gt, void 0);
1140
+ const a = t, n = Q(Ht, void 0);
1140
1141
  if (!n)
1141
1142
  throw new Error(
1142
1143
  "[vc-shell] useBladeWidgets() requires blade context (BladeDescriptorKey). It must be called inside a blade component rendered by VcBladeSlot."
@@ -1144,14 +1145,14 @@ function Ol(e) {
1144
1145
  const s = n.value.id;
1145
1146
  Re(() => {
1146
1147
  for (const l of e)
1147
- a.registerWidget(Qs(l), s);
1148
- }), Xa(() => {
1148
+ a.registerWidget(to(l), s);
1149
+ }), Ja(() => {
1149
1150
  for (const l of e)
1150
1151
  a.unregisterWidget(l.id, s);
1151
1152
  });
1152
1153
  function o(l) {
1153
1154
  const u = a.getWidgets(s).find((E) => E.id === l);
1154
- u?.trigger?.onRefresh ? u.trigger.onRefresh() : Xt.warn(`Widget '${l}' has no trigger.onRefresh registered.`);
1155
+ u?.trigger?.onRefresh ? u.trigger.onRefresh() : Jt.warn(`Widget '${l}' has no trigger.onRefresh registered.`);
1155
1156
  }
1156
1157
  function i() {
1157
1158
  const l = a.getWidgets(s);
@@ -1160,15 +1161,15 @@ function Ol(e) {
1160
1161
  }
1161
1162
  return { refresh: o, refreshAll: i };
1162
1163
  }
1163
- function Rl(e) {
1164
- const t = Q(Rn);
1164
+ function Il(e) {
1165
+ const t = Q(_n);
1165
1166
  if (!t) {
1166
- Xt.warn("useWidgetTrigger() called outside WidgetContainer scope — trigger will not be registered.");
1167
+ Jt.warn("useWidgetTrigger() called outside WidgetContainer scope — trigger will not be registered.");
1167
1168
  return;
1168
1169
  }
1169
1170
  t.setTrigger(e);
1170
1171
  }
1171
- function Qs(e) {
1172
+ function to(e) {
1172
1173
  const t = {
1173
1174
  icon: e.icon,
1174
1175
  badge: e.badge,
@@ -1185,7 +1186,7 @@ function Qs(e) {
1185
1186
  trigger: e.onRefresh ? { onRefresh: e.onRefresh } : void 0
1186
1187
  };
1187
1188
  }
1188
- function eo(e) {
1189
+ function ao(e) {
1189
1190
  const t = {};
1190
1191
  for (const a of Object.keys(e)) {
1191
1192
  const n = e[a];
@@ -1193,14 +1194,14 @@ function eo(e) {
1193
1194
  }
1194
1195
  return t;
1195
1196
  }
1196
- function _l(e) {
1197
+ function vl(e) {
1197
1198
  Dt(
1198
- Ht,
1199
- w(() => eo(yt(e)))
1199
+ xt,
1200
+ w(() => ao(yt(e)))
1200
1201
  );
1201
1202
  }
1202
- function Il() {
1203
- const e = Q(Ht);
1203
+ function wl() {
1204
+ const e = Q(xt);
1204
1205
  if (!e)
1205
1206
  throw new bt("BladeContext");
1206
1207
  return e;
@@ -1209,11 +1210,11 @@ function At(e) {
1209
1210
  return e == null || e === "";
1210
1211
  }
1211
1212
  function pt(e, t) {
1212
- return os(e, t, (a, n) => {
1213
+ return is(e, t, (a, n) => {
1213
1214
  if (At(a) && At(n)) return !0;
1214
1215
  });
1215
1216
  }
1216
- function vl(e) {
1217
+ function Cl(e) {
1217
1218
  const t = (i) => J(r(i)), a = b(t(e)), n = b(t(e)), s = b(!1);
1218
1219
  Bt(e) && ne(
1219
1220
  e,
@@ -1246,12 +1247,12 @@ function vl(e) {
1246
1247
  resetModificationState: o
1247
1248
  };
1248
1249
  }
1249
- const to = { class: "tw-flex tw-grow-1 tw-border-t tw-border-solid tw-border-t-[--assets-details-border]" }, ao = { class: "assets-details__content tw-grow tw-basis-0 tw-w-full tw-overflow-hidden" }, no = { class: "tw-p-4" }, so = { class: "assets-details__header" }, oo = {
1250
+ const no = { class: "tw-flex tw-grow-1 tw-border-t tw-border-solid tw-border-t-[--assets-details-border]" }, so = { class: "assets-details__content tw-grow tw-basis-0 tw-w-full tw-overflow-hidden" }, oo = { class: "tw-p-4" }, ro = { class: "assets-details__header" }, io = {
1250
1251
  key: 1,
1251
1252
  class: "assets-details__file-preview tw-shrink-0"
1252
- }, ro = { class: "assets-details__meta" };
1253
+ }, lo = { class: "assets-details__meta" };
1253
1254
  Vt("AssetsDetails", {});
1254
- const io = /* @__PURE__ */ H({
1255
+ const uo = /* @__PURE__ */ H({
1255
1256
  name: "AssetsDetails",
1256
1257
  __name: "assets-details",
1257
1258
  setup(e) {
@@ -1296,37 +1297,37 @@ const io = /* @__PURE__ */ H({
1296
1297
  "toolbar-items": E.value
1297
1298
  }, {
1298
1299
  default: p(() => [
1299
- V("div", to, [
1300
- V("div", ao, [
1301
- _(r(cn), { "no-padding": !0 }, {
1300
+ V("div", no, [
1301
+ V("div", so, [
1302
+ _(r(En), { "no-padding": !0 }, {
1302
1303
  default: p(() => [
1303
- V("div", no, [
1304
+ V("div", oo, [
1304
1305
  _(r(ge), null, {
1305
1306
  default: p(() => [
1306
- V("div", so, [
1307
- r(xt)(i.value.name) ? (C(), D(r(st), {
1307
+ V("div", ro, [
1308
+ r(Kt)(i.value.name) ? (C(), D(r(st), {
1308
1309
  key: 0,
1309
1310
  src: i.value.url,
1310
1311
  size: "xl",
1311
1312
  bordered: !0,
1312
1313
  class: "tw-shrink-0"
1313
- }, null, 8, ["src"])) : (C(), G("div", oo, [
1314
+ }, null, 8, ["src"])) : (C(), G("div", io, [
1314
1315
  V("div", {
1315
1316
  class: "assets-details__file-badge",
1316
- style: Mt({ backgroundColor: r(zt)(i.value.name) })
1317
- }, y(r(qt)(i.value.name)), 5)
1317
+ style: Mt({ backgroundColor: r(qt)(i.value.name) })
1318
+ }, y(r(Yt)(i.value.name)), 5)
1318
1319
  ])),
1319
- V("div", ro, [
1320
- _(r($e), {
1320
+ V("div", lo, [
1321
+ _(r(xe), {
1321
1322
  label: r(o)("ASSETS.PAGES.DETAILS.FIELDS.SIZE"),
1322
- "model-value": r(Kt)(i.value.size)
1323
+ "model-value": r(zt)(i.value.size)
1323
1324
  }, null, 8, ["label", "model-value"]),
1324
- _(r($e), {
1325
+ _(r(xe), {
1325
1326
  label: r(o)("ASSETS.PAGES.DETAILS.FIELDS.CREATED_DATE"),
1326
1327
  "model-value": i.value.createdDate,
1327
1328
  type: "date-ago"
1328
1329
  }, null, 8, ["label", "model-value"]),
1329
- _(r($e), {
1330
+ _(r(xe), {
1330
1331
  label: r(o)("ASSETS.PAGES.DETAILS.FIELDS.URL"),
1331
1332
  "model-value": i.value.url,
1332
1333
  "display-value": i.value.name,
@@ -1372,7 +1373,7 @@ const io = /* @__PURE__ */ H({
1372
1373
  tooltip: r(o)("ASSETS.PAGES.DETAILS.FIELDS.ALT.TOOLTIP"),
1373
1374
  disabled: l.value
1374
1375
  }, null, 8, ["modelValue", "label", "placeholder", "tooltip", "disabled"])) : z("", !0),
1375
- r(t)?.hiddenFields?.includes("description") ? z("", !0) : (C(), D(r(En), {
1376
+ r(t)?.hiddenFields?.includes("description") ? z("", !0) : (C(), D(r(fn), {
1376
1377
  key: 2,
1377
1378
  modelValue: i.value.description,
1378
1379
  "onUpdate:modelValue": c[2] || (c[2] = (S) => i.value.description = S),
@@ -1394,12 +1395,12 @@ const io = /* @__PURE__ */ H({
1394
1395
  _: 1
1395
1396
  }, 8, ["title", "subtitle", "toolbar-items"]));
1396
1397
  }
1397
- }), lo = io, uo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1398
+ }), co = uo, Eo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1398
1399
  __proto__: null,
1399
- AssetsDetails: lo
1400
- }, Symbol.toStringTag, { value: "Module" })), co = lt({ blades: uo }), Eo = { class: "tw-flex tw-items-center tw-justify-center" };
1400
+ AssetsDetails: co
1401
+ }, Symbol.toStringTag, { value: "Module" })), fo = lt({ blades: Eo }), mo = { class: "tw-flex tw-items-center tw-justify-center" };
1401
1402
  Vt("AssetsManager", {});
1402
- const fo = /* @__PURE__ */ H({
1403
+ const go = /* @__PURE__ */ H({
1403
1404
  name: "AssetsManager",
1404
1405
  __name: "assets-manager",
1405
1406
  setup(e) {
@@ -1515,13 +1516,13 @@ const fo = /* @__PURE__ */ H({
1515
1516
  width: "70%"
1516
1517
  }, {
1517
1518
  default: p(() => [
1518
- Ja((C(), G("div", {
1519
+ Qa((C(), G("div", {
1519
1520
  class: "tw-relative tw-h-full tw-flex-1",
1520
1521
  onDragover: We(L, ["prevent", "stop"]),
1521
1522
  onDragleave: We(T, ["prevent"]),
1522
1523
  onDrop: We(I, ["prevent", "stop"])
1523
1524
  }, [
1524
- _(r(fn), {
1525
+ _(r(mn), {
1525
1526
  selection: g.value,
1526
1527
  "onUpdate:selection": A[0] || (A[0] = (R) => g.value = R),
1527
1528
  items: i.value,
@@ -1548,8 +1549,8 @@ const fo = /* @__PURE__ */ H({
1548
1549
  type: "image"
1549
1550
  }, {
1550
1551
  body: p(({ data: R }) => [
1551
- V("div", Eo, [
1552
- r(xt)(R.name ?? "") ? (C(), D(r(st), {
1552
+ V("div", mo, [
1553
+ r(Kt)(R.name ?? "") ? (C(), D(r(st), {
1553
1554
  key: 0,
1554
1555
  bordered: !0,
1555
1556
  size: "s",
@@ -1559,8 +1560,8 @@ const fo = /* @__PURE__ */ H({
1559
1560
  }, null, 8, ["src"])) : (C(), G("div", {
1560
1561
  key: 1,
1561
1562
  class: "assets-manager__file-badge",
1562
- style: Mt({ backgroundColor: r(zt)(R.name ?? "") })
1563
- }, y(r(qt)(R.name ?? "")), 5))
1563
+ style: Mt({ backgroundColor: r(qt)(R.name ?? "") })
1564
+ }, y(r(Yt)(R.name ?? "")), 5))
1564
1565
  ])
1565
1566
  ]),
1566
1567
  _: 1
@@ -1578,7 +1579,7 @@ const fo = /* @__PURE__ */ H({
1578
1579
  "always-visible": ""
1579
1580
  }, {
1580
1581
  body: p(({ data: R }) => [
1581
- V("div", null, y(r(Kt)(R.size ?? 0)), 1)
1582
+ V("div", null, y(r(zt)(R.size ?? 0)), 1)
1582
1583
  ]),
1583
1584
  _: 1
1584
1585
  }, 8, ["title"]),
@@ -1604,7 +1605,7 @@ const fo = /* @__PURE__ */ H({
1604
1605
  _: 1
1605
1606
  }, 8, ["selection", "items", "reorderable-rows", "selection-mode", "row-actions", "empty-state"])
1606
1607
  ], 32)), [
1607
- [r(Ba), l.value]
1608
+ [r(Ma), l.value]
1608
1609
  ]),
1609
1610
  V("input", {
1610
1611
  ref_key: "uploader",
@@ -1619,14 +1620,14 @@ const fo = /* @__PURE__ */ H({
1619
1620
  _: 1
1620
1621
  }, 8, ["title", "toolbar-items"]));
1621
1622
  }
1622
- }), mo = fo, go = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1623
+ }), So = go, Ao = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1623
1624
  __proto__: null,
1624
- AssetsManager: mo
1625
- }, Symbol.toStringTag, { value: "Module" })), So = lt({ blades: go }), Tt = U("connection-status"), ht = "vc-framework-offline-status", Lt = b(!1), Ot = b(!0);
1626
- function Jt() {
1625
+ AssetsManager: So
1626
+ }, Symbol.toStringTag, { value: "Module" })), po = lt({ blades: Ao }), Tt = U("connection-status"), ht = "vc-framework-offline-status", Lt = b(!1), Ot = b(!0);
1627
+ function Qt() {
1627
1628
  if (!Lt.value && typeof window < "u") {
1628
1629
  Lt.value = !0;
1629
- const { isOnline: e } = Na();
1630
+ const { isOnline: e } = Da();
1630
1631
  ne(
1631
1632
  e,
1632
1633
  (t) => {
@@ -1642,58 +1643,58 @@ function Jt() {
1642
1643
  isOnline: Je(Ot)
1643
1644
  };
1644
1645
  }
1645
- const ze = U("slow-network"), Ao = 1e4, po = ["slow-2g", "2g"];
1646
+ const ze = U("slow-network"), To = 1e4, ho = ["slow-2g", "2g"];
1646
1647
  let qe = null;
1647
- const Qt = "vc-framework-slow-network", To = 3e3, ho = "Your network is slow or the server is taking longer than usual. Please be patient.";
1648
+ const ea = "vc-framework-slow-network", Lo = 3e3, Oo = "Your network is slow or the server is taking longer than usual. Please be patient.";
1648
1649
  let ae = null;
1649
1650
  function Rt() {
1650
- q.warning(ho, {
1651
- notificationId: Qt,
1651
+ q.warning(Oo, {
1652
+ notificationId: ea,
1652
1653
  timeout: !1
1653
1654
  });
1654
1655
  }
1655
1656
  function _t() {
1656
- q.remove(Qt);
1657
+ q.remove(ea);
1657
1658
  }
1658
1659
  const It = b(!1), Me = b(0), Qe = b(!1), ke = /* @__PURE__ */ new Map(), et = /* @__PURE__ */ new Set(), Ye = w(() => Me.value > 0 || Qe.value);
1659
- function Lo(e) {
1660
+ function Ro(e) {
1660
1661
  const t = setTimeout(() => {
1661
1662
  Me.value++, ke.delete(e), et.add(e);
1662
- }, Ao);
1663
+ }, To);
1663
1664
  ke.set(e, t);
1664
1665
  }
1665
- function Oo(e) {
1666
+ function _o(e) {
1666
1667
  const t = ke.get(e);
1667
1668
  t != null ? (clearTimeout(t), ke.delete(e)) : et.has(e) && (Me.value = Math.max(0, Me.value - 1), et.delete(e));
1668
1669
  }
1669
- function ea() {
1670
+ function ta() {
1670
1671
  if (!It.value && typeof window < "u") {
1671
1672
  It.value = !0;
1672
1673
  const e = navigator.connection;
1673
1674
  e && (qe = () => {
1674
- const a = po.includes(e.effectiveType);
1675
+ const a = ho.includes(e.effectiveType);
1675
1676
  a !== Qe.value && ze.info(`Connection type: ${e.effectiveType} → ${a ? "slow" : "normal"}`), Qe.value = a;
1676
1677
  }, e.addEventListener("change", qe), qe());
1677
- const { isOnline: t } = Jt();
1678
+ const { isOnline: t } = Qt();
1678
1679
  ne(Ye, (a) => {
1679
1680
  a ? (ae != null && (clearTimeout(ae), ae = null), t.value && (ze.info("Slow network detected — showing notification"), Rt())) : ae = setTimeout(() => {
1680
1681
  ze.info("Network recovered — hiding notification"), _t(), ae = null;
1681
- }, To);
1682
+ }, Lo);
1682
1683
  }), ne(t, (a) => {
1683
1684
  a ? Ye.value && Rt() : (ae != null && (clearTimeout(ae), ae = null), _t());
1684
1685
  });
1685
1686
  }
1686
1687
  return {
1687
1688
  isSlowNetwork: Ye,
1688
- trackRequest: Lo,
1689
- untrackRequest: Oo
1689
+ trackRequest: Ro,
1690
+ untrackRequest: _o
1690
1691
  };
1691
1692
  }
1692
1693
  const Te = U("interceptors");
1693
- function Ro(e) {
1694
+ function Io(e) {
1694
1695
  if (window.fetch.__vcInterceptorsInstalled__)
1695
1696
  return Te.warn("registerInterceptors called twice — ignoring second install"), window.fetch;
1696
- const { fetch: a } = window, { signOut: n, isAuthenticated: s } = oe(), { trackRequest: o, untrackRequest: i } = ea();
1697
+ const { fetch: a } = window, { signOut: n, isAuthenticated: s } = oe(), { trackRequest: o, untrackRequest: i } = ta();
1697
1698
  let l = 0;
1698
1699
  const d = (async (...u) => {
1699
1700
  if (window.__DEMO_MODE__)
@@ -1743,14 +1744,14 @@ function Ro(e) {
1743
1744
  ...f || {},
1744
1745
  signal: S.signal
1745
1746
  });
1746
- return O.status === 401 && s.value && n().catch((h) => {
1747
+ return O.status === 401 && !Wt() && s.value && (In(), n().catch((h) => {
1747
1748
  Te.error("signOut failed after 401:", h);
1748
1749
  }).finally(() => {
1749
- _o(e), q.error(
1750
+ vo(e), q.error(
1750
1751
  `Access Denied: Your session has expired or you do not have the necessary permissions.
1751
1752
  Please log in again or contact the administrator for assistance.`
1752
1753
  );
1753
- }), O;
1754
+ })), O;
1754
1755
  } catch (O) {
1755
1756
  throw L ? new Error("Request timed out. Please try again.") : O;
1756
1757
  } finally {
@@ -1760,77 +1761,77 @@ Please log in again or contact the administrator for assistance.`
1760
1761
  });
1761
1762
  return d.__vcInterceptorsInstalled__ = !0, window.fetch = d, d;
1762
1763
  }
1763
- function _o(e) {
1764
+ function vo(e) {
1764
1765
  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 + "/";
1765
1766
  }
1766
- const ta = { THEMES: { LIGHT: "Light", DARK: "Dark" }, NOTIFICATIONS: { CLEAR_ALL: "Clear all" } }, aa = { 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" } }, na = { 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" }, ATOMS: { 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: { 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", 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" }, VC_TABLE: { SELECT_ROW: "Select row", SELECT_ALL_ROWS: "Select all rows", 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" } }, sa = { 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." } }, oa = { 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}" } }, ra = { 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}" }, ia = { 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." } }, la = { 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" } } }, ua = { 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" } } } } }, da = { _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" }, ca = { ACCESS_RESTRICTED: "Access restricted" }, Ea = { LOADING: "Loading Virto OZ..." }, fa = { 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", 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" }, ma = { no_options: "No options" }, Io = {
1767
- CORE: ta,
1768
- SHELL: aa,
1769
- COMPONENTS: na,
1770
- INVITATION: sa,
1771
- LOGIN: oa,
1772
- FORGOT_PASSWORD: ra,
1773
- PASSWORDRESET: ia,
1774
- ASSETS_MANAGER: la,
1775
- ASSETS: ua,
1776
- messages: da,
1777
- PERMISSION_MESSAGES: ca,
1778
- AI_AGENT: Ea,
1779
- VC_SCHEDULER: fa,
1780
- common: ma
1781
- }, vo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1782
- __proto__: null,
1783
- AI_AGENT: Ea,
1784
- ASSETS: ua,
1785
- ASSETS_MANAGER: la,
1786
- COMPONENTS: na,
1787
- CORE: ta,
1788
- FORGOT_PASSWORD: ra,
1789
- INVITATION: sa,
1790
- LOGIN: oa,
1791
- PASSWORDRESET: ia,
1792
- PERMISSION_MESSAGES: ca,
1793
- SHELL: aa,
1794
- VC_SCHEDULER: fa,
1795
- common: ma,
1796
- default: Io,
1797
- messages: da
1798
- }, Symbol.toStringTag, { value: "Module" })), ga = { THEMES: { LIGHT: "Hell", DARK: "Dunkel" }, NOTIFICATIONS: { CLEAR_ALL: "Alle löschen" } }, Sa = { NAVIGATION_ARIA_LABEL: "Hauptnavigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Suchbegriff" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Einstellungen", CHANGE_PASSWORD: "Passwort ändern", PROFILE: "Profil", LOGOUT: "Abmelden" } }, Aa = { 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" }, ATOMS: { 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: { 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", 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" }, VC_TABLE: { SELECT_ROW: "Zeile auswählen", SELECT_ALL_ROWS: "Alle Zeilen auswählen", 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" } }, pa = { 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." } }, Ta = { 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}" } }, ha = { 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" }, La = { 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." } }, Oa = { 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" } } }, Ra = { 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" } } } } }, _a = { _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" }, Ia = { ACCESS_RESTRICTED: "Zugriff eingeschränkt" }, va = { LOADING: "Virto OZ wird geladen..." }, wa = { AGENDA: "Agenda", 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: "Pink", COLOR_TEAL: "Türkis", COLOR_SLATE: "Grau", DAY: "Day", 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: "No events in this range", EMPTY_HINT: "Noch keine Ereignisse. Klicke auf einen Tag, um eins hinzuzufügen.", END: "Ende", LOADING: "Ereignisse werden geladen…", MORE: "+{count} more", MONTH: "Month", MORE_OPTIONS: "Weitere Optionen", NEW_EVENT: "Neues Ereignis", NEXT: "Next", PREVIOUS: "Previous", 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: "Start", TIMELINE: "Timeline", TIMELINE_DAY: "Zeitachse Tag", TIMELINE_WEEK: "Zeitachse Woche", TITLE: "Titel", TODAY: "Today", WEEK: "Week", WORK_WEEK: "Work week", ZOOM_IN: "Zoom in", ZOOM_OUT: "Zoom out" }, Ca = { no_options: "Keine Optionen" }, wo = {
1799
- CORE: ga,
1800
- SHELL: Sa,
1801
- COMPONENTS: Aa,
1802
- INVITATION: pa,
1803
- LOGIN: Ta,
1804
- FORGOT_PASSWORD: ha,
1805
- PASSWORDRESET: La,
1806
- ASSETS_MANAGER: Oa,
1807
- ASSETS: Ra,
1808
- messages: _a,
1809
- PERMISSION_MESSAGES: Ia,
1810
- AI_AGENT: va,
1811
- VC_SCHEDULER: wa,
1812
- common: Ca
1767
+ const aa = { THEMES: { LIGHT: "Light", DARK: "Dark" }, NOTIFICATIONS: { CLEAR_ALL: "Clear all" } }, na = { 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" } }, sa = { 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" }, ATOMS: { 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: { 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", 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", 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" } }, oa = { 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." } }, ra = { 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}" } }, ia = { 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}" }, la = { 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." } }, ua = { TITLE: "Assets", TOOLBAR: { SAVE: "Save", REFRESH: "Refresh", ADD: "Add", DELETE: "Delete selected" }, EMPTY: { NO_ASSETS: "No assets", UPLOAD_ASSETS: "Drag & drop assets here or click 'Upload' button", UPLOAD: "Upload" }, TABLE: { HEADER: { IMAGE: "Img", NAME: "Name", SIZE: "Size", SORT_ORDER: "Sort order", CREATED_DATE: "Created date" }, ACTIONS: { DELETE: "Delete", EDIT: "Edit" } } }, da = { PAGES: { DETAILS: { SUBTITLE: "Asset edit", TOOLBAR: { SAVE: "Save", DELETE: "Delete" }, FIELDS: { SIZE: "Size", CREATED_DATE: "Created date", URL: "Url", COPY: "Copy link", NAME: { TITLE: "Asset name", PLACEHOLDER: "Enter asset name" }, ALT: { TITLE: "Image alternative text", PLACEHOLDER: "Enter image alt text", TOOLTIP: "This text will be displayed in case of disabled/unloaded image on the page" }, DESCRIPTION: { TITLE: "Meta description", PLACEHOLDER: "Enter meta description" } } } } }, ca = { _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" }, Ea = { ACCESS_RESTRICTED: "Access restricted" }, fa = { LOADING: "Loading Virto OZ..." }, ma = { AGENDA: "Agenda", ALL_DAY: "All day", CANCEL: "Cancel", CLOSE: "Close", COLOR: "Color", COLOR_DEFAULT: "Default color", COLOR_CUSTOM: "Custom color", COLOR_BLUE: "Blue", COLOR_GREEN: "Green", COLOR_AMBER: "Amber", COLOR_RED: "Red", COLOR_PURPLE: "Purple", COLOR_PINK: "Pink", COLOR_TEAL: "Teal", COLOR_SLATE: "Slate", DAY: "Day", DAY_N_OF_M: "Day {n} of {total}", DELETE: "Delete", DELETE_CONFIRM_BODY: `Delete "{title}"? This can't be undone.`, DELETE_CONFIRM_TITLE: "Delete event", EDIT: "Edit", EDIT_EVENT: "Edit event", EMPTY: "No events in this range", EMPTY_HINT: "No events yet. Click a day to add one.", END: "End", LOADING: "Loading events…", MORE: "+{count} more", 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" }, ga = { no_options: "No options" }, wo = {
1768
+ CORE: aa,
1769
+ SHELL: na,
1770
+ COMPONENTS: sa,
1771
+ INVITATION: oa,
1772
+ LOGIN: ra,
1773
+ FORGOT_PASSWORD: ia,
1774
+ PASSWORDRESET: la,
1775
+ ASSETS_MANAGER: ua,
1776
+ ASSETS: da,
1777
+ messages: ca,
1778
+ PERMISSION_MESSAGES: Ea,
1779
+ AI_AGENT: fa,
1780
+ VC_SCHEDULER: ma,
1781
+ common: ga
1813
1782
  }, Co = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1814
1783
  __proto__: null,
1815
- AI_AGENT: va,
1816
- ASSETS: Ra,
1817
- ASSETS_MANAGER: Oa,
1818
- COMPONENTS: Aa,
1819
- CORE: ga,
1820
- FORGOT_PASSWORD: ha,
1821
- INVITATION: pa,
1822
- LOGIN: Ta,
1823
- PASSWORDRESET: La,
1824
- PERMISSION_MESSAGES: Ia,
1825
- SHELL: Sa,
1826
- VC_SCHEDULER: wa,
1827
- common: Ca,
1784
+ AI_AGENT: fa,
1785
+ ASSETS: da,
1786
+ ASSETS_MANAGER: ua,
1787
+ COMPONENTS: sa,
1788
+ CORE: aa,
1789
+ FORGOT_PASSWORD: ia,
1790
+ INVITATION: oa,
1791
+ LOGIN: ra,
1792
+ PASSWORDRESET: la,
1793
+ PERMISSION_MESSAGES: Ea,
1794
+ SHELL: na,
1795
+ VC_SCHEDULER: ma,
1796
+ common: ga,
1828
1797
  default: wo,
1829
- messages: _a
1830
- }, Symbol.toStringTag, { value: "Module" })), bo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1798
+ messages: ca
1799
+ }, Symbol.toStringTag, { value: "Module" })), Sa = { THEMES: { LIGHT: "Hell", DARK: "Dunkel" }, NOTIFICATIONS: { CLEAR_ALL: "Alle löschen" } }, Aa = { NAVIGATION_ARIA_LABEL: "Hauptnavigation", SIDEBAR: { SEARCH_PLACEHOLDER: "Suchbegriff" }, USER: { ROLE: { ADMINISTRATOR: "Administrator" } }, ACCOUNT: { SETTINGS: "Einstellungen", CHANGE_PASSWORD: "Passwort ändern", PROFILE: "Profil", LOGOUT: "Abmelden" } }, pa = { 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" }, ATOMS: { 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: { 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", 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", 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" } }, Ta = { 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." } }, ha = { TITLE: "Willkommen zurück", SUBTITLE: "Melden Sie sich bei Ihrem Konto an, um fortzufahren", FIELDS: { LOGIN: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" }, PASSWORD: { LABEL: "Passwort", PLACEHOLDER: "Geben Sie Ihr Passwort ein" }, FORGOT_PASSWORD: { TITLE: "Passwort vergessen", LABEL: "E-Mail", PLACEHOLDER: "Bitte geben Sie Ihre E-Mail-Adresse ein" } }, FORGOT_PASSWORD_BUTTON: "Passwort vergessen?", BUTTON: "Anmelden", OR: "oder", FORGOT_BUTTON: "Absenden", BACK_BUTTON: "Zurück", BUTTON_OK: "Ok", RESET_EMAIL_TEXT: "Wir senden Ihnen eine E-Mail mit Anweisungen zum Zurücksetzen Ihres Passworts.", RESET_EMAIL_SENT: "Eine E-Mail mit Anweisungen wurde an Sie gesendet.", SSO_NO_PROVIDERS_ERROR: "SSO-Authentifizierung ist nicht konfiguriert. Bitte wenden Sie sich an Ihren Administrator.", ERRORS: { INVALID_CREDENTIALS: "Anmeldename oder Passwort ist falsch.", AUTH_WITH_CODE: "Authentifizierungsfehler (Code: {code}).", AUTH_GENERIC: "Authentifizierungsfehler: {detail}" } }, La = { TITLE: "Passwort zurücksetzen", SUBTITLE: "Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen", FIELDS: { EMAIL: { LABEL: "E-Mail", PLACEHOLDER: "Geben Sie Ihre E-Mail-Adresse ein" } }, SEND_BUTTON: "Link zum Zurücksetzen senden", BACK_TO_LOGIN: "Zurück zur Anmeldung", SUCCESS_TITLE: "Überprüfen Sie Ihre E-Mail", SUCCESS_TEXT: "Wir haben einen Link zum Zurücksetzen an {email} gesendet" }, Oa = { 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." } }, Ra = { 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" } } }, _a = { 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" } } } } }, Ia = { _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" }, va = { ACCESS_RESTRICTED: "Zugriff eingeschränkt" }, wa = { LOADING: "Virto OZ wird geladen..." }, Ca = { AGENDA: "Agenda", 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: "Pink", COLOR_TEAL: "Türkis", COLOR_SLATE: "Grau", DAY: "Day", 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: "No events in this range", EMPTY_HINT: "Noch keine Ereignisse. Klicke auf einen Tag, um eins hinzuzufügen.", END: "Ende", LOADING: "Ereignisse werden geladen…", MORE: "+{count} more", MONTH: "Month", MORE_OPTIONS: "Weitere Optionen", NEW_EVENT: "Neues Ereignis", NEXT: "Next", PREVIOUS: "Previous", 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: "Start", TIMELINE: "Timeline", TIMELINE_DAY: "Zeitachse Tag", TIMELINE_WEEK: "Zeitachse Woche", TITLE: "Titel", TODAY: "Today", WEEK: "Week", WORK_WEEK: "Work week", ZOOM_IN: "Zoom in", ZOOM_OUT: "Zoom out" }, ba = { no_options: "Keine Optionen" }, bo = {
1800
+ CORE: Sa,
1801
+ SHELL: Aa,
1802
+ COMPONENTS: pa,
1803
+ INVITATION: Ta,
1804
+ LOGIN: ha,
1805
+ FORGOT_PASSWORD: La,
1806
+ PASSWORDRESET: Oa,
1807
+ ASSETS_MANAGER: Ra,
1808
+ ASSETS: _a,
1809
+ messages: Ia,
1810
+ PERMISSION_MESSAGES: va,
1811
+ AI_AGENT: wa,
1812
+ VC_SCHEDULER: Ca,
1813
+ common: ba
1814
+ }, Po = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1815
+ __proto__: null,
1816
+ AI_AGENT: wa,
1817
+ ASSETS: _a,
1818
+ ASSETS_MANAGER: Ra,
1819
+ COMPONENTS: pa,
1820
+ CORE: Sa,
1821
+ FORGOT_PASSWORD: La,
1822
+ INVITATION: Ta,
1823
+ LOGIN: ha,
1824
+ PASSWORDRESET: Oa,
1825
+ PERMISSION_MESSAGES: va,
1826
+ SHELL: Aa,
1827
+ VC_SCHEDULER: Ca,
1828
+ common: ba,
1829
+ default: bo,
1830
+ messages: Ia
1831
+ }, Symbol.toStringTag, { value: "Module" })), No = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1831
1832
  __proto__: null,
1832
- de: Co,
1833
- en: vo
1833
+ de: Po,
1834
+ en: Co
1834
1835
  }, Symbol.toStringTag, { value: "Module" })), je = U("global-error-handler");
1835
1836
  function Ne(e) {
1836
1837
  return e instanceof Error ? `${e.name}:${e.message}` : String(e);
@@ -1844,7 +1845,7 @@ function Ze(e) {
1844
1845
  a - o > vt && he.delete(s);
1845
1846
  return !1;
1846
1847
  }
1847
- function Po(e) {
1848
+ function Do(e) {
1848
1849
  const t = e.config.errorHandler;
1849
1850
  if (e.config.errorHandler = (o, i, l) => {
1850
1851
  if (je.error("Unhandled Vue error:", o, `
@@ -1881,7 +1882,7 @@ Info:`, l), !Ze(o)) {
1881
1882
  };
1882
1883
  window.addEventListener("error", s);
1883
1884
  }
1884
- const No = U("notification-instance"), j = {
1885
+ const yo = U("notification-instance"), j = {
1885
1886
  "top-center": void 0,
1886
1887
  "top-right": void 0,
1887
1888
  "top-left": void 0,
@@ -1889,7 +1890,7 @@ const No = U("notification-instance"), j = {
1889
1890
  "bottom-right": void 0,
1890
1891
  "bottom-left": void 0
1891
1892
  };
1892
- function Do() {
1893
+ function Bo() {
1893
1894
  function e(s, o, i) {
1894
1895
  document.getElementById(o) && (j[i] = s);
1895
1896
  }
@@ -1900,7 +1901,7 @@ function Do() {
1900
1901
  j[l]?.unmount(), document.getElementById(`notification-${l}`)?.remove(), j[l] = void 0;
1901
1902
  }), Object.values(j).some((i) => i !== void 0) || document.querySelector(".notification")?.remove());
1902
1903
  } catch (o) {
1903
- No.error("Failed to unmount notification component:", o);
1904
+ yo.error("Failed to unmount notification component:", o);
1904
1905
  }
1905
1906
  }
1906
1907
  function a() {
@@ -1918,25 +1919,25 @@ function Do() {
1918
1919
  getInstanceByPosition: n
1919
1920
  };
1920
1921
  }
1921
- const ce = U("notification-container"), $ = {
1922
+ const ce = U("notification-container"), x = {
1922
1923
  "top-center": b([]),
1923
1924
  "top-right": b([]),
1924
1925
  "top-left": b([]),
1925
1926
  "bottom-center": b([]),
1926
1927
  "bottom-right": b([]),
1927
1928
  "bottom-left": b([])
1928
- }, { clearContainer: yo, unmountComponent: Bo, saveInstance: Mo, getInstanceByPosition: wt } = Do();
1929
- function ko() {
1929
+ }, { clearContainer: Mo, unmountComponent: ko, saveInstance: Vo, getInstanceByPosition: wt } = Bo();
1930
+ function Uo() {
1930
1931
  const e = le({
1931
1932
  timeout: 3e3,
1932
1933
  pauseOnHover: !0,
1933
1934
  position: "top-center"
1934
1935
  });
1935
1936
  function t() {
1936
- return Object.values($).flatMap((u) => u.value);
1937
+ return Object.values(x).flatMap((u) => u.value);
1937
1938
  }
1938
1939
  function a(u) {
1939
- return $[u].value;
1940
+ return x[u].value;
1940
1941
  }
1941
1942
  function n(u) {
1942
1943
  return t().find((E) => E.notificationId === u);
@@ -1951,11 +1952,11 @@ function ko() {
1951
1952
  const E = u.position || e.position, g = o.get(E);
1952
1953
  if (g && await g, !wt(E)) {
1953
1954
  const f = (async () => {
1954
- const c = s(E), { default: S } = await Promise.resolve().then(() => Er), L = Qa(S, {
1955
+ const c = s(E), { default: S } = await Promise.resolve().then(() => mr), L = en(S, {
1955
1956
  ...u,
1956
1957
  position: E
1957
1958
  });
1958
- L.use(X), L.provide(Yt, { notificationContainers: $, actions: d }), L.mount(c), Mo(L, c.id, E);
1959
+ L.use(X), L.provide(jt, { notificationContainers: x, actions: d }), L.mount(c), Vo(L, c.id, E);
1959
1960
  })();
1960
1961
  o.set(E, f), await f, o.delete(E);
1961
1962
  }
@@ -1968,7 +1969,7 @@ function ko() {
1968
1969
  }
1969
1970
  const d = {
1970
1971
  add(u) {
1971
- const E = u.position || e.position, g = $[E];
1972
+ const E = u.position || e.position, g = x[E];
1972
1973
  g.value.find((c) => c.notificationId === u.notificationId) || Pe(() => {
1973
1974
  g.value.push(u), u.onOpen && typeof u?.onOpen == "function" && u.onOpen(u.payload);
1974
1975
  });
@@ -1976,23 +1977,23 @@ function ko() {
1976
1977
  remove(u) {
1977
1978
  if (u) {
1978
1979
  let E, g;
1979
- Object.entries($).forEach(([f, c]) => {
1980
+ Object.entries(x).forEach(([f, c]) => {
1980
1981
  const S = c.value.find((L) => L.notificationId === u);
1981
1982
  S && (E = S, g = f);
1982
- }), g && ($[g].value = $[g].value.filter((f) => f.notificationId !== u), $[g].value.length === 0 && Bo(g), Pe(() => {
1983
+ }), g && (x[g].value = x[g].value.filter((f) => f.notificationId !== u), x[g].value.length === 0 && ko(g), Pe(() => {
1983
1984
  E?.onClose && typeof E?.onClose == "function" && E.onClose(E.payload);
1984
1985
  }));
1985
1986
  }
1986
1987
  },
1987
1988
  clear() {
1988
- yo(), Object.values($).forEach((u) => {
1989
+ Mo(), Object.values(x).forEach((u) => {
1989
1990
  u.value = [];
1990
1991
  });
1991
1992
  },
1992
1993
  dismiss(u) {
1993
1994
  if (!u) return;
1994
1995
  let E = !1;
1995
- Object.values($).forEach((g) => {
1996
+ Object.values(x).forEach((g) => {
1996
1997
  g.value.forEach((f) => {
1997
1998
  f.notificationId === u && (f.dismissing = !0, E = !0);
1998
1999
  });
@@ -2001,7 +2002,7 @@ function ko() {
2001
2002
  update(u) {
2002
2003
  if (u.updateId) {
2003
2004
  let E, g, f;
2004
- if (Object.entries($).forEach(([c, S]) => {
2005
+ if (Object.entries(x).forEach(([c, S]) => {
2005
2006
  const L = S.value.find((T) => T.notificationId === u.notificationId);
2006
2007
  L && (E = L, g = S, f = c);
2007
2008
  }), E && g) {
@@ -2013,7 +2014,7 @@ function ko() {
2013
2014
  ...E,
2014
2015
  ...u
2015
2016
  }, S = u.position;
2016
- wt(S) ? (ce.debug(`Adding to existing container for position ${S}`), $[S].value.push(c)) : (ce.debug(`Creating new container for position ${S}`), i(c));
2017
+ wt(S) ? (ce.debug(`Adding to existing container for position ${S}`), x[S].value.push(c)) : (ce.debug(`Creating new container for position ${S}`), i(c));
2017
2018
  } else
2018
2019
  ce.debug("Standard update of notification properties"), Object.keys(u).forEach((c) => {
2019
2020
  if (c !== "updateId" && c !== "notificationId") {
@@ -2033,19 +2034,19 @@ function ko() {
2033
2034
  };
2034
2035
  return {
2035
2036
  defaultOptions: e,
2036
- notificationContainers: $,
2037
+ notificationContainers: x,
2037
2038
  actions: d,
2038
2039
  getAllNotifications: t,
2039
2040
  getNotificationsByPosition: a,
2040
2041
  appendInstance: i,
2041
2042
  getNotification: n,
2042
- generateNotificationId: Ma,
2043
+ generateNotificationId: ka,
2043
2044
  hasNotification: l
2044
2045
  };
2045
2046
  }
2046
- function Vo() {
2047
- const e = ko();
2048
- ka({
2047
+ function Fo() {
2048
+ const e = Uo();
2049
+ Va({
2049
2050
  defaultOptions: e.defaultOptions,
2050
2051
  actions: e.actions,
2051
2052
  getAllNotifications: e.getAllNotifications,
@@ -2054,22 +2055,22 @@ function Vo() {
2054
2055
  hasNotification: (t) => e.hasNotification(t)
2055
2056
  });
2056
2057
  }
2057
- const Uo = "2.2.0-pr263.f4e6550";
2058
- function Fo() {
2058
+ const Wo = "2.3.0";
2059
+ function Go() {
2059
2060
  return {
2060
- version: Uo,
2061
- buildDate: "2026-07-27T15:13:50.244Z",
2062
- gitHash: "f4e6550fc"
2061
+ version: Wo,
2062
+ buildDate: "2026-07-28T09:06:51.192Z",
2063
+ gitHash: "eb3675e7a"
2063
2064
  };
2064
2065
  }
2065
- function Wo(e = Fo()) {
2066
+ function Ho(e = Go()) {
2066
2067
  console.warn(
2067
2068
  `%c@vc-shell/framework%c v${e.version} · ${e.buildDate} · ${e.gitHash}`,
2068
2069
  "font-weight:bold;color:#319ED4",
2069
2070
  "color:inherit"
2070
2071
  );
2071
2072
  }
2072
- const Go = /* @__PURE__ */ H({
2073
+ const xo = /* @__PURE__ */ H({
2073
2074
  __name: "sidebar",
2074
2075
  props: {
2075
2076
  position: { default: "right" },
@@ -2080,11 +2081,11 @@ const Go = /* @__PURE__ */ H({
2080
2081
  },
2081
2082
  emits: ["close"],
2082
2083
  setup(e, { emit: t }) {
2083
- const a = e, n = t, { isMobile: s, isDesktop: o } = Va(), i = w(() => a.render === "always" ? !0 : a.render === "mobile" ? s.value : o.value), l = w(() => a.isExpanded && i.value);
2084
+ const a = e, n = t, { isMobile: s, isDesktop: o } = Ua(), i = w(() => a.render === "always" ? !0 : a.render === "mobile" ? s.value : o.value), l = w(() => a.isExpanded && i.value);
2084
2085
  function d(u) {
2085
2086
  u || n("close");
2086
2087
  }
2087
- return (u, E) => l.value ? (C(), D(r(mn), {
2088
+ return (u, E) => l.value ? (C(), D(r(gn), {
2088
2089
  key: 0,
2089
2090
  "model-value": !0,
2090
2091
  position: e.position,
@@ -2107,7 +2108,7 @@ const Go = /* @__PURE__ */ H({
2107
2108
  } : void 0
2108
2109
  ]), 1032, ["position", "title", "close-button", "teleport"])) : Y(u.$slots, "content", { key: 1 });
2109
2110
  }
2110
- }), wl = Go, Ho = { class: "tw-flex tw-flex-row tw-items-center tw-gap-2" }, $o = /* @__PURE__ */ H({
2111
+ }), bl = xo, $o = { class: "tw-flex tw-flex-row tw-items-center tw-gap-2" }, Ko = /* @__PURE__ */ H({
2111
2112
  __name: "external-provider",
2112
2113
  props: {
2113
2114
  logo: {},
@@ -2117,13 +2118,13 @@ const Go = /* @__PURE__ */ H({
2117
2118
  emits: ["signIn"],
2118
2119
  setup(e) {
2119
2120
  const t = e, a = w(() => t.logo && !t.logo.startsWith("data:image") && !t.logo.startsWith("http") ? new URL(t.logo, window.location.origin).toString() : t.logo);
2120
- return (n, s) => (C(), D(r(x), {
2121
+ return (n, s) => (C(), D(r($), {
2121
2122
  variant: "secondary",
2122
2123
  class: "vc-external-provider",
2123
2124
  onClick: s[0] || (s[0] = (o) => n.$emit("signIn"))
2124
2125
  }, {
2125
2126
  default: p(() => [
2126
- V("div", Ho, [
2127
+ V("div", $o, [
2127
2128
  _(r(st), {
2128
2129
  src: a.value,
2129
2130
  class: "vc-external-provider__icon",
@@ -2135,15 +2136,15 @@ const Go = /* @__PURE__ */ H({
2135
2136
  _: 1
2136
2137
  }));
2137
2138
  }
2138
- }), xo = { class: "tw-flex tw-justify-center tw-flex-col tw-gap-4" }, Ko = /* @__PURE__ */ H({
2139
+ }), zo = { class: "tw-flex tw-justify-center tw-flex-col tw-gap-4" }, qo = /* @__PURE__ */ H({
2139
2140
  __name: "external-providers",
2140
2141
  props: {
2141
2142
  providers: {}
2142
2143
  },
2143
2144
  setup(e) {
2144
2145
  const { signIn: t } = $t();
2145
- return (a, n) => (C(), G("div", xo, [
2146
- (C(!0), G(se, null, Ue(e.providers, (s) => (C(), D($o, {
2146
+ return (a, n) => (C(), G("div", zo, [
2147
+ (C(!0), G(se, null, Ue(e.providers, (s) => (C(), D(Ko, {
2147
2148
  key: s.authenticationType,
2148
2149
  logo: s.logoUrl,
2149
2150
  "display-name": s.displayName,
@@ -2153,25 +2154,25 @@ const Go = /* @__PURE__ */ H({
2153
2154
  ]));
2154
2155
  }
2155
2156
  });
2156
- function zo(e) {
2157
+ function Yo(e) {
2157
2158
  if (!e) return "/";
2158
2159
  const t = e.trim();
2159
2160
  return !t.startsWith("/") || t.startsWith("//") ? "/" : t;
2160
2161
  }
2161
- function qo(e, t) {
2162
+ function jo(e, t) {
2162
2163
  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");
2163
2164
  }
2164
- function Yo(e) {
2165
+ function Zo(e) {
2165
2166
  const t = [];
2166
2167
  return e.confirmPassword !== e.password && t.push({ code: "Repeat-password" }), e.password === e.currentPassword && e.confirmPassword === e.currentPassword && t.push({ code: "Equal-passwords" }), t;
2167
2168
  }
2168
- const jo = {
2169
+ const Xo = {
2169
2170
  key: 0,
2170
2171
  class: "vc-login-page__providers"
2171
- }, Zo = {
2172
+ }, Jo = {
2172
2173
  key: 0,
2173
2174
  class: "vc-login-page__separator-line"
2174
- }, Xo = /* @__PURE__ */ H({
2175
+ }, Qo = /* @__PURE__ */ H({
2175
2176
  __name: "Login",
2176
2177
  props: {
2177
2178
  logo: {},
@@ -2197,11 +2198,11 @@ const jo = {
2197
2198
  return;
2198
2199
  }
2199
2200
  if (d.value.succeeded) {
2200
- const h = zo(localStorage.getItem("redirectAfterLogin"));
2201
+ const h = Yo(localStorage.getItem("redirectAfterLogin"));
2201
2202
  localStorage.removeItem("redirectAfterLogin"), await s.push(h);
2202
2203
  return;
2203
2204
  }
2204
- d.value.error = qo(d.value, n), I.password = "", o("password");
2205
+ d.value.error = jo(d.value, n), I.password = "", o("password");
2205
2206
  }
2206
2207
  }, O = () => {
2207
2208
  s.push({ name: "ForgotPassword" });
@@ -2214,9 +2215,9 @@ const jo = {
2214
2215
  class: "vc-login-page"
2215
2216
  }, {
2216
2217
  default: p(() => [
2217
- S.value && S.value.length ? (C(), G("div", jo, [
2218
- _(Ko, { providers: S.value }, null, 8, ["providers"]),
2219
- e.ssoOnly ? z("", !0) : (C(), G("div", Zo, y(h.$t("LOGIN.OR")), 1))
2218
+ S.value && S.value.length ? (C(), G("div", Xo, [
2219
+ _(qo, { providers: S.value }, null, 8, ["providers"]),
2220
+ e.ssoOnly ? z("", !0) : (C(), G("div", Jo, y(h.$t("LOGIN.OR")), 1))
2220
2221
  ])) : z("", !0),
2221
2222
  e.ssoOnly && L.value && !S.value?.length ? (C(), D(r(Ee), {
2222
2223
  key: 1,
@@ -2281,7 +2282,7 @@ const jo = {
2281
2282
  ]),
2282
2283
  _: 1
2283
2284
  }, 8, ["label", "model-value"]),
2284
- _(r(x), {
2285
+ _(r($), {
2285
2286
  variant: "primary",
2286
2287
  class: "tw-w-full",
2287
2288
  icon: "lucide-log-in",
@@ -2294,7 +2295,7 @@ const jo = {
2294
2295
  ]),
2295
2296
  _: 1
2296
2297
  }, 8, ["disabled", "loading"]),
2297
- _(r(x), {
2298
+ _(r($), {
2298
2299
  variant: "link",
2299
2300
  class: "tw-w-full tw-justify-center",
2300
2301
  type: "button",
@@ -2308,7 +2309,7 @@ const jo = {
2308
2309
  ]),
2309
2310
  _: 1
2310
2311
  }),
2311
- _(r(cs), {
2312
+ _(r(fs), {
2312
2313
  name: "auth:after-form",
2313
2314
  separator: "",
2314
2315
  "separator-class": "tw-border-t tw-border-[color:var(--login-separator)] tw-border-solid tw-pb-5",
@@ -2328,7 +2329,7 @@ const jo = {
2328
2329
  _: 1
2329
2330
  }, 8, ["logo", "background", "title", "subtitle"]));
2330
2331
  }
2331
- }), Cl = Xo, Jo = { class: "tw-text-center" }, Qo = { class: "tw-text-center tw-mb-6" }, er = { class: "tw-text-sm tw-text-neutrals-600" }, tr = /* @__PURE__ */ H({
2332
+ }), Pl = Qo, er = { class: "tw-text-center" }, tr = { class: "tw-text-center tw-mb-6" }, ar = { class: "tw-text-sm tw-text-neutrals-600" }, nr = /* @__PURE__ */ H({
2332
2333
  __name: "ForgotPassword",
2333
2334
  props: {
2334
2335
  logo: {},
@@ -2375,10 +2376,10 @@ const jo = {
2375
2376
  }, {
2376
2377
  default: p(() => [
2377
2378
  u.value ? (C(), G(se, { key: 1 }, [
2378
- V("div", Qo, [
2379
- V("p", er, y(r(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: c.value })), 1)
2379
+ V("div", tr, [
2380
+ V("p", ar, y(r(n)("FORGOT_PASSWORD.SUCCESS_TEXT", { email: c.value })), 1)
2380
2381
  ]),
2381
- _(r(x), {
2382
+ _(r($), {
2382
2383
  variant: "primary",
2383
2384
  class: "tw-w-full",
2384
2385
  onClick: L
@@ -2415,7 +2416,7 @@ const jo = {
2415
2416
  ]),
2416
2417
  _: 1
2417
2418
  }, 8, ["label", "model-value"]),
2418
- _(r(x), {
2419
+ _(r($), {
2419
2420
  variant: "primary",
2420
2421
  class: "tw-w-full tw-mb-4",
2421
2422
  disabled: !r(s) || l.value,
@@ -2427,8 +2428,8 @@ const jo = {
2427
2428
  ]),
2428
2429
  _: 1
2429
2430
  }, 8, ["disabled", "loading"]),
2430
- V("div", Jo, [
2431
- _(r(x), {
2431
+ V("div", er, [
2432
+ _(r($), {
2432
2433
  variant: "link",
2433
2434
  icon: "lucide-arrow-left",
2434
2435
  "icon-size": "xs",
@@ -2458,7 +2459,7 @@ const jo = {
2458
2459
  _: 1
2459
2460
  }, 8, ["logo", "background", "title", "subtitle"]));
2460
2461
  }
2461
- }), bl = tr, ar = /* @__PURE__ */ H({
2462
+ }), Nl = nr, sr = /* @__PURE__ */ H({
2462
2463
  __name: "ResetPassword",
2463
2464
  props: {
2464
2465
  userId: {},
@@ -2566,7 +2567,7 @@ const jo = {
2566
2567
  ]),
2567
2568
  _: 1
2568
2569
  }, 8, ["label", "model-value"]),
2569
- _(r(x), {
2570
+ _(r($), {
2570
2571
  variant: "primary",
2571
2572
  class: "tw-w-full",
2572
2573
  disabled: c.value,
@@ -2594,7 +2595,7 @@ const jo = {
2594
2595
  _: 1
2595
2596
  }, 8, ["logo", "background", "title", "subtitle"]));
2596
2597
  }
2597
- }), Pl = ar, nr = /* @__PURE__ */ H({
2598
+ }), Dl = sr, or = /* @__PURE__ */ H({
2598
2599
  __name: "Invite",
2599
2600
  props: {
2600
2601
  userId: {},
@@ -2703,7 +2704,7 @@ const jo = {
2703
2704
  ]),
2704
2705
  _: 1
2705
2706
  }, 8, ["label", "model-value"]),
2706
- _(r(x), {
2707
+ _(r($), {
2707
2708
  variant: "primary",
2708
2709
  class: "tw-w-full",
2709
2710
  disabled: r(i) || !c.isValid || !c.tokenIsValid,
@@ -2731,10 +2732,10 @@ const jo = {
2731
2732
  _: 1
2732
2733
  }, 8, ["logo", "background", "title", "subtitle"]));
2733
2734
  }
2734
- }), Nl = nr, sr = {
2735
+ }), yl = or, rr = {
2735
2736
  key: 0,
2736
2737
  class: "tw-mb-4"
2737
- }, or = { class: "tw-flex tw-gap-3" }, rr = /* @__PURE__ */ H({
2738
+ }, ir = { class: "tw-flex tw-gap-3" }, lr = /* @__PURE__ */ H({
2738
2739
  __name: "ChangePassword",
2739
2740
  props: {
2740
2741
  forced: { type: Boolean },
@@ -2763,7 +2764,7 @@ const jo = {
2763
2764
  function I() {
2764
2765
  Pe(async () => {
2765
2766
  if (c.password || c.confirmPassword) {
2766
- const v = (await o(c.password)).errors ?? [], O = Yo({
2767
+ const v = (await o(c.password)).errors ?? [], O = Zo({
2767
2768
  password: c.password,
2768
2769
  confirmPassword: c.confirmPassword,
2769
2770
  currentPassword: c.currentPassword
@@ -2779,8 +2780,8 @@ const jo = {
2779
2780
  subtitle: e.forced ? r(a)("COMPONENTS.CHANGE_PASSWORD.SUBTITLE_FORCED") : void 0
2780
2781
  }, {
2781
2782
  default: p(() => [
2782
- e.forced ? (C(), G("div", sr, [
2783
- _(r(gn), {
2783
+ e.forced ? (C(), G("div", rr, [
2784
+ _(r(Sn), {
2784
2785
  variant: "info",
2785
2786
  icon: "lucide-lightbulb",
2786
2787
  "icon-size": "l"
@@ -2868,8 +2869,8 @@ const jo = {
2868
2869
  ]),
2869
2870
  _: 1
2870
2871
  }, 8, ["label", "model-value"]),
2871
- V("div", or, [
2872
- _(r(x), {
2872
+ V("div", ir, [
2873
+ _(r($), {
2873
2874
  variant: "secondary",
2874
2875
  class: "tw-flex-1",
2875
2876
  onClick: L
@@ -2879,7 +2880,7 @@ const jo = {
2879
2880
  ]),
2880
2881
  _: 1
2881
2882
  }),
2882
- _(r(x), {
2883
+ _(r($), {
2883
2884
  variant: "primary",
2884
2885
  class: "tw-flex-1",
2885
2886
  disabled: r(s) || !c.isValid || S.value,
@@ -2908,7 +2909,7 @@ const jo = {
2908
2909
  _: 1
2909
2910
  }, 8, ["logo", "background", "title", "subtitle"]));
2910
2911
  }
2911
- }), Dl = rr, Xe = U("use-blade-navigation-adapter"), tt = /* @__PURE__ */ new Set();
2912
+ }), Bl = lr, Xe = U("use-blade-navigation-adapter"), tt = /* @__PURE__ */ new Set();
2912
2913
  function re(e, t) {
2913
2914
  if (tt.has(e)) return;
2914
2915
  tt.add(e);
@@ -2933,16 +2934,16 @@ function Ct(e, t, a) {
2933
2934
  };
2934
2935
  }
2935
2936
  let De, ye;
2936
- function yl() {
2937
+ function Ml() {
2937
2938
  De = void 0, ye = void 0, tt.clear();
2938
2939
  }
2939
- function ir() {
2940
- const e = jn, t = Xn, a = Zn;
2940
+ function ur() {
2941
+ const e = Xn, t = Qn, a = Jn;
2941
2942
  if (!e || !t)
2942
2943
  throw new Error(
2943
2944
  "[useBladeNavigation adapter] BladeStack or BladeMessaging not available. Ensure plugin-v2 is installed before calling useBladeNavigation()."
2944
2945
  );
2945
- const n = Yn?.router;
2946
+ const n = Zn?.router;
2946
2947
  if (!n)
2947
2948
  throw new Error("[@vc-shell/framework#useBladeNavigation] Vue Router instance is not available.");
2948
2949
  return De || (De = w(() => {
@@ -2961,7 +2962,7 @@ function ir() {
2961
2962
  activeWorkspace: ye
2962
2963
  };
2963
2964
  }
2964
- function lr(e) {
2965
+ function dr(e) {
2965
2966
  if (!e)
2966
2967
  throw new Error("Blade cannot be null or undefined.");
2967
2968
  if (typeof e == "object" && "name" in e && typeof e.name == "string")
@@ -2969,8 +2970,8 @@ function lr(e) {
2969
2970
  const t = e;
2970
2971
  return t.name || t.__name || "UnknownBlade";
2971
2972
  }
2972
- function Bl() {
2973
- const { bladeStack: e, messaging: t, bladeRegistry: a, router: n, blades: s, activeWorkspace: o } = ir(), i = en() ? Q(Gt, void 0) : void 0, { syncUrlPush: l, syncUrlReplace: d } = Qn(n, e);
2973
+ function kl() {
2974
+ const { bladeStack: e, messaging: t, bladeRegistry: a, router: n, blades: s, activeWorkspace: o } = ur(), i = tn() ? Q(Ht, void 0) : void 0, { syncUrlPush: l, syncUrlReplace: d } = ts(n, e);
2974
2975
  function u() {
2975
2976
  return i ? i.value.id : e.activeBlade.value?.id;
2976
2977
  }
@@ -2981,7 +2982,7 @@ function Bl() {
2981
2982
  }
2982
2983
  async function g(m, A) {
2983
2984
  const P = {
2984
- name: lr(m.blade),
2985
+ name: dr(m.blade),
2985
2986
  param: m.param,
2986
2987
  options: m.options,
2987
2988
  onOpen: m.onOpen,
@@ -3014,7 +3015,7 @@ function Bl() {
3014
3015
  name: R.name,
3015
3016
  params: n.currentRoute.value.params
3016
3017
  };
3017
- const P = Jn(n);
3018
+ const P = es(n);
3018
3019
  return { path: P ? `/${P}` : "/" };
3019
3020
  }
3020
3021
  async function S(m, A) {
@@ -3035,7 +3036,7 @@ function Bl() {
3035
3036
  re("onBeforeClose(cb)", "useBlade().onBeforeClose(guard)");
3036
3037
  const A = u();
3037
3038
  if (!A) {
3038
- tn("onBeforeClose: Could not determine current blade.");
3039
+ an("onBeforeClose: Could not determine current blade.");
3039
3040
  return;
3040
3041
  }
3041
3042
  e.registerBeforeClose(A, async () => await m() === !1);
@@ -3119,7 +3120,7 @@ function Ve(e, t) {
3119
3120
  if (!Ve(a[o], n[o])) return !1;
3120
3121
  return !0;
3121
3122
  }
3122
- function Ml(e) {
3123
+ function Vl(e) {
3123
3124
  const {
3124
3125
  data: t,
3125
3126
  canSaveOverride: a,
@@ -3147,8 +3148,8 @@ function Ml(e) {
3147
3148
  return i();
3148
3149
  t.value = J(E.value);
3149
3150
  }
3150
- if (s && Gs(c), n !== !1) {
3151
- const { onBeforeClose: v } = ot(), { showConfirmation: O } = Sn();
3151
+ if (s && xs(c), n !== !1) {
3152
+ const { onBeforeClose: v } = ot(), { showConfirmation: O } = An();
3152
3153
  v(async () => {
3153
3154
  let h;
3154
3155
  if (typeof n == "object" ? h = n.value && c.value : h = c.value, h) {
@@ -3158,7 +3159,7 @@ function Ml(e) {
3158
3159
  return !1;
3159
3160
  });
3160
3161
  }
3161
- return Dt(_n, { isModified: c, canSave: S }), {
3162
+ return Dt(vn, { isModified: c, canSave: S }), {
3162
3163
  setBaseline: L,
3163
3164
  markReady: T,
3164
3165
  revert: I,
@@ -3170,8 +3171,8 @@ function Ml(e) {
3170
3171
  errorBag: u
3171
3172
  };
3172
3173
  }
3173
- const Be = 14, ba = 3;
3174
- function ur(e, t, a) {
3174
+ const Be = 14, Pa = 3;
3175
+ function cr(e, t, a) {
3175
3176
  const n = e.length, s = (u) => u !== void 0 && t.get(u) || 0, o = n > 0 ? e[n - 1] : void 0, i = s(o), l = e.map((u, E) => {
3176
3177
  const g = n - 1 - E;
3177
3178
  let f = 0;
@@ -3194,10 +3195,10 @@ function ur(e, t, a) {
3194
3195
  const g = u * Be + E, f = s(e[0]);
3195
3196
  d = g + f;
3196
3197
  } else
3197
- d = i + Math.min(n - 1, ba - 1) * Be;
3198
+ d = i + Math.min(n - 1, Pa - 1) * Be;
3198
3199
  return { toasts: l, frontHeight: i, groupHeight: d };
3199
3200
  }
3200
- function dr() {
3201
+ function Er() {
3201
3202
  const e = b(!1), t = b(!1);
3202
3203
  let a = null;
3203
3204
  function n() {
@@ -3234,7 +3235,7 @@ function dr() {
3234
3235
  setInteracting: u
3235
3236
  };
3236
3237
  }
3237
- const cr = H({
3238
+ const fr = H({
3238
3239
  name: "NotificationContainer",
3239
3240
  inheritAttrs: !1,
3240
3241
  props: {
@@ -3290,7 +3291,7 @@ const cr = H({
3290
3291
  }
3291
3292
  },
3292
3293
  setup(e) {
3293
- const { notificationContainers: t, actions: a } = Q(Yt), n = w(() => t[e.position].value || []), {
3294
+ const { notificationContainers: t, actions: a } = Q(jt), n = w(() => t[e.position].value || []), {
3294
3295
  expanded: s,
3295
3296
  heightsMap: o,
3296
3297
  expandStack: i,
@@ -3299,7 +3300,7 @@ const cr = H({
3299
3300
  forgetHeight: u,
3300
3301
  clearHeights: E,
3301
3302
  setInteracting: g
3302
- } = dr();
3303
+ } = Er();
3303
3304
  function f(T) {
3304
3305
  return typeof T == "object" && (!!T?.render || !!T?.setup);
3305
3306
  }
@@ -3311,7 +3312,7 @@ const cr = H({
3311
3312
  }
3312
3313
  const L = w(() => (e.position || "top-center").startsWith("top"));
3313
3314
  return () => {
3314
- const T = n.value, I = T.length, v = s.value || I <= 1, O = I > 1, h = ur(
3315
+ const T = n.value, I = T.length, v = s.value || I <= 1, O = I > 1, h = cr(
3315
3316
  T.map((m) => m.notificationId),
3316
3317
  o,
3317
3318
  v
@@ -3328,10 +3329,10 @@ const cr = H({
3328
3329
  toastIndex: R,
3329
3330
  toastsCount: I,
3330
3331
  expanded: v,
3331
- visibleToasts: ba,
3332
+ visibleToasts: Pa,
3332
3333
  style: Ae
3333
- }, Pa = m.content && f(m.content) ? te(dt, { ...ee, content: te(an(m.content)) }) : te(dt, ee);
3334
- return te("li", { key: m.notificationId, style: { display: "contents" } }, [Pa]);
3334
+ }, Na = m.content && f(m.content) ? te(dt, { ...ee, content: te(nn(m.content)) }) : te(dt, ee);
3335
+ return te("li", { key: m.notificationId, style: { display: "contents" } }, [Na]);
3335
3336
  });
3336
3337
  let B = null;
3337
3338
  return O && (B = te(
@@ -3357,7 +3358,7 @@ const cr = H({
3357
3358
  onClick: S
3358
3359
  },
3359
3360
  [
3360
- te(In, { icon: "lucide-x", size: "xs", "aria-hidden": "true" }),
3361
+ te(wn, { icon: "lucide-x", size: "xs", "aria-hidden": "true" }),
3361
3362
  X.global.t("CORE.NOTIFICATIONS.CLEAR_ALL")
3362
3363
  ]
3363
3364
  )
@@ -3388,40 +3389,40 @@ const cr = H({
3388
3389
  );
3389
3390
  };
3390
3391
  }
3391
- }), Er = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3392
+ }), mr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3392
3393
  __proto__: null,
3393
- default: cr
3394
+ default: fr
3394
3395
  }, Symbol.toStringTag, { value: "Module" }));
3395
- function fr(e, t) {
3396
+ function gr(e, t) {
3396
3397
  t.i18n?.locale && (X.global.locale.value = t.i18n.locale), t.i18n?.fallbackLocale && (X.global.fallbackLocale.value = t.i18n.fallbackLocale), e.use(X);
3397
- const a = An();
3398
- e.provide(vn, a);
3398
+ const a = pn();
3399
+ e.provide(Cn, a);
3399
3400
  const { resolveCamelCaseLocale: n } = a;
3400
3401
  e.config.globalProperties.$mergeLocaleMessage = (s, o) => {
3401
3402
  X.global.mergeLocaleMessage(n(s), o);
3402
- }, Object.entries(bo).forEach(([s, o]) => {
3403
+ }, Object.entries(No).forEach(([s, o]) => {
3403
3404
  X.global.mergeLocaleMessage(n(s), o);
3404
3405
  });
3405
3406
  }
3406
- function mr(e) {
3407
- const t = Da({
3407
+ function Sr(e) {
3408
+ const t = ya({
3408
3409
  phone: 480,
3409
3410
  desktop: 1024
3410
3411
  });
3411
- e.config.globalProperties.$isPhone = t.smaller("phone"), e.config.globalProperties.$isTablet = t.between("phone", "desktop"), e.config.globalProperties.$isMobile = t.smaller("desktop"), e.config.globalProperties.$isDesktop = t.greater("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(wn, e.config.globalProperties.$isPhone), e.provide(Cn, e.config.globalProperties.$isTablet), e.provide(bn, e.config.globalProperties.$isMobile), e.provide(Pn, e.config.globalProperties.$isDesktop), e.provide(Nn, e.config.globalProperties.$isTouch);
3412
+ e.config.globalProperties.$isPhone = t.smaller("phone"), e.config.globalProperties.$isTablet = t.between("phone", "desktop"), e.config.globalProperties.$isMobile = t.smaller("desktop"), e.config.globalProperties.$isDesktop = t.greater("desktop"), e.config.globalProperties.$isTouch = "ontouchstart" in window || navigator.maxTouchPoints > 0, e.provide(bn, e.config.globalProperties.$isPhone), e.provide(Pn, e.config.globalProperties.$isTablet), e.provide(Nn, e.config.globalProperties.$isMobile), e.provide(Dn, e.config.globalProperties.$isDesktop), e.provide(yn, e.config.globalProperties.$isTouch);
3412
3413
  }
3413
- function gr(e) {
3414
- e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(Dn, e.config.globalProperties.bladeRoutes);
3414
+ function Ar(e) {
3415
+ e.config.globalProperties.pages = [], e.config.globalProperties.bladeRoutes = [], e.provide(Bn, e.config.globalProperties.bladeRoutes);
3415
3416
  }
3416
- function Sr(e) {
3417
- e.provide(Wt, Fa()), e.provide(yn, Wa()), e.provide(Bn, Ga()), e.provide(Mn, Ha()), e.provide(kn, $a()), e.provide(Vn, me());
3418
- const t = pn(e);
3417
+ function pr(e) {
3418
+ e.provide(Gt, Wa()), e.provide(Mn, Ga()), e.provide(kn, Ha()), e.provide(Vn, xa()), e.provide(Un, $a()), e.provide(Fn, me());
3419
+ const t = Tn(e);
3419
3420
  e.provide(kt, t);
3420
3421
  }
3421
- function Ar(e, t) {
3422
- Vo(), e.use(hs, { router: t.router }), e.use(Is), e.use(co), e.use(So), e.use(Ss), e.use(gs), e.use(es), e.use(Wn, t.aiAgent);
3422
+ function Tr(e, t) {
3423
+ Fo(), e.use(Os, { router: t.router }), e.use(Cs), e.use(fo), e.use(po), e.use(ps), e.use(As), e.use(as), e.use(Hn, t.aiAgent);
3423
3424
  }
3424
- function pr(e, t) {
3425
+ function hr(e, t) {
3425
3426
  if (!t.applicationInsights?.instrumentationKey) return;
3426
3427
  const a = {
3427
3428
  appInsightsConfig: {
@@ -3434,9 +3435,9 @@ function pr(e, t) {
3434
3435
  cloudRole: t.applicationInsights?.cloudRole,
3435
3436
  cloudRoleInstance: t.applicationInsights?.cloudRoleInstance
3436
3437
  };
3437
- e.provide(xa, a);
3438
+ e.provide(Ka, a);
3438
3439
  }
3439
- function Tr(e, t) {
3440
+ function Lr(e, t) {
3440
3441
  if (!t.applicationInsights?.instrumentationKey) return;
3441
3442
  const a = {
3442
3443
  appInsightsConfig: {
@@ -3449,10 +3450,10 @@ function Tr(e, t) {
3449
3450
  cloudRole: t.applicationInsights?.cloudRole,
3450
3451
  cloudRoleInstance: t.applicationInsights?.cloudRoleInstance
3451
3452
  };
3452
- e.use(ts, a);
3453
- const n = e.runWithContext(() => as());
3454
- e.provide(Ka, n), e.runWithContext(() => {
3455
- const { setupPageTracking: s } = za();
3453
+ e.use(ns, a);
3454
+ const n = e.runWithContext(() => ss());
3455
+ e.provide(za, n), e.runWithContext(() => {
3456
+ const { setupPageTracking: s } = qa();
3456
3457
  t.router.beforeEach((o) => {
3457
3458
  s.beforeEach({ name: o.name });
3458
3459
  }), t.router.afterEach((o) => {
@@ -3460,7 +3461,7 @@ function Tr(e, t) {
3460
3461
  });
3461
3462
  });
3462
3463
  }
3463
- function hr(e) {
3464
+ function Or(e) {
3464
3465
  const t = (a) => {
3465
3466
  let n = {};
3466
3467
  return Object.keys(a.params).length > 0 && (n = Object.fromEntries(Object.entries(a.params).filter(([s]) => s !== "pathMatch"))), n;
@@ -3488,46 +3489,46 @@ function hr(e) {
3488
3489
  } else return !0;
3489
3490
  });
3490
3491
  }
3491
- const kl = {
3492
+ const Ul = {
3492
3493
  install(e, t) {
3493
- Wo(), Ua().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch = Ro(t.router), fr(e, t), mr(e), gr(e), Sr(e), Ar(e, t), pr(e, t), Po(e), typeof window < "u" && (e.runWithContext(() => Jt()), e.runWithContext(() => ea())), hr(t.router), setTimeout(() => {
3494
- performance.mark("vc:deferred-plugins-start"), Tr(e, t), performance.mark("vc:deferred-plugins-done");
3494
+ Ho(), Fa().register([{ key: "light", localizationKey: "core.themes.light" }]), window.fetch = Io(t.router), gr(e, t), Sr(e), Ar(e), pr(e), Tr(e, t), hr(e, t), Do(e), typeof window < "u" && (e.runWithContext(() => Qt()), e.runWithContext(() => ta())), Or(t.router), setTimeout(() => {
3495
+ performance.mark("vc:deferred-plugins-start"), Lr(e, t), performance.mark("vc:deferred-plugins-done");
3495
3496
  }, 0);
3496
3497
  }
3497
3498
  };
3498
3499
  export {
3499
- Cf as AI_AGENT_URL_ENV_KEY,
3500
+ Pf as AI_AGENT_URL_ENV_KEY,
3500
3501
  DE as AiAgentServiceKey,
3501
3502
  yE as ApiException,
3502
3503
  BE as AppBarMobileButtonsServiceKey,
3503
- Bn as AppBarWidgetServiceKey,
3504
- Ka as AppInsightsInstanceKey,
3505
- xa as AppInsightsOptionsKey,
3504
+ kn as AppBarWidgetServiceKey,
3505
+ za as AppInsightsInstanceKey,
3506
+ Ka as AppInsightsOptionsKey,
3506
3507
  ME as AppManifestClient,
3507
3508
  kE as AppPlacement,
3508
3509
  VE as AppRootElementKey,
3509
3510
  UE as AppsClient,
3510
- co as AssetsDetailsModule,
3511
- mo as AssetsManager,
3512
- So as AssetsManagerModule,
3511
+ fo as AssetsDetailsModule,
3512
+ So as AssetsManager,
3513
+ po as AssetsManagerModule,
3513
3514
  FE as AuthApiBase,
3514
3515
  WE as AuthorizationClient,
3515
3516
  GE as BladeBackButtonKey,
3516
3517
  HE as BladeBannersKey,
3517
- Ht as BladeContextKey,
3518
- $E as BladeDataKey,
3519
- Gt as BladeDescriptorKey,
3520
- Fl as BladeError,
3521
- _n as BladeFormKey,
3522
- xE as BladeLoadingKey,
3518
+ xt as BladeContextKey,
3519
+ xE as BladeDataKey,
3520
+ Ht as BladeDescriptorKey,
3521
+ Gl as BladeError,
3522
+ vn as BladeFormKey,
3523
+ $E as BladeLoadingKey,
3523
3524
  KE as BladeMaximizedKey,
3524
- Ln as BladeMessagingKey,
3525
+ On as BladeMessagingKey,
3525
3526
  zE as BladeRenderingStateKey,
3526
- Dn as BladeRoutesKey,
3527
- hn as BladeStackKey,
3528
- Wl as ButtonGroupKey,
3529
- vs as COMPONENT_DEFAULTS,
3530
- xu as CellDate,
3527
+ Bn as BladeRoutesKey,
3528
+ Ln as BladeStackKey,
3529
+ Hl as ButtonGroupKey,
3530
+ Rs as COMPONENT_DEFAULTS,
3531
+ $u as CellDate,
3531
3532
  Ku as CellDateAgo,
3532
3533
  zu as CellDefault,
3533
3534
  qu as CellEditableWrapper,
@@ -3541,83 +3542,83 @@ export {
3541
3542
  qE as ChangeLogClient,
3542
3543
  td as ChangePassword,
3543
3544
  ad as ChangePasswordButton,
3544
- Dl as ChangePasswordPage,
3545
- Xf as ChartContainer,
3546
- Jf as ChartLegend,
3547
- Qf as ChartTooltip,
3545
+ Bl as ChangePasswordPage,
3546
+ im as ChartContainer,
3547
+ lm as ChartLegend,
3548
+ um as ChartTooltip,
3548
3549
  YE as CloseSettingsMenuKey,
3549
3550
  nd as ColumnCollector,
3550
- bf as DEFAULT_AI_AGENT_CONFIG,
3551
- em as DashboardBarChart,
3552
- tm as DashboardDonutChart,
3553
- Vf as DashboardFeedList,
3554
- Uf as DashboardFeedRow,
3555
- am as DashboardLineChart,
3551
+ Nf as DEFAULT_AI_AGENT_CONFIG,
3552
+ dm as DashboardBarChart,
3553
+ cm as DashboardDonutChart,
3554
+ qf as DashboardFeedList,
3555
+ Yf as DashboardFeedRow,
3556
+ Em as DashboardLineChart,
3556
3557
  jE as DashboardServiceKey,
3557
- Ff as DashboardStatItem,
3558
- Wf as DashboardWidgetCard,
3558
+ jf as DashboardStatItem,
3559
+ Zf as DashboardWidgetCard,
3559
3560
  ZE as DeveloperToolsClient,
3560
3561
  XE as DiagnosticsClient,
3561
- Gl as DisplayableError,
3562
- Gf as DraggableDashboard,
3562
+ xl as DisplayableError,
3563
+ Xf as DraggableDashboard,
3563
3564
  JE as DynamicModulesKey,
3564
3565
  QE as DynamicPropertiesClient,
3565
3566
  ef as DynamicPropertyValueType,
3566
- Pf as EMBEDDED_TO_HOST_MESSAGE_TYPES,
3567
+ Df as EMBEDDED_TO_HOST_MESSAGE_TYPES,
3567
3568
  tf as EmbeddedModeKey,
3568
3569
  af as EntryState,
3569
3570
  sd as ErrorInterceptor,
3570
- cs as ExtensionPoint,
3571
- sm as ExtensionPoints,
3572
- Ko as ExternalProviders,
3571
+ fs as ExtensionPoint,
3572
+ mm as ExtensionPoints,
3573
+ qo as ExternalProviders,
3573
3574
  nf as ExternalSignInClient,
3574
- Hl as FALLBACK_BLADE_ID,
3575
- bl as ForgotPassword,
3576
- $l as FrameworkError,
3577
- Nf as HOST_TO_EMBEDDED_MESSAGE_TYPES,
3575
+ $l as FALLBACK_BLADE_ID,
3576
+ Nl as ForgotPassword,
3577
+ Kl as FrameworkError,
3578
+ yf as HOST_TO_EMBEDDED_MESSAGE_TYPES,
3578
3579
  bt as InjectionError,
3579
3580
  sf as InternalRoutesKey,
3580
- Nl as Invite,
3581
- Pn as IsDesktopKey,
3582
- bn as IsMobileKey,
3583
- wn as IsPhoneKey,
3584
- Cn as IsTabletKey,
3585
- Nn as IsTouchKey,
3581
+ yl as Invite,
3582
+ Dn as IsDesktopKey,
3583
+ Nn as IsMobileKey,
3584
+ bn as IsPhoneKey,
3585
+ Pn as IsTabletKey,
3586
+ yn as IsTouchKey,
3586
3587
  of as JobsClient,
3587
3588
  rf as JsonValueKind,
3588
- Hf as LAYOUT_STORAGE_KEY,
3589
+ Jf as LAYOUT_STORAGE_KEY,
3589
3590
  od as LanguageSelector,
3590
- vn as LanguageServiceKey,
3591
+ Cn as LanguageServiceKey,
3591
3592
  lf as LocalizableSettingsClient,
3592
- Cl as Login,
3593
+ Pl as Login,
3593
3594
  rd as LogoutButton,
3594
3595
  id as MenuBurgerIcon,
3595
- Mn as MenuServiceKey,
3596
- xl as ModuleLoadError,
3596
+ Vn as MenuServiceKey,
3597
+ zl as ModuleLoadError,
3597
3598
  uf as ModulesClient,
3598
3599
  df as ModulesLoadErrorKey,
3599
3600
  cf as ModulesReadyKey,
3600
- cr as NotificationContainer,
3601
- nn as NotificationContextKey,
3601
+ fr as NotificationContainer,
3602
+ sn as NotificationContextKey,
3602
3603
  ld as NotificationDropdown,
3603
- Vn as NotificationStoreKey,
3604
+ Fn as NotificationStoreKey,
3604
3605
  ud as NotificationTemplate,
3605
3606
  Ef as OAuthAppsClient,
3606
3607
  ff as ProgressMessageLevel,
3607
3608
  mf as PushNotificationClient,
3608
- Kl as RegistrationError,
3609
- Pl as ResetPassword,
3609
+ ql as RegistrationError,
3610
+ Dl as ResetPassword,
3610
3611
  dd as SCHEDULER_ZOOM_LEVELS,
3611
3612
  gf as SecurityClient,
3612
- zl as ServiceError,
3613
- On as SettingClient,
3613
+ Yl as ServiceError,
3614
+ Rn as SettingClient,
3614
3615
  Sf as SettingValueType,
3615
3616
  cd as SettingsMenu,
3616
3617
  Ed as SettingsMenuItem,
3617
- kn as SettingsMenuServiceKey,
3618
+ Un as SettingsMenuServiceKey,
3618
3619
  Af as SettingsV2Client,
3619
3620
  pf as ShellIndicatorsKey,
3620
- wl as Sidebar,
3621
+ bl as Sidebar,
3621
3622
  Tf as SortDirection,
3622
3623
  fd as Table,
3623
3624
  md as TableBody,
@@ -3634,12 +3635,12 @@ export {
3634
3635
  Id as TableSearchHeader,
3635
3636
  vd as TableSelectAllBar,
3636
3637
  wd as ThemeSelector,
3637
- yn as ToolbarServiceKey,
3638
+ Mn as ToolbarServiceKey,
3638
3639
  Cd as UserDropdownButton,
3639
- ql as ValidationError,
3640
+ jl as ValidationError,
3640
3641
  bd as VcAccordion,
3641
3642
  Pd as VcAccordionItem,
3642
- Df as VcAiAgentPanel,
3643
+ Bf as VcAiAgentPanel,
3643
3644
  Nd as VcApp,
3644
3645
  Dd as VcAppBarMobileActions,
3645
3646
  yd as VcAppBarOverlay,
@@ -3652,46 +3653,46 @@ export {
3652
3653
  Wd as VcAppMobileLayout,
3653
3654
  Gd as VcAppSidebarCollapseButton,
3654
3655
  Hd as VcAppSidebarContent,
3655
- $d as VcAppSidebarHeader,
3656
+ xd as VcAppSidebarHeader,
3656
3657
  _e as VcAuthLayout,
3657
- xd as VcBadge,
3658
- gn as VcBanner,
3658
+ $d as VcBadge,
3659
+ Sn as VcBanner,
3659
3660
  Ut as VcBlade,
3660
3661
  Kd as VcBladeNavigation,
3661
- hs as VcBladeNavigationComponent,
3662
+ Os as VcBladeNavigationComponent,
3662
3663
  zd as VcBladeNavigationV2,
3663
3664
  qd as VcBladeSlot,
3664
3665
  Yd as VcBreadcrumbs,
3665
- x as VcButton,
3666
+ $ as VcButton,
3666
3667
  jd as VcButtonGroup,
3667
3668
  Zd as VcCard,
3668
3669
  Xd as VcCheckbox,
3669
3670
  Jd as VcCheckboxGroup,
3670
3671
  Qd as VcCol,
3671
- Yl as VcColorInput,
3672
+ Zl as VcColorInput,
3672
3673
  pe as VcColumn,
3673
- cn as VcContainer,
3674
- fn as VcDataTable,
3675
- jl as VcDatePicker,
3674
+ En as VcContainer,
3675
+ mn as VcDataTable,
3676
+ Xl as VcDatePicker,
3676
3677
  ec as VcDropdown,
3677
3678
  tc as VcDropdownItem,
3678
3679
  ac as VcDynamicProperty,
3679
3680
  nc as VcEditor,
3680
3681
  sc as VcEnvironmentBanner,
3681
- $e as VcField,
3682
+ xe as VcField,
3682
3683
  oc as VcFileUpload,
3683
3684
  ge as VcForm,
3684
3685
  rc as VcGallery,
3685
3686
  Ee as VcHint,
3686
- In as VcIcon,
3687
+ wn as VcIcon,
3687
3688
  st as VcImage,
3688
3689
  ic as VcImageTile,
3689
3690
  lc as VcImageUpload,
3690
3691
  K as VcInput,
3691
- Zl as VcInputCurrency,
3692
- Xl as VcInputDropdown,
3692
+ Jl as VcInputCurrency,
3693
+ Ql as VcInputDropdown,
3693
3694
  uc as VcInputGroup,
3694
- Jl as VcLabel,
3695
+ eu as VcLabel,
3695
3696
  dc as VcLanguageSelector,
3696
3697
  cc as VcLink,
3697
3698
  Ft as VcLoading,
@@ -3702,170 +3703,178 @@ export {
3702
3703
  Sc as VcMultivalue,
3703
3704
  Ac as VcPagination,
3704
3705
  pc as VcPopover,
3705
- ln as VcPopup,
3706
+ un as VcPopup,
3706
3707
  Tc as VcProgress,
3707
3708
  hc as VcRadioButton,
3708
3709
  Lc as VcRadioGroup,
3709
3710
  Oc as VcRating,
3710
3711
  Rc as VcRow,
3711
3712
  _c as VcScheduler,
3712
- Ql as VcScrollableContainer,
3713
- eu as VcSelect,
3714
- mn as VcSidebar,
3715
- tu as VcSkeleton,
3713
+ tu as VcScrollableContainer,
3714
+ au as VcSelect,
3715
+ gn as VcSidebar,
3716
+ nu as VcSkeleton,
3716
3717
  Ic as VcSlider,
3717
3718
  vc as VcStatus,
3718
3719
  wc as VcStatusIcon,
3719
3720
  Cc as VcSwitch,
3720
3721
  bc as VcTable,
3721
- En as VcTextarea,
3722
+ fn as VcTextarea,
3722
3723
  dt as VcToast,
3723
- au as VcTooltip,
3724
+ hf as VcTooltip,
3724
3725
  Pc as VcVideo,
3725
3726
  Nc as VcWidget,
3726
- Rn as WidgetScopeKey,
3727
- Wt as WidgetServiceKey,
3727
+ _n as WidgetScopeKey,
3728
+ Gt as WidgetServiceKey,
3728
3729
  Vt as __registerBladeConfig,
3729
3730
  Dc as _createEnvironmentNameLogic,
3730
- hf as _createInternalUserLogic,
3731
- yl as _resetAdapterState,
3732
- Lf as _sharedInternalUserLogic,
3733
- nu as addAppBarWidget,
3734
- su as addMenuItem,
3735
- ou as addSettingsMenuItem,
3736
- ru as after,
3737
- Wn as aiAgentPlugin,
3731
+ Lf as _createInternalUserLogic,
3732
+ Ml as _resetAdapterState,
3733
+ Of as _sharedInternalUserLogic,
3734
+ su as addAppBarWidget,
3735
+ ou as addMenuItem,
3736
+ ru as addSettingsMenuItem,
3737
+ iu as after,
3738
+ Hn as aiAgentPlugin,
3738
3739
  yc as autofocus,
3739
- iu as before,
3740
- lu as bigInt,
3741
- il as camelToSnake,
3742
- ul as camelize,
3743
- $f as clearLayoutStorage,
3744
- uu as convertColorNameToHex,
3740
+ lu as before,
3741
+ uu as bigInt,
3742
+ ul as camelToSnake,
3743
+ cl as camelize,
3744
+ Qf as clearLayoutStorage,
3745
+ du as convertColorNameToHex,
3745
3746
  Bc as convertMomentFormat,
3746
- yf as createAiAgentToolbarButton,
3747
- ml as createAppModule,
3748
- du as createBackendRegistry,
3749
- cu as createKeyedBackendRegistry,
3747
+ Mf as createAiAgentToolbarButton,
3748
+ Sl as createAppModule,
3749
+ cu as createBackendRegistry,
3750
+ Eu as createKeyedBackendRegistry,
3750
3751
  U as createLogger,
3751
- kl as default,
3752
+ Ul as default,
3752
3753
  lt as defineAppModule,
3753
- _l as defineBladeContext,
3754
- om as defineExtensionPoint,
3754
+ vl as defineBladeContext,
3755
+ gm as defineExtensionPoint,
3755
3756
  Mc as detectThemePreset,
3756
- Eu as fileWeight,
3757
+ kf as expectedCode,
3758
+ Vf as expectedEventKey,
3759
+ fu as fileWeight,
3757
3760
  kc as formatBadgeCount,
3758
3761
  Vc as formatDateRelative,
3759
3762
  Uc as formatDateWithPattern,
3760
- xf as fromGridstackNode,
3761
- Ma as generateId,
3763
+ Uf as formatShortcut,
3764
+ em as fromGridstackNode,
3765
+ ka as generateId,
3762
3766
  Fc as getAllBladeConfigs,
3763
3767
  Wc as getBestThumbnailSize,
3764
3768
  Gc as getBladeConfig,
3765
- gl as getComponentDefaults,
3766
- zt as getExtensionColor,
3767
- qt as getExtensionLabel,
3768
- fu as getMenuBadge,
3769
- mu as getMenuBadges,
3769
+ Al as getComponentDefaults,
3770
+ qt as getExtensionColor,
3771
+ Yt as getExtensionLabel,
3772
+ mu as getMenuBadge,
3773
+ gu as getMenuBadges,
3770
3774
  Hc as getThumbnailUrl,
3775
+ Ff as hotkey,
3771
3776
  X as i18n,
3772
- Il as injectBladeContext,
3773
- gu as isFrameworkError,
3774
- xt as isImage,
3775
- Su as isValidHexColor,
3776
- Es as kebabToCamel,
3777
- ll as kebabToPascal,
3778
- $c as languageToCountryMap,
3779
- Kf as loadLayoutFromStorage,
3780
- Ba as loading,
3781
- Of as logger,
3782
- Rf as loggers,
3783
- zf as mergeLayoutWithWidgets,
3784
- Au as mindimensions,
3785
- pu as normalizeHexColor,
3777
+ wl as injectBladeContext,
3778
+ Su as isFrameworkError,
3779
+ Kt as isImage,
3780
+ Wf as isTextInputFocused,
3781
+ Au as isValidHexColor,
3782
+ ms as kebabToCamel,
3783
+ dl as kebabToPascal,
3784
+ xc as languageToCountryMap,
3785
+ tm as loadLayoutFromStorage,
3786
+ Ma as loading,
3787
+ Rf as logger,
3788
+ _f as loggers,
3789
+ Gf as matchesEvent,
3790
+ am as mergeLayoutWithWidgets,
3791
+ pu as mindimensions,
3792
+ Tu as normalizeHexColor,
3786
3793
  q as notification,
3787
3794
  be as parseError,
3788
- gs as permissions,
3789
- Tu as provideAppBarState,
3790
- xc as provideAppBarWidget,
3791
- hu as provideDashboardService,
3795
+ As as permissions,
3796
+ hu as provideAppBarState,
3797
+ $c as provideAppBarWidget,
3798
+ Lu as provideDashboardService,
3792
3799
  Kc as provideLanguages,
3793
- Lu as provideMenuService,
3794
- Ou as provideSettingsMenu,
3800
+ Ou as provideMenuService,
3801
+ Ru as provideSettingsMenu,
3795
3802
  zc as provideSidebarState,
3796
- Ru as provideToolbarService,
3797
- Kt as readableSize,
3798
- _u as registerDashboardWidget,
3799
- Iu as registerExternalWidget,
3800
- vu as registerToolbarItem,
3801
- wu as registerWidget,
3802
- Cu as removeMenuBadge,
3803
- bu as removeRegisteredMenuItem,
3803
+ _u as provideToolbarService,
3804
+ zt as readableSize,
3805
+ Iu as registerDashboardWidget,
3806
+ vu as registerExternalWidget,
3807
+ wu as registerToolbarItem,
3808
+ Cu as registerWidget,
3809
+ bu as removeMenuBadge,
3810
+ Pu as removeRegisteredMenuItem,
3804
3811
  qc as resolveEnvironment,
3805
3812
  Yc as resolveLocale,
3806
3813
  jc as resolveLocaleSync,
3807
- qf as saveLayoutToStorage,
3808
- Pu as setMenuBadge,
3809
- Ss as signalR,
3814
+ nm as saveLayoutToStorage,
3815
+ Nu as setMenuBadge,
3816
+ ps as signalR,
3810
3817
  Zc as stripTenantPrefix,
3811
- Yf as toGridstackWidget,
3818
+ sm as toGridstackWidget,
3812
3819
  Xc as useAdaptiveItems,
3813
- Bf as useAiAgent,
3814
- vf as useAiAgentContext,
3815
- Ds as useApiClient,
3820
+ Hf as useAiAgent,
3821
+ Cf as useAiAgentContext,
3822
+ Bs as useApiClient,
3816
3823
  Jc as useAppBarMobileActions,
3817
- Nu as useAppBarState,
3824
+ Du as useAppBarState,
3818
3825
  Qc as useAppBarWidget,
3819
3826
  eE as useAppBarWidgets,
3820
- za as useAppInsights,
3821
- pl as useAssets,
3822
- Tl as useAssetsManager,
3823
- jt as useAsync,
3827
+ qa as useAppInsights,
3828
+ hl as useAssets,
3829
+ Ll as useAssetsManager,
3830
+ Zt as useAsync,
3824
3831
  tE as useBadge,
3825
- Gs as useBeforeUnload,
3832
+ xs as useBeforeUnload,
3826
3833
  ot as useBlade,
3827
- Ml as useBladeForm,
3828
- Du as useBladeLoading,
3834
+ Vl as useBladeForm,
3835
+ yu as useBladeLoading,
3829
3836
  aE as useBladeMessaging,
3830
- Bl as useBladeNavigation,
3831
- dl as useBladeNotifications,
3832
- Mf as useBladeStack,
3833
- Ol as useBladeWidgets,
3837
+ kl as useBladeNavigation,
3838
+ El as useBladeNotifications,
3839
+ xf as useBladeStack,
3840
+ _l as useBladeWidgets,
3834
3841
  nE as useBreadcrumbs,
3835
- El as useBroadcastFilter,
3842
+ ml as useBroadcastFilter,
3836
3843
  sE as useCollapsible,
3837
3844
  oE as useColumnFilter,
3838
- ko as useContainer,
3839
- yu as useDashboard,
3845
+ Uo as useContainer,
3846
+ Bu as useDashboard,
3840
3847
  rE as useDataTablePagination,
3841
3848
  iE as useDataTableSort,
3842
- hl as useDynamicProperties,
3849
+ Ol as useDynamicProperties,
3843
3850
  lE as useEnvironmentName,
3844
- Bu as useErrorHandler,
3845
- rm as useExtensionPoint,
3851
+ Mu as useErrorHandler,
3852
+ Sm as useExtensionPoint,
3846
3853
  uE as useFilterState,
3847
- Mu as useFloatingPosition,
3848
- ku as useFormField,
3849
- Sl as useFunctions,
3854
+ ku as useFloatingPosition,
3855
+ Vu as useFormField,
3856
+ pl as useFunctions,
3850
3857
  dE as useGalleryPreview,
3851
- jf as useGridstack,
3858
+ om as useGridstack,
3852
3859
  cE as useImageLoad,
3853
- Do as useInstance,
3860
+ Bo as useInstance,
3861
+ $f as useIsMac,
3862
+ Kf as useKeyboardShortcuts,
3854
3863
  EE as useLanguages,
3855
- Zt as useLoading,
3864
+ Xt as useLoading,
3856
3865
  fE as useMenuActiveState,
3857
3866
  mE as useMenuExpanded,
3858
- Vu as useMenuService,
3859
- vl as useModificationTracker,
3860
- cl as useNotificationContext,
3867
+ Uu as useMenuService,
3868
+ Cl as useModificationTracker,
3869
+ fl as useNotificationContext,
3861
3870
  me as useNotificationStore,
3862
- Al as useNotifications,
3871
+ Tl as useNotifications,
3863
3872
  at as usePermissions,
3864
- Sn as usePopup,
3865
- Va as useResponsive,
3866
- Uu as useScrollArrows,
3873
+ An as usePopup,
3874
+ Ua as useResponsive,
3875
+ Fu as useScrollArrows,
3867
3876
  we as useSettings,
3868
- Fu as useSettingsMenu,
3877
+ Wu as useSettingsMenu,
3869
3878
  gE as useShellBootstrap,
3870
3879
  SE as useShellLifecycle,
3871
3880
  AE as useShellNavigation,
@@ -3874,21 +3883,21 @@ export {
3874
3883
  hE as useTableColumnsResize,
3875
3884
  LE as useTableContext,
3876
3885
  OE as useTableInlineEdit,
3877
- fl as useTableQueryState,
3886
+ gl as useTableQueryState,
3878
3887
  RE as useTableRowGrouping,
3879
3888
  _E as useTableRowReorder,
3880
3889
  IE as useTableSearch,
3881
3890
  vE as useTableSelection,
3882
3891
  wE as useTableSort,
3883
- Wu as useTeleportTarget,
3884
- Ua as useTheme,
3892
+ If as useTeleportTarget,
3893
+ Fa as useTheme,
3885
3894
  CE as useToggleableContent,
3886
3895
  Gu as useToolbar,
3887
- _f as useUser,
3896
+ vf as useUser,
3888
3897
  bE as useVirtualScroll,
3889
- Ll as useWebVitals,
3890
- Rl as useWidgetTrigger,
3898
+ Rl as useWebVitals,
3899
+ Il as useWidgetTrigger,
3891
3900
  PE as vAutofocus,
3892
- Ba as vLoading,
3901
+ Ma as vLoading,
3893
3902
  Hu as wrapError
3894
3903
  };