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