pptx-svelte-viewer 2.19.0 → 2.20.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 (36) hide show
  1. package/CHANGELOG.md +448 -0
  2. package/dist/{AiChatPanel-DKeBilcx.js → AiChatPanel-DPXM1HsP.js} +188 -204
  3. package/dist/{export-CZzvhGTm.js → export-Cp97qZ_g.js} +22289 -21779
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.d.ts +55 -9
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +29 -29
  8. package/dist/pptx-svelte-viewer.css +1 -1
  9. package/dist/{translator-EP8BTIz6.js → translator-Cs5ewuZ4.js} +8 -0
  10. package/dist/viewer/components/presentation-toolbar.svelte.d.ts +6 -0
  11. package/dist/viewer/components/presentation-toolbar.svelte.d.ts.map +1 -1
  12. package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -1
  13. package/dist/viewer/editor/editor-state.svelte.d.ts +14 -0
  14. package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
  15. package/dist/viewer/index.d.ts +298 -17
  16. package/dist/viewer/index.js +10 -10
  17. package/dist/viewer/state/autosave-recovery.svelte.d.ts +48 -0
  18. package/dist/viewer/state/autosave-recovery.svelte.d.ts.map +1 -0
  19. package/dist/viewer/state/autosave.svelte.d.ts +26 -2
  20. package/dist/viewer/state/autosave.svelte.d.ts.map +1 -1
  21. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts +23 -0
  22. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts.map +1 -1
  23. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
  24. package/dist/viewer/state/create-viewer-state-types.d.ts +21 -4
  25. package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
  26. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  27. package/dist/viewer/state/viewer-options.svelte.d.ts +5 -3
  28. package/dist/viewer/state/viewer-options.svelte.d.ts.map +1 -1
  29. package/dist/viewer/state/viewer-parity-ui.svelte.d.ts +11 -0
  30. package/dist/viewer/state/viewer-parity-ui.svelte.d.ts.map +1 -1
  31. package/dist/viewer/state/viewer-state-options.d.ts.map +1 -1
  32. package/dist/viewer/state/viewport-handlers.d.ts +4 -0
  33. package/dist/viewer/state/viewport-handlers.d.ts.map +1 -1
  34. package/dist/viewer/types.d.ts +32 -8
  35. package/dist/viewer/types.d.ts.map +1 -1
  36. package/package.json +1 -1
@@ -13,6 +13,13 @@ import { DeckSaveIntent } from 'pptx-viewer-shared';
13
13
  * - Vue's debounce-on-edit trigger: an edit marks the document dirty and
14
14
  * (re)arms a debounce timer instead of polling on a fixed interval.
15
15
  *
16
+ * The debounce is CAPPED by the shared `nextAutosaveDelayMs`, so it keeps the
17
+ * same promise React's and Angular's polling engines do: a snapshot lands no
18
+ * later than one interval after the FIRST unsaved edit, and no more often than
19
+ * once per interval. Without that cap a user who keeps typing keeps re-arming
20
+ * the timer, and at the two-minute AutoRecover cadence that is a whole session
21
+ * of work that never reaches the recovery store.
22
+ *
16
23
  * The controller registers its own edit-watching `$effect` in the constructor,
17
24
  * so the SFC only has to construct it once during setup and read its reactive
18
25
  * `status` / `isDirty` for the toolbar indicator.
@@ -28,9 +35,13 @@ import { DeckSaveIntent } from 'pptx-viewer-shared';
28
35
  */
29
36
  export type AutosaveStatus = 'idle' | 'disabled' | 'saving' | 'saved' | 'error';
30
37
  export interface AutosaveDeps {
31
- /** Master on/off: host `autosave` prop AND editing allowed. */
38
+ /**
39
+ * Master on/off: the resolved activation (`resolveAutosaveActivation` in
40
+ * shared), which folds the host policy, the user's toggle, editability and
41
+ * the collaboration read-only veto into one answer.
42
+ */
32
43
  getEnabled: () => boolean;
33
- /** Debounce window in milliseconds. */
44
+ /** Debounce window in milliseconds, and the ceiling on deferring a save. */
34
45
  getIntervalMs: () => number;
35
46
  /** IndexedDB record key (host `filePath`); autosave is disabled without one. */
36
47
  getFilePath: () => string | undefined;
@@ -55,6 +66,19 @@ export interface AutosaveDeps {
55
66
  * a user edit), so the watcher clears dirty instead of arming a save.
56
67
  */
57
68
  getLoadCount: () => number;
69
+ /**
70
+ * Monotonic SEED counter, bumped in the same synchronous block that installs
71
+ * the loaded slides (`EditorState.seedNonce`).
72
+ *
73
+ * `getLoadCount` alone is not enough, because the loader bumps it in an
74
+ * earlier flush than the effect that copies its slides into the editor: this
75
+ * watcher ran once on the count change (old slides, so nothing to do) and
76
+ * then a second time on the slide reassignment, with the count already
77
+ * settled - indistinguishable from an edit. Merely OPENING a deck therefore
78
+ * marked it dirty and wrote a crash-recovery snapshot, so the next visit
79
+ * offered to recover unsaved changes that never existed.
80
+ */
81
+ getSeedNonce?: () => number;
58
82
  /** Host callback with the freshly-serialized bytes on each successful save. */
59
83
  onSaved?: (bytes: Uint8Array) => void;
60
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autosave.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/autosave.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOzD;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC5B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,uCAAuC;IACvC,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,gFAAgF;IAChF,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,uDAAuD;IACvD,SAAS,EAAE,MAAM,SAAS,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,WAAW,EAAE,CAAC;IAClC,uEAAuE;IACvE,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,cAAc,CAAC;IACrC;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED,qBAAa,kBAAkB;;IAC9B,oDAAoD;IACpD,MAAM,iBAAkC;IACxC,0DAA0D;IAC1D,OAAO,UAAiB;IACxB,gEAAgE;IAChE,WAAW,gBAA+B;gBAQ9B,IAAI,EAAE,YAAY;IA2F9B,8DAA8D;IACxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
1
+ {"version":3,"file":"autosave.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/autosave.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC5B;;;;OAIG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,gFAAgF;IAChF,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,uDAAuD;IACvD,SAAS,EAAE,MAAM,SAAS,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,WAAW,EAAE,CAAC;IAClC,uEAAuE;IACvE,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,cAAc,CAAC;IACrC;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAED,qBAAa,kBAAkB;;IAC9B,oDAAoD;IACpD,MAAM,iBAAkC;IACxC,0DAA0D;IAC1D,OAAO,UAAiB;IACxB,gEAAgE;IAChE,WAAW,gBAA+B;gBAe9B,IAAI,EAAE,YAAY;IA6G9B,8DAA8D;IACxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
@@ -1,5 +1,7 @@
1
+ import { AutosaveDisabledReason } from 'pptx-viewer-shared';
1
2
  import { CollaborationController, CollaborationDialogsState } from '../collab';
2
3
  import { EditorState } from '../editor/editor-state.svelte';
4
+ import { AutosaveRecoveryController } from './autosave-recovery.svelte';
3
5
  import { AutosaveController } from './autosave.svelte';
4
6
  import { CreateViewerStateOptions } from './create-viewer-state-types';
5
7
  import { PresentationLoader } from './presentation-loader.svelte';
@@ -15,12 +17,33 @@ export interface CollabClusterDeps {
15
17
  * re-renders with a new `editable`.
16
18
  */
17
19
  getEditable(): boolean;
20
+ /**
21
+ * File > Options > Save > "Save AutoRecover information every N minutes",
22
+ * in seconds. Used whenever the host passed no explicit `autosaveIntervalMs`.
23
+ * A closure, not a value: the options cluster is built after this one.
24
+ */
25
+ getOptionsIntervalSeconds?: () => number | undefined;
18
26
  }
19
27
  export interface CollabCluster {
20
28
  collab: CollaborationController;
21
29
  dialogs: CollaborationDialogsState;
22
30
  autosaveCtl: AutosaveController;
31
+ autosaveRecovery: AutosaveRecoveryController;
32
+ /**
33
+ * The EFFECTIVE toggle state for the title bar: the user's preference,
34
+ * forced to false while the host vetoes autosave so the switch renders off
35
+ * rather than claiming to be on while nothing is written.
36
+ */
23
37
  readonly autosaveEnabled: boolean;
38
+ /**
39
+ * The user's RAW preference, unaffected by the host veto. The File > Options
40
+ * store mirrors this one: a host that happens to ship `autosave={false}`
41
+ * must not overwrite the AutoSave choice the user made for every other host.
42
+ */
43
+ readonly autosavePreference: boolean;
44
+ /** False only when the host passed `autosave={false}`. */
45
+ readonly autosaveToggleAvailable: boolean;
46
+ readonly autosaveDisabledReason: AutosaveDisabledReason | undefined;
24
47
  setAutosaveEnabled(enabled: boolean): void;
25
48
  /**
26
49
  * Set the flag WITHOUT firing `onautosavetoggle`. The File > Options wiring
@@ -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;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,CAkGvE"}
1
+ {"version":3,"file":"create-viewer-state-collab.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-collab.svelte.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,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;IACvB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,yBAAyB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACpE,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,CAgJvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-viewer-state-presentation.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-presentation.svelte.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAA0B,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iFAAiF;IACjF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kEAAkE;IAClE,YAAY,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,IAAI,OAAO,CAAC;IAC5B,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/C,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D,YAAY,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAiGzF"}
1
+ {"version":3,"file":"create-viewer-state-presentation.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-presentation.svelte.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAA0B,MAAM,iBAAiB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,iFAAiF;IACjF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,kEAAkE;IAClE,YAAY,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,IAAI,OAAO,CAAC;IAC5B,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/C,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D,YAAY,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CA0GzF"}
@@ -1,5 +1,5 @@
1
1
  import { PptxSaveFormat, TextSegment } from 'pptx-viewer-core';
2
- import { CanvasSize, CollaborationConfig, FieldSubstitutionContext, MobileSheetKey, ViewerMode } from 'pptx-viewer-shared';
2
+ import { AutosaveDisabledReason, CanvasSize, CollaborationConfig, FieldSubstitutionContext, MobileSheetKey, ViewerMode } from 'pptx-viewer-shared';
3
3
  import { Translator } from '../../i18n/translator';
4
4
  import { CollaborationController, CollaborationDialogsState } from '../collab';
5
5
  import { ShareDefaultsInput } from '../collab/collaboration-dialogs.svelte';
@@ -14,6 +14,7 @@ import { ExportWiring } from '../export/export-wiring.svelte';
14
14
  import { ExportingApi } from '../export/exporting-api';
15
15
  import { PresentationController, PresenterSession } from '../presentation';
16
16
  import { ViewerLoadDetail } from '../types';
17
+ import { AutosaveRecoveryController } from './autosave-recovery.svelte';
17
18
  import { AutosaveController } from './autosave.svelte';
18
19
  import { ChromeUiState } from './chrome-ui.svelte';
19
20
  import { AiCluster } from './create-viewer-state-ai.svelte';
@@ -34,8 +35,13 @@ export interface CreateViewerStateOptions {
34
35
  getSource: () => Uint8Array | ArrayBuffer | null | undefined;
35
36
  collaboration?: CollaborationConfig;
36
37
  shareDefaults?: ShareDefaultsInput;
37
- /** Host `autosave` prop (post-effect value the caller keeps in sync). */
38
- getAutosave: () => boolean;
38
+ /**
39
+ * Host `autosave` prop, verbatim. `undefined` means the host said nothing,
40
+ * which PERMITS autosave (the user's toggle then decides); only an explicit
41
+ * `false` vetoes it and makes the toggle inert. See
42
+ * `resolveAutosaveActivation` in `pptx-viewer-shared`.
43
+ */
44
+ getAutosave: () => boolean | undefined;
39
45
  autosaveIntervalMs?: number;
40
46
  getFilePath: () => string | undefined;
41
47
  getInitialSlide: () => number;
@@ -99,6 +105,8 @@ export interface ViewerStateBag {
99
105
  readonly collab: CollaborationController;
100
106
  readonly dialogs: CollaborationDialogsState;
101
107
  readonly autosaveCtl: AutosaveController;
108
+ /** The "recover unsaved changes?" probe + prompt for the loaded deck. */
109
+ readonly autosaveRecovery: AutosaveRecoveryController;
102
110
  readonly presentation: PresentationController;
103
111
  readonly presenterSession: PresenterSession;
104
112
  readonly exportWiring: ExportWiring;
@@ -134,8 +142,17 @@ export interface ViewerStateBag {
134
142
  * can flip it without waiting on the host.
135
143
  */
136
144
  editable: boolean;
137
- /** Read-only: mutate via {@link setAutosaveEnabled}, which also fires `onautosavetoggle`. */
145
+ /**
146
+ * The EFFECTIVE title-bar AutoSave state: the user's preference, or false
147
+ * when the host vetoed autosave (the switch renders off and inert rather
148
+ * than pretending to work). Mutate via {@link setAutosaveEnabled}, which
149
+ * also fires `onautosavetoggle`.
150
+ */
138
151
  readonly autosaveEnabled: boolean;
152
+ /** False only when the host passed `autosave={false}`; the toggle is then inert. */
153
+ readonly autosaveToggleAvailable: boolean;
154
+ /** Why autosave is not running, for a host that wants to explain it. */
155
+ readonly autosaveDisabledReason: AutosaveDisabledReason | undefined;
139
156
  setAutosaveEnabled(enabled: boolean): void;
140
157
  presenterMode: boolean;
141
158
  /** `Date.now()` timestamp of the last `enterPresenterView()` call; the presenter view's elapsed-time display. */
@@ -1 +1 @@
1
- {"version":3,"file":"create-viewer-state-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-viewer-state-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EACX,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACxC,SAAS,EAAE,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,CAAC,EAAE,UAAU,CAAC;IACd,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B;;;;OAIG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAE7B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IACnD,SAAS,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IAC5C,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,kEAAkE;IAClE,cAAc,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC;IACvB,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,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,kGAAkG;IAClG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,oFAAoF;IACpF,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACpE,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,iHAAiH;IACjH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC3C,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAEvC,kBAAkB,IAAI,IAAI,CAAC;IAC3B,qBAAqB,IAAI,IAAI,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,IAAI,IAAI,CAAC;IACjB,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,YAAY,IAAI,wBAAwB,CAAC;IACzC,aAAa,IAAI,IAAI,CAAC;IACtB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7D,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,6EAA6E;IAC7E,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,iFAAiF;IACjF,OAAO,IAAI,IAAI,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-viewer-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAW5F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CAiQnF"}
1
+ {"version":3,"file":"create-viewer-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state.svelte.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAW5F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CAoRnF"}
@@ -44,10 +44,12 @@ export declare class ViewerOptionsState {
44
44
  /** Accessibility > "feedback with sound" cue for a completed action. */
45
45
  playFeedback(): void;
46
46
  /**
47
- * Autosave debounce in ms: the host prop until the user picks a custom
48
- * AutoRecover cadence in Options > Save, which then takes over.
47
+ * Options > Save > "Save AutoRecover information every N minutes", in
48
+ * seconds. The autosave cadence whenever the host passed no explicit
49
+ * `autosaveIntervalMs`; the host-vs-user precedence itself is decided by
50
+ * `resolveAutosaveIntervalMs` in shared, not re-invented here.
49
51
  */
50
- autosaveDebounceMs(hostIntervalMs: number, defaultMinutes: number): number;
52
+ get autosaveIntervalSeconds(): number;
51
53
  /** Options > Save > "Delete cached files": drop all recovery snapshots. */
52
54
  clearCache(): Promise<void>;
53
55
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-options.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-options.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;;GAOG;AACH,qBAAa,kBAAkB;;IAC9B,iEAAiE;IACjE,OAAO,gBAAoE;gBAK/D,IAAI,CAAC,EAAE,sBAAsB;IAQzC,+DAA+D;IAC/D,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,oEAAoE;IACpE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,mEAAmE;IACnE,IAAI,kBAAkB,IAAI,SAAS,YAAY,EAAE,CAEhD;IAED,sEAAsE;IACtE,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAEtD;IAED,oEAAoE;IACpE,IAAI,WAAW,IAAI,MAAM,EAAE,CAE1B;IAED,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAItF,oEAAoE;IACpE,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAItC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI9D,sBAAsB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI3D,KAAK,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAIzC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAahD,6EAA6E;IAC7E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrF;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxD,wEAAwE;IACxE,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM;IAM1E,2EAA2E;IACrE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"viewer-options.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-options.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;;GAOG;AACH,qBAAa,kBAAkB;;IAC9B,iEAAiE;IACjE,OAAO,gBAAoE;gBAK/D,IAAI,CAAC,EAAE,sBAAsB;IAQzC,+DAA+D;IAC/D,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,oEAAoE;IACpE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,mEAAmE;IACnE,IAAI,kBAAkB,IAAI,SAAS,YAAY,EAAE,CAEhD;IAED,sEAAsE;IACtE,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAEtD;IAED,oEAAoE;IACpE,IAAI,WAAW,IAAI,MAAM,EAAE,CAE1B;IAED,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAItF,oEAAoE;IACpE,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAItC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAI9D,sBAAsB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI3D,KAAK,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAIzC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAahD,6EAA6E;IAC7E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrF;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxD,wEAAwE;IACxE,YAAY,IAAI,IAAI;IAIpB;;;;;OAKG;IACH,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,2EAA2E;IACrE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,IAAI,IAAI;CAGf"}
@@ -1,5 +1,6 @@
1
1
  import { ViewerPreferences } from 'pptx-viewer-shared';
2
2
  import { CompareController } from '../compare/compare-controller.svelte';
3
+ import { PresentToolbarChrome } from '../components/presentation-toolbar.svelte';
3
4
  import { EditorState } from '../editor/editor-state.svelte';
4
5
  import { PresentationAnnotations } from '../presentation/presentation-annotations.svelte';
5
6
  import { RehearseState } from '../presentation/rehearse-state.svelte';
@@ -7,6 +8,16 @@ import { RehearseState } from '../presentation/rehearse-state.svelte';
7
8
  export declare class ViewerParityUiState {
8
9
  readonly compare: CompareController;
9
10
  readonly annotations: PresentationAnnotations;
11
+ /**
12
+ * The show toolbar's fade/auto-hide state. It lives here, not inside
13
+ * `PresentationToolbar.svelte`, because PowerPoint's Ctrl+H toggles the show
14
+ * chrome from the keyboard handler, which is nowhere near that component: a
15
+ * second visibility flag over there would be overwritten by the next mouse
16
+ * move, so the shortcut and the countdown share this one.
17
+ */
18
+ readonly showChrome: PresentToolbarChrome;
19
+ /** PowerPoint's Ctrl+S "See All Slides" grid, over the running show. */
20
+ allSlidesOpen: boolean;
10
21
  readonly rehearse: RehearseState;
11
22
  setupSlideShowOpen: boolean;
12
23
  headerFooterOpen: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-parity-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-parity-ui.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,6EAA6E;AAC7E,qBAAa,mBAAmB;IAC/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,0BAAiC;IACrD,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,kBAAkB,UAAiB;IACnC,gBAAgB,UAAiB;IACjC,YAAY,UAAiB;IAC7B,aAAa,UAAiB;IAC9B,mBAAmB,UAAiB;IACpC,iBAAiB,UAAiB;IAClC,gBAAgB,UAAiB;IACjC,eAAe,UAAiB;IAChC;;;;;;;;OAQG;IACH,kBAAkB,gBAA+B;IACjD,iBAAiB,UAAiB;IAClC,eAAe,UAAiB;IAChC,+EAA+E;IAC/E,eAAe,UAAiB;IAChC,gFAAgF;IAChF,eAAe,UAAiB;IAChC,UAAU,UAAiB;IAC3B,WAAW,UAAgB;IAC3B,MAAM;cAAkB,GAAG,GAAG,GAAG;kBAAY,MAAM;QAAU;IAC7D,WAAW,oBAAgE;gBAE/D,MAAM,EAAE,WAAW;IAI/B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAI9F"}
1
+ {"version":3,"file":"viewer-parity-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-parity-ui.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,6EAA6E;AAC7E,qBAAa,mBAAmB;IAC/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,0BAAiC;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,uBAA8B;IACjD,wEAAwE;IACxE,aAAa,UAAiB;IAC9B,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,kBAAkB,UAAiB;IACnC,gBAAgB,UAAiB;IACjC,YAAY,UAAiB;IAC7B,aAAa,UAAiB;IAC9B,mBAAmB,UAAiB;IACpC,iBAAiB,UAAiB;IAClC,gBAAgB,UAAiB;IACjC,eAAe,UAAiB;IAChC;;;;;;;;OAQG;IACH,kBAAkB,gBAA+B;IACjD,iBAAiB,UAAiB;IAClC,eAAe,UAAiB;IAChC,+EAA+E;IAC/E,eAAe,UAAiB;IAChC,gFAAgF;IAChF,eAAe,UAAiB;IAChC,UAAU,UAAiB;IAC3B,WAAW,UAAgB;IAC3B,MAAM;cAAkB,GAAG,GAAG,GAAG;kBAAY,MAAM;QAAU;IAC7D,WAAW,oBAAgE;gBAE/D,MAAM,EAAE,WAAW;IAI/B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;CAI9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-state-options.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-state-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,CAAC,EAAE,UAAU,CAAC;IACd,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/C,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,gBAAgB,IAAI,MAAM,CAAC;IAC3B,iBAAiB,IAAI,MAAM,CAAC;IAC5B,cAAc,IAAI,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,qBAAqB,EACrC,GAAG,EAAE,kBAAkB,GACrB,wBAAwB,CAqE1B"}
1
+ {"version":3,"file":"viewer-state-options.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewer-state-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,CAAC,EAAE,UAAU,CAAC;IACd,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/C,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,gBAAgB,IAAI,MAAM,CAAC;IAC3B,iBAAiB,IAAI,MAAM,CAAC;IAC5B,cAAc,IAAI,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,qBAAqB,EACrC,GAAG,EAAE,kBAAkB,GACrB,wBAAwB,CAwE1B"}
@@ -21,6 +21,10 @@ export interface ViewportHandlersDeps {
21
21
  toggleBlank?(value: 'black' | 'white'): void;
22
22
  /** Show or hide live captions (PowerPoint's bare `J`). */
23
23
  toggleSubtitles?(): void;
24
+ /** Show or hide the running show's own chrome (Ctrl+H). */
25
+ toggleChrome?(): void;
26
+ /** Raise PowerPoint's "See All Slides" navigator (Ctrl+S). */
27
+ showAllSlides?(): void;
24
28
  }
25
29
  export interface ViewportHandlers {
26
30
  onFullscreenToggle(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"viewport-handlers.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewport-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAUlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACpC,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,IAAI,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,sBAAsB,CAAC;IACrC,wCAAwC;IACxC,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrD,4CAA4C;IAC5C,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B,wCAAwC;IACxC,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,eAAe,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAChC,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,6EAA6E;IAC7E,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACjC;AAmFD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAoEnF"}
1
+ {"version":3,"file":"viewport-handlers.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/viewport-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAUlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACpC,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,IAAI,OAAO,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,sBAAsB,CAAC;IACrC,wCAAwC;IACxC,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrD,4CAA4C;IAC5C,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B,wCAAwC;IACxC,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,2DAA2D;IAC3D,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,8DAA8D;IAC9D,aAAa,CAAC,IAAI,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,kBAAkB,IAAI,IAAI,CAAC;IAC3B,kBAAkB,IAAI,IAAI,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC,6EAA6E;IAC7E,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACjC;AA4FD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAoEnF"}
@@ -150,13 +150,28 @@ export interface PowerPointViewerProps {
150
150
  /** Host override for the File > Open action. */
151
151
  onopenfile?: () => void;
152
152
  /**
153
- * Enable debounced crash-recovery autosave. On each edit (when `editable`)
154
- * the current slides are serialized to `.pptx` bytes and written to the
155
- * shared IndexedDB recovery store (keyed by {@link filePath}), and
156
- * `onautosave` is fired with the bytes. Requires `filePath`; without one the
157
- * autosave indicator reads "disabled". This binding does not auto-restore on
158
- * load; recovery is a host concern (see the re-exported `getAutosaveSnapshot`
159
- * / `listAutosaveSnapshots` helpers). Default false.
153
+ * POLICY CEILING for crash-recovery autosave. Not a switch the host flips on
154
+ * the user's behalf: it states what this application permits, and the
155
+ * title-bar AutoSave toggle (and File > Options > Save > AutoSave) is the
156
+ * user's preference inside it.
157
+ *
158
+ * - `false` turns autosave off AND renders the toggle off and inert; a user
159
+ * cannot switch on what the application forbade.
160
+ * - `true`, or omitted, PERMITS autosave and lets the toggle decide.
161
+ *
162
+ * While active, each edit serializes the current slides to `.pptx` bytes,
163
+ * writes them to the shared IndexedDB recovery store (keyed by
164
+ * {@link filePath}) and fires `onautosave`. A snapshot lands no later than
165
+ * one interval after the first unsaved edit, and no more often than once per
166
+ * interval. Requires `filePath`; without one the indicator reads "disabled".
167
+ *
168
+ * On the next load of the same `filePath` the viewer OFFERS the snapshot back
169
+ * in a "Recover unsaved changes?" dialog (Restore loads it in place, Discard
170
+ * deletes it), unless this prop is `false`. The store is also reachable
171
+ * directly through the re-exported `getAutosaveSnapshot` /
172
+ * `listAutosaveSnapshots` helpers.
173
+ *
174
+ * @default true
160
175
  */
161
176
  autosave?: boolean;
162
177
  /** Fired when the desktop title bar toggles AutoSave for this viewer instance. */
@@ -166,7 +181,16 @@ export interface PowerPointViewerProps {
166
181
  * Autosave is inert until this is set.
167
182
  */
168
183
  filePath?: string;
169
- /** Autosave debounce window in milliseconds. Default 2000. */
184
+ /**
185
+ * Autosave cadence in milliseconds: the debounce window, and the ceiling on
186
+ * how long an unbroken stream of edits may defer a snapshot.
187
+ *
188
+ * Optional, and a policy like {@link autosave}: pass it and it wins. Leave it
189
+ * out and the cadence is the user's own File > Options > Save > "Save
190
+ * AutoRecover information every N minutes", which defaults to two minutes.
191
+ *
192
+ * @default 120000 (Options > Save, "every 2 minutes")
193
+ */
170
194
  autosaveIntervalMs?: number;
171
195
  /** Fired with the serialized `.pptx` bytes after each successful autosave. */
172
196
  onautosave?: (bytes: Uint8Array) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/viewer/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-svelte-viewer",
3
- "version": "2.19.0",
3
+ "version": "2.20.0",
4
4
  "description": "Svelte 5 PowerPoint viewer and editor component: render, edit, present, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "office",