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.
- package/CHANGELOG.md +4 -0
- package/dist/AiChatPanel-CWB7jYUa.js +1108 -0
- package/dist/{export-Dggu1blu.js → export-CAW_l1TQ.js} +44625 -39074
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.js +20 -20
- package/dist/pptx-svelte-viewer.css +1 -1
- package/dist/{translator-DL83W_OP.js → translator-0iRuc5gX.js} +240 -19
- package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts +23 -0
- package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts.map +1 -0
- package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts +47 -0
- package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts.map +1 -0
- package/dist/viewer/components/props-chrome.d.ts +104 -0
- package/dist/viewer/components/props-chrome.d.ts.map +1 -0
- package/dist/viewer/components/props-editing.d.ts +86 -0
- package/dist/viewer/components/props-editing.d.ts.map +1 -0
- package/dist/viewer/components/props-elements.d.ts +65 -0
- package/dist/viewer/components/props-elements.d.ts.map +1 -0
- package/dist/viewer/components/props-stage.d.ts +84 -0
- package/dist/viewer/components/props-stage.d.ts.map +1 -0
- package/dist/viewer/components/props.d.ts +10 -283
- package/dist/viewer/components/props.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts +23 -0
- package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/ribbon-types.d.ts +2 -0
- package/dist/viewer/components/ribbon/ribbon-types.d.ts.map +1 -1
- package/dist/viewer/components/viewer-body-commits.d.ts +18 -0
- package/dist/viewer/components/viewer-body-commits.d.ts.map +1 -0
- package/dist/viewer/components/viewer-body-props.d.ts +125 -0
- package/dist/viewer/components/viewer-body-props.d.ts.map +1 -0
- package/dist/viewer/editor/context-menu-dispatch.d.ts +45 -0
- package/dist/viewer/editor/context-menu-dispatch.d.ts.map +1 -0
- package/dist/viewer/editor/deck-api.d.ts +31 -0
- package/dist/viewer/editor/deck-api.d.ts.map +1 -0
- package/dist/viewer/editor/editor-controller-deps.d.ts +21 -1
- package/dist/viewer/editor/editor-controller-deps.d.ts.map +1 -1
- package/dist/viewer/editor/editor-controller-wiring.d.ts +35 -0
- package/dist/viewer/editor/editor-controller-wiring.d.ts.map +1 -0
- package/dist/viewer/editor/editor-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-document-lifecycle.d.ts +68 -0
- package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -0
- package/dist/viewer/editor/editor-document-state.d.ts +3 -1
- package/dist/viewer/editor/editor-document-state.d.ts.map +1 -1
- package/dist/viewer/editor/editor-freeform.d.ts +4 -0
- package/dist/viewer/editor/editor-freeform.d.ts.map +1 -0
- package/dist/viewer/editor/editor-history-state.svelte.d.ts +31 -0
- package/dist/viewer/editor/editor-history-state.svelte.d.ts.map +1 -0
- package/dist/viewer/editor/editor-ink-controller.svelte.d.ts +10 -6
- package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-keyboard.d.ts +18 -11
- package/dist/viewer/editor/editor-keyboard.d.ts.map +1 -1
- package/dist/viewer/editor/editor-selection.svelte.d.ts +10 -10
- package/dist/viewer/editor/editor-selection.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-state.svelte.d.ts +26 -19
- package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-text-body-mutations.d.ts +17 -0
- package/dist/viewer/editor/editor-text-body-mutations.d.ts.map +1 -0
- package/dist/viewer/editor/element-hit.d.ts +8 -26
- package/dist/viewer/editor/element-hit.d.ts.map +1 -1
- package/dist/viewer/editor/index.d.ts +2 -0
- package/dist/viewer/editor/index.d.ts.map +1 -1
- package/dist/viewer/export/export-wiring.svelte.d.ts +8 -1
- package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -1
- package/dist/viewer/export/rasterize-slide.d.ts +8 -1
- package/dist/viewer/export/rasterize-slide.d.ts.map +1 -1
- package/dist/viewer/index.d.ts +897 -342
- package/dist/viewer/index.js +20 -398
- package/dist/viewer/presentation/animation-media-commands.d.ts +4 -0
- package/dist/viewer/presentation/animation-media-commands.d.ts.map +1 -0
- package/dist/viewer/presentation/animation-playback-helpers.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts +42 -0
- package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts.map +1 -0
- package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts +13 -0
- package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts +38 -0
- package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts.map +1 -0
- package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts +21 -13
- package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts +6 -1
- package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts +3 -1
- package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts +31 -0
- package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts.map +1 -0
- package/dist/viewer/state/create-viewer-state-types.d.ts +43 -6
- package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state.svelte.d.ts +17 -16
- package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
- package/dist/viewer/state/field-context.d.ts +38 -0
- package/dist/viewer/state/field-context.d.ts.map +1 -0
- package/dist/viewer/state/index.d.ts +4 -0
- package/dist/viewer/state/index.d.ts.map +1 -1
- package/dist/viewer/state/navigation.d.ts +9 -7
- package/dist/viewer/state/navigation.d.ts.map +1 -1
- package/dist/viewer/state/open-file.d.ts +15 -0
- package/dist/viewer/state/open-file.d.ts.map +1 -0
- package/dist/viewer/state/presentation-loader.svelte.d.ts +3 -1
- package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -1
- package/dist/viewer/state/quick-access-commands.d.ts +19 -0
- package/dist/viewer/state/quick-access-commands.d.ts.map +1 -0
- package/dist/viewer/state/slide-elements.d.ts +51 -0
- package/dist/viewer/state/slide-elements.d.ts.map +1 -0
- package/dist/viewer/state/theme-locale.svelte.d.ts +68 -0
- package/dist/viewer/state/theme-locale.svelte.d.ts.map +1 -0
- package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -1
- package/dist/viewer/state/viewer-state-options.d.ts +31 -0
- package/dist/viewer/state/viewer-state-options.d.ts.map +1 -0
- package/dist/viewer/style/element-style.d.ts.map +1 -1
- package/dist/viewer/style/text-style.d.ts +15 -0
- package/dist/viewer/style/text-style.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/AiChatPanel-BbVtEzOo.js +0 -1082
package/dist/viewer/index.js
CHANGED
|
@@ -1,400 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { onDestroy as ne, onMount as oe } from "svelte";
|
|
4
|
-
var Ee = H, Ae = P, ye = D;
|
|
5
|
-
function ae(t) {
|
|
6
|
-
const { loader: a, viewer: r, editor: i, options: n } = t;
|
|
7
|
-
function g() {
|
|
8
|
-
const u = n.getSource();
|
|
9
|
-
return u ? u instanceof Uint8Array ? u : new Uint8Array(u) : null;
|
|
10
|
-
}
|
|
11
|
-
const c = new j({
|
|
12
|
-
getSlides: () => i.renderedSlides,
|
|
13
|
-
applyRemoteSlides: (u) => i.applyRemoteSlides(u),
|
|
14
|
-
getConfig: () => n.collaboration,
|
|
15
|
-
getSourceBytes: g,
|
|
16
|
-
getCanvasWidth: () => a.canvasSize.width,
|
|
17
|
-
getCanvasHeight: () => a.canvasSize.height,
|
|
18
|
-
onStart: (u) => n.onstartcollaboration?.(u),
|
|
19
|
-
onStop: () => n.onstopcollaboration?.()
|
|
20
|
-
});
|
|
21
|
-
L({
|
|
22
|
-
collab: c,
|
|
23
|
-
getCurrentSlide: () => r.current,
|
|
24
|
-
getSelectedElementId: () => i.selectedElementId,
|
|
25
|
-
goTo: (u) => r.goTo(u)
|
|
26
|
-
});
|
|
27
|
-
const l = new z(c, () => n.shareDefaults);
|
|
28
|
-
let s = e.state(!1), d = e.state(!1), v = e.state(!1);
|
|
29
|
-
e.user_effect(() => {
|
|
30
|
-
a.loadCount, e.set(v, !1), e.set(d, !1);
|
|
31
|
-
}), e.user_effect(() => {
|
|
32
|
-
i.dirty && a.hasDigitalSignatures && !e.get(v) && e.set(d, !0);
|
|
33
|
-
});
|
|
34
|
-
function o() {
|
|
35
|
-
e.set(v, !0), e.set(d, !1);
|
|
36
|
-
}
|
|
37
|
-
let S = e.state(!1);
|
|
38
|
-
e.user_effect(() => {
|
|
39
|
-
e.set(S, n.getAutosave(), !0);
|
|
40
|
-
});
|
|
41
|
-
const h = e.derived(() => n.getEditable() && e.get(S) && !!n.getFilePath() && !c.readOnly);
|
|
42
|
-
return {
|
|
43
|
-
collab: c,
|
|
44
|
-
dialogs: l,
|
|
45
|
-
autosaveCtl: new I({
|
|
46
|
-
getEnabled: () => e.get(h),
|
|
47
|
-
getIntervalMs: () => n.autosaveIntervalMs ?? 2e3,
|
|
48
|
-
getFilePath: n.getFilePath,
|
|
49
|
-
getSlides: () => i.renderedSlides,
|
|
50
|
-
getSlideMasters: () => i.slideMasters,
|
|
51
|
-
getNotesMaster: () => i.notesMaster,
|
|
52
|
-
getHandoutMaster: () => i.handoutMaster,
|
|
53
|
-
getSections: () => i.sections,
|
|
54
|
-
getHandler: () => a.handler,
|
|
55
|
-
getLoadCount: () => a.loadCount,
|
|
56
|
-
onSaved: (u) => n.onautosave?.(u)
|
|
57
|
-
}),
|
|
58
|
-
get autosaveEnabled() {
|
|
59
|
-
return e.get(S);
|
|
60
|
-
},
|
|
61
|
-
setAutosaveEnabled(u) {
|
|
62
|
-
e.set(S, u, !0), n.onautosavetoggle?.(u);
|
|
63
|
-
},
|
|
64
|
-
get autosaveActive() {
|
|
65
|
-
return e.get(h);
|
|
66
|
-
},
|
|
67
|
-
get versionHistoryOpen() {
|
|
68
|
-
return e.get(s);
|
|
69
|
-
},
|
|
70
|
-
set versionHistoryOpen(u) {
|
|
71
|
-
e.set(s, u, !0);
|
|
72
|
-
},
|
|
73
|
-
get signatureWarningOpen() {
|
|
74
|
-
return e.get(d);
|
|
75
|
-
},
|
|
76
|
-
closeSignatureWarning: o
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function se(t) {
|
|
80
|
-
const { loader: a, editor: r, viewer: i, collab: n, options: g } = t, c = new G(r), l = new K();
|
|
81
|
-
R({
|
|
82
|
-
navigateToZoomTarget: (o) => i.goTo(o),
|
|
83
|
-
getSlides: () => r.renderedSlides
|
|
84
|
-
});
|
|
85
|
-
let s = e.state(null);
|
|
86
|
-
const d = new T(r, {
|
|
87
|
-
getScale: () => r.masterViewTarget ? g.getMasterScale() : t.getScale(),
|
|
88
|
-
getCurrent: () => i.current,
|
|
89
|
-
getPresenting: () => i.isFullscreen,
|
|
90
|
-
getStageRoot: () => g.getStageHolderEl()?.querySelector(".pptx-svelte-stage") ?? null,
|
|
91
|
-
getHolderEl: () => g.getStageHolderEl() ?? null,
|
|
92
|
-
onCursorMove: (o, S) => n.setCursor(o, S, i.current),
|
|
93
|
-
onContextMenu: (o, S) => {
|
|
94
|
-
e.set(s, {
|
|
95
|
-
x: o,
|
|
96
|
-
y: S
|
|
97
|
-
}, !0);
|
|
98
|
-
},
|
|
99
|
-
getSnapToGrid: () => c.preferences.snapToGrid,
|
|
100
|
-
getSnapToShape: () => c.snapToShape,
|
|
101
|
-
getGuides: () => c.guides
|
|
102
|
-
}), v = new W({
|
|
103
|
-
getSlides: () => r.slides,
|
|
104
|
-
commitSlides: (o) => r.commitSlides(o),
|
|
105
|
-
onNavigate: (o, S) => {
|
|
106
|
-
i.goTo(o), r.select(S);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
return Q({
|
|
110
|
-
getSource: g.getSource,
|
|
111
|
-
getEditable: () => g.getEditable() && !n.readOnly,
|
|
112
|
-
getInitialSlide: g.getInitialSlide,
|
|
113
|
-
getTranslator: () => g.t,
|
|
114
|
-
loader: a,
|
|
115
|
-
viewer: i,
|
|
116
|
-
editor: r,
|
|
117
|
-
controller: d,
|
|
118
|
-
getOnload: () => g.onload,
|
|
119
|
-
getOnerror: () => g.onerror,
|
|
120
|
-
getOnslidechange: () => g.onslidechange,
|
|
121
|
-
onContentApplied: () => n.adoptDocAfterLoad()
|
|
122
|
-
}), {
|
|
123
|
-
parityUi: c,
|
|
124
|
-
chromeUi: l,
|
|
125
|
-
controller: d,
|
|
126
|
-
findReplace: v,
|
|
127
|
-
get stageContextMenu() {
|
|
128
|
-
return e.get(s);
|
|
129
|
-
},
|
|
130
|
-
set stageContextMenu(o) {
|
|
131
|
-
e.set(s, o, !0);
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
function ie(t) {
|
|
136
|
-
const { editor: a, loader: r, viewer: i } = t, n = te({
|
|
137
|
-
getContainer: t.getRootEl,
|
|
138
|
-
getSlides: () => a.renderedSlides,
|
|
139
|
-
getCanvasSize: () => r.canvasSize,
|
|
140
|
-
getMediaDataUrls: () => r.mediaDataUrls,
|
|
141
|
-
getCurrent: () => i.current,
|
|
142
|
-
getTranslator: () => t.t,
|
|
143
|
-
getSmartArt3D: t.getSmartArt3D
|
|
144
|
-
}), g = new _({
|
|
145
|
-
controller: n.controller,
|
|
146
|
-
getTranslator: () => t.t
|
|
147
|
-
});
|
|
148
|
-
let c = e.state(!1), l = e.state(null);
|
|
149
|
-
function s() {
|
|
150
|
-
e.set(c, !e.get(c)), e.set(l, e.get(c) ? "notes" : null, !0);
|
|
151
|
-
}
|
|
152
|
-
function d(o) {
|
|
153
|
-
o === "notes" ? e.set(c, !0) : e.get(l) === "notes" && e.set(c, !1), e.set(l, o, !0);
|
|
154
|
-
}
|
|
155
|
-
function v(o, S) {
|
|
156
|
-
t.getEditable() && a.commitNotes(o, S), t.onnotesupdate?.(o);
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
exportWiring: n,
|
|
160
|
-
exportUi: g,
|
|
161
|
-
get notesExpanded() {
|
|
162
|
-
return e.get(c);
|
|
163
|
-
},
|
|
164
|
-
get activeMobileSheet() {
|
|
165
|
-
return e.get(l);
|
|
166
|
-
},
|
|
167
|
-
onNotesToggle: s,
|
|
168
|
-
setActiveMobileSheet: d,
|
|
169
|
-
onNotesCommit: v
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function le(t) {
|
|
173
|
-
const { editor: a, viewer: r, loader: i, parityUi: n, controller: g } = t, c = new $({
|
|
174
|
-
getSlides: () => a.renderedSlides,
|
|
175
|
-
getCurrentIndex: () => r.current,
|
|
176
|
-
navigate: (o) => r.goTo(o),
|
|
177
|
-
getShowWithAnimation: () => i.presentationProperties.showWithAnimation,
|
|
178
|
-
getFrameRoot: () => t.getStageHolderEl()?.querySelector(".pptx-svelte-stage") ?? null
|
|
179
|
-
});
|
|
180
|
-
q({
|
|
181
|
-
controller: c,
|
|
182
|
-
getPresenting: () => r.isFullscreen,
|
|
183
|
-
getCurrentIndex: () => r.current,
|
|
184
|
-
getActiveSlide: () => a.renderedSlides[r.current],
|
|
185
|
-
getStageRoot: () => t.getStageHolderEl()?.querySelector(".pptx-svelte-stage") ?? null
|
|
186
|
-
});
|
|
187
|
-
let l = !1;
|
|
188
|
-
e.user_effect(() => {
|
|
189
|
-
const o = r.isFullscreen;
|
|
190
|
-
l && !o && n.annotations.count > 0 && (n.keepAnnotationsOpen = !0), l = o, !o && n.rehearse.active && n.rehearse.finish();
|
|
191
|
-
}), e.user_effect(() => {
|
|
192
|
-
n.rehearse.move(r.current);
|
|
193
|
-
}), e.user_effect(() => {
|
|
194
|
-
if (!n.rehearse.active || n.rehearse.paused) return;
|
|
195
|
-
const o = window.setInterval(() => n.rehearse.tick(), 250);
|
|
196
|
-
return () => window.clearInterval(o);
|
|
197
|
-
});
|
|
198
|
-
const { onFullscreenToggle: s, onFullscreenChange: d, onKeydown: v } = Z({
|
|
199
|
-
getRootEl: t.getRootEl,
|
|
200
|
-
viewer: r,
|
|
201
|
-
controller: g,
|
|
202
|
-
getEditingActive: t.getEditingActive,
|
|
203
|
-
presentation: c,
|
|
204
|
-
setPointerTool: (o) => {
|
|
205
|
-
n.annotations.tool = o;
|
|
206
|
-
},
|
|
207
|
-
eraseAnnotations: () => n.annotations.clear()
|
|
208
|
-
});
|
|
209
|
-
return {
|
|
210
|
-
presentation: c,
|
|
211
|
-
onFullscreenToggle: s,
|
|
212
|
-
onFullscreenChange: d,
|
|
213
|
-
onKeydown: v
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
function xe(t) {
|
|
217
|
-
X(t.t), N(t.getSmartArt3D);
|
|
218
|
-
const a = new k();
|
|
219
|
-
V({
|
|
220
|
-
getColorScheme: () => a.colorScheme,
|
|
221
|
-
getTableStyleMap: () => a.tableStyleMap,
|
|
222
|
-
getFontScheme: () => a.presentationTheme?.fontScheme
|
|
223
|
-
});
|
|
224
|
-
const r = new B();
|
|
225
|
-
let i = e.state(!1), n = e.state(e.proxy(Date.now()));
|
|
226
|
-
const g = new M({
|
|
227
|
-
getSource: t.getSource,
|
|
228
|
-
getSlideIndex: () => r.current,
|
|
229
|
-
onAudienceSlide: (f) => r.goTo(f),
|
|
230
|
-
onAudienceExit: () => {
|
|
231
|
-
J(window) && w.presentation.showEndOfShow();
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
oe(() => {
|
|
235
|
-
g.connect(), g.isAudience && (r.isFullscreen = !0);
|
|
236
|
-
}), ne(() => g.dispose()), e.user_effect(() => {
|
|
237
|
-
g.sync(r.current);
|
|
238
|
-
});
|
|
239
|
-
function c() {
|
|
240
|
-
e.set(n, Date.now(), !0), e.set(i, !0);
|
|
241
|
-
}
|
|
242
|
-
const l = new re({
|
|
243
|
-
getCurrent: () => r.current,
|
|
244
|
-
getHandler: () => a.handler,
|
|
245
|
-
onChange: () => {
|
|
246
|
-
t.onchange?.(), l.save().then((f) => t.oncontentchange?.(f));
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
F(U({
|
|
250
|
-
loader: a,
|
|
251
|
-
editor: l
|
|
252
|
-
}));
|
|
253
|
-
const s = ae({
|
|
254
|
-
loader: a,
|
|
255
|
-
viewer: r,
|
|
256
|
-
editor: l,
|
|
257
|
-
options: t
|
|
258
|
-
}), d = se({
|
|
259
|
-
loader: a,
|
|
260
|
-
editor: l,
|
|
261
|
-
viewer: r,
|
|
262
|
-
collab: s.collab,
|
|
263
|
-
options: t,
|
|
264
|
-
getScale: () => e.get(o)
|
|
265
|
-
}), v = e.derived(() => Y(t.getViewportWidth(), t.getViewportHeight(), a.canvasSize.width, a.canvasSize.height, r.isFullscreen ? 0 : 24)), o = e.derived(() => r.isFullscreen ? e.get(v) : e.get(v) * ((r.zoomPercent ?? 100) / 100)), S = e.derived(() => Math.max(1, Math.round(r.zoomPercent ?? 100))), h = e.derived(() => l.renderedSlides), u = e.derived(() => e.get(h)[r.current]), E = e.derived(() => !r.isFullscreen), b = e.derived(() => t.getEditable() && !r.isFullscreen && !s.collab.readOnly), A = e.derived(() => t.getEditable() && !s.collab.readOnly && a.slides.length > 0), C = e.derived(() => l.masterViewTarget ? "master" : r.isFullscreen ? "present" : t.getEditable() ? "edit" : "preview");
|
|
266
|
-
e.user_effect(() => t.ondirtychange?.(l.dirty)), e.user_effect(() => t.onmodechange?.(e.get(C))), e.user_effect(() => t.onzoomchange?.(e.get(S) / 100)), e.user_effect(() => t.onselectionchange?.([...l.selection.ids])), e.user_effect(() => t.onslidecountchange?.(e.get(h).length));
|
|
267
|
-
const w = le({
|
|
268
|
-
editor: l,
|
|
269
|
-
viewer: r,
|
|
270
|
-
loader: a,
|
|
271
|
-
parityUi: d.parityUi,
|
|
272
|
-
controller: d.controller,
|
|
273
|
-
getEditingActive: () => e.get(b),
|
|
274
|
-
getStageHolderEl: t.getStageHolderEl,
|
|
275
|
-
getRootEl: t.getRootEl
|
|
276
|
-
}), p = ie({
|
|
277
|
-
editor: l,
|
|
278
|
-
loader: a,
|
|
279
|
-
viewer: r,
|
|
280
|
-
t: t.t,
|
|
281
|
-
getSmartArt3D: t.getSmartArt3D,
|
|
282
|
-
getRootEl: t.getRootEl,
|
|
283
|
-
getEditable: t.getEditable,
|
|
284
|
-
onnotesupdate: t.onnotesupdate
|
|
285
|
-
}), m = O(l), y = ee(p.exportWiring.controller);
|
|
286
|
-
function x() {
|
|
287
|
-
d.controller.destroy(), s.collab.stop(), p.exportWiring.destroy(), a.dispose();
|
|
288
|
-
}
|
|
289
|
-
return {
|
|
290
|
-
loader: a,
|
|
291
|
-
viewer: r,
|
|
292
|
-
editor: l,
|
|
293
|
-
controller: d.controller,
|
|
294
|
-
parityUi: d.parityUi,
|
|
295
|
-
chromeUi: d.chromeUi,
|
|
296
|
-
findReplace: d.findReplace,
|
|
297
|
-
collab: s.collab,
|
|
298
|
-
dialogs: s.dialogs,
|
|
299
|
-
autosaveCtl: s.autosaveCtl,
|
|
300
|
-
presentation: w.presentation,
|
|
301
|
-
presenterSession: g,
|
|
302
|
-
exportWiring: p.exportWiring,
|
|
303
|
-
exportUi: p.exportUi,
|
|
304
|
-
t: t.t,
|
|
305
|
-
editingApi: m,
|
|
306
|
-
exportingApi: y,
|
|
307
|
-
get scale() {
|
|
308
|
-
return e.get(o);
|
|
309
|
-
},
|
|
310
|
-
get effectivePercent() {
|
|
311
|
-
return e.get(S);
|
|
312
|
-
},
|
|
313
|
-
get displaySlides() {
|
|
314
|
-
return e.get(h);
|
|
315
|
-
},
|
|
316
|
-
get activeSlide() {
|
|
317
|
-
return e.get(u);
|
|
318
|
-
},
|
|
319
|
-
get chromeVisible() {
|
|
320
|
-
return e.get(E);
|
|
321
|
-
},
|
|
322
|
-
get editingActive() {
|
|
323
|
-
return e.get(b);
|
|
324
|
-
},
|
|
325
|
-
get showRibbon() {
|
|
326
|
-
return e.get(A);
|
|
327
|
-
},
|
|
328
|
-
get viewerMode() {
|
|
329
|
-
return e.get(C);
|
|
330
|
-
},
|
|
331
|
-
get autosaveActive() {
|
|
332
|
-
return s.autosaveActive;
|
|
333
|
-
},
|
|
334
|
-
get autosaveEnabled() {
|
|
335
|
-
return s.autosaveEnabled;
|
|
336
|
-
},
|
|
337
|
-
setAutosaveEnabled: s.setAutosaveEnabled,
|
|
338
|
-
get presenterMode() {
|
|
339
|
-
return e.get(i);
|
|
340
|
-
},
|
|
341
|
-
set presenterMode(f) {
|
|
342
|
-
e.set(i, f, !0);
|
|
343
|
-
},
|
|
344
|
-
get presenterStartedAt() {
|
|
345
|
-
return e.get(n);
|
|
346
|
-
},
|
|
347
|
-
get stageContextMenu() {
|
|
348
|
-
return d.stageContextMenu;
|
|
349
|
-
},
|
|
350
|
-
set stageContextMenu(f) {
|
|
351
|
-
d.stageContextMenu = f;
|
|
352
|
-
},
|
|
353
|
-
get activeMobileSheet() {
|
|
354
|
-
return p.activeMobileSheet;
|
|
355
|
-
},
|
|
356
|
-
setActiveMobileSheet: p.setActiveMobileSheet,
|
|
357
|
-
get notesExpanded() {
|
|
358
|
-
return p.notesExpanded;
|
|
359
|
-
},
|
|
360
|
-
get versionHistoryOpen() {
|
|
361
|
-
return s.versionHistoryOpen;
|
|
362
|
-
},
|
|
363
|
-
set versionHistoryOpen(f) {
|
|
364
|
-
s.versionHistoryOpen = f;
|
|
365
|
-
},
|
|
366
|
-
get signatureWarningOpen() {
|
|
367
|
-
return s.signatureWarningOpen;
|
|
368
|
-
},
|
|
369
|
-
enterPresenterView: c,
|
|
370
|
-
closeSignatureWarning: s.closeSignatureWarning,
|
|
371
|
-
onNotesToggle: p.onNotesToggle,
|
|
372
|
-
onNotesCommit: p.onNotesCommit,
|
|
373
|
-
onFullscreenToggle: w.onFullscreenToggle,
|
|
374
|
-
onFullscreenChange: w.onFullscreenChange,
|
|
375
|
-
onKeydown: w.onKeydown,
|
|
376
|
-
downloadPptx: m.downloadPptx,
|
|
377
|
-
downloadAs: m.downloadAs,
|
|
378
|
-
destroy: x
|
|
379
|
-
};
|
|
380
|
-
}
|
|
1
|
+
import { $ as s, D as e, O as a, a as i, c as t, d as l, et as S, f as n, g as v, i as d, k as o, l as b, n as g, o as p, r as c, s as x, t as w, u as T } from "../export-CAW_l1TQ.js";
|
|
2
|
+
var m = o, P = a, V = e;
|
|
381
3
|
export {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
4
|
+
w as PowerPointViewer,
|
|
5
|
+
d as PresentationLoader,
|
|
6
|
+
m as Ribbon,
|
|
7
|
+
V as SlideCanvas,
|
|
8
|
+
c as ViewerState,
|
|
9
|
+
P as ViewerToolbar,
|
|
10
|
+
T as clampSlideIndex,
|
|
11
|
+
v as createSvelteAiBridge,
|
|
12
|
+
g as createViewerState,
|
|
13
|
+
i as exportAllSlidesToSvg,
|
|
14
|
+
p as exportAllSlidesToSvgBlobs,
|
|
15
|
+
x as exportSlideAsSvg,
|
|
16
|
+
t as exportSlideToSvg,
|
|
17
|
+
b as exportSlideToSvgBlob,
|
|
18
|
+
l as fitScale,
|
|
19
|
+
n as resolveNavigationKey,
|
|
20
|
+
s as zoomInPercent,
|
|
21
|
+
S as zoomOutPercent
|
|
400
22
|
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TimelineStepCommand } from 'pptx-viewer-shared';
|
|
2
|
+
/** Apply a parsed `p:cmd` media verb to the target's `<video>` / `<audio>`. */
|
|
3
|
+
export declare function executeMediaCommand(command: TimelineStepCommand, frameRoot?: () => HTMLElement | null): void;
|
|
4
|
+
//# sourceMappingURL=animation-media-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animation-media-commands.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/animation-media-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AA4C9D,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAClC,IAAI,CA6CN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-playback-helpers.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/animation-playback-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"animation-playback-helpers.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/animation-playback-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKpF,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,CAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,KACrF,IAAI,CAAC;AAEV,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,YAAY,CAAC;IACxB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;CACrC;AAMD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI,CA+D9F;AAMD,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAK9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,+BAA+B,EAC3C,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,eAAe,GAClB,IAAI,CAsCN;AAMD,wEAAwE;AACxE,wBAAgB,SAAS,CACxB,UAAU,EAAE,+BAA+B,EAC3C,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,eAAe,GAClB,IAAI,CAGN;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,+BAA+B,EAC3C,GAAG,EAAE,eAAe,GAClB,IAAI,CAqBN"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PptxAiBridge } from 'pptx-viewer-shared/ai';
|
|
2
|
+
import { AiPanelController, AiCanvasHighlight } from '../ai/ai-panel-controller.svelte';
|
|
3
|
+
import { CollaborationController } from '../collab';
|
|
4
|
+
import { EditorState } from '../editor/editor-state.svelte';
|
|
5
|
+
import { CreateViewerStateOptions } from './create-viewer-state-types';
|
|
6
|
+
import { PresentationLoader } from './presentation-loader.svelte';
|
|
7
|
+
import { ViewerState } from './viewer-state.svelte';
|
|
8
|
+
export interface AiClusterDeps {
|
|
9
|
+
loader: PresentationLoader;
|
|
10
|
+
viewer: ViewerState;
|
|
11
|
+
editor: EditorState;
|
|
12
|
+
collab: CollaborationController;
|
|
13
|
+
options: CreateViewerStateOptions;
|
|
14
|
+
/** Flip the viewer's `editable` flag: an AI write implies editing. */
|
|
15
|
+
setEditable(editable: boolean): void;
|
|
16
|
+
}
|
|
17
|
+
export interface AiCluster {
|
|
18
|
+
/** The SDK-free bridge handed to the (lazily imported) chat panel. */
|
|
19
|
+
readonly bridge: PptxAiBridge;
|
|
20
|
+
/** On-canvas scope: focus targets, pick mode, live tool-focus highlights. */
|
|
21
|
+
readonly panel: AiPanelController;
|
|
22
|
+
/** Whether the right-side chat panel is open (ribbon Sparkles toggle). */
|
|
23
|
+
panelOpen: boolean;
|
|
24
|
+
/** Element rings to draw on the active slide; empty when AI is disabled. */
|
|
25
|
+
readonly canvasHighlights: readonly AiCanvasHighlight[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* AI assistant wiring: the editor/deck bridge, the on-canvas focus controller,
|
|
29
|
+
* and the panel's open flag. Split out of `createViewerState` to keep that file
|
|
30
|
+
* under the repo's file-size budget.
|
|
31
|
+
*
|
|
32
|
+
* The bridge is built eagerly (it has no `ai`-SDK dependency, by design), but
|
|
33
|
+
* the panel component and the `@ai-sdk/svelte` + `ai` peers it pulls are only
|
|
34
|
+
* imported when the panel first opens. Every AI write funnels through
|
|
35
|
+
* `editor.commitSlides` so one proposal is ONE undoable history entry, exactly
|
|
36
|
+
* like a manual edit.
|
|
37
|
+
*
|
|
38
|
+
* Named `use*`, not `build*`: it registers a teardown `$effect` for the panel
|
|
39
|
+
* controller, so it must be called during component initialization.
|
|
40
|
+
*/
|
|
41
|
+
export declare function useAiCluster(deps: AiClusterDeps): AiCluster;
|
|
42
|
+
//# sourceMappingURL=create-viewer-state-ai.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-viewer-state-ai.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-ai.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,wBAAwB,CAAC;IAClC,sEAAsE;IACtE,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,SAAS;IACzB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,0EAA0E;IAC1E,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACxD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAmG3D"}
|
|
@@ -9,6 +9,12 @@ export interface CollabClusterDeps {
|
|
|
9
9
|
viewer: ViewerState;
|
|
10
10
|
editor: EditorState;
|
|
11
11
|
options: CreateViewerStateOptions;
|
|
12
|
+
/**
|
|
13
|
+
* The live editable flag (not the raw host prop): autosave must disarm the
|
|
14
|
+
* moment an AI edit or Protected View flips editing, not only when the host
|
|
15
|
+
* re-renders with a new `editable`.
|
|
16
|
+
*/
|
|
17
|
+
getEditable(): boolean;
|
|
12
18
|
}
|
|
13
19
|
export interface CollabCluster {
|
|
14
20
|
collab: CollaborationController;
|
|
@@ -16,6 +22,13 @@ export interface CollabCluster {
|
|
|
16
22
|
autosaveCtl: AutosaveController;
|
|
17
23
|
readonly autosaveEnabled: boolean;
|
|
18
24
|
setAutosaveEnabled(enabled: boolean): void;
|
|
25
|
+
/**
|
|
26
|
+
* Set the flag WITHOUT firing `onautosavetoggle`. The File > Options wiring
|
|
27
|
+
* needs this: it owns its own (mount-hydration-suppressed) notification, so
|
|
28
|
+
* routing through {@link setAutosaveEnabled} would double-fire the host
|
|
29
|
+
* callback on every dialog edit.
|
|
30
|
+
*/
|
|
31
|
+
setAutosaveFlag(enabled: boolean): void;
|
|
19
32
|
readonly autosaveActive: boolean;
|
|
20
33
|
versionHistoryOpen: boolean;
|
|
21
34
|
readonly signatureWarningOpen: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-viewer-state-collab.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-collab.svelte.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-viewer-state-collab.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-collab.svelte.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,wBAAwB,CAAC;IAClC;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,yBAAyB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,qBAAqB,IAAI,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CA+FvE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ViewerMode } from 'pptx-viewer-shared';
|
|
2
|
+
import { CollaborationController } from '../collab';
|
|
3
|
+
import { EditorState } from '../editor/editor-state.svelte';
|
|
4
|
+
import { CreateViewerStateOptions } from './create-viewer-state-types';
|
|
5
|
+
import { PresentationLoader } from './presentation-loader.svelte';
|
|
6
|
+
import { ViewerState } from './viewer-state.svelte';
|
|
7
|
+
export interface ViewerDerivedDeps {
|
|
8
|
+
loader: PresentationLoader;
|
|
9
|
+
viewer: ViewerState;
|
|
10
|
+
editor: EditorState;
|
|
11
|
+
collab: CollaborationController;
|
|
12
|
+
options: CreateViewerStateOptions;
|
|
13
|
+
/** The live editable flag (not the raw host prop). */
|
|
14
|
+
getEditable(): boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Layout / zoom / mode values every part of the chrome reads, as live getters. */
|
|
17
|
+
export interface ViewerDerived {
|
|
18
|
+
readonly scale: number;
|
|
19
|
+
readonly effectivePercent: number;
|
|
20
|
+
readonly displaySlides: EditorState['renderedSlides'];
|
|
21
|
+
readonly activeSlide: EditorState['renderedSlides'][number] | undefined;
|
|
22
|
+
readonly chromeVisible: boolean;
|
|
23
|
+
readonly editingActive: boolean;
|
|
24
|
+
readonly showRibbon: boolean;
|
|
25
|
+
readonly viewerMode: ViewerMode;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The viewer's derived view state (canvas scale, zoom percent, the rendered
|
|
29
|
+
* slide array, chrome/editing/ribbon visibility, the resolved mode) plus the
|
|
30
|
+
* `$effect`s that report the ones the host subscribes to. Split out of
|
|
31
|
+
* `createViewerState` to keep that file under the repo's file-size budget.
|
|
32
|
+
*
|
|
33
|
+
* Every value is returned as a getter, not a snapshot, so a consumer reading
|
|
34
|
+
* `derived.scale` outside an effect still tracks it. Named `use*`, not
|
|
35
|
+
* `build*`: it registers the host-notification effects.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useViewerDerived(deps: ViewerDerivedDeps): ViewerDerived;
|
|
38
|
+
//# sourceMappingURL=create-viewer-state-derived.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-viewer-state-derived.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-derived.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,wBAAwB,CAAC;IAClC,sDAAsD;IACtD,WAAW,IAAI,OAAO,CAAC;CACvB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAuEvE"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { CollaborationController } from '../collab';
|
|
2
|
+
import { StageContextMenu } from '../components/props';
|
|
2
3
|
import { EditorController } from '../editor/editor-controller.svelte';
|
|
3
4
|
import { FindReplaceState } from '../editor/editor-find-replace.svelte';
|
|
4
5
|
import { EditorState } from '../editor/editor-state.svelte';
|
|
5
6
|
import { ChromeUiState } from './chrome-ui.svelte';
|
|
6
7
|
import { CreateViewerStateOptions } from './create-viewer-state-types';
|
|
7
8
|
import { PresentationLoader } from './presentation-loader.svelte';
|
|
9
|
+
import { ViewerOptionsState } from './viewer-options.svelte';
|
|
8
10
|
import { ViewerParityUiState } from './viewer-parity-ui.svelte';
|
|
9
11
|
import { ViewerState } from './viewer-state.svelte';
|
|
10
12
|
export interface EditorUiClusterDeps {
|
|
@@ -15,28 +17,34 @@ export interface EditorUiClusterDeps {
|
|
|
15
17
|
options: CreateViewerStateOptions;
|
|
16
18
|
/** Effective canvas scale (main stage), or master-view scale when applicable. */
|
|
17
19
|
getScale(): number;
|
|
20
|
+
/** The live editable flag (not the raw host prop). */
|
|
21
|
+
getEditable(): boolean;
|
|
22
|
+
/** Flip the live editable flag (Trust Center's Protected View on load). */
|
|
23
|
+
setEditable(editable: boolean): void;
|
|
24
|
+
/** Autosave flag + toggle, owned by the collaboration cluster built before this one. */
|
|
25
|
+
getAutosaveEnabled(): boolean;
|
|
26
|
+
setAutosaveEnabled(enabled: boolean): void;
|
|
18
27
|
}
|
|
19
28
|
export interface EditorUiCluster {
|
|
20
29
|
parityUi: ViewerParityUiState;
|
|
21
30
|
chromeUi: ChromeUiState;
|
|
31
|
+
optionsState: ViewerOptionsState;
|
|
22
32
|
controller: EditorController;
|
|
23
33
|
findReplace: FindReplaceState;
|
|
24
|
-
stageContextMenu:
|
|
25
|
-
x: number;
|
|
26
|
-
y: number;
|
|
27
|
-
} | null;
|
|
34
|
+
stageContextMenu: StageContextMenu | null;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* The editing chrome cluster: view/print/annotation preferences
|
|
31
|
-
* (`ViewerParityUiState`),
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* (`
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* `
|
|
38
|
+
* (`ViewerParityUiState`), the full File > Options model (`ViewerOptionsState`,
|
|
39
|
+
* published via context for the quick-access bar / ribbon / Options dialog),
|
|
40
|
+
* side-panel open state (`ChromeUiState`), the pointer/keyboard/history
|
|
41
|
+
* controller (`EditorController`), the ribbon's Find & Replace panel state, and
|
|
42
|
+
* the load-pipeline wiring (`useViewerEffects`, which needs `controller` to
|
|
43
|
+
* close open selections/inline edits when `editable` flips off). Split out of
|
|
44
|
+
* `createViewerState` to keep that file under the repo's file-size budget;
|
|
45
|
+
* built after the collaboration cluster because `controller` reports cursor
|
|
46
|
+
* moves to `collab.setCursor` and the options wiring drives its autosave flag.
|
|
47
|
+
* Named `use*`, not `build*`, because of the `use*` calls it makes.
|
|
40
48
|
*/
|
|
41
49
|
export declare function useEditorUiCluster(deps: EditorUiClusterDeps): EditorUiCluster;
|
|
42
50
|
//# sourceMappingURL=create-viewer-state-editor-ui.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-viewer-state-editor-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-editor-ui.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-viewer-state-editor-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-editor-ui.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,wBAAwB,CAAC;IAClC,iFAAiF;IACjF,QAAQ,IAAI,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,IAAI,OAAO,CAAC;IACvB,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,wFAAwF;IACxF,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAkG7E"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TextSegment } from 'pptx-viewer-core';
|
|
2
|
-
import { MobileSheetKey } from 'pptx-viewer-shared';
|
|
2
|
+
import { FieldSubstitutionContext, MobileSheetKey } from 'pptx-viewer-shared';
|
|
3
3
|
import { Translator } from '../../i18n/translator';
|
|
4
4
|
import { EditorState } from '../editor/editor-state.svelte';
|
|
5
5
|
import { ExportUiState } from '../export/export-ui.svelte';
|
|
@@ -15,6 +15,11 @@ export interface ExportNotesClusterDeps {
|
|
|
15
15
|
getRootEl(): HTMLDivElement | undefined;
|
|
16
16
|
/** Whether in-place editing is on (gates whether notes edits are history-tracked). */
|
|
17
17
|
getEditable(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Deck-level field-substitution context, so an exported slide resolves its
|
|
20
|
+
* slide-number / date / footer runs exactly like the on-screen stage does.
|
|
21
|
+
*/
|
|
22
|
+
getFieldContext?(): FieldSubstitutionContext;
|
|
18
23
|
onnotesupdate?: (notes: string) => void;
|
|
19
24
|
}
|
|
20
25
|
export interface ExportNotesCluster {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-viewer-state-export-notes.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-export-notes.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-viewer-state-export-notes.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-export-notes.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,UAAU,CAAC;IACd,aAAa,IAAI,OAAO,CAAC;IACzB,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,sFAAsF;IACtF,WAAW,IAAI,OAAO,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,IAAI,wBAAwB,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC3C,aAAa,IAAI,IAAI,CAAC;IACtB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CAoDxF"}
|