@vc-shell/framework 2.6.3-rc.0-pr390.53cad8c → 2.6.3-rc.0-pr391.84df437
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 +3 -3
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DD8vPZWo.js → VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DCA-Ffyd.js} +349 -355
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DCA-Ffyd.js.map +1 -0
- package/dist/chunks/{VcAiAgentPanel.vue_vue_type_style_index_0_lang-BO4n-ICh.js → VcAiAgentPanel.vue_vue_type_style_index_0_lang-TiaFg1wQ.js} +396 -316
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-TiaFg1wQ.js.map +1 -0
- package/dist/chunks/{VcScheduler.vue_vue_type_script_setup_true_lang-D9qR_hhh.js → VcScheduler.vue_vue_type_script_setup_true_lang-qXf9_bH2.js} +6810 -6820
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-qXf9_bH2.js.map +1 -0
- package/dist/chunks/{VcScheduler.vue_vue_type_style_index_0_lang-DmyL2_G1.js → VcScheduler.vue_vue_type_style_index_0_lang-Dr98EAcc.js} +1987 -1994
- package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-Dr98EAcc.js.map +1 -0
- 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-D4pPtjsM.js} +30 -30
- 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-D4pPtjsM.js.map} +1 -1
- package/dist/chunks/{index-BHklvOJx.js → index-DSdo2M5t.js} +2 -2
- package/dist/chunks/{index-BHklvOJx.js.map → index-DSdo2M5t.js.map} +1 -1
- package/dist/core/blade-navigation/utils/urlSync.d.ts.map +1 -1
- package/dist/core/composables/index.d.ts +1 -1
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useBladeForm/index.d.ts.map +1 -1
- package/dist/core/composables/useTextDirection/index.d.ts +18 -0
- package/dist/core/composables/useTextDirection/index.d.ts.map +1 -0
- package/dist/core/interceptors/index.d.ts.map +1 -1
- package/dist/core/services/language-service.d.ts.map +1 -1
- package/dist/core/utilities/authGuard.d.ts.map +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/framework.js +1081 -1090
- package/dist/framework.js.map +1 -1
- package/dist/index.css +2 -2
- package/dist/locales/de.js +30 -1
- package/dist/locales/en.js +30 -1
- package/dist/locales/en.json +30 -1
- package/dist/locales/types.d.ts +29 -0
- package/dist/shell/auth/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts +0 -2
- package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/_internal/SelectTrigger.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-switch/vc-switch.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-blade/_internal/toolbar/ToolbarDesktop.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarMobile.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableBody.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableHeader.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/DataTableRow.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/GlobalFiltersPanel.vue.d.ts +2 -2
- package/dist/ui/components/organisms/vc-data-table/components/TableCell.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/TableCell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/TableHead.vue.d.ts +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/TableHead.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/TableResizeHandle.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/components/mobile/DataTableMobileCard.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts +4 -2
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumns.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-data-table/composables/useTableColumnsResize.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-scheduler/_internal/views/SchedulerMonthView.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-scheduler/_internal/views/SchedulerTimelineView.vue.d.ts.map +1 -1
- package/dist/ui/composables/useAdaptiveItems.d.ts.map +1 -1
- package/dist/ui/composables/useFloatingPosition.d.ts +5 -0
- package/dist/ui/composables/useFloatingPosition.d.ts.map +1 -1
- package/dist/ui/index.js +34 -33
- package/package.json +4 -4
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_script_setup_true_lang-DD8vPZWo.js.map +0 -1
- package/dist/chunks/VcAiAgentPanel.vue_vue_type_style_index_0_lang-BO4n-ICh.js.map +0 -1
- package/dist/chunks/VcScheduler.vue_vue_type_script_setup_true_lang-D9qR_hhh.js.map +0 -1
- package/dist/chunks/VcScheduler.vue_vue_type_style_index_0_lang-DmyL2_G1.js.map +0 -1
- package/dist/core/utilities/redirectAfterLogin.d.ts +0 -12
- package/dist/core/utilities/redirectAfterLogin.d.ts.map +0 -1
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { ref as D, computed as b, shallowRef as
|
|
2
|
-
import { c as Z,
|
|
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-TiaFg1wQ.js";
|
|
3
3
|
import { c as ae } from "./vendor-lodash-es-D2n90GJy.js";
|
|
4
|
-
import { u as
|
|
5
|
-
import { u as
|
|
6
|
-
const
|
|
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
|
-
},
|
|
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
|
-
},
|
|
18
|
+
}, xn = {
|
|
19
19
|
EMBEDDED_HOST_READY: "EMBEDDED_HOST_READY",
|
|
20
20
|
AI_CHAT_MESSAGE: "AI_CHAT_MESSAGE"
|
|
21
|
-
},
|
|
22
|
-
function
|
|
23
|
-
const e = D("closed"),
|
|
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",
|
|
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:
|
|
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
|
-
|
|
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
|
|
59
|
-
const { userGetter:
|
|
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, _,
|
|
76
|
+
setContextData: (p, _, I, P) => {
|
|
77
77
|
const L = a()?.id || P;
|
|
78
|
-
return L ? p.length === 0 && !
|
|
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:
|
|
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
|
|
107
|
-
const { getConfig:
|
|
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 (
|
|
133
|
-
O.error("Handler error:",
|
|
132
|
+
} catch (I) {
|
|
133
|
+
O.error("Handler error:", I);
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
137
|
function d(u) {
|
|
138
|
-
const p =
|
|
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
|
|
158
|
-
if (!(!
|
|
159
|
-
switch (O.debug(`Message received: ${
|
|
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 =
|
|
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(
|
|
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 =
|
|
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 =
|
|
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
|
|
240
|
-
function
|
|
239
|
+
const re = Z("ai-agent-service");
|
|
240
|
+
function Ct(e) {
|
|
241
241
|
const {
|
|
242
|
-
userGetter:
|
|
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({ ...
|
|
250
|
-
userGetter:
|
|
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 =
|
|
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:
|
|
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
|
|
267
|
-
d.sendToIframe({ type: "INIT_CONTEXT", payload:
|
|
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((
|
|
272
|
-
d.sendToIframe({ type: "INIT_CONTEXT", payload:
|
|
273
|
-
})) : (d.pendingInitContext.value = !0,
|
|
274
|
-
}),
|
|
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
|
|
279
|
-
d.sendToParent({ type: "AI_CONTEXT_UPDATE", payload:
|
|
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
|
|
284
|
-
d.sendToIframe({ type: "UPDATE_CONTEXT", payload:
|
|
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(),
|
|
290
|
-
d.setIframeRef(
|
|
291
|
-
}, L = (
|
|
292
|
-
const { cleared:
|
|
293
|
-
g &&
|
|
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
|
-
}),
|
|
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:
|
|
309
|
+
togglePanel: I,
|
|
310
310
|
expandPanel: () => v.expand(),
|
|
311
311
|
collapsePanel: () => v.collapse(),
|
|
312
312
|
// Configuration
|
|
313
|
-
setConfig: (
|
|
314
|
-
h.value = { ...h.value, ...
|
|
313
|
+
setConfig: (B) => {
|
|
314
|
+
h.value = { ...h.value, ...B };
|
|
315
315
|
},
|
|
316
316
|
// Communication
|
|
317
|
-
sendMessage: (
|
|
318
|
-
d.sendToIframe({ type:
|
|
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
|
|
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(
|
|
334
|
+
get(i, a) {
|
|
335
335
|
if (!(typeof a != "string" || a === "then"))
|
|
336
|
-
return
|
|
336
|
+
return mt.has(a) ? Me({ ...e, [a]: !0 }) : { key: a, ...e };
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
);
|
|
340
340
|
}
|
|
341
|
-
const q = Me({}),
|
|
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
|
|
372
|
+
function ht(e) {
|
|
373
373
|
return e in xe ? xe[e] : (e.length === 1, e.toUpperCase());
|
|
374
374
|
}
|
|
375
|
-
function
|
|
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,
|
|
379
|
-
const a = !!e.ctrl || !!e.mod && !
|
|
380
|
-
|
|
381
|
-
const f = [...l,
|
|
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
|
|
401
|
+
function Et(e) {
|
|
402
402
|
return e.length === 1 && e >= "a" && e <= "z";
|
|
403
403
|
}
|
|
404
|
-
function
|
|
404
|
+
function bt(e) {
|
|
405
405
|
return e.length === 1 && e >= "0" && e <= "9";
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function wt(e) {
|
|
408
408
|
return /^f([1-9]|1[0-2])$/.test(e);
|
|
409
409
|
}
|
|
410
|
-
function
|
|
411
|
-
if (
|
|
412
|
-
if (
|
|
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
|
|
415
|
+
function yt(e) {
|
|
416
416
|
if (e in Te) return Te[e];
|
|
417
|
-
if (
|
|
417
|
+
if (wt(e)) return e.toUpperCase();
|
|
418
418
|
}
|
|
419
|
-
function
|
|
420
|
-
const a =
|
|
421
|
-
if (a !== void 0) return
|
|
422
|
-
const t =
|
|
423
|
-
return t !== void 0 ?
|
|
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
|
|
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
|
|
427
|
+
return i.ctrlKey !== t || i.metaKey !== o || i.altKey !== l || i.shiftKey !== f ? !1 : xt(e, i);
|
|
428
428
|
}
|
|
429
|
-
const
|
|
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
|
|
440
|
+
function Bn() {
|
|
441
441
|
const e = document.activeElement;
|
|
442
442
|
if (!e) return !1;
|
|
443
|
-
const
|
|
444
|
-
if (
|
|
445
|
-
if (
|
|
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
|
|
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 =
|
|
453
|
+
const e = Tt();
|
|
454
454
|
return {
|
|
455
455
|
hotkey: q,
|
|
456
456
|
isMac: e,
|
|
457
|
-
formatShortcut: (
|
|
457
|
+
formatShortcut: (i) => Fe(i, e)
|
|
458
458
|
};
|
|
459
459
|
}
|
|
460
|
-
let
|
|
461
|
-
function
|
|
462
|
-
|
|
460
|
+
let kt, $e, Re, St;
|
|
461
|
+
function In(e) {
|
|
462
|
+
kt = e;
|
|
463
463
|
}
|
|
464
|
-
function
|
|
464
|
+
function Tn(e) {
|
|
465
465
|
$e = e;
|
|
466
466
|
}
|
|
467
|
-
function
|
|
467
|
+
function kn(e) {
|
|
468
468
|
Re = e;
|
|
469
469
|
}
|
|
470
|
-
function
|
|
471
|
-
|
|
470
|
+
function Sn(e) {
|
|
471
|
+
St = e;
|
|
472
472
|
}
|
|
473
|
-
const
|
|
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
|
-
${
|
|
476
|
+
${Ot}`);
|
|
477
477
|
}
|
|
478
|
-
function
|
|
479
|
-
const e = (ne() ? M(Le, void 0) : void 0) ?? $e,
|
|
480
|
-
if (!e || !
|
|
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 =
|
|
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 =
|
|
499
|
-
ke(
|
|
498
|
+
const T = We(m) ? m : D(m);
|
|
499
|
+
ke(et, T);
|
|
500
500
|
}
|
|
501
|
-
async function
|
|
502
|
-
const { isWorkspace: T, ...
|
|
501
|
+
async function I(m) {
|
|
502
|
+
const { isWorkspace: T, ...U } = m;
|
|
503
503
|
if (T)
|
|
504
|
-
await a.openWorkspace(
|
|
504
|
+
await a.openWorkspace(U);
|
|
505
505
|
else {
|
|
506
|
-
const
|
|
507
|
-
|
|
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
|
|
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
|
|
531
|
+
function N(m) {
|
|
532
532
|
o || y("exposeToChildren()"), t.exposeToChildren(o.value.id, m);
|
|
533
533
|
}
|
|
534
|
-
function
|
|
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
|
|
553
|
+
function Q(m) {
|
|
554
554
|
l || y("removeBanner()"), l.value = l.value.filter((T) => T.id !== m);
|
|
555
555
|
}
|
|
556
|
-
function
|
|
556
|
+
function ge() {
|
|
557
557
|
l || y("clearBanners()"), l.value = l.value.filter((m) => m._system);
|
|
558
558
|
}
|
|
559
|
-
let
|
|
559
|
+
let J = !1, ee = !1;
|
|
560
560
|
function ve(m) {
|
|
561
|
-
if (o || y("onActivated()"),
|
|
561
|
+
if (o || y("onActivated()"), J) {
|
|
562
562
|
console.warn("[useBlade] onActivated() already registered in this blade.");
|
|
563
563
|
return;
|
|
564
564
|
}
|
|
565
|
-
|
|
565
|
+
J = !0, z(d, (T) => {
|
|
566
566
|
T && m();
|
|
567
567
|
});
|
|
568
568
|
}
|
|
569
569
|
function Ce(m) {
|
|
570
|
-
if (o || y("onDeactivated()"),
|
|
570
|
+
if (o || y("onDeactivated()"), ee) {
|
|
571
571
|
console.warn("[useBlade] onDeactivated() already registered in this blade.");
|
|
572
572
|
return;
|
|
573
573
|
}
|
|
574
|
-
|
|
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:
|
|
588
|
+
openBlade: I,
|
|
589
589
|
closeSelf: P,
|
|
590
590
|
closeChildren: L,
|
|
591
|
-
replaceWith:
|
|
591
|
+
replaceWith: B,
|
|
592
592
|
coverWith: G,
|
|
593
593
|
callParent: X,
|
|
594
|
-
exposeToChildren:
|
|
595
|
-
onBeforeClose:
|
|
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:
|
|
602
|
-
clearBanners:
|
|
601
|
+
removeBanner: Q,
|
|
602
|
+
clearBanners: ge
|
|
603
603
|
};
|
|
604
604
|
}
|
|
605
|
-
function
|
|
605
|
+
function Lt(e, i) {
|
|
606
606
|
return {
|
|
607
|
-
id:
|
|
607
|
+
id: i.generateId(),
|
|
608
608
|
name: e.name,
|
|
609
|
-
url:
|
|
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
|
|
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:
|
|
624
|
+
parentId: i,
|
|
625
625
|
visible: !0
|
|
626
626
|
};
|
|
627
627
|
}
|
|
628
|
-
function
|
|
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:
|
|
636
|
+
parentId: i,
|
|
637
637
|
visible: !0
|
|
638
638
|
};
|
|
639
639
|
}
|
|
640
|
-
function
|
|
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:
|
|
648
|
+
parentId: i,
|
|
649
649
|
visible: !0
|
|
650
650
|
};
|
|
651
651
|
}
|
|
652
|
-
let
|
|
653
|
-
function
|
|
654
|
-
return `blade_${
|
|
652
|
+
let Nt = 0;
|
|
653
|
+
function $t() {
|
|
654
|
+
return `blade_${++Nt}_${Math.random().toString(36).slice(2, 8)}`;
|
|
655
655
|
}
|
|
656
|
-
function
|
|
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,63 +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
|
|
666
|
-
if (
|
|
667
|
-
return
|
|
665
|
+
const r = e.getBlade(n);
|
|
666
|
+
if (r)
|
|
667
|
+
return r.route;
|
|
668
668
|
}
|
|
669
669
|
const w = {
|
|
670
|
-
generateId:
|
|
670
|
+
generateId: $t,
|
|
671
671
|
resolveUrl: u
|
|
672
672
|
};
|
|
673
673
|
async function p(n) {
|
|
674
|
-
for (let
|
|
675
|
-
const s = o.get(n[
|
|
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
|
|
683
|
-
f.get(
|
|
684
|
-
}
|
|
685
|
-
function B(n) {
|
|
686
|
-
for (const [i, s] of g)
|
|
687
|
-
i !== n && (s.value = !1);
|
|
682
|
+
for (const r of n)
|
|
683
|
+
f.get(r.id)?.(), d(r.id);
|
|
688
684
|
}
|
|
689
|
-
async function
|
|
685
|
+
async function I(n) {
|
|
690
686
|
if (h.value?.name === n.name) return !1;
|
|
691
687
|
const s = e.getBlade(n.name);
|
|
692
688
|
if (!s)
|
|
693
689
|
throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
|
|
694
|
-
if (
|
|
690
|
+
if (i && s.permissions && !i(s.permissions))
|
|
695
691
|
return console.warn(`[BladeStack] Access denied to workspace '${n.name}'`), !1;
|
|
696
692
|
_([...t.value]);
|
|
697
|
-
const C =
|
|
693
|
+
const C = Lt(n, w);
|
|
698
694
|
return t.value = [C], n.onOpen && l.set(C.id, n.onOpen), n.onClose && f.set(C.id, n.onClose), n.onOpen?.(), !0;
|
|
699
695
|
}
|
|
700
|
-
async function
|
|
696
|
+
async function P(n) {
|
|
701
697
|
if (!e.getBlade(n.name))
|
|
702
698
|
throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
|
|
703
|
-
const
|
|
704
|
-
if (!
|
|
699
|
+
const r = n.parentId ?? c.value?.id ?? h.value?.id;
|
|
700
|
+
if (!r)
|
|
705
701
|
throw new Error("[BladeStack] Cannot open blade: no parent blade found");
|
|
706
|
-
const s = t.value.findIndex((S) => S.id ===
|
|
702
|
+
const s = t.value.findIndex((S) => S.id === r);
|
|
707
703
|
if (s === -1)
|
|
708
|
-
throw new Error(`[BladeStack] Parent blade '${
|
|
704
|
+
throw new Error(`[BladeStack] Parent blade '${r}' not found in stack`);
|
|
709
705
|
const C = t.value.slice(s + 1);
|
|
710
706
|
if (C.length > 0 && await p(C))
|
|
711
707
|
return !1;
|
|
712
|
-
_(C)
|
|
713
|
-
const E =
|
|
708
|
+
_(C);
|
|
709
|
+
const E = Dt(n, r, w);
|
|
714
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;
|
|
715
711
|
}
|
|
716
|
-
async function
|
|
717
|
-
const
|
|
718
|
-
if (
|
|
719
|
-
const s = t.value.slice(
|
|
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);
|
|
720
716
|
if (await p(s)) return "prevented";
|
|
721
|
-
_(s), t.value = t.value.slice(0,
|
|
717
|
+
_(s), t.value = t.value.slice(0, r);
|
|
722
718
|
const E = t.value.length - 1;
|
|
723
719
|
if (E > 0 && !t.value[E].visible) {
|
|
724
720
|
const S = [...t.value];
|
|
@@ -726,170 +722,168 @@ function Pn(e, r, a = nt) {
|
|
|
726
722
|
}
|
|
727
723
|
return "closed";
|
|
728
724
|
}
|
|
729
|
-
async function
|
|
730
|
-
const
|
|
731
|
-
if (!
|
|
725
|
+
async function B(n) {
|
|
726
|
+
const r = c.value;
|
|
727
|
+
if (!r)
|
|
732
728
|
throw new Error("[BladeStack] No active blade to replace");
|
|
733
729
|
if (!e.getBlade(n.name))
|
|
734
730
|
throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
|
|
735
|
-
const s = t.value.findIndex(($) => $.id ===
|
|
731
|
+
const s = t.value.findIndex(($) => $.id === r.id);
|
|
736
732
|
if (s === -1)
|
|
737
|
-
throw new Error(`[BladeStack] Active blade '${
|
|
733
|
+
throw new Error(`[BladeStack] Active blade '${r.id}' not found in stack`);
|
|
738
734
|
const C = t.value.slice(s + 1);
|
|
739
735
|
if (C.length > 0) {
|
|
740
736
|
if (await p(C)) return !1;
|
|
741
737
|
_(C);
|
|
742
738
|
}
|
|
743
|
-
const E =
|
|
744
|
-
|
|
739
|
+
const E = Mt(n, r.parentId, w);
|
|
740
|
+
_([r]);
|
|
745
741
|
const S = [...t.value.slice(0, s), E, ...t.value.slice(s + 1)];
|
|
746
742
|
return t.value = S, n.onOpen && l.set(E.id, n.onOpen), n.onClose && f.set(E.id, n.onClose), n.onOpen?.(), !0;
|
|
747
743
|
}
|
|
748
|
-
async function
|
|
749
|
-
const
|
|
750
|
-
if (!
|
|
744
|
+
async function G(n) {
|
|
745
|
+
const r = c.value;
|
|
746
|
+
if (!r)
|
|
751
747
|
throw new Error("[BladeStack] No active blade to cover");
|
|
752
748
|
if (!e.getBlade(n.name))
|
|
753
749
|
throw new Error(`[BladeStack] Blade '${n.name}' not found in registry`);
|
|
754
|
-
const s = t.value.findIndex(($) => $.id ===
|
|
750
|
+
const s = t.value.findIndex(($) => $.id === r.id);
|
|
755
751
|
if (s === -1)
|
|
756
|
-
throw new Error(`[BladeStack] Active blade '${
|
|
752
|
+
throw new Error(`[BladeStack] Active blade '${r.id}' not found in stack`);
|
|
757
753
|
const C = t.value.slice(s + 1);
|
|
758
754
|
if (C.length > 0) {
|
|
759
755
|
if (await p(C)) return !1;
|
|
760
756
|
_(C);
|
|
761
757
|
}
|
|
762
|
-
const E =
|
|
763
|
-
|
|
764
|
-
const S = t.value.slice(0, s);
|
|
765
|
-
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;
|
|
766
760
|
}
|
|
767
|
-
async function
|
|
768
|
-
const
|
|
769
|
-
if (
|
|
770
|
-
const s = t.value.slice(
|
|
771
|
-
return s.length === 0 || await p(s) ? !1 : (_(s), t.value = t.value.slice(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);
|
|
772
766
|
}
|
|
773
767
|
function N(n) {
|
|
774
768
|
c.value?.url && a[n]();
|
|
775
769
|
}
|
|
770
|
+
async function Y(n) {
|
|
771
|
+
await I(n) && N("push");
|
|
772
|
+
}
|
|
776
773
|
async function de(n) {
|
|
777
774
|
await P(n) && N("push");
|
|
778
775
|
}
|
|
779
776
|
async function ue(n) {
|
|
780
|
-
await
|
|
777
|
+
await B(n) && N("replace");
|
|
781
778
|
}
|
|
782
779
|
async function fe(n) {
|
|
783
|
-
await G(n) && N("
|
|
780
|
+
await G(n) && N("push");
|
|
784
781
|
}
|
|
785
782
|
async function pe(n) {
|
|
786
|
-
await
|
|
787
|
-
|
|
788
|
-
async function ge(n) {
|
|
789
|
-
const i = await I(n);
|
|
790
|
-
return i === "closed" && a.replace(), i === "prevented";
|
|
783
|
+
const r = await L(n);
|
|
784
|
+
return r === "closed" && a.replace(), r === "prevented";
|
|
791
785
|
}
|
|
792
|
-
async function
|
|
793
|
-
await
|
|
786
|
+
async function Q(n) {
|
|
787
|
+
await X(n) && a.replace();
|
|
794
788
|
}
|
|
795
|
-
function
|
|
796
|
-
o.set(n,
|
|
789
|
+
function ge(n, r) {
|
|
790
|
+
o.set(n, r);
|
|
797
791
|
}
|
|
798
|
-
function
|
|
792
|
+
function J(n) {
|
|
799
793
|
o.delete(n);
|
|
800
794
|
}
|
|
801
|
-
function
|
|
795
|
+
function ee(n, r) {
|
|
802
796
|
const s = t.value.findIndex((E) => E.id === n);
|
|
803
797
|
if (s === -1) return;
|
|
804
798
|
const C = [...t.value];
|
|
805
|
-
C[s] = { ...C[s], error:
|
|
799
|
+
C[s] = { ...C[s], error: r }, t.value = C;
|
|
806
800
|
}
|
|
807
|
-
function
|
|
808
|
-
const
|
|
809
|
-
if (
|
|
801
|
+
function ve(n) {
|
|
802
|
+
const r = t.value.findIndex((C) => C.id === n);
|
|
803
|
+
if (r === -1) return;
|
|
810
804
|
const s = [...t.value];
|
|
811
|
-
s[
|
|
805
|
+
s[r] = { ...s[r], error: void 0 }, t.value = s;
|
|
812
806
|
}
|
|
813
|
-
function
|
|
807
|
+
function Ce(n, r) {
|
|
814
808
|
const s = t.value.findIndex((E) => E.id === n);
|
|
815
|
-
if (s === -1 || t.value[s].title ===
|
|
809
|
+
if (s === -1 || t.value[s].title === r) return;
|
|
816
810
|
const C = [...t.value];
|
|
817
|
-
C[s] = { ...C[s], title:
|
|
811
|
+
C[s] = { ...C[s], title: r }, t.value = C;
|
|
818
812
|
}
|
|
819
|
-
function
|
|
820
|
-
const
|
|
821
|
-
return
|
|
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) => ({
|
|
822
816
|
id: s.id,
|
|
823
817
|
title: s.title ?? s.name,
|
|
824
818
|
clickHandler: async (C) => {
|
|
825
|
-
await
|
|
819
|
+
await Q(C);
|
|
826
820
|
}
|
|
827
821
|
}));
|
|
828
822
|
}
|
|
829
|
-
function
|
|
830
|
-
const s = t.value.findIndex((
|
|
823
|
+
function T(n, r) {
|
|
824
|
+
const s = t.value.findIndex((K) => K.id === n);
|
|
831
825
|
if (s === -1) return;
|
|
832
826
|
const C = t.value[s].query ?? {}, E = { ...C };
|
|
833
|
-
for (const [
|
|
834
|
-
he === "" || he == null ? delete E[
|
|
827
|
+
for (const [K, he] of Object.entries(r))
|
|
828
|
+
he === "" || he == null ? delete E[K] : E[K] = he;
|
|
835
829
|
const S = Object.keys(C), $ = Object.keys(E);
|
|
836
|
-
if (S.length === $.length && $.every((
|
|
830
|
+
if (S.length === $.length && $.every((K) => C[K] === E[K]))
|
|
837
831
|
return;
|
|
838
832
|
const me = [...t.value];
|
|
839
833
|
me[s] = { ...me[s], query: E }, t.value = me;
|
|
840
834
|
}
|
|
841
|
-
function
|
|
842
|
-
let
|
|
843
|
-
return
|
|
835
|
+
function U(n) {
|
|
836
|
+
let r = g.get(n);
|
|
837
|
+
return r || (r = D(!1), g.set(n, r)), r;
|
|
844
838
|
}
|
|
845
|
-
function
|
|
839
|
+
function te(n) {
|
|
846
840
|
return g.get(n)?.value ?? !1;
|
|
847
841
|
}
|
|
848
|
-
function
|
|
849
|
-
|
|
842
|
+
function Ue(n, r) {
|
|
843
|
+
U(n).value = r;
|
|
850
844
|
}
|
|
851
|
-
function
|
|
852
|
-
const
|
|
853
|
-
|
|
845
|
+
function Ke(n) {
|
|
846
|
+
const r = U(n);
|
|
847
|
+
r.value = !r.value;
|
|
854
848
|
}
|
|
855
|
-
function
|
|
856
|
-
for (const
|
|
857
|
-
d(
|
|
849
|
+
function Ve(n) {
|
|
850
|
+
for (const r of t.value)
|
|
851
|
+
d(r.id);
|
|
858
852
|
t.value = n;
|
|
859
853
|
}
|
|
860
854
|
return {
|
|
861
855
|
workspace: h,
|
|
862
856
|
blades: v,
|
|
863
857
|
activeBlade: c,
|
|
864
|
-
openWorkspace:
|
|
865
|
-
openBlade:
|
|
866
|
-
closeBlade:
|
|
867
|
-
closeChildren:
|
|
868
|
-
replaceCurrentBlade:
|
|
869
|
-
coverCurrentBlade:
|
|
870
|
-
registerBeforeClose:
|
|
871
|
-
unregisterBeforeClose:
|
|
872
|
-
setBladeError:
|
|
873
|
-
clearBladeError:
|
|
874
|
-
setBladeTitle:
|
|
875
|
-
trailFor:
|
|
876
|
-
updateBladeQuery:
|
|
877
|
-
getMaximizedRef:
|
|
878
|
-
isMaximized:
|
|
879
|
-
setMaximized:
|
|
880
|
-
toggleMaximized:
|
|
881
|
-
_restoreStack:
|
|
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
|
|
882
876
|
};
|
|
883
877
|
}
|
|
884
|
-
function
|
|
878
|
+
function Rt() {
|
|
885
879
|
const e = M(Le);
|
|
886
880
|
if (!e)
|
|
887
881
|
throw new Error("[useBladeStack] BladeStack not found. Ensure BladeNavigationPlugin is installed.");
|
|
888
882
|
return e;
|
|
889
883
|
}
|
|
890
884
|
const W = Z("use-ai-agent");
|
|
891
|
-
function
|
|
892
|
-
const
|
|
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({
|
|
893
887
|
userGetter: () => {
|
|
894
888
|
if (a.value)
|
|
895
889
|
return {
|
|
@@ -909,7 +903,7 @@ function Ln(e) {
|
|
|
909
903
|
options: c.options
|
|
910
904
|
} : null;
|
|
911
905
|
},
|
|
912
|
-
localeGetter: () =>
|
|
906
|
+
localeGetter: () => i?.currentLocale.value ?? "en",
|
|
913
907
|
tokenGetter: t,
|
|
914
908
|
navigateToBlade: (c, d, u) => {
|
|
915
909
|
o({ name: c, param: d, options: u }).then(() => {
|
|
@@ -922,12 +916,12 @@ function Ln(e) {
|
|
|
922
916
|
isEmbedded: g
|
|
923
917
|
});
|
|
924
918
|
if (ke(be, h), W.debug("AiAgentService provided"), e?.addGlobalToolbarButton ?? !0) {
|
|
925
|
-
const c = M(
|
|
919
|
+
const c = M(ot, null);
|
|
926
920
|
c ? (c.registerToolbarItem(
|
|
927
921
|
{
|
|
928
|
-
id:
|
|
929
|
-
icon:
|
|
930
|
-
title:
|
|
922
|
+
id: dt,
|
|
923
|
+
icon: ut,
|
|
924
|
+
title: ft,
|
|
931
925
|
shortcut: q.mod.i,
|
|
932
926
|
clickHandler: () => {
|
|
933
927
|
h.togglePanel();
|
|
@@ -939,7 +933,7 @@ function Ln(e) {
|
|
|
939
933
|
}
|
|
940
934
|
return h;
|
|
941
935
|
}
|
|
942
|
-
function
|
|
936
|
+
function Ln() {
|
|
943
937
|
const e = M(be);
|
|
944
938
|
if (!e) {
|
|
945
939
|
W.error("AiAgentService not found. Did you forget to call provideAiAgentService()?");
|
|
@@ -966,7 +960,7 @@ function Dn() {
|
|
|
966
960
|
onMessage: e.onMessage
|
|
967
961
|
};
|
|
968
962
|
}
|
|
969
|
-
function
|
|
963
|
+
function Dn(e) {
|
|
970
964
|
return {
|
|
971
965
|
id: "ai-agent-toggle",
|
|
972
966
|
icon: e?.icon ?? "lucide-sparkles",
|
|
@@ -976,11 +970,11 @@ function Mn(e) {
|
|
|
976
970
|
}
|
|
977
971
|
};
|
|
978
972
|
}
|
|
979
|
-
const
|
|
973
|
+
const Gt = ["width", "height"], Ut = ["clip-path"], Kt = {
|
|
980
974
|
key: 1,
|
|
981
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",
|
|
982
976
|
fill: "url(#virto-oz-gradient-animated)"
|
|
983
|
-
},
|
|
977
|
+
}, Vt = ["id"], zt = {
|
|
984
978
|
key: 1,
|
|
985
979
|
id: "virto-oz-gradient-animated",
|
|
986
980
|
gradientUnits: "userSpaceOnUse",
|
|
@@ -996,7 +990,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
996
990
|
animated: { type: Boolean, default: !1 }
|
|
997
991
|
},
|
|
998
992
|
setup(e) {
|
|
999
|
-
const
|
|
993
|
+
const i = b(() => `virto-oz-clip-${Math.random().toString(36).substring(2, 11)}`);
|
|
1000
994
|
return (a, t) => (A(), k("svg", {
|
|
1001
995
|
width: e.width,
|
|
1002
996
|
height: e.height,
|
|
@@ -1009,9 +1003,9 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1009
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",
|
|
1010
1004
|
fill: "white"
|
|
1011
1005
|
}, null, -1)),
|
|
1012
|
-
e.animated ? (A(), k("path",
|
|
1006
|
+
e.animated ? (A(), k("path", Kt)) : (A(), k("g", {
|
|
1013
1007
|
key: 0,
|
|
1014
|
-
"clip-path": `url(#${
|
|
1008
|
+
"clip-path": `url(#${i.value})`
|
|
1015
1009
|
}, [...t[0] || (t[0] = [
|
|
1016
1010
|
x("g", { transform: "matrix(0 -0.161514 0.160417 0 49.1357 53.9479)" }, [
|
|
1017
1011
|
x("foreignObject", {
|
|
@@ -1034,7 +1028,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1034
1028
|
})
|
|
1035
1029
|
])
|
|
1036
1030
|
], -1)
|
|
1037
|
-
])], 8,
|
|
1031
|
+
])], 8, Ut)),
|
|
1038
1032
|
t[4] || (t[4] = x("path", {
|
|
1039
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",
|
|
1040
1034
|
fill: "white"
|
|
@@ -1063,70 +1057,70 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1063
1057
|
x("defs", null, [
|
|
1064
1058
|
e.animated ? H("", !0) : (A(), k("clipPath", {
|
|
1065
1059
|
key: 0,
|
|
1066
|
-
id:
|
|
1060
|
+
id: i.value
|
|
1067
1061
|
}, [...t[1] || (t[1] = [
|
|
1068
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)
|
|
1069
|
-
])], 8,
|
|
1070
|
-
e.animated ? (A(), k("linearGradient",
|
|
1071
|
-
|
|
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)
|
|
1072
1066
|
])])) : H("", !0)
|
|
1073
1067
|
])
|
|
1074
|
-
], 8,
|
|
1068
|
+
], 8, Gt));
|
|
1075
1069
|
}
|
|
1076
|
-
}),
|
|
1070
|
+
}), Wt = { class: "vc-shortcut-kbd" }, qt = {
|
|
1077
1071
|
key: 0,
|
|
1078
1072
|
class: "vc-shortcut-kbd__plus"
|
|
1079
|
-
},
|
|
1073
|
+
}, Ht = { class: "vc-shortcut-kbd__key" }, Zt = /* @__PURE__ */ R({
|
|
1080
1074
|
__name: "shortcut-kbd",
|
|
1081
1075
|
props: {
|
|
1082
1076
|
parts: {},
|
|
1083
1077
|
separated: { type: Boolean, default: !1 }
|
|
1084
1078
|
},
|
|
1085
1079
|
setup(e) {
|
|
1086
|
-
return (
|
|
1080
|
+
return (i, a) => (A(), k("span", Wt, [
|
|
1087
1081
|
(A(!0), k(Ee, null, Se(e.parts, (t, o) => (A(), k(Ee, { key: o }, [
|
|
1088
|
-
e.separated && o > 0 ? (A(), k("span",
|
|
1089
|
-
x("kbd",
|
|
1082
|
+
e.separated && o > 0 ? (A(), k("span", qt, "+")) : H("", !0),
|
|
1083
|
+
x("kbd", Ht, le(t), 1)
|
|
1090
1084
|
], 64))), 128))
|
|
1091
1085
|
]));
|
|
1092
1086
|
}
|
|
1093
|
-
}),
|
|
1087
|
+
}), Xt = { class: "tw-inline-flex tw-items-center tw-gap-2" }, Yt = 500, jt = /* @__PURE__ */ R({
|
|
1094
1088
|
__name: "shortcut-tooltip",
|
|
1095
1089
|
props: {
|
|
1096
1090
|
shortcut: {},
|
|
1097
1091
|
label: {}
|
|
1098
1092
|
},
|
|
1099
1093
|
setup(e) {
|
|
1100
|
-
const
|
|
1101
|
-
return (o, l) => (A(), ce(
|
|
1094
|
+
const i = e, { isMac: a } = Ne(), t = b(() => Fe(i.shortcut, a));
|
|
1095
|
+
return (o, l) => (A(), ce(V(rt), {
|
|
1102
1096
|
placement: "bottom",
|
|
1103
|
-
delay:
|
|
1097
|
+
delay: Yt
|
|
1104
1098
|
}, {
|
|
1105
|
-
tooltip:
|
|
1106
|
-
x("span",
|
|
1107
|
-
|
|
1108
|
-
F(
|
|
1099
|
+
tooltip: j(() => [
|
|
1100
|
+
x("span", Xt, [
|
|
1101
|
+
Ze(le(e.label) + " ", 1),
|
|
1102
|
+
F(V(Zt), {
|
|
1109
1103
|
parts: t.value.parts,
|
|
1110
|
-
separated: !
|
|
1104
|
+
separated: !V(a)
|
|
1111
1105
|
}, null, 8, ["parts", "separated"])
|
|
1112
1106
|
])
|
|
1113
1107
|
]),
|
|
1114
|
-
default:
|
|
1115
|
-
|
|
1108
|
+
default: j(() => [
|
|
1109
|
+
He(o.$slots, "default", {
|
|
1116
1110
|
aria: t.value.aria
|
|
1117
1111
|
})
|
|
1118
1112
|
]),
|
|
1119
1113
|
_: 3
|
|
1120
1114
|
}));
|
|
1121
1115
|
}
|
|
1122
|
-
}),
|
|
1116
|
+
}), Qt = ["data-blade-expand-control", "aria-label", "aria-keyshortcuts", "onClick", "onKeydown"], Jt = /* @__PURE__ */ R({
|
|
1123
1117
|
__name: "header-controls",
|
|
1124
1118
|
props: {
|
|
1125
1119
|
maximized: { type: Boolean }
|
|
1126
1120
|
},
|
|
1127
1121
|
emits: ["expand", "collapse", "close"],
|
|
1128
|
-
setup(e, { emit:
|
|
1129
|
-
const a = e, t =
|
|
1122
|
+
setup(e, { emit: i }) {
|
|
1123
|
+
const a = e, t = i, { t: o } = lt(), l = b(() => [
|
|
1130
1124
|
a.maximized ? {
|
|
1131
1125
|
key: "collapse",
|
|
1132
1126
|
activate: () => t("collapse"),
|
|
@@ -1153,7 +1147,7 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1153
1147
|
f.value?.querySelector("[data-blade-expand-control]")?.focus();
|
|
1154
1148
|
});
|
|
1155
1149
|
}
|
|
1156
|
-
return
|
|
1150
|
+
return z(
|
|
1157
1151
|
() => a.maximized,
|
|
1158
1152
|
() => g()
|
|
1159
1153
|
), (h, v) => (A(), k("div", {
|
|
@@ -1161,12 +1155,12 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1161
1155
|
ref: f,
|
|
1162
1156
|
class: "vc-blade-header__controls"
|
|
1163
1157
|
}, [
|
|
1164
|
-
(A(!0), k(Ee, null, Se(l.value, (c) => (A(), ce(
|
|
1158
|
+
(A(!0), k(Ee, null, Se(l.value, (c) => (A(), ce(V(jt), {
|
|
1165
1159
|
key: c.key,
|
|
1166
1160
|
shortcut: c.shortcut,
|
|
1167
1161
|
label: c.label
|
|
1168
1162
|
}, {
|
|
1169
|
-
default:
|
|
1163
|
+
default: j(({ aria: d }) => [
|
|
1170
1164
|
x("div", {
|
|
1171
1165
|
class: "vc-blade-header__button",
|
|
1172
1166
|
role: "button",
|
|
@@ -1180,16 +1174,16 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1180
1174
|
we(Ae(c.activate, ["prevent"]), ["space"])
|
|
1181
1175
|
]
|
|
1182
1176
|
}, [
|
|
1183
|
-
F(
|
|
1177
|
+
F(V(De), {
|
|
1184
1178
|
icon: c.icon
|
|
1185
1179
|
}, null, 8, ["icon"])
|
|
1186
|
-
], 40,
|
|
1180
|
+
], 40, Qt)
|
|
1187
1181
|
]),
|
|
1188
1182
|
_: 2
|
|
1189
1183
|
}, 1032, ["shortcut", "label"]))), 128))
|
|
1190
1184
|
], 512));
|
|
1191
1185
|
}
|
|
1192
|
-
}),
|
|
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({
|
|
1193
1187
|
__name: "VcAiAgentHeader",
|
|
1194
1188
|
props: {
|
|
1195
1189
|
title: {},
|
|
@@ -1198,61 +1192,61 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1198
1192
|
},
|
|
1199
1193
|
emits: ["close", "expand", "collapse"],
|
|
1200
1194
|
setup(e) {
|
|
1201
|
-
return (
|
|
1202
|
-
x("div",
|
|
1195
|
+
return (i, a) => (A(), k("div", en, [
|
|
1196
|
+
x("div", tn, [
|
|
1203
1197
|
F(Ge, {
|
|
1204
1198
|
width: 22,
|
|
1205
1199
|
height: 24,
|
|
1206
1200
|
"show-dots": ""
|
|
1207
1201
|
})
|
|
1208
1202
|
]),
|
|
1209
|
-
x("div",
|
|
1210
|
-
x("div",
|
|
1211
|
-
x("div",
|
|
1203
|
+
x("div", nn, [
|
|
1204
|
+
x("div", an, [
|
|
1205
|
+
x("div", on, le(e.title), 1)
|
|
1212
1206
|
])
|
|
1213
1207
|
]),
|
|
1214
|
-
F(
|
|
1208
|
+
F(V(Jt), {
|
|
1215
1209
|
maximized: e.isExpanded,
|
|
1216
|
-
onExpand: a[0] || (a[0] = (t) =>
|
|
1217
|
-
onCollapse: a[1] || (a[1] = (t) =>
|
|
1218
|
-
onClose: a[2] || (a[2] = (t) =>
|
|
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"))
|
|
1219
1213
|
}, null, 8, ["maximized"])
|
|
1220
1214
|
]));
|
|
1221
1215
|
}
|
|
1222
|
-
}),
|
|
1216
|
+
}), sn = { class: "vc-ai-agent-loader" }, ln = { class: "vc-ai-agent-loader__content" }, cn = { class: "vc-ai-agent-loader__logo" }, dn = {
|
|
1223
1217
|
key: 0,
|
|
1224
1218
|
class: "vc-ai-agent-loader__text"
|
|
1225
|
-
},
|
|
1219
|
+
}, un = /* @__PURE__ */ R({
|
|
1226
1220
|
__name: "VcAiAgentLoader",
|
|
1227
1221
|
props: {
|
|
1228
1222
|
text: {}
|
|
1229
1223
|
},
|
|
1230
1224
|
setup(e) {
|
|
1231
|
-
return (
|
|
1232
|
-
x("div",
|
|
1233
|
-
x("div",
|
|
1225
|
+
return (i, a) => (A(), k("div", sn, [
|
|
1226
|
+
x("div", ln, [
|
|
1227
|
+
x("div", cn, [
|
|
1234
1228
|
F(Ge, {
|
|
1235
1229
|
width: 80,
|
|
1236
1230
|
height: 87,
|
|
1237
1231
|
animated: ""
|
|
1238
1232
|
})
|
|
1239
1233
|
]),
|
|
1240
|
-
e.text ? (A(), k("p",
|
|
1234
|
+
e.text ? (A(), k("p", dn, le(e.text), 1)) : H("", !0)
|
|
1241
1235
|
])
|
|
1242
1236
|
]));
|
|
1243
1237
|
}
|
|
1244
|
-
}),
|
|
1238
|
+
}), fn = { class: "vc-ai-agent-iframe" }, pn = ["src"], gn = {
|
|
1245
1239
|
key: 1,
|
|
1246
1240
|
class: "vc-ai-agent-iframe__placeholder"
|
|
1247
|
-
},
|
|
1241
|
+
}, vn = /* @__PURE__ */ R({
|
|
1248
1242
|
__name: "VcAiAgentIframe",
|
|
1249
1243
|
props: {
|
|
1250
1244
|
url: {}
|
|
1251
1245
|
},
|
|
1252
1246
|
emits: ["iframe-ready"],
|
|
1253
|
-
setup(e, { emit:
|
|
1254
|
-
const a = Z("ai-agent-iframe"), t = e, o =
|
|
1255
|
-
|
|
1247
|
+
setup(e, { emit: i }) {
|
|
1248
|
+
const a = Z("ai-agent-iframe"), t = e, o = i, l = D(null), f = D(!0);
|
|
1249
|
+
z(
|
|
1256
1250
|
l,
|
|
1257
1251
|
(h) => {
|
|
1258
1252
|
h && o("iframe-ready", h);
|
|
@@ -1262,15 +1256,15 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1262
1256
|
const g = () => {
|
|
1263
1257
|
f.value = !1, a.debug("Iframe loaded");
|
|
1264
1258
|
};
|
|
1265
|
-
return
|
|
1259
|
+
return z(
|
|
1266
1260
|
() => t.url,
|
|
1267
1261
|
() => {
|
|
1268
1262
|
f.value = !0;
|
|
1269
1263
|
}
|
|
1270
|
-
), (h, v) => (A(), k("div",
|
|
1264
|
+
), (h, v) => (A(), k("div", fn, [
|
|
1271
1265
|
F(Oe, { name: "fade" }, {
|
|
1272
|
-
default:
|
|
1273
|
-
f.value && e.url ? (A(), ce(
|
|
1266
|
+
default: j(() => [
|
|
1267
|
+
f.value && e.url ? (A(), ce(un, {
|
|
1274
1268
|
key: 0,
|
|
1275
1269
|
text: h.$t("AI_AGENT.LOADING")
|
|
1276
1270
|
}, null, 8, ["text"])) : H("", !0)
|
|
@@ -1286,8 +1280,8 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1286
1280
|
sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox",
|
|
1287
1281
|
allow: "clipboard-read; clipboard-write",
|
|
1288
1282
|
onLoad: g
|
|
1289
|
-
}, null, 42,
|
|
1290
|
-
F(
|
|
1283
|
+
}, null, 42, pn)) : (A(), k("div", gn, [
|
|
1284
|
+
F(V(De), {
|
|
1291
1285
|
icon: "lucide-sparkles",
|
|
1292
1286
|
size: "xl",
|
|
1293
1287
|
class: "vc-ai-agent-iframe__placeholder-icon"
|
|
@@ -1296,26 +1290,26 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1296
1290
|
]))
|
|
1297
1291
|
]));
|
|
1298
1292
|
}
|
|
1299
|
-
}),
|
|
1293
|
+
}), Cn = ["inert"], mn = { class: "vc-ai-agent-panel__content" }, Mn = /* @__PURE__ */ R({
|
|
1300
1294
|
__name: "VcAiAgentPanel",
|
|
1301
1295
|
props: {
|
|
1302
1296
|
inert: { type: Boolean }
|
|
1303
1297
|
},
|
|
1304
1298
|
setup(e) {
|
|
1305
|
-
const { isMac:
|
|
1299
|
+
const { isMac: i } = Ne(), a = M(be), t = M(it, !1);
|
|
1306
1300
|
a || console.error("[VcAiAgentPanel] AiAgentService not provided");
|
|
1307
1301
|
const o = b(
|
|
1308
1302
|
() => a?.config.value ?? { url: "", title: "AI Assistant", width: 362, expandedWidth: 500 }
|
|
1309
1303
|
), l = b(() => !t && (a?.isOpen.value ?? !1)), f = b(() => a?.isExpanded.value ?? !1), g = b(() => a?.totalItemsCount.value ?? 0), h = b(() => ({
|
|
1310
1304
|
width: f.value ? `${o.value.expandedWidth ?? 500}px` : `${o.value.width ?? 362}px`
|
|
1311
1305
|
})), v = () => a?.closePanel(), c = () => a?.expandPanel(), d = () => a?.collapsePanel(), u = D(null);
|
|
1312
|
-
|
|
1306
|
+
st(document, "keydown", (p) => {
|
|
1313
1307
|
if (l.value && !p.isComposing && !p.defaultPrevented) {
|
|
1314
1308
|
if (p.key === "Escape") {
|
|
1315
1309
|
p.preventDefault(), v();
|
|
1316
1310
|
return;
|
|
1317
1311
|
}
|
|
1318
|
-
if (
|
|
1312
|
+
if (Bt(q.mod.backslash, p, i)) {
|
|
1319
1313
|
const _ = document.activeElement;
|
|
1320
1314
|
if (!_ || !u.value?.contains(_)) return;
|
|
1321
1315
|
p.preventDefault(), f.value ? d() : c();
|
|
@@ -1325,10 +1319,10 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1325
1319
|
const w = (p) => {
|
|
1326
1320
|
a?._setIframeRef(p);
|
|
1327
1321
|
};
|
|
1328
|
-
return
|
|
1322
|
+
return Xe(() => {
|
|
1329
1323
|
a?._setIframeRef(null);
|
|
1330
1324
|
}), (p, _) => (A(), ce(Oe, { name: "ai-panel-slide" }, {
|
|
1331
|
-
default:
|
|
1325
|
+
default: j(() => [
|
|
1332
1326
|
l.value ? (A(), k("div", {
|
|
1333
1327
|
key: 0,
|
|
1334
1328
|
ref_key: "panelRef",
|
|
@@ -1336,10 +1330,10 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1336
1330
|
class: Pe(["vc-ai-agent-panel", {
|
|
1337
1331
|
"vc-ai-agent-panel--expanded": f.value
|
|
1338
1332
|
}]),
|
|
1339
|
-
style:
|
|
1333
|
+
style: Ye(h.value),
|
|
1340
1334
|
inert: e.inert || void 0
|
|
1341
1335
|
}, [
|
|
1342
|
-
F(
|
|
1336
|
+
F(rn, {
|
|
1343
1337
|
title: o.value.title,
|
|
1344
1338
|
"is-expanded": f.value,
|
|
1345
1339
|
"items-count": g.value,
|
|
@@ -1347,46 +1341,46 @@ const Ut = ["width", "height"], Kt = ["clip-path"], Vt = {
|
|
|
1347
1341
|
onExpand: c,
|
|
1348
1342
|
onCollapse: d
|
|
1349
1343
|
}, null, 8, ["title", "is-expanded", "items-count"]),
|
|
1350
|
-
x("div",
|
|
1351
|
-
F(
|
|
1344
|
+
x("div", mn, [
|
|
1345
|
+
F(vn, {
|
|
1352
1346
|
url: o.value.url,
|
|
1353
1347
|
onIframeReady: w
|
|
1354
1348
|
}, null, 8, ["url"])
|
|
1355
1349
|
])
|
|
1356
|
-
], 14,
|
|
1350
|
+
], 14, Cn)) : H("", !0)
|
|
1357
1351
|
]),
|
|
1358
1352
|
_: 1
|
|
1359
1353
|
}));
|
|
1360
1354
|
}
|
|
1361
1355
|
});
|
|
1362
1356
|
export {
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
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,
|
|
1375
1369
|
$e as h,
|
|
1376
|
-
|
|
1370
|
+
St as i,
|
|
1377
1371
|
Re as j,
|
|
1378
|
-
|
|
1379
|
-
|
|
1372
|
+
At as k,
|
|
1373
|
+
yt as l,
|
|
1380
1374
|
Fe as m,
|
|
1381
1375
|
q as n,
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1376
|
+
Bn as o,
|
|
1377
|
+
Bt as p,
|
|
1378
|
+
Rt as q,
|
|
1379
|
+
Tt as r,
|
|
1380
|
+
Tn as s,
|
|
1387
1381
|
Ne as t,
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1382
|
+
Ln as u,
|
|
1383
|
+
Jt as v,
|
|
1384
|
+
jt as w,
|
|
1385
|
+
Pn as x
|
|
1392
1386
|
};
|