pptx-svelte-viewer 2.8.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/AiChatPanel-CWB7jYUa.js +1108 -0
  3. package/dist/{export-BbJv-tva.js → export-CAW_l1TQ.js} +44625 -39074
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.d.ts +21 -0
  6. package/dist/index.js +20 -20
  7. package/dist/pptx-svelte-viewer.css +1 -1
  8. package/dist/{translator-DL83W_OP.js → translator-0iRuc5gX.js} +240 -19
  9. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts +23 -0
  10. package/dist/viewer/ai/ai-chat-persistence.svelte.d.ts.map +1 -0
  11. package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts +47 -0
  12. package/dist/viewer/components/inspector/theme-editor-state.svelte.d.ts.map +1 -0
  13. package/dist/viewer/components/props-chrome.d.ts +104 -0
  14. package/dist/viewer/components/props-chrome.d.ts.map +1 -0
  15. package/dist/viewer/components/props-editing.d.ts +86 -0
  16. package/dist/viewer/components/props-editing.d.ts.map +1 -0
  17. package/dist/viewer/components/props-elements.d.ts +65 -0
  18. package/dist/viewer/components/props-elements.d.ts.map +1 -0
  19. package/dist/viewer/components/props-stage.d.ts +84 -0
  20. package/dist/viewer/components/props-stage.d.ts.map +1 -0
  21. package/dist/viewer/components/props.d.ts +10 -283
  22. package/dist/viewer/components/props.d.ts.map +1 -1
  23. package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts +23 -0
  24. package/dist/viewer/components/ribbon/insert/equation-latex-preview.d.ts.map +1 -0
  25. package/dist/viewer/components/ribbon/ribbon-types.d.ts +2 -0
  26. package/dist/viewer/components/ribbon/ribbon-types.d.ts.map +1 -1
  27. package/dist/viewer/components/viewer-body-commits.d.ts +18 -0
  28. package/dist/viewer/components/viewer-body-commits.d.ts.map +1 -0
  29. package/dist/viewer/components/viewer-body-props.d.ts +125 -0
  30. package/dist/viewer/components/viewer-body-props.d.ts.map +1 -0
  31. package/dist/viewer/editor/context-menu-dispatch.d.ts +45 -0
  32. package/dist/viewer/editor/context-menu-dispatch.d.ts.map +1 -0
  33. package/dist/viewer/editor/deck-api.d.ts +31 -0
  34. package/dist/viewer/editor/deck-api.d.ts.map +1 -0
  35. package/dist/viewer/editor/editor-controller-deps.d.ts +21 -1
  36. package/dist/viewer/editor/editor-controller-deps.d.ts.map +1 -1
  37. package/dist/viewer/editor/editor-controller-wiring.d.ts +35 -0
  38. package/dist/viewer/editor/editor-controller-wiring.d.ts.map +1 -0
  39. package/dist/viewer/editor/editor-controller.svelte.d.ts.map +1 -1
  40. package/dist/viewer/editor/editor-document-lifecycle.d.ts +68 -0
  41. package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -0
  42. package/dist/viewer/editor/editor-document-state.d.ts +3 -1
  43. package/dist/viewer/editor/editor-document-state.d.ts.map +1 -1
  44. package/dist/viewer/editor/editor-freeform.d.ts +4 -0
  45. package/dist/viewer/editor/editor-freeform.d.ts.map +1 -0
  46. package/dist/viewer/editor/editor-history-state.svelte.d.ts +31 -0
  47. package/dist/viewer/editor/editor-history-state.svelte.d.ts.map +1 -0
  48. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts +10 -6
  49. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -1
  50. package/dist/viewer/editor/editor-keyboard.d.ts +18 -11
  51. package/dist/viewer/editor/editor-keyboard.d.ts.map +1 -1
  52. package/dist/viewer/editor/editor-selection.svelte.d.ts +10 -10
  53. package/dist/viewer/editor/editor-selection.svelte.d.ts.map +1 -1
  54. package/dist/viewer/editor/editor-state.svelte.d.ts +26 -19
  55. package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
  56. package/dist/viewer/editor/editor-text-body-mutations.d.ts +17 -0
  57. package/dist/viewer/editor/editor-text-body-mutations.d.ts.map +1 -0
  58. package/dist/viewer/editor/element-hit.d.ts +8 -26
  59. package/dist/viewer/editor/element-hit.d.ts.map +1 -1
  60. package/dist/viewer/editor/index.d.ts +2 -0
  61. package/dist/viewer/editor/index.d.ts.map +1 -1
  62. package/dist/viewer/export/export-wiring.svelte.d.ts +8 -1
  63. package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -1
  64. package/dist/viewer/export/rasterize-slide.d.ts +8 -1
  65. package/dist/viewer/export/rasterize-slide.d.ts.map +1 -1
  66. package/dist/viewer/index.d.ts +897 -342
  67. package/dist/viewer/index.js +20 -398
  68. package/dist/viewer/presentation/animation-media-commands.d.ts +4 -0
  69. package/dist/viewer/presentation/animation-media-commands.d.ts.map +1 -0
  70. package/dist/viewer/presentation/animation-playback-helpers.d.ts.map +1 -1
  71. package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts +42 -0
  72. package/dist/viewer/state/create-viewer-state-ai.svelte.d.ts.map +1 -0
  73. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts +13 -0
  74. package/dist/viewer/state/create-viewer-state-collab.svelte.d.ts.map +1 -1
  75. package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts +38 -0
  76. package/dist/viewer/state/create-viewer-state-derived.svelte.d.ts.map +1 -0
  77. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts +21 -13
  78. package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts.map +1 -1
  79. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts +6 -1
  80. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts.map +1 -1
  81. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts +3 -1
  82. package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
  83. package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts +31 -0
  84. package/dist/viewer/state/create-viewer-state-presenter.svelte.d.ts.map +1 -0
  85. package/dist/viewer/state/create-viewer-state-types.d.ts +43 -6
  86. package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
  87. package/dist/viewer/state/create-viewer-state.svelte.d.ts +17 -16
  88. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  89. package/dist/viewer/state/field-context.d.ts +38 -0
  90. package/dist/viewer/state/field-context.d.ts.map +1 -0
  91. package/dist/viewer/state/index.d.ts +4 -0
  92. package/dist/viewer/state/index.d.ts.map +1 -1
  93. package/dist/viewer/state/navigation.d.ts +9 -7
  94. package/dist/viewer/state/navigation.d.ts.map +1 -1
  95. package/dist/viewer/state/open-file.d.ts +15 -0
  96. package/dist/viewer/state/open-file.d.ts.map +1 -0
  97. package/dist/viewer/state/presentation-loader.svelte.d.ts +3 -1
  98. package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -1
  99. package/dist/viewer/state/quick-access-commands.d.ts +19 -0
  100. package/dist/viewer/state/quick-access-commands.d.ts.map +1 -0
  101. package/dist/viewer/state/slide-elements.d.ts +51 -0
  102. package/dist/viewer/state/slide-elements.d.ts.map +1 -0
  103. package/dist/viewer/state/theme-locale.svelte.d.ts +68 -0
  104. package/dist/viewer/state/theme-locale.svelte.d.ts.map +1 -0
  105. package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -1
  106. package/dist/viewer/state/viewer-state-options.d.ts +31 -0
  107. package/dist/viewer/state/viewer-state-options.d.ts.map +1 -0
  108. package/dist/viewer/style/element-style.d.ts.map +1 -1
  109. package/dist/viewer/style/text-style.d.ts +15 -0
  110. package/dist/viewer/style/text-style.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/dist/AiChatPanel-De82mmHA.js +0 -1082
@@ -1,12 +1,15 @@
1
- import { PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxElement, PptxHandoutMaster, PptxHeaderFooter, PptxHandler, PptxNotesMaster, PptxSaveFormat, PptxSection, PptxSlide, PptxSlideMaster, PptxPresentationProperties, PptxCustomShow, TextSegment } from 'pptx-viewer-core';
1
+ import { PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxElement, PptxHandoutMaster, PptxHeaderFooter, PptxHandler, PptxNotesMaster, PptxSaveFormat, PptxSection, PptxSlide, PptxSlideMaster, PptxPresentationProperties, PptxCustomShow, PptxTagCollection, TextSegment } from 'pptx-viewer-core';
2
2
  import { ElementClipboardPayload, TemplateElementMap } from 'pptx-viewer-shared';
3
3
  import { EditorAnimationController } from './editor-animation-controller';
4
4
  import { EditorArrangeController } from './editor-arrange-controller';
5
5
  import { EditorBackgroundController } from './editor-background-controller';
6
6
  import { EditorClipboardController } from './editor-clipboard-controller';
7
+ import { LoadDocumentArgs } from './editor-document-lifecycle';
8
+ import { EditorSnapshot } from './editor-document-state';
7
9
  import { EditorElementController } from './editor-element-controller';
8
10
  import { EditorEquationController } from './editor-equation-controller.svelte';
9
11
  import { EditorFormatPainterController } from './editor-format-painter-controller.svelte';
12
+ import { EditorHistoryState } from './editor-history-state.svelte';
10
13
  import { EditorInkController } from './editor-ink-controller.svelte';
11
14
  import { EditorMasterController, MasterViewTarget } from './editor-master-controller';
12
15
  import { ElementBoxPatch } from './editor-mutations';
@@ -34,6 +37,12 @@ export declare class EditorState {
34
37
  coreProperties: PptxCoreProperties | undefined;
35
38
  appProperties: PptxAppProperties | undefined;
36
39
  customProperties: PptxCustomProperty[];
40
+ /**
41
+ * The deck's `ppt/tags/*.xml` name/value metadata. Seeded from the load via
42
+ * {@link adoptTagCollections} and edited by the inspector's Tags section;
43
+ * carried through the undo snapshot and re-emitted on save.
44
+ */
45
+ tagCollections: PptxTagCollection[];
37
46
  masterViewTarget: MasterViewTarget | null;
38
47
  readonly selection: EditorSelection;
39
48
  editable: boolean;
@@ -41,6 +50,8 @@ export declare class EditorState {
41
50
  editTemplateMode: boolean;
42
51
  interactionActive: boolean;
43
52
  clipboard: ElementClipboardPayload | null;
53
+ /** Undo/redo stack; the `canUndo` / `canRedo` getters below mirror it. */
54
+ readonly history: EditorHistoryState;
44
55
  readonly clipboardOps: EditorClipboardController;
45
56
  readonly elementOps: EditorElementController;
46
57
  readonly templateOps: EditorTemplateController;
@@ -70,29 +81,15 @@ export declare class EditorState {
70
81
  /** The loaded core handler, or null before a deck is open. Used by the
71
82
  * Slides group for layout switching (`applyLayoutToSlide`). */
72
83
  getHandler(): PptxHandler | null;
73
- setSlides(slides: PptxSlide[], slideMasters?: PptxSlideMaster[], notesMaster?: PptxNotesMaster, handoutMaster?: PptxHandoutMaster, sections?: PptxSection[], coreProperties?: PptxCoreProperties, appProperties?: PptxAppProperties, customProperties?: PptxCustomProperty[], headerFooter?: PptxHeaderFooter, presentationProperties?: PptxPresentationProperties, customShows?: PptxCustomShow[]): void;
74
- /**
75
- * Replace the working slides with a remote (collaboration) snapshot without
76
- * recording an undo step or touching the dirty flag: the granular reconcile
77
- * already merged the peer's change, and treating an incoming remote edit as
78
- * a local mutation would both pollute the undo stack and re-broadcast it.
79
- *
80
- * Selection is preserved when the selected element still exists so a remote
81
- * edit does not yank the local user's selection out from under them. Local
82
- * undo history is intentionally kept (see the collaboration module JSDoc):
83
- * shared defines no collaborative-undo semantics, so, matching React/Vue,
84
- * local undo may fight a concurrent remote edit.
85
- */
84
+ /** Adopt a freshly loaded deck as the working document (see `loadEditorDocument`). */
85
+ setSlides(...args: LoadDocumentArgs): void;
86
+ /** Adopt a remote (collaboration) snapshot; see `applyRemoteEditorSlides`. */
86
87
  applyRemoteSlides(slides: PptxSlide[]): void;
87
88
  reset(): void;
88
89
  select(id: string | null): void;
89
90
  isElementInteractive(id: string): boolean;
90
91
  setTemplateEditing(enabled: boolean): void;
91
- /**
92
- * Apply the File > Options "maximum number of undos" value. Recreates the
93
- * history stack when the depth changes (PowerPoint likewise applies the new
94
- * maximum going forward; existing entries are dropped).
95
- */
92
+ /** Apply the File > Options "maximum number of undos" value. */
96
93
  setHistoryDepth(depth: number): void;
97
94
  pushHistory(): void;
98
95
  commitChange(): void;
@@ -108,6 +105,8 @@ export declare class EditorState {
108
105
  * undoable step). No-op when not editable.
109
106
  */
110
107
  commitSlides(next: PptxSlide[]): void;
108
+ /** A deep clone of the whole editable document (one undo entry, or save input). */
109
+ snapshot(): EditorSnapshot;
111
110
  deleteSelected: () => void;
112
111
  duplicateSelected: () => string | null;
113
112
  applyElementPatch: (id: string, patch: Partial<PptxElement>) => void;
@@ -118,6 +117,14 @@ export declare class EditorState {
118
117
  commitInlineText: (id: string, text: string) => void;
119
118
  commitNotes: (notes: string, notesSegments?: TextSegment[]) => void;
120
119
  updateDocumentProperties(core: PptxCoreProperties, app: PptxAppProperties, custom: PptxCustomProperty[]): void;
120
+ /**
121
+ * Seed the deck's tag parts straight after a load. Deliberately NOT an undo
122
+ * step: the load already cleared history, and treating the parsed value as
123
+ * a user edit would mark a pristine deck dirty.
124
+ */
125
+ adoptTagCollections(tags: readonly PptxTagCollection[]): void;
126
+ /** Replace the tag collections as one undoable edit (inspector Tags section). */
127
+ updateTagCollections(next: readonly PptxTagCollection[]): void;
121
128
  undo(): void;
122
129
  redo(): void;
123
130
  save(format?: PptxSaveFormat): Promise<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-state.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-state.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-state.svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { PptxElement, TextStyle } from 'pptx-viewer-core';
2
+ /** Set the body text direction (`a:bodyPr/@vert`). */
3
+ export declare function setTextDirectionPatch(el: PptxElement, textDirection: TextStyle['textDirection']): Partial<PptxElement>;
4
+ /** Set the body column count (`a:bodyPr/@numCol`). */
5
+ export declare function setColumnCountPatch(el: PptxElement, columnCount: number): Partial<PptxElement>;
6
+ /** True when the element currently carries a text shadow. */
7
+ export declare function hasTextShadow(el: PptxElement | undefined): boolean;
8
+ /**
9
+ * Toggle PowerPoint's default text shadow on or off.
10
+ *
11
+ * Off clears every shadow field rather than only the colour: leaving a stale
12
+ * blur/offset behind would make the next "on" inherit settings the user never
13
+ * chose. The on-values are React's, so a deck shadowed in one binding looks the
14
+ * same in the others.
15
+ */
16
+ export declare function toggleTextShadowPatch(el: PptxElement): Partial<PptxElement>;
17
+ //# sourceMappingURL=editor-text-body-mutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-text-body-mutations.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-text-body-mutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAmB/D,sDAAsD;AACtD,wBAAgB,qBAAqB,CACpC,EAAE,EAAE,WAAW,EACf,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,GACvC,OAAO,CAAC,WAAW,CAAC,CAEtB;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAE9F;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAoB3E"}
@@ -2,32 +2,14 @@
2
2
  * Hit-testing for the editing layer: map a pointer-event target inside the
3
3
  * rendered stage back to the TOP-LEVEL slide element it belongs to.
4
4
  *
5
- * Renderers set `data-element-id` on every element root (groups nest their
6
- * children's roots inside their own), so the innermost match identifies the
7
- * hit and the outermost ancestor with the attribute identifies the top-level
8
- * element the editor selects and transforms. Native DOM hit-testing already
9
- * gives us the visually topmost node, so z-order comes for free.
10
- */
11
- /**
12
- * Resolve the top-level element id for an event target within `stageRoot`,
13
- * or `null` when the target is not inside a rendered element (empty canvas,
14
- * chrome, overlay).
15
- */
16
- export declare function resolveTopLevelElementId(target: EventTarget | null, stageRoot: Element | null): string | null;
17
- /**
18
- * Resolve the element a double-click / double-tap is meant for, tolerating a
19
- * hit on the selection chrome.
20
- *
21
- * On a coarse pointer the resize handles are grown to a finger-friendly 22px so
22
- * they can be grabbed at all. On a small shape - a Pixel 7 renders a typical
23
- * text box at roughly 57x43 css px - those handles cover part of the shape's
24
- * own body, so the second tap of a double-tap lands on a handle button. That
25
- * button lives in the overlay rather than inside the element, so
26
- * {@link resolveTopLevelElementId} alone returns `null` and inline edit never
27
- * opens.
5
+ * The rule is framework-agnostic ("given a point and a rendered stage, which
6
+ * element is selected?") and was duplicated here, in the vanilla binding, and
7
+ * half-implemented in Angular and Vue, where a grouped child resolved to
8
+ * nothing and a click on it cleared the selection. It now lives once in
9
+ * `pptx-viewer-shared`; this module stays only so the existing import paths
10
+ * keep working.
28
11
  *
29
- * The selection chrome only ever renders on the selected element's own box, so
30
- * a double-tap that landed on it belongs to `selectedElementId`.
12
+ * @see `packages/shared/src/render/element-hit-test.ts`
31
13
  */
32
- export declare function resolveEditTargetElementId(target: EventTarget | null, stageRoot: Element | null, selectedElementId: string | null): string | null;
14
+ export { resolveEditTargetElementId, resolveElementIdChain, resolveHitElementId, resolveTopLevelElementId, } from 'pptx-viewer-shared';
33
15
  //# sourceMappingURL=element-hit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-hit.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/element-hit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,SAAS,EAAE,OAAO,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CAoBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,WAAW,GAAG,IAAI,EAC1B,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,GAAG,IAAI,CASf"}
1
+ {"version":3,"file":"element-hit.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/element-hit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -18,6 +18,8 @@ export { deleteSlideAt, duplicateSlideAt, insertBlankSlideAfter, moveSlide, } fr
18
18
  export type { FindReplaceDeps } from './editor-find-replace.svelte';
19
19
  export { FindReplaceState } from './editor-find-replace.svelte';
20
20
  export { adjustIndentPatch, setAlignPatch, setLineSpacingPatch, toggleListTypePatch, } from './editor-paragraph-mutations';
21
+ export { hasTextShadow, setColumnCountPatch, setTextDirectionPatch, toggleTextShadowPatch, } from './editor-text-body-mutations';
22
+ export { strokeToFreeformShape } from './editor-freeform';
21
23
  export { changeCasePatch, clearFormattingPatch, setCharacterSpacingPatch, setFontFamilyPatch, toggleStrikethroughPatch, } from './editor-text-extra-mutations';
22
24
  export type { GestureController, GestureDeps, GestureKind, GestureTransform, } from './editor-gestures';
23
25
  export { createGestureController } from './editor-gestures';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PptxSlide } from 'pptx-viewer-core';
2
- import { CanvasSize } from 'pptx-viewer-shared';
2
+ import { CanvasSize, FieldSubstitutionContext } from 'pptx-viewer-shared';
3
3
  import { Translator } from '../../i18n/translator';
4
4
  import { ExportController } from './export-controller.svelte';
5
5
  export interface ExportWiringDeps {
@@ -16,6 +16,13 @@ export interface ExportWiringDeps {
16
16
  getCurrent(): number;
17
17
  getTranslator(): Translator;
18
18
  getSmartArt3D(): boolean;
19
+ /**
20
+ * Deck-level field-substitution context, so an exported slide resolves its
21
+ * slide-number / date / footer runs exactly like the on-screen stage does.
22
+ * Optional: a host wiring exports without a viewer root simply exports the
23
+ * authored placeholder text, as before.
24
+ */
25
+ getFieldContext?(): FieldSubstitutionContext | undefined;
19
26
  }
20
27
  export interface ExportWiring {
21
28
  /** The reactive PNG/PDF export controller (`exporting` drives a spinner). */
@@ -1 +1 @@
1
- {"version":3,"file":"export-wiring.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-wiring.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAChC;;;;;OAKG;IACH,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,IAAI,MAAM,CAAC;IACrB,aAAa,IAAI,UAAU,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,kEAAkE;IAClE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAiCvE"}
1
+ {"version":3,"file":"export-wiring.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-wiring.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAChC;;;;;OAKG;IACH,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,IAAI,MAAM,CAAC;IACrB,aAAa,IAAI,UAAU,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC;IACzB;;;;;OAKG;IACH,eAAe,CAAC,IAAI,wBAAwB,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,YAAY;IAC5B,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,kEAAkE;IAClE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAkCvE"}
@@ -1,5 +1,5 @@
1
1
  import { PptxSlide } from 'pptx-viewer-core';
2
- import { CanvasSize } from 'pptx-viewer-shared';
2
+ import { CanvasSize, FieldSubstitutionContext } from 'pptx-viewer-shared';
3
3
  import { Translator } from '../../i18n/translator';
4
4
  export interface RasterizeSlideDeps {
5
5
  doc: Document;
@@ -11,6 +11,13 @@ export interface RasterizeSlideDeps {
11
11
  getTranslator(): Translator;
12
12
  /** Opt-in WebGL SmartArt renderer flag; see `PowerPointViewerProps.smartArt3D`. */
13
13
  smartArt3D: boolean;
14
+ /**
15
+ * Deck-level OOXML field-substitution context. The capture stage is mounted
16
+ * outside the viewer tree, so without this an exported PNG/PDF would print
17
+ * the authored "Slide #" placeholder while the screen shows "Slide 1".
18
+ * `SlideStage` re-points its per-slide fields at the slide being captured.
19
+ */
20
+ getFieldContext?: () => FieldSubstitutionContext | undefined;
14
21
  /**
15
22
  * Overridable frame-wait before capture (test seam: the real
16
23
  * `requestAnimationFrame` double-wait is not worth driving through fake
@@ -1 +1 @@
1
- {"version":3,"file":"rasterize-slide.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/rasterize-slide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,gFAAgF;IAChF,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,IAAI,UAAU,CAAC;IAC5B,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACxC,sFAAsF;IACtF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,wDAAwD;IACxD,OAAO,IAAI,IAAI,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,CAkEvF"}
1
+ {"version":3,"file":"rasterize-slide.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/rasterize-slide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAI/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,gFAAgF;IAChF,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,IAAI,SAAS,EAAE,CAAC;IACzB,aAAa,IAAI,UAAU,CAAC;IAC5B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,IAAI,UAAU,CAAC;IAC5B,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,wBAAwB,GAAG,SAAS,CAAC;IAC7D;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACxC,sFAAsF;IACtF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,wDAAwD;IACxD,OAAO,IAAI,IAAI,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,CAmEvF"}