pptx-vue-viewer 4.74.0 → 4.75.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 (81) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +0 -1
  3. package/dist/i18n/de.cjs +5 -0
  4. package/dist/i18n/de.cjs.br +0 -0
  5. package/dist/i18n/de.cjs.gz +0 -0
  6. package/dist/i18n/de.mjs +5 -0
  7. package/dist/i18n/de.mjs.br +0 -0
  8. package/dist/i18n/de.mjs.gz +0 -0
  9. package/dist/i18n/es.cjs +5 -0
  10. package/dist/i18n/es.cjs.br +0 -0
  11. package/dist/i18n/es.cjs.gz +0 -0
  12. package/dist/i18n/es.mjs +5 -0
  13. package/dist/i18n/es.mjs.br +0 -0
  14. package/dist/i18n/es.mjs.gz +0 -0
  15. package/dist/i18n/fr.cjs +5 -0
  16. package/dist/i18n/fr.cjs.br +0 -0
  17. package/dist/i18n/fr.cjs.gz +0 -0
  18. package/dist/i18n/fr.mjs +5 -0
  19. package/dist/i18n/fr.mjs.br +0 -0
  20. package/dist/i18n/fr.mjs.gz +0 -0
  21. package/dist/i18n/zh-CN.cjs +5 -0
  22. package/dist/i18n/zh-CN.cjs.br +0 -0
  23. package/dist/i18n/zh-CN.cjs.gz +0 -0
  24. package/dist/i18n/zh-CN.mjs +5 -0
  25. package/dist/i18n/zh-CN.mjs.br +0 -0
  26. package/dist/i18n/zh-CN.mjs.gz +0 -0
  27. package/dist/index.cjs +403 -55
  28. package/dist/index.cjs.br +0 -0
  29. package/dist/index.cjs.gz +0 -0
  30. package/dist/index.d.ts +252 -22
  31. package/dist/index.js +356 -5
  32. package/dist/index.js.br +0 -0
  33. package/dist/index.js.gz +0 -0
  34. package/dist/internals.cjs +1 -1
  35. package/dist/internals.cjs.br +0 -0
  36. package/dist/internals.cjs.gz +0 -0
  37. package/dist/internals.d.ts +2 -29
  38. package/dist/internals.js +1 -1
  39. package/dist/internals.js.br +0 -0
  40. package/dist/internals.js.gz +0 -0
  41. package/dist/pptx-vue-viewer.css +1 -1
  42. package/dist/pptx-vue-viewer.css.br +0 -0
  43. package/dist/pptx-vue-viewer.css.gz +0 -0
  44. package/dist/{useViewerSettingsDialog-Bz0RdicV.js → useViewerSettingsDialog-C0heOUkp.js} +969 -988
  45. package/dist/useViewerSettingsDialog-C0heOUkp.js.br +0 -0
  46. package/dist/useViewerSettingsDialog-C0heOUkp.js.gz +0 -0
  47. package/dist/{useViewerSettingsDialog-B33MOSx-.cjs → useViewerSettingsDialog-DVOl4qYL.cjs} +1045 -1063
  48. package/dist/useViewerSettingsDialog-DVOl4qYL.cjs.br +0 -0
  49. package/dist/useViewerSettingsDialog-DVOl4qYL.cjs.gz +0 -0
  50. package/dist/viewer/index.cjs +1 -1
  51. package/dist/viewer/index.cjs.br +0 -0
  52. package/dist/viewer/index.cjs.gz +0 -0
  53. package/dist/viewer/index.d.ts +47 -24
  54. package/dist/viewer/index.js +2 -2
  55. package/dist/viewer/index.js.br +0 -0
  56. package/dist/viewer/index.js.gz +0 -0
  57. package/dist/{viewer-Dwl_oBxY.js → viewer-BFzBz7EU.js} +7759 -7205
  58. package/dist/viewer-BFzBz7EU.js.br +0 -0
  59. package/dist/viewer-BFzBz7EU.js.gz +0 -0
  60. package/dist/{viewer-Co39Flri.cjs → viewer-DUQQxRyn.cjs} +5151 -4587
  61. package/dist/viewer-DUQQxRyn.cjs.br +0 -0
  62. package/dist/viewer-DUQQxRyn.cjs.gz +0 -0
  63. package/dist/{y-webrtc-DOVNm7CC.cjs → y-webrtc-Bb_f0RaI.cjs} +1 -1
  64. package/dist/y-webrtc-Bb_f0RaI.cjs.br +0 -0
  65. package/dist/y-webrtc-Bb_f0RaI.cjs.gz +0 -0
  66. package/dist/{y-webrtc-CwHdtPzt.js → y-webrtc-C0fD1Ijr.js} +1 -1
  67. package/dist/y-webrtc-C0fD1Ijr.js.br +0 -0
  68. package/dist/y-webrtc-C0fD1Ijr.js.gz +0 -0
  69. package/package.json +3 -3
  70. package/dist/useViewerSettingsDialog-B33MOSx-.cjs.br +0 -0
  71. package/dist/useViewerSettingsDialog-B33MOSx-.cjs.gz +0 -0
  72. package/dist/useViewerSettingsDialog-Bz0RdicV.js.br +0 -0
  73. package/dist/useViewerSettingsDialog-Bz0RdicV.js.gz +0 -0
  74. package/dist/viewer-Co39Flri.cjs.br +0 -0
  75. package/dist/viewer-Co39Flri.cjs.gz +0 -0
  76. package/dist/viewer-Dwl_oBxY.js.br +0 -0
  77. package/dist/viewer-Dwl_oBxY.js.gz +0 -0
  78. package/dist/y-webrtc-CwHdtPzt.js.br +0 -0
  79. package/dist/y-webrtc-CwHdtPzt.js.gz +0 -0
  80. package/dist/y-webrtc-DOVNm7CC.cjs.br +0 -0
  81. package/dist/y-webrtc-DOVNm7CC.cjs.gz +0 -0
package/dist/index.d.ts CHANGED
@@ -6,6 +6,12 @@ import { AutosaveRecord } from 'ooxml-ui/pptx';
6
6
  import { BACKSTAGE_CARD_IDS } from 'ooxml-ui/pptx';
7
7
  import { BACKSTAGE_PAGE_IDS } from 'ooxml-ui/pptx';
8
8
  import { BackstageCustomization } from 'ooxml-ui/pptx';
9
+ import { BuildingBlockGroupPorts } from 'ooxml-ui/pptx';
10
+ import { BuildingBlockRequest } from 'ooxml-ui/pptx';
11
+ import { BuildingBlockResult } from 'ooxml-ui/pptx';
12
+ import { BuildingBlockSessionPort } from 'ooxml-ui/pptx';
13
+ import { BuildingBlockToolbarGroupId } from 'ooxml-ui/pptx';
14
+ import { BuildingBlockToolbarView } from 'ooxml-ui/pptx';
9
15
  import { CANVAS_CONTEXT_MENU_COMMAND_IDS } from 'ooxml-ui/pptx';
10
16
  import { CanvasSize } from 'ooxml-ui/pptx';
11
17
  import { ChangeCaseMode } from 'ooxml-ui/pptx';
@@ -40,6 +46,7 @@ import { ElementUpdateOptions } from 'ooxml-ui/pptx';
40
46
  import { ExternalCollaborationAwareness } from 'ooxml-ui/pptx';
41
47
  import { ExternalCollaborationSession } from 'ooxml-ui/pptx';
42
48
  import { ExternalCollaborationSnapshot } from 'ooxml-ui/pptx';
49
+ import { FindResult } from 'ooxml-ui/pptx';
43
50
  import { forgetSessionDeck } from 'ooxml-ui/pptx';
44
51
  import { getSessionTabId } from 'ooxml-ui/pptx';
45
52
  import { GoogleFontsOption } from 'ooxml-ui/pptx';
@@ -81,6 +88,7 @@ import { PptxAiContextStrategy } from 'ooxml-ui/pptx/ai';
81
88
  import { PptxAiToolName } from 'ooxml-ui/pptx/ai';
82
89
  import { PptxAiUIMessage } from 'ooxml-ui/pptx/ai';
83
90
  import { PptxAiWritePolicy } from 'ooxml-ui/pptx/ai';
91
+ import { PptxBuildingBlockSession } from 'ooxml-ui/pptx';
84
92
  import { PptxCoreProperties } from 'ooxml-core/pptx';
85
93
  import { PptxCustomProperty } from 'ooxml-core/pptx';
86
94
  import { PptxCustomShow } from 'ooxml-core/pptx';
@@ -107,14 +115,19 @@ import { RIBBON_TAB_IDS } from 'ooxml-ui/pptx';
107
115
  import { RibbonAddInTab } from 'ooxml-ui/pptx';
108
116
  import { RibbonContextualTabId } from 'ooxml-ui/pptx';
109
117
  import { RibbonCustomization } from 'ooxml-ui/pptx';
118
+ import { RibbonDisplayController } from 'ooxml-ui/pptx';
119
+ import { RibbonDisplayMode } from 'ooxml-ui/pptx';
120
+ import { RibbonDisplayState } from 'ooxml-ui/pptx';
110
121
  import { RulerUnit } from 'ooxml-ui/pptx';
111
122
  import { SanitizedPresence } from 'ooxml-ui/pptx';
112
123
  import { savedPresentationFileName } from 'ooxml-ui/pptx';
113
124
  import { SavedPresentationFormat } from 'ooxml-ui/pptx';
114
125
  import { SectionSlideGroup } from 'ooxml-ui/pptx';
115
126
  import { SessionDeck } from 'ooxml-ui/pptx';
127
+ import { ShallowRef } from 'vue';
116
128
  import { ShapeStyle } from 'ooxml-core/pptx';
117
129
  import { ShortcutChord } from 'ooxml-ui/pptx';
130
+ import { SlidePasteRequest } from 'ooxml-ui/pptx';
118
131
  import { SlidesPaneLayoutGalleryRequest } from 'ooxml-ui/pptx';
119
132
  import { SlideTemplateId } from 'ooxml-ui/pptx';
120
133
  import { storeAudienceContent } from 'ooxml-ui/pptx';
@@ -126,6 +139,7 @@ import { TOOLBAR_BUTTON_IDS } from 'ooxml-ui/pptx';
126
139
  import { ToolbarActionId } from 'ooxml-ui/pptx';
127
140
  import { ToolbarButtonId } from 'ooxml-ui/pptx';
128
141
  import { ToolbarTabId } from 'ooxml-ui/pptx';
142
+ import { UseViewerBuildingBlocksActionsOptions } from 'ooxml-ui/pptx';
129
143
  import { vermilionDarkColors } from 'ooxml-ui/pptx';
130
144
  import { vermilionDarkTheme } from 'ooxml-ui/pptx';
131
145
  import { vermilionLightColors } from 'ooxml-ui/pptx';
@@ -136,6 +150,7 @@ import { VIEWER_EXPORT_FORMAT_IDS } from 'ooxml-ui/pptx';
136
150
  import { VIEWER_FEATURE_IDS } from 'ooxml-ui/pptx';
137
151
  import { VIEWER_PANEL_IDS } from 'ooxml-ui/pptx';
138
152
  import { ViewerAutosaveStatus } from 'ooxml-ui/pptx';
153
+ import { ViewerBuildingBlockActions } from 'ooxml-ui/pptx';
139
154
  import { ViewerCustomization } from 'ooxml-ui/pptx';
140
155
  import { ViewerCustomizationApi } from 'ooxml-ui/pptx';
141
156
  import { ViewerDialogId } from 'ooxml-ui/pptx';
@@ -165,64 +180,66 @@ declare const __VLS_base_2: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, Compo
165
180
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
166
181
 
167
182
  declare const __VLS_export: DefineComponent<PowerPointViewerProps, PowerPointViewerExpose, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
168
- change: () => any;
169
- error: (message: string) => any;
170
- load: (detail: ViewerLoadDetail) => any;
171
- "collaboration-status": (status: ConnectionStatus) => any;
172
- autosave: (content: Uint8Array<ArrayBufferLike>) => any;
173
183
  "dirty-change": (isDirty: boolean) => any;
174
184
  "content-change": (content: Uint8Array<ArrayBufferLike>) => any;
185
+ autosave: (content: Uint8Array<ArrayBufferLike>) => any;
175
186
  "active-slide-change": (value: number) => any;
176
187
  "zoom-change": (value: number) => any;
177
188
  "slide-count-change": (value: number) => any;
189
+ "ribbon-display-change": (mode: RibbonDisplayMode) => any;
178
190
  "mode-change": (mode: string) => any;
179
191
  "selection-change": (elementIds: string[]) => any;
180
192
  "start-collaboration": (config: CollaborationConfig) => any;
181
193
  "stop-collaboration": () => any;
182
194
  "collaboration-change": (state: CollaborationState) => any;
195
+ load: (detail: ViewerLoadDetail) => any;
196
+ error: (message: string) => any;
183
197
  "autosave-toggle": (enabled: boolean) => any;
184
198
  "autosave-status": (status: ViewerAutosaveStatus) => any;
185
199
  "autosave-recovery": (record: AutosaveRecord) => any;
200
+ change: () => any;
186
201
  "properties-change": (updates: Partial< PptxCoreProperties>) => any;
187
202
  "notes-update": (notes: string) => any;
188
203
  "presentation-change": (presenting: boolean) => any;
204
+ "collaboration-status": (status: ConnectionStatus) => any;
189
205
  }, string, PublicProps, Readonly<PowerPointViewerProps> & Readonly<{
190
- onChange?: (() => any) | undefined;
191
- onError?: ((message: string) => any) | undefined;
192
- onLoad?: ((detail: ViewerLoadDetail) => any) | undefined;
193
- "onCollaboration-status"?: ((status: ConnectionStatus) => any) | undefined;
194
- onAutosave?: ((content: Uint8Array<ArrayBufferLike>) => any) | undefined;
195
206
  "onDirty-change"?: ((isDirty: boolean) => any) | undefined;
196
207
  "onContent-change"?: ((content: Uint8Array<ArrayBufferLike>) => any) | undefined;
208
+ onAutosave?: ((content: Uint8Array<ArrayBufferLike>) => any) | undefined;
197
209
  "onActive-slide-change"?: ((value: number) => any) | undefined;
198
210
  "onZoom-change"?: ((value: number) => any) | undefined;
199
211
  "onSlide-count-change"?: ((value: number) => any) | undefined;
212
+ "onRibbon-display-change"?: ((mode: RibbonDisplayMode) => any) | undefined;
200
213
  "onMode-change"?: ((mode: string) => any) | undefined;
201
214
  "onSelection-change"?: ((elementIds: string[]) => any) | undefined;
202
215
  "onStart-collaboration"?: ((config: CollaborationConfig) => any) | undefined;
203
216
  "onStop-collaboration"?: (() => any) | undefined;
204
217
  "onCollaboration-change"?: ((state: CollaborationState) => any) | undefined;
218
+ onLoad?: ((detail: ViewerLoadDetail) => any) | undefined;
219
+ onError?: ((message: string) => any) | undefined;
205
220
  "onAutosave-toggle"?: ((enabled: boolean) => any) | undefined;
206
221
  "onAutosave-status"?: ((status: ViewerAutosaveStatus) => any) | undefined;
207
222
  "onAutosave-recovery"?: ((record: AutosaveRecord) => any) | undefined;
223
+ onChange?: (() => any) | undefined;
208
224
  "onProperties-change"?: ((updates: Partial< PptxCoreProperties>) => any) | undefined;
209
225
  "onNotes-update"?: ((notes: string) => any) | undefined;
210
226
  "onPresentation-change"?: ((presenting: boolean) => any) | undefined;
227
+ "onCollaboration-status"?: ((status: ConnectionStatus) => any) | undefined;
211
228
  }>, {
212
- allowExternalContent: boolean;
213
- canEdit: boolean;
214
229
  autosave: boolean;
230
+ canEdit: boolean;
215
231
  readOnly: boolean;
232
+ showToolbar: boolean;
233
+ showThumbnails: boolean;
234
+ showCompatibilityToasts: boolean;
235
+ smartArt3D: boolean;
236
+ surfaceChart3D: boolean;
216
237
  barChart3D: boolean;
217
238
  lineChart3D: boolean;
218
239
  areaChart3D: boolean;
219
240
  pieChart3D: boolean;
220
- surfaceChart3D: boolean;
221
- smartArt3D: boolean;
222
241
  googleFonts: GoogleFontsOption_2;
223
- showToolbar: boolean;
224
- showThumbnails: boolean;
225
- showCompatibilityToasts: boolean;
242
+ allowExternalContent: boolean;
226
243
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
227
244
 
228
245
  declare const __VLS_export_10: DefineComponent<{
@@ -257,6 +274,12 @@ declare const __VLS_export_11: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, Co
257
274
  onFollow?: ((clientId: number | null) => any) | undefined;
258
275
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
259
276
 
277
+ declare const __VLS_export_12: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
278
+
279
+ declare const __VLS_export_13: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
280
+
281
+ declare const __VLS_export_14: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
282
+
260
283
  declare const __VLS_export_2: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
261
284
 
262
285
  declare const __VLS_export_3: __VLS_WithSlots_2<typeof __VLS_base_2, __VLS_Slots_2>;
@@ -293,26 +316,26 @@ declare const __VLS_export_4: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, Com
293
316
  "onToggle-section-collapse"?: ((sectionId: string) => any) | undefined;
294
317
  }>, {
295
318
  canEdit: boolean;
319
+ theme: PptxTheme;
296
320
  locale: string;
321
+ customProperties: readonly PptxCustomProperty[];
322
+ templateElementsBySlideId: Record<string, PptxElement[]>;
297
323
  headerFooter: PptxHeaderFooter;
298
- theme: PptxTheme;
299
324
  tableStyleMap: ParsedTableStyleMap;
300
325
  firstSlideNumber: number;
301
326
  mediaDataUrls: Map<string, string>;
302
- templateElementsBySlideId: Record<string, PptxElement[]>;
303
- customProperties: readonly PptxCustomProperty[];
304
327
  sectionGroups: SectionGroup[];
305
328
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
306
329
 
307
330
  declare const __VLS_export_5: DefineComponent<SlideThumbnailProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<SlideThumbnailProps> & Readonly<{}>, {
331
+ theme: PptxTheme;
308
332
  locale: string;
333
+ customProperties: readonly PptxCustomProperty[];
309
334
  headerFooter: PptxHeaderFooter;
310
- theme: PptxTheme;
311
335
  tableStyleMap: ParsedTableStyleMap;
312
336
  firstSlideNumber: number;
313
337
  mediaDataUrls: Map<string, string>;
314
338
  templateElements: PptxElement[];
315
- customProperties: readonly PptxCustomProperty[];
316
339
  previewWidth: number;
317
340
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
318
341
 
@@ -594,6 +617,20 @@ declare type __VLS_Props_6 = {
594
617
  followedClientId: number | null;
595
618
  };
596
619
 
620
+ declare type __VLS_Props_7 = {
621
+ blocks: ViewerBuildingBlocks;
622
+ };
623
+
624
+ declare type __VLS_Props_8 = {
625
+ blocks: ViewerBuildingBlocks;
626
+ };
627
+
628
+ declare type __VLS_Props_9 = {
629
+ blocks: ViewerBuildingBlocks;
630
+ /** Render only these groups. */
631
+ groups?: readonly BuildingBlockToolbarGroupId[];
632
+ };
633
+
597
634
  declare type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
598
635
 
599
636
  declare type __VLS_Slots_2 = ReturnType<typeof __VLS_template_2>['__VLS_Slots'];
@@ -630,10 +667,60 @@ export { BACKSTAGE_PAGE_IDS }
630
667
 
631
668
  export { BackstageCustomization }
632
669
 
670
+ export { BuildingBlockRequest }
671
+
672
+ export { BuildingBlockResult }
673
+
674
+ declare interface BuildingBlocksBridge {
675
+ readonly engine: Readonly<ShallowRef<BuildingBlocksEngine | null>>;
676
+ readonly host: BuildingBlocksHost;
677
+ /** The viewer's imperative handle, set by the canvas block. */
678
+ readonly viewer: ShallowRef<PowerPointViewerExpose | null>;
679
+ /** The viewer registers its engine; returns the function that unregisters it. */
680
+ attach(engine: BuildingBlocksEngine): () => void;
681
+ }
682
+
683
+ export declare const BuildingBlocksCanvas: typeof __VLS_export_12;
684
+
685
+ /**
686
+ * What the viewer behind the canvas block publishes, read at call time: the session port over its
687
+ * own editor state, the dialog group ports, the view operations and what the slides pane draws.
688
+ * Every getter reads the viewer's refs, so reading them from a computed or a render tracks them.
689
+ */
690
+ declare interface BuildingBlocksEngine {
691
+ /** The members of the session port the viewer owns (the host's options are added around them). */
692
+ readonly session: Omit<BuildingBlockSessionPort, 'fileLimits' | 'onRequest' | 'onCancel'>;
693
+ readonly groups: BuildingBlockGroupPorts;
694
+ state(): Omit<ViewerBuildingBlocksState, 'mode'> & {
695
+ mode: string;
696
+ canEdit: boolean;
697
+ };
698
+ readonly view: BuildingBlockToolbarView;
699
+ /** The shortcut help flag's mirror: close it (`actions.cancel()`). */
700
+ closeShortcuts(): void;
701
+ /** What the slides pane block draws and which operations it maps its events onto. */
702
+ slidesPane(): SlidesPaneBinding;
703
+ /** The matches the canvas outlines for the host find bar. */
704
+ findHighlights(): FindHighlightState;
705
+ }
706
+
707
+ /** What the viewer calls on the host side: requests and the mirrored shortcut help. */
708
+ declare interface BuildingBlocksHost {
709
+ request(request: BuildingBlockRequest): void;
710
+ announceShortcuts(open: boolean): void;
711
+ }
712
+
713
+ export declare const BuildingBlocksSlidesPane: typeof __VLS_export_13;
714
+
715
+ export declare const BuildingBlocksToolbar: typeof __VLS_export_14;
716
+
633
717
  export { CANVAS_CONTEXT_MENU_COMMAND_IDS }
634
718
 
635
719
  export { CanvasSize }
636
720
 
721
+ /** Viewer props the building blocks decide themselves (they mount no chrome). */
722
+ declare type ChromeProps = 'content' | 'canEdit' | 'readOnly' | 'showToolbar' | 'showThumbnails' | 'showCompatibilityToasts';
723
+
637
724
  export { clearAudienceContent }
638
725
 
639
726
  /**
@@ -703,6 +790,12 @@ export { ExternalCollaborationSession }
703
790
 
704
791
  export { ExternalCollaborationSnapshot }
705
792
 
793
+ declare interface FindHighlightState {
794
+ matches: readonly FindResult[];
795
+ current: number;
796
+ slideIndex: number;
797
+ }
798
+
706
799
  export declare const FollowModeBar: typeof __VLS_export_11;
707
800
 
708
801
  export { forgetSessionDeck }
@@ -768,6 +861,7 @@ export { PowerPointViewerAPI }
768
861
  * - `onActiveSlideChange` → `@active-slide-change`
769
862
  * - `onModeChange` → `@mode-change`
770
863
  * - `onZoomChange` → `@zoom-change`
864
+ * - `onRibbonDisplayChange` → `@ribbon-display-change`
771
865
  * - `onSelectionChange` → `@selection-change`
772
866
  * - `onSlideCountChange` → `@slide-count-change`
773
867
  * - `onLoad` → `@load`
@@ -783,6 +877,11 @@ export declare interface PowerPointViewerEmits {
783
877
  (e: 'content-change' | 'autosave', content: Uint8Array): void;
784
878
  /** Fired when the active slide, zoom level, or slide count changes. */
785
879
  (e: 'active-slide-change' | 'zoom-change' | 'slide-count-change', value: number): void;
880
+ /**
881
+ * Fired only when the user picks a Ribbon Display Options mode (the menu,
882
+ * Ctrl+F1, a double click on a tab), never for a change of the `ribbonDisplay` prop.
883
+ */
884
+ (e: 'ribbon-display-change', mode: RibbonDisplayMode): void;
786
885
  /** Fired when the viewer mode changes. */
787
886
  (e: 'mode-change', mode: string): void;
788
887
  /** Fired when element selection changes. */
@@ -1071,6 +1170,14 @@ export declare interface PowerPointViewerProps {
1071
1170
  * `true`; `false` leaves the canvas (and the thumbnail pane, if shown).
1072
1171
  */
1073
1172
  showToolbar?: boolean;
1173
+ /**
1174
+ * Ribbon Display Options: the starting mode. `always` (the default) docks
1175
+ * the tabs and commands above the slide; `tabs` shows only the tab row and
1176
+ * lays a chosen tab's commands over the slide; `fullScreen` hides the title
1177
+ * bar and the ribbon behind a strip. A later change from the host applies
1178
+ * without firing `ribbon-display-change`.
1179
+ */
1180
+ ribbonDisplay?: RibbonDisplayMode;
1074
1181
  /**
1075
1182
  * Show the slide thumbnail pane. Default `true`. The pane still follows
1076
1183
  * the user's own collapse toggle and the `slidesPane` customisation panel.
@@ -1179,6 +1286,10 @@ export { PRESENTATION_OPEN_EXTENSIONS }
1179
1286
  export { presentationBaseName }
1180
1287
 
1181
1288
  declare interface Props extends RibbonProps {
1289
+ /** Ribbon Display Options state; absent, the ribbon docks as in `always` mode. */
1290
+ ribbonDisplay?: RibbonDisplayState;
1291
+ /** The viewer's Ribbon Display Options controller (menu, tab clicks, double clicks). */
1292
+ ribbonDisplayController?: RibbonDisplayController;
1182
1293
  }
1183
1294
 
1184
1295
  /**
@@ -1542,6 +1653,28 @@ export declare const SlideCanvas: typeof __VLS_export_2;
1542
1653
 
1543
1654
  export declare const SlidesPane: typeof __VLS_export_4;
1544
1655
 
1656
+ /** The viewer's slide rail inputs and operations, as `ViewerSlideRail` reads them. */
1657
+ declare interface SlidesPaneBinding {
1658
+ slides: readonly PptxSlide[];
1659
+ activeSlideIndex: number;
1660
+ canvasSize: {
1661
+ width: number;
1662
+ height: number;
1663
+ };
1664
+ mediaDataUrls: Map<string, string>;
1665
+ canEdit: boolean;
1666
+ sectionGroups: SectionGroup[];
1667
+ headerFooter: PptxHeaderFooter | undefined;
1668
+ customProperties: readonly PptxCustomProperty[] | undefined;
1669
+ firstSlideNumber: number | undefined;
1670
+ theme: PptxTheme | undefined;
1671
+ tableStyleMap: ParsedTableStyleMap | undefined;
1672
+ goTo(index: number): void;
1673
+ toggleSlideHidden(index: number): void;
1674
+ slideOps: UseSlideOperationsResult;
1675
+ sectionOps: UseSectionOperationsResult;
1676
+ }
1677
+
1545
1678
  /**
1546
1679
  * Deck-level state the slide thumbnail rail needs so its thumbnails draw what
1547
1680
  * the canvas draws. Every field is optional: an omitted field reads as "the
@@ -1793,6 +1926,40 @@ export declare interface UsePresenceTrackingResult {
1793
1926
  followUser: (clientId: number | null) => void;
1794
1927
  }
1795
1928
 
1929
+ declare interface UseSectionOperationsResult {
1930
+ /**
1931
+ * Insert a new section after the slide at `afterSlideIndex`, claiming that
1932
+ * slide and the following contiguous run that shares its current section.
1933
+ */
1934
+ addSection: (name: string, afterSlideIndex: number) => void;
1935
+ /** Rename a section and propagate the name to its slides. */
1936
+ renameSection: (sectionId: string, newName: string) => void;
1937
+ /** Remove a section, merging its slides into the previous section. */
1938
+ deleteSection: (sectionId: string) => void;
1939
+ /** Move a section one position earlier in the list. */
1940
+ moveSectionUp: (sectionId: string) => void;
1941
+ /** Move a section one position later in the list. */
1942
+ moveSectionDown: (sectionId: string) => void;
1943
+ /** Reassign the slides at `slideIndexes` to the target section. */
1944
+ moveSlidesToSection: (slideIndexes: number[], targetSectionId: string) => void;
1945
+ /** Flip the `collapsed` flag on a section. */
1946
+ toggleSectionCollapse: (sectionId: string) => void;
1947
+ /** Slides grouped by section, in deck order (leading no-section group first). */
1948
+ slidesBySection: ComputedRef<SectionGroup[]>;
1949
+ }
1950
+
1951
+ declare interface UseSlideOperationsResult {
1952
+ /** Insert after the given index, or after the active slide when omitted. */
1953
+ addSlide: (afterIndex?: number) => void;
1954
+ /** Remove the slide at `index` (no-op when only one slide remains). */
1955
+ deleteSlide: (index: number) => void;
1956
+ /** Deep-clone the slide at `index` and insert the copy right after it. */
1957
+ duplicateSlide: (index: number) => void;
1958
+ pasteSlides: (request: SlidePasteRequest) => void;
1959
+ /** Reorder the slide at `from` to position `to`. */
1960
+ moveSlide: (from: number, to: number) => void;
1961
+ }
1962
+
1796
1963
  /**
1797
1964
  * Returns a computed `style` object of CSS custom properties derived from
1798
1965
  * the given theme. Bind this onto the viewer root element's `:style`.
@@ -1801,6 +1968,15 @@ export declare interface UsePresenceTrackingResult {
1801
1968
  */
1802
1969
  export declare function useThemeStyle(theme: MaybeRefOrGetter<ViewerTheme | undefined>): ComputedRef<CSSProperties | undefined>;
1803
1970
 
1971
+ /**
1972
+ * The Vue building blocks: the shared building-blocks session (`ooxml-ui/pptx`) over the Vue
1973
+ * viewer. Render `<BuildingBlocksCanvas :blocks>` (the deck loads there), then any of
1974
+ * `<BuildingBlocksToolbar>` and `<BuildingBlocksSlidesPane>`. The blocks mount no dialogs or
1975
+ * pickers: controls and gestures that need one raise a request (`onRequest`, `actions.pending`)
1976
+ * the host finishes with `actions`.
1977
+ */
1978
+ export declare function useViewerBuildingBlocks(input: MaybeRefOrGetter<ViewerBuildingBlocksOptions>): ViewerBuildingBlocks;
1979
+
1804
1980
  /**
1805
1981
  * Returns the active `ViewerTheme` (if any) from the nearest
1806
1982
  * `provideViewerTheme` ancestor.
@@ -1835,6 +2011,60 @@ export { VIEWER_FEATURE_IDS }
1835
2011
 
1836
2012
  export { VIEWER_PANEL_IDS }
1837
2013
 
2014
+ export { ViewerBuildingBlockActions }
2015
+
2016
+ export declare interface ViewerBuildingBlocks {
2017
+ /** Host-owned workflows (pickers, dialogs, Find / Replace, layouts); see the Vue docs. */
2018
+ readonly actions: ComputedRef<ViewerBuildingBlockActions>;
2019
+ /** The state for a custom shell. */
2020
+ readonly state: ComputedRef<ViewerBuildingBlocksState>;
2021
+ /** The effective mode (`preview` while the blocks may not edit). */
2022
+ readonly mode: ComputedRef<ViewerMode>;
2023
+ readonly loading: ComputedRef<boolean>;
2024
+ readonly error: ComputedRef<string | null>;
2025
+ /** The viewer's imperative handle (save, export, zoom, ...); null until the canvas mounts. */
2026
+ readonly viewer: Readonly<ShallowRef<PowerPointViewerExpose | null>>;
2027
+ /** The options the blocks currently run with. */
2028
+ readonly options: ComputedRef<ViewerBuildingBlocksOptions>;
2029
+ /** The shared session behind `actions` (for hosts that register further groups). */
2030
+ readonly session: PptxBuildingBlockSession;
2031
+ /** Wiring between the three blocks; used by the block components, not part of the API. */
2032
+ readonly bridge: BuildingBlocksBridge;
2033
+ }
2034
+
2035
+ export declare interface ViewerBuildingBlocksOptions extends Omit<PowerPointViewerProps, ChromeProps>, UseViewerBuildingBlocksActionsOptions {
2036
+ /** The presentation bytes, or null while no file is open. */
2037
+ content?: Uint8Array | ArrayBuffer | null | undefined;
2038
+ /** Whether editing is enabled. Defaults to false (view-only), as React's `canEdit`. */
2039
+ canEdit?: boolean | undefined;
2040
+ onContentChange?: ((content: Uint8Array) => void) | undefined;
2041
+ onDirtyChange?: ((dirty: boolean) => void) | undefined;
2042
+ onActiveSlideChange?: ((index: number) => void) | undefined;
2043
+ onModeChange?: ((mode: string) => void) | undefined;
2044
+ onZoomChange?: ((zoom: number) => void) | undefined;
2045
+ onSelectionChange?: ((ids: string[]) => void) | undefined;
2046
+ onSlideCountChange?: ((count: number) => void) | undefined;
2047
+ /**
2048
+ * Fired by the "Layout" entry of a slide's context menu in the slides pane, after that slide is
2049
+ * made active; the host owns rendering the Layout gallery.
2050
+ */
2051
+ onOpenLayoutGallery?: ((request: SlidesPaneLayoutGalleryRequest) => void) | undefined;
2052
+ }
2053
+
2054
+ /** The state a custom shell renders around the blocks (a status line, Save enablement). */
2055
+ export declare interface ViewerBuildingBlocksState {
2056
+ /** `preview` until a canvas is mounted and the host grants editing. */
2057
+ mode: ViewerMode;
2058
+ loading: boolean;
2059
+ error: string | null;
2060
+ /** Zero-based active slide, -1 before a deck loads. */
2061
+ slideIndex: number;
2062
+ slideCount: number;
2063
+ canUndo: boolean;
2064
+ canRedo: boolean;
2065
+ dirty: boolean;
2066
+ }
2067
+
1838
2068
  export { ViewerCustomization }
1839
2069
 
1840
2070
  export { ViewerCustomizationApi }