@vc-shell/framework 2.4.0-pr307.72245d2 → 2.4.0-pr309.548f73c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-agent/index.js +2 -2
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DqvIE1_F.js → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-bvyt-Rtf.js} +269 -279
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DqvIE1_F.js.map → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-bvyt-Rtf.js.map} +1 -1
- package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-D_oJl9RI.js → VcScheduler.vue_vue_type_script_setup_true_lang-CfaVA4mj.js} +4749 -4773
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-CfaVA4mj.js.map +1 -0
- package/dist/chunks/{index-CWzujGzi.js → index-DYMV0pFy.js} +1 -1
- package/dist/chunks/{index-CWzujGzi.js.map → index-DYMV0pFy.js.map} +1 -1
- package/dist/core/composables/usePopup/index.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts +1 -4
- package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -1
- package/dist/framework.js +9 -9
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue.d.ts +0 -1
- package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts +0 -1
- package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts.map +1 -1
- package/dist/ui/index.js +1 -1
- package/package.json +4 -4
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-D_oJl9RI.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as D, computed as b, shallowRef as Ge, watch as q, getCurrentInstance as ee, inject as N, isRef as Ve, provide as Pe, defineComponent as H, openBlock as B, createElementBlock as S, createElementVNode as A, createCommentVNode as z, createStaticVNode as Ke, Fragment as Ae, renderList as qe, toDisplayString as K, createVNode as P, createBlock as se, unref as x, withCtx as $, withKeys as U, withModifiers as G, createTextVNode as Ce, Transition as ke, normalizeClass as Me, onUnmounted as ze, normalizeStyle as He } from "vue";
|
|
2
2
|
import { c as W, b as De, d as We, B as Ze, e as Xe, f as Ye, A as be, L as je, g as Qe, T as Je, a as me, _ as ie, E as et } from "./VcAiAgentPanel.vue_vue_type_style_index_0_lang-CZdY18Hq.js";
|
|
3
3
|
import { c as te } from "./vendor-lodash-es-D2n90GJy.js";
|
|
4
4
|
import { u as tt } from "./vendor-vueuse-core-BFa9je5E.js";
|
|
@@ -10,17 +10,17 @@ const at = {
|
|
|
10
10
|
expandedWidth: 500,
|
|
11
11
|
// Secure by default: no origins trusted until the embedder configures them.
|
|
12
12
|
allowedOrigins: []
|
|
13
|
-
},
|
|
13
|
+
}, mn = "APP_AI_AGENT_URL", hn = {
|
|
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
|
-
},
|
|
18
|
+
}, _n = {
|
|
19
19
|
EMBEDDED_HOST_READY: "EMBEDDED_HOST_READY",
|
|
20
20
|
AI_CHAT_MESSAGE: "AI_CHAT_MESSAGE"
|
|
21
21
|
}, ot = "ai-agent-toggle", rt = "lucide-sparkles", it = "AI Assistant", ne = W("ai-agent-panel");
|
|
22
22
|
function st() {
|
|
23
|
-
const e =
|
|
23
|
+
const e = D("closed"), o = D(!1), t = b(() => e.value !== "closed"), s = b(() => e.value === "expanded"), n = () => {
|
|
24
24
|
e.value === "closed" && (e.value = "open", ne.debug("Panel opened"));
|
|
25
25
|
}, c = () => {
|
|
26
26
|
e.value = "closed", o.value = !1, ne.debug("Panel closed, reset initialized state");
|
|
@@ -56,9 +56,9 @@ function we(e) {
|
|
|
56
56
|
} : { id: "unknown", name: "unknown", title: "Unknown" };
|
|
57
57
|
}
|
|
58
58
|
function lt(e) {
|
|
59
|
-
const { userGetter: o, bladeGetter: t, localeGetter: s, tokenGetter: n } = e, c =
|
|
60
|
-
const
|
|
61
|
-
return
|
|
59
|
+
const { userGetter: o, bladeGetter: t, localeGetter: s, tokenGetter: n } = e, c = D(/* @__PURE__ */ new Map()), f = () => {
|
|
60
|
+
const E = t();
|
|
61
|
+
return E ? c.value.get(E.id) ?? {
|
|
62
62
|
items: [],
|
|
63
63
|
type: "list",
|
|
64
64
|
suggestions: void 0
|
|
@@ -67,18 +67,18 @@ function lt(e) {
|
|
|
67
67
|
type: "list",
|
|
68
68
|
suggestions: void 0
|
|
69
69
|
};
|
|
70
|
-
}, l = b(() =>
|
|
70
|
+
}, l = b(() => f().items), d = b(() => f().type), u = b(() => f().suggestions), h = b(() => l.value.length);
|
|
71
71
|
return {
|
|
72
72
|
contextItems: l,
|
|
73
73
|
contextType: d,
|
|
74
74
|
contextSuggestions: u,
|
|
75
75
|
totalItemsCount: h,
|
|
76
|
-
setContextData: (
|
|
77
|
-
const
|
|
78
|
-
return
|
|
76
|
+
setContextData: (E, w, T, F) => {
|
|
77
|
+
const M = t()?.id || F;
|
|
78
|
+
return M ? E.length === 0 && !T ? (c.value.delete(M), he.debug(`Context cleared for blade: ${M}`), { cleared: !0 }) : (c.value.set(M, { items: E, type: w, suggestions: T }), he.debug(`Context set for blade: ${M}, items: ${E.length}, type: ${w}`), { cleared: !1 }) : (he.warn("Cannot set context data: no blade id available"), { cleared: !1 });
|
|
79
79
|
},
|
|
80
80
|
buildInitPayload: async () => {
|
|
81
|
-
const
|
|
81
|
+
const E = n ? await n() ?? void 0 : void 0;
|
|
82
82
|
return {
|
|
83
83
|
userId: o()?.id || "",
|
|
84
84
|
locale: s(),
|
|
@@ -86,30 +86,30 @@ function lt(e) {
|
|
|
86
86
|
contextType: d.value,
|
|
87
87
|
items: te(l.value),
|
|
88
88
|
suggestions: u.value ? te(u.value) : void 0,
|
|
89
|
-
accessToken:
|
|
89
|
+
accessToken: E
|
|
90
90
|
};
|
|
91
91
|
},
|
|
92
92
|
buildUpdatePayload: async () => {
|
|
93
|
-
const
|
|
93
|
+
const E = n ? await n() ?? void 0 : void 0;
|
|
94
94
|
return {
|
|
95
95
|
blade: we(t()),
|
|
96
96
|
contextType: d.value,
|
|
97
97
|
items: te(l.value),
|
|
98
98
|
suggestions: u.value ? te(u.value) : void 0,
|
|
99
99
|
locale: s(),
|
|
100
|
-
accessToken:
|
|
100
|
+
accessToken: E
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
const O = W("ai-agent-transport");
|
|
106
106
|
function ct(e) {
|
|
107
|
-
const { getConfig: o, isEmbedded: t, navigateToBlade: s, closePanel: n } = e, c = Ge(null),
|
|
108
|
-
function h(
|
|
109
|
-
switch (
|
|
107
|
+
const { getConfig: o, isEmbedded: t, navigateToBlade: s, closePanel: n } = e, c = Ge(null), f = D(!1), l = D(!1), d = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
|
|
108
|
+
function h(g, C) {
|
|
109
|
+
switch (g) {
|
|
110
110
|
case "NAVIGATE_TO_APP": {
|
|
111
|
-
const
|
|
112
|
-
s &&
|
|
111
|
+
const w = C;
|
|
112
|
+
s && w?.bladeName && (s(w.bladeName, w.param, w.options), O.debug(`Navigation requested to: ${w.bladeName}`));
|
|
113
113
|
break;
|
|
114
114
|
}
|
|
115
115
|
// The panel's own Escape handler listens on the host document, which never sees a
|
|
@@ -121,43 +121,43 @@ function ct(e) {
|
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
const
|
|
125
|
-
type:
|
|
126
|
-
payload:
|
|
124
|
+
const E = {
|
|
125
|
+
type: g,
|
|
126
|
+
payload: C,
|
|
127
127
|
timestamp: Date.now()
|
|
128
128
|
};
|
|
129
|
-
d.forEach((
|
|
129
|
+
d.forEach((w) => {
|
|
130
130
|
try {
|
|
131
|
-
|
|
131
|
+
w(E);
|
|
132
132
|
} catch (T) {
|
|
133
133
|
O.error("Handler error:", T);
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
-
function
|
|
138
|
-
const
|
|
139
|
-
if (
|
|
137
|
+
function v(g) {
|
|
138
|
+
const E = o().allowedOrigins ?? [];
|
|
139
|
+
if (E.length === 0) {
|
|
140
140
|
O.warn(
|
|
141
141
|
"Ignoring postMessage: aiAgentConfig.allowedOrigins is empty. Configure explicit origins to enable the AI agent bridge.",
|
|
142
|
-
{ origin:
|
|
142
|
+
{ origin: g.origin, type: g.data?.type }
|
|
143
143
|
);
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
|
-
if (
|
|
146
|
+
if (E.includes("*")) {
|
|
147
147
|
O.error(
|
|
148
148
|
'Refusing postMessage with wildcard allowedOrigins. Replace "*" with explicit origins (e.g. ["https://chat.example.com"]).'
|
|
149
149
|
);
|
|
150
150
|
return;
|
|
151
151
|
}
|
|
152
|
-
if (!
|
|
152
|
+
if (!E.includes(g.origin))
|
|
153
153
|
return;
|
|
154
|
-
const
|
|
155
|
-
if (!(!
|
|
156
|
-
switch (O.debug(`Message received: ${
|
|
154
|
+
const w = g.data;
|
|
155
|
+
if (!(!w?.type || typeof w.type != "string"))
|
|
156
|
+
switch (O.debug(`Message received: ${w.type}`), w.type) {
|
|
157
157
|
// Embedded: parent forwards chat messages wrapped in AI_CHAT_MESSAGE
|
|
158
158
|
case "AI_CHAT_MESSAGE": {
|
|
159
159
|
if (t) {
|
|
160
|
-
const T =
|
|
160
|
+
const T = w.payload;
|
|
161
161
|
T?.type && h(T.type, T.payload);
|
|
162
162
|
}
|
|
163
163
|
return;
|
|
@@ -167,68 +167,68 @@ function ct(e) {
|
|
|
167
167
|
u.forEach((T) => {
|
|
168
168
|
try {
|
|
169
169
|
T();
|
|
170
|
-
} catch (
|
|
171
|
-
O.error("ChatReady handler error:",
|
|
170
|
+
} catch (F) {
|
|
171
|
+
O.error("ChatReady handler error:", F);
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
break;
|
|
175
175
|
// Normal: direct chat protocol messages
|
|
176
176
|
default:
|
|
177
|
-
h(
|
|
177
|
+
h(w.type, w.payload);
|
|
178
178
|
break;
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
181
|
return {
|
|
182
182
|
iframeRef: c,
|
|
183
|
-
pendingInitContext:
|
|
183
|
+
pendingInitContext: f,
|
|
184
184
|
isListenerRegistered: l,
|
|
185
|
-
setIframeRef(
|
|
186
|
-
c.value =
|
|
185
|
+
setIframeRef(g) {
|
|
186
|
+
c.value = g, O.debug("Iframe ref set:", g ? "available" : "null");
|
|
187
187
|
},
|
|
188
|
-
sendToIframe(
|
|
188
|
+
sendToIframe(g) {
|
|
189
189
|
if (!c.value?.contentWindow) {
|
|
190
190
|
O.warn("Cannot send message: iframe not available");
|
|
191
191
|
return;
|
|
192
192
|
}
|
|
193
|
-
const
|
|
194
|
-
if (!
|
|
193
|
+
const C = o().allowedOrigins?.[0];
|
|
194
|
+
if (!C || C === "*") {
|
|
195
195
|
O.error(
|
|
196
196
|
"Refusing to send to iframe: aiAgentConfig.allowedOrigins must contain an explicit origin. Message dropped to avoid leaking data (including access tokens) to arbitrary origins.",
|
|
197
|
-
{ type:
|
|
197
|
+
{ type: g.type }
|
|
198
198
|
);
|
|
199
199
|
return;
|
|
200
200
|
}
|
|
201
|
-
c.value.contentWindow.postMessage(
|
|
201
|
+
c.value.contentWindow.postMessage(g, C), O.debug(`Sent to iframe: ${g.type}`);
|
|
202
202
|
},
|
|
203
|
-
sendToParent(
|
|
203
|
+
sendToParent(g) {
|
|
204
204
|
if (!window.parent || window.parent === window) {
|
|
205
205
|
O.warn("Cannot send to parent: not in iframe");
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
|
-
const
|
|
209
|
-
if (!
|
|
208
|
+
const C = o().parentOrigin;
|
|
209
|
+
if (!C || C === "*") {
|
|
210
210
|
O.error(
|
|
211
211
|
"Refusing to send to parent: aiAgentConfig.parentOrigin must be an explicit origin. Message dropped to avoid leaking data (including access tokens) to arbitrary origins.",
|
|
212
|
-
{ type:
|
|
212
|
+
{ type: g.type }
|
|
213
213
|
);
|
|
214
214
|
return;
|
|
215
215
|
}
|
|
216
|
-
window.parent.postMessage(
|
|
216
|
+
window.parent.postMessage(g, C), O.debug(`Sent to parent: ${g.type}`);
|
|
217
217
|
},
|
|
218
218
|
startListening() {
|
|
219
|
-
l.value || (window.addEventListener("message",
|
|
219
|
+
l.value || (window.addEventListener("message", v), l.value = !0);
|
|
220
220
|
},
|
|
221
221
|
stopListening() {
|
|
222
|
-
l.value && (window.removeEventListener("message",
|
|
222
|
+
l.value && (window.removeEventListener("message", v), l.value = !1);
|
|
223
223
|
},
|
|
224
|
-
onChatReady(
|
|
225
|
-
return u.add(
|
|
226
|
-
u.delete(
|
|
224
|
+
onChatReady(g) {
|
|
225
|
+
return u.add(g), () => {
|
|
226
|
+
u.delete(g);
|
|
227
227
|
};
|
|
228
228
|
},
|
|
229
|
-
onMessage(
|
|
230
|
-
return d.add(
|
|
231
|
-
d.delete(
|
|
229
|
+
onMessage(g) {
|
|
230
|
+
return d.add(g), () => {
|
|
231
|
+
d.delete(g);
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
234
|
};
|
|
@@ -241,68 +241,68 @@ function dt(e) {
|
|
|
241
241
|
localeGetter: s,
|
|
242
242
|
tokenGetter: n,
|
|
243
243
|
navigateToBlade: c,
|
|
244
|
-
initialConfig:
|
|
244
|
+
initialConfig: f,
|
|
245
245
|
isEmbedded: l = !1
|
|
246
|
-
} = e, d =
|
|
246
|
+
} = e, d = D({ ...at, ...f }), u = st(), h = lt({
|
|
247
247
|
userGetter: o,
|
|
248
248
|
bladeGetter: t,
|
|
249
249
|
localeGetter: s,
|
|
250
250
|
tokenGetter: n
|
|
251
|
-
}),
|
|
251
|
+
}), v = ct({
|
|
252
252
|
getConfig: () => d.value,
|
|
253
253
|
isEmbedded: l,
|
|
254
254
|
navigateToBlade: c,
|
|
255
255
|
closePanel: () => u.close()
|
|
256
|
-
}),
|
|
256
|
+
}), g = b(() => ({
|
|
257
257
|
user: o(),
|
|
258
258
|
currentBlade: t(),
|
|
259
259
|
items: h.contextItems.value
|
|
260
|
-
})),
|
|
261
|
-
if (
|
|
262
|
-
|
|
260
|
+
})), C = async () => {
|
|
261
|
+
if (v.pendingInitContext.value && v.iframeRef.value?.contentWindow) {
|
|
262
|
+
v.pendingInitContext.value = !1, u.isInitialized.value = !0;
|
|
263
263
|
const I = await h.buildInitPayload();
|
|
264
|
-
|
|
264
|
+
v.sendToIframe({ type: "INIT_CONTEXT", payload: I }), ae.debug("Flushed pending INIT_CONTEXT");
|
|
265
265
|
}
|
|
266
266
|
};
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
})) : (
|
|
271
|
-
}), q(
|
|
272
|
-
() => ({ currentBlade:
|
|
267
|
+
v.onChatReady(() => {
|
|
268
|
+
v.iframeRef.value?.contentWindow ? (u.isInitialized.value = !0, h.buildInitPayload().then((I) => {
|
|
269
|
+
v.sendToIframe({ type: "INIT_CONTEXT", payload: I }), ae.info("Chatbot ready, sent INIT_CONTEXT");
|
|
270
|
+
})) : (v.pendingInitContext.value = !0, ae.info("Chatbot ready, iframe ref not available yet — pending INIT_CONTEXT"));
|
|
271
|
+
}), q(v.iframeRef, () => C()), q(
|
|
272
|
+
() => ({ currentBlade: g.value.currentBlade, items: g.value.items }),
|
|
273
273
|
async () => {
|
|
274
274
|
if (l) {
|
|
275
275
|
const I = await h.buildInitPayload();
|
|
276
|
-
|
|
276
|
+
v.sendToParent({ type: "AI_CONTEXT_UPDATE", payload: I });
|
|
277
277
|
return;
|
|
278
278
|
}
|
|
279
|
-
if (u.isOpen.value && u.isInitialized.value &&
|
|
279
|
+
if (u.isOpen.value && u.isInitialized.value && v.iframeRef.value?.contentWindow) {
|
|
280
280
|
const I = await h.buildUpdatePayload();
|
|
281
|
-
|
|
281
|
+
v.sendToIframe({ type: "UPDATE_CONTEXT", payload: I });
|
|
282
282
|
}
|
|
283
283
|
},
|
|
284
284
|
{ deep: !0 }
|
|
285
285
|
);
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
},
|
|
286
|
+
const E = () => l ? v.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.open(), w = () => l ? v.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.close(), T = () => l ? v.sendToParent({ type: "AI_TOGGLE_PANEL" }) : u.toggle(), F = (I) => {
|
|
287
|
+
v.setIframeRef(I), C();
|
|
288
|
+
}, M = (I, R, Z, X) => {
|
|
289
289
|
const { cleared: Y } = h.setContextData(I, R, Z, X);
|
|
290
|
-
l && Y &&
|
|
290
|
+
l && Y && v.sendToParent({ type: "AI_CONTEXT_CLEAR" });
|
|
291
291
|
};
|
|
292
|
-
return
|
|
292
|
+
return v.startListening(), l && (v.sendToParent({
|
|
293
293
|
type: "EMBEDDED_APP_READY",
|
|
294
294
|
payload: { supportedFeatures: ["ai-agent"] }
|
|
295
295
|
}), ae.info("Embedded mode: sent EMBEDDED_APP_READY to parent")), {
|
|
296
296
|
// State
|
|
297
297
|
panelState: u.panelState,
|
|
298
298
|
config: d,
|
|
299
|
-
context:
|
|
299
|
+
context: g,
|
|
300
300
|
isOpen: b(() => !l && u.isOpen.value),
|
|
301
301
|
isExpanded: u.isExpanded,
|
|
302
302
|
totalItemsCount: h.totalItemsCount,
|
|
303
303
|
// Panel control
|
|
304
|
-
openPanel:
|
|
305
|
-
closePanel:
|
|
304
|
+
openPanel: E,
|
|
305
|
+
closePanel: w,
|
|
306
306
|
togglePanel: T,
|
|
307
307
|
expandPanel: () => u.expand(),
|
|
308
308
|
collapsePanel: () => u.collapse(),
|
|
@@ -312,15 +312,15 @@ function dt(e) {
|
|
|
312
312
|
},
|
|
313
313
|
// Communication
|
|
314
314
|
sendMessage: (I, R) => {
|
|
315
|
-
|
|
315
|
+
v.sendToIframe({ type: I, payload: R });
|
|
316
316
|
},
|
|
317
|
-
onMessage:
|
|
317
|
+
onMessage: v.onMessage,
|
|
318
318
|
// Internal API
|
|
319
|
-
iframeRef:
|
|
320
|
-
_setIframeRef:
|
|
321
|
-
_startListening:
|
|
322
|
-
_stopListening:
|
|
323
|
-
_setContextData:
|
|
319
|
+
iframeRef: v.iframeRef,
|
|
320
|
+
_setIframeRef: F,
|
|
321
|
+
_startListening: v.startListening,
|
|
322
|
+
_stopListening: v.stopListening,
|
|
323
|
+
_setContextData: M
|
|
324
324
|
};
|
|
325
325
|
}
|
|
326
326
|
const ut = /* @__PURE__ */ new Set(["mod", "ctrl", "meta", "alt", "shift"]);
|
|
@@ -375,8 +375,8 @@ function ft(e) {
|
|
|
375
375
|
function Ee(e, o) {
|
|
376
376
|
const t = !!e.ctrl || !!e.mod && !o, s = !!e.meta || !!e.mod && o, n = [], c = [];
|
|
377
377
|
o ? (t && n.push(oe.ctrl), e.alt && n.push(oe.alt), e.shift && n.push(oe.shift), s && n.push(oe.meta)) : (t && n.push(re.ctrl), s && n.push(re.meta), e.alt && n.push(re.alt), e.shift && n.push(re.shift)), t && c.push("Control"), s && c.push("Meta"), e.alt && c.push("Alt"), e.shift && c.push("Shift"), n.push(pt(e.key));
|
|
378
|
-
const
|
|
379
|
-
return { parts: n, aria:
|
|
378
|
+
const f = [...c, ft(e.key)].join("+");
|
|
379
|
+
return { parts: n, aria: f };
|
|
380
380
|
}
|
|
381
381
|
const Ie = {
|
|
382
382
|
backslash: "Backslash",
|
|
@@ -420,8 +420,8 @@ function _t(e, o) {
|
|
|
420
420
|
return s !== void 0 ? o.key === s : !1;
|
|
421
421
|
}
|
|
422
422
|
function Et(e, o, t) {
|
|
423
|
-
const s = !!e.ctrl || !!e.mod && !t, n = !!e.meta || !!e.mod && t, c = !!e.alt,
|
|
424
|
-
return o.ctrlKey !== s || o.metaKey !== n || o.altKey !== c || o.shiftKey !==
|
|
423
|
+
const s = !!e.ctrl || !!e.mod && !t, n = !!e.meta || !!e.mod && t, c = !!e.alt, f = !!e.shift;
|
|
424
|
+
return o.ctrlKey !== s || o.metaKey !== n || o.altKey !== c || o.shiftKey !== f ? !1 : _t(e, o);
|
|
425
425
|
}
|
|
426
426
|
const bt = /* @__PURE__ */ new Set([
|
|
427
427
|
"button",
|
|
@@ -434,7 +434,7 @@ const bt = /* @__PURE__ */ new Set([
|
|
|
434
434
|
"range",
|
|
435
435
|
"color"
|
|
436
436
|
]);
|
|
437
|
-
function
|
|
437
|
+
function En() {
|
|
438
438
|
const e = document.activeElement;
|
|
439
439
|
if (!e) return !1;
|
|
440
440
|
const o = e.tagName;
|
|
@@ -454,17 +454,17 @@ function Ne() {
|
|
|
454
454
|
formatShortcut: (o) => Ee(o, e)
|
|
455
455
|
};
|
|
456
456
|
}
|
|
457
|
-
let $e,
|
|
457
|
+
let Fe, $e, Re, wt;
|
|
458
|
+
function bn(e) {
|
|
459
|
+
Fe = e;
|
|
460
|
+
}
|
|
458
461
|
function An(e) {
|
|
459
462
|
$e = e;
|
|
460
463
|
}
|
|
461
464
|
function wn(e) {
|
|
462
|
-
Fe = e;
|
|
463
|
-
}
|
|
464
|
-
function yn(e) {
|
|
465
465
|
Re = e;
|
|
466
466
|
}
|
|
467
|
-
function
|
|
467
|
+
function yn(e) {
|
|
468
468
|
wt = e;
|
|
469
469
|
}
|
|
470
470
|
function xe(e, o) {
|
|
@@ -482,12 +482,12 @@ function xe(e, o) {
|
|
|
482
482
|
const l = Se(n.url);
|
|
483
483
|
l && (c += `/${l}`), n.param && (c += `/${n.param}`);
|
|
484
484
|
}
|
|
485
|
-
const
|
|
485
|
+
const f = {};
|
|
486
486
|
for (const l of o)
|
|
487
|
-
l.visible && l.query && Object.assign(
|
|
488
|
-
return { path: c || "/", query:
|
|
487
|
+
l.visible && l.query && Object.assign(f, l.query);
|
|
488
|
+
return { path: c || "/", query: f };
|
|
489
489
|
}
|
|
490
|
-
function
|
|
490
|
+
function Bn(e, o) {
|
|
491
491
|
let t = e.split("/").filter(Boolean);
|
|
492
492
|
return o && t.length > 0 && t[0] === o && (t = t.slice(1)), t.length === 0 ? {} : {
|
|
493
493
|
workspaceUrl: t[0],
|
|
@@ -520,25 +520,25 @@ function y(e) {
|
|
|
520
520
|
${Bt}`);
|
|
521
521
|
}
|
|
522
522
|
function It() {
|
|
523
|
-
const e = (ee() ? N(De, void 0) : void 0) ??
|
|
523
|
+
const e = (ee() ? N(De, void 0) : void 0) ?? $e, o = (ee() ? N(We, void 0) : void 0) ?? Re;
|
|
524
524
|
if (!e || !o)
|
|
525
525
|
throw new Error(
|
|
526
526
|
"[vc-shell] useBlade() failed: BladeStack or BladeMessaging not available. Ensure BladeNavigationPlugin (plugin-v2) is installed."
|
|
527
527
|
);
|
|
528
528
|
const t = e, s = o, n = ee() ? N(Ze, void 0) : void 0, c = ee() ? N(Xe, void 0) : void 0;
|
|
529
|
-
let
|
|
529
|
+
let f;
|
|
530
530
|
function l() {
|
|
531
|
-
if (
|
|
532
|
-
const r =
|
|
533
|
-
return r && (
|
|
531
|
+
if (f) return f;
|
|
532
|
+
const r = Fe?.router;
|
|
533
|
+
return r && (f = yt(r, t)), f;
|
|
534
534
|
}
|
|
535
|
-
const d = b(() => (n || y("id"), n.value.id)), u = b(() => (n || y("param"), n.value.param)), h = b(() => (n || y("options"), n.value.options)),
|
|
535
|
+
const d = b(() => (n || y("id"), n.value.id)), u = b(() => (n || y("param"), n.value.param)), h = b(() => (n || y("options"), n.value.options)), v = b(() => (n || y("query"), n.value.query)), g = b(() => (n || y("closable"), n.value.parentId !== void 0)), C = b(() => (n || y("expanded"), t.activeBlade.value?.id === n.value.id)), E = b(() => (n || y("name"), n.value.name)), w = b(() => {
|
|
536
536
|
if (!n) return;
|
|
537
537
|
const r = n.value.id;
|
|
538
538
|
return t.blades.value.find((m) => m.parentId === r)?.param;
|
|
539
539
|
});
|
|
540
540
|
let T = !1;
|
|
541
|
-
function
|
|
541
|
+
function F(r) {
|
|
542
542
|
if (T) {
|
|
543
543
|
console.warn(
|
|
544
544
|
"[vc-shell] provideBladeData() called more than once in the same blade. Only the first call takes effect."
|
|
@@ -546,16 +546,16 @@ function It() {
|
|
|
546
546
|
return;
|
|
547
547
|
}
|
|
548
548
|
T = !0;
|
|
549
|
-
const m = Ve(r) ? r :
|
|
550
|
-
|
|
549
|
+
const m = Ve(r) ? r : D(r);
|
|
550
|
+
Pe(Ye, m);
|
|
551
551
|
}
|
|
552
|
-
async function
|
|
553
|
-
const { isWorkspace: m, ...
|
|
552
|
+
async function M(r) {
|
|
553
|
+
const { isWorkspace: m, ...k } = r;
|
|
554
554
|
if (m)
|
|
555
|
-
await t.openWorkspace(
|
|
555
|
+
await t.openWorkspace(k);
|
|
556
556
|
else {
|
|
557
557
|
const L = n?.value.id;
|
|
558
|
-
L ? await t.openBlade({ ...
|
|
558
|
+
L ? await t.openBlade({ ...k, parentId: L }) : await t.openBlade(k);
|
|
559
559
|
}
|
|
560
560
|
t.activeBlade.value?.url && l()?.syncUrlPush();
|
|
561
561
|
}
|
|
@@ -616,7 +616,7 @@ function It() {
|
|
|
616
616
|
console.warn("[useBlade] onActivated() already registered in this blade.");
|
|
617
617
|
return;
|
|
618
618
|
}
|
|
619
|
-
a = !0, q(
|
|
619
|
+
a = !0, q(C, (m) => {
|
|
620
620
|
m && r();
|
|
621
621
|
});
|
|
622
622
|
}
|
|
@@ -625,21 +625,21 @@ function It() {
|
|
|
625
625
|
console.warn("[useBlade] onDeactivated() already registered in this blade.");
|
|
626
626
|
return;
|
|
627
627
|
}
|
|
628
|
-
i = !0, q(
|
|
628
|
+
i = !0, q(C, (m) => {
|
|
629
629
|
m || r();
|
|
630
630
|
});
|
|
631
631
|
}
|
|
632
632
|
return {
|
|
633
633
|
id: d,
|
|
634
634
|
param: u,
|
|
635
|
-
activeChildParam:
|
|
635
|
+
activeChildParam: w,
|
|
636
636
|
options: h,
|
|
637
|
-
query:
|
|
638
|
-
closable:
|
|
639
|
-
expanded:
|
|
640
|
-
name:
|
|
641
|
-
provideBladeData:
|
|
642
|
-
openBlade:
|
|
637
|
+
query: v,
|
|
638
|
+
closable: g,
|
|
639
|
+
expanded: C,
|
|
640
|
+
name: E,
|
|
641
|
+
provideBladeData: F,
|
|
642
|
+
openBlade: M,
|
|
643
643
|
closeSelf: I,
|
|
644
644
|
closeChildren: R,
|
|
645
645
|
replaceWith: Z,
|
|
@@ -703,28 +703,28 @@ function Ot(e, o, t) {
|
|
|
703
703
|
visible: !0
|
|
704
704
|
};
|
|
705
705
|
}
|
|
706
|
-
let
|
|
707
|
-
function
|
|
708
|
-
return `blade_${++
|
|
706
|
+
let Pt = 0;
|
|
707
|
+
function kt() {
|
|
708
|
+
return `blade_${++Pt}_${Math.random().toString(36).slice(2, 8)}`;
|
|
709
709
|
}
|
|
710
|
-
function
|
|
711
|
-
const t =
|
|
710
|
+
function In(e, o) {
|
|
711
|
+
const t = D([]), s = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), l = b(() => t.value[0]), d = b(() => t.value), u = b(() => {
|
|
712
712
|
for (let a = t.value.length - 1; a >= 0; a--)
|
|
713
713
|
if (t.value[a].visible) return t.value[a];
|
|
714
714
|
});
|
|
715
715
|
function h(a) {
|
|
716
|
-
s.delete(a), n.delete(a), c.delete(a),
|
|
716
|
+
s.delete(a), n.delete(a), c.delete(a), f.delete(a);
|
|
717
717
|
}
|
|
718
|
-
function
|
|
718
|
+
function v(a) {
|
|
719
719
|
const i = e.getBlade(a);
|
|
720
720
|
if (i)
|
|
721
721
|
return i.route;
|
|
722
722
|
}
|
|
723
|
-
const
|
|
724
|
-
generateId:
|
|
725
|
-
resolveUrl:
|
|
723
|
+
const g = {
|
|
724
|
+
generateId: kt,
|
|
725
|
+
resolveUrl: v
|
|
726
726
|
};
|
|
727
|
-
async function
|
|
727
|
+
async function C(a) {
|
|
728
728
|
for (let i = a.length - 1; i >= 0; i--) {
|
|
729
729
|
const p = s.get(a[i].id);
|
|
730
730
|
if (p && await p())
|
|
@@ -732,11 +732,11 @@ function Tn(e, o) {
|
|
|
732
732
|
}
|
|
733
733
|
return !1;
|
|
734
734
|
}
|
|
735
|
-
function
|
|
735
|
+
function E(a) {
|
|
736
736
|
for (const i of a)
|
|
737
737
|
c.get(i.id)?.(), h(i.id);
|
|
738
738
|
}
|
|
739
|
-
async function
|
|
739
|
+
async function w(a) {
|
|
740
740
|
if (l.value?.name === a.name) return;
|
|
741
741
|
const p = e.getBlade(a.name);
|
|
742
742
|
if (!p)
|
|
@@ -745,8 +745,8 @@ function Tn(e, o) {
|
|
|
745
745
|
console.warn(`[BladeStack] Access denied to workspace '${a.name}'`);
|
|
746
746
|
return;
|
|
747
747
|
}
|
|
748
|
-
|
|
749
|
-
const _ = Tt(a,
|
|
748
|
+
E([...t.value]);
|
|
749
|
+
const _ = Tt(a, g);
|
|
750
750
|
t.value = [_], a.onOpen && n.set(_.id, a.onOpen), a.onClose && c.set(_.id, a.onClose), a.onOpen?.();
|
|
751
751
|
}
|
|
752
752
|
async function T(a) {
|
|
@@ -759,18 +759,18 @@ function Tn(e, o) {
|
|
|
759
759
|
if (p === -1)
|
|
760
760
|
throw new Error(`[BladeStack] Parent blade '${i}' not found in stack`);
|
|
761
761
|
const _ = t.value.slice(p + 1);
|
|
762
|
-
if (_.length > 0 && await
|
|
762
|
+
if (_.length > 0 && await C(_))
|
|
763
763
|
return;
|
|
764
|
-
|
|
765
|
-
const r = xt(a, i,
|
|
764
|
+
E(_);
|
|
765
|
+
const r = xt(a, i, g);
|
|
766
766
|
t.value = [...t.value.slice(0, p + 1), r], a.onOpen && n.set(r.id, a.onOpen), a.onClose && c.set(r.id, a.onClose), a.onOpen?.();
|
|
767
767
|
}
|
|
768
|
-
async function
|
|
768
|
+
async function F(a) {
|
|
769
769
|
const i = t.value.findIndex((m) => m.id === a);
|
|
770
770
|
if (i === -1 || i === 0) return !1;
|
|
771
771
|
const p = t.value.slice(i);
|
|
772
|
-
if (await
|
|
773
|
-
|
|
772
|
+
if (await C(p)) return !0;
|
|
773
|
+
E(p), t.value = t.value.slice(0, i);
|
|
774
774
|
const r = t.value.length - 1;
|
|
775
775
|
if (r > 0 && !t.value[r].visible) {
|
|
776
776
|
const m = [...t.value];
|
|
@@ -778,22 +778,22 @@ function Tn(e, o) {
|
|
|
778
778
|
}
|
|
779
779
|
return !1;
|
|
780
780
|
}
|
|
781
|
-
async function
|
|
781
|
+
async function M(a) {
|
|
782
782
|
const i = u.value;
|
|
783
783
|
if (!i)
|
|
784
784
|
throw new Error("[BladeStack] No active blade to replace");
|
|
785
785
|
if (!e.getBlade(a.name))
|
|
786
786
|
throw new Error(`[BladeStack] Blade '${a.name}' not found in registry`);
|
|
787
|
-
const p = t.value.findIndex((
|
|
787
|
+
const p = t.value.findIndex((k) => k.id === i.id);
|
|
788
788
|
if (p === -1)
|
|
789
789
|
throw new Error(`[BladeStack] Active blade '${i.id}' not found in stack`);
|
|
790
790
|
const _ = t.value.slice(p + 1);
|
|
791
791
|
if (_.length > 0) {
|
|
792
|
-
if (await
|
|
793
|
-
|
|
792
|
+
if (await C(_)) return;
|
|
793
|
+
E(_);
|
|
794
794
|
}
|
|
795
|
-
const r = St(a, i.parentId,
|
|
796
|
-
|
|
795
|
+
const r = St(a, i.parentId, g);
|
|
796
|
+
E([i]);
|
|
797
797
|
const m = [...t.value.slice(0, p), r, ...t.value.slice(p + 1)];
|
|
798
798
|
t.value = m, a.onOpen && n.set(r.id, a.onOpen), a.onClose && c.set(r.id, a.onClose), a.onOpen?.();
|
|
799
799
|
}
|
|
@@ -803,22 +803,22 @@ function Tn(e, o) {
|
|
|
803
803
|
throw new Error("[BladeStack] No active blade to cover");
|
|
804
804
|
if (!e.getBlade(a.name))
|
|
805
805
|
throw new Error(`[BladeStack] Blade '${a.name}' not found in registry`);
|
|
806
|
-
const p = t.value.findIndex((
|
|
806
|
+
const p = t.value.findIndex((k) => k.id === i.id);
|
|
807
807
|
if (p === -1)
|
|
808
808
|
throw new Error(`[BladeStack] Active blade '${i.id}' not found in stack`);
|
|
809
809
|
const _ = t.value.slice(p + 1);
|
|
810
810
|
if (_.length > 0) {
|
|
811
|
-
if (await
|
|
812
|
-
|
|
811
|
+
if (await C(_)) return;
|
|
812
|
+
E(_);
|
|
813
813
|
}
|
|
814
|
-
const r = Ot(a, i.id,
|
|
814
|
+
const r = Ot(a, i.id, g), m = t.value.slice(0, p);
|
|
815
815
|
m.push({ ...i, visible: !1 }), m.push(r), t.value = m, a.onOpen && n.set(r.id, a.onOpen), a.onClose && c.set(r.id, a.onClose), a.onOpen?.();
|
|
816
816
|
}
|
|
817
817
|
async function R(a) {
|
|
818
818
|
const i = t.value.findIndex((r) => r.id === a);
|
|
819
819
|
if (i === -1) return;
|
|
820
820
|
const p = t.value.slice(i + 1);
|
|
821
|
-
p.length === 0 || await
|
|
821
|
+
p.length === 0 || await C(p) || (E(p), t.value = t.value.slice(0, i + 1));
|
|
822
822
|
}
|
|
823
823
|
function Z(a, i) {
|
|
824
824
|
s.set(a, i);
|
|
@@ -850,18 +850,18 @@ function Tn(e, o) {
|
|
|
850
850
|
const _ = t.value[p].query ?? {}, r = { ..._ };
|
|
851
851
|
for (const [L, ve] of Object.entries(i))
|
|
852
852
|
ve === "" || ve == null ? delete r[L] : r[L] = ve;
|
|
853
|
-
const m = Object.keys(_),
|
|
854
|
-
if (m.length ===
|
|
853
|
+
const m = Object.keys(_), k = Object.keys(r);
|
|
854
|
+
if (m.length === k.length && k.every((L) => _[L] === r[L]))
|
|
855
855
|
return;
|
|
856
856
|
const J = [...t.value];
|
|
857
857
|
J[p] = { ...J[p], query: r }, t.value = J;
|
|
858
858
|
}
|
|
859
859
|
function j(a) {
|
|
860
|
-
let i =
|
|
861
|
-
return i || (i =
|
|
860
|
+
let i = f.get(a);
|
|
861
|
+
return i || (i = D(!1), f.set(a, i)), i;
|
|
862
862
|
}
|
|
863
863
|
function ue(a) {
|
|
864
|
-
return
|
|
864
|
+
return f.get(a)?.value ?? !1;
|
|
865
865
|
}
|
|
866
866
|
function pe(a, i) {
|
|
867
867
|
j(a).value = i;
|
|
@@ -879,11 +879,11 @@ function Tn(e, o) {
|
|
|
879
879
|
workspace: l,
|
|
880
880
|
blades: d,
|
|
881
881
|
activeBlade: u,
|
|
882
|
-
openWorkspace:
|
|
882
|
+
openWorkspace: w,
|
|
883
883
|
openBlade: T,
|
|
884
|
-
closeBlade:
|
|
884
|
+
closeBlade: F,
|
|
885
885
|
closeChildren: R,
|
|
886
|
-
replaceCurrentBlade:
|
|
886
|
+
replaceCurrentBlade: M,
|
|
887
887
|
coverCurrentBlade: I,
|
|
888
888
|
registerBeforeClose: Z,
|
|
889
889
|
unregisterBeforeClose: X,
|
|
@@ -905,8 +905,8 @@ function Mt() {
|
|
|
905
905
|
return e;
|
|
906
906
|
}
|
|
907
907
|
const V = W("use-ai-agent");
|
|
908
|
-
function
|
|
909
|
-
const o = N(je), { user: t, getAccessToken: s } = Qe(), { openBlade: n } = It(), { blades: c, activeBlade:
|
|
908
|
+
function Tn(e) {
|
|
909
|
+
const o = N(je), { user: t, getAccessToken: s } = Qe(), { openBlade: n } = It(), { blades: c, activeBlade: f } = Mt(), l = e?.isEmbedded, d = dt({
|
|
910
910
|
userGetter: () => {
|
|
911
911
|
if (t.value)
|
|
912
912
|
return {
|
|
@@ -917,7 +917,7 @@ function xn(e) {
|
|
|
917
917
|
};
|
|
918
918
|
},
|
|
919
919
|
bladeGetter: () => {
|
|
920
|
-
const h =
|
|
920
|
+
const h = f.value ?? c.value[c.value.length - 1];
|
|
921
921
|
return h ? {
|
|
922
922
|
id: h.id,
|
|
923
923
|
name: h.name,
|
|
@@ -928,17 +928,17 @@ function xn(e) {
|
|
|
928
928
|
},
|
|
929
929
|
localeGetter: () => o?.currentLocale.value ?? "en",
|
|
930
930
|
tokenGetter: s,
|
|
931
|
-
navigateToBlade: (h,
|
|
932
|
-
n({ name: h, param:
|
|
931
|
+
navigateToBlade: (h, v, g) => {
|
|
932
|
+
n({ name: h, param: v, options: g }).then(() => {
|
|
933
933
|
V.debug(`Navigated to blade: ${h}`);
|
|
934
|
-
}).catch((
|
|
935
|
-
V.warn(`Blade not found or cannot be opened: ${h}`,
|
|
934
|
+
}).catch((C) => {
|
|
935
|
+
V.warn(`Blade not found or cannot be opened: ${h}`, C);
|
|
936
936
|
});
|
|
937
937
|
},
|
|
938
938
|
initialConfig: e?.config,
|
|
939
939
|
isEmbedded: l
|
|
940
940
|
});
|
|
941
|
-
if (
|
|
941
|
+
if (Pe(be, d), V.debug("AiAgentService provided"), e?.addGlobalToolbarButton ?? !0) {
|
|
942
942
|
const h = N(Je, null);
|
|
943
943
|
h ? (h.registerToolbarItem(
|
|
944
944
|
{
|
|
@@ -956,7 +956,7 @@ function xn(e) {
|
|
|
956
956
|
}
|
|
957
957
|
return d;
|
|
958
958
|
}
|
|
959
|
-
function
|
|
959
|
+
function xn() {
|
|
960
960
|
const e = N(be);
|
|
961
961
|
if (!e) {
|
|
962
962
|
V.error("AiAgentService not found. Did you forget to call provideAiAgentService()?");
|
|
@@ -983,7 +983,7 @@ function Sn() {
|
|
|
983
983
|
onMessage: e.onMessage
|
|
984
984
|
};
|
|
985
985
|
}
|
|
986
|
-
function
|
|
986
|
+
function Sn(e) {
|
|
987
987
|
return {
|
|
988
988
|
id: "ai-agent-toggle",
|
|
989
989
|
icon: e?.icon ?? "lucide-sparkles",
|
|
@@ -997,7 +997,7 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
997
997
|
key: 1,
|
|
998
998
|
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",
|
|
999
999
|
fill: "url(#virto-oz-gradient-animated)"
|
|
1000
|
-
},
|
|
1000
|
+
}, Ft = ["id"], $t = {
|
|
1001
1001
|
key: 1,
|
|
1002
1002
|
id: "virto-oz-gradient-animated",
|
|
1003
1003
|
gradientUnits: "userSpaceOnUse",
|
|
@@ -1022,7 +1022,7 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1022
1022
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1023
1023
|
class: "vc-virto-oz-logo"
|
|
1024
1024
|
}, [
|
|
1025
|
-
s[3] || (s[3] =
|
|
1025
|
+
s[3] || (s[3] = A("path", {
|
|
1026
1026
|
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",
|
|
1027
1027
|
fill: "white"
|
|
1028
1028
|
}, null, -1)),
|
|
@@ -1030,14 +1030,14 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1030
1030
|
key: 0,
|
|
1031
1031
|
"clip-path": `url(#${o.value})`
|
|
1032
1032
|
}, [...s[0] || (s[0] = [
|
|
1033
|
-
|
|
1034
|
-
|
|
1033
|
+
A("g", { transform: "matrix(0 -0.161514 0.160417 0 49.1357 53.9479)" }, [
|
|
1034
|
+
A("foreignObject", {
|
|
1035
1035
|
x: "-334.01",
|
|
1036
1036
|
y: "-334.01",
|
|
1037
1037
|
width: "668.02",
|
|
1038
1038
|
height: "668.02"
|
|
1039
1039
|
}, [
|
|
1040
|
-
|
|
1040
|
+
A("div", {
|
|
1041
1041
|
xmlns: "http://www.w3.org/1999/xhtml",
|
|
1042
1042
|
style: { background: `conic-gradient(
|
|
1043
1043
|
from 90deg,
|
|
@@ -1052,39 +1052,39 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1052
1052
|
])
|
|
1053
1053
|
], -1)
|
|
1054
1054
|
])], 8, Lt)),
|
|
1055
|
-
s[4] || (s[4] =
|
|
1055
|
+
s[4] || (s[4] = A("path", {
|
|
1056
1056
|
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",
|
|
1057
1057
|
fill: "white"
|
|
1058
1058
|
}, null, -1)),
|
|
1059
|
-
s[5] || (s[5] =
|
|
1059
|
+
s[5] || (s[5] = A("ellipse", {
|
|
1060
1060
|
cx: "49.12",
|
|
1061
1061
|
cy: "54.09",
|
|
1062
1062
|
rx: "4.05",
|
|
1063
1063
|
ry: "4.05",
|
|
1064
1064
|
fill: "#6C6C6C"
|
|
1065
1065
|
}, null, -1)),
|
|
1066
|
-
s[6] || (s[6] =
|
|
1066
|
+
s[6] || (s[6] = A("ellipse", {
|
|
1067
1067
|
cx: "60.62",
|
|
1068
1068
|
cy: "54.09",
|
|
1069
1069
|
rx: "4.05",
|
|
1070
1070
|
ry: "4.05",
|
|
1071
1071
|
fill: "#6C6C6C"
|
|
1072
1072
|
}, null, -1)),
|
|
1073
|
-
s[7] || (s[7] =
|
|
1073
|
+
s[7] || (s[7] = A("ellipse", {
|
|
1074
1074
|
cx: "37.62",
|
|
1075
1075
|
cy: "54.09",
|
|
1076
1076
|
rx: "4.05",
|
|
1077
1077
|
ry: "4.05",
|
|
1078
1078
|
fill: "#6C6C6C"
|
|
1079
1079
|
}, null, -1)),
|
|
1080
|
-
|
|
1080
|
+
A("defs", null, [
|
|
1081
1081
|
e.animated ? z("", !0) : (B(), S("clipPath", {
|
|
1082
1082
|
key: 0,
|
|
1083
1083
|
id: o.value
|
|
1084
1084
|
}, [...s[1] || (s[1] = [
|
|
1085
|
-
|
|
1086
|
-
])], 8,
|
|
1087
|
-
e.animated ? (B(), S("linearGradient",
|
|
1085
|
+
A("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)
|
|
1086
|
+
])], 8, Ft)),
|
|
1087
|
+
e.animated ? (B(), S("linearGradient", $t, [...s[2] || (s[2] = [
|
|
1088
1088
|
Ke('<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)
|
|
1089
1089
|
])])) : z("", !0)
|
|
1090
1090
|
])
|
|
@@ -1103,7 +1103,7 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1103
1103
|
return (o, t) => (B(), S("span", Rt, [
|
|
1104
1104
|
(B(!0), S(Ae, null, qe(e.parts, (s, n) => (B(), S(Ae, { key: n }, [
|
|
1105
1105
|
e.separated && n > 0 ? (B(), S("span", Ut, "+")) : z("", !0),
|
|
1106
|
-
|
|
1106
|
+
A("kbd", Gt, K(s), 1)
|
|
1107
1107
|
], 64))), 128))
|
|
1108
1108
|
]));
|
|
1109
1109
|
}
|
|
@@ -1116,48 +1116,48 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1116
1116
|
},
|
|
1117
1117
|
emits: ["close", "expand", "collapse"],
|
|
1118
1118
|
setup(e) {
|
|
1119
|
-
const { t: o } = nt(), { isMac: t } = Ne(), s = b(() => Ee(Q.escape, t)), n = b(() => Ee(Q.mod.backslash, t)), c = b(() => s.value.aria),
|
|
1119
|
+
const { t: o } = nt(), { isMac: t } = Ne(), s = b(() => Ee(Q.escape, t)), n = b(() => Ee(Q.mod.backslash, t)), c = b(() => s.value.aria), f = b(() => n.value.aria);
|
|
1120
1120
|
return (l, d) => (B(), S("div", Vt, [
|
|
1121
|
-
|
|
1122
|
-
|
|
1121
|
+
A("div", Kt, [
|
|
1122
|
+
P(Ue, {
|
|
1123
1123
|
width: 22,
|
|
1124
1124
|
height: 24,
|
|
1125
1125
|
"show-dots": ""
|
|
1126
1126
|
})
|
|
1127
1127
|
]),
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1128
|
+
A("div", qt, [
|
|
1129
|
+
A("div", zt, [
|
|
1130
|
+
A("div", Ht, K(e.title), 1)
|
|
1131
1131
|
])
|
|
1132
1132
|
]),
|
|
1133
|
-
|
|
1133
|
+
A("div", Wt, [
|
|
1134
1134
|
e.isExpanded ? (B(), se(x(me), {
|
|
1135
1135
|
key: 0,
|
|
1136
1136
|
placement: "bottom"
|
|
1137
1137
|
}, {
|
|
1138
|
-
tooltip:
|
|
1139
|
-
|
|
1138
|
+
tooltip: $(() => [
|
|
1139
|
+
A("span", Xt, [
|
|
1140
1140
|
Ce(K(x(o)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE")) + " ", 1),
|
|
1141
|
-
|
|
1141
|
+
P(_e, {
|
|
1142
1142
|
parts: n.value.parts,
|
|
1143
1143
|
separated: !x(t)
|
|
1144
1144
|
}, null, 8, ["parts", "separated"])
|
|
1145
1145
|
])
|
|
1146
1146
|
]),
|
|
1147
|
-
default:
|
|
1148
|
-
|
|
1147
|
+
default: $(() => [
|
|
1148
|
+
A("div", {
|
|
1149
1149
|
class: "vc-ai-agent-header__button",
|
|
1150
1150
|
role: "button",
|
|
1151
1151
|
tabindex: "0",
|
|
1152
1152
|
"aria-label": x(o)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.RESTORE"),
|
|
1153
|
-
"aria-keyshortcuts":
|
|
1153
|
+
"aria-keyshortcuts": f.value,
|
|
1154
1154
|
onClick: d[0] || (d[0] = (u) => l.$emit("collapse")),
|
|
1155
1155
|
onKeydown: [
|
|
1156
1156
|
d[1] || (d[1] = U(G((u) => l.$emit("collapse"), ["prevent"]), ["enter"])),
|
|
1157
1157
|
d[2] || (d[2] = U(G((u) => l.$emit("collapse"), ["prevent"]), ["space"]))
|
|
1158
1158
|
]
|
|
1159
1159
|
}, [
|
|
1160
|
-
|
|
1160
|
+
P(x(ie), { icon: "lucide-minus" })
|
|
1161
1161
|
], 40, Zt)
|
|
1162
1162
|
]),
|
|
1163
1163
|
_: 1
|
|
@@ -1165,45 +1165,45 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1165
1165
|
key: 1,
|
|
1166
1166
|
placement: "bottom"
|
|
1167
1167
|
}, {
|
|
1168
|
-
tooltip:
|
|
1169
|
-
|
|
1168
|
+
tooltip: $(() => [
|
|
1169
|
+
A("span", jt, [
|
|
1170
1170
|
Ce(K(x(o)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE")) + " ", 1),
|
|
1171
|
-
|
|
1171
|
+
P(_e, {
|
|
1172
1172
|
parts: n.value.parts,
|
|
1173
1173
|
separated: !x(t)
|
|
1174
1174
|
}, null, 8, ["parts", "separated"])
|
|
1175
1175
|
])
|
|
1176
1176
|
]),
|
|
1177
|
-
default:
|
|
1178
|
-
|
|
1177
|
+
default: $(() => [
|
|
1178
|
+
A("div", {
|
|
1179
1179
|
class: "vc-ai-agent-header__button",
|
|
1180
1180
|
role: "button",
|
|
1181
1181
|
tabindex: "0",
|
|
1182
1182
|
"aria-label": x(o)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.MAXIMIZE"),
|
|
1183
|
-
"aria-keyshortcuts":
|
|
1183
|
+
"aria-keyshortcuts": f.value,
|
|
1184
1184
|
onClick: d[3] || (d[3] = (u) => l.$emit("expand")),
|
|
1185
1185
|
onKeydown: [
|
|
1186
1186
|
d[4] || (d[4] = U(G((u) => l.$emit("expand"), ["prevent"]), ["enter"])),
|
|
1187
1187
|
d[5] || (d[5] = U(G((u) => l.$emit("expand"), ["prevent"]), ["space"]))
|
|
1188
1188
|
]
|
|
1189
1189
|
}, [
|
|
1190
|
-
|
|
1190
|
+
P(x(ie), { icon: "lucide-panel-top" })
|
|
1191
1191
|
], 40, Yt)
|
|
1192
1192
|
]),
|
|
1193
1193
|
_: 1
|
|
1194
1194
|
})),
|
|
1195
|
-
|
|
1196
|
-
tooltip:
|
|
1197
|
-
|
|
1195
|
+
P(x(me), { placement: "bottom" }, {
|
|
1196
|
+
tooltip: $(() => [
|
|
1197
|
+
A("span", Jt, [
|
|
1198
1198
|
Ce(K(x(o)("COMPONENTS.ORGANISMS.VC_BLADE_HEADER.CLOSE")) + " ", 1),
|
|
1199
|
-
|
|
1199
|
+
P(_e, {
|
|
1200
1200
|
parts: s.value.parts,
|
|
1201
1201
|
separated: !x(t)
|
|
1202
1202
|
}, null, 8, ["parts", "separated"])
|
|
1203
1203
|
])
|
|
1204
1204
|
]),
|
|
1205
|
-
default:
|
|
1206
|
-
|
|
1205
|
+
default: $(() => [
|
|
1206
|
+
A("div", {
|
|
1207
1207
|
class: "vc-ai-agent-header__button",
|
|
1208
1208
|
role: "button",
|
|
1209
1209
|
tabindex: "0",
|
|
@@ -1215,7 +1215,7 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1215
1215
|
d[8] || (d[8] = U(G((u) => l.$emit("close"), ["prevent"]), ["space"]))
|
|
1216
1216
|
]
|
|
1217
1217
|
}, [
|
|
1218
|
-
|
|
1218
|
+
P(x(ie), { icon: "lucide-x" })
|
|
1219
1219
|
], 40, Qt)
|
|
1220
1220
|
]),
|
|
1221
1221
|
_: 1
|
|
@@ -1233,9 +1233,9 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1233
1233
|
},
|
|
1234
1234
|
setup(e) {
|
|
1235
1235
|
return (o, t) => (B(), S("div", tn, [
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1236
|
+
A("div", nn, [
|
|
1237
|
+
A("div", an, [
|
|
1238
|
+
P(Ue, {
|
|
1239
1239
|
width: 80,
|
|
1240
1240
|
height: 87,
|
|
1241
1241
|
animated: ""
|
|
@@ -1255,7 +1255,7 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1255
1255
|
},
|
|
1256
1256
|
emits: ["iframe-ready"],
|
|
1257
1257
|
setup(e, { emit: o }) {
|
|
1258
|
-
const t = W("ai-agent-iframe"), s = e, n = o, c =
|
|
1258
|
+
const t = W("ai-agent-iframe"), s = e, n = o, c = D(null), f = D(!0);
|
|
1259
1259
|
q(
|
|
1260
1260
|
c,
|
|
1261
1261
|
(d) => {
|
|
@@ -1264,17 +1264,17 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1264
1264
|
{ immediate: !0 }
|
|
1265
1265
|
);
|
|
1266
1266
|
const l = () => {
|
|
1267
|
-
|
|
1267
|
+
f.value = !1, t.debug("Iframe loaded");
|
|
1268
1268
|
};
|
|
1269
1269
|
return q(
|
|
1270
1270
|
() => s.url,
|
|
1271
1271
|
() => {
|
|
1272
|
-
|
|
1272
|
+
f.value = !0;
|
|
1273
1273
|
}
|
|
1274
1274
|
), (d, u) => (B(), S("div", sn, [
|
|
1275
|
-
|
|
1276
|
-
default:
|
|
1277
|
-
|
|
1275
|
+
P(ke, { name: "fade" }, {
|
|
1276
|
+
default: $(() => [
|
|
1277
|
+
f.value && e.url ? (B(), se(rn, {
|
|
1278
1278
|
key: 0,
|
|
1279
1279
|
text: d.$t("AI_AGENT.LOADING")
|
|
1280
1280
|
}, null, 8, ["text"])) : z("", !0)
|
|
@@ -1286,111 +1286,101 @@ const Dt = ["width", "height"], Lt = ["clip-path"], Nt = {
|
|
|
1286
1286
|
ref_key: "iframeRef",
|
|
1287
1287
|
ref: c,
|
|
1288
1288
|
src: e.url,
|
|
1289
|
-
class: Me(["vc-ai-agent-iframe__frame", { "vc-ai-agent-iframe__frame--loading":
|
|
1289
|
+
class: Me(["vc-ai-agent-iframe__frame", { "vc-ai-agent-iframe__frame--loading": f.value }]),
|
|
1290
1290
|
sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox",
|
|
1291
1291
|
allow: "clipboard-read; clipboard-write",
|
|
1292
1292
|
onLoad: l
|
|
1293
1293
|
}, null, 42, ln)) : (B(), S("div", cn, [
|
|
1294
|
-
|
|
1294
|
+
P(x(ie), {
|
|
1295
1295
|
icon: "lucide-sparkles",
|
|
1296
1296
|
size: "xl",
|
|
1297
1297
|
class: "vc-ai-agent-iframe__placeholder-icon"
|
|
1298
1298
|
}),
|
|
1299
|
-
u[0] || (u[0] =
|
|
1299
|
+
u[0] || (u[0] = A("p", { class: "vc-ai-agent-iframe__placeholder-text" }, "AI Agent URL not configured", -1))
|
|
1300
1300
|
]))
|
|
1301
1301
|
]));
|
|
1302
1302
|
}
|
|
1303
|
-
}), un =
|
|
1303
|
+
}), un = { class: "vc-ai-agent-panel__content" }, On = /* @__PURE__ */ H({
|
|
1304
1304
|
__name: "VcAiAgentPanel",
|
|
1305
|
-
props: {
|
|
1306
|
-
inert: { type: Boolean }
|
|
1307
|
-
},
|
|
1308
1305
|
setup(e) {
|
|
1309
1306
|
const { isMac: o } = Ne(), t = N(be), s = N(et, !1);
|
|
1310
1307
|
t || console.error("[VcAiAgentPanel] AiAgentService not provided");
|
|
1311
1308
|
const n = b(
|
|
1312
1309
|
() => t?.config.value ?? { url: "", title: "AI Assistant", width: 362, expandedWidth: 500 }
|
|
1313
|
-
), c = b(() => !s && (t?.isOpen.value ?? !1)),
|
|
1314
|
-
width:
|
|
1315
|
-
})), u = () => t?.closePanel(), h = () => t?.expandPanel(),
|
|
1316
|
-
tt(document, "keydown", (
|
|
1317
|
-
if (c.value && !
|
|
1318
|
-
if (
|
|
1319
|
-
|
|
1310
|
+
), c = b(() => !s && (t?.isOpen.value ?? !1)), f = b(() => t?.isExpanded.value ?? !1), l = b(() => t?.totalItemsCount.value ?? 0), d = b(() => ({
|
|
1311
|
+
width: f.value ? `${n.value.expandedWidth ?? 500}px` : `${n.value.width ?? 362}px`
|
|
1312
|
+
})), u = () => t?.closePanel(), h = () => t?.expandPanel(), v = () => t?.collapsePanel();
|
|
1313
|
+
tt(document, "keydown", (C) => {
|
|
1314
|
+
if (c.value && !C.isComposing && !C.defaultPrevented) {
|
|
1315
|
+
if (C.key === "Escape") {
|
|
1316
|
+
C.preventDefault(), u();
|
|
1320
1317
|
return;
|
|
1321
1318
|
}
|
|
1322
|
-
|
|
1323
|
-
const A = document.activeElement;
|
|
1324
|
-
if (!A || !f.value?.contains(A)) return;
|
|
1325
|
-
v.preventDefault(), g.value ? C() : h();
|
|
1326
|
-
}
|
|
1319
|
+
Et(Q.mod.backslash, C, o) && (C.preventDefault(), f.value ? v() : h());
|
|
1327
1320
|
}
|
|
1328
1321
|
});
|
|
1329
|
-
const
|
|
1330
|
-
t?._setIframeRef(
|
|
1322
|
+
const g = (C) => {
|
|
1323
|
+
t?._setIframeRef(C);
|
|
1331
1324
|
};
|
|
1332
1325
|
return ze(() => {
|
|
1333
1326
|
t?._setIframeRef(null);
|
|
1334
|
-
}), (
|
|
1335
|
-
default:
|
|
1327
|
+
}), (C, E) => (B(), se(ke, { name: "ai-panel-slide" }, {
|
|
1328
|
+
default: $(() => [
|
|
1336
1329
|
c.value ? (B(), S("div", {
|
|
1337
1330
|
key: 0,
|
|
1338
|
-
ref_key: "panelRef",
|
|
1339
|
-
ref: f,
|
|
1340
1331
|
class: Me(["vc-ai-agent-panel", {
|
|
1341
|
-
"vc-ai-agent-panel--expanded":
|
|
1332
|
+
"vc-ai-agent-panel--expanded": f.value
|
|
1342
1333
|
}]),
|
|
1343
|
-
style: He(d.value)
|
|
1344
|
-
inert: e.inert || void 0
|
|
1334
|
+
style: He(d.value)
|
|
1345
1335
|
}, [
|
|
1346
|
-
|
|
1336
|
+
P(en, {
|
|
1347
1337
|
title: n.value.title,
|
|
1348
|
-
"is-expanded":
|
|
1338
|
+
"is-expanded": f.value,
|
|
1349
1339
|
"items-count": l.value,
|
|
1350
1340
|
onClose: u,
|
|
1351
1341
|
onExpand: h,
|
|
1352
|
-
onCollapse:
|
|
1342
|
+
onCollapse: v
|
|
1353
1343
|
}, null, 8, ["title", "is-expanded", "items-count"]),
|
|
1354
|
-
|
|
1355
|
-
|
|
1344
|
+
A("div", un, [
|
|
1345
|
+
P(dn, {
|
|
1356
1346
|
url: n.value.url,
|
|
1357
|
-
onIframeReady:
|
|
1347
|
+
onIframeReady: g
|
|
1358
1348
|
}, null, 8, ["url"])
|
|
1359
1349
|
])
|
|
1360
|
-
],
|
|
1350
|
+
], 6)) : z("", !0)
|
|
1361
1351
|
]),
|
|
1362
1352
|
_: 1
|
|
1363
1353
|
}));
|
|
1364
1354
|
}
|
|
1365
1355
|
});
|
|
1366
1356
|
export {
|
|
1367
|
-
|
|
1368
|
-
|
|
1357
|
+
mn as A,
|
|
1358
|
+
Tn as B,
|
|
1369
1359
|
at as D,
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1360
|
+
hn as E,
|
|
1361
|
+
_n as H,
|
|
1362
|
+
On as _,
|
|
1363
|
+
In as a,
|
|
1374
1364
|
xe as b,
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1365
|
+
Sn as c,
|
|
1366
|
+
wn as d,
|
|
1367
|
+
bn as e,
|
|
1368
|
+
yn as f,
|
|
1379
1369
|
It as g,
|
|
1380
|
-
|
|
1381
|
-
|
|
1370
|
+
Fe as h,
|
|
1371
|
+
$e as i,
|
|
1382
1372
|
wt as j,
|
|
1383
1373
|
Re as k,
|
|
1384
1374
|
Oe as l,
|
|
1385
1375
|
yt as m,
|
|
1386
1376
|
mt as n,
|
|
1387
1377
|
ht as o,
|
|
1388
|
-
|
|
1378
|
+
Bn as p,
|
|
1389
1379
|
Ee as q,
|
|
1390
1380
|
Q as r,
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1381
|
+
An as s,
|
|
1382
|
+
En as t,
|
|
1383
|
+
xn as u,
|
|
1394
1384
|
Et as v,
|
|
1395
1385
|
Mt as w,
|
|
1396
1386
|
At as x,
|