pptx-svelte-viewer 3.0.3 → 3.1.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 (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{AiChatPanel-CklFzO5S.js → AiChatPanel-nB6eEd7u.js} +1 -1
  3. package/dist/{export-C9zGO76a.js → export-DHNhKSg6.js} +33507 -30438
  4. package/dist/i18n.js +1 -1
  5. package/dist/index.d.ts +196 -6
  6. package/dist/index.js +2 -2
  7. package/dist/pptx-svelte-viewer.css +1 -1
  8. package/dist/{translator-CAcsC5k6.js → translator-Dkvcrdba.js} +24 -0
  9. package/dist/viewer/components/ribbon/animations/animation-timeline-editing.d.ts +9 -7
  10. package/dist/viewer/components/ribbon/animations/animation-timeline-editing.d.ts.map +1 -1
  11. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts +5 -2
  12. package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -1
  13. package/dist/viewer/editor/editor-ink-gesture.d.ts.map +1 -1
  14. package/dist/viewer/editor/editor-transition-controller.d.ts +8 -1
  15. package/dist/viewer/editor/editor-transition-controller.d.ts.map +1 -1
  16. package/dist/viewer/export/export-wiring.svelte.d.ts +4 -0
  17. package/dist/viewer/export/export-wiring.svelte.d.ts.map +1 -1
  18. package/dist/viewer/export/rasterize-slide.d.ts +20 -0
  19. package/dist/viewer/export/rasterize-slide.d.ts.map +1 -1
  20. package/dist/viewer/index.d.ts +221 -8
  21. package/dist/viewer/index.js +1 -1
  22. package/dist/viewer/render/ole-view.d.ts.map +1 -1
  23. package/dist/viewer/state/area-chart-3d-context.d.ts +19 -0
  24. package/dist/viewer/state/area-chart-3d-context.d.ts.map +1 -0
  25. package/dist/viewer/state/bar-chart-3d-context.d.ts +19 -0
  26. package/dist/viewer/state/bar-chart-3d-context.d.ts.map +1 -0
  27. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts +4 -0
  28. package/dist/viewer/state/create-viewer-state-export-notes.svelte.d.ts.map +1 -1
  29. package/dist/viewer/state/create-viewer-state-types.d.ts +4 -0
  30. package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
  31. package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
  32. package/dist/viewer/state/index.d.ts +4 -0
  33. package/dist/viewer/state/index.d.ts.map +1 -1
  34. package/dist/viewer/state/line-chart-3d-context.d.ts +19 -0
  35. package/dist/viewer/state/line-chart-3d-context.d.ts.map +1 -0
  36. package/dist/viewer/state/pie-chart-3d-context.d.ts +19 -0
  37. package/dist/viewer/state/pie-chart-3d-context.d.ts.map +1 -0
  38. package/dist/viewer/state/viewer-state-options.d.ts.map +1 -1
  39. package/dist/viewer/types.d.ts +43 -0
  40. package/dist/viewer/types.d.ts.map +1 -1
  41. package/package.json +2 -2
@@ -1152,6 +1152,8 @@ var n = {
1152
1152
  "pptx.animation.duration": "Duration (ms)",
1153
1153
  "pptx.animation.moveDown": "Move down",
1154
1154
  "pptx.animation.moveUp": "Move up",
1155
+ "pptx.animation.nativeEffect": "PowerPoint effect",
1156
+ "pptx.animation.nativeEffectHint": "Added in PowerPoint. Drag your own effects ahead of or behind it.",
1155
1157
  "pptx.animation.none": "None",
1156
1158
  "pptx.animation.preview": "Preview",
1157
1159
  "pptx.animation.repeatCount": "Repeat count",
@@ -1310,6 +1312,8 @@ var n = {
1310
1312
  "pptx.ole.linked": "Linked",
1311
1313
  "pptx.ole.title": "OLE Object",
1312
1314
  "pptx.ole.type": "Type",
1315
+ "pptx.ole.objectName": "Object Name",
1316
+ "pptx.ole.objectNamePlaceholder": "Used by screen readers and the Selection Pane",
1313
1317
  "pptx.presentation.clearAnnotations": "Clear Annotations",
1314
1318
  "pptx.presentation.discardAnnotations": "Discard Annotations",
1315
1319
  "pptx.presentation.keepAnnotations": "Keep Annotations",
@@ -1485,6 +1489,14 @@ var n = {
1485
1489
  "pptx.transition.sound": "Sound",
1486
1490
  "pptx.transition.spokes": "Spokes",
1487
1491
  "pptx.transition.type": "Type",
1492
+ "pptx.transition.speed": "Speed",
1493
+ "pptx.transition.speed.slow": "Slow",
1494
+ "pptx.transition.speed.med": "Medium",
1495
+ "pptx.transition.speed.fast": "Fast",
1496
+ "pptx.transition.morphOption": "Morph by",
1497
+ "pptx.transition.morphOption.byObject": "By Object",
1498
+ "pptx.transition.morphOption.byWord": "By Word",
1499
+ "pptx.transition.morphOption.byChar": "By Character",
1488
1500
  "pptx.contextMenu.ariaLabel": "Context menu",
1489
1501
  "pptx.editorToolbar.ariaLabel": "Editor toolbar",
1490
1502
  "pptx.editorToolbar.insert": "Insert",
@@ -1959,6 +1971,7 @@ Item 3`,
1959
1971
  "pptx.ribbon.advanceAfterSeconds": "Advance after specified duration",
1960
1972
  "pptx.ribbon.sound": "Sound:",
1961
1973
  "pptx.ribbon.soundNone": "[No Sound]",
1974
+ "pptx.ribbon.soundOther": "Other Sound...",
1962
1975
  "pptx.ribbon.inspector": "Inspector",
1963
1976
  "pptx.ribbon.openInspectorTransitions": "Open Inspector for full transition options",
1964
1977
  "pptx.ribbon.removeAnimation": "Remove Animation",
@@ -2185,6 +2198,16 @@ Item 3`,
2185
2198
  "pptx.animation.motionPath.endHandle": "Motion path end point",
2186
2199
  "pptx.animation.motionPath.overlay": "Motion path preview",
2187
2200
  "pptx.animations.motionPathGalleryAria": "Motion Paths: Lines, Arcs, Turns, Shapes, and Loops",
2201
+ "pptx.animation.sound": "Sound",
2202
+ "pptx.animation.sound.none": "[No Sound]",
2203
+ "pptx.animation.sound.custom": "Choose sound file...",
2204
+ "pptx.animation.sound.chooseFile": "Choose an audio file",
2205
+ "pptx.animation.afterAnimation": "After animation",
2206
+ "pptx.animation.afterAnimation.none": "Don't Dim",
2207
+ "pptx.animation.afterAnimation.dimToColor": "Dim after animation",
2208
+ "pptx.animation.afterAnimation.hideAfterAnimation": "Hide after animation",
2209
+ "pptx.animation.afterAnimation.hideOnNextClick": "Hide on next mouse click",
2210
+ "pptx.animation.afterAnimation.color": "Dim color",
2188
2211
  "pptx.align.toolbarLabel": "Align and distribute",
2189
2212
  "pptx.arrange.deleteSelection": "Delete selection",
2190
2213
  "pptx.arrange.duplicateSelection": "Duplicate selection",
@@ -3359,6 +3382,7 @@ Item 3`,
3359
3382
  "pptx.chart.typeArea3D": "Area (3-D)",
3360
3383
  "pptx.chart.typeSurface": "Surface",
3361
3384
  "pptx.chart.typeHistogram": "Histogram",
3385
+ "pptx.chart.typePareto": "Pareto",
3362
3386
  "pptx.chart.typeFunnel": "Funnel",
3363
3387
  "pptx.chart.typeTreemap": "Treemap",
3364
3388
  "pptx.chart.typeSunburst": "Sunburst",
@@ -1,10 +1,12 @@
1
- import { PptxElementAnimation } from 'pptx-viewer-core';
1
+ import { PptxAnimationTimelineAnchor, PptxElementAnimation } from 'pptx-viewer-core';
2
2
  /**
3
- * Reorders `entries` (already `order`-sorted, per this file's caller) by
4
- * moving `sourceId`'s entry to `targetId`'s position. Both sides are keyed
5
- * by elementId, the ribbon-tab timeline drags a row rather than tracking a
6
- * row index, so the target elementId is resolved to an index before
7
- * delegating to the shared splice-and-reindex algorithm.
3
+ * Reorders `entries` by moving the editor-authored animation for `sourceId`
4
+ * to `targetKey`'s position in the FULL sequence (editor entries merged with
5
+ * `anchors`, the deck's own read-only effect groups). Both sides are keyed
6
+ * by row key: the ribbon-tab timeline drags a row rather than tracking a
7
+ * row index, and a drop target may name a native anchor's key
8
+ * (`native:<order>`), which is how an editor effect ends up ahead of or
9
+ * behind one of the deck's own.
8
10
  */
9
- export declare function reorderAnimationEntries(entries: readonly PptxElementAnimation[], sourceId: string, targetId: string): PptxElementAnimation[];
11
+ export declare function reorderAnimationEntries(entries: readonly PptxElementAnimation[], anchors: readonly PptxAnimationTimelineAnchor[], sourceId: string, targetKey: string): PptxElementAnimation[];
10
12
  //# sourceMappingURL=animation-timeline-editing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animation-timeline-editing.d.ts","sourceRoot":"","sources":["../../../../../src/viewer/components/ribbon/animations/animation-timeline-editing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAG7D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACd,oBAAoB,EAAE,CAMxB"}
1
+ {"version":3,"file":"animation-timeline-editing.d.ts","sourceRoot":"","sources":["../../../../../src/viewer/components/ribbon/animations/animation-timeline-editing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAO1F;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,OAAO,EAAE,SAAS,2BAA2B,EAAE,EAC/C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GACf,oBAAoB,EAAE,CASxB"}
@@ -55,8 +55,11 @@ export declare class EditorInkController {
55
55
  */
56
56
  commitStroke(points: readonly InkPoint[]): void;
57
57
  /**
58
- * Hit-test `ink` elements on the current slide at `point` (topmost first)
59
- * and delete the first match, with history. No-op when nothing is hit.
58
+ * Hit-test `ink`/`contentPart` elements on the current slide at `point`
59
+ * (topmost first) and delete the first match, with history. `contentPart`
60
+ * is included because ink saved via the Draw tab reloads in that shape, so
61
+ * it must stay erasable after a save/reload round-trip. No-op when nothing
62
+ * is hit.
60
63
  */
61
64
  eraseElementAt(point: InkPoint): void;
62
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor-ink-controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-ink-controller.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAQnF;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;;IAG/B,wFAAwF;IACxF,IAAI,cAAiC;IACrC,qDAAqD;IACrD,KAAK,SAA6B;IAClC,wEAAwE;IACxE,KAAK,SAA6B;IAClC,iFAAiF;IACjF,SAAS,SAAc;gBAEX,MAAM,EAAE,WAAW;IAI/B,2GAA2G;IAC3G,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAQhC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,kFAAkF;IAClF,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAuB/C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAmBrC"}
1
+ {"version":3,"file":"editor-ink-controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-ink-controller.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAKnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAKnF;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;;IAG/B,wFAAwF;IACxF,IAAI,cAAiC;IACrC,qDAAqD;IACrD,KAAK,SAA6B;IAClC,wEAAwE;IACxE,KAAK,SAA6B;IAClC,iFAAiF;IACjF,SAAS,SAAc;gBAEX,MAAM,EAAE,WAAW;IAI/B,2GAA2G;IAC3G,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAQhC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,kFAAkF;IAClF,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI;IAuB/C;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAQrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"editor-ink-gesture.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-ink-gesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC9B,sDAAsD;IACtD,QAAQ,IAAI,MAAM,CAAC;IACnB,qFAAqF;IACrF,cAAc,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,6EAA6E;IAC7E,OAAO,IAAI,WAAW,CAAC;IACvB,+DAA+D;IAC/D,aAAa,IAAI,IAAI,CAAC;IACtB,0EAA0E;IAC1E,eAAe,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnD,+EAA+E;IAC/E,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/C,+DAA+D;IAC/D,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,uGAAuG;IACvG,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,QAAQ,IAAI,OAAO,CAAC;IACpB,mEAAmE;IACnE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,cAAc,GAAG,oBAAoB,CAmErF"}
1
+ {"version":3,"file":"editor-ink-gesture.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-ink-gesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC9B,sDAAsD;IACtD,QAAQ,IAAI,MAAM,CAAC;IACnB,qFAAqF;IACrF,cAAc,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,6EAA6E;IAC7E,OAAO,IAAI,WAAW,CAAC;IACvB,+DAA+D;IAC/D,aAAa,IAAI,IAAI,CAAC;IACtB,0EAA0E;IAC1E,eAAe,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnD,+EAA+E;IAC/E,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/C,+DAA+D;IAC/D,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,uGAAuG;IACvG,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,QAAQ,IAAI,OAAO,CAAC;IACpB,mEAAmE;IACnE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,cAAc,GAAG,oBAAoB,CAyErF"}
@@ -1,4 +1,4 @@
1
- import { PptxTransitionType } from 'pptx-viewer-core';
1
+ import { PptxSlideTransition, PptxTransitionType } from 'pptx-viewer-core';
2
2
  import { RibbonTransitionDraft } from 'pptx-viewer-shared';
3
3
  import { EditorState } from './editor-state.svelte';
4
4
  /**
@@ -30,5 +30,12 @@ export declare class EditorTransitionController {
30
30
  * slide keeps its authored direction / spokes / sound.
31
31
  */
32
32
  applyRibbonDraft(draft: RibbonTransitionDraft, applyToAll: boolean): void;
33
+ /**
34
+ * Merge a raw partial change onto the ACTIVE slide's transition, for
35
+ * controls that write a single field outside the ribbon draft (currently
36
+ * the Sound picker: a freshly-picked file's `soundData` has no equivalent
37
+ * in {@link RibbonTransitionDraft}).
38
+ */
39
+ applyChange(changes: Partial<PptxSlideTransition>): void;
33
40
  }
34
41
  //# sourceMappingURL=editor-transition-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-transition-controller.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-transition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA0B;;gBAG1B,MAAM,EAAE,WAAW;IAI/B,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAqBxF;;;;;;;;;OASG;IACH,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CAqBzE"}
1
+ {"version":3,"file":"editor-transition-controller.d.ts","sourceRoot":"","sources":["../../../src/viewer/editor/editor-transition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA0B;;gBAG1B,MAAM,EAAE,WAAW;IAI/B,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAqBxF;;;;;;;;;OASG;IACH,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAsBzE;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;CAaxD"}
@@ -17,6 +17,10 @@ export interface ExportWiringDeps {
17
17
  getTranslator(): Translator;
18
18
  getSmartArt3D(): boolean;
19
19
  getSurfaceChart3D(): boolean;
20
+ getBarChart3D(): boolean;
21
+ getLineChart3D(): boolean;
22
+ getAreaChart3D(): boolean;
23
+ getPieChart3D(): boolean;
20
24
  /**
21
25
  * Deck-level field-substitution context, so an exported slide resolves its
22
26
  * slide-number / date / footer runs exactly like the on-screen stage does.
@@ -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,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,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,iBAAiB,IAAI,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,IAAI,wBAAwB,GAAG,SAAS,CAAC;IACzD,gFAAgF;IAChF,WAAW,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC;IACrC,gFAAgF;IAChF,WAAW,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;CACnC;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,CAqCvE"}
1
+ {"version":3,"file":"export-wiring.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/export/export-wiring.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,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,iBAAiB,IAAI,OAAO,CAAC;IAC7B,aAAa,IAAI,OAAO,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC;IAC1B,cAAc,IAAI,OAAO,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC;IACzB;;;;;OAKG;IACH,eAAe,CAAC,IAAI,wBAAwB,GAAG,SAAS,CAAC;IACzD,gFAAgF;IAChF,WAAW,CAAC,IAAI,QAAQ,GAAG,SAAS,CAAC;IACrC,gFAAgF;IAChF,WAAW,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;CACnC;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,CAyCvE"}
@@ -16,6 +16,26 @@ export interface RasterizeSlideDeps {
16
16
  * `PowerPointViewerProps.surfaceChart3D`.
17
17
  */
18
18
  surfaceChart3D: boolean;
19
+ /**
20
+ * Opt-in WebGL bar3D-chart renderer flag; see
21
+ * `PowerPointViewerProps.barChart3D`.
22
+ */
23
+ barChart3D: boolean;
24
+ /**
25
+ * Opt-in WebGL line3D-chart renderer flag; see
26
+ * `PowerPointViewerProps.lineChart3D`.
27
+ */
28
+ lineChart3D: boolean;
29
+ /**
30
+ * Opt-in WebGL area3D-chart renderer flag; see
31
+ * `PowerPointViewerProps.areaChart3D`.
32
+ */
33
+ areaChart3D: boolean;
34
+ /**
35
+ * Opt-in WebGL pie3D-chart renderer flag; see
36
+ * `PowerPointViewerProps.pieChart3D`.
37
+ */
38
+ pieChart3D: boolean;
19
39
  /**
20
40
  * Deck-level OOXML field-substitution context. The capture stage is mounted
21
41
  * outside the viewer tree, so without this an exported PNG/PDF would print
@@ -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,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAI/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOxD,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;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;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,CAoEvF"}
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;AAWxD,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;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,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,CAwEvF"}
@@ -1678,6 +1678,32 @@ interface TextStyle {
1678
1678
  textReflectionEndOpacity?: number;
1679
1679
  /** Text reflection offset distance in px. */
1680
1680
  textReflectionOffset?: number;
1681
+ /**
1682
+ * Text reflection fade direction (`a:rPr/a:effectLst/a:reflection/@fadeDir`)
1683
+ * in degrees. Mirrors `ShapeStyle.reflectionFadeDirection`.
1684
+ */
1685
+ textReflectionFadeDirection?: number;
1686
+ /**
1687
+ * Text reflection horizontal scaling (`@sx`), same units as
1688
+ * `ShapeStyle.reflectionScaleX` (1000ths of a percent, e.g. 100000 = 100%).
1689
+ */
1690
+ textReflectionScaleX?: number;
1691
+ /** Text reflection vertical scaling (`@sy`). See `ShapeStyle.reflectionScaleY`. */
1692
+ textReflectionScaleY?: number;
1693
+ /**
1694
+ * Text reflection horizontal skew (`@kx`) in 60000ths of a degree. See
1695
+ * `ShapeStyle.reflectionSkewX`.
1696
+ */
1697
+ textReflectionSkewX?: number;
1698
+ /** Text reflection vertical skew (`@ky`). See `ShapeStyle.reflectionSkewY`. */
1699
+ textReflectionSkewY?: number;
1700
+ /**
1701
+ * Text reflection independent rotation (`@rot`) in degrees. See
1702
+ * `ShapeStyle.reflectionRotation`.
1703
+ */
1704
+ textReflectionRotation?: number;
1705
+ /** Text reflection anchor (`@algn`). See `ShapeStyle.reflectionAlignment`. */
1706
+ textReflectionAlignment?: 'tl' | 't' | 'tr' | 'l' | 'ctr' | 'r' | 'bl' | 'b' | 'br';
1681
1707
  /** 3D extrusion/bevel settings on the text body. */
1682
1708
  text3d?: Text3DStyle;
1683
1709
  /** 3D scene (camera + light rig) settings on the text body (`a:bodyPr/a:scene3d`). */
@@ -5379,6 +5405,21 @@ interface ContentPartInkStroke {
5379
5405
  * variable-width strokes that reflect stylus/pen pressure.
5380
5406
  */
5381
5407
  pressures?: number[];
5408
+ /**
5409
+ * Per-point pen-tilt lean direction (radians), decoded from the source
5410
+ * InkML's `OTx`/`OTy` tilt-offset channels or its `AZIMUTH` channel.
5411
+ *
5412
+ * When present (paired with {@link tiltMagnitudes}), the renderer widens
5413
+ * each point perpendicular to the lean direction, approximating a
5414
+ * calligraphic (chisel-tip) nib. Absent when the source declared no tilt
5415
+ * channel, in which case rendering is unaffected.
5416
+ */
5417
+ tiltAngles?: number[];
5418
+ /**
5419
+ * Per-point pen-tilt strength (0 upright, 1 maximally leaned), paired with
5420
+ * {@link tiltAngles}.
5421
+ */
5422
+ tiltMagnitudes?: number[];
5382
5423
  }
5383
5424
  /**
5384
5425
  * A content-part element wrapped in `mc:AlternateContent`.
@@ -5947,6 +5988,19 @@ interface PptxNativeAnimation {
5947
5988
  scaleZoomContents?: boolean;
5948
5989
  /** Parsed `p:tav` keyframes from `p:tavLst` (CT_TLAnimVariantList). */
5949
5990
  keyframes?: PptxAnimationKeyframe[];
5991
+ /**
5992
+ * The attribute {@link keyframes} drives, from the SAME node's
5993
+ * `p:cBhvr/p:attrNameLst/p:attrName` (ECMA-376 S19.5.4). `p:tavLst` is
5994
+ * schema-generic: without this, playback could see a numeric ramp but not
5995
+ * know whether it targeted opacity, position, colour, or something with
5996
+ * no CSS mapping. Lowercased and trimmed; common values seen in the wild
5997
+ * (and written by this codebase's own animation writer) include
5998
+ * `"style.opacity"`, `"style.color"`, `"style.visibility"`, `"fillcolor"`,
5999
+ * `"stroke.color"`, `"r"` (rotation, only meaningful on `p:animRot`), and
6000
+ * `"ppt_x"` / `"ppt_y"` (position, normally driven via `p:animMotion`
6001
+ * instead). Absent when the behaviour carries no `p:attrNameLst`.
6002
+ */
6003
+ attrName?: string;
5950
6004
  /** Repeat count (e.g. `2`, `Infinity` for indefinite). */
5951
6005
  repeatCount?: number;
5952
6006
  /** Whether the animation plays in reverse after completion. */
@@ -6048,6 +6102,17 @@ interface PptxNativeAnimation {
6048
6102
  textTarget?: PptxTextAnimationTarget;
6049
6103
  /** Whether this animation is inside an exclusive container (`p:excl`). */
6050
6104
  exclusive?: boolean;
6105
+ /**
6106
+ * Identifies which `p:excl` container this animation belongs to, when
6107
+ * {@link exclusive} is set. ECMA-376 S19.5.24 CT_TLExclusiveTimeNode: at
6108
+ * most one direct child of an exclusive container may be active at a
6109
+ * time, so starting one child stops any other currently-playing child of
6110
+ * the SAME container. Two different `p:excl` containers on the same slide
6111
+ * are independent groups; this id (assigned per container encountered
6112
+ * during parsing, stable only within one parse's animation list) lets
6113
+ * playback tell them apart. Absent when {@link exclusive} is unset.
6114
+ */
6115
+ exclGroupId?: number;
6051
6116
  /** Command type from `p:cmd` (@_type: call/evt/verb). */
6052
6117
  commandType?: string;
6053
6118
  /** Command string from `p:cmd` (@_cmd). */
@@ -6331,6 +6396,52 @@ interface PptxElementAnimation {
6331
6396
  soundPath?: string;
6332
6397
  /** Whether to stop any currently playing sound (`p:endSnd`). */
6333
6398
  stopSound?: boolean;
6399
+ /**
6400
+ * Pending, not-yet-embedded sound chosen in the authoring UI, as a
6401
+ * `data:audio/...;base64,...` URL. Mirrors the `imageData` /
6402
+ * `mediaData` pending-embed convention used elsewhere in the typed model:
6403
+ * on save, the writer converts this to real bytes under `ppt/media/`,
6404
+ * mints a relationship, and replaces this field with the resolved
6405
+ * {@link soundRId} / {@link soundPath}. Cleared once embedded.
6406
+ */
6407
+ soundData?: string;
6408
+ /**
6409
+ * Display name for the chosen sound (e.g. the uploaded file's name),
6410
+ * shown by the authoring UI's sound picker. Purely cosmetic; has no
6411
+ * OOXML equivalent and is not required for playback.
6412
+ */
6413
+ soundFileName?: string;
6414
+ }
6415
+ /**
6416
+ * A read-only anchor representing one of the deck's own effect groups: a
6417
+ * top-level click group (`p:par` under `p:timing`'s main sequence) that this
6418
+ * app did not author, so it is never exposed as an editable
6419
+ * {@link PptxElementAnimation}.
6420
+ *
6421
+ * The authoring UI merges these anchors alongside `PptxSlide.animations` to
6422
+ * render the FULL animation sequence (editor-authored and deck-native
6423
+ * effects together) and lets an editor-authored entry be dragged to any
6424
+ * position relative to them. `order` is the anchor's position among ALL
6425
+ * top-level click groups (editor-owned and native) at load time, in the same
6426
+ * numbering space as {@link PptxElementAnimation.order}, so the two
6427
+ * populations sort into one coherent timeline.
6428
+ *
6429
+ * Anchors are never written back: on save, an untouched anchor's own click
6430
+ * group is repositioned (if an editor-authored effect was dragged past it)
6431
+ * but never mutated, so the deck's own effect stays byte-identical apart
6432
+ * from its position in the sequence.
6433
+ */
6434
+ interface PptxAnimationTimelineAnchor {
6435
+ /**
6436
+ * Position of this group among all top-level click groups in the main
6437
+ * animation sequence at load time (dense, shared with editor entries'
6438
+ * `order`).
6439
+ */
6440
+ order: number;
6441
+ /** Shape id(s) this group's effects target, for a readable UI label. */
6442
+ targetIds: string[];
6443
+ /** Effect preset classes present in the group (entr/exit/emph/path). */
6444
+ presetClasses: Array<'entr' | 'exit' | 'emph' | 'path'>;
6334
6445
  }
6335
6446
  //#endregion
6336
6447
  //#region src/core/types/embedded-font.d.ts
@@ -7034,8 +7145,19 @@ interface PptxSlideTransition {
7034
7145
  soundLoop?: boolean;
7035
7146
  /** Resolved transition sound media path within the package. */
7036
7147
  soundPath?: string;
7037
- /** Human-readable sound file name (extracted from soundPath). */
7148
+ /** Human-readable sound file name (extracted from soundPath, or set by the
7149
+ * UI when a new file is picked, before it has a soundPath at all). */
7038
7150
  soundFileName?: string;
7151
+ /**
7152
+ * A newly-picked local sound file awaiting embedding, as a `data:` URL.
7153
+ * Set by the transitions ribbon's Sound picker (`applyTransitionSoundFile`
7154
+ * in `pptx-viewer-shared`) when the user chooses a file that is not yet
7155
+ * part of the package; mirrors `imageData`/`mediaData` on picture and media
7156
+ * elements. The save pipeline (`embedTransitionSound`) writes the bytes to
7157
+ * `ppt/media/`, mints a relationship, sets `soundRId`/`soundPath`, and
7158
+ * clears this field so a later save does not re-embed the same bytes.
7159
+ */
7160
+ soundData?: string;
7039
7161
  /**
7040
7162
  * When true, the transition stops the currently-playing sound (OOXML `p:sndAc/p:endSnd`).
7041
7163
  * Mutually exclusive with `soundRId`/`soundPath` (which use `p:stSnd`).
@@ -7309,17 +7431,29 @@ interface PptxSlide {
7309
7431
  backgroundPattern?: PptxSlideBackgroundPattern;
7310
7432
  /**
7311
7433
  * `<p:bgPr/@shadeToTitle>`: boolean flag instructing the renderer to
7312
- * shade the background toward the title placeholder colour. Captured
7313
- * for lossless round-trip only; no renderer applies the visual effect.
7314
- * Documented as a known no-op in `docs/guide/limitations.md` (legacy
7315
- * PowerPoint 97-2003 hint, not observed in any real-world corpus file
7316
- * and not settable from any modern PowerPoint UI).
7434
+ * shade the background gradient toward the title placeholder's text
7435
+ * colour. Parsed and round-tripped here on the core model; the actual
7436
+ * visual effect is applied by `pptx-viewer-shared`'s
7437
+ * `getSlideBackgroundStyle` (see `render/background-shade-to-title.ts`),
7438
+ * consumed by all five bindings, not by core itself. That module's
7439
+ * docstring explains the approximation: no published ECMA-376 or
7440
+ * MS-ODRAWXML text documents the exact legacy blend. Legacy PowerPoint
7441
+ * 97-2003 hint, not observed in any real-world corpus file this project
7442
+ * has collected and not settable from any modern PowerPoint UI; see
7443
+ * `docs/guide/limitations.md`.
7317
7444
  *
7318
7445
  * ECMA-376 §19.3.1.2 (CT_BackgroundProperties).
7319
7446
  */
7320
7447
  backgroundShadeToTitle?: boolean;
7321
7448
  transition?: PptxSlideTransition;
7322
7449
  animations?: PptxElementAnimation[];
7450
+ /**
7451
+ * Read-only anchors for the deck's own (non-editor-authored) effect
7452
+ * groups, merged with `animations` by the authoring UI so drag-to-reorder
7453
+ * can target any position in the full sequence. See
7454
+ * {@link PptxAnimationTimelineAnchor}.
7455
+ */
7456
+ animationTimelineAnchors?: PptxAnimationTimelineAnchor[];
7323
7457
  /** Native OOXML animation data parsed from `p:timing`. */
7324
7458
  nativeAnimations?: PptxNativeAnimation[];
7325
7459
  /** Preserved raw `p:timing` XML for lossless round-trip of native animations. */
@@ -8711,12 +8845,25 @@ interface IPptxHandlerRuntimeFactory {
8711
8845
  */
8712
8846
  /** Supported encryption algorithms. */
8713
8847
  type EncryptionAlgorithm = 'AES128' | 'AES256';
8848
+ /**
8849
+ * Which OOXML encryption scheme to write when creating a password-protected
8850
+ * file. Real PowerPoint can write and open either scheme; this library
8851
+ * defaults to 'agile' (Office 2010+), matching PowerPoint's own default.
8852
+ */
8853
+ type EncryptionScheme = 'agile' | 'standard';
8714
8854
  /** Encryption options for creating encrypted files. */
8715
8855
  interface EncryptionOptions {
8716
8856
  /** The encryption algorithm to use (defaults to AES256). */
8717
8857
  algorithm?: EncryptionAlgorithm;
8718
8858
  /** Number of hash iterations for key derivation (defaults to 100000). Lower values speed up tests. */
8719
8859
  spinCount?: number;
8860
+ /**
8861
+ * Which encryption scheme to write (defaults to 'agile'). 'standard'
8862
+ * writes the ECMA-376 Standard scheme (Office 2007-compatible: a single
8863
+ * password-derived AES-CBC key with a zero IV over the whole package),
8864
+ * mirroring the scheme this library already knows how to decrypt.
8865
+ */
8866
+ encryptionScheme?: EncryptionScheme;
8720
8867
  }
8721
8868
  //#endregion
8722
8869
  //#region src/core/PptxHandlerCore.d.ts
@@ -10124,6 +10271,15 @@ interface FindResult {
10124
10271
  interface InkPoint {
10125
10272
  x: number;
10126
10273
  y: number;
10274
+ /**
10275
+ * Pointer pressure at this point, from `PointerEvent.pressure` (0..1).
10276
+ * Optional: a binding that has not wired pressure capture simply omits
10277
+ * it, and {@link strokeToInkElement} falls back to
10278
+ * {@link DEFAULT_POINTER_PRESSURE}, the constant value mice and other
10279
+ * non-pressure-aware devices report, which reads as "no real pressure
10280
+ * data".
10281
+ */
10282
+ pressure?: number;
10127
10283
  }
10128
10284
  //#endregion
10129
10285
  //#region src/render/mobile-chrome.d.ts
@@ -11144,6 +11300,49 @@ interface PowerPointViewerProps {
11144
11300
  * to the SVG surface renderer. Default `false`.
11145
11301
  */
11146
11302
  surfaceChart3D?: boolean;
11303
+ /**
11304
+ * Opt in to the interactive Three.js bar3D-chart renderer. When `true`,
11305
+ * `bar3D` charts render as camera-orbitable real box meshes (drag to
11306
+ * rotate, scroll to zoom) instead of the flat SVG oblique-projection
11307
+ * illusion. Chart marks are not selectable/draggable in this mode.
11308
+ * Requires the optional `three` peer dependency; when it is not installed
11309
+ * (or the chart has no plottable grid, or it is a horizontal 3-D Bar), the
11310
+ * viewer transparently falls back to the flat SVG bar3D renderer. Default
11311
+ * `false`.
11312
+ */
11313
+ barChart3D?: boolean;
11314
+ /**
11315
+ * Opt in to the interactive Three.js line3D-chart renderer. When `true`,
11316
+ * `line3D` charts render as a camera-orbitable real tube-path mesh per
11317
+ * series, one per depth ("series") plane (drag to rotate, scroll to zoom),
11318
+ * instead of the flat SVG oblique-projection illusion. Chart marks are not
11319
+ * selectable/draggable in this mode. Requires the optional `three` peer
11320
+ * dependency; when it is not installed (or the chart has no plottable
11321
+ * grid), the viewer transparently falls back to the flat SVG line3D
11322
+ * renderer. Default `false`.
11323
+ */
11324
+ lineChart3D?: boolean;
11325
+ /**
11326
+ * Opt in to the interactive Three.js area3D-chart renderer. When `true`,
11327
+ * `area3D` charts render as a camera-orbitable real tube path + filled
11328
+ * ribbon mesh per series, one per depth ("series") plane (drag to rotate,
11329
+ * scroll to zoom), instead of the flat SVG oblique-projection illusion.
11330
+ * Chart marks are not selectable/draggable in this mode. Requires the
11331
+ * optional `three` peer dependency; when it is not installed (or the chart
11332
+ * has no plottable grid), the viewer transparently falls back to the flat
11333
+ * SVG area3D renderer. Default `false`.
11334
+ */
11335
+ areaChart3D?: boolean;
11336
+ /**
11337
+ * Opt in to the interactive Three.js pie3D-chart renderer. When `true`,
11338
+ * `pie3D` charts render as camera-orbitable real wedge meshes (drag to
11339
+ * rotate, scroll to zoom) instead of the flat SVG oblique-projection
11340
+ * illusion. Chart marks are not selectable/draggable in this mode.
11341
+ * Requires the optional `three` peer dependency; when it is not installed
11342
+ * (or the chart has no plottable series), the viewer transparently falls
11343
+ * back to the flat SVG pie3D renderer. Default `false`.
11344
+ */
11345
+ pieChart3D?: boolean;
11147
11346
  /**
11148
11347
  * Enable in-place editing: click to select an element, drag to move, use the
11149
11348
  * 8 handles to resize (Shift locks aspect) and the rotate handle to rotate,
@@ -11910,8 +12109,11 @@ declare class EditorInkController {
11910
12109
  */
11911
12110
  commitStroke(points: readonly InkPoint[]): void;
11912
12111
  /**
11913
- * Hit-test `ink` elements on the current slide at `point` (topmost first)
11914
- * and delete the first match, with history. No-op when nothing is hit.
12112
+ * Hit-test `ink`/`contentPart` elements on the current slide at `point`
12113
+ * (topmost first) and delete the first match, with history. `contentPart`
12114
+ * is included because ink saved via the Draw tab reloads in that shape, so
12115
+ * it must stay erasable after a save/reload round-trip. No-op when nothing
12116
+ * is hit.
11915
12117
  */
11916
12118
  eraseElementAt(point: InkPoint): void;
11917
12119
  }
@@ -12111,6 +12313,13 @@ declare class EditorTransitionController {
12111
12313
  * slide keeps its authored direction / spokes / sound.
12112
12314
  */
12113
12315
  applyRibbonDraft(draft: RibbonTransitionDraft, applyToAll: boolean): void;
12316
+ /**
12317
+ * Merge a raw partial change onto the ACTIVE slide's transition, for
12318
+ * controls that write a single field outside the ribbon draft (currently
12319
+ * the Sound picker: a freshly-picked file's `soundData` has no equivalent
12320
+ * in {@link RibbonTransitionDraft}).
12321
+ */
12322
+ applyChange(changes: Partial<PptxSlideTransition>): void;
12114
12323
  }
12115
12324
 
12116
12325
  /**
@@ -13736,6 +13945,10 @@ interface CreateViewerStateOptions {
13736
13945
  t: Translator;
13737
13946
  getSmartArt3D: () => boolean;
13738
13947
  getSurfaceChart3D: () => boolean;
13948
+ getBarChart3D: () => boolean;
13949
+ getLineChart3D: () => boolean;
13950
+ getAreaChart3D: () => boolean;
13951
+ getPieChart3D: () => boolean;
13739
13952
  /**
13740
13953
  * The host `editable` prop. The factory mirrors it into its own
13741
13954
  * {@link ViewerStateBag.editable} flag, which the AI seam, `setMode()` and
@@ -1,4 +1,4 @@
1
- import { A as e, M as a, _ as s, c as t, d as i, f as l, gt as S, ht as n, i as v, j as o, l as d, n as p, o as b, p as g, r as c, s as x, t as w, u as T } from "../export-C9zGO76a.js";
1
+ import { A as e, M as a, _ as s, c as t, d as i, f as l, gt as S, ht as n, i as v, j as o, l as d, n as p, o as b, p as g, r as c, s as x, t as w, u as T } from "../export-DHNhKSg6.js";
2
2
  var m = a, A = o, P = e;
3
3
  export {
4
4
  w as PowerPointViewer,
@@ -1 +1 @@
1
- {"version":3,"file":"ole-view.d.ts","sourceRoot":"","sources":["../../../src/viewer/render/ole-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAc1D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAgC7D;AAmBD,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AA8ED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,EAAE,CAEtE"}
1
+ {"version":3,"file":"ole-view.d.ts","sourceRoot":"","sources":["../../../src/viewer/render/ole-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAe1D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,yDAAyD;IACzD,gBAAgB,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAkC7D;AAmBD,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AA8ED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,EAAE,CAEtE"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Svelte context wiring for the opt-in Three.js interactive area3D-chart
3
+ * renderer flag (mirrors `bar-chart-3d-context.ts`, which uses the same
4
+ * pattern for the bar3D chart). `PowerPointViewer` provides its
5
+ * `areaChart3D` prop from the root; `ElementRenderer` consumes it deep in the
6
+ * tree to choose the WebGL ribbon scene (camera orbit/zoom via
7
+ * OrbitControls) over the flat SVG oblique-projection illusion for `area3D`
8
+ * charts.
9
+ *
10
+ * The provided value is a getter function, not a raw boolean, so a change to
11
+ * the root `areaChart3D` prop stays visible to consumers (context is captured
12
+ * once at component initialisation; closing over the prop keeps it live).
13
+ */
14
+ export declare const AreaChart3DContextKey: unique symbol;
15
+ /** Provide the `areaChart3D` opt-in flag to the component subtree (root only). */
16
+ export declare function provideAreaChart3D(getFlag: () => boolean): void;
17
+ /** Read the area3D-chart 3D opt-in flag; defaults to `false` when not provided. */
18
+ export declare function useAreaChart3D(): boolean;
19
+ //# sourceMappingURL=area-chart-3d-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"area-chart-3d-context.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/area-chart-3d-context.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,eAAsC,CAAC;AAEzE,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAE/D;AAED,mFAAmF;AACnF,wBAAgB,cAAc,IAAI,OAAO,CAGxC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Svelte context wiring for the opt-in Three.js interactive bar3D-chart
3
+ * renderer flag (mirrors `surface-chart-3d-context.ts`, which uses the same
4
+ * pattern for the surface chart). `PowerPointViewer` provides its
5
+ * `barChart3D` prop from the root; `ElementRenderer` consumes it deep in the
6
+ * tree to choose the WebGL box-mesh scene (camera orbit/zoom via
7
+ * OrbitControls) over the flat SVG oblique-projection illusion for `bar3D`
8
+ * charts.
9
+ *
10
+ * The provided value is a getter function, not a raw boolean, so a change to
11
+ * the root `barChart3D` prop stays visible to consumers (context is captured
12
+ * once at component initialisation; closing over the prop keeps it live).
13
+ */
14
+ export declare const BarChart3DContextKey: unique symbol;
15
+ /** Provide the `barChart3D` opt-in flag to the component subtree (root only). */
16
+ export declare function provideBarChart3D(getFlag: () => boolean): void;
17
+ /** Read the bar3D-chart 3D opt-in flag; defaults to `false` when not provided. */
18
+ export declare function useBarChart3D(): boolean;
19
+ //# sourceMappingURL=bar-chart-3d-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar-chart-3d-context.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/bar-chart-3d-context.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,eAAqC,CAAC;AAEvE,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAE9D;AAED,kFAAkF;AAClF,wBAAgB,aAAa,IAAI,OAAO,CAGvC"}
@@ -13,6 +13,10 @@ export interface ExportNotesClusterDeps {
13
13
  t: Translator;
14
14
  getSmartArt3D(): boolean;
15
15
  getSurfaceChart3D(): boolean;
16
+ getBarChart3D(): boolean;
17
+ getLineChart3D(): boolean;
18
+ getAreaChart3D(): boolean;
19
+ getPieChart3D(): boolean;
16
20
  getRootEl(): HTMLDivElement | undefined;
17
21
  /** Whether in-place editing is on (gates whether notes edits are history-tracked). */
18
22
  getEditable(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"create-viewer-state-export-notes.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-export-notes.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,UAAU,CAAC;IACd,aAAa,IAAI,OAAO,CAAC;IACzB,iBAAiB,IAAI,OAAO,CAAC;IAC7B,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,sFAAsF;IACtF,WAAW,IAAI,OAAO,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,IAAI,wBAAwB,CAAC;IAC7C,2EAA2E;IAC3E,WAAW,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC3C,aAAa,IAAI,IAAI,CAAC;IACtB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CAuDxF"}
1
+ {"version":3,"file":"create-viewer-state-export-notes.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/create-viewer-state-export-notes.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,CAAC,EAAE,UAAU,CAAC;IACd,aAAa,IAAI,OAAO,CAAC;IACzB,iBAAiB,IAAI,OAAO,CAAC;IAC7B,aAAa,IAAI,OAAO,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC;IAC1B,cAAc,IAAI,OAAO,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC;IACzB,SAAS,IAAI,cAAc,GAAG,SAAS,CAAC;IACxC,sFAAsF;IACtF,WAAW,IAAI,OAAO,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,IAAI,wBAAwB,CAAC;IAC7C,2EAA2E;IAC3E,WAAW,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC3C,aAAa,IAAI,IAAI,CAAC;IACtB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB,CA2DxF"}
@@ -49,6 +49,10 @@ export interface CreateViewerStateOptions {
49
49
  t: Translator;
50
50
  getSmartArt3D: () => boolean;
51
51
  getSurfaceChart3D: () => boolean;
52
+ getBarChart3D: () => boolean;
53
+ getLineChart3D: () => boolean;
54
+ getAreaChart3D: () => boolean;
55
+ getPieChart3D: () => boolean;
52
56
  /**
53
57
  * The host `editable` prop. The factory mirrors it into its own
54
58
  * {@link ViewerStateBag.editable} flag, which the AI seam, `setMode()` and