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