@vc-shell/framework 2.6.3-rc.0-pr386.4b11098 → 2.6.3-rc.0-pr387.d6eb0f9

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 (70) hide show
  1. package/dist/ai-agent/index.js +3 -3
  2. package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BGuEDQCT.js → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DXZ2irBw.js} +349 -354
  3. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DXZ2irBw.js.map +1 -0
  4. package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-BO4n-ICh.js → VcAiAgentPanel.vue_vue_type_style_index_0_lang-Dr95fJrt.js} +396 -316
  5. package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-Dr95fJrt.js.map +1 -0
  6. package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-Djbf55vO.js → VcScheduler.vue_vue_type_script_setup_true_lang-DCVdduod.js} +7045 -7055
  7. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-DCVdduod.js.map +1 -0
  8. package/dist/chunks/{VcScheduler.vue_vue_type_style_index_0_lang-DmyL2_G1.js → VcScheduler.vue_vue_type_style_index_0_lang-wzSTJ_hW.js} +1983 -1991
  9. package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-wzSTJ_hW.js.map +1 -0
  10. package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-CK9wE0zx.js → dashboard-feed-row.vue_vue_type_script_setup_true_lang-BvsHXqNJ.js} +30 -30
  11. package/dist/chunks/{dashboard-feed-row.vue_vue_type_script_setup_true_lang-CK9wE0zx.js.map → dashboard-feed-row.vue_vue_type_script_setup_true_lang-BvsHXqNJ.js.map} +1 -1
  12. package/dist/chunks/{index-BAK_Gsr2.js → index-BQxuPskM.js} +2 -2
  13. package/dist/chunks/{index-BAK_Gsr2.js.map → index-BQxuPskM.js.map} +1 -1
  14. package/dist/core/blade-navigation/utils/urlSync.d.ts.map +1 -1
  15. package/dist/core/composables/index.d.ts +1 -1
  16. package/dist/core/composables/index.d.ts.map +1 -1
  17. package/dist/core/composables/useBladeForm/index.d.ts.map +1 -1
  18. package/dist/core/composables/useTextDirection/index.d.ts +18 -0
  19. package/dist/core/composables/useTextDirection/index.d.ts.map +1 -0
  20. package/dist/core/interceptors/index.d.ts.map +1 -1
  21. package/dist/dashboard/index.js +1 -1
  22. package/dist/framework.js +583 -584
  23. package/dist/framework.js.map +1 -1
  24. package/dist/index.css +2 -2
  25. package/dist/locales/de.js +28 -1
  26. package/dist/locales/en.js +28 -1
  27. package/dist/locales/en.json +28 -1
  28. package/dist/locales/types.d.ts +27 -0
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  31. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  32. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  33. package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts.map +1 -1
  34. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  35. package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts.map +1 -1
  36. package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts.map +1 -1
  37. package/dist/ui/components/molecules/vc-select/_internal/SelectTrigger.vue.d.ts.map +1 -1
  38. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  39. package/dist/ui/components/molecules/vc-switch/vc-switch.vue.d.ts.map +1 -1
  40. package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts.map +1 -1
  41. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarDesktop.vue.d.ts.map +1 -1
  42. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarMobile.vue.d.ts.map +1 -1
  43. package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts +1 -1
  44. package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts.map +1 -1
  45. package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts +1 -1
  46. package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts.map +1 -1
  47. package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts +1 -1
  48. package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts.map +1 -1
  49. package/dist/ui/components/organisms/vc-data-table/components/GlobalFiltersPanel.vue.d.ts +2 -2
  50. package/dist/ui/components/organisms/vc-data-table/components/TableCell.vue.d.ts +1 -1
  51. package/dist/ui/components/organisms/vc-data-table/components/TableCell.vue.d.ts.map +1 -1
  52. package/dist/ui/components/organisms/vc-data-table/components/TableHead.vue.d.ts +1 -1
  53. package/dist/ui/components/organisms/vc-data-table/components/TableHead.vue.d.ts.map +1 -1
  54. package/dist/ui/components/organisms/vc-data-table/components/TableResizeHandle.vue.d.ts.map +1 -1
  55. package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileCard.vue.d.ts.map +1 -1
  56. package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts +4 -2
  57. package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts.map +1 -1
  58. package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsReorder.d.ts.map +1 -1
  59. package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsResize.d.ts.map +1 -1
  60. package/dist/ui/components/organisms/vc-scheduler/_internal/views/SchedulerMonthView.vue.d.ts.map +1 -1
  61. package/dist/ui/components/organisms/vc-scheduler/_internal/views/SchedulerTimelineView.vue.d.ts.map +1 -1
  62. package/dist/ui/composables/useAdaptiveItems.d.ts.map +1 -1
  63. package/dist/ui/composables/useFloatingPosition.d.ts +5 -0
  64. package/dist/ui/composables/useFloatingPosition.d.ts.map +1 -1
  65. package/dist/ui/index.js +34 -33
  66. package/package.json +4 -4
  67. package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-BGuEDQCT.js.map +0 -1
  68. package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-BO4n-ICh.js.map +0 -1
  69. package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-Djbf55vO.js.map +0 -1
  70. package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-DmyL2_G1.js.map +0 -1
@@ -1,35 +1,35 @@
1
- import { ref as D, computed as b, shallowRef as We, watch as V, getCurrentInstance as ne, inject as M, isRef as qe, provide as ke, defineComponent as R, openBlock as A, createElementBlock as k, createElementVNode as x, createCommentVNode as H, createStaticVNode as He, Fragment as Ee, renderList as Se, toDisplayString as le, createBlock as ce, unref as K, withCtx as Q, renderSlot as Ze, createTextVNode as Xe, createVNode as F, withKeys as we, withModifiers as Ae, Transition as Oe, normalizeClass as Pe, onUnmounted as Ye, normalizeStyle as je } from "vue";
2
- import { c as Z, b as Le, d as Qe, B as Je, e as et, f as tt, N as nt, A as be, L as at, g as ot, T as it, a as rt, _ as De, E as st } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-BO4n-ICh.js";
1
+ import { ref as D, computed as b, shallowRef as ze, watch as z, getCurrentInstance as ne, inject as M, isRef as We, provide as ke, defineComponent as R, openBlock as A, createElementBlock as k, createElementVNode as x, createCommentVNode as H, createStaticVNode as qe, Fragment as Ee, renderList as Se, toDisplayString as le, createBlock as ce, unref as V, withCtx as j, renderSlot as He, createTextVNode as Ze, createVNode as F, withKeys as we, withModifiers as Ae, Transition as Oe, normalizeClass as Pe, onUnmounted as Xe, normalizeStyle as Ye } from "vue";
2
+ import { c as Z, d as Le, e as je, B as Qe, f as Je, g as et, N as tt, A as be, L as nt, h as at, T as ot, a as rt, _ as De, E as it } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-Dr95fJrt.js";
3
3
  import { c as ae } from "./vendor-lodash-es-D2n90GJy.js";
4
- import { u as lt } from "./vendor-vueuse-core-BwXFv1rx.js";
5
- import { u as ct } from "./vendor-vue-i18n-LO-EJStU.js";
6
- const dt = {
4
+ import { u as st } from "./vendor-vueuse-core-BwXFv1rx.js";
5
+ import { u as lt } from "./vendor-vue-i18n-LO-EJStU.js";
6
+ const ct = {
7
7
  url: "",
8
8
  title: "Virto OZ",
9
9
  width: 362,
10
10
  expandedWidth: 500,
11
11
  // Secure by default: no origins trusted until the embedder configures them.
12
12
  allowedOrigins: []
13
- }, yn = "APP_AI_AGENT_URL", xn = {
13
+ }, An = "APP_AI_AGENT_URL", yn = {
14
14
  EMBEDDED_APP_READY: "EMBEDDED_APP_READY",
15
15
  AI_TOGGLE_PANEL: "AI_TOGGLE_PANEL",
16
16
  AI_CONTEXT_UPDATE: "AI_CONTEXT_UPDATE",
17
17
  AI_CONTEXT_CLEAR: "AI_CONTEXT_CLEAR"
18
- }, Bn = {
18
+ }, xn = {
19
19
  EMBEDDED_HOST_READY: "EMBEDDED_HOST_READY",
20
20
  AI_CHAT_MESSAGE: "AI_CHAT_MESSAGE"
21
- }, ut = "ai-agent-toggle", ft = "lucide-sparkles", pt = "AI Assistant", oe = Z("ai-agent-panel");
22
- function gt() {
23
- const e = D("closed"), r = D(!1), a = b(() => e.value !== "closed"), t = b(() => e.value === "expanded"), o = () => {
21
+ }, dt = "ai-agent-toggle", ut = "lucide-sparkles", ft = "AI Assistant", oe = Z("ai-agent-panel");
22
+ function pt() {
23
+ const e = D("closed"), i = D(!1), a = b(() => e.value !== "closed"), t = b(() => e.value === "expanded"), o = () => {
24
24
  e.value === "closed" && (e.value = "open", oe.debug("Panel opened"));
25
25
  }, l = () => {
26
- e.value = "closed", r.value = !1, oe.debug("Panel closed, reset initialized state");
26
+ e.value = "closed", i.value = !1, oe.debug("Panel closed, reset initialized state");
27
27
  };
28
28
  return {
29
29
  panelState: e,
30
30
  isOpen: a,
31
31
  isExpanded: t,
32
- isInitialized: r,
32
+ isInitialized: i,
33
33
  open: o,
34
34
  close: l,
35
35
  toggle: () => {
@@ -42,7 +42,7 @@ function gt() {
42
42
  e.value === "expanded" && (e.value = "open", oe.debug("Panel collapsed"));
43
43
  },
44
44
  resetInitialized: () => {
45
- r.value = !1;
45
+ i.value = !1;
46
46
  }
47
47
  };
48
48
  }
@@ -55,8 +55,8 @@ function ye(e) {
55
55
  param: e.param
56
56
  } : { id: "unknown", name: "unknown", title: "Unknown" };
57
57
  }
58
- function vt(e) {
59
- const { userGetter: r, bladeGetter: a, localeGetter: t, tokenGetter: o } = e, l = D(/* @__PURE__ */ new Map()), f = () => {
58
+ function gt(e) {
59
+ const { userGetter: i, bladeGetter: a, localeGetter: t, tokenGetter: o } = e, l = D(/* @__PURE__ */ new Map()), f = () => {
60
60
  const p = a();
61
61
  return p ? l.value.get(p.id) ?? {
62
62
  items: [],
@@ -73,14 +73,14 @@ function vt(e) {
73
73
  contextType: h,
74
74
  contextSuggestions: v,
75
75
  totalItemsCount: c,
76
- setContextData: (p, _, B, P) => {
76
+ setContextData: (p, _, I, P) => {
77
77
  const L = a()?.id || P;
78
- return L ? p.length === 0 && !B ? (l.value.delete(L), _e.debug(`Context cleared for blade: ${L}`), { cleared: !0 }) : (l.value.set(L, { items: p, type: _, suggestions: B }), _e.debug(`Context set for blade: ${L}, items: ${p.length}, type: ${_}`), { cleared: !1 }) : (_e.warn("Cannot set context data: no blade id available"), { cleared: !1 });
78
+ return L ? p.length === 0 && !I ? (l.value.delete(L), _e.debug(`Context cleared for blade: ${L}`), { cleared: !0 }) : (l.value.set(L, { items: p, type: _, suggestions: I }), _e.debug(`Context set for blade: ${L}, items: ${p.length}, type: ${_}`), { cleared: !1 }) : (_e.warn("Cannot set context data: no blade id available"), { cleared: !1 });
79
79
  },
80
80
  buildInitPayload: async () => {
81
81
  const p = o ? await o() ?? void 0 : void 0;
82
82
  return {
83
- userId: r()?.id || "",
83
+ userId: i()?.id || "",
84
84
  locale: t(),
85
85
  blade: ye(a()),
86
86
  contextType: h.value,
@@ -103,8 +103,8 @@ function vt(e) {
103
103
  };
104
104
  }
105
105
  const O = Z("ai-agent-transport");
106
- function Ct(e) {
107
- const { getConfig: r, isEmbedded: a, navigateToBlade: t, closePanel: o } = e, l = We(null), f = D(!1), g = D(!1), h = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Set();
106
+ function vt(e) {
107
+ const { getConfig: i, isEmbedded: a, navigateToBlade: t, closePanel: o } = e, l = ze(null), f = D(!1), g = D(!1), h = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Set();
108
108
  function c(u, w) {
109
109
  switch (u) {
110
110
  case "NAVIGATE_TO_APP": {
@@ -129,13 +129,13 @@ function Ct(e) {
129
129
  h.forEach((_) => {
130
130
  try {
131
131
  _(p);
132
- } catch (B) {
133
- O.error("Handler error:", B);
132
+ } catch (I) {
133
+ O.error("Handler error:", I);
134
134
  }
135
135
  });
136
136
  }
137
137
  function d(u) {
138
- const p = r().allowedOrigins ?? [];
138
+ const p = i().allowedOrigins ?? [];
139
139
  if (p.length === 0) {
140
140
  O.warn(
141
141
  "Ignoring postMessage: aiAgentConfig.allowedOrigins is empty. Configure explicit origins to enable the AI agent bridge.",
@@ -154,13 +154,13 @@ function Ct(e) {
154
154
  const _ = a ? window.parent : l.value?.contentWindow;
155
155
  if (!_ || u.source !== _)
156
156
  return;
157
- const B = u.data;
158
- if (!(!B?.type || typeof B.type != "string"))
159
- switch (O.debug(`Message received: ${B.type}`), B.type) {
157
+ const I = u.data;
158
+ if (!(!I?.type || typeof I.type != "string"))
159
+ switch (O.debug(`Message received: ${I.type}`), I.type) {
160
160
  // Embedded: parent forwards chat messages wrapped in AI_CHAT_MESSAGE
161
161
  case "AI_CHAT_MESSAGE": {
162
162
  if (a) {
163
- const P = B.payload;
163
+ const P = I.payload;
164
164
  P?.type && c(P.type, P.payload);
165
165
  }
166
166
  return;
@@ -177,7 +177,7 @@ function Ct(e) {
177
177
  break;
178
178
  // Normal: direct chat protocol messages
179
179
  default:
180
- c(B.type, B.payload);
180
+ c(I.type, I.payload);
181
181
  break;
182
182
  }
183
183
  }
@@ -193,7 +193,7 @@ function Ct(e) {
193
193
  O.warn("Cannot send message: iframe not available");
194
194
  return;
195
195
  }
196
- const w = r().allowedOrigins?.[0];
196
+ const w = i().allowedOrigins?.[0];
197
197
  if (!w || w === "*") {
198
198
  O.error(
199
199
  "Refusing to send to iframe: aiAgentConfig.allowedOrigins must contain an explicit origin. Message dropped to avoid leaking data (including access tokens) to arbitrary origins.",
@@ -208,7 +208,7 @@ function Ct(e) {
208
208
  O.warn("Cannot send to parent: not in iframe");
209
209
  return;
210
210
  }
211
- const w = r().parentOrigin;
211
+ const w = i().parentOrigin;
212
212
  if (!w || w === "*") {
213
213
  O.error(
214
214
  "Refusing to send to parent: aiAgentConfig.parentOrigin must be an explicit origin. Message dropped to avoid leaking data (including access tokens) to arbitrary origins.",
@@ -236,66 +236,66 @@ function Ct(e) {
236
236
  }
237
237
  };
238
238
  }
239
- const ie = Z("ai-agent-service");
240
- function mt(e) {
239
+ const re = Z("ai-agent-service");
240
+ function Ct(e) {
241
241
  const {
242
- userGetter: r,
242
+ userGetter: i,
243
243
  bladeGetter: a,
244
244
  localeGetter: t,
245
245
  tokenGetter: o,
246
246
  navigateToBlade: l,
247
247
  initialConfig: f,
248
248
  isEmbedded: g = !1
249
- } = e, h = D({ ...dt, ...f }), v = gt(), c = vt({
250
- userGetter: r,
249
+ } = e, h = D({ ...ct, ...f }), v = pt(), c = gt({
250
+ userGetter: i,
251
251
  bladeGetter: a,
252
252
  localeGetter: t,
253
253
  tokenGetter: o
254
- }), d = Ct({
254
+ }), d = vt({
255
255
  getConfig: () => h.value,
256
256
  isEmbedded: g,
257
257
  navigateToBlade: l,
258
258
  closePanel: () => v.close()
259
259
  }), u = b(() => ({
260
- user: r(),
260
+ user: i(),
261
261
  currentBlade: a(),
262
262
  items: c.contextItems.value
263
263
  })), w = async () => {
264
264
  if (d.pendingInitContext.value && d.iframeRef.value?.contentWindow) {
265
265
  d.pendingInitContext.value = !1, v.isInitialized.value = !0;
266
- const I = await c.buildInitPayload();
267
- d.sendToIframe({ type: "INIT_CONTEXT", payload: I }), ie.debug("Flushed pending INIT_CONTEXT");
266
+ const B = await c.buildInitPayload();
267
+ d.sendToIframe({ type: "INIT_CONTEXT", payload: B }), re.debug("Flushed pending INIT_CONTEXT");
268
268
  }
269
269
  };
270
270
  d.onChatReady(() => {
271
- d.iframeRef.value?.contentWindow ? (v.isInitialized.value = !0, c.buildInitPayload().then((I) => {
272
- d.sendToIframe({ type: "INIT_CONTEXT", payload: I }), ie.info("Chatbot ready, sent INIT_CONTEXT");
273
- })) : (d.pendingInitContext.value = !0, ie.info("Chatbot ready, iframe ref not available yet — pending INIT_CONTEXT"));
274
- }), V(d.iframeRef, () => w()), V(
271
+ d.iframeRef.value?.contentWindow ? (v.isInitialized.value = !0, c.buildInitPayload().then((B) => {
272
+ d.sendToIframe({ type: "INIT_CONTEXT", payload: B }), re.info("Chatbot ready, sent INIT_CONTEXT");
273
+ })) : (d.pendingInitContext.value = !0, re.info("Chatbot ready, iframe ref not available yet — pending INIT_CONTEXT"));
274
+ }), z(d.iframeRef, () => w()), z(
275
275
  () => ({ currentBlade: u.value.currentBlade, items: u.value.items }),
276
276
  async () => {
277
277
  if (g) {
278
- const I = await c.buildInitPayload();
279
- d.sendToParent({ type: "AI_CONTEXT_UPDATE", payload: I });
278
+ const B = await c.buildInitPayload();
279
+ d.sendToParent({ type: "AI_CONTEXT_UPDATE", payload: B });
280
280
  return;
281
281
  }
282
282
  if (v.isOpen.value && v.isInitialized.value && d.iframeRef.value?.contentWindow) {
283
- const I = await c.buildUpdatePayload();
284
- d.sendToIframe({ type: "UPDATE_CONTEXT", payload: I });
283
+ const B = await c.buildUpdatePayload();
284
+ d.sendToIframe({ type: "UPDATE_CONTEXT", payload: B });
285
285
  }
286
286
  },
287
287
  { deep: !0 }
288
288
  );
289
- const p = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.open(), _ = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.close(), B = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.toggle(), P = (I) => {
290
- d.setIframeRef(I), w();
291
- }, L = (I, G, X, Y) => {
292
- const { cleared: N } = c.setContextData(I, G, X, Y);
293
- g && N && d.sendToParent({ type: "AI_CONTEXT_CLEAR" });
289
+ const p = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.open(), _ = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.close(), I = () => g ? d.sendToParent({ type: "AI_TOGGLE_PANEL" }) : v.toggle(), P = (B) => {
290
+ d.setIframeRef(B), w();
291
+ }, L = (B, G, X, N) => {
292
+ const { cleared: Y } = c.setContextData(B, G, X, N);
293
+ g && Y && d.sendToParent({ type: "AI_CONTEXT_CLEAR" });
294
294
  };
295
295
  return d.startListening(), g && (d.sendToParent({
296
296
  type: "EMBEDDED_APP_READY",
297
297
  payload: { supportedFeatures: ["ai-agent"] }
298
- }), ie.info("Embedded mode: sent EMBEDDED_APP_READY to parent")), {
298
+ }), re.info("Embedded mode: sent EMBEDDED_APP_READY to parent")), {
299
299
  // State
300
300
  panelState: v.panelState,
301
301
  config: h,
@@ -306,16 +306,16 @@ function mt(e) {
306
306
  // Panel control
307
307
  openPanel: p,
308
308
  closePanel: _,
309
- togglePanel: B,
309
+ togglePanel: I,
310
310
  expandPanel: () => v.expand(),
311
311
  collapsePanel: () => v.collapse(),
312
312
  // Configuration
313
- setConfig: (I) => {
314
- h.value = { ...h.value, ...I };
313
+ setConfig: (B) => {
314
+ h.value = { ...h.value, ...B };
315
315
  },
316
316
  // Communication
317
- sendMessage: (I, G) => {
318
- d.sendToIframe({ type: I, payload: G });
317
+ sendMessage: (B, G) => {
318
+ d.sendToIframe({ type: B, payload: G });
319
319
  },
320
320
  onMessage: d.onMessage,
321
321
  // Internal API
@@ -326,19 +326,19 @@ function mt(e) {
326
326
  _setContextData: L
327
327
  };
328
328
  }
329
- const ht = /* @__PURE__ */ new Set(["mod", "ctrl", "meta", "alt", "shift"]);
329
+ const mt = /* @__PURE__ */ new Set(["mod", "ctrl", "meta", "alt", "shift"]);
330
330
  function Me(e) {
331
331
  return new Proxy(
332
332
  {},
333
333
  {
334
- get(r, a) {
334
+ get(i, a) {
335
335
  if (!(typeof a != "string" || a === "then"))
336
- return ht.has(a) ? Me({ ...e, [a]: !0 }) : { key: a, ...e };
336
+ return mt.has(a) ? Me({ ...e, [a]: !0 }) : { key: a, ...e };
337
337
  }
338
338
  }
339
339
  );
340
340
  }
341
- const q = Me({}), re = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" }, se = { ctrl: "Ctrl", alt: "Alt", shift: "Shift", meta: "Meta" }, xe = {
341
+ const q = Me({}), ie = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" }, se = { ctrl: "Ctrl", alt: "Alt", shift: "Shift", meta: "Meta" }, xe = {
342
342
  escape: "Esc",
343
343
  enter: "Enter",
344
344
  tab: "Tab",
@@ -369,16 +369,16 @@ const q = Me({}), re = { ctrl: "⌃", alt: "⌥", shift: "⇧", meta: "⌘" }, s
369
369
  comma: ",",
370
370
  slash: "/"
371
371
  };
372
- function _t(e) {
372
+ function ht(e) {
373
373
  return e in xe ? xe[e] : (e.length === 1, e.toUpperCase());
374
374
  }
375
- function Et(e) {
375
+ function _t(e) {
376
376
  return e in Be ? Be[e] : e.length === 1 ? e.toUpperCase() : e.charAt(0).toUpperCase() + e.slice(1);
377
377
  }
378
- function Fe(e, r) {
379
- const a = !!e.ctrl || !!e.mod && !r, t = !!e.meta || !!e.mod && r, o = [], l = [];
380
- r ? (a && o.push(re.ctrl), e.alt && o.push(re.alt), e.shift && o.push(re.shift), t && o.push(re.meta)) : (a && o.push(se.ctrl), t && o.push(se.meta), e.alt && o.push(se.alt), e.shift && o.push(se.shift)), a && l.push("Control"), t && l.push("Meta"), e.alt && l.push("Alt"), e.shift && l.push("Shift"), o.push(_t(e.key));
381
- const f = [...l, Et(e.key)].join("+");
378
+ function Fe(e, i) {
379
+ const a = !!e.ctrl || !!e.mod && !i, t = !!e.meta || !!e.mod && i, o = [], l = [];
380
+ i ? (a && o.push(ie.ctrl), e.alt && o.push(ie.alt), e.shift && o.push(ie.shift), t && o.push(ie.meta)) : (a && o.push(se.ctrl), t && o.push(se.meta), e.alt && o.push(se.alt), e.shift && o.push(se.shift)), a && l.push("Control"), t && l.push("Meta"), e.alt && l.push("Alt"), e.shift && l.push("Shift"), o.push(ht(e.key));
381
+ const f = [...l, _t(e.key)].join("+");
382
382
  return { parts: o, aria: f };
383
383
  }
384
384
  const Ie = {
@@ -398,35 +398,35 @@ const Ie = {
398
398
  arrowleft: "ArrowLeft",
399
399
  arrowright: "ArrowRight"
400
400
  };
401
- function bt(e) {
401
+ function Et(e) {
402
402
  return e.length === 1 && e >= "a" && e <= "z";
403
403
  }
404
- function wt(e) {
404
+ function bt(e) {
405
405
  return e.length === 1 && e >= "0" && e <= "9";
406
406
  }
407
- function At(e) {
407
+ function wt(e) {
408
408
  return /^f([1-9]|1[0-2])$/.test(e);
409
409
  }
410
- function yt(e) {
411
- if (bt(e)) return `Key${e.toUpperCase()}`;
412
- if (wt(e)) return `Digit${e}`;
410
+ function At(e) {
411
+ if (Et(e)) return `Key${e.toUpperCase()}`;
412
+ if (bt(e)) return `Digit${e}`;
413
413
  if (e in Ie) return Ie[e];
414
414
  }
415
- function xt(e) {
415
+ function yt(e) {
416
416
  if (e in Te) return Te[e];
417
- if (At(e)) return e.toUpperCase();
417
+ if (wt(e)) return e.toUpperCase();
418
418
  }
419
- function Bt(e, r) {
420
- const a = yt(e.key);
421
- if (a !== void 0) return r.code === a;
422
- const t = xt(e.key);
423
- return t !== void 0 ? r.key === t : !1;
419
+ function xt(e, i) {
420
+ const a = At(e.key);
421
+ if (a !== void 0) return i.code === a;
422
+ const t = yt(e.key);
423
+ return t !== void 0 ? i.key === t : !1;
424
424
  }
425
- function It(e, r, a) {
425
+ function Bt(e, i, a) {
426
426
  const t = !!e.ctrl || !!e.mod && !a, o = !!e.meta || !!e.mod && a, l = !!e.alt, f = !!e.shift;
427
- return r.ctrlKey !== t || r.metaKey !== o || r.altKey !== l || r.shiftKey !== f ? !1 : Bt(e, r);
427
+ return i.ctrlKey !== t || i.metaKey !== o || i.altKey !== l || i.shiftKey !== f ? !1 : xt(e, i);
428
428
  }
429
- const Tt = /* @__PURE__ */ new Set([
429
+ const It = /* @__PURE__ */ new Set([
430
430
  "button",
431
431
  "submit",
432
432
  "reset",
@@ -437,51 +437,51 @@ const Tt = /* @__PURE__ */ new Set([
437
437
  "range",
438
438
  "color"
439
439
  ]);
440
- function In() {
440
+ function Bn() {
441
441
  const e = document.activeElement;
442
442
  if (!e) return !1;
443
- const r = e.tagName;
444
- if (r === "INPUT") return !Tt.has(e.type);
445
- if (r === "TEXTAREA" || r === "SELECT" || e.isContentEditable === !0) return !0;
443
+ const i = e.tagName;
444
+ if (i === "INPUT") return !It.has(e.type);
445
+ if (i === "TEXTAREA" || i === "SELECT" || e.isContentEditable === !0) return !0;
446
446
  const a = e.getAttribute("contenteditable");
447
447
  return a === "true" || a === "";
448
448
  }
449
- function kt() {
449
+ function Tt() {
450
450
  return typeof navigator > "u" ? !1 : /Mac|iPhone|iPad|iPod/i.test(navigator.userAgent);
451
451
  }
452
452
  function Ne() {
453
- const e = kt();
453
+ const e = Tt();
454
454
  return {
455
455
  hotkey: q,
456
456
  isMac: e,
457
- formatShortcut: (r) => Fe(r, e)
457
+ formatShortcut: (i) => Fe(i, e)
458
458
  };
459
459
  }
460
- let St, $e, Re, Ot;
461
- function Tn(e) {
462
- St = e;
460
+ let kt, $e, Re, St;
461
+ function In(e) {
462
+ kt = e;
463
463
  }
464
- function kn(e) {
464
+ function Tn(e) {
465
465
  $e = e;
466
466
  }
467
- function Sn(e) {
467
+ function kn(e) {
468
468
  Re = e;
469
469
  }
470
- function On(e) {
471
- Ot = e;
470
+ function Sn(e) {
471
+ St = e;
472
472
  }
473
- const Pt = "useBlade() was called outside a blade. Navigation methods (openBlade) work everywhere, but blade-specific methods require the component to be rendered inside VcBladeSlot.";
473
+ const Ot = "useBlade() was called outside a blade. Navigation methods (openBlade) work everywhere, but blade-specific methods require the component to be rendered inside VcBladeSlot.";
474
474
  function y(e) {
475
475
  throw new Error(`[vc-shell] ${e} requires blade context.
476
- ${Pt}`);
476
+ ${Ot}`);
477
477
  }
478
- function Lt() {
479
- const e = (ne() ? M(Le, void 0) : void 0) ?? $e, r = (ne() ? M(Qe, void 0) : void 0) ?? Re;
480
- if (!e || !r)
478
+ function Pt() {
479
+ const e = (ne() ? M(Le, void 0) : void 0) ?? $e, i = (ne() ? M(je, void 0) : void 0) ?? Re;
480
+ if (!e || !i)
481
481
  throw new Error(
482
482
  "[vc-shell] useBlade() failed: BladeStack or BladeMessaging not available. Ensure BladeNavigationPlugin (plugin-v2) is installed."
483
483
  );
484
- const a = e, t = r, o = ne() ? M(Je, void 0) : void 0, l = ne() ? M(et, void 0) : void 0, f = b(() => (o || y("id"), o.value.id)), g = b(() => (o || y("param"), o.value.param)), h = b(() => (o || y("options"), o.value.options)), v = b(() => (o || y("query"), o.value.query)), c = b(() => (o || y("closable"), o.value.parentId !== void 0)), d = b(() => (o || y("expanded"), a.activeBlade.value?.id === o.value.id)), u = b(() => (o || y("name"), o.value.name)), w = b(() => {
484
+ const a = e, t = i, o = ne() ? M(Qe, void 0) : void 0, l = ne() ? M(Je, void 0) : void 0, f = b(() => (o || y("id"), o.value.id)), g = b(() => (o || y("param"), o.value.param)), h = b(() => (o || y("options"), o.value.options)), v = b(() => (o || y("query"), o.value.query)), c = b(() => (o || y("closable"), o.value.parentId !== void 0)), d = b(() => (o || y("expanded"), a.activeBlade.value?.id === o.value.id)), u = b(() => (o || y("name"), o.value.name)), w = b(() => {
485
485
  if (!o) return;
486
486
  const m = o.value.id;
487
487
  return a.blades.value.find((T) => T.parentId === m)?.param;
@@ -495,16 +495,16 @@ function Lt() {
495
495
  return;
496
496
  }
497
497
  p = !0;
498
- const T = qe(m) ? m : D(m);
499
- ke(tt, T);
498
+ const T = We(m) ? m : D(m);
499
+ ke(et, T);
500
500
  }
501
- async function B(m) {
502
- const { isWorkspace: T, ...j } = m;
501
+ async function I(m) {
502
+ const { isWorkspace: T, ...U } = m;
503
503
  if (T)
504
- await a.openWorkspace(j);
504
+ await a.openWorkspace(U);
505
505
  else {
506
- const z = o?.value.id;
507
- z ? await a.openBlade({ ...j, parentId: z }) : await a.openBlade(j);
506
+ const te = o?.value.id;
507
+ te ? await a.openBlade({ ...U, parentId: te }) : await a.openBlade(U);
508
508
  }
509
509
  }
510
510
  async function P() {
@@ -513,7 +513,7 @@ function Lt() {
513
513
  async function L() {
514
514
  o || y("closeChildren()"), await a.closeChildren(o.value.id);
515
515
  }
516
- async function I(m) {
516
+ async function B(m) {
517
517
  o || y("replaceWith()"), await a.replaceCurrentBlade({
518
518
  ...m,
519
519
  parentId: o.value.parentId
@@ -528,10 +528,10 @@ function Lt() {
528
528
  async function X(m, T) {
529
529
  return o || y("callParent()"), t.callParent(o.value.id, m, T);
530
530
  }
531
- function Y(m) {
531
+ function N(m) {
532
532
  o || y("exposeToChildren()"), t.exposeToChildren(o.value.id, m);
533
533
  }
534
- function N(m) {
534
+ function Y(m) {
535
535
  o || y("onBeforeClose()"), a.registerBeforeClose(o.value.id, m);
536
536
  }
537
537
  function de(m) {
@@ -550,28 +550,28 @@ function Lt() {
550
550
  dismissible: m.dismissible ?? !1
551
551
  }), T;
552
552
  }
553
- function ge(m) {
553
+ function Q(m) {
554
554
  l || y("removeBanner()"), l.value = l.value.filter((T) => T.id !== m);
555
555
  }
556
- function J() {
556
+ function ge() {
557
557
  l || y("clearBanners()"), l.value = l.value.filter((m) => m._system);
558
558
  }
559
- let ee = !1, te = !1;
559
+ let J = !1, ee = !1;
560
560
  function ve(m) {
561
- if (o || y("onActivated()"), ee) {
561
+ if (o || y("onActivated()"), J) {
562
562
  console.warn("[useBlade] onActivated() already registered in this blade.");
563
563
  return;
564
564
  }
565
- ee = !0, V(d, (T) => {
565
+ J = !0, z(d, (T) => {
566
566
  T && m();
567
567
  });
568
568
  }
569
569
  function Ce(m) {
570
- if (o || y("onDeactivated()"), te) {
570
+ if (o || y("onDeactivated()"), ee) {
571
571
  console.warn("[useBlade] onDeactivated() already registered in this blade.");
572
572
  return;
573
573
  }
574
- te = !0, V(d, (T) => {
574
+ ee = !0, z(d, (T) => {
575
575
  T || m();
576
576
  });
577
577
  }
@@ -585,35 +585,35 @@ function Lt() {
585
585
  expanded: d,
586
586
  name: u,
587
587
  provideBladeData: _,
588
- openBlade: B,
588
+ openBlade: I,
589
589
  closeSelf: P,
590
590
  closeChildren: L,
591
- replaceWith: I,
591
+ replaceWith: B,
592
592
  coverWith: G,
593
593
  callParent: X,
594
- exposeToChildren: Y,
595
- onBeforeClose: N,
594
+ exposeToChildren: N,
595
+ onBeforeClose: Y,
596
596
  onActivated: ve,
597
597
  onDeactivated: Ce,
598
598
  setError: de,
599
599
  clearError: ue,
600
600
  addBanner: pe,
601
- removeBanner: ge,
602
- clearBanners: J
601
+ removeBanner: Q,
602
+ clearBanners: ge
603
603
  };
604
604
  }
605
- function Dt(e, r) {
605
+ function Lt(e, i) {
606
606
  return {
607
- id: r.generateId(),
607
+ id: i.generateId(),
608
608
  name: e.name,
609
- url: r.resolveUrl(e.name),
609
+ url: i.resolveUrl(e.name),
610
610
  // workspace blades don't have param when opened first
611
611
  query: e.query,
612
612
  options: e.options,
613
613
  visible: !0
614
614
  };
615
615
  }
616
- function Mt(e, r, a) {
616
+ function Dt(e, i, a) {
617
617
  return {
618
618
  id: a.generateId(),
619
619
  name: e.name,
@@ -621,11 +621,11 @@ function Mt(e, r, a) {
621
621
  param: e.param,
622
622
  query: e.query,
623
623
  options: e.options,
624
- parentId: r,
624
+ parentId: i,
625
625
  visible: !0
626
626
  };
627
627
  }
628
- function Ft(e, r, a) {
628
+ function Mt(e, i, a) {
629
629
  return {
630
630
  id: a.generateId(),
631
631
  name: e.name,
@@ -633,11 +633,11 @@ function Ft(e, r, a) {
633
633
  param: e.param,
634
634
  query: e.query,
635
635
  options: e.options,
636
- parentId: r,
636
+ parentId: i,
637
637
  visible: !0
638
638
  };
639
639
  }
640
- function Nt(e, r, a) {
640
+ function Ft(e, i, a) {
641
641
  return {
642
642
  id: a.generateId(),
643
643
  name: e.name,
@@ -645,15 +645,15 @@ function Nt(e, r, a) {
645
645
  param: e.param,
646
646
  query: e.query,
647
647
  options: e.options,
648
- parentId: r,
648
+ parentId: i,
649
649
  visible: !0
650
650
  };
651
651
  }
652
- let $t = 0;
653
- function Rt() {
654
- return `blade_${++$t}_${Math.random().toString(36).slice(2, 8)}`;
652
+ let Nt = 0;
653
+ function $t() {
654
+ return `blade_${++Nt}_${Math.random().toString(36).slice(2, 8)}`;
655
655
  }
656
- function Pn(e, r, a = nt) {
656
+ function On(e, i, a = tt) {
657
657
  const t = D([]), o = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), h = b(() => t.value[0]), v = b(() => t.value), c = b(() => {
658
658
  for (let n = t.value.length - 1; n >= 0; n--)
659
659
  if (t.value[n].visible) return t.value[n];
@@ -662,62 +662,59 @@ function Pn(e, r, a = nt) {
662
662
  o.delete(n), l.delete(n), f.delete(n), g.delete(n);
663
663
  }
664
664
  function u(n) {
665
- const i = e.getBlade(n);
666
- if (i)
667
- return i.route;
665
+ const r = e.getBlade(n);
666
+ if (r)
667
+ return r.route;
668
668
  }
669
669
  const w = {
670
- generateId: Rt,
670
+ generateId: $t,
671
671
  resolveUrl: u
672
672
  };
673
673
  async function p(n) {
674
- for (let i = n.length - 1; i >= 0; i--) {
675
- const s = o.get(n[i].id);
674
+ for (let r = n.length - 1; r >= 0; r--) {
675
+ const s = o.get(n[r].id);
676
676
  if (s && await s())
677
677
  return !0;
678
678
  }
679
679
  return !1;
680
680
  }
681
681
  function _(n) {
682
- for (const i of n)
683
- f.get(i.id)?.(), d(i.id);
684
- }
685
- function B() {
686
- for (const n of g.values()) n.value = !1;
682
+ for (const r of n)
683
+ f.get(r.id)?.(), d(r.id);
687
684
  }
688
- async function P(n) {
685
+ async function I(n) {
689
686
  if (h.value?.name === n.name) return !1;
690
687
  const s = e.getBlade(n.name);
691
688
  if (!s)
692
689
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
693
- if (r && s.permissions && !r(s.permissions))
690
+ if (i && s.permissions && !i(s.permissions))
694
691
  return console.warn(`[BladeStack] Access denied to workspace '${n.name}'`), !1;
695
692
  _([...t.value]);
696
- const C = Dt(n, w);
693
+ const C = Lt(n, w);
697
694
  return t.value = [C], n.onOpen && l.set(C.id, n.onOpen), n.onClose && f.set(C.id, n.onClose), n.onOpen?.(), !0;
698
695
  }
699
- async function L(n) {
696
+ async function P(n) {
700
697
  if (!e.getBlade(n.name))
701
698
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
702
- const i = n.parentId ?? c.value?.id ?? h.value?.id;
703
- if (!i)
699
+ const r = n.parentId ?? c.value?.id ?? h.value?.id;
700
+ if (!r)
704
701
  throw new Error("[BladeStack] Cannot open blade: no parent blade found");
705
- const s = t.value.findIndex((S) => S.id === i);
702
+ const s = t.value.findIndex((S) => S.id === r);
706
703
  if (s === -1)
707
- throw new Error(`[BladeStack] Parent blade '${i}' not found in stack`);
704
+ throw new Error(`[BladeStack] Parent blade '${r}' not found in stack`);
708
705
  const C = t.value.slice(s + 1);
709
706
  if (C.length > 0 && await p(C))
710
707
  return !1;
711
- _(C), B();
712
- const E = Mt(n, i, w);
708
+ _(C);
709
+ const E = Dt(n, r, w);
713
710
  return t.value = [...t.value.slice(0, s + 1), E], n.onOpen && l.set(E.id, n.onOpen), n.onClose && f.set(E.id, n.onClose), n.onOpen?.(), !0;
714
711
  }
715
- async function I(n) {
716
- const i = t.value.findIndex((S) => S.id === n);
717
- if (i === -1 || i === 0) return "refused";
718
- const s = t.value.slice(i);
712
+ async function L(n) {
713
+ const r = t.value.findIndex((S) => S.id === n);
714
+ if (r === -1 || r === 0) return "refused";
715
+ const s = t.value.slice(r);
719
716
  if (await p(s)) return "prevented";
720
- _(s), t.value = t.value.slice(0, i);
717
+ _(s), t.value = t.value.slice(0, r);
721
718
  const E = t.value.length - 1;
722
719
  if (E > 0 && !t.value[E].visible) {
723
720
  const S = [...t.value];
@@ -725,170 +722,168 @@ function Pn(e, r, a = nt) {
725
722
  }
726
723
  return "closed";
727
724
  }
728
- async function G(n) {
729
- const i = c.value;
730
- if (!i)
725
+ async function B(n) {
726
+ const r = c.value;
727
+ if (!r)
731
728
  throw new Error("[BladeStack] No active blade to replace");
732
729
  if (!e.getBlade(n.name))
733
730
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
734
- const s = t.value.findIndex(($) => $.id === i.id);
731
+ const s = t.value.findIndex(($) => $.id === r.id);
735
732
  if (s === -1)
736
- throw new Error(`[BladeStack] Active blade '${i.id}' not found in stack`);
733
+ throw new Error(`[BladeStack] Active blade '${r.id}' not found in stack`);
737
734
  const C = t.value.slice(s + 1);
738
735
  if (C.length > 0) {
739
736
  if (await p(C)) return !1;
740
737
  _(C);
741
738
  }
742
- const E = Ft(n, i.parentId, w);
743
- B(), _([i]);
739
+ const E = Mt(n, r.parentId, w);
740
+ _([r]);
744
741
  const S = [...t.value.slice(0, s), E, ...t.value.slice(s + 1)];
745
742
  return t.value = S, n.onOpen && l.set(E.id, n.onOpen), n.onClose && f.set(E.id, n.onClose), n.onOpen?.(), !0;
746
743
  }
747
- async function X(n) {
748
- const i = c.value;
749
- if (!i)
744
+ async function G(n) {
745
+ const r = c.value;
746
+ if (!r)
750
747
  throw new Error("[BladeStack] No active blade to cover");
751
748
  if (!e.getBlade(n.name))
752
749
  throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
753
- const s = t.value.findIndex(($) => $.id === i.id);
750
+ const s = t.value.findIndex(($) => $.id === r.id);
754
751
  if (s === -1)
755
- throw new Error(`[BladeStack] Active blade '${i.id}' not found in stack`);
752
+ throw new Error(`[BladeStack] Active blade '${r.id}' not found in stack`);
756
753
  const C = t.value.slice(s + 1);
757
754
  if (C.length > 0) {
758
755
  if (await p(C)) return !1;
759
756
  _(C);
760
757
  }
761
- const E = Nt(n, i.id, w);
762
- B();
763
- const S = t.value.slice(0, s);
764
- return S.push({ ...i, visible: !1 }), S.push(E), t.value = S, n.onOpen && l.set(E.id, n.onOpen), n.onClose && f.set(E.id, n.onClose), n.onOpen?.(), !0;
758
+ const E = Ft(n, r.id, w), S = t.value.slice(0, s);
759
+ return S.push({ ...r, visible: !1 }), S.push(E), t.value = S, n.onOpen && l.set(E.id, n.onOpen), n.onClose && f.set(E.id, n.onClose), n.onOpen?.(), !0;
765
760
  }
766
- async function Y(n) {
767
- const i = t.value.findIndex((E) => E.id === n);
768
- if (i === -1) return !1;
769
- const s = t.value.slice(i + 1);
770
- return s.length === 0 || await p(s) ? !1 : (_(s), t.value = t.value.slice(0, i + 1), !0);
761
+ async function X(n) {
762
+ const r = t.value.findIndex((E) => E.id === n);
763
+ if (r === -1) return !1;
764
+ const s = t.value.slice(r + 1);
765
+ return s.length === 0 || await p(s) ? !1 : (_(s), t.value = t.value.slice(0, r + 1), !0);
771
766
  }
772
767
  function N(n) {
773
768
  c.value?.url && a[n]();
774
769
  }
770
+ async function Y(n) {
771
+ await I(n) && N("push");
772
+ }
775
773
  async function de(n) {
776
774
  await P(n) && N("push");
777
775
  }
778
776
  async function ue(n) {
779
- await L(n) && N("push");
777
+ await B(n) && N("replace");
780
778
  }
781
779
  async function fe(n) {
782
- await G(n) && N("replace");
780
+ await G(n) && N("push");
783
781
  }
784
782
  async function pe(n) {
785
- await X(n) && N("push");
786
- }
787
- async function ge(n) {
788
- const i = await I(n);
789
- return i === "closed" && a.replace(), i === "prevented";
783
+ const r = await L(n);
784
+ return r === "closed" && a.replace(), r === "prevented";
790
785
  }
791
- async function J(n) {
792
- await Y(n) && a.replace();
786
+ async function Q(n) {
787
+ await X(n) && a.replace();
793
788
  }
794
- function ee(n, i) {
795
- o.set(n, i);
789
+ function ge(n, r) {
790
+ o.set(n, r);
796
791
  }
797
- function te(n) {
792
+ function J(n) {
798
793
  o.delete(n);
799
794
  }
800
- function ve(n, i) {
795
+ function ee(n, r) {
801
796
  const s = t.value.findIndex((E) => E.id === n);
802
797
  if (s === -1) return;
803
798
  const C = [...t.value];
804
- C[s] = { ...C[s], error: i }, t.value = C;
799
+ C[s] = { ...C[s], error: r }, t.value = C;
805
800
  }
806
- function Ce(n) {
807
- const i = t.value.findIndex((C) => C.id === n);
808
- if (i === -1) return;
801
+ function ve(n) {
802
+ const r = t.value.findIndex((C) => C.id === n);
803
+ if (r === -1) return;
809
804
  const s = [...t.value];
810
- s[i] = { ...s[i], error: void 0 }, t.value = s;
805
+ s[r] = { ...s[r], error: void 0 }, t.value = s;
811
806
  }
812
- function m(n, i) {
807
+ function Ce(n, r) {
813
808
  const s = t.value.findIndex((E) => E.id === n);
814
- if (s === -1 || t.value[s].title === i) return;
809
+ if (s === -1 || t.value[s].title === r) return;
815
810
  const C = [...t.value];
816
- C[s] = { ...C[s], title: i }, t.value = C;
811
+ C[s] = { ...C[s], title: r }, t.value = C;
817
812
  }
818
- function T(n) {
819
- const i = t.value.findIndex((s) => s.id === n);
820
- return i === -1 ? [] : t.value.slice(0, i).filter((s) => s.visible).map((s) => ({
813
+ function m(n) {
814
+ const r = t.value.findIndex((s) => s.id === n);
815
+ return r === -1 ? [] : t.value.slice(0, r).filter((s) => s.visible).map((s) => ({
821
816
  id: s.id,
822
817
  title: s.title ?? s.name,
823
818
  clickHandler: async (C) => {
824
- await J(C);
819
+ await Q(C);
825
820
  }
826
821
  }));
827
822
  }
828
- function j(n, i) {
829
- const s = t.value.findIndex((U) => U.id === n);
823
+ function T(n, r) {
824
+ const s = t.value.findIndex((K) => K.id === n);
830
825
  if (s === -1) return;
831
826
  const C = t.value[s].query ?? {}, E = { ...C };
832
- for (const [U, he] of Object.entries(i))
833
- he === "" || he == null ? delete E[U] : E[U] = he;
827
+ for (const [K, he] of Object.entries(r))
828
+ he === "" || he == null ? delete E[K] : E[K] = he;
834
829
  const S = Object.keys(C), $ = Object.keys(E);
835
- if (S.length === $.length && $.every((U) => C[U] === E[U]))
830
+ if (S.length === $.length && $.every((K) => C[K] === E[K]))
836
831
  return;
837
832
  const me = [...t.value];
838
833
  me[s] = { ...me[s], query: E }, t.value = me;
839
834
  }
840
- function z(n) {
841
- let i = g.get(n);
842
- return i || (i = D(!1), g.set(n, i)), i;
835
+ function U(n) {
836
+ let r = g.get(n);
837
+ return r || (r = D(!1), g.set(n, r)), r;
843
838
  }
844
- function Ue(n) {
839
+ function te(n) {
845
840
  return g.get(n)?.value ?? !1;
846
841
  }
847
- function Ke(n, i) {
848
- z(n).value = i;
842
+ function Ue(n, r) {
843
+ U(n).value = r;
849
844
  }
850
- function Ve(n) {
851
- const i = z(n);
852
- i.value = !i.value;
845
+ function Ke(n) {
846
+ const r = U(n);
847
+ r.value = !r.value;
853
848
  }
854
- function ze(n) {
855
- for (const i of t.value)
856
- d(i.id);
849
+ function Ve(n) {
850
+ for (const r of t.value)
851
+ d(r.id);
857
852
  t.value = n;
858
853
  }
859
854
  return {
860
855
  workspace: h,
861
856
  blades: v,
862
857
  activeBlade: c,
863
- openWorkspace: de,
864
- openBlade: ue,
865
- closeBlade: ge,
866
- closeChildren: J,
867
- replaceCurrentBlade: fe,
868
- coverCurrentBlade: pe,
869
- registerBeforeClose: ee,
870
- unregisterBeforeClose: te,
871
- setBladeError: ve,
872
- clearBladeError: Ce,
873
- setBladeTitle: m,
874
- trailFor: T,
875
- updateBladeQuery: j,
876
- getMaximizedRef: z,
877
- isMaximized: Ue,
878
- setMaximized: Ke,
879
- toggleMaximized: Ve,
880
- _restoreStack: ze
858
+ openWorkspace: Y,
859
+ openBlade: de,
860
+ closeBlade: pe,
861
+ closeChildren: Q,
862
+ replaceCurrentBlade: ue,
863
+ coverCurrentBlade: fe,
864
+ registerBeforeClose: ge,
865
+ unregisterBeforeClose: J,
866
+ setBladeError: ee,
867
+ clearBladeError: ve,
868
+ setBladeTitle: Ce,
869
+ trailFor: m,
870
+ updateBladeQuery: T,
871
+ getMaximizedRef: U,
872
+ isMaximized: te,
873
+ setMaximized: Ue,
874
+ toggleMaximized: Ke,
875
+ _restoreStack: Ve
881
876
  };
882
877
  }
883
- function Gt() {
878
+ function Rt() {
884
879
  const e = M(Le);
885
880
  if (!e)
886
881
  throw new Error("[useBladeStack] BladeStack not found. Ensure BladeNavigationPlugin is installed.");
887
882
  return e;
888
883
  }
889
884
  const W = Z("use-ai-agent");
890
- function Ln(e) {
891
- const r = M(at), { user: a, getAccessToken: t } = ot(), { openBlade: o } = Lt(), { blades: l, activeBlade: f } = Gt(), g = e?.isEmbedded, h = mt({
885
+ function Pn(e) {
886
+ const i = M(nt), { user: a, getAccessToken: t } = at(), { openBlade: o } = Pt(), { blades: l, activeBlade: f } = Rt(), g = e?.isEmbedded, h = Ct({
892
887
  userGetter: () => {
893
888
  if (a.value)
894
889
  return {
@@ -908,7 +903,7 @@ function Ln(e) {
908
903
  options: c.options
909
904
  } : null;
910
905
  },
911
- localeGetter: () => r?.currentLocale.value ?? "en",
906
+ localeGetter: () => i?.currentLocale.value ?? "en",
912
907
  tokenGetter: t,
913
908
  navigateToBlade: (c, d, u) => {
914
909
  o({ name: c, param: d, options: u }).then(() => {
@@ -921,12 +916,12 @@ function Ln(e) {
921
916
  isEmbedded: g
922
917
  });
923
918
  if (ke(be, h), W.debug("AiAgentService provided"), e?.addGlobalToolbarButton ?? !0) {
924
- const c = M(it, null);
919
+ const c = M(ot, null);
925
920
  c ? (c.registerToolbarItem(
926
921
  {
927
- id: ut,
928
- icon: ft,
929
- title: pt,
922
+ id: dt,
923
+ icon: ut,
924
+ title: ft,
930
925
  shortcut: q.mod.i,
931
926
  clickHandler: () => {
932
927
  h.togglePanel();
@@ -938,7 +933,7 @@ function Ln(e) {
938
933
  }
939
934
  return h;
940
935
  }
941
- function Dn() {
936
+ function Ln() {
942
937
  const e = M(be);
943
938
  if (!e) {
944
939
  W.error("AiAgentService not found. Did you forget to call provideAiAgentService()?");
@@ -965,7 +960,7 @@ function Dn() {
965
960
  onMessage: e.onMessage
966
961
  };
967
962
  }
968
- function Mn(e) {
963
+ function Dn(e) {
969
964
  return {
970
965
  id: "ai-agent-toggle",
971
966
  icon: e?.icon ?? "lucide-sparkles",
@@ -975,11 +970,11 @@ function Mn(e) {
975
970
  }
976
971
  };
977
972
  }
978
- const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
973
+ const Gt = ["width", "height"], Ut = ["clip-path"], Kt = {
979
974
  key: 1,
980
975
  d: "M72.9199 46.4165C73.2527 46.9495 73.5831 47.4996 73.9092 48.0679C78.4022 55.8976 79.0605 66.3551 76.7793 76.6079C74.5635 86.5668 69.6096 96.1504 62.9795 102.692L58.1514 105.48C52.5725 108.701 45.699 108.701 40.1201 105.48L21.665 94.8247C29.1398 95.4723 37.0781 94.4072 44.3848 91.9233C54.5984 88.4512 63.7463 82.1497 68.6807 73.6548C75.124 62.5619 75.4351 53.2694 72.9199 46.4165ZM56.5205 29.5093C65.5697 29.5331 75.1259 33.9964 83.0215 40.8853C89.9848 46.9608 95.5441 54.8286 98.2715 62.9478V71.9058C98.2715 78.3478 94.8348 84.301 89.2559 87.522L69.4658 98.9468C74.0688 92.6731 77.4601 84.9996 79.207 77.1479C81.5723 66.517 80.9666 55.3703 76.0654 46.8296C69.6817 35.7054 61.7917 30.789 54.6006 29.5396C55.2271 29.5179 55.867 29.5076 56.5205 29.5093ZM0 50.688C3.16812 57.476 8.04614 63.7935 13.8389 68.853C21.9305 75.9204 31.9368 80.6465 41.7578 80.6724C54.5833 80.706 62.7851 76.3308 67.4629 70.728C67.1684 71.2812 66.8584 71.8408 66.5303 72.4058C61.9844 80.2318 53.417 86.2251 43.584 89.5679C34.4355 92.6779 24.3375 93.4401 15.6328 91.3423L9.01562 87.522C3.43667 84.301 0 78.3478 0 71.9058V50.688ZM26.7559 10.1313C22.5672 16.2131 19.6599 23.483 18.2695 30.9126C16.3077 41.3962 17.3358 52.3558 22.2188 60.8647C28.6034 71.9905 36.4946 76.9061 43.6865 78.1548C43.0594 78.1765 42.4188 78.1868 41.7646 78.1851C32.7113 78.1612 23.2602 73.7801 15.4746 66.98C8.2197 60.6434 2.52684 52.3035 0 43.7075V35.9897C6.33247e-05 29.5479 3.43687 23.5955 9.01562 20.3745L26.7559 10.1313ZM51.2432 31.6978C54.0287 31.7659 57.0796 32.4389 60.1875 33.9976C58.8529 33.7029 57.5584 33.677 56.3965 33.9722L57.0088 36.3833C58.4774 36.0102 60.6741 36.4134 63.0332 37.8237C65.3553 39.212 67.6865 41.4953 69.375 44.5923C70.7081 47.0376 71.6489 50.015 71.8535 53.4839C71.4414 52.1828 70.818 51.0505 69.9824 50.1929L68.2012 51.9282C69.2585 53.0135 70.0076 55.1176 69.9658 57.8657C69.9246 60.5708 69.1121 63.731 67.2744 66.7417C65.8225 69.1203 63.7129 71.4251 60.8086 73.3374C61.7311 72.329 62.4012 71.2217 62.7266 70.0679L60.333 69.3931C59.9218 70.8514 58.4742 72.5523 56.0732 73.8901C53.71 75.207 50.5672 76.0837 47.041 75.9976C44.2551 75.9294 41.204 75.2549 38.0957 73.6958C39.4307 73.9907 40.7254 74.0184 41.8877 73.7231L41.2754 71.312C39.8069 71.6851 37.6101 71.2818 35.251 69.8716C32.9289 68.4834 30.5977 66.2 28.9092 63.103C27.5754 60.6565 26.6337 57.6775 26.4297 54.2065C26.8418 55.5096 27.4661 56.6438 28.3027 57.5024L30.084 55.7661C29.0267 54.6807 28.2775 52.5767 28.3193 49.8286C28.3606 47.1236 29.173 43.9633 31.0107 40.9526C32.4621 38.5751 34.5702 36.2706 37.4727 34.3589C36.5514 35.3666 35.8827 36.4736 35.5576 37.6265L37.9512 38.3013C38.3625 36.8429 39.8101 35.142 42.2109 33.8042C44.5742 32.4874 47.717 31.6116 51.2432 31.6978ZM40.1201 2.4165C45.6991 -0.804509 52.5724 -0.804509 58.1514 2.4165L75.6777 12.5356C68.4683 12.0708 60.8765 13.1991 53.8691 15.6333C43.6671 19.1774 34.5353 25.5492 29.6035 34.0396C23.1612 45.1305 22.8486 54.4223 25.3623 61.2749C25.0301 60.7429 24.7004 60.1936 24.375 59.6265C19.8639 51.765 18.8286 41.4457 20.7139 31.3706C22.4486 22.1007 26.633 13.1734 32.6709 6.71631L40.1201 2.4165ZM54.6855 17.9829C63.3703 14.966 72.9092 14.0715 81.3008 15.7817L89.2559 20.3745C94.8346 23.5955 98.2714 29.5479 98.2715 35.9897V56.4692C95.0606 49.9731 90.2759 43.9144 84.6562 39.0112C76.4636 31.8632 66.3524 27.0488 56.5273 27.0229C43.6978 26.9893 35.4935 31.3659 30.8164 36.9712C31.1117 36.4161 31.4247 35.8554 31.7539 35.2886C36.3024 27.4582 44.8633 21.395 54.6855 17.9829Z",
981
976
  fill: "url(#virto-oz-gradient-animated)"
982
- }, zt = ["id"], Wt = {
977
+ }, Vt = ["id"], zt = {
983
978
  key: 1,
984
979
  id: "virto-oz-gradient-animated",
985
980
  gradientUnits: "userSpaceOnUse",
@@ -995,7 +990,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
995
990
  animated: { type: Boolean, default: !1 }
996
991
  },
997
992
  setup(e) {
998
- const r = b(() => `virto-oz-clip-${Math.random().toString(36).substring(2, 11)}`);
993
+ const i = b(() => `virto-oz-clip-${Math.random().toString(36).substring(2, 11)}`);
999
994
  return (a, t) => (A(), k("svg", {
1000
995
  width: e.width,
1001
996
  height: e.height,
@@ -1008,9 +1003,9 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1008
1003
  d: "M40.1199 2.41576C45.6989 -0.805254 52.5724 -0.805253 58.1514 2.41576L89.2556 20.3738C94.8345 23.5948 98.2713 29.5475 98.2713 35.9895V71.9055C98.2713 78.3475 94.8345 84.3002 89.2556 87.5212L58.1514 105.479C52.5724 108.7 45.6989 108.7 40.1199 105.479L9.01574 87.5212C3.43678 84.3002 0 78.3475 0 71.9055V35.9895C0 29.5475 3.43678 23.5948 9.01574 20.3738L40.1199 2.41576Z",
1009
1004
  fill: "white"
1010
1005
  }, null, -1)),
1011
- e.animated ? (A(), k("path", Vt)) : (A(), k("g", {
1006
+ e.animated ? (A(), k("path", Kt)) : (A(), k("g", {
1012
1007
  key: 0,
1013
- "clip-path": `url(#${r.value})`
1008
+ "clip-path": `url(#${i.value})`
1014
1009
  }, [...t[0] || (t[0] = [
1015
1010
  x("g", { transform: "matrix(0 -0.161514 0.160417 0 49.1357 53.9479)" }, [
1016
1011
  x("foreignObject", {
@@ -1033,7 +1028,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1033
1028
  })
1034
1029
  ])
1035
1030
  ], -1)
1036
- ])], 8, Kt)),
1031
+ ])], 8, Ut)),
1037
1032
  t[4] || (t[4] = x("path", {
1038
1033
  d: "M72.1266 54.0945C72.1266 60.0873 74.3028 71.0379 60.6238 82.8517C65.2871 73.0587 55.8339 77.1002 49.1209 77.1002C36.4152 77.1002 26.1152 66.8002 26.1152 54.0945C26.1152 41.3889 36.4152 31.0889 49.1209 31.0889C61.8266 31.0889 72.1266 41.3889 72.1266 54.0945Z",
1039
1034
  fill: "white"
@@ -1062,70 +1057,70 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1062
1057
  x("defs", null, [
1063
1058
  e.animated ? H("", !0) : (A(), k("clipPath", {
1064
1059
  key: 0,
1065
- id: r.value
1060
+ id: i.value
1066
1061
  }, [...t[1] || (t[1] = [
1067
1062
  x("path", { d: "M72.9199 46.4165C73.2527 46.9495 73.5831 47.4996 73.9092 48.0679C78.4022 55.8976 79.0605 66.3551 76.7793 76.6079C74.5635 86.5668 69.6096 96.1504 62.9795 102.692L58.1514 105.48C52.5725 108.701 45.699 108.701 40.1201 105.48L21.665 94.8247C29.1398 95.4723 37.0781 94.4072 44.3848 91.9233C54.5984 88.4512 63.7463 82.1497 68.6807 73.6548C75.124 62.5619 75.4351 53.2694 72.9199 46.4165ZM56.5205 29.5093C65.5697 29.5331 75.1259 33.9964 83.0215 40.8853C89.9848 46.9608 95.5441 54.8286 98.2715 62.9478V71.9058C98.2715 78.3478 94.8348 84.301 89.2559 87.522L69.4658 98.9468C74.0688 92.6731 77.4601 84.9996 79.207 77.1479C81.5723 66.517 80.9666 55.3703 76.0654 46.8296C69.6817 35.7054 61.7917 30.789 54.6006 29.5396C55.2271 29.5179 55.867 29.5076 56.5205 29.5093ZM0 50.688C3.16812 57.476 8.04614 63.7935 13.8389 68.853C21.9305 75.9204 31.9368 80.6465 41.7578 80.6724C54.5833 80.706 62.7851 76.3308 67.4629 70.728C67.1684 71.2812 66.8584 71.8408 66.5303 72.4058C61.9844 80.2318 53.417 86.2251 43.584 89.5679C34.4355 92.6779 24.3375 93.4401 15.6328 91.3423L9.01562 87.522C3.43667 84.301 0 78.3478 0 71.9058V50.688ZM26.7559 10.1313C22.5672 16.2131 19.6599 23.483 18.2695 30.9126C16.3077 41.3962 17.3358 52.3558 22.2188 60.8647C28.6034 71.9905 36.4946 76.9061 43.6865 78.1548C43.0594 78.1765 42.4188 78.1868 41.7646 78.1851C32.7113 78.1612 23.2602 73.7801 15.4746 66.98C8.2197 60.6434 2.52684 52.3035 0 43.7075V35.9897C6.33247e-05 29.5479 3.43687 23.5955 9.01562 20.3745L26.7559 10.1313ZM51.2432 31.6978C54.0287 31.7659 57.0796 32.4389 60.1875 33.9976C58.8529 33.7029 57.5584 33.677 56.3965 33.9722L57.0088 36.3833C58.4774 36.0102 60.6741 36.4134 63.0332 37.8237C65.3553 39.212 67.6865 41.4953 69.375 44.5923C70.7081 47.0376 71.6489 50.015 71.8535 53.4839C71.4414 52.1828 70.818 51.0505 69.9824 50.1929L68.2012 51.9282C69.2585 53.0135 70.0076 55.1176 69.9658 57.8657C69.9246 60.5708 69.1121 63.731 67.2744 66.7417C65.8225 69.1203 63.7129 71.4251 60.8086 73.3374C61.7311 72.329 62.4012 71.2217 62.7266 70.0679L60.333 69.3931C59.9218 70.8514 58.4742 72.5523 56.0732 73.8901C53.71 75.207 50.5672 76.0837 47.041 75.9976C44.2551 75.9294 41.204 75.2549 38.0957 73.6958C39.4307 73.9907 40.7254 74.0184 41.8877 73.7231L41.2754 71.312C39.8069 71.6851 37.6101 71.2818 35.251 69.8716C32.9289 68.4834 30.5977 66.2 28.9092 63.103C27.5754 60.6565 26.6337 57.6775 26.4297 54.2065C26.8418 55.5096 27.4661 56.6438 28.3027 57.5024L30.084 55.7661C29.0267 54.6807 28.2775 52.5767 28.3193 49.8286C28.3606 47.1236 29.173 43.9633 31.0107 40.9526C32.4621 38.5751 34.5702 36.2706 37.4727 34.3589C36.5514 35.3666 35.8827 36.4736 35.5576 37.6265L37.9512 38.3013C38.3625 36.8429 39.8101 35.142 42.2109 33.8042C44.5742 32.4874 47.717 31.6116 51.2432 31.6978ZM40.1201 2.4165C45.6991 -0.804509 52.5724 -0.804509 58.1514 2.4165L75.6777 12.5356C68.4683 12.0708 60.8765 13.1991 53.8691 15.6333C43.6671 19.1774 34.5353 25.5492 29.6035 34.0396C23.1612 45.1305 22.8486 54.4223 25.3623 61.2749C25.0301 60.7429 24.7004 60.1936 24.375 59.6265C19.8639 51.765 18.8286 41.4457 20.7139 31.3706C22.4486 22.1007 26.633 13.1734 32.6709 6.71631L40.1201 2.4165ZM54.6855 17.9829C63.3703 14.966 72.9092 14.0715 81.3008 15.7817L89.2559 20.3745C94.8346 23.5955 98.2714 29.5479 98.2715 35.9897V56.4692C95.0606 49.9731 90.2759 43.9144 84.6562 39.0112C76.4636 31.8632 66.3524 27.0488 56.5273 27.0229C43.6978 26.9893 35.4935 31.3659 30.8164 36.9712C31.1117 36.4161 31.4247 35.8554 31.7539 35.2886C36.3024 27.4582 44.8633 21.395 54.6855 17.9829Z" }, null, -1)
1068
- ])], 8, zt)),
1069
- e.animated ? (A(), k("linearGradient", Wt, [...t[2] || (t[2] = [
1070
- He('<stop offset="0%" stop-color="#FF9533"><animate attributeName="stop-color" values="#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="25%" stop-color="#FF4FBB"><animate attributeName="stop-color" values="#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="50%" stop-color="#EAFF4F"><animate attributeName="stop-color" values="#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="75%" stop-color="#1C91FC"><animate attributeName="stop-color" values="#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="100%" stop-color="#9A2DF8"><animate attributeName="stop-color" values="#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8" dur="4s" repeatCount="indefinite"></animate></stop>', 5)
1063
+ ])], 8, Vt)),
1064
+ e.animated ? (A(), k("linearGradient", zt, [...t[2] || (t[2] = [
1065
+ qe('<stop offset="0%" stop-color="#FF9533"><animate attributeName="stop-color" values="#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="25%" stop-color="#FF4FBB"><animate attributeName="stop-color" values="#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="50%" stop-color="#EAFF4F"><animate attributeName="stop-color" values="#EAFF4F;#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="75%" stop-color="#1C91FC"><animate attributeName="stop-color" values="#1C91FC;#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC" dur="4s" repeatCount="indefinite"></animate></stop><stop offset="100%" stop-color="#9A2DF8"><animate attributeName="stop-color" values="#9A2DF8;#FF9533;#FF4FBB;#EAFF4F;#1C91FC;#9A2DF8" dur="4s" repeatCount="indefinite"></animate></stop>', 5)
1071
1066
  ])])) : H("", !0)
1072
1067
  ])
1073
- ], 8, Ut));
1068
+ ], 8, Gt));
1074
1069
  }
1075
- }), qt = { class: "vc-shortcut-kbd" }, Ht = {
1070
+ }), Wt = { class: "vc-shortcut-kbd" }, qt = {
1076
1071
  key: 0,
1077
1072
  class: "vc-shortcut-kbd__plus"
1078
- }, Zt = { class: "vc-shortcut-kbd__key" }, Xt = /* @__PURE__ */ R({
1073
+ }, Ht = { class: "vc-shortcut-kbd__key" }, Zt = /* @__PURE__ */ R({
1079
1074
  __name: "shortcut-kbd",
1080
1075
  props: {
1081
1076
  parts: {},
1082
1077
  separated: { type: Boolean, default: !1 }
1083
1078
  },
1084
1079
  setup(e) {
1085
- return (r, a) => (A(), k("span", qt, [
1080
+ return (i, a) => (A(), k("span", Wt, [
1086
1081
  (A(!0), k(Ee, null, Se(e.parts, (t, o) => (A(), k(Ee, { key: o }, [
1087
- e.separated && o > 0 ? (A(), k("span", Ht, "+")) : H("", !0),
1088
- x("kbd", Zt, le(t), 1)
1082
+ e.separated && o > 0 ? (A(), k("span", qt, "+")) : H("", !0),
1083
+ x("kbd", Ht, le(t), 1)
1089
1084
  ], 64))), 128))
1090
1085
  ]));
1091
1086
  }
1092
- }), Yt = { class: "tw-inline-flex tw-items-center tw-gap-2" }, jt = 500, Qt = /* @__PURE__ */ R({
1087
+ }), Xt = { class: "tw-inline-flex tw-items-center tw-gap-2" }, Yt = 500, jt = /* @__PURE__ */ R({
1093
1088
  __name: "shortcut-tooltip",
1094
1089
  props: {
1095
1090
  shortcut: {},
1096
1091
  label: {}
1097
1092
  },
1098
1093
  setup(e) {
1099
- const r = e, { isMac: a } = Ne(), t = b(() => Fe(r.shortcut, a));
1100
- return (o, l) => (A(), ce(K(rt), {
1094
+ const i = e, { isMac: a } = Ne(), t = b(() => Fe(i.shortcut, a));
1095
+ return (o, l) => (A(), ce(V(rt), {
1101
1096
  placement: "bottom",
1102
- delay: jt
1097
+ delay: Yt
1103
1098
  }, {
1104
- tooltip: Q(() => [
1105
- x("span", Yt, [
1106
- Xe(le(e.label) + " ", 1),
1107
- F(K(Xt), {
1099
+ tooltip: j(() => [
1100
+ x("span", Xt, [
1101
+ Ze(le(e.label) + " ", 1),
1102
+ F(V(Zt), {
1108
1103
  parts: t.value.parts,
1109
- separated: !K(a)
1104
+ separated: !V(a)
1110
1105
  }, null, 8, ["parts", "separated"])
1111
1106
  ])
1112
1107
  ]),
1113
- default: Q(() => [
1114
- Ze(o.$slots, "default", {
1108
+ default: j(() => [
1109
+ He(o.$slots, "default", {
1115
1110
  aria: t.value.aria
1116
1111
  })
1117
1112
  ]),
1118
1113
  _: 3
1119
1114
  }));
1120
1115
  }
1121
- }), Jt = ["data-blade-expand-control", "aria-label", "aria-keyshortcuts", "onClick", "onKeydown"], en = /* @__PURE__ */ R({
1116
+ }), Qt = ["data-blade-expand-control", "aria-label", "aria-keyshortcuts", "onClick", "onKeydown"], Jt = /* @__PURE__ */ R({
1122
1117
  __name: "header-controls",
1123
1118
  props: {
1124
1119
  maximized: { type: Boolean }
1125
1120
  },
1126
1121
  emits: ["expand", "collapse", "close"],
1127
- setup(e, { emit: r }) {
1128
- const a = e, t = r, { t: o } = ct(), l = b(() => [
1122
+ setup(e, { emit: i }) {
1123
+ const a = e, t = i, { t: o } = lt(), l = b(() => [
1129
1124
  a.maximized ? {
1130
1125
  key: "collapse",
1131
1126
  activate: () => t("collapse"),
@@ -1152,7 +1147,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1152
1147
  f.value?.querySelector("[data-blade-expand-control]")?.focus();
1153
1148
  });
1154
1149
  }
1155
- return V(
1150
+ return z(
1156
1151
  () => a.maximized,
1157
1152
  () => g()
1158
1153
  ), (h, v) => (A(), k("div", {
@@ -1160,12 +1155,12 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1160
1155
  ref: f,
1161
1156
  class: "vc-blade-header__controls"
1162
1157
  }, [
1163
- (A(!0), k(Ee, null, Se(l.value, (c) => (A(), ce(K(Qt), {
1158
+ (A(!0), k(Ee, null, Se(l.value, (c) => (A(), ce(V(jt), {
1164
1159
  key: c.key,
1165
1160
  shortcut: c.shortcut,
1166
1161
  label: c.label
1167
1162
  }, {
1168
- default: Q(({ aria: d }) => [
1163
+ default: j(({ aria: d }) => [
1169
1164
  x("div", {
1170
1165
  class: "vc-blade-header__button",
1171
1166
  role: "button",
@@ -1179,16 +1174,16 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1179
1174
  we(Ae(c.activate, ["prevent"]), ["space"])
1180
1175
  ]
1181
1176
  }, [
1182
- F(K(De), {
1177
+ F(V(De), {
1183
1178
  icon: c.icon
1184
1179
  }, null, 8, ["icon"])
1185
- ], 40, Jt)
1180
+ ], 40, Qt)
1186
1181
  ]),
1187
1182
  _: 2
1188
1183
  }, 1032, ["shortcut", "label"]))), 128))
1189
1184
  ], 512));
1190
1185
  }
1191
- }), tn = { class: "vc-ai-agent-header" }, nn = { class: "vc-ai-agent-header__icon" }, an = { class: "vc-ai-agent-header__wrapper" }, on = { class: "vc-ai-agent-header__content" }, rn = { class: "vc-ai-agent-header__title" }, sn = /* @__PURE__ */ R({
1186
+ }), en = { class: "vc-ai-agent-header" }, tn = { class: "vc-ai-agent-header__icon" }, nn = { class: "vc-ai-agent-header__wrapper" }, an = { class: "vc-ai-agent-header__content" }, on = { class: "vc-ai-agent-header__title" }, rn = /* @__PURE__ */ R({
1192
1187
  __name: "VcAiAgentHeader",
1193
1188
  props: {
1194
1189
  title: {},
@@ -1197,61 +1192,61 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1197
1192
  },
1198
1193
  emits: ["close", "expand", "collapse"],
1199
1194
  setup(e) {
1200
- return (r, a) => (A(), k("div", tn, [
1201
- x("div", nn, [
1195
+ return (i, a) => (A(), k("div", en, [
1196
+ x("div", tn, [
1202
1197
  F(Ge, {
1203
1198
  width: 22,
1204
1199
  height: 24,
1205
1200
  "show-dots": ""
1206
1201
  })
1207
1202
  ]),
1208
- x("div", an, [
1209
- x("div", on, [
1210
- x("div", rn, le(e.title), 1)
1203
+ x("div", nn, [
1204
+ x("div", an, [
1205
+ x("div", on, le(e.title), 1)
1211
1206
  ])
1212
1207
  ]),
1213
- F(K(en), {
1208
+ F(V(Jt), {
1214
1209
  maximized: e.isExpanded,
1215
- onExpand: a[0] || (a[0] = (t) => r.$emit("expand")),
1216
- onCollapse: a[1] || (a[1] = (t) => r.$emit("collapse")),
1217
- onClose: a[2] || (a[2] = (t) => r.$emit("close"))
1210
+ onExpand: a[0] || (a[0] = (t) => i.$emit("expand")),
1211
+ onCollapse: a[1] || (a[1] = (t) => i.$emit("collapse")),
1212
+ onClose: a[2] || (a[2] = (t) => i.$emit("close"))
1218
1213
  }, null, 8, ["maximized"])
1219
1214
  ]));
1220
1215
  }
1221
- }), ln = { class: "vc-ai-agent-loader" }, cn = { class: "vc-ai-agent-loader__content" }, dn = { class: "vc-ai-agent-loader__logo" }, un = {
1216
+ }), sn = { class: "vc-ai-agent-loader" }, ln = { class: "vc-ai-agent-loader__content" }, cn = { class: "vc-ai-agent-loader__logo" }, dn = {
1222
1217
  key: 0,
1223
1218
  class: "vc-ai-agent-loader__text"
1224
- }, fn = /* @__PURE__ */ R({
1219
+ }, un = /* @__PURE__ */ R({
1225
1220
  __name: "VcAiAgentLoader",
1226
1221
  props: {
1227
1222
  text: {}
1228
1223
  },
1229
1224
  setup(e) {
1230
- return (r, a) => (A(), k("div", ln, [
1231
- x("div", cn, [
1232
- x("div", dn, [
1225
+ return (i, a) => (A(), k("div", sn, [
1226
+ x("div", ln, [
1227
+ x("div", cn, [
1233
1228
  F(Ge, {
1234
1229
  width: 80,
1235
1230
  height: 87,
1236
1231
  animated: ""
1237
1232
  })
1238
1233
  ]),
1239
- e.text ? (A(), k("p", un, le(e.text), 1)) : H("", !0)
1234
+ e.text ? (A(), k("p", dn, le(e.text), 1)) : H("", !0)
1240
1235
  ])
1241
1236
  ]));
1242
1237
  }
1243
- }), pn = { class: "vc-ai-agent-iframe" }, gn = ["src"], vn = {
1238
+ }), fn = { class: "vc-ai-agent-iframe" }, pn = ["src"], gn = {
1244
1239
  key: 1,
1245
1240
  class: "vc-ai-agent-iframe__placeholder"
1246
- }, Cn = /* @__PURE__ */ R({
1241
+ }, vn = /* @__PURE__ */ R({
1247
1242
  __name: "VcAiAgentIframe",
1248
1243
  props: {
1249
1244
  url: {}
1250
1245
  },
1251
1246
  emits: ["iframe-ready"],
1252
- setup(e, { emit: r }) {
1253
- const a = Z("ai-agent-iframe"), t = e, o = r, l = D(null), f = D(!0);
1254
- V(
1247
+ setup(e, { emit: i }) {
1248
+ const a = Z("ai-agent-iframe"), t = e, o = i, l = D(null), f = D(!0);
1249
+ z(
1255
1250
  l,
1256
1251
  (h) => {
1257
1252
  h && o("iframe-ready", h);
@@ -1261,15 +1256,15 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1261
1256
  const g = () => {
1262
1257
  f.value = !1, a.debug("Iframe loaded");
1263
1258
  };
1264
- return V(
1259
+ return z(
1265
1260
  () => t.url,
1266
1261
  () => {
1267
1262
  f.value = !0;
1268
1263
  }
1269
- ), (h, v) => (A(), k("div", pn, [
1264
+ ), (h, v) => (A(), k("div", fn, [
1270
1265
  F(Oe, { name: "fade" }, {
1271
- default: Q(() => [
1272
- f.value && e.url ? (A(), ce(fn, {
1266
+ default: j(() => [
1267
+ f.value && e.url ? (A(), ce(un, {
1273
1268
  key: 0,
1274
1269
  text: h.$t("AI_AGENT.LOADING")
1275
1270
  }, null, 8, ["text"])) : H("", !0)
@@ -1285,8 +1280,8 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1285
1280
  sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox",
1286
1281
  allow: "clipboard-read; clipboard-write",
1287
1282
  onLoad: g
1288
- }, null, 42, gn)) : (A(), k("div", vn, [
1289
- F(K(De), {
1283
+ }, null, 42, pn)) : (A(), k("div", gn, [
1284
+ F(V(De), {
1290
1285
  icon: "lucide-sparkles",
1291
1286
  size: "xl",
1292
1287
  class: "vc-ai-agent-iframe__placeholder-icon"
@@ -1295,26 +1290,26 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1295
1290
  ]))
1296
1291
  ]));
1297
1292
  }
1298
- }), mn = ["inert"], hn = { class: "vc-ai-agent-panel__content" }, Fn = /* @__PURE__ */ R({
1293
+ }), Cn = ["inert"], mn = { class: "vc-ai-agent-panel__content" }, Mn = /* @__PURE__ */ R({
1299
1294
  __name: "VcAiAgentPanel",
1300
1295
  props: {
1301
1296
  inert: { type: Boolean }
1302
1297
  },
1303
1298
  setup(e) {
1304
- const { isMac: r } = Ne(), a = M(be), t = M(st, !1);
1299
+ const { isMac: i } = Ne(), a = M(be), t = M(it, !1);
1305
1300
  a || console.error("[VcAiAgentPanel] AiAgentService not provided");
1306
1301
  const o = b(
1307
1302
  () => a?.config.value ?? { url: "", title: "AI Assistant", width: 362, expandedWidth: 500 }
1308
1303
  ), l = b(() => !t && (a?.isOpen.value ?? !1)), f = b(() => a?.isExpanded.value ?? !1), g = b(() => a?.totalItemsCount.value ?? 0), h = b(() => ({
1309
1304
  width: f.value ? `${o.value.expandedWidth ?? 500}px` : `${o.value.width ?? 362}px`
1310
1305
  })), v = () => a?.closePanel(), c = () => a?.expandPanel(), d = () => a?.collapsePanel(), u = D(null);
1311
- lt(document, "keydown", (p) => {
1306
+ st(document, "keydown", (p) => {
1312
1307
  if (l.value && !p.isComposing && !p.defaultPrevented) {
1313
1308
  if (p.key === "Escape") {
1314
1309
  p.preventDefault(), v();
1315
1310
  return;
1316
1311
  }
1317
- if (It(q.mod.backslash, p, r)) {
1312
+ if (Bt(q.mod.backslash, p, i)) {
1318
1313
  const _ = document.activeElement;
1319
1314
  if (!_ || !u.value?.contains(_)) return;
1320
1315
  p.preventDefault(), f.value ? d() : c();
@@ -1324,10 +1319,10 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1324
1319
  const w = (p) => {
1325
1320
  a?._setIframeRef(p);
1326
1321
  };
1327
- return Ye(() => {
1322
+ return Xe(() => {
1328
1323
  a?._setIframeRef(null);
1329
1324
  }), (p, _) => (A(), ce(Oe, { name: "ai-panel-slide" }, {
1330
- default: Q(() => [
1325
+ default: j(() => [
1331
1326
  l.value ? (A(), k("div", {
1332
1327
  key: 0,
1333
1328
  ref_key: "panelRef",
@@ -1335,10 +1330,10 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1335
1330
  class: Pe(["vc-ai-agent-panel", {
1336
1331
  "vc-ai-agent-panel--expanded": f.value
1337
1332
  }]),
1338
- style: je(h.value),
1333
+ style: Ye(h.value),
1339
1334
  inert: e.inert || void 0
1340
1335
  }, [
1341
- F(sn, {
1336
+ F(rn, {
1342
1337
  title: o.value.title,
1343
1338
  "is-expanded": f.value,
1344
1339
  "items-count": g.value,
@@ -1346,46 +1341,46 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
1346
1341
  onExpand: c,
1347
1342
  onCollapse: d
1348
1343
  }, null, 8, ["title", "is-expanded", "items-count"]),
1349
- x("div", hn, [
1350
- F(Cn, {
1344
+ x("div", mn, [
1345
+ F(vn, {
1351
1346
  url: o.value.url,
1352
1347
  onIframeReady: w
1353
1348
  }, null, 8, ["url"])
1354
1349
  ])
1355
- ], 14, mn)) : H("", !0)
1350
+ ], 14, Cn)) : H("", !0)
1356
1351
  ]),
1357
1352
  _: 1
1358
1353
  }));
1359
1354
  }
1360
1355
  });
1361
1356
  export {
1362
- yn as A,
1363
- dt as D,
1364
- xn as E,
1365
- Bn as H,
1366
- Fn as _,
1367
- Pn as a,
1368
- Sn as b,
1369
- Mn as c,
1370
- Tn as d,
1371
- On as e,
1372
- Lt as f,
1373
- St as g,
1357
+ An as A,
1358
+ ct as D,
1359
+ yn as E,
1360
+ xn as H,
1361
+ Mn as _,
1362
+ On as a,
1363
+ kn as b,
1364
+ Dn as c,
1365
+ In as d,
1366
+ Sn as e,
1367
+ Pt as f,
1368
+ kt as g,
1374
1369
  $e as h,
1375
- Ot as i,
1370
+ St as i,
1376
1371
  Re as j,
1377
- yt as k,
1378
- xt as l,
1372
+ At as k,
1373
+ yt as l,
1379
1374
  Fe as m,
1380
1375
  q as n,
1381
- In as o,
1382
- It as p,
1383
- Gt as q,
1384
- kt as r,
1385
- kn as s,
1376
+ Bn as o,
1377
+ Bt as p,
1378
+ Rt as q,
1379
+ Tt as r,
1380
+ Tn as s,
1386
1381
  Ne as t,
1387
- Dn as u,
1388
- en as v,
1389
- Qt as w,
1390
- Ln as x
1382
+ Ln as u,
1383
+ Jt as v,
1384
+ jt as w,
1385
+ Pn as x
1391
1386
  };