pptx-svelte-viewer 3.4.0 → 3.5.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 (55) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/{AiChatPanel-DjHkDmi9.js → AiChatPanel-2KybLFhz.js} +1 -1
  3. package/dist/{export-Bb3HzTLw.js → export-C0RzyaUT.js} +31994 -29390
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.js +2 -2
  6. package/dist/pptx-svelte-viewer.css +1 -1
  7. package/dist/{translator-vErJ1kUG.js → translator-YCJ___7k.js} +41 -1
  8. package/dist/viewer/components/props-elements.d.ts +19 -0
  9. package/dist/viewer/components/props-elements.d.ts.map +1 -1
  10. package/dist/viewer/components/props-stage.d.ts +4 -0
  11. package/dist/viewer/components/props-stage.d.ts.map +1 -1
  12. package/dist/viewer/components/ribbon/review/comment-compose.svelte.d.ts +40 -0
  13. package/dist/viewer/components/ribbon/review/comment-compose.svelte.d.ts.map +1 -0
  14. package/dist/viewer/components/viewer-body-props.d.ts +14 -9
  15. package/dist/viewer/components/viewer-body-props.d.ts.map +1 -1
  16. package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -1
  17. package/dist/viewer/editor/editor-document-state.d.ts +6 -2
  18. package/dist/viewer/editor/editor-document-state.d.ts.map +1 -1
  19. package/dist/viewer/editor/editor-master-crud.d.ts +24 -0
  20. package/dist/viewer/editor/editor-master-crud.d.ts.map +1 -0
  21. package/dist/viewer/editor/editor-presentation-metadata.svelte.d.ts +7 -0
  22. package/dist/viewer/editor/editor-presentation-metadata.svelte.d.ts.map +1 -1
  23. package/dist/viewer/editor/editor-state.svelte.d.ts +43 -1
  24. package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
  25. package/dist/viewer/export/export-controller.svelte.d.ts.map +1 -1
  26. package/dist/viewer/export/export-print.d.ts +7 -1
  27. package/dist/viewer/export/export-print.d.ts.map +1 -1
  28. package/dist/viewer/index.d.ts +264 -6
  29. package/dist/viewer/index.js +1 -1
  30. package/dist/viewer/presentation/action-runner-callbacks.d.ts +18 -0
  31. package/dist/viewer/presentation/action-runner-callbacks.d.ts.map +1 -0
  32. package/dist/viewer/presentation/presentation-controller.svelte.d.ts +31 -2
  33. package/dist/viewer/presentation/presentation-controller.svelte.d.ts.map +1 -1
  34. package/dist/viewer/state/compat-toasts.svelte.d.ts +28 -0
  35. package/dist/viewer/state/compat-toasts.svelte.d.ts.map +1 -0
  36. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts +4 -0
  37. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts.map +1 -1
  38. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
  39. package/dist/viewer/state/create-viewer-state-types.d.ts +10 -0
  40. package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
  41. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  42. package/dist/viewer/state/guide-id.d.ts +9 -0
  43. package/dist/viewer/state/guide-id.d.ts.map +1 -0
  44. package/dist/viewer/state/inspector-deck.d.ts +9 -2
  45. package/dist/viewer/state/inspector-deck.d.ts.map +1 -1
  46. package/dist/viewer/state/presentation-loader.svelte.d.ts +20 -1
  47. package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -1
  48. package/dist/viewer/state/read-only-recommendation.svelte.d.ts +34 -0
  49. package/dist/viewer/state/read-only-recommendation.svelte.d.ts.map +1 -0
  50. package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -1
  51. package/dist/viewer/state/viewer-parity-ui.svelte.d.ts +19 -7
  52. package/dist/viewer/state/viewer-parity-ui.svelte.d.ts.map +1 -1
  53. package/dist/viewer/state/viewport-handlers.d.ts +4 -0
  54. package/dist/viewer/state/viewport-handlers.d.ts.map +1 -1
  55. package/package.json +1 -1
@@ -10552,6 +10552,14 @@ interface PresentationInkStroke {
10552
10552
  points: PresentationInkPoint[];
10553
10553
  }
10554
10554
  //#endregion
10555
+ //#region src/render/alignment-guides.d.ts
10556
+ /** A single alignment guide, positioned in authored slide pixels. */
10557
+ interface Guide {
10558
+ id: string;
10559
+ axis: 'h' | 'v';
10560
+ position: number;
10561
+ }
10562
+ //#endregion
10555
10563
  //#region src/render/find-replace.d.ts
10556
10564
  /** Identifies a single match of the find query at segment-level precision. */
10557
10565
  interface FindResult {
@@ -10712,6 +10720,19 @@ interface AutosaveRecoveryPrompt {
10712
10720
  readonly restoreKey: string;
10713
10721
  readonly discardKey: string;
10714
10722
  }
10723
+ //#endregion
10724
+ //#region src/render/master-view-crud.d.ts
10725
+ /** One Slide Master view sidebar command. */
10726
+ type MasterViewCrudActionId = 'addLayout' | 'duplicateLayout' | 'deleteLayout' | 'renameLayout' | 'addMaster' | 'duplicateMaster' | 'deleteMaster' | 'renameMaster';
10727
+ /** A framework-neutral descriptor for one sidebar button. */
10728
+ interface MasterViewCrudAction {
10729
+ id: MasterViewCrudActionId;
10730
+ /** i18n key for the button label (`pptx.masterView.<id>`). */
10731
+ labelKey: string;
10732
+ enabled: boolean;
10733
+ /** i18n key explaining why the button is disabled, set only when it is. */
10734
+ disabledReasonKey?: string;
10735
+ }
10715
10736
  /**
10716
10737
  * Why the deck is being serialised, which is a separate question from whether
10717
10738
  * the user protected it.
@@ -10790,6 +10811,28 @@ interface ViewerPreferences {
10790
10811
  snapToGrid: boolean;
10791
10812
  reducedMotion: boolean;
10792
10813
  }
10814
+ /**
10815
+ * Viewer preferences plus the `ppt/viewProps.xml` fields the round-trip in
10816
+ * {@link viewerPreferencesFromViewProperties} seeds from the deck itself. All
10817
+ * optional, so a plain {@link ViewerPreferences} is assignable.
10818
+ */
10819
+ interface DeckViewPreferences extends ViewerPreferences {
10820
+ /** `p:viewPr/p:slideViewPr/p:cSldViewPr/@snapToObjects`. */
10821
+ snapToObjects?: boolean;
10822
+ /** `p:viewPr/p:slideViewPr/p:cSldViewPr/@showGuides`. */
10823
+ showGuides?: boolean;
10824
+ /** `p:viewPr/p:gridSpacing/@cx`, in positive DrawingML (EMU) units. */
10825
+ gridSpacingCx?: number;
10826
+ /** `p:viewPr/p:gridSpacing/@cy`, in positive DrawingML (EMU) units. */
10827
+ gridSpacingCy?: number;
10828
+ }
10829
+ /** A `p:showPr/p:sldRg` custom range, resolved to 0-based deck indexes. */
10830
+ interface AuthoredSlideRange {
10831
+ /** First slide of the range, 0-based, inclusive. */
10832
+ readonly fromIndex: number;
10833
+ /** Last slide of the range, 0-based, inclusive. */
10834
+ readonly toIndex: number;
10835
+ }
10793
10836
  /**
10794
10837
  * Optional hook point for hosts that want to wire a real sign-in flow into
10795
10838
  * File > Account. Disabled by default: the Account page renders nothing
@@ -11050,6 +11093,23 @@ interface ElementBoxPatch {
11050
11093
  height: number;
11051
11094
  rotation: number;
11052
11095
  }
11096
+ type ReadOnlyRecommendationKind = 'modifyVerifier' | 'markedFinal' | null;
11097
+ interface ReadOnlyRecommendation {
11098
+ readonly kind: ReadOnlyRecommendationKind;
11099
+ /** i18n key for the banner/toast a binding shows for this recommendation. */
11100
+ readonly messageKey: string;
11101
+ /** Whether a binding's "read-only" toggle should default to on. */
11102
+ readonly defaultReadOnly: boolean;
11103
+ }
11104
+ interface CompatibilityWarningToast {
11105
+ /** Stable per-code id, since toasts are deduped by code (see module docs). */
11106
+ readonly id: string;
11107
+ readonly code: string;
11108
+ readonly severity: 'info' | 'warning';
11109
+ readonly messageKey: string;
11110
+ /** `{{code}}` for the generic fallback key; `undefined` for a mapped code. */
11111
+ readonly params?: Readonly<Record<string, string>>;
11112
+ }
11053
11113
 
11054
11114
  //#endregion
11055
11115
  //#region src/ai/change-diff.d.ts
@@ -11916,6 +11976,8 @@ interface SlideCanvasProps {
11916
11976
  editTemplateMode?: boolean;
11917
11977
  /** Forwarded to `SlideStage`; see `SlideStageProps.editingElementId`. */
11918
11978
  editingElementId?: string | null;
11979
+ /** Forwarded to `SlideStage`; see `SlideStageProps.selectedElementIds`. */
11980
+ selectedElementIds?: readonly string[];
11919
11981
  ontablecellcommit?: (elementId: string, rowIndex: number, cellIndex: number, text: string) => void;
11920
11982
  onsmartartnodecommit?: (elementId: string, nodeId: string, text: string) => void;
11921
11983
  onsmartartnodefill?: (elementId: string, nodeId: string, fill: string) => void;
@@ -12481,6 +12543,28 @@ declare class EditorMasterController {
12481
12543
  setBackgroundColor(backgroundColor: string): void;
12482
12544
  }
12483
12545
 
12546
+ interface MasterViewCrudPrompts {
12547
+ /** Ask for the new layout/master name; null/empty cancels the rename. */
12548
+ promptName(currentName: string): string | null;
12549
+ /** Surface a rejection (`notFound` / `inUse` / `lastMaster`) as translated copy. */
12550
+ notify(message: string): void;
12551
+ translate(key: string): string;
12552
+ }
12553
+ /** Drives the sidebar's Insert/Duplicate/Delete/Rename commands on {@link EditorState}. */
12554
+ declare class EditorMasterCrudController {
12555
+ private readonly editor;
12556
+ constructor(editor: EditorState);
12557
+ /** The sidebar's action list (enabled/disabled + reason) for the current target. */
12558
+ actions(): MasterViewCrudAction[];
12559
+ /**
12560
+ * Run one command against the CURRENT master-view target. A no-op outside
12561
+ * master view, on a read-only deck, or when the action is disabled for the
12562
+ * target (mirrors the sidebar's own gating, so a stray call through the
12563
+ * public API cannot bypass it).
12564
+ */
12565
+ run(id: MasterViewCrudActionId, prompts: MasterViewCrudPrompts): Promise<boolean>;
12566
+ }
12567
+
12484
12568
  interface PresentationMetadataHost {
12485
12569
  readonly editable: boolean;
12486
12570
  pushHistory(): void;
@@ -12506,6 +12590,13 @@ declare class EditorPresentationMetadata {
12506
12590
  private static clone;
12507
12591
  set(headerFooter?: PptxHeaderFooter, presentationProperties?: PptxPresentationProperties, customShows?: PptxCustomShow[]): void;
12508
12592
  updatePresentationProperties(next: PptxPresentationProperties): void;
12593
+ /**
12594
+ * Fold a picker's recent-colours list into `presentationProperties.mruColors`
12595
+ * WITHOUT pushing undo history (wave-4 B6): PowerPoint's colour-picker MRU
12596
+ * is not an undoable edit, mirroring how `editor.viewProperties` writes back
12597
+ * the View > Grid/Guides/Snap toggles outside `pushHistory`/`commitChange`.
12598
+ */
12599
+ setMruColorsSilently(mruColors: readonly string[]): void;
12509
12600
  updateHeaderFooter(next: PptxHeaderFooter): void;
12510
12601
  updateCustomShows(next: PptxCustomShow[]): void;
12511
12602
  private commit;
@@ -12721,6 +12812,13 @@ interface EditorStateDeps {
12721
12812
  * case core re-emits the load-time dimensions verbatim.
12722
12813
  */
12723
12814
  getSlideSize?: () => PptxSlideSize | undefined;
12815
+ /**
12816
+ * Adopt a fresh handler in place of the loaded one. Master-view CRUD
12817
+ * (`masterCrud`) rebuilds the package through core and comes back with a
12818
+ * new `PptxHandler`; the loader owns handler lifecycle, so it disposes the
12819
+ * previous one here. Optional for out-of-tree mounts and the unit tests.
12820
+ */
12821
+ setHandler?: (handler: PptxHandler) => void;
12724
12822
  onChange?: () => void;
12725
12823
  }
12726
12824
  declare class EditorState {
@@ -12754,6 +12852,28 @@ declare class EditorState {
12754
12852
  * undo stack owns.
12755
12853
  */
12756
12854
  theme: PptxTheme | undefined;
12855
+ /**
12856
+ * `ppt/viewProps.xml`, seeded from the load and kept in sync with the View >
12857
+ * Grid/Guides/Snap toggles (wave 4 #5: `viewPropertiesPatchFromPreferences`
12858
+ * writes the toggle state back in here). Deliberately outside
12859
+ * {@link EditorSnapshot}, like {@link theme}: PowerPoint does not undo a view
12860
+ * toggle, so this is session state that `saveEditorDocument` reads directly,
12861
+ * never something `pushHistory`/`commitChange` touches.
12862
+ */
12863
+ viewProperties: PptxViewProperties | undefined;
12864
+ /**
12865
+ * Modern comment authors (`ppt/authors.xml`, Office 2021 `p188:author`),
12866
+ * seeded from the load. Read-only round-trip metadata, like {@link theme}:
12867
+ * the comment panel's @-mention typeahead (wave-4 B5) reads this to match
12868
+ * against, never something a binding edits or that undo restores.
12869
+ */
12870
+ modernCommentAuthors: PptxModernCommentAuthor[];
12871
+ /**
12872
+ * Legacy comment authors (`ppt/commentAuthors.xml`), offered to the
12873
+ * @-mention typeahead alongside {@link modernCommentAuthors}. Same
12874
+ * read-only, non-undo lifecycle.
12875
+ */
12876
+ commentAuthors: PptxCommentAuthor[];
12757
12877
  /**
12758
12878
  * Families the deck embeds, offered as their own font-dropdown group. Write
12759
12879
  * through {@link adoptEmbeddedFontFamilies} so {@link embedFonts} is reseeded
@@ -12820,6 +12940,7 @@ declare class EditorState {
12820
12940
  readonly animationOps: EditorAnimationController;
12821
12941
  readonly inkOps: EditorInkController;
12822
12942
  readonly masterOps: EditorMasterController;
12943
+ readonly masterCrud: EditorMasterCrudController;
12823
12944
  readonly formatPainter: EditorFormatPainterController;
12824
12945
  readonly equationOps: EditorEquationController;
12825
12946
  constructor(deps: EditorStateDeps);
@@ -12827,6 +12948,15 @@ declare class EditorState {
12827
12948
  get headerFooter(): PptxHeaderFooter;
12828
12949
  get presentationProperties(): PptxPresentationProperties;
12829
12950
  get customShows(): PptxCustomShow[];
12951
+ /** The colour picker's "Recent colours" row (`p:clrMru`), most-recent-first. */
12952
+ get mruColors(): string[];
12953
+ /**
12954
+ * Record a colour just picked in ANY colour picker (fill, line, text,
12955
+ * background, table cell, chart series, ...) into the recent-colours row
12956
+ * (wave-4 B6). Writes `presentationProperties.mruColors` OUTSIDE the undo
12957
+ * stack, like the view-preferences write-back.
12958
+ */
12959
+ recordRecentColor(hex: string): void;
12830
12960
  get canRedo(): boolean;
12831
12961
  get selectedElementId(): string | null;
12832
12962
  get selectedElement(): PptxElement | undefined;
@@ -12838,6 +12968,8 @@ declare class EditorState {
12838
12968
  /** The loaded core handler, or null before a deck is open. Used by the
12839
12969
  * Slides group for layout switching (`applyLayoutToSlide`). */
12840
12970
  getHandler(): PptxHandler | null;
12971
+ /** Hand a rebuilt handler to the loader (see `EditorStateDeps.setHandler`). */
12972
+ adoptHandler(handler: PptxHandler): void;
12841
12973
  /**
12842
12974
  * The `p:sldSz` the next save should write, or undefined to leave the
12843
12975
  * load-time dimensions alone. Slide size lives on the loader (it is not
@@ -13414,7 +13546,20 @@ declare class PresentationLoader {
13414
13546
  * `p:presentationPr`.
13415
13547
  */
13416
13548
  viewProperties: PptxViewProperties | undefined;
13549
+ /** Write-protection verifier from `p:modifyVerifier` (`presentation.xml`). */
13550
+ modifyVerifier: PptxModifyVerifier | undefined;
13551
+ /**
13552
+ * Every compatibility warning the load (and any save/patch so far this
13553
+ * session) has raised, from `handler.getCompatibilityWarnings()`: unmodelled
13554
+ * markup round-tripped only via `rawXml`, an external image reference that
13555
+ * cannot be embedded, and so on. Feeds the compat-toast stack (wave 4 #3).
13556
+ */
13557
+ compatibilityWarnings: PptxCompatibilityWarning[];
13417
13558
  customShows: PptxCustomShow[];
13559
+ /** Modern comment authors (`ppt/authors.xml`, Office 2021 `p188:author`), for the @-mention typeahead (wave-4 B5). */
13560
+ modernCommentAuthors: PptxModernCommentAuthor[];
13561
+ /** Legacy comment authors (`ppt/commentAuthors.xml`), round-tripped and offered to the typeahead alongside the modern list. */
13562
+ commentAuthors: PptxCommentAuthor[];
13418
13563
  coreProperties: PptxCoreProperties | undefined;
13419
13564
  appProperties: PptxAppProperties | undefined;
13420
13565
  customProperties: PptxCustomProperty[];
@@ -13478,6 +13623,12 @@ declare class PresentationLoader {
13478
13623
  getLoadOptions: () => Pick<PptxHandlerLoadOptions, 'allowExternalImages'>;
13479
13624
  /** Parse a `.pptx` buffer into reactive viewer state. */
13480
13625
  load(raw: Uint8Array | ArrayBuffer, origin?: CollabLoadOrigin): Promise<void>;
13626
+ /**
13627
+ * Replace the live handler with one core rebuilt (master-view CRUD returns
13628
+ * a fresh package rather than a patch). Disposes the previous handler; the
13629
+ * Blob URLs stay valid because the media parts are unchanged.
13630
+ */
13631
+ adoptHandler(next: PptxHandler): void;
13481
13632
  /** Cancel in-flight loads, revoke Blob URLs, dispose the handler. */
13482
13633
  dispose(): void;
13483
13634
  }
@@ -13822,6 +13973,24 @@ interface PresentationControllerDeps {
13822
13973
  * omitted opens unconditionally.
13823
13974
  */
13824
13975
  confirmUrl?(url: string): boolean;
13976
+ /**
13977
+ * The `p:showPr/p:sldRg` authored slide-range restriction (deck opens into
13978
+ * slides `fromIndex..toIndex` rather than the whole deck), when no custom
13979
+ * show is active. `resolveShowSlideIndexes` applies hiding and the active
13980
+ * custom show first, same as `getActiveCustomShow`; this is the third,
13981
+ * lowest-precedence restriction.
13982
+ */
13983
+ getAuthoredRange?(): AuthoredSlideRange | null | undefined;
13984
+ /**
13985
+ * The deck's custom shows, for `ppaction://customshow?id=<id>` (wave-4
13986
+ * B7): the runner resolves `id` against this list to find the show's
13987
+ * membership.
13988
+ */
13989
+ getCustomShows?(): readonly PptxCustomShow[];
13990
+ /** Current active custom show id (or null for the whole deck), read back by `returnAfter`. */
13991
+ getActiveCustomShowId?(): string | null;
13992
+ /** Switch the active custom show (mirrors {@link getActiveCustomShow}'s source of truth). */
13993
+ setActiveCustomShowId?(id: string | null): void;
13825
13994
  }
13826
13995
  declare class PresentationController {
13827
13996
  #private;
@@ -13873,6 +14042,17 @@ declare class PresentationController {
13873
14042
  * wraps a backward press off the first slide.
13874
14043
  */
13875
14044
  previousSlide(): void;
14045
+ /**
14046
+ * The deck index the show should OPEN on when entered from `activeIndex`
14047
+ * (wave-4 B1): `activeIndex` itself when the show includes it ("From
14048
+ * Current Slide"), otherwise the nearest show slide, per
14049
+ * `presentationEntrySlideIndex`. Every entry point (status-bar button,
14050
+ * ribbon From Current Slide, `setMode('present')`, the mobile toolbar) must
14051
+ * seed the presentation index with this instead of the raw active slide, or
14052
+ * a deck authored with a `p:showPr/p:sldRg` range (or a custom show that
14053
+ * excludes the active slide) opens on a slide the show does not include.
14054
+ */
14055
+ entryIndex(activeIndex: number): number;
13876
14056
  /** Home: the show's first slide, which is not slide 1 when that one is hidden. */
13877
14057
  firstSlide(): void;
13878
14058
  /** End: the show's last slide, skipping trailing hidden slides. */
@@ -13986,6 +14166,32 @@ declare class AutosaveRecoveryController {
13986
14166
  dismiss(): void;
13987
14167
  }
13988
14168
 
14169
+ /**
14170
+ * CompatToastsState: the fidelity-loss toast stack shown after a load whose
14171
+ * parse reported `PptxCompatibilityWarning`s (unmodelled markup, external
14172
+ * image references, a chart workbook that could not be written back, and so
14173
+ * on). Svelte port of Vue's `useCompatibilityToasts` composable.
14174
+ *
14175
+ * Toasts do not auto-hide (they are load diagnostics, not transient
14176
+ * notices): they persist until dismissed, and `reset()` clears them for a
14177
+ * newly loaded document, called from the same load-commit hook that resets
14178
+ * the read-only recommendation.
14179
+ */
14180
+ declare class CompatToastsState {
14181
+ #private;
14182
+ constructor(deps: {
14183
+ getWarnings(): readonly PptxCompatibilityWarning[];
14184
+ });
14185
+ /** Every toast this load produced, dismissed ones excluded, capped at the visible limit. */
14186
+ get visibleToasts(): CompatibilityWarningToast[];
14187
+ /** How many more toasts exist beyond the visible limit. */
14188
+ get overflowCount(): number;
14189
+ dismiss(id: string): void;
14190
+ dismissAll(): void;
14191
+ /** Clear the dismissal state for a newly loaded document. */
14192
+ reset(): void;
14193
+ }
14194
+
13989
14195
  /** Live viewer accessors + the panel-open hook the controller closes over. */
13990
14196
  interface AiPanelControllerDeps {
13991
14197
  getActiveSlideIndex(): number;
@@ -14065,6 +14271,38 @@ interface AiCluster {
14065
14271
  readonly canvasHighlights: readonly AiCanvasHighlight[];
14066
14272
  }
14067
14273
 
14274
+ /**
14275
+ * ReadOnlyRecommendationState: the Trust-Center-style banner shown when a
14276
+ * loaded deck asks to be opened read-only (`p:modifyVerifier`, or `docProps/
14277
+ * custom.xml`'s "Mark as Final"), and the lock that goes with it. Svelte port
14278
+ * of Vue's `useReadOnlyRecommendation` composable.
14279
+ *
14280
+ * `locked` is meant to be ANDed into the SAME `getEditable` gate the viewer
14281
+ * already reads (Protected View, collaboration read-only), not a second
14282
+ * editability mechanism. `reset()` is called from the load-commit hook
14283
+ * (`onContentApplied`) so a newly opened document is evaluated fresh even if
14284
+ * a previous one was unlocked.
14285
+ */
14286
+ declare class ReadOnlyRecommendationState {
14287
+ #private;
14288
+ constructor(deps: {
14289
+ getModifyVerifier(): PptxModifyVerifier | undefined;
14290
+ getCustomProperties(): PptxCustomProperty[];
14291
+ });
14292
+ /** The current recommendation (`kind: null` when the deck asks for nothing). */
14293
+ get recommendation(): ReadOnlyRecommendation;
14294
+ /** Whether the banner should render. */
14295
+ get showBanner(): boolean;
14296
+ /** Whether editing should currently be blocked because of this recommendation. */
14297
+ get locked(): boolean;
14298
+ /** "Edit anyway": lifts the lock and hides the banner for this document. */
14299
+ editAnyway(): void;
14300
+ /** "Dismiss": hides the banner but leaves the lock (if any) in place. */
14301
+ dismiss(): void;
14302
+ /** Re-arm the recommendation for a newly loaded document. */
14303
+ reset(): void;
14304
+ }
14305
+
14068
14306
  /**
14069
14307
  * ViewerOptionsState: the runes wrapper around the shared File > Options
14070
14308
  * store. Owns the reactive `options` snapshot (updated via the store's
@@ -14294,16 +14532,28 @@ declare class ViewerParityUiState {
14294
14532
  readingViewOpen: boolean;
14295
14533
  /** View tab > Outline View: the deck as one editable indented text document. */
14296
14534
  outlineViewOpen: boolean;
14535
+ /** View > H/V Guides. Also seeded from the deck's `slideViewPr/@showGuides`. */
14297
14536
  showGuides: boolean;
14537
+ /**
14538
+ * "Snap to shape" (View ▸ Snap Objects to Other Objects): the on-drag
14539
+ * alignment-guide snap. Also seeded from the deck's
14540
+ * `slideViewPr/@snapToObjects` (shared's `DeckViewPreferences.snapToObjects`
14541
+ * field; this binding's own historical name for the same toggle).
14542
+ */
14298
14543
  snapToShape: boolean;
14299
- guides: {
14300
- axis: "h" | "v";
14301
- position: number;
14302
- }[];
14303
- preferences: ViewerPreferences;
14544
+ guides: Guide[];
14545
+ /**
14546
+ * Also carries the deck-authored `snapToObjects`/`showGuides`/
14547
+ * `gridSpacingCx`/`gridSpacingCy` fields (`DeckViewPreferences`, a superset
14548
+ * of the base `ViewerPreferences` toggles), even though `showGuides` and
14549
+ * `snapToShape` above are the fields this binding actually reads: keeping
14550
+ * them here too is what lets `viewerPreferencesFromViewProperties` seed (and
14551
+ * `viewPropertiesPatchFromPreferences` later read back) a single object.
14552
+ */
14553
+ preferences: DeckViewPreferences;
14304
14554
  constructor(editor: EditorState);
14305
14555
  syncAutosave(enabled: boolean): void;
14306
- updatePreferences(next: ViewerPreferences, onAutosaveChange: (enabled: boolean) => void): void;
14556
+ updatePreferences(next: DeckViewPreferences, onAutosaveChange: (enabled: boolean) => void): void;
14307
14557
  }
14308
14558
 
14309
14559
  /**
@@ -14388,6 +14638,14 @@ interface ViewerStateBag {
14388
14638
  readonly editor: EditorState;
14389
14639
  readonly controller: EditorController;
14390
14640
  readonly parityUi: ViewerParityUiState;
14641
+ /**
14642
+ * The deck's own `p:modifyVerifier` / "Mark as Final" read-only
14643
+ * recommendation and lock (wave 4 #2), mirroring the Protected View banner
14644
+ * mechanism rather than inventing a second one.
14645
+ */
14646
+ readonly readOnlyRec: ReadOnlyRecommendationState;
14647
+ /** Fidelity-loss toast stack (wave 4 #3), fed by `loader.compatibilityWarnings`. */
14648
+ readonly compatToasts: CompatToastsState;
14391
14649
  readonly chromeUi: ChromeUiState;
14392
14650
  readonly findReplace: FindReplaceState;
14393
14651
  readonly collab: CollaborationController;
@@ -1,4 +1,4 @@
1
- import { A as e, M as a, c as s, d as t, f as i, gt as l, ht as S, i as n, j as o, l as v, m as d, n as p, o as b, p as g, r as c, s as x, t as m, u as w } from "../export-Bb3HzTLw.js";
1
+ import { A as e, M as a, c as s, d as t, f as i, gt as l, ht as S, i as n, j as o, l as v, m as d, n as p, o as b, p as g, r as c, s as x, t as m, u as w } from "../export-C0RzyaUT.js";
2
2
  var T = a, A = o, P = e;
3
3
  export {
4
4
  m as PowerPointViewer,
@@ -0,0 +1,18 @@
1
+ import { PresentationActionRunner } from 'pptx-viewer-shared';
2
+ import { PresentationControllerDeps } from './presentation-controller.svelte';
3
+ /** Set while a `ppaction://customshow?...&return=true` sub-show is running. */
4
+ export interface CustomShowReturnState {
5
+ previousId: string | null;
6
+ originIndex: number;
7
+ }
8
+ /**
9
+ * Builds the wave-4 B7 half of `PresentationActionRunner` (`lastViewed`,
10
+ * `customShow`, `openFile`, `openPresentation`, `playMedia`, `oleVerb`):
11
+ * split out of `PresentationController.handleStageClick` to keep that file
12
+ * under the repo's file-size budget. Pure glue over `deps` plus the small bit
13
+ * of cross-click state (`getLastViewedIndex`, `getCustomShowReturn` /
14
+ * `setCustomShowReturn`) the controller owns, since a `return=true` sub-show
15
+ * has to be restored by a LATER `advance()` call, not by this click itself.
16
+ */
17
+ export declare function buildWaveFourActionCallbacks(deps: PresentationControllerDeps, getLastViewedIndex: () => number | undefined, setCustomShowReturn: (next: CustomShowReturnState | null) => void): Pick<PresentationActionRunner, 'lastViewed' | 'customShow' | 'openFile' | 'openPresentation' | 'playMedia' | 'oleVerb'>;
18
+ //# sourceMappingURL=action-runner-callbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-runner-callbacks.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/action-runner-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAWnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAEnF,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,0BAA0B,EAChC,kBAAkB,EAAE,MAAM,MAAM,GAAG,SAAS,EAC5C,mBAAmB,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,GAC/D,IAAI,CACN,wBAAwB,EACxB,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,SAAS,CACvF,CAoDA"}
@@ -1,5 +1,5 @@
1
- import { PptxSlide, PptxSlideTransition } from 'pptx-viewer-core';
2
- import { ElementAnimationState } from 'pptx-viewer-shared';
1
+ import { PptxCustomShow, PptxSlide, PptxSlideTransition } from 'pptx-viewer-core';
2
+ import { AuthoredSlideRange, ElementAnimationState } from 'pptx-viewer-shared';
3
3
  import { AnimationPlayback } from './animation-playback.svelte';
4
4
  /**
5
5
  * `PresentationController`: the runes state machine wiring the Svelte viewer's
@@ -72,6 +72,24 @@ export interface PresentationControllerDeps {
72
72
  * omitted opens unconditionally.
73
73
  */
74
74
  confirmUrl?(url: string): boolean;
75
+ /**
76
+ * The `p:showPr/p:sldRg` authored slide-range restriction (deck opens into
77
+ * slides `fromIndex..toIndex` rather than the whole deck), when no custom
78
+ * show is active. `resolveShowSlideIndexes` applies hiding and the active
79
+ * custom show first, same as `getActiveCustomShow`; this is the third,
80
+ * lowest-precedence restriction.
81
+ */
82
+ getAuthoredRange?(): AuthoredSlideRange | null | undefined;
83
+ /**
84
+ * The deck's custom shows, for `ppaction://customshow?id=<id>` (wave-4
85
+ * B7): the runner resolves `id` against this list to find the show's
86
+ * membership.
87
+ */
88
+ getCustomShows?(): readonly PptxCustomShow[];
89
+ /** Current active custom show id (or null for the whole deck), read back by `returnAfter`. */
90
+ getActiveCustomShowId?(): string | null;
91
+ /** Switch the active custom show (mirrors {@link getActiveCustomShow}'s source of truth). */
92
+ setActiveCustomShowId?(id: string | null): void;
75
93
  }
76
94
  export declare class PresentationController {
77
95
  #private;
@@ -123,6 +141,17 @@ export declare class PresentationController {
123
141
  * wraps a backward press off the first slide.
124
142
  */
125
143
  previousSlide(): void;
144
+ /**
145
+ * The deck index the show should OPEN on when entered from `activeIndex`
146
+ * (wave-4 B1): `activeIndex` itself when the show includes it ("From
147
+ * Current Slide"), otherwise the nearest show slide, per
148
+ * `presentationEntrySlideIndex`. Every entry point (status-bar button,
149
+ * ribbon From Current Slide, `setMode('present')`, the mobile toolbar) must
150
+ * seed the presentation index with this instead of the raw active slide, or
151
+ * a deck authored with a `p:showPr/p:sldRg` range (or a custom show that
152
+ * excludes the active slide) opens on a slide the show does not include.
153
+ */
154
+ entryIndex(activeIndex: number): number;
126
155
  /** Home: the show's first slide, which is not slide 1 when that one is hidden. */
127
156
  firstSlide(): void;
128
157
  /** End: the show's last slide, skipping trailing hidden slides. */
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/presentation-controller.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presentation-controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/presentation-controller.svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { PptxCompatibilityWarning } from 'pptx-viewer-core';
2
+ import { CompatibilityWarningToast } from 'pptx-viewer-shared';
3
+ /**
4
+ * CompatToastsState: the fidelity-loss toast stack shown after a load whose
5
+ * parse reported `PptxCompatibilityWarning`s (unmodelled markup, external
6
+ * image references, a chart workbook that could not be written back, and so
7
+ * on). Svelte port of Vue's `useCompatibilityToasts` composable.
8
+ *
9
+ * Toasts do not auto-hide (they are load diagnostics, not transient
10
+ * notices): they persist until dismissed, and `reset()` clears them for a
11
+ * newly loaded document, called from the same load-commit hook that resets
12
+ * the read-only recommendation.
13
+ */
14
+ export declare class CompatToastsState {
15
+ #private;
16
+ constructor(deps: {
17
+ getWarnings(): readonly PptxCompatibilityWarning[];
18
+ });
19
+ /** Every toast this load produced, dismissed ones excluded, capped at the visible limit. */
20
+ get visibleToasts(): CompatibilityWarningToast[];
21
+ /** How many more toasts exist beyond the visible limit. */
22
+ get overflowCount(): number;
23
+ dismiss(id: string): void;
24
+ dismissAll(): void;
25
+ /** Clear the dismissal state for a newly loaded document. */
26
+ reset(): void;
27
+ }
28
+ //# sourceMappingURL=compat-toasts.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat-toasts.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/compat-toasts.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAMpE;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;;gBAKjB,IAAI,EAAE;QAAE,WAAW,IAAI,SAAS,wBAAwB,EAAE,CAAA;KAAE;IAcxE,4FAA4F;IAC5F,IAAI,aAAa,IAAI,yBAAyB,EAAE,CAE/C;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIzB,UAAU,IAAI,IAAI;IAIlB,6DAA6D;IAC7D,KAAK,IAAI,IAAI;CAIb"}
@@ -4,8 +4,10 @@ import { EditorController } from '../editor/editor-controller.svelte';
4
4
  import { FindReplaceState } from '../editor/editor-find-replace.svelte';
5
5
  import { EditorState } from '../editor/editor-state.svelte';
6
6
  import { ChromeUiState } from './chrome-ui.svelte';
7
+ import { CompatToastsState } from './compat-toasts.svelte';
7
8
  import { CreateViewerStateOptions } from './create-viewer-state-types';
8
9
  import { PresentationLoader } from './presentation-loader.svelte';
10
+ import { ReadOnlyRecommendationState } from './read-only-recommendation.svelte';
9
11
  import { ViewerOptionsState } from './viewer-options.svelte';
10
12
  import { ViewerParityUiState } from './viewer-parity-ui.svelte';
11
13
  import { ViewerState } from './viewer-state.svelte';
@@ -27,6 +29,8 @@ export interface EditorUiClusterDeps {
27
29
  }
28
30
  export interface EditorUiCluster {
29
31
  parityUi: ViewerParityUiState;
32
+ readOnlyRec: ReadOnlyRecommendationState;
33
+ compatToasts: CompatToastsState;
30
34
  chromeUi: ChromeUiState;
31
35
  optionsState: ViewerOptionsState;
32
36
  controller: EditorController;
@@ -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":"AAEA,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,kGAAkG;IAClG,WAAW,IAAI,OAAO,CAAC;IACvB,8FAA8F;IAC9F,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC7B,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,CA8G7E"}
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":"AASA,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,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAIhF,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,kGAAkG;IAClG,WAAW,IAAI,OAAO,CAAC;IACvB,8FAA8F;IAC9F,mBAAmB,CAAC,IAAI,IAAI,CAAC;IAC7B,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,WAAW,EAAE,2BAA2B,CAAC;IACzC,YAAY,EAAE,iBAAiB,CAAC;IAChC,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,CA8K7E"}
@@ -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,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,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,sGAAsG;IACtG,YAAY,EAAE,kBAAkB,CAAC;IACjC,+DAA+D;IAC/D,CAAC,EAAE,UAAU,CAAC;IACd,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,CAwIzF"}
1
+ {"version":3,"file":"create-viewer-state-presentation.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-presentation.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,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,sGAAsG;IACtG,YAAY,EAAE,kBAAkB,CAAC;IACjC,+DAA+D;IAC/D,CAAC,EAAE,UAAU,CAAC;IACd,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,CAiKzF"}
@@ -17,8 +17,10 @@ import { ViewerLoadDetail } from '../types';
17
17
  import { AutosaveRecoveryController } from './autosave-recovery.svelte';
18
18
  import { AutosaveController } from './autosave.svelte';
19
19
  import { ChromeUiState } from './chrome-ui.svelte';
20
+ import { CompatToastsState } from './compat-toasts.svelte';
20
21
  import { AiCluster } from './create-viewer-state-ai.svelte';
21
22
  import { PresentationLoader } from './presentation-loader.svelte';
23
+ import { ReadOnlyRecommendationState } from './read-only-recommendation.svelte';
22
24
  import { ViewerOptionsState } from './viewer-options.svelte';
23
25
  import { ViewerParityUiState } from './viewer-parity-ui.svelte';
24
26
  import { ViewerState } from './viewer-state.svelte';
@@ -105,6 +107,14 @@ export interface ViewerStateBag {
105
107
  readonly editor: EditorState;
106
108
  readonly controller: EditorController;
107
109
  readonly parityUi: ViewerParityUiState;
110
+ /**
111
+ * The deck's own `p:modifyVerifier` / "Mark as Final" read-only
112
+ * recommendation and lock (wave 4 #2), mirroring the Protected View banner
113
+ * mechanism rather than inventing a second one.
114
+ */
115
+ readonly readOnlyRec: ReadOnlyRecommendationState;
116
+ /** Fidelity-loss toast stack (wave 4 #3), fed by `loader.compatibilityWarnings`. */
117
+ readonly compatToasts: CompatToastsState;
108
118
  readonly chromeUi: ChromeUiState;
109
119
  readonly findReplace: FindReplaceState;
110
120
  readonly collab: CollaborationController;
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-viewer-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state.svelte.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAc5F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CA+YnF"}
1
+ {"version":3,"file":"create-viewer-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state.svelte.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAc5F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,cAAc,CAkZnF"}