pptx-svelte-viewer 2.13.2 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/AiChatPanel-BBqThoD3.js +1269 -0
  3. package/dist/{export-Oh-2dcFv.js → export-CC1FYy31.js} +35853 -28563
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.d.ts +104 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +24 -19
  8. package/dist/pptx-svelte-viewer.css +1 -1
  9. package/dist/{translator-DqUAMimH.js → translator-CUlfH48o.js} +73 -2
  10. package/dist/viewer/ai/ai-chat-history.svelte.d.ts +32 -0
  11. package/dist/viewer/ai/ai-chat-history.svelte.d.ts.map +1 -0
  12. package/dist/viewer/ai/chat.svelte.d.ts +2 -0
  13. package/dist/viewer/ai/chat.svelte.d.ts.map +1 -1
  14. package/dist/viewer/collab/collaboration-presence.svelte.d.ts.map +1 -1
  15. package/dist/viewer/components/props-elements.d.ts +9 -0
  16. package/dist/viewer/components/props-elements.d.ts.map +1 -1
  17. package/dist/viewer/components/props-stage.d.ts +14 -1
  18. package/dist/viewer/components/props-stage.d.ts.map +1 -1
  19. package/dist/viewer/components/viewer-body-props.d.ts +9 -3
  20. package/dist/viewer/components/viewer-body-props.d.ts.map +1 -1
  21. package/dist/viewer/editor/editor-insert-chart.d.ts +7 -3
  22. package/dist/viewer/editor/editor-insert-chart.d.ts.map +1 -1
  23. package/dist/viewer/editor/editor-slide-ops.d.ts +11 -0
  24. package/dist/viewer/editor/editor-slide-ops.d.ts.map +1 -1
  25. package/dist/viewer/editor/editor-slides-controller.d.ts +10 -0
  26. package/dist/viewer/editor/editor-slides-controller.d.ts.map +1 -1
  27. package/dist/viewer/export/export-controller.svelte.d.ts +11 -1
  28. package/dist/viewer/export/export-controller.svelte.d.ts.map +1 -1
  29. package/dist/viewer/export/export-ui.svelte.d.ts +5 -0
  30. package/dist/viewer/export/export-ui.svelte.d.ts.map +1 -1
  31. package/dist/viewer/export/export-wiring.svelte.d.ts +5 -1
  32. package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -1
  33. package/dist/viewer/index.d.ts +103 -4
  34. package/dist/viewer/index.js +15 -15
  35. package/dist/viewer/render/chart-view.d.ts +8 -2
  36. package/dist/viewer/render/chart-view.d.ts.map +1 -1
  37. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts +2 -0
  38. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts.map +1 -1
  39. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  40. package/dist/viewer/state/deck-export-data.d.ts +11 -0
  41. package/dist/viewer/state/deck-export-data.d.ts.map +1 -0
  42. package/dist/viewer/state/render-context.d.ts +10 -1
  43. package/dist/viewer/state/render-context.d.ts.map +1 -1
  44. package/dist/viewer/state/viewer-state.svelte.d.ts +4 -2
  45. package/dist/viewer/state/viewer-state.svelte.d.ts.map +1 -1
  46. package/dist/viewer/state/viewer-store.svelte.d.ts +12 -0
  47. package/dist/viewer/state/viewer-store.svelte.d.ts.map +1 -0
  48. package/dist/viewer/style/element-style.d.ts.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/AiChatPanel-DhIVPoPf.js +0 -1109
  51. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts +0 -23
  52. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts.map +0 -1
  53. package/dist/viewer/ai/ai-history-persist.d.ts +0 -13
  54. package/dist/viewer/ai/ai-history-persist.d.ts.map +0 -1
@@ -1,1109 +0,0 @@
1
- import { A as G, C as Q, E as Y, F as U, I as $, L as j, M as ee, N as te, P as se, R as F, S as ae, T as ie, _ as re, b as le, h as ne, j as Z, m as oe, p as ce, v as pe, w as de, x as ve, y as ue } from "./export-Oh-2dcFv.js";
2
- import "svelte/internal/disclose-version";
3
- import * as e from "svelte/internal/client";
4
- import { onMount as he, untrack as V } from "svelte";
5
- var ge = /* @__PURE__ */ new Set([
6
- "$$slots",
7
- "$$events",
8
- "$$legacy"
9
- ]);
10
- function J(a, t) {
11
- let s = e.rest_props(t, ge);
12
- const i = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }]];
13
- j(a, e.spread_props({ name: "loader-circle" }, () => s, { get iconNode() {
14
- return i;
15
- } }));
16
- }
17
- var _e = /* @__PURE__ */ new Set([
18
- "$$slots",
19
- "$$events",
20
- "$$legacy"
21
- ]);
22
- function O(a, t) {
23
- let s = e.rest_props(t, _e);
24
- const i = [
25
- ["path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }],
26
- ["path", { d: "M12 9v4" }],
27
- ["path", { d: "M12 17h.01" }]
28
- ];
29
- j(a, e.spread_props({ name: "triangle-alert" }, () => s, { get iconNode() {
30
- return i;
31
- } }));
32
- }
33
- var R = 40;
34
- function fe() {
35
- return `chat-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
36
- }
37
- function xe(a) {
38
- const t = a.getDeckMeta();
39
- return `${(t.title ?? "deck").trim().toLowerCase().replace(/\s+/gu, "-").slice(0, 60) || "deck"}::${t.slideCount}`;
40
- }
41
- function me(a) {
42
- for (const t of a) {
43
- if (t.role !== "user") continue;
44
- const s = t.parts.filter((i) => i.type === "text").map((i) => i.text).join(" ").trim();
45
- if (s) return s.length > R ? `${s.slice(0, R).trimEnd()}…` : s;
46
- }
47
- return "";
48
- }
49
- var be = 800;
50
- function ye(a) {
51
- const t = V(() => ue()), s = V(() => xe(a.bridge)), i = V(() => fe()), r = Date.now();
52
- let p;
53
- e.user_effect(() => {
54
- const m = a.getMessages();
55
- if (m.length !== 0)
56
- return clearTimeout(p), p = setTimeout(() => {
57
- t.saveChat({
58
- id: i,
59
- title: me(m) || a.getUntitledLabel(),
60
- deckId: s,
61
- messages: m,
62
- createdAt: r,
63
- updatedAt: Date.now()
64
- });
65
- }, be), () => clearTimeout(p);
66
- });
67
- }
68
- var ke = class {
69
- #a = e.state("checking");
70
- get initState() {
71
- return e.get(this.#a);
72
- }
73
- set initState(a) {
74
- e.set(this.#a, a, !0);
75
- }
76
- #i = e.state(void 0);
77
- get initError() {
78
- return e.get(this.#i);
79
- }
80
- set initError(a) {
81
- e.set(this.#i, a, !0);
82
- }
83
- #r = e.state(e.proxy([]));
84
- get proposals() {
85
- return e.get(this.#r);
86
- }
87
- set proposals(a) {
88
- e.set(this.#r, a, !0);
89
- }
90
- #e = e.state(void 0);
91
- #s = e.state(void 0);
92
- #t;
93
- constructor(a) {
94
- this.#t = a;
95
- }
96
- get messages() {
97
- return e.get(this.#e)?.messages ?? [];
98
- }
99
- get status() {
100
- return e.get(this.#e)?.status ?? "ready";
101
- }
102
- get error() {
103
- return e.get(this.#e)?.error;
104
- }
105
- get isStreaming() {
106
- return this.status === "submitted" || this.status === "streaming";
107
- }
108
- get session() {
109
- return e.get(this.#s);
110
- }
111
- async init() {
112
- this.initState = "checking", this.initError = void 0;
113
- try {
114
- if (!await (this.#t.checkAvailable ?? ae)()) {
115
- this.initState = "unavailable";
116
- return;
117
- }
118
- const a = await (this.#t.createSession ?? pe)(this.#t.bridge, this.#t.config);
119
- e.set(this.#s, a);
120
- const { Chat: t } = await import("@ai-sdk/svelte");
121
- e.set(this.#e, new t({
122
- transport: a.transport,
123
- sendAutomaticallyWhen: a.sendAutomaticallyWhen,
124
- onError: (s) => this.#t.config.onError?.(s),
125
- onToolCall: async ({ toolCall: s }) => {
126
- const { toolName: i, toolCallId: r, input: p } = s, m = e.get(this.#e);
127
- if (!m) return;
128
- this.#t.onToolTarget?.(ie(i, p));
129
- const b = m.addToolOutput;
130
- try {
131
- b({
132
- tool: i,
133
- toolCallId: r,
134
- output: await a.executeToolCall(i, p)
135
- });
136
- } catch (f) {
137
- b({
138
- tool: i,
139
- toolCallId: r,
140
- state: "output-error",
141
- errorText: f instanceof Error ? f.message : String(f)
142
- });
143
- }
144
- this.refreshProposals();
145
- }
146
- })), this.initState = "ready";
147
- } catch (a) {
148
- this.initError = a instanceof Error ? a : new Error(String(a)), this.initState = "error";
149
- }
150
- }
151
- send(a) {
152
- const t = a.trim();
153
- t.length === 0 || !e.get(this.#e) || e.get(this.#e).sendMessage({ text: t });
154
- }
155
- stop() {
156
- e.get(this.#e)?.stop();
157
- }
158
- clearError() {
159
- e.get(this.#e)?.clearError();
160
- }
161
- refreshProposals() {
162
- this.proposals = e.get(this.#s)?.proposals.list() ?? [];
163
- }
164
- applyProposal(a) {
165
- e.get(this.#s)?.proposals.apply(a), this.refreshProposals();
166
- }
167
- rejectProposal(a) {
168
- e.get(this.#s)?.proposals.revert(a), this.refreshProposals();
169
- }
170
- acceptAllProposals() {
171
- e.get(this.#s)?.proposals.acceptAll(), this.refreshProposals();
172
- }
173
- }, Se = /* @__PURE__ */ new Set([
174
- "$$slots",
175
- "$$events",
176
- "$$legacy"
177
- ]);
178
- function we(a, t) {
179
- let s = e.rest_props(t, Se);
180
- const i = [["path", { d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z" }], ["path", { d: "m21.854 2.147-10.94 10.939" }]];
181
- j(a, e.spread_props({ name: "send" }, () => s, { get iconNode() {
182
- return i;
183
- } }));
184
- }
185
- var Pe = /* @__PURE__ */ new Set([
186
- "$$slots",
187
- "$$events",
188
- "$$legacy"
189
- ]);
190
- function Me(a, t) {
191
- let s = e.rest_props(t, Pe);
192
- const i = [["rect", {
193
- width: "18",
194
- height: "18",
195
- x: "3",
196
- y: "3",
197
- rx: "2"
198
- }]];
199
- j(a, e.spread_props({ name: "square" }, () => s, { get iconNode() {
200
- return i;
201
- } }));
202
- }
203
- var Ne = e.from_html('<button type="button" class="pptx-svelte-ai-send svelte-1tm1p3e"><!></button>'), Te = e.from_html('<button type="button"><!></button>'), je = e.from_html('<div class="pptx-svelte-ai-composer svelte-1tm1p3e"><div class="pptx-svelte-ai-composer-box svelte-1tm1p3e"><textarea class="pptx-svelte-ai-input svelte-1tm1p3e" rows="1"></textarea> <!></div></div>');
204
- function qe(a, t) {
205
- e.push(t, !0);
206
- const s = e.prop(t, "prefillText", 3, ""), i = e.prop(t, "prefillNonce", 3, 0), r = F();
207
- let p = e.state("");
208
- const m = e.derived(() => e.get(p).trim().length > 0);
209
- let b = e.state(void 0), f = 0;
210
- e.user_effect(() => {
211
- i() !== f && (f = i(), s() && e.set(p, s()), e.get(b)?.focus());
212
- });
213
- function S() {
214
- const l = e.get(p).trim();
215
- l.length === 0 || t.isStreaming || (t.onsend(l), e.set(p, ""));
216
- }
217
- function d(l) {
218
- l.key === "Enter" && !l.shiftKey && (l.preventDefault(), S());
219
- }
220
- var u = je(), h = e.child(u), x = e.child(h);
221
- e.remove_textarea_child(x), e.bind_this(x, (l) => e.set(b, l), () => e.get(b));
222
- var w = e.sibling(x, 2), y = (l) => {
223
- var n = Ne();
224
- Me(e.child(n), {
225
- size: 16,
226
- "aria-hidden": "true"
227
- }), e.reset(n), e.template_effect((k, P) => {
228
- e.set_attribute(n, "title", k), e.set_attribute(n, "aria-label", P);
229
- }, [() => r("pptx.ai.stop"), () => r("pptx.ai.stop")]), e.delegated("click", n, function(...k) {
230
- t.onstop?.apply(this, k);
231
- }), e.append(l, n);
232
- }, M = (l) => {
233
- var n = Te();
234
- let k;
235
- we(e.child(n), {
236
- size: 16,
237
- "aria-hidden": "true"
238
- }), e.reset(n), e.template_effect((P, q) => {
239
- k = e.set_class(n, 1, "pptx-svelte-ai-send svelte-1tm1p3e", null, k, { "is-ready": e.get(m) }), n.disabled = !e.get(m), e.set_attribute(n, "title", P), e.set_attribute(n, "aria-label", q);
240
- }, [() => r("pptx.ai.send"), () => r("pptx.ai.send")]), e.delegated("click", n, S), e.append(l, n);
241
- };
242
- e.if(w, (l) => {
243
- t.isStreaming ? l(y) : l(M, -1);
244
- }), e.reset(h), e.reset(u), e.template_effect((l, n) => {
245
- e.set_attribute(x, "placeholder", l), e.set_attribute(x, "aria-label", n);
246
- }, [() => r("pptx.ai.placeholder"), () => r("pptx.ai.placeholder")]), e.delegated("keydown", x, d), e.bind_value(x, () => e.get(p), (l) => e.set(p, l)), e.append(a, u), e.pop();
247
- }
248
- e.delegate(["keydown", "click"]);
249
- var Ce = e.from_html('<div class="pptx-svelte-ai-error svelte-1vkckow" role="alert"><!> <div class="pptx-svelte-ai-error-body svelte-1vkckow"><div class="pptx-svelte-ai-error-title svelte-1vkckow"> </div> <div class="pptx-svelte-ai-error-msg svelte-1vkckow"> </div></div> <button type="button" class="pptx-svelte-ai-error-retry svelte-1vkckow"> </button></div>');
250
- function Ae(a, t) {
251
- e.push(t, !0);
252
- const s = F();
253
- var i = Ce(), r = e.child(i);
254
- O(r, {
255
- size: 14,
256
- "aria-hidden": "true"
257
- });
258
- var p = e.sibling(r, 2), m = e.child(p), b = e.child(m, !0);
259
- e.reset(m);
260
- var f = e.sibling(m, 2), S = e.child(f, !0);
261
- e.reset(f), e.reset(p);
262
- var d = e.sibling(p, 2), u = e.child(d, !0);
263
- e.reset(d), e.reset(i), e.template_effect((h, x) => {
264
- e.set_text(b, h), e.set_attribute(f, "title", t.message), e.set_text(S, t.message), e.set_text(u, x);
265
- }, [() => s("pptx.ai.errorPrefix"), () => s("pptx.ai.retry")]), e.delegated("click", d, function(...h) {
266
- t.onretry?.apply(this, h);
267
- }), e.append(a, i), e.pop();
268
- }
269
- e.delegate(["click"]);
270
- var ze = /* @__PURE__ */ new Set([
271
- "$$slots",
272
- "$$events",
273
- "$$legacy"
274
- ]);
275
- function W(a, t) {
276
- let s = e.rest_props(t, ze);
277
- const i = [
278
- ["circle", {
279
- cx: "12",
280
- cy: "12",
281
- r: "10"
282
- }],
283
- ["line", {
284
- x1: "22",
285
- x2: "18",
286
- y1: "12",
287
- y2: "12"
288
- }],
289
- ["line", {
290
- x1: "6",
291
- x2: "2",
292
- y1: "12",
293
- y2: "12"
294
- }],
295
- ["line", {
296
- x1: "12",
297
- x2: "12",
298
- y1: "6",
299
- y2: "2"
300
- }],
301
- ["line", {
302
- x1: "12",
303
- x2: "12",
304
- y1: "22",
305
- y2: "18"
306
- }]
307
- ];
308
- j(a, e.spread_props({ name: "crosshair" }, () => s, { get iconNode() {
309
- return i;
310
- } }));
311
- }
312
- var Ee = /* @__PURE__ */ new Set([
313
- "$$slots",
314
- "$$events",
315
- "$$legacy"
316
- ]);
317
- function Ie(a, t) {
318
- let s = e.rest_props(t, Ee);
319
- const i = [
320
- ["circle", {
321
- cx: "18",
322
- cy: "18",
323
- r: "3"
324
- }],
325
- ["circle", {
326
- cx: "6",
327
- cy: "6",
328
- r: "3"
329
- }],
330
- ["path", { d: "M6 21V9a9 9 0 0 0 9 9" }]
331
- ];
332
- j(a, e.spread_props({ name: "git-merge" }, () => s, { get iconNode() {
333
- return i;
334
- } }));
335
- }
336
- var Fe = /* @__PURE__ */ new Set([
337
- "$$slots",
338
- "$$events",
339
- "$$legacy"
340
- ]);
341
- function Le(a, t) {
342
- let s = e.rest_props(t, Fe);
343
- const i = [["path", { d: "M12 17v5" }], ["path", { d: "M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z" }]];
344
- j(a, e.spread_props({ name: "pin" }, () => s, { get iconNode() {
345
- return i;
346
- } }));
347
- }
348
- var De = /* @__PURE__ */ new Set([
349
- "$$slots",
350
- "$$events",
351
- "$$legacy"
352
- ]);
353
- function Ve(a, t) {
354
- let s = e.rest_props(t, De);
355
- const i = [
356
- ["path", { d: "M12 17v5" }],
357
- ["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89" }],
358
- ["path", { d: "m2 2 20 20" }],
359
- ["path", { d: "M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11" }]
360
- ];
361
- j(a, e.spread_props({ name: "pin-off" }, () => s, { get iconNode() {
362
- return i;
363
- } }));
364
- }
365
- var He = e.from_html('<span><span class="pptx-svelte-ai-focus-chip-label svelte-kjj0i7"> </span></span>'), Be = e.from_html('<span class="pptx-svelte-ai-focus-pinned svelte-kjj0i7"> </span>'), Ue = e.from_html('<button type="button" class="pptx-svelte-ai-focus-merge svelte-kjj0i7"><!> </button>'), K = e.from_html('<button type="button" class="pptx-svelte-ai-focus-btn svelte-kjj0i7"><!></button>'), Oe = e.from_html('<div class="pptx-svelte-ai-focus-hint svelte-kjj0i7"><!> <span class="svelte-kjj0i7"> </span> <button type="button" class="pptx-svelte-ai-focus-done svelte-kjj0i7"> </button></div>'), Re = e.from_html('<div class="pptx-svelte-ai-focus svelte-kjj0i7"><div class="pptx-svelte-ai-focus-row svelte-kjj0i7"><span class="pptx-svelte-ai-focus-scope svelte-kjj0i7"> </span> <!> <!> <div class="pptx-svelte-ai-focus-actions svelte-kjj0i7"><!> <button type="button"><!></button> <!></div></div> <!></div>');
366
- function We(a, t) {
367
- e.push(t, !0);
368
- const s = F(), i = e.derived(() => ce(t.targets, t.slides)), r = e.derived(() => oe(t.targets, t.slides));
369
- var p = Re(), m = e.child(p), b = e.child(m), f = e.child(b, !0);
370
- e.reset(b);
371
- var S = e.sibling(b, 2);
372
- e.each(S, 17, () => e.get(i), (c) => c.key, (c, o) => {
373
- var g = He();
374
- let v;
375
- var C = e.child(g), N = e.child(C, !0);
376
- e.reset(C), e.reset(g), e.template_effect(() => {
377
- v = e.set_class(g, 1, "pptx-svelte-ai-focus-chip svelte-kjj0i7", null, v, { "is-active": t.hasPicks || t.isPinned }), e.set_attribute(g, "title", e.get(o).title), e.set_text(N, e.get(o).label);
378
- }), e.append(c, g);
379
- });
380
- var d = e.sibling(S, 2), u = (c) => {
381
- var o = Be(), g = e.child(o, !0);
382
- e.reset(o), e.template_effect((v) => e.set_text(g, v), [() => s("pptx.ai.pinnedFocus")]), e.append(c, o);
383
- };
384
- e.if(d, (c) => {
385
- t.isPinned && c(u);
386
- });
387
- var h = e.sibling(d, 2), x = e.child(h), w = (c) => {
388
- var o = Ue(), g = e.child(o);
389
- Ie(g, {
390
- size: 12,
391
- "aria-hidden": "true"
392
- });
393
- var v = e.sibling(g);
394
- e.reset(o), e.template_effect((C) => e.set_text(v, ` ${C ?? ""}`), [() => s("pptx.ai.mergeSelectedTables")]), e.delegated("click", o, () => t.onsenddirective(ne(e.get(r).slideIndex, e.get(r).elementIdA, e.get(r).elementIdB))), e.append(c, o);
395
- };
396
- e.if(x, (c) => {
397
- e.get(r) && c(w);
398
- });
399
- var y = e.sibling(x, 2);
400
- let M;
401
- W(e.child(y), {
402
- size: 14,
403
- "aria-hidden": "true"
404
- }), e.reset(y);
405
- var l = e.sibling(y, 2), n = (c) => {
406
- var o = K();
407
- U(e.child(o), {
408
- size: 14,
409
- "aria-hidden": "true"
410
- }), e.reset(o), e.template_effect((g, v) => {
411
- e.set_attribute(o, "title", g), e.set_attribute(o, "aria-label", v);
412
- }, [() => s("pptx.ai.pickClear"), () => s("pptx.ai.pickClear")]), e.delegated("click", o, function(...g) {
413
- t.onclearpicks?.apply(this, g);
414
- }), e.append(c, o);
415
- }, k = (c) => {
416
- var o = K(), g = e.child(o), v = (N) => {
417
- Ve(N, {
418
- size: 14,
419
- "aria-hidden": "true"
420
- });
421
- }, C = (N) => {
422
- Le(N, {
423
- size: 14,
424
- "aria-hidden": "true"
425
- });
426
- };
427
- e.if(g, (N) => {
428
- t.isPinned ? N(v) : N(C, -1);
429
- }), e.reset(o), e.template_effect((N, E) => {
430
- e.set_attribute(o, "title", N), e.set_attribute(o, "aria-label", E);
431
- }, [() => t.isPinned ? s("pptx.ai.clearFocus") : s("pptx.ai.pinFocus"), () => t.isPinned ? s("pptx.ai.clearFocus") : s("pptx.ai.pinFocus")]), e.delegated("click", o, function(...N) {
432
- (t.isPinned ? t.onclearpin : t.onpin)?.apply(this, N);
433
- }), e.append(c, o);
434
- };
435
- e.if(l, (c) => {
436
- t.hasPicks ? c(n) : c(k, -1);
437
- }), e.reset(h), e.reset(m);
438
- var P = e.sibling(m, 2), q = (c) => {
439
- var o = Oe(), g = e.child(o);
440
- W(g, {
441
- size: 14,
442
- class: "pptx-svelte-ai-focus-hint-ic",
443
- "aria-hidden": "true"
444
- });
445
- var v = e.sibling(g, 2), C = e.child(v, !0);
446
- e.reset(v);
447
- var N = e.sibling(v, 2), E = e.child(N, !0);
448
- e.reset(N), e.reset(o), e.template_effect((T, _) => {
449
- e.set_text(C, T), e.set_text(E, _);
450
- }, [() => s("pptx.ai.pickElementHint"), () => s("pptx.ai.pickDone")]), e.delegated("click", N, function(...T) {
451
- t.onstoppick?.apply(this, T);
452
- }), e.append(c, o);
453
- };
454
- e.if(P, (c) => {
455
- t.pickMode && c(q);
456
- }), e.reset(p), e.template_effect((c, o, g) => {
457
- e.set_text(f, c), M = e.set_class(y, 1, "pptx-svelte-ai-focus-btn svelte-kjj0i7", null, M, { "is-active": t.pickMode }), e.set_attribute(y, "title", o), e.set_attribute(y, "aria-label", g), e.set_attribute(y, "aria-pressed", t.pickMode);
458
- }, [
459
- () => s("pptx.ai.focusScope"),
460
- () => s("pptx.ai.pickElement"),
461
- () => s("pptx.ai.pickAria")
462
- ]), e.delegated("click", y, function(...c) {
463
- (t.pickMode ? t.onstoppick : t.onstartpick)?.apply(this, c);
464
- }), e.append(a, p), e.pop();
465
- }
466
- e.delegate(["click"]);
467
- var Ke = /* @__PURE__ */ new Set([
468
- "$$slots",
469
- "$$events",
470
- "$$legacy"
471
- ]);
472
- function Xe(a, t) {
473
- let s = e.rest_props(t, Ke);
474
- const i = [
475
- ["path", { d: "M12 8V4H8" }],
476
- ["rect", {
477
- width: "16",
478
- height: "12",
479
- x: "4",
480
- y: "8",
481
- rx: "2"
482
- }],
483
- ["path", { d: "M2 14h2" }],
484
- ["path", { d: "M20 14h2" }],
485
- ["path", { d: "M15 13v2" }],
486
- ["path", { d: "M9 13v2" }]
487
- ];
488
- j(a, e.spread_props({ name: "bot" }, () => s, { get iconNode() {
489
- return i;
490
- } }));
491
- }
492
- var Ge = /* @__PURE__ */ new Set([
493
- "$$slots",
494
- "$$events",
495
- "$$legacy"
496
- ]);
497
- function Ze(a, t) {
498
- let s = e.rest_props(t, Ge);
499
- const i = [["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" }], ["circle", {
500
- cx: "12",
501
- cy: "7",
502
- r: "4"
503
- }]];
504
- j(a, e.spread_props({ name: "user" }, () => s, { get iconNode() {
505
- return i;
506
- } }));
507
- }
508
- var Je = /* @__PURE__ */ new Set([
509
- "$$slots",
510
- "$$events",
511
- "$$legacy"
512
- ]);
513
- function Qe(a, t) {
514
- let s = e.rest_props(t, Je);
515
- const i = [
516
- ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16" }],
517
- ["path", { d: "M18 17V9" }],
518
- ["path", { d: "M13 17V5" }],
519
- ["path", { d: "M8 17v-3" }]
520
- ];
521
- j(a, e.spread_props({ name: "chart-column" }, () => s, { get iconNode() {
522
- return i;
523
- } }));
524
- }
525
- var Ye = /* @__PURE__ */ new Set([
526
- "$$slots",
527
- "$$events",
528
- "$$legacy"
529
- ]);
530
- function $e(a, t) {
531
- let s = e.rest_props(t, Ye);
532
- const i = [
533
- ["rect", {
534
- width: "18",
535
- height: "18",
536
- x: "3",
537
- y: "3",
538
- rx: "2"
539
- }],
540
- ["path", { d: "M7 3v18" }],
541
- ["path", { d: "M3 7.5h4" }],
542
- ["path", { d: "M3 12h18" }],
543
- ["path", { d: "M3 16.5h4" }],
544
- ["path", { d: "M17 3v18" }],
545
- ["path", { d: "M17 7.5h4" }],
546
- ["path", { d: "M17 16.5h4" }]
547
- ];
548
- j(a, e.spread_props({ name: "film" }, () => s, { get iconNode() {
549
- return i;
550
- } }));
551
- }
552
- var et = /* @__PURE__ */ new Set([
553
- "$$slots",
554
- "$$events",
555
- "$$legacy"
556
- ]);
557
- function tt(a, t) {
558
- let s = e.rest_props(t, et);
559
- const i = [
560
- ["rect", {
561
- width: "18",
562
- height: "7",
563
- x: "3",
564
- y: "3",
565
- rx: "1"
566
- }],
567
- ["rect", {
568
- width: "9",
569
- height: "7",
570
- x: "3",
571
- y: "14",
572
- rx: "1"
573
- }],
574
- ["rect", {
575
- width: "5",
576
- height: "7",
577
- x: "16",
578
- y: "14",
579
- rx: "1"
580
- }]
581
- ];
582
- j(a, e.spread_props({ name: "layout-template" }, () => s, { get iconNode() {
583
- return i;
584
- } }));
585
- }
586
- var st = /* @__PURE__ */ new Set([
587
- "$$slots",
588
- "$$events",
589
- "$$legacy"
590
- ]);
591
- function at(a, t) {
592
- let s = e.rest_props(t, st);
593
- const i = [
594
- ["path", { d: "M12 2v20" }],
595
- ["path", { d: "m15 19-3 3-3-3" }],
596
- ["path", { d: "m19 9 3 3-3 3" }],
597
- ["path", { d: "M2 12h20" }],
598
- ["path", { d: "m5 9-3 3 3 3" }],
599
- ["path", { d: "m9 5 3-3 3 3" }]
600
- ];
601
- j(a, e.spread_props({ name: "move" }, () => s, { get iconNode() {
602
- return i;
603
- } }));
604
- }
605
- var it = /* @__PURE__ */ new Set([
606
- "$$slots",
607
- "$$events",
608
- "$$legacy"
609
- ]);
610
- function rt(a, t) {
611
- let s = e.rest_props(t, it);
612
- const i = [["polygon", { points: "3 11 22 2 13 21 11 13 3 11" }]];
613
- j(a, e.spread_props({ name: "navigation" }, () => s, { get iconNode() {
614
- return i;
615
- } }));
616
- }
617
- var lt = /* @__PURE__ */ new Set([
618
- "$$slots",
619
- "$$events",
620
- "$$legacy"
621
- ]);
622
- function nt(a, t) {
623
- let s = e.rest_props(t, lt);
624
- const i = [
625
- ["path", { d: "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z" }],
626
- ["circle", {
627
- cx: "13.5",
628
- cy: "6.5",
629
- r: ".5",
630
- fill: "currentColor"
631
- }],
632
- ["circle", {
633
- cx: "17.5",
634
- cy: "10.5",
635
- r: ".5",
636
- fill: "currentColor"
637
- }],
638
- ["circle", {
639
- cx: "6.5",
640
- cy: "12.5",
641
- r: ".5",
642
- fill: "currentColor"
643
- }],
644
- ["circle", {
645
- cx: "8.5",
646
- cy: "7.5",
647
- r: ".5",
648
- fill: "currentColor"
649
- }]
650
- ];
651
- j(a, e.spread_props({ name: "palette" }, () => s, { get iconNode() {
652
- return i;
653
- } }));
654
- }
655
- var ot = /* @__PURE__ */ new Set([
656
- "$$slots",
657
- "$$events",
658
- "$$legacy"
659
- ]);
660
- function ct(a, t) {
661
- let s = e.rest_props(t, ot);
662
- const i = [
663
- ["path", { d: "M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z" }],
664
- ["rect", {
665
- x: "3",
666
- y: "14",
667
- width: "7",
668
- height: "7",
669
- rx: "1"
670
- }],
671
- ["circle", {
672
- cx: "17.5",
673
- cy: "17.5",
674
- r: "3.5"
675
- }]
676
- ];
677
- j(a, e.spread_props({ name: "shapes" }, () => s, { get iconNode() {
678
- return i;
679
- } }));
680
- }
681
- var pt = /* @__PURE__ */ new Set([
682
- "$$slots",
683
- "$$events",
684
- "$$legacy"
685
- ]);
686
- function dt(a, t) {
687
- let s = e.rest_props(t, pt);
688
- const i = [
689
- ["path", { d: "M12 3v18" }],
690
- ["rect", {
691
- width: "18",
692
- height: "18",
693
- x: "3",
694
- y: "3",
695
- rx: "2"
696
- }],
697
- ["path", { d: "M3 9h18" }],
698
- ["path", { d: "M3 15h18" }]
699
- ];
700
- j(a, e.spread_props({ name: "table" }, () => s, { get iconNode() {
701
- return i;
702
- } }));
703
- }
704
- var vt = /* @__PURE__ */ new Set([
705
- "$$slots",
706
- "$$events",
707
- "$$legacy"
708
- ]);
709
- function X(a, t) {
710
- let s = e.rest_props(t, vt);
711
- const i = [["path", { d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z" }]];
712
- j(a, e.spread_props({ name: "wrench" }, () => s, { get iconNode() {
713
- return i;
714
- } }));
715
- }
716
- var ut = e.from_html('<div class="pptx-svelte-ai-tool-error svelte-1878924"> </div>'), ht = e.from_html('<details class="pptx-svelte-ai-tool-details svelte-1878924"><summary class="svelte-1878924"> </summary> <div class="pptx-svelte-ai-tool-raw svelte-1878924"> </div></details>'), gt = e.from_html('<div class="pptx-svelte-ai-tool svelte-1878924"><div class="pptx-svelte-ai-tool-head svelte-1878924"><!> <span> </span> <span><!> <!> <!> </span></div> <!> <!></div>');
717
- function _t(a, t) {
718
- e.push(t, !0);
719
- const s = F(), i = {
720
- view: re,
721
- text: ee,
722
- shape: ct,
723
- theme: nt,
724
- table: dt,
725
- slide: tt,
726
- chart: Qe,
727
- move: at,
728
- delete: se,
729
- search: te,
730
- nav: rt,
731
- animation: $e,
732
- notes: $,
733
- tool: X
734
- }, r = e.derived(() => t.part.state === "output-error"), p = e.derived(() => t.part.state === "output-available"), m = e.derived(() => !e.get(r) && !e.get(p)), b = e.derived(() => le(t.part.toolName, t.part.input, e.get(m) ? "present" : "past")), f = e.derived(() => i[e.get(b).icon] ?? X), S = e.derived(() => Q(t.part.input)), d = e.derived(() => e.get(r) ? s("pptx.ai.toolFailed") : e.get(p) ? s("pptx.ai.toolDone") : s("pptx.ai.toolRunning"));
735
- var u = gt(), h = e.child(u), x = e.child(h);
736
- {
737
- let _ = e.derived(() => e.get(r) ? "pptx-svelte-ai-tool-ic is-error" : "pptx-svelte-ai-tool-ic");
738
- e.component(x, () => e.get(f), (A, z) => {
739
- z(A, {
740
- size: 14,
741
- get class() {
742
- return e.get(_);
743
- },
744
- "aria-hidden": "true"
745
- });
746
- });
747
- }
748
- var w = e.sibling(x, 2);
749
- let y;
750
- var M = e.child(w, !0);
751
- e.reset(w);
752
- var l = e.sibling(w, 2);
753
- let n;
754
- var k = e.child(l), P = (_) => {
755
- J(_, {
756
- size: 11,
757
- class: "pptx-svelte-ai-spin",
758
- "aria-hidden": "true"
759
- });
760
- };
761
- e.if(k, (_) => {
762
- e.get(m) && _(P);
763
- });
764
- var q = e.sibling(k, 2), c = (_) => {
765
- Z(_, {
766
- size: 11,
767
- "aria-hidden": "true"
768
- });
769
- };
770
- e.if(q, (_) => {
771
- e.get(p) && _(c);
772
- });
773
- var o = e.sibling(q, 2), g = (_) => {
774
- O(_, {
775
- size: 11,
776
- "aria-hidden": "true"
777
- });
778
- };
779
- e.if(o, (_) => {
780
- e.get(r) && _(g);
781
- });
782
- var v = e.sibling(o);
783
- e.reset(l), e.reset(h);
784
- var C = e.sibling(h, 2), N = (_) => {
785
- var A = ut(), z = e.child(A, !0);
786
- e.reset(A), e.template_effect(() => e.set_text(z, t.part.errorText)), e.append(_, A);
787
- };
788
- e.if(C, (_) => {
789
- e.get(r) && t.part.errorText && _(N);
790
- });
791
- var E = e.sibling(C, 2), T = (_) => {
792
- var A = ht(), z = e.child(A), H = e.child(z, !0);
793
- e.reset(z);
794
- var D = e.sibling(z, 2), I = e.child(D);
795
- e.reset(D), e.reset(A), e.template_effect((L, B) => {
796
- e.set_text(H, L), e.set_text(I, `${B ?? ""}: ${e.get(S) ?? ""}`);
797
- }, [() => s("pptx.ai.toolDetails"), () => Y(t.part.toolName)]), e.append(_, A);
798
- };
799
- e.if(E, (_) => {
800
- e.get(S) && _(T);
801
- }), e.reset(u), e.template_effect(() => {
802
- y = e.set_class(w, 1, "pptx-svelte-ai-tool-label svelte-1878924", null, y, { "is-error": e.get(r) }), e.set_text(M, e.get(b).label), n = e.set_class(l, 1, "pptx-svelte-ai-tool-chip svelte-1878924", null, n, {
803
- "is-error": e.get(r),
804
- "is-done": e.get(p)
805
- }), e.set_text(v, ` ${e.get(d) ?? ""}`);
806
- }), e.append(a, u), e.pop();
807
- }
808
- var ft = e.from_html('<div class="pptx-svelte-ai-empty svelte-16qhgfb"><!> <p class="pptx-svelte-ai-empty-title svelte-16qhgfb"> </p> <p class="pptx-svelte-ai-empty-hint svelte-16qhgfb"> </p></div>'), xt = e.from_html('<p class="pptx-svelte-ai-msg-text svelte-16qhgfb"> </p>'), mt = e.from_html('<div class="pptx-svelte-ai-msg svelte-16qhgfb"><div><!></div> <div class="pptx-svelte-ai-msg-body svelte-16qhgfb"></div></div>'), bt = e.from_html('<div class="pptx-svelte-ai-thinking svelte-16qhgfb"><span class="pptx-svelte-ai-dots svelte-16qhgfb"><span class="svelte-16qhgfb"></span><span class="svelte-16qhgfb"></span><span class="svelte-16qhgfb"></span></span> </div>'), yt = e.from_html('<div class="pptx-svelte-ai-messages svelte-16qhgfb" role="log" aria-live="polite"><!> <!> <div class="svelte-16qhgfb"></div></div>');
809
- function kt(a, t) {
810
- e.push(t, !0);
811
- const s = F();
812
- let i = e.state(void 0);
813
- e.user_effect(() => {
814
- t.messages, t.isStreaming, e.get(i)?.scrollIntoView({ block: "end" });
815
- });
816
- var r = e.comment(), p = e.first_child(r), m = (f) => {
817
- var S = ft(), d = e.child(S);
818
- G(d, {
819
- size: 26,
820
- "aria-hidden": "true"
821
- });
822
- var u = e.sibling(d, 2), h = e.child(u, !0);
823
- e.reset(u);
824
- var x = e.sibling(u, 2), w = e.child(x, !0);
825
- e.reset(x), e.reset(S), e.template_effect((y, M) => {
826
- e.set_text(h, y), e.set_text(w, M);
827
- }, [() => s("pptx.ai.emptyTitle"), () => s("pptx.ai.emptyHint")]), e.append(f, S);
828
- }, b = (f) => {
829
- var S = yt(), d = e.child(S);
830
- e.each(d, 17, () => t.messages, (w) => w.id, (w, y) => {
831
- const M = e.derived(() => e.get(y).role === "user"), l = e.derived(() => de(e.get(y)));
832
- var n = e.comment(), k = e.first_child(n), P = (q) => {
833
- var c = mt(), o = e.child(c);
834
- let g;
835
- var v = e.child(o), C = (T) => {
836
- Ze(T, {
837
- size: 14,
838
- "aria-hidden": "true"
839
- });
840
- }, N = (T) => {
841
- Xe(T, {
842
- size: 14,
843
- "aria-hidden": "true"
844
- });
845
- };
846
- e.if(v, (T) => {
847
- e.get(M) ? T(C) : T(N, -1);
848
- }), e.reset(o);
849
- var E = e.sibling(o, 2);
850
- e.each(E, 23, () => e.get(l), (T, _) => T.kind === "tool" && T.toolCallId || _, (T, _) => {
851
- var A = e.comment(), z = e.first_child(A), H = (I) => {
852
- var L = xt(), B = e.child(L, !0);
853
- e.reset(L), e.template_effect(() => e.set_text(B, e.get(_).text)), e.append(I, L);
854
- }, D = (I) => {
855
- _t(I, { get part() {
856
- return e.get(_);
857
- } });
858
- };
859
- e.if(z, (I) => {
860
- e.get(_).kind === "text" ? I(H) : I(D, -1);
861
- }), e.append(T, A);
862
- }), e.reset(E), e.reset(c), e.template_effect((T) => {
863
- g = e.set_class(o, 1, "pptx-svelte-ai-avatar svelte-16qhgfb", null, g, { "is-user": e.get(M) }), e.set_attribute(o, "aria-label", T);
864
- }, [() => e.get(M) ? s("pptx.ai.you") : s("pptx.ai.assistant")]), e.append(q, c);
865
- };
866
- e.if(k, (q) => {
867
- (e.get(M) || e.get(l).length > 0) && q(P);
868
- }), e.append(w, n);
869
- });
870
- var u = e.sibling(d, 2), h = (w) => {
871
- var y = bt(), M = e.sibling(e.child(y));
872
- e.reset(y), e.template_effect((l) => e.set_text(M, ` ${l ?? ""}`), [() => s("pptx.ai.thinking")]), e.append(w, y);
873
- };
874
- e.if(u, (w) => {
875
- t.isStreaming && w(h);
876
- });
877
- var x = e.sibling(u, 2);
878
- e.bind_this(x, (w) => e.set(i, w), () => e.get(i)), e.reset(S), e.append(f, S);
879
- };
880
- e.if(p, (f) => {
881
- t.messages.length === 0 ? f(m) : f(b, -1);
882
- }), e.append(a, r), e.pop();
883
- }
884
- var St = e.from_html('<li class="svelte-15p5728"> </li>'), wt = e.from_html('<ul class="pptx-svelte-ai-proposal-summary svelte-15p5728"></ul>'), Pt = e.from_html('<div class="pptx-svelte-ai-proposal svelte-15p5728"><div class="pptx-svelte-ai-proposal-tag svelte-15p5728"> </div> <div class="pptx-svelte-ai-proposal-label svelte-15p5728"> </div> <!> <div class="pptx-svelte-ai-proposal-actions svelte-15p5728"><button type="button" class="pptx-svelte-ai-proposal-btn is-accept svelte-15p5728"><!> </button> <button type="button" class="pptx-svelte-ai-proposal-btn is-reject svelte-15p5728"><!> </button></div></div>');
885
- function Mt(a, t) {
886
- e.push(t, !0);
887
- const s = F(), i = e.derived(() => t.proposal.summary.map(ve));
888
- var r = Pt(), p = e.child(r), m = e.child(p, !0);
889
- e.reset(p);
890
- var b = e.sibling(p, 2), f = e.child(b, !0);
891
- e.reset(b);
892
- var S = e.sibling(b, 2), d = (n) => {
893
- var k = wt();
894
- e.each(k, 21, () => e.get(i), e.index, (P, q) => {
895
- var c = St(), o = e.child(c, !0);
896
- e.reset(c), e.template_effect(() => e.set_text(o, e.get(q))), e.append(P, c);
897
- }), e.reset(k), e.append(n, k);
898
- };
899
- e.if(S, (n) => {
900
- e.get(i).length > 0 && n(d);
901
- });
902
- var u = e.sibling(S, 2), h = e.child(u), x = e.child(h);
903
- Z(x, {
904
- size: 13,
905
- "aria-hidden": "true"
906
- });
907
- var w = e.sibling(x);
908
- e.reset(h);
909
- var y = e.sibling(h, 2), M = e.child(y);
910
- U(M, {
911
- size: 13,
912
- "aria-hidden": "true"
913
- });
914
- var l = e.sibling(M);
915
- e.reset(y), e.reset(u), e.reset(r), e.template_effect((n, k, P) => {
916
- e.set_attribute(r, "data-proposal-id", t.proposal.id), e.set_text(m, n), e.set_text(f, t.proposal.label), e.set_text(w, ` ${k ?? ""}`), e.set_text(l, ` ${P ?? ""}`);
917
- }, [
918
- () => s("pptx.ai.proposedChange"),
919
- () => s("pptx.ai.accept"),
920
- () => s("pptx.ai.reject")
921
- ]), e.delegated("click", h, () => t.onaccept(t.proposal.id)), e.delegated("click", y, () => t.onreject(t.proposal.id)), e.append(a, r), e.pop();
922
- }
923
- e.delegate(["click"]);
924
- var Nt = e.from_html('<button type="button" class="pptx-svelte-ai-accept-all svelte-1jz2xis"> </button>'), Tt = e.from_html('<div class="pptx-svelte-ai-proposals svelte-1jz2xis"><div class="pptx-svelte-ai-proposals-head svelte-1jz2xis"><span class="pptx-svelte-ai-proposals-title svelte-1jz2xis"> </span> <!></div> <!></div>');
925
- function jt(a, t) {
926
- e.push(t, !0);
927
- const s = F();
928
- var i = Tt(), r = e.child(i), p = e.child(r), m = e.child(p, !0);
929
- e.reset(p);
930
- var b = e.sibling(p, 2), f = (d) => {
931
- var u = Nt(), h = e.child(u, !0);
932
- e.reset(u), e.template_effect((x) => e.set_text(h, x), [() => s("pptx.ai.acceptAll")]), e.delegated("click", u, function(...x) {
933
- t.onacceptall?.apply(this, x);
934
- }), e.append(d, u);
935
- };
936
- e.if(b, (d) => {
937
- t.proposals.length > 1 && d(f);
938
- }), e.reset(r);
939
- var S = e.sibling(r, 2);
940
- e.each(S, 17, () => t.proposals, (d) => d.id, (d, u) => {
941
- Mt(d, {
942
- get proposal() {
943
- return e.get(u);
944
- },
945
- get onaccept() {
946
- return t.onaccept;
947
- },
948
- get onreject() {
949
- return t.onreject;
950
- }
951
- });
952
- }), e.reset(i), e.template_effect((d) => e.set_text(m, d), [() => s("pptx.ai.pendingChanges", { count: t.proposals.length })]), e.append(a, i), e.pop();
953
- }
954
- e.delegate(["click"]);
955
- var qt = e.from_html('<div class="pptx-svelte-ai-state svelte-nmv6mg"><!></div>'), Ct = e.from_html('<div class="pptx-svelte-ai-state svelte-nmv6mg"><!> <p class="pptx-svelte-ai-state-title svelte-nmv6mg"> </p> <p class="pptx-svelte-ai-state-hint svelte-nmv6mg"> </p></div>'), At = e.from_html('<div class="pptx-svelte-ai-body svelte-nmv6mg"><!> <!> <!> <!> <!></div>'), zt = e.from_html('<aside class="pptx-svelte-ai-panel svelte-nmv6mg" data-pptx-ai-panel=""><div class="pptx-svelte-ai-header svelte-nmv6mg"><!> <span class="pptx-svelte-ai-title svelte-nmv6mg"> </span> <button type="button" class="pptx-svelte-ai-close svelte-nmv6mg"><!></button></div> <!></aside>');
956
- function Lt(a, t) {
957
- e.push(t, !0);
958
- const s = F();
959
- function i(l) {
960
- l && l.slideIndex !== void 0 && t.bridge.goToSlide(l.slideIndex), t.aiPanel.flashToolTarget(l);
961
- }
962
- const r = V(() => new ke({
963
- bridge: t.bridge,
964
- config: t.config,
965
- onToolTarget: i
966
- }));
967
- e.user_effect(() => {
968
- const l = r.session;
969
- if (l)
970
- return l.changeAnimator.subscribe((n) => {
971
- n && t.bridge.goToSlide(n.slideIndex), t.aiPanel.showChangeBatch(n);
972
- });
973
- });
974
- function p(l) {
975
- t.aiPanel.flashToolTarget(null), r.applyProposal(l);
976
- }
977
- function m() {
978
- t.aiPanel.flashToolTarget(null), r.acceptAllProposals();
979
- }
980
- ye({
981
- bridge: t.bridge,
982
- getMessages: () => r.messages,
983
- getUntitledLabel: () => s("pptx.ai.untitledChat")
984
- }), he(() => {
985
- r.init();
986
- });
987
- var b = zt(), f = e.child(b), S = e.child(f);
988
- G(S, {
989
- size: 16,
990
- class: "pptx-svelte-ai-header-icon",
991
- "aria-hidden": "true"
992
- });
993
- var d = e.sibling(S, 2), u = e.child(d, !0);
994
- e.reset(d);
995
- var h = e.sibling(d, 2);
996
- U(e.child(h), {
997
- size: 16,
998
- "aria-hidden": "true"
999
- }), e.reset(h), e.reset(f);
1000
- var x = e.sibling(f, 2), w = (l) => {
1001
- var n = qt();
1002
- J(e.child(n), {
1003
- size: 20,
1004
- class: "pptx-svelte-ai-spin",
1005
- "aria-hidden": "true"
1006
- }), e.reset(n), e.append(l, n);
1007
- }, y = (l) => {
1008
- var n = Ct(), k = e.child(n);
1009
- O(k, {
1010
- size: 24,
1011
- "aria-hidden": "true"
1012
- });
1013
- var P = e.sibling(k, 2), q = e.child(P, !0);
1014
- e.reset(P);
1015
- var c = e.sibling(P, 2), o = e.child(c, !0);
1016
- e.reset(c), e.reset(n), e.template_effect((g, v) => {
1017
- e.set_text(q, g), e.set_text(o, v);
1018
- }, [() => s("pptx.ai.unavailableTitle"), () => r.initError?.message ?? s("pptx.ai.unavailableHint")]), e.append(l, n);
1019
- }, M = (l) => {
1020
- var n = At(), k = e.child(n);
1021
- {
1022
- let v = e.derived(() => t.bridge.getSlides());
1023
- We(k, {
1024
- get targets() {
1025
- return t.aiPanel.effectiveTargets;
1026
- },
1027
- get slides() {
1028
- return e.get(v);
1029
- },
1030
- get isPinned() {
1031
- return t.aiPanel.isPinned;
1032
- },
1033
- get hasPicks() {
1034
- return t.aiPanel.hasPicks;
1035
- },
1036
- get pickMode() {
1037
- return t.aiPanel.pickMode;
1038
- },
1039
- onpin: () => t.aiPanel.pinFocus(),
1040
- onclearpin: () => t.aiPanel.clearPinnedFocus(),
1041
- onsenddirective: (C) => r.send(C),
1042
- onstartpick: () => t.aiPanel.startPicking(),
1043
- onstoppick: () => t.aiPanel.stopPicking(),
1044
- onclearpicks: () => t.aiPanel.clearPicks()
1045
- });
1046
- }
1047
- var P = e.sibling(k, 2);
1048
- kt(P, {
1049
- get messages() {
1050
- return r.messages;
1051
- },
1052
- get isStreaming() {
1053
- return r.isStreaming;
1054
- }
1055
- });
1056
- var q = e.sibling(P, 2), c = (v) => {
1057
- Ae(v, {
1058
- get message() {
1059
- return r.error.message;
1060
- },
1061
- onretry: () => r.clearError()
1062
- });
1063
- };
1064
- e.if(q, (v) => {
1065
- r.error && v(c);
1066
- });
1067
- var o = e.sibling(q, 2), g = (v) => {
1068
- jt(v, {
1069
- get proposals() {
1070
- return r.proposals;
1071
- },
1072
- onaccept: p,
1073
- onacceptall: m,
1074
- onreject: (C) => r.rejectProposal(C)
1075
- });
1076
- };
1077
- e.if(o, (v) => {
1078
- r.proposals.length > 0 && v(g);
1079
- }), qe(e.sibling(o, 2), {
1080
- get isStreaming() {
1081
- return r.isStreaming;
1082
- },
1083
- onsend: (v) => r.send(v),
1084
- onstop: () => r.stop(),
1085
- get prefillText() {
1086
- return t.aiPanel.prefill.text;
1087
- },
1088
- get prefillNonce() {
1089
- return t.aiPanel.prefill.nonce;
1090
- }
1091
- }), e.reset(n), e.append(l, n);
1092
- };
1093
- e.if(x, (l) => {
1094
- r.initState === "checking" ? l(w) : r.initState === "unavailable" || r.initState === "error" ? l(y, 1) : r.initState === "ready" && l(M, 2);
1095
- }), e.reset(b), e.template_effect((l, n, k, P) => {
1096
- e.set_attribute(b, "aria-label", l), e.set_text(u, n), e.set_attribute(h, "title", k), e.set_attribute(h, "aria-label", P);
1097
- }, [
1098
- () => s("pptx.ai.title"),
1099
- () => s("pptx.ai.title"),
1100
- () => s("pptx.ai.close"),
1101
- () => s("pptx.ai.close")
1102
- ]), e.delegated("click", h, function(...l) {
1103
- t.onclose?.apply(this, l);
1104
- }), e.append(a, b), e.pop();
1105
- }
1106
- e.delegate(["click"]);
1107
- export {
1108
- Lt as default
1109
- };