pptx-svelte-viewer 4.42.0 → 4.43.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.
@@ -0,0 +1,1330 @@
1
+ import { k as L } from "./transition-overlay-BI1-U7Cb.js";
2
+ import { A as je, C as U, D as $e, E as Q, M as $, O as Ae, T as B, j as Y, k as De, w as Ne } from "./export-BJhXz3cF.js";
3
+ import "svelte/internal/disclose-version";
4
+ import * as e from "svelte/internal/client";
5
+ import { onMount as Ee, untrack as O } from "svelte";
6
+ import { createAiChatHistoryController as Ie, createAiChatSession as He, deckIdFromBridge as Le, describeToolActivity as Fe, focusTargetChips as Ve, humanizeDiffLine as Be, isAiAvailable as Oe, isTwoTableFocus as Ue, mergeTablesDirective as Re, summarizeToolArgs as We, toRenderableParts as Ke, toolCanvasTarget as Ge, toolLabel as Xe } from "ooxml-ui/pptx/ai";
7
+ var ee = {
8
+ name: "bot",
9
+ size: 24,
10
+ node: [
11
+ ["path", { d: "M12 8V4H8" }],
12
+ ["rect", {
13
+ width: "16",
14
+ height: "12",
15
+ x: "4",
16
+ y: "8",
17
+ rx: "2"
18
+ }],
19
+ ["path", { d: "M2 14h2" }],
20
+ ["path", { d: "M20 14h2" }],
21
+ ["path", { d: "M15 13v2" }],
22
+ ["path", { d: "M9 13v2" }]
23
+ ]
24
+ }, Pa = ee.node, Ze = /* @__PURE__ */ new Set([
25
+ "$$slots",
26
+ "$$events",
27
+ "$$legacy"
28
+ ]);
29
+ function Je(s, t) {
30
+ let a = e.rest_props(t, Ze);
31
+ $(s, e.spread_props(() => a, { get icon() {
32
+ return ee;
33
+ } }));
34
+ }
35
+ var te = {
36
+ name: "chart-column",
37
+ size: 24,
38
+ node: [
39
+ ["path", { d: "M3 3v16a2 2 0 0 0 2 2h16" }],
40
+ ["path", { d: "M18 17V9" }],
41
+ ["path", { d: "M13 17V5" }],
42
+ ["path", { d: "M8 17v-3" }]
43
+ ],
44
+ aliases: ["bar-chart-3"]
45
+ }, qa = te.node, Qe = /* @__PURE__ */ new Set([
46
+ "$$slots",
47
+ "$$events",
48
+ "$$legacy"
49
+ ]);
50
+ function Ye(s, t) {
51
+ let a = e.rest_props(t, Qe);
52
+ $(s, e.spread_props(() => a, { get icon() {
53
+ return te;
54
+ } }));
55
+ }
56
+ var ae = {
57
+ name: "crosshair",
58
+ size: 24,
59
+ node: [
60
+ ["circle", {
61
+ cx: "12",
62
+ cy: "12",
63
+ r: "10"
64
+ }],
65
+ ["line", {
66
+ x1: "22",
67
+ x2: "18",
68
+ y1: "12",
69
+ y2: "12"
70
+ }],
71
+ ["line", {
72
+ x1: "6",
73
+ x2: "2",
74
+ y1: "12",
75
+ y2: "12"
76
+ }],
77
+ ["line", {
78
+ x1: "12",
79
+ x2: "12",
80
+ y1: "6",
81
+ y2: "2"
82
+ }],
83
+ ["line", {
84
+ x1: "12",
85
+ x2: "12",
86
+ y1: "22",
87
+ y2: "18"
88
+ }]
89
+ ]
90
+ }, Ta = ae.node, et = /* @__PURE__ */ new Set([
91
+ "$$slots",
92
+ "$$events",
93
+ "$$legacy"
94
+ ]);
95
+ function X(s, t) {
96
+ let a = e.rest_props(t, et);
97
+ $(s, e.spread_props(() => a, { get icon() {
98
+ return ae;
99
+ } }));
100
+ }
101
+ var se = {
102
+ name: "film",
103
+ size: 24,
104
+ node: [
105
+ ["rect", {
106
+ width: "18",
107
+ height: "18",
108
+ x: "3",
109
+ y: "3",
110
+ rx: "2"
111
+ }],
112
+ ["path", { d: "M7 3v18" }],
113
+ ["path", { d: "M3 7.5h4" }],
114
+ ["path", { d: "M3 12h18" }],
115
+ ["path", { d: "M3 16.5h4" }],
116
+ ["path", { d: "M17 3v18" }],
117
+ ["path", { d: "M17 7.5h4" }],
118
+ ["path", { d: "M17 16.5h4" }]
119
+ ]
120
+ }, ja = se.node, tt = /* @__PURE__ */ new Set([
121
+ "$$slots",
122
+ "$$events",
123
+ "$$legacy"
124
+ ]);
125
+ function at(s, t) {
126
+ let a = e.rest_props(t, tt);
127
+ $(s, e.spread_props(() => a, { get icon() {
128
+ return se;
129
+ } }));
130
+ }
131
+ var ie = {
132
+ name: "git-merge",
133
+ size: 24,
134
+ node: [
135
+ ["circle", {
136
+ cx: "18",
137
+ cy: "18",
138
+ r: "3"
139
+ }],
140
+ ["circle", {
141
+ cx: "6",
142
+ cy: "6",
143
+ r: "3"
144
+ }],
145
+ ["path", { d: "M6 21V9a9 9 0 0 0 9 9" }]
146
+ ]
147
+ }, $a = ie.node, st = /* @__PURE__ */ new Set([
148
+ "$$slots",
149
+ "$$events",
150
+ "$$legacy"
151
+ ]);
152
+ function it(s, t) {
153
+ let a = e.rest_props(t, st);
154
+ $(s, e.spread_props(() => a, { get icon() {
155
+ return ie;
156
+ } }));
157
+ }
158
+ var re = {
159
+ name: "layout-template",
160
+ size: 24,
161
+ node: [
162
+ ["rect", {
163
+ width: "18",
164
+ height: "7",
165
+ x: "3",
166
+ y: "3",
167
+ rx: "1"
168
+ }],
169
+ ["rect", {
170
+ width: "9",
171
+ height: "7",
172
+ x: "3",
173
+ y: "14",
174
+ rx: "1"
175
+ }],
176
+ ["rect", {
177
+ width: "5",
178
+ height: "7",
179
+ x: "16",
180
+ y: "14",
181
+ rx: "1"
182
+ }]
183
+ ]
184
+ }, Aa = re.node, rt = /* @__PURE__ */ new Set([
185
+ "$$slots",
186
+ "$$events",
187
+ "$$legacy"
188
+ ]);
189
+ function nt(s, t) {
190
+ let a = e.rest_props(t, rt);
191
+ $(s, e.spread_props(() => a, { get icon() {
192
+ return re;
193
+ } }));
194
+ }
195
+ var ne = {
196
+ name: "loader-circle",
197
+ size: 24,
198
+ node: [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }]],
199
+ aliases: ["loader-2"]
200
+ }, Da = ne.node, lt = /* @__PURE__ */ new Set([
201
+ "$$slots",
202
+ "$$events",
203
+ "$$legacy"
204
+ ]);
205
+ function le(s, t) {
206
+ let a = e.rest_props(t, lt);
207
+ $(s, e.spread_props(() => a, { get icon() {
208
+ return ne;
209
+ } }));
210
+ }
211
+ var oe = {
212
+ name: "message-square-plus",
213
+ size: 24,
214
+ node: [
215
+ ["path", { d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z" }],
216
+ ["path", { d: "M12 8v6" }],
217
+ ["path", { d: "M9 11h6" }]
218
+ ]
219
+ }, Na = oe.node, ot = /* @__PURE__ */ new Set([
220
+ "$$slots",
221
+ "$$events",
222
+ "$$legacy"
223
+ ]);
224
+ function ct(s, t) {
225
+ let a = e.rest_props(t, ot);
226
+ $(s, e.spread_props(() => a, { get icon() {
227
+ return oe;
228
+ } }));
229
+ }
230
+ var ce = {
231
+ name: "move",
232
+ size: 24,
233
+ node: [
234
+ ["path", { d: "M12 2v20" }],
235
+ ["path", { d: "m15 19-3 3-3-3" }],
236
+ ["path", { d: "m19 9 3 3-3 3" }],
237
+ ["path", { d: "M2 12h20" }],
238
+ ["path", { d: "m5 9-3 3 3 3" }],
239
+ ["path", { d: "m9 5 3-3 3 3" }]
240
+ ]
241
+ }, Ea = ce.node, pt = /* @__PURE__ */ new Set([
242
+ "$$slots",
243
+ "$$events",
244
+ "$$legacy"
245
+ ]);
246
+ function dt(s, t) {
247
+ let a = e.rest_props(t, pt);
248
+ $(s, e.spread_props(() => a, { get icon() {
249
+ return ce;
250
+ } }));
251
+ }
252
+ var pe = {
253
+ name: "navigation",
254
+ size: 24,
255
+ node: [["polygon", { points: "3 11 22 2 13 21 11 13 3 11" }]]
256
+ }, Ia = pe.node, vt = /* @__PURE__ */ new Set([
257
+ "$$slots",
258
+ "$$events",
259
+ "$$legacy"
260
+ ]);
261
+ function _t(s, t) {
262
+ let a = e.rest_props(t, vt);
263
+ $(s, e.spread_props(() => a, { get icon() {
264
+ return pe;
265
+ } }));
266
+ }
267
+ var de = {
268
+ name: "palette",
269
+ size: 24,
270
+ node: [
271
+ ["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" }],
272
+ ["circle", {
273
+ cx: "13.5",
274
+ cy: "6.5",
275
+ r: ".5",
276
+ fill: "currentColor"
277
+ }],
278
+ ["circle", {
279
+ cx: "17.5",
280
+ cy: "10.5",
281
+ r: ".5",
282
+ fill: "currentColor"
283
+ }],
284
+ ["circle", {
285
+ cx: "6.5",
286
+ cy: "12.5",
287
+ r: ".5",
288
+ fill: "currentColor"
289
+ }],
290
+ ["circle", {
291
+ cx: "8.5",
292
+ cy: "7.5",
293
+ r: ".5",
294
+ fill: "currentColor"
295
+ }]
296
+ ]
297
+ }, Ha = de.node, ut = /* @__PURE__ */ new Set([
298
+ "$$slots",
299
+ "$$events",
300
+ "$$legacy"
301
+ ]);
302
+ function ht(s, t) {
303
+ let a = e.rest_props(t, ut);
304
+ $(s, e.spread_props(() => a, { get icon() {
305
+ return de;
306
+ } }));
307
+ }
308
+ var ve = {
309
+ name: "pin-off",
310
+ size: 24,
311
+ node: [
312
+ ["path", { d: "M12 17v5" }],
313
+ ["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89" }],
314
+ ["path", { d: "m2 2 20 20" }],
315
+ ["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" }]
316
+ ]
317
+ }, La = ve.node, gt = /* @__PURE__ */ new Set([
318
+ "$$slots",
319
+ "$$events",
320
+ "$$legacy"
321
+ ]);
322
+ function xt(s, t) {
323
+ let a = e.rest_props(t, gt);
324
+ $(s, e.spread_props(() => a, { get icon() {
325
+ return ve;
326
+ } }));
327
+ }
328
+ var _e = {
329
+ name: "pin",
330
+ size: 24,
331
+ node: [["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" }]]
332
+ }, Fa = _e.node, ft = /* @__PURE__ */ new Set([
333
+ "$$slots",
334
+ "$$events",
335
+ "$$legacy"
336
+ ]);
337
+ function mt(s, t) {
338
+ let a = e.rest_props(t, ft);
339
+ $(s, e.spread_props(() => a, { get icon() {
340
+ return _e;
341
+ } }));
342
+ }
343
+ var ue = {
344
+ name: "search",
345
+ size: 24,
346
+ node: [["path", { d: "m21 21-4.34-4.34" }], ["circle", {
347
+ cx: "11",
348
+ cy: "11",
349
+ r: "8"
350
+ }]]
351
+ }, Va = ue.node, bt = /* @__PURE__ */ new Set([
352
+ "$$slots",
353
+ "$$events",
354
+ "$$legacy"
355
+ ]);
356
+ function yt(s, t) {
357
+ let a = e.rest_props(t, bt);
358
+ $(s, e.spread_props(() => a, { get icon() {
359
+ return ue;
360
+ } }));
361
+ }
362
+ var he = {
363
+ name: "send",
364
+ size: 24,
365
+ node: [["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" }]]
366
+ }, Ba = he.node, kt = /* @__PURE__ */ new Set([
367
+ "$$slots",
368
+ "$$events",
369
+ "$$legacy"
370
+ ]);
371
+ function wt(s, t) {
372
+ let a = e.rest_props(t, kt);
373
+ $(s, e.spread_props(() => a, { get icon() {
374
+ return he;
375
+ } }));
376
+ }
377
+ var ge = {
378
+ name: "shapes",
379
+ size: 24,
380
+ node: [
381
+ ["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" }],
382
+ ["rect", {
383
+ x: "3",
384
+ y: "14",
385
+ width: "7",
386
+ height: "7",
387
+ rx: "1"
388
+ }],
389
+ ["circle", {
390
+ cx: "17.5",
391
+ cy: "17.5",
392
+ r: "3.5"
393
+ }]
394
+ ]
395
+ }, Oa = ge.node, Ct = /* @__PURE__ */ new Set([
396
+ "$$slots",
397
+ "$$events",
398
+ "$$legacy"
399
+ ]);
400
+ function Mt(s, t) {
401
+ let a = e.rest_props(t, Ct);
402
+ $(s, e.spread_props(() => a, { get icon() {
403
+ return ge;
404
+ } }));
405
+ }
406
+ var xe = {
407
+ name: "square",
408
+ size: 24,
409
+ node: [["rect", {
410
+ width: "18",
411
+ height: "18",
412
+ x: "3",
413
+ y: "3",
414
+ rx: "2"
415
+ }]]
416
+ }, Ua = xe.node, zt = /* @__PURE__ */ new Set([
417
+ "$$slots",
418
+ "$$events",
419
+ "$$legacy"
420
+ ]);
421
+ function St(s, t) {
422
+ let a = e.rest_props(t, zt);
423
+ $(s, e.spread_props(() => a, { get icon() {
424
+ return xe;
425
+ } }));
426
+ }
427
+ var fe = {
428
+ name: "sticky-note",
429
+ size: 24,
430
+ node: [["path", { d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z" }], ["path", { d: "M15 3v5a1 1 0 0 0 1 1h5" }]]
431
+ }, Ra = fe.node, Pt = /* @__PURE__ */ new Set([
432
+ "$$slots",
433
+ "$$events",
434
+ "$$legacy"
435
+ ]);
436
+ function qt(s, t) {
437
+ let a = e.rest_props(t, Pt);
438
+ $(s, e.spread_props(() => a, { get icon() {
439
+ return fe;
440
+ } }));
441
+ }
442
+ var me = {
443
+ name: "table",
444
+ size: 24,
445
+ node: [
446
+ ["path", { d: "M12 3v18" }],
447
+ ["rect", {
448
+ width: "18",
449
+ height: "18",
450
+ x: "3",
451
+ y: "3",
452
+ rx: "2"
453
+ }],
454
+ ["path", { d: "M3 9h18" }],
455
+ ["path", { d: "M3 15h18" }]
456
+ ]
457
+ }, Wa = me.node, Tt = /* @__PURE__ */ new Set([
458
+ "$$slots",
459
+ "$$events",
460
+ "$$legacy"
461
+ ]);
462
+ function jt(s, t) {
463
+ let a = e.rest_props(t, Tt);
464
+ $(s, e.spread_props(() => a, { get icon() {
465
+ return me;
466
+ } }));
467
+ }
468
+ var be = {
469
+ name: "triangle-alert",
470
+ size: 24,
471
+ node: [
472
+ ["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" }],
473
+ ["path", { d: "M12 9v4" }],
474
+ ["path", { d: "M12 17h.01" }]
475
+ ],
476
+ aliases: ["alert-triangle"]
477
+ }, Ka = be.node, $t = /* @__PURE__ */ new Set([
478
+ "$$slots",
479
+ "$$events",
480
+ "$$legacy"
481
+ ]);
482
+ function R(s, t) {
483
+ let a = e.rest_props(t, $t);
484
+ $(s, e.spread_props(() => a, { get icon() {
485
+ return be;
486
+ } }));
487
+ }
488
+ var ye = {
489
+ name: "user",
490
+ size: 24,
491
+ node: [["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" }], ["circle", {
492
+ cx: "12",
493
+ cy: "7",
494
+ r: "4"
495
+ }]]
496
+ }, Ga = ye.node, At = /* @__PURE__ */ new Set([
497
+ "$$slots",
498
+ "$$events",
499
+ "$$legacy"
500
+ ]);
501
+ function Dt(s, t) {
502
+ let a = e.rest_props(t, At);
503
+ $(s, e.spread_props(() => a, { get icon() {
504
+ return ye;
505
+ } }));
506
+ }
507
+ var ke = {
508
+ name: "wrench",
509
+ size: 24,
510
+ node: [["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" }]]
511
+ }, Xa = ke.node, Nt = /* @__PURE__ */ new Set([
512
+ "$$slots",
513
+ "$$events",
514
+ "$$legacy"
515
+ ]);
516
+ function Z(s, t) {
517
+ let a = e.rest_props(t, Nt);
518
+ $(s, e.spread_props(() => a, { get icon() {
519
+ return ke;
520
+ } }));
521
+ }
522
+ function Et(s) {
523
+ let t = e.state(e.proxy([]));
524
+ const a = O(() => Ie({
525
+ deckId: Le(s.bridge),
526
+ store: s.store,
527
+ getMessages: () => s.getMessages(),
528
+ setMessages: s.setMessages,
529
+ untitledLabel: s.getUntitledLabel(),
530
+ onChatsChanged: (p) => {
531
+ e.set(t, p, !0);
532
+ }
533
+ }));
534
+ let d = e.state(e.proxy(O(() => a.activeChatId())));
535
+ const i = () => {
536
+ e.set(d, a.activeChatId(), !0);
537
+ };
538
+ return e.user_effect(() => {
539
+ s.getMessages(), a.notifyMessagesChanged();
540
+ }), e.user_effect(() => () => a.dispose()), {
541
+ get chats() {
542
+ return e.get(t);
543
+ },
544
+ get activeChatId() {
545
+ return e.get(d);
546
+ },
547
+ newChat() {
548
+ a.newChat(), i();
549
+ },
550
+ async resumeChat(p) {
551
+ await a.resumeChat(p), i();
552
+ },
553
+ async deleteChat(p) {
554
+ await a.deleteChat(p), i();
555
+ },
556
+ clearCurrent() {
557
+ a.clearCurrent();
558
+ }
559
+ };
560
+ }
561
+ var It = class {
562
+ #s = e.state("checking");
563
+ get initState() {
564
+ return e.get(this.#s);
565
+ }
566
+ set initState(s) {
567
+ e.set(this.#s, s, !0);
568
+ }
569
+ #i = e.state(void 0);
570
+ get initError() {
571
+ return e.get(this.#i);
572
+ }
573
+ set initError(s) {
574
+ e.set(this.#i, s, !0);
575
+ }
576
+ #r = e.state(e.proxy([]));
577
+ get proposals() {
578
+ return e.get(this.#r);
579
+ }
580
+ set proposals(s) {
581
+ e.set(this.#r, s, !0);
582
+ }
583
+ #e = e.state(void 0);
584
+ #a = e.state(void 0);
585
+ #t;
586
+ constructor(s) {
587
+ this.#t = s;
588
+ }
589
+ get messages() {
590
+ return e.get(this.#e)?.messages ?? [];
591
+ }
592
+ get status() {
593
+ return e.get(this.#e)?.status ?? "ready";
594
+ }
595
+ get error() {
596
+ return e.get(this.#e)?.error;
597
+ }
598
+ get isStreaming() {
599
+ return this.status === "submitted" || this.status === "streaming";
600
+ }
601
+ get session() {
602
+ return e.get(this.#a);
603
+ }
604
+ async init() {
605
+ this.initState = "checking", this.initError = void 0;
606
+ try {
607
+ if (!await (this.#t.checkAvailable ?? Oe)()) {
608
+ this.initState = "unavailable";
609
+ return;
610
+ }
611
+ const s = await (this.#t.createSession ?? He)(this.#t.bridge, this.#t.config);
612
+ e.set(this.#a, s);
613
+ const { Chat: t } = await import("@ai-sdk/svelte");
614
+ e.set(this.#e, new t({
615
+ transport: s.transport,
616
+ sendAutomaticallyWhen: s.sendAutomaticallyWhen,
617
+ onError: (a) => this.#t.config.onError?.(a),
618
+ onToolCall: async ({ toolCall: a }) => {
619
+ const { toolName: d, toolCallId: i, input: p } = a, z = e.get(this.#e);
620
+ if (!z) return;
621
+ this.#t.onToolTarget?.(Ge(d, p));
622
+ const f = z.addToolOutput;
623
+ try {
624
+ f({
625
+ tool: d,
626
+ toolCallId: i,
627
+ output: await s.executeToolCall(d, p)
628
+ });
629
+ } catch (h) {
630
+ f({
631
+ tool: d,
632
+ toolCallId: i,
633
+ state: "output-error",
634
+ errorText: h instanceof Error ? h.message : String(h)
635
+ });
636
+ }
637
+ this.refreshProposals();
638
+ }
639
+ })), this.initState = "ready";
640
+ } catch (s) {
641
+ this.initError = s instanceof Error ? s : new Error(String(s)), this.initState = "error";
642
+ }
643
+ }
644
+ send(s) {
645
+ const t = s.trim();
646
+ t.length === 0 || !e.get(this.#e) || e.get(this.#e).sendMessage({ text: t });
647
+ }
648
+ stop() {
649
+ e.get(this.#e)?.stop();
650
+ }
651
+ setMessages(s) {
652
+ e.get(this.#e) && (e.get(this.#e).messages = s);
653
+ }
654
+ clearError() {
655
+ e.get(this.#e)?.clearError();
656
+ }
657
+ refreshProposals() {
658
+ this.proposals = e.get(this.#a)?.proposals.list() ?? [];
659
+ }
660
+ applyProposal(s) {
661
+ e.get(this.#a)?.proposals.apply(s), this.refreshProposals();
662
+ }
663
+ rejectProposal(s) {
664
+ e.get(this.#a)?.proposals.revert(s), this.refreshProposals();
665
+ }
666
+ acceptAllProposals() {
667
+ e.get(this.#a)?.proposals.acceptAll(), this.refreshProposals();
668
+ }
669
+ }, Ht = e.from_html('<button type="button" class="pptx-svelte-ai-send svelte-1tm1p3e"><!></button>'), Lt = e.from_html('<button type="button"><!></button>'), Ft = 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>');
670
+ function Vt(s, t) {
671
+ e.push(t, !0);
672
+ const a = e.prop(t, "prefillText", 3, ""), d = e.prop(t, "prefillNonce", 3, 0), i = L();
673
+ let p = e.state("");
674
+ const z = e.derived(() => e.get(p).trim().length > 0);
675
+ let f = e.state(void 0), h = 0;
676
+ e.user_effect(() => {
677
+ d() !== h && (h = d(), a() && e.set(p, a()), e.get(f)?.focus());
678
+ });
679
+ function y() {
680
+ const _ = e.get(p).trim();
681
+ _.length === 0 || t.isStreaming || (t.onsend(_), e.set(p, ""));
682
+ }
683
+ function m(_) {
684
+ _.key === "Enter" && !_.shiftKey && (_.preventDefault(), y());
685
+ }
686
+ var b = Ft(), x = e.child(b), g = e.child(x);
687
+ e.remove_textarea_child(g), e.bind_this(g, (_) => e.set(f, _), () => e.get(f));
688
+ var k = e.sibling(g, 2), w = (_) => {
689
+ var l = Ht(), r = e.child(l);
690
+ St(r, {
691
+ size: 16,
692
+ "aria-hidden": "true"
693
+ }), e.reset(l), e.template_effect((v, C) => {
694
+ e.set_attribute(l, "title", v), e.set_attribute(l, "aria-label", C);
695
+ }, [() => i("pptx.ai.stop"), () => i("pptx.ai.stop")]), e.delegated("click", l, function(...v) {
696
+ t.onstop?.apply(this, v);
697
+ }), e.append(_, l);
698
+ }, T = (_) => {
699
+ var l = Lt();
700
+ let r;
701
+ var v = e.child(l);
702
+ wt(v, {
703
+ size: 16,
704
+ "aria-hidden": "true"
705
+ }), e.reset(l), e.template_effect((C, P) => {
706
+ r = e.set_class(l, 1, "pptx-svelte-ai-send svelte-1tm1p3e", null, r, { "is-ready": e.get(z) }), l.disabled = !e.get(z), e.set_attribute(l, "title", C), e.set_attribute(l, "aria-label", P);
707
+ }, [() => i("pptx.ai.send"), () => i("pptx.ai.send")]), e.delegated("click", l, y), e.append(_, l);
708
+ };
709
+ e.if(k, (_) => {
710
+ t.isStreaming ? _(w) : _(T, -1);
711
+ }), e.reset(x), e.reset(b), e.template_effect((_, l) => {
712
+ e.set_attribute(g, "placeholder", _), e.set_attribute(g, "aria-label", l);
713
+ }, [() => i("pptx.ai.placeholder"), () => i("pptx.ai.placeholder")]), e.delegated("keydown", g, m), e.bind_value(g, () => e.get(p), (_) => e.set(p, _)), e.append(s, b), e.pop();
714
+ }
715
+ e.delegate(["keydown", "click"]);
716
+ var Bt = 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>');
717
+ function Ot(s, t) {
718
+ e.push(t, !0);
719
+ const a = L();
720
+ var d = Bt(), i = e.child(d);
721
+ R(i, {
722
+ size: 14,
723
+ "aria-hidden": "true"
724
+ });
725
+ var p = e.sibling(i, 2), z = e.child(p), f = e.only_child(z, !0), h = e.sibling(z, 2), y = e.only_child(h, !0);
726
+ e.reset(p);
727
+ var m = e.sibling(p, 2), b = e.only_child(m, !0);
728
+ e.reset(d), e.template_effect((x, g) => {
729
+ e.set_text(f, x), e.set_attribute(h, "title", t.message), e.set_text(y, t.message), e.set_text(b, g);
730
+ }, [() => a("pptx.ai.errorPrefix"), () => a("pptx.ai.retry")]), e.delegated("click", m, function(...x) {
731
+ t.onretry?.apply(this, x);
732
+ }), e.append(s, d), e.pop();
733
+ }
734
+ e.delegate(["click"]);
735
+ var Ut = e.from_html('<span><span class="pptx-svelte-ai-focus-chip-label svelte-kjj0i7"> </span></span>'), Rt = e.from_html('<span class="pptx-svelte-ai-focus-pinned svelte-kjj0i7"> </span>'), Wt = e.from_html('<button type="button" class="pptx-svelte-ai-focus-merge svelte-kjj0i7"><!> </button>'), J = e.from_html('<button type="button" class="pptx-svelte-ai-focus-btn svelte-kjj0i7"><!></button>'), Kt = 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>'), Gt = 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>');
736
+ function Xt(s, t) {
737
+ e.push(t, !0);
738
+ const a = L(), d = e.derived(() => Ve(t.targets, t.slides)), i = e.derived(() => Ue(t.targets, t.slides));
739
+ var p = Gt(), z = e.child(p), f = e.child(z), h = e.only_child(f, !0), y = e.sibling(f, 2);
740
+ e.each(y, 17, () => e.get(d), (n) => n.key, (n, o) => {
741
+ var M = Ut();
742
+ let S;
743
+ var A = e.child(M), q = e.only_child(A, !0);
744
+ e.reset(M), e.template_effect(() => {
745
+ S = e.set_class(M, 1, "pptx-svelte-ai-focus-chip svelte-kjj0i7", null, S, { "is-active": t.hasPicks || t.isPinned }), e.set_attribute(M, "title", e.get(o).title), e.set_text(q, e.get(o).label);
746
+ }), e.append(n, M);
747
+ });
748
+ var m = e.sibling(y, 2), b = (n) => {
749
+ var o = Rt(), M = e.only_child(o, !0);
750
+ e.template_effect((S) => e.set_text(M, S), [() => a("pptx.ai.pinnedFocus")]), e.append(n, o);
751
+ };
752
+ e.if(m, (n) => {
753
+ t.isPinned && n(b);
754
+ });
755
+ var x = e.sibling(m, 2), g = e.child(x), k = (n) => {
756
+ var o = Wt(), M = e.child(o);
757
+ it(M, {
758
+ size: 12,
759
+ "aria-hidden": "true"
760
+ });
761
+ var S = e.sibling(M);
762
+ e.reset(o), e.template_effect((A) => e.set_text(S, ` ${A ?? ""}`), [() => a("pptx.ai.mergeSelectedTables")]), e.delegated("click", o, () => t.onsenddirective(Re(e.get(i).slideIndex, e.get(i).elementIdA, e.get(i).elementIdB))), e.append(n, o);
763
+ };
764
+ e.if(g, (n) => {
765
+ e.get(i) && n(k);
766
+ });
767
+ var w = e.sibling(g, 2);
768
+ let T;
769
+ var _ = e.child(w);
770
+ X(_, {
771
+ size: 14,
772
+ "aria-hidden": "true"
773
+ }), e.reset(w);
774
+ var l = e.sibling(w, 2), r = (n) => {
775
+ var o = J(), M = e.child(o);
776
+ U(M, {
777
+ size: 14,
778
+ "aria-hidden": "true"
779
+ }), e.reset(o), e.template_effect((S, A) => {
780
+ e.set_attribute(o, "title", S), e.set_attribute(o, "aria-label", A);
781
+ }, [() => a("pptx.ai.pickClear"), () => a("pptx.ai.pickClear")]), e.delegated("click", o, function(...S) {
782
+ t.onclearpicks?.apply(this, S);
783
+ }), e.append(n, o);
784
+ }, v = (n) => {
785
+ var o = J(), M = e.child(o), S = (q) => {
786
+ xt(q, {
787
+ size: 14,
788
+ "aria-hidden": "true"
789
+ });
790
+ }, A = (q) => {
791
+ mt(q, {
792
+ size: 14,
793
+ "aria-hidden": "true"
794
+ });
795
+ };
796
+ e.if(M, (q) => {
797
+ t.isPinned ? q(S) : q(A, -1);
798
+ }), e.reset(o), e.template_effect((q, u) => {
799
+ e.set_attribute(o, "title", q), e.set_attribute(o, "aria-label", u);
800
+ }, [() => t.isPinned ? a("pptx.ai.clearFocus") : a("pptx.ai.pinFocus"), () => t.isPinned ? a("pptx.ai.clearFocus") : a("pptx.ai.pinFocus")]), e.delegated("click", o, function(...q) {
801
+ (t.isPinned ? t.onclearpin : t.onpin)?.apply(this, q);
802
+ }), e.append(n, o);
803
+ };
804
+ e.if(l, (n) => {
805
+ t.hasPicks ? n(r) : n(v, -1);
806
+ }), e.reset(x), e.reset(z);
807
+ var C = e.sibling(z, 2), P = (n) => {
808
+ var o = Kt(), M = e.child(o);
809
+ X(M, {
810
+ size: 14,
811
+ class: "pptx-svelte-ai-focus-hint-ic",
812
+ "aria-hidden": "true"
813
+ });
814
+ var S = e.sibling(M, 2), A = e.only_child(S, !0), q = e.sibling(S, 2), u = e.only_child(q, !0);
815
+ e.reset(o), e.template_effect((c, j) => {
816
+ e.set_text(A, c), e.set_text(u, j);
817
+ }, [() => a("pptx.ai.pickElementHint"), () => a("pptx.ai.pickDone")]), e.delegated("click", q, function(...c) {
818
+ t.onstoppick?.apply(this, c);
819
+ }), e.append(n, o);
820
+ };
821
+ e.if(C, (n) => {
822
+ t.pickMode && n(P);
823
+ }), e.reset(p), e.template_effect((n, o, M) => {
824
+ e.set_text(h, n), T = e.set_class(w, 1, "pptx-svelte-ai-focus-btn svelte-kjj0i7", null, T, { "is-active": t.pickMode }), e.set_attribute(w, "title", o), e.set_attribute(w, "aria-label", M), e.set_attribute(w, "aria-pressed", t.pickMode);
825
+ }, [
826
+ () => a("pptx.ai.focusScope"),
827
+ () => a("pptx.ai.pickElement"),
828
+ () => a("pptx.ai.pickAria")
829
+ ]), e.delegated("click", w, function(...n) {
830
+ (t.pickMode ? t.onstoppick : t.onstartpick)?.apply(this, n);
831
+ }), e.append(s, p), e.pop();
832
+ }
833
+ e.delegate(["click"]);
834
+ var Zt = e.from_html('<p class="pptx-svelte-ai-history-empty svelte-1i56i9n"> </p>'), Jt = e.from_html('<li class="pptx-svelte-ai-history-row svelte-1i56i9n"><button type="button"><!> <span class="pptx-svelte-ai-history-text svelte-1i56i9n"><span class="pptx-svelte-ai-history-name svelte-1i56i9n"> </span> <span class="pptx-svelte-ai-history-meta svelte-1i56i9n"> </span></span></button> <button type="button" class="pptx-svelte-ai-history-delete svelte-1i56i9n"><!></button></li>'), Qt = e.from_html('<ul class="pptx-svelte-ai-history-list svelte-1i56i9n"></ul>'), Yt = e.from_html('<div class="pptx-svelte-ai-history-menu svelte-1i56i9n"><div class="pptx-svelte-ai-history-head svelte-1i56i9n"><span class="pptx-svelte-ai-history-title svelte-1i56i9n"> </span> <button type="button" class="pptx-svelte-ai-history-new svelte-1i56i9n"><!> </button></div> <!> <p class="pptx-svelte-ai-history-hint svelte-1i56i9n"> </p></div>'), ea = e.from_html('<div class="pptx-svelte-ai-history svelte-1i56i9n"><div class="pptx-svelte-ai-history-bar svelte-1i56i9n"><button type="button" class="pptx-svelte-ai-chats-btn svelte-1i56i9n"><!> </button> <div class="pptx-svelte-ai-history-actions svelte-1i56i9n"><button type="button" class="pptx-svelte-ai-history-icon-btn svelte-1i56i9n"><!></button> <button type="button" class="pptx-svelte-ai-history-icon-btn svelte-1i56i9n"><!></button></div></div> <!></div>');
835
+ function ta(s, t) {
836
+ e.push(t, !0);
837
+ const a = L();
838
+ let d = e.state(!1), i = e.state(void 0);
839
+ function p(l) {
840
+ e.get(d) && e.get(i) && !e.get(i).contains(l.target) && e.set(d, !1);
841
+ }
842
+ e.user_effect(() => (document.addEventListener("mousedown", p), () => document.removeEventListener("mousedown", p)));
843
+ var z = ea(), f = e.child(z), h = e.child(f), y = e.child(h);
844
+ $e(y, {
845
+ size: 14,
846
+ "aria-hidden": "true"
847
+ });
848
+ var m = e.sibling(y);
849
+ e.reset(h);
850
+ var b = e.sibling(h, 2), x = e.child(b), g = e.child(x);
851
+ ct(g, {
852
+ size: 14,
853
+ "aria-hidden": "true"
854
+ }), e.reset(x);
855
+ var k = e.sibling(x, 2), w = e.child(k);
856
+ B(w, {
857
+ size: 14,
858
+ "aria-hidden": "true"
859
+ }), e.reset(k), e.reset(b), e.reset(f);
860
+ var T = e.sibling(f, 2), _ = (l) => {
861
+ var r = Yt(), v = e.child(r), C = e.child(v), P = e.only_child(C, !0), n = e.sibling(C, 2), o = e.child(n);
862
+ Ae(o, {
863
+ size: 12,
864
+ "aria-hidden": "true"
865
+ });
866
+ var M = e.sibling(o);
867
+ e.reset(n), e.reset(v);
868
+ var S = e.sibling(v, 2), A = (j) => {
869
+ var D = Zt(), E = e.only_child(D, !0);
870
+ e.template_effect((I) => e.set_text(E, I), [() => a("pptx.ai.historyEmpty")]), e.append(j, D);
871
+ }, q = (j) => {
872
+ var D = Qt();
873
+ e.each(D, 21, () => t.chats, (E) => E.id, (E, I) => {
874
+ var N = Jt(), H = e.child(N);
875
+ let F;
876
+ var W = e.child(H);
877
+ De(W, {
878
+ size: 14,
879
+ "aria-hidden": "true"
880
+ });
881
+ var K = e.sibling(W, 2), G = e.child(K), we = e.only_child(G, !0), Ce = e.sibling(G, 2), Me = e.only_child(Ce, !0);
882
+ e.reset(K), e.reset(H);
883
+ var V = e.sibling(H, 2), ze = e.child(V);
884
+ B(ze, {
885
+ size: 14,
886
+ "aria-hidden": "true"
887
+ }), e.reset(V), e.reset(N), e.template_effect((Se, Pe, qe, Te) => {
888
+ F = e.set_class(H, 1, "pptx-svelte-ai-history-resume svelte-1i56i9n", null, F, { "is-active": e.get(I).id === t.activeChatId }), e.set_text(we, Se), e.set_text(Me, Pe), e.set_attribute(V, "title", qe), e.set_attribute(V, "aria-label", Te);
889
+ }, [
890
+ () => e.get(I).title || a("pptx.ai.untitledChat"),
891
+ () => a("pptx.ai.messageCount", { count: e.get(I).messageCount }),
892
+ () => a("pptx.ai.deleteChat"),
893
+ () => a("pptx.ai.deleteChat")
894
+ ]), e.delegated("click", H, () => {
895
+ t.onresume(e.get(I).id), e.set(d, !1);
896
+ }), e.delegated("click", V, () => t.ondelete(e.get(I).id)), e.append(E, N);
897
+ }), e.reset(D), e.append(j, D);
898
+ };
899
+ e.if(S, (j) => {
900
+ t.chats.length === 0 ? j(A) : j(q, -1);
901
+ });
902
+ var u = e.sibling(S, 2), c = e.only_child(u, !0);
903
+ e.reset(r), e.template_effect((j, D, E) => {
904
+ e.set_text(P, j), e.set_text(M, ` ${D ?? ""}`), e.set_text(c, E);
905
+ }, [
906
+ () => a("pptx.ai.historyTitle"),
907
+ () => a("pptx.ai.newChat"),
908
+ () => a("pptx.ai.historyHint")
909
+ ]), e.delegated("click", n, () => {
910
+ t.onnewchat(), e.set(d, !1);
911
+ }), e.append(l, r);
912
+ };
913
+ e.if(T, (l) => {
914
+ e.get(d) && l(_);
915
+ }), e.reset(z), e.bind_this(z, (l) => e.set(i, l), () => e.get(i)), e.template_effect((l, r, v, C, P) => {
916
+ e.set_text(m, ` ${l ?? ""}`), e.set_attribute(x, "title", r), e.set_attribute(x, "aria-label", v), e.set_attribute(k, "title", C), e.set_attribute(k, "aria-label", P), k.disabled = !t.canClear;
917
+ }, [
918
+ () => a("pptx.ai.chats"),
919
+ () => a("pptx.ai.newChat"),
920
+ () => a("pptx.ai.newChat"),
921
+ () => a("pptx.ai.clearChat"),
922
+ () => a("pptx.ai.clearChat")
923
+ ]), e.delegated("click", h, () => e.set(d, !e.get(d))), e.delegated("click", x, () => t.onnewchat()), e.delegated("click", k, () => t.onclearchat()), e.append(s, z), e.pop();
924
+ }
925
+ e.delegate(["click"]);
926
+ var aa = e.from_html('<div class="pptx-svelte-ai-tool-error svelte-1878924"> </div>'), sa = 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>'), ia = 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>');
927
+ function ra(s, t) {
928
+ e.push(t, !0);
929
+ const a = L(), d = {
930
+ view: je,
931
+ text: Ne,
932
+ shape: Mt,
933
+ theme: ht,
934
+ table: jt,
935
+ slide: nt,
936
+ chart: Ye,
937
+ move: dt,
938
+ delete: B,
939
+ search: yt,
940
+ nav: _t,
941
+ animation: at,
942
+ notes: qt,
943
+ tool: Z
944
+ }, i = e.derived(() => t.part.state === "output-error"), p = e.derived(() => t.part.state === "output-available"), z = e.derived(() => !e.get(i) && !e.get(p)), f = e.derived(() => Fe(t.part.toolName, t.part.input, e.get(z) ? "present" : "past")), h = e.derived(() => d[e.get(f).icon] ?? Z), y = e.derived(() => We(t.part.input)), m = e.derived(() => e.get(i) ? a("pptx.ai.toolFailed") : e.get(p) ? a("pptx.ai.toolDone") : a("pptx.ai.toolRunning"));
945
+ var b = ia(), x = e.child(b), g = e.child(x);
946
+ {
947
+ let c = e.derived(() => e.get(i) ? "pptx-svelte-ai-tool-ic is-error" : "pptx-svelte-ai-tool-ic");
948
+ e.component(g, () => e.get(h), (j, D) => {
949
+ D(j, {
950
+ size: 14,
951
+ get class() {
952
+ return e.get(c);
953
+ },
954
+ "aria-hidden": "true"
955
+ });
956
+ });
957
+ }
958
+ var k = e.sibling(g, 2);
959
+ let w;
960
+ var T = e.only_child(k, !0), _ = e.sibling(k, 2);
961
+ let l;
962
+ var r = e.child(_), v = (c) => {
963
+ le(c, {
964
+ size: 11,
965
+ class: "pptx-svelte-ai-spin",
966
+ "aria-hidden": "true"
967
+ });
968
+ };
969
+ e.if(r, (c) => {
970
+ e.get(z) && c(v);
971
+ });
972
+ var C = e.sibling(r, 2), P = (c) => {
973
+ Y(c, {
974
+ size: 11,
975
+ "aria-hidden": "true"
976
+ });
977
+ };
978
+ e.if(C, (c) => {
979
+ e.get(p) && c(P);
980
+ });
981
+ var n = e.sibling(C, 2), o = (c) => {
982
+ R(c, {
983
+ size: 11,
984
+ "aria-hidden": "true"
985
+ });
986
+ };
987
+ e.if(n, (c) => {
988
+ e.get(i) && c(o);
989
+ });
990
+ var M = e.sibling(n);
991
+ e.reset(_), e.reset(x);
992
+ var S = e.sibling(x, 2), A = (c) => {
993
+ var j = aa(), D = e.only_child(j, !0);
994
+ e.template_effect(() => e.set_text(D, t.part.errorText)), e.append(c, j);
995
+ };
996
+ e.if(S, (c) => {
997
+ e.get(i) && t.part.errorText && c(A);
998
+ });
999
+ var q = e.sibling(S, 2), u = (c) => {
1000
+ var j = sa(), D = e.child(j), E = e.only_child(D, !0), I = e.sibling(D, 2), N = e.only_child(I);
1001
+ e.reset(j), e.template_effect((H, F) => {
1002
+ e.set_text(E, H), e.set_text(N, `${F ?? ""}: ${e.get(y) ?? ""}`);
1003
+ }, [() => a("pptx.ai.toolDetails"), () => Xe(t.part.toolName)]), e.append(c, j);
1004
+ };
1005
+ e.if(q, (c) => {
1006
+ e.get(y) && c(u);
1007
+ }), e.reset(b), e.template_effect(() => {
1008
+ w = e.set_class(k, 1, "pptx-svelte-ai-tool-label svelte-1878924", null, w, { "is-error": e.get(i) }), e.set_text(T, e.get(f).label), l = e.set_class(_, 1, "pptx-svelte-ai-tool-chip svelte-1878924", null, l, {
1009
+ "is-error": e.get(i),
1010
+ "is-done": e.get(p)
1011
+ }), e.set_text(M, ` ${e.get(m) ?? ""}`);
1012
+ }), e.append(s, b), e.pop();
1013
+ }
1014
+ var na = 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>'), la = e.from_html('<p class="pptx-svelte-ai-msg-text svelte-16qhgfb"> </p>'), oa = e.from_html('<div class="pptx-svelte-ai-msg svelte-16qhgfb"><div><!></div> <div class="pptx-svelte-ai-msg-body svelte-16qhgfb"></div></div>'), ca = 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>'), pa = e.from_html('<div class="pptx-svelte-ai-messages svelte-16qhgfb" role="log" aria-live="polite"><!> <!> <div class="svelte-16qhgfb"></div></div>');
1015
+ function da(s, t) {
1016
+ e.push(t, !0);
1017
+ const a = L();
1018
+ let d = e.state(void 0);
1019
+ e.user_effect(() => {
1020
+ t.messages, t.isStreaming, e.get(d)?.scrollIntoView({ block: "end" });
1021
+ });
1022
+ var i = e.comment(), p = e.first_child(i), z = (h) => {
1023
+ var y = na(), m = e.child(y);
1024
+ Q(m, {
1025
+ size: 26,
1026
+ "aria-hidden": "true"
1027
+ });
1028
+ var b = e.sibling(m, 2), x = e.only_child(b, !0), g = e.sibling(b, 2), k = e.only_child(g, !0);
1029
+ e.reset(y), e.template_effect((w, T) => {
1030
+ e.set_text(x, w), e.set_text(k, T);
1031
+ }, [() => a("pptx.ai.emptyTitle"), () => a("pptx.ai.emptyHint")]), e.append(h, y);
1032
+ }, f = (h) => {
1033
+ var y = pa(), m = e.child(y);
1034
+ e.each(m, 17, () => t.messages, (k) => k.id, (k, w) => {
1035
+ const T = e.derived(() => e.get(w).role === "user"), _ = e.derived(() => Ke(e.get(w)));
1036
+ var l = e.comment(), r = e.first_child(l), v = (C) => {
1037
+ var P = oa(), n = e.child(P);
1038
+ let o;
1039
+ var M = e.child(n), S = (u) => {
1040
+ Dt(u, {
1041
+ size: 14,
1042
+ "aria-hidden": "true"
1043
+ });
1044
+ }, A = (u) => {
1045
+ Je(u, {
1046
+ size: 14,
1047
+ "aria-hidden": "true"
1048
+ });
1049
+ };
1050
+ e.if(M, (u) => {
1051
+ e.get(T) ? u(S) : u(A, -1);
1052
+ }), e.reset(n);
1053
+ var q = e.sibling(n, 2);
1054
+ e.each(q, 23, () => e.get(_), (u, c) => u.kind === "tool" && u.toolCallId || c, (u, c) => {
1055
+ var j = e.comment(), D = e.first_child(j), E = (N) => {
1056
+ var H = la(), F = e.only_child(H, !0);
1057
+ e.template_effect(() => e.set_text(F, e.get(c).text)), e.append(N, H);
1058
+ }, I = (N) => {
1059
+ ra(N, { get part() {
1060
+ return e.get(c);
1061
+ } });
1062
+ };
1063
+ e.if(D, (N) => {
1064
+ e.get(c).kind === "text" ? N(E) : N(I, -1);
1065
+ }), e.append(u, j);
1066
+ }), e.reset(q), e.reset(P), e.template_effect((u) => {
1067
+ o = e.set_class(n, 1, "pptx-svelte-ai-avatar svelte-16qhgfb", null, o, { "is-user": e.get(T) }), e.set_attribute(n, "aria-label", u);
1068
+ }, [() => e.get(T) ? a("pptx.ai.you") : a("pptx.ai.assistant")]), e.append(C, P);
1069
+ };
1070
+ e.if(r, (C) => {
1071
+ (e.get(T) || e.get(_).length > 0) && C(v);
1072
+ }), e.append(k, l);
1073
+ });
1074
+ var b = e.sibling(m, 2), x = (k) => {
1075
+ var w = ca(), T = e.sibling(e.child(w));
1076
+ e.reset(w), e.template_effect((_) => e.set_text(T, ` ${_ ?? ""}`), [() => a("pptx.ai.thinking")]), e.append(k, w);
1077
+ };
1078
+ e.if(b, (k) => {
1079
+ t.isStreaming && k(x);
1080
+ });
1081
+ var g = e.sibling(b, 2);
1082
+ e.bind_this(g, (k) => e.set(d, k), () => e.get(d)), e.reset(y), e.append(h, y);
1083
+ };
1084
+ e.if(p, (h) => {
1085
+ t.messages.length === 0 ? h(z) : h(f, -1);
1086
+ }), e.append(s, i), e.pop();
1087
+ }
1088
+ var va = e.from_html('<li class="svelte-15p5728"> </li>'), _a = e.from_html('<ul class="pptx-svelte-ai-proposal-summary svelte-15p5728"></ul>'), ua = 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>');
1089
+ function ha(s, t) {
1090
+ e.push(t, !0);
1091
+ const a = L(), d = e.derived(() => t.proposal.summary.map(Be));
1092
+ var i = ua(), p = e.child(i), z = e.only_child(p, !0), f = e.sibling(p, 2), h = e.only_child(f, !0), y = e.sibling(f, 2), m = (l) => {
1093
+ var r = _a();
1094
+ e.each(r, 21, () => e.get(d), e.index, (v, C) => {
1095
+ var P = va(), n = e.only_child(P, !0);
1096
+ e.template_effect(() => e.set_text(n, e.get(C))), e.append(v, P);
1097
+ }), e.reset(r), e.append(l, r);
1098
+ };
1099
+ e.if(y, (l) => {
1100
+ e.get(d).length > 0 && l(m);
1101
+ });
1102
+ var b = e.sibling(y, 2), x = e.child(b), g = e.child(x);
1103
+ Y(g, {
1104
+ size: 13,
1105
+ "aria-hidden": "true"
1106
+ });
1107
+ var k = e.sibling(g);
1108
+ e.reset(x);
1109
+ var w = e.sibling(x, 2), T = e.child(w);
1110
+ U(T, {
1111
+ size: 13,
1112
+ "aria-hidden": "true"
1113
+ });
1114
+ var _ = e.sibling(T);
1115
+ e.reset(w), e.reset(b), e.reset(i), e.template_effect((l, r, v) => {
1116
+ e.set_attribute(i, "data-proposal-id", t.proposal.id), e.set_text(z, l), e.set_text(h, t.proposal.label), e.set_text(k, ` ${r ?? ""}`), e.set_text(_, ` ${v ?? ""}`);
1117
+ }, [
1118
+ () => a("pptx.ai.proposedChange"),
1119
+ () => a("pptx.ai.accept"),
1120
+ () => a("pptx.ai.reject")
1121
+ ]), e.delegated("click", x, () => t.onaccept(t.proposal.id)), e.delegated("click", w, () => t.onreject(t.proposal.id)), e.append(s, i), e.pop();
1122
+ }
1123
+ e.delegate(["click"]);
1124
+ var ga = e.from_html('<button type="button" class="pptx-svelte-ai-accept-all svelte-1jz2xis"> </button>'), xa = 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>');
1125
+ function fa(s, t) {
1126
+ e.push(t, !0);
1127
+ const a = L();
1128
+ var d = xa(), i = e.child(d), p = e.child(i), z = e.only_child(p, !0), f = e.sibling(p, 2), h = (m) => {
1129
+ var b = ga(), x = e.only_child(b, !0);
1130
+ e.template_effect((g) => e.set_text(x, g), [() => a("pptx.ai.acceptAll")]), e.delegated("click", b, function(...g) {
1131
+ t.onacceptall?.apply(this, g);
1132
+ }), e.append(m, b);
1133
+ };
1134
+ e.if(f, (m) => {
1135
+ t.proposals.length > 1 && m(h);
1136
+ }), e.reset(i);
1137
+ var y = e.sibling(i, 2);
1138
+ e.each(y, 17, () => t.proposals, (m) => m.id, (m, b) => {
1139
+ ha(m, {
1140
+ get proposal() {
1141
+ return e.get(b);
1142
+ },
1143
+ get onaccept() {
1144
+ return t.onaccept;
1145
+ },
1146
+ get onreject() {
1147
+ return t.onreject;
1148
+ }
1149
+ });
1150
+ }), e.reset(d), e.template_effect((m) => e.set_text(z, m), [() => a("pptx.ai.pendingChanges", { count: t.proposals.length })]), e.append(s, d), e.pop();
1151
+ }
1152
+ e.delegate(["click"]);
1153
+ var ma = e.from_html('<div class="pptx-svelte-ai-state svelte-nmv6mg"><!></div>'), ba = 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>'), ya = e.from_html('<div class="pptx-svelte-ai-body svelte-nmv6mg"><!> <!> <!> <!> <!> <!></div>'), ka = 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>');
1154
+ function Za(s, t) {
1155
+ e.push(t, !0);
1156
+ const a = L();
1157
+ function d(r) {
1158
+ r && r.slideIndex !== void 0 && t.bridge.goToSlide(r.slideIndex), t.aiPanel.flashToolTarget(r);
1159
+ }
1160
+ const i = O(() => new It({
1161
+ bridge: t.bridge,
1162
+ config: t.config,
1163
+ onToolTarget: d
1164
+ }));
1165
+ e.user_effect(() => {
1166
+ const r = i.session;
1167
+ if (r)
1168
+ return r.changeAnimator.subscribe((v) => {
1169
+ v && t.bridge.goToSlide(v.slideIndex), t.aiPanel.showChangeBatch(v);
1170
+ });
1171
+ });
1172
+ function p(r) {
1173
+ t.aiPanel.flashToolTarget(null), i.applyProposal(r);
1174
+ }
1175
+ function z() {
1176
+ t.aiPanel.flashToolTarget(null), i.acceptAllProposals();
1177
+ }
1178
+ const f = Et({
1179
+ bridge: t.bridge,
1180
+ getMessages: () => i.messages,
1181
+ setMessages: (r) => i.setMessages(r),
1182
+ getUntitledLabel: () => a("pptx.ai.untitledChat")
1183
+ });
1184
+ Ee(() => {
1185
+ i.init();
1186
+ });
1187
+ var h = ka(), y = e.child(h), m = e.child(y);
1188
+ Q(m, {
1189
+ size: 16,
1190
+ class: "pptx-svelte-ai-header-icon",
1191
+ "aria-hidden": "true"
1192
+ });
1193
+ var b = e.sibling(m, 2), x = e.only_child(b, !0), g = e.sibling(b, 2), k = e.child(g);
1194
+ U(k, {
1195
+ size: 16,
1196
+ "aria-hidden": "true"
1197
+ }), e.reset(g), e.reset(y);
1198
+ var w = e.sibling(y, 2), T = (r) => {
1199
+ var v = ma(), C = e.child(v);
1200
+ le(C, {
1201
+ size: 20,
1202
+ class: "pptx-svelte-ai-spin",
1203
+ "aria-hidden": "true"
1204
+ }), e.reset(v), e.append(r, v);
1205
+ }, _ = (r) => {
1206
+ var v = ba(), C = e.child(v);
1207
+ R(C, {
1208
+ size: 24,
1209
+ "aria-hidden": "true"
1210
+ });
1211
+ var P = e.sibling(C, 2), n = e.only_child(P, !0), o = e.sibling(P, 2), M = e.only_child(o, !0);
1212
+ e.reset(v), e.template_effect((S, A) => {
1213
+ e.set_text(n, S), e.set_text(M, A);
1214
+ }, [() => a("pptx.ai.unavailableTitle"), () => i.initError?.message ?? a("pptx.ai.unavailableHint")]), e.append(r, v);
1215
+ }, l = (r) => {
1216
+ var v = ya(), C = e.child(v);
1217
+ {
1218
+ let u = e.derived(() => i.messages.length > 0);
1219
+ ta(C, {
1220
+ get chats() {
1221
+ return f.chats;
1222
+ },
1223
+ get activeChatId() {
1224
+ return f.activeChatId;
1225
+ },
1226
+ get canClear() {
1227
+ return e.get(u);
1228
+ },
1229
+ onresume: (c) => {
1230
+ f.resumeChat(c);
1231
+ },
1232
+ ondelete: (c) => {
1233
+ f.deleteChat(c);
1234
+ },
1235
+ onnewchat: () => f.newChat(),
1236
+ onclearchat: () => f.clearCurrent()
1237
+ });
1238
+ }
1239
+ var P = e.sibling(C, 2);
1240
+ {
1241
+ let u = e.derived(() => t.bridge.getSlides());
1242
+ Xt(P, {
1243
+ get targets() {
1244
+ return t.aiPanel.effectiveTargets;
1245
+ },
1246
+ get slides() {
1247
+ return e.get(u);
1248
+ },
1249
+ get isPinned() {
1250
+ return t.aiPanel.isPinned;
1251
+ },
1252
+ get hasPicks() {
1253
+ return t.aiPanel.hasPicks;
1254
+ },
1255
+ get pickMode() {
1256
+ return t.aiPanel.pickMode;
1257
+ },
1258
+ onpin: () => t.aiPanel.pinFocus(),
1259
+ onclearpin: () => t.aiPanel.clearPinnedFocus(),
1260
+ onsenddirective: (c) => i.send(c),
1261
+ onstartpick: () => t.aiPanel.startPicking(),
1262
+ onstoppick: () => t.aiPanel.stopPicking(),
1263
+ onclearpicks: () => t.aiPanel.clearPicks()
1264
+ });
1265
+ }
1266
+ var n = e.sibling(P, 2);
1267
+ da(n, {
1268
+ get messages() {
1269
+ return i.messages;
1270
+ },
1271
+ get isStreaming() {
1272
+ return i.isStreaming;
1273
+ }
1274
+ });
1275
+ var o = e.sibling(n, 2), M = (u) => {
1276
+ Ot(u, {
1277
+ get message() {
1278
+ return i.error.message;
1279
+ },
1280
+ onretry: () => i.clearError()
1281
+ });
1282
+ };
1283
+ e.if(o, (u) => {
1284
+ i.error && u(M);
1285
+ });
1286
+ var S = e.sibling(o, 2), A = (u) => {
1287
+ fa(u, {
1288
+ get proposals() {
1289
+ return i.proposals;
1290
+ },
1291
+ onaccept: p,
1292
+ onacceptall: z,
1293
+ onreject: (c) => i.rejectProposal(c)
1294
+ });
1295
+ };
1296
+ e.if(S, (u) => {
1297
+ i.proposals.length > 0 && u(A);
1298
+ });
1299
+ var q = e.sibling(S, 2);
1300
+ Vt(q, {
1301
+ get isStreaming() {
1302
+ return i.isStreaming;
1303
+ },
1304
+ onsend: (u) => i.send(u),
1305
+ onstop: () => i.stop(),
1306
+ get prefillText() {
1307
+ return t.aiPanel.prefill.text;
1308
+ },
1309
+ get prefillNonce() {
1310
+ return t.aiPanel.prefill.nonce;
1311
+ }
1312
+ }), e.reset(v), e.append(r, v);
1313
+ };
1314
+ e.if(w, (r) => {
1315
+ i.initState === "checking" ? r(T) : i.initState === "unavailable" || i.initState === "error" ? r(_, 1) : i.initState === "ready" && r(l, 2);
1316
+ }), e.reset(h), e.template_effect((r, v, C, P) => {
1317
+ e.set_attribute(h, "aria-label", r), e.set_text(x, v), e.set_attribute(g, "title", C), e.set_attribute(g, "aria-label", P);
1318
+ }, [
1319
+ () => a("pptx.ai.title"),
1320
+ () => a("pptx.ai.title"),
1321
+ () => a("pptx.ai.close"),
1322
+ () => a("pptx.ai.close")
1323
+ ]), e.delegated("click", g, function(...r) {
1324
+ t.onclose?.apply(this, r);
1325
+ }), e.append(s, h), e.pop();
1326
+ }
1327
+ e.delegate(["click"]);
1328
+ export {
1329
+ Za as default
1330
+ };