pptx-svelte-viewer 4.74.0 → 4.76.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.
@@ -1,7 +1,7 @@
1
1
  import * as svelte from 'svelte';
2
2
  import { Component } from 'svelte';
3
3
  import * as ooxml_ui_pptx from 'ooxml-ui/pptx';
4
- import { PrintSettings, CanvasSize, RasterizeElementResult, RasterizeElementTilesResult, ViewportFitOptions, ViewerFontSource, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, GoogleFontsOption, ListConversionScope, PptxLoadLimits, ToolbarActionId, RibbonAddInTab, ViewerCustomization, DocumentStorage, CloudFileProvider, ViewerAutosaveStatus, AutosaveRecord, ConnectionStatus, CollaborationInput, CollaborationConfig, CollaborationState, PowerPointViewerAPI, ViewerCustomizationApi, RemoteCursor, SanitizedPresence, PptxAutosaveStatusKind, DeckSaveIntent, InlineTextDraft, AnimationGroup, AlignEdge, DistributeAxis, MergeShapeOperation, PasteSpecialFormat, CropSession, CropElementUpdate, TemplateElementMap, HistoryTheme, ElementBoxPatch, EditorHistoryController, InkStrokeView, InkPoint, MasterViewCrudAction, MasterViewCrudActionId, FreeformToolKind, EditPointsElementPatch, SlideTemplateId, SlideTemplateBuildOptions, SlidePasteRequest, RibbonTransitionDraft, CellCoord, CellRect, PendingInlineTextEdit, InlineListController, ElementClipboardPayload, TableStyleSaveOptions, FontEmbeddingDescriptor, InlineTextEditSnapshot, SnapGuideInput, CollaborationLivePatcher, InlineTextDraftSink, ResolvedKeyboardCustomization, MarqueeRect, ShapeAdjustmentHandleDescriptor, SnapLine, ResizeHandleId, ConnectorEndpointKind, CollaborationInlineEditor, FindResult, ViewerPreferences, CollaborationTransport, YDocLike, YjsFactories, CollabProviderHandle, CollaborationHistoryTarget, CollabLoadOrigin, BroadcastConfig, ElementAnimationState, AuthoredSlideRange, RunProgramNotice, ZoomNavigationTarget, PresentationSnapshot, AutosaveRecoveryPrompt, CompatibilityWarningToast, SlideSizeEmu, DeckWebfontProgress, LoadLimitTranslate, ReadOnlyRecommendation, ReadOnlyBannerPasswordError, ViewerOptions, ViewerOptionsStoreInit, ToolbarTabId, ViewerOptionsGroupId, ViewerOptionPrimitive, ViewerOptionsConstraints, CompareResult, Guide, DeckViewPreferences, CloudDocumentController, SaveProgressController, ResolvedCustomization, ViewerMode, ViewportFitPadding, CollaborationShellState, AutosaveDisabledReason, MobileSheetKey, FieldSubstitutionContext, SlidesPaneLayoutGalleryRequest } from 'ooxml-ui/pptx';
4
+ import { PrintSettings, CanvasSize, RasterizeElementResult, RasterizeElementTilesResult, ViewportFitOptions, ViewerFontSource, ViewerTheme, ThemeCatalogEntry, AccountAuthConfig, GoogleFontsOption, ListConversionScope, PptxLoadLimits, ToolbarActionId, RibbonAddInTab, RibbonDisplayMode, ViewerCustomization, DocumentStorage, CloudFileProvider, ViewerAutosaveStatus, AutosaveRecord, ConnectionStatus, CollaborationInput, CollaborationConfig, CollaborationState, PowerPointViewerAPI, ViewerCustomizationApi, RemoteCursor, SanitizedPresence, SlideFindHighlights, PptxAutosaveStatusKind, DeckSaveIntent, InlineTextDraft, AnimationGroup, AlignEdge, DistributeAxis, MergeShapeOperation, PasteSpecialFormat, CropSession, CropElementUpdate, TemplateElementMap, HistoryTheme, ElementBoxPatch, EditorHistoryController, InkStrokeView, InkPoint, MasterViewCrudAction, MasterViewCrudActionId, FreeformToolKind, EditPointsElementPatch, SlideTemplateId, SlideTemplateBuildOptions, SlidePasteRequest, RibbonTransitionDraft, CellCoord, CellRect, PendingInlineTextEdit, InlineListController, ElementClipboardPayload, TableStyleSaveOptions, FontEmbeddingDescriptor, InlineTextEditSnapshot, SnapGuideInput, CollaborationLivePatcher, InlineTextDraftSink, ResolvedKeyboardCustomization, MarqueeRect, ShapeAdjustmentHandleDescriptor, SnapLine, ResizeHandleId, ConnectorEndpointKind, CollaborationInlineEditor, FindResult, RibbonDisplayController, ViewerPreferences, CollaborationTransport, YDocLike, YjsFactories, CollabProviderHandle, CollaborationHistoryTarget, CollabLoadOrigin, BroadcastConfig, PptxSaveSnapshot, PptxSaveAcknowledgement, ElementAnimationState, AuthoredSlideRange, RunProgramNotice, ZoomNavigationTarget, PresentationSnapshot, AutosaveRecoveryPrompt, CompatibilityWarningToast, SlideSizeEmu, DeckWebfontProgress, LoadLimitTranslate, ReadOnlyRecommendation, ReadOnlyBannerPasswordError, ViewerOptions, ViewerOptionsStoreInit, ToolbarTabId, ViewerOptionsGroupId, ViewerOptionPrimitive, ViewerOptionsConstraints, CompareResult, Guide, DeckViewPreferences, CloudDocumentController, SaveProgressController, ResolvedCustomization, ViewerMode, ViewportFitPadding, CollaborationShellState, AutosaveDisabledReason, MobileSheetKey, FieldSubstitutionContext, SlidesPaneLayoutGalleryRequest } from 'ooxml-ui/pptx';
5
5
  export { CanvasSize, CollaborationShellState, CollaborationState, ConnectionStatus, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, InlineListController, InlineListReadResult, InlineTextEditSnapshot, RemoteCursor, SanitizedPresence, SlidesPaneLayoutGalleryRequest, ViewerTheme, zoomInPercent, zoomOutPercent } from 'ooxml-ui/pptx';
6
6
  import { PptxAiConfig, PptxAiBridge } from 'ooxml-ui/pptx/ai';
7
7
  export { PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiUIMessage, PptxAiWritePolicy } from 'ooxml-ui/pptx/ai';
@@ -277,6 +277,14 @@ interface PowerPointViewerProps extends ViewportFitOptions {
277
277
  * `localStorage` automatically.
278
278
  */
279
279
  onThemeChange?: (themeKey: string) => void;
280
+ /**
281
+ * Reports a slide element omitted after a render or effect error, on every surface of the
282
+ * viewer (canvas, thumbnails, slide show, reading view, previews), with
283
+ * `{ elementId, elementType, slideId }`. Camel-cased like `onThemeChange` because it is the
284
+ * same reporter option the building blocks take. Defaults to `console.error(error, context)`,
285
+ * also used when this callback throws.
286
+ */
287
+ onElementRenderError?: ooxml_ui_pptx.ElementRenderErrorHandler;
280
288
  /**
281
289
  * Initial File > Options > Language selection (locale code). Falls back to
282
290
  * a value persisted in `localStorage`, then the `locale` prop. Once the
@@ -370,6 +378,13 @@ interface PowerPointViewerProps extends ViewportFitOptions {
370
378
  * drawn as its items. The desktop ribbon shows them; the phone chrome does not.
371
379
  */
372
380
  ribbonAddIns?: readonly RibbonAddInTab[];
381
+ /**
382
+ * Starting Ribbon Display Options mode: `always` (Always show Ribbon, the
383
+ * default), `tabs` (Show tabs only) or `fullScreen` (Full-screen mode).
384
+ * Changing it from the host applies the mode; the user's own choices are
385
+ * reported through `onribbondisplaychange`.
386
+ */
387
+ ribbonDisplay?: RibbonDisplayMode;
373
388
  /**
374
389
  * Framework-neutral UI customisation. See docs/guide/customization.md.
375
390
  *
@@ -501,6 +516,12 @@ interface PowerPointViewerProps extends ViewportFitOptions {
501
516
  /** Fired before following a link; return false to cancel its default action. */
502
517
  onhyperlinkclick?: ooxml_ui_pptx.HyperlinkClickHandler;
503
518
  onzoomchange?: (zoom: number) => void;
519
+ /**
520
+ * Fired when the user picks a Ribbon Display Options mode (the menu on the
521
+ * tab row, Ctrl+F1, or a double click on a tab). Not fired when the host
522
+ * changes `ribbonDisplay`.
523
+ */
524
+ onribbondisplaychange?: (mode: RibbonDisplayMode) => void;
504
525
  onselectionchange?: (elementIds: string[]) => void;
505
526
  onslidecountchange?: (count: number) => void;
506
527
  /** Host override for the File > Open action. */
@@ -741,6 +762,8 @@ interface SlideCanvasProps {
741
762
  editingElementId?: string | null;
742
763
  /** Forwarded to `SlideStage`; see `SlideStageProps.selectedElementIds`. */
743
764
  selectedElementIds?: readonly string[];
765
+ /** The Find bar's matches, marked in the elements' text (`findTextHighlightsByElement`). */
766
+ findHighlights?: SlideFindHighlights;
744
767
  ontablecellcommit?: (elementId: string, rowIndex: number, cellIndex: number, text: string) => void;
745
768
  onsmartartnodecommit?: (elementId: string, nodeId: string, text: string) => void;
746
769
  onsmartartnodefill?: (elementId: string, nodeId: string, fill: string) => void;
@@ -2452,6 +2475,8 @@ declare class ChromeUiState {
2452
2475
  */
2453
2476
  interface RibbonProps {
2454
2477
  fileName?: string;
2478
+ /** Ribbon Display Options: the viewer's one controller (menu, peek, collapse). */
2479
+ ribbonDisplay: RibbonDisplayController;
2455
2480
  /** History-tracked editor state; Home/Insert tab groups read/write it directly. */
2456
2481
  editor: EditorState;
2457
2482
  /** Reactive Find & Replace panel state, owned by the host so it can navigate the viewer. */
@@ -2752,7 +2777,7 @@ declare class ViewerState {
2752
2777
  * `PowerPointViewer` instance API. The undo/redo/save half lives in
2753
2778
  * `editing-api.ts` and the export half in `export/exporting-api.ts`.
2754
2779
  */
2755
- type DeckApi = Omit<PowerPointViewerAPI, 'getContent' | 'undo' | 'redo' | 'canUndo' | 'canRedo'>;
2780
+ type DeckApi = Omit<PowerPointViewerAPI, 'getContent' | 'undo' | 'redo' | 'canUndo' | 'canRedo' | 'getSaveRevision' | 'getSaveSnapshot' | 'acknowledgeSave'>;
2756
2781
 
2757
2782
  /** The imperative editing API exposed on the `PowerPointViewer` instance. */
2758
2783
  interface EditingApi {
@@ -2767,6 +2792,12 @@ interface EditingApi {
2767
2792
  downloadAs(format: PptxSaveFormat, fileName?: string): Promise<void>;
2768
2793
  /** File > Save as `.pptx` (reported to host storage as `save`). */
2769
2794
  downloadPptx(fileName?: string): Promise<void>;
2795
+ /** The revision of the document as it is now (see `createSaveRevisionController`). */
2796
+ getSaveRevision(): number;
2797
+ /** Serialise for a host that persists the deck itself; leaves the document dirty. */
2798
+ getSaveSnapshot(): Promise<PptxSaveSnapshot>;
2799
+ /** The host persisted `revision`: clean only if it is still current. */
2800
+ acknowledgeSave(revision: number): PptxSaveAcknowledgement;
2770
2801
  }
2771
2802
 
2772
2803
  /**
@@ -1,28 +1,28 @@
1
- import { C as a, S as o, _ as s, a as r, b as i, c as t, d as l, f as S, g as n, h as d, i as p, l as v, m as c, n as m, o as b, p as g, r as x, s as P, t as w, u as T, v as u, w as y, x as A, y as C } from "../export-BSqJw7u_.js";
2
- import "../transition-overlay-SNUzj4xJ.js";
1
+ import { C as a, D as o, E as s, S as r, T as i, _ as t, a as l, b as S, c as n, d, g as v, h as p, i as c, l as m, m as b, n as g, o as x, r as P, s as T, t as w, v as y, w as A, x as C, y as V } from "../export-B-KZgn51.js";
2
+ import "../transition-overlay-DXsGFRMK.js";
3
3
  export {
4
- m as CollaborationCursors,
5
- x as EditorLayer,
6
- T as PowerPointViewer,
7
- g as PresentationLoader,
8
- p as RemoteSelectionOverlay,
9
- r as Ribbon,
10
- b as SlideCanvas,
11
- P as SlideThumbnail,
12
- t as SlidesPane,
13
- S as ViewerState,
14
- v as ViewerToolbar,
15
- C as clampSlideIndex,
4
+ g as CollaborationCursors,
5
+ P as EditorLayer,
6
+ d as PowerPointViewer,
7
+ v as PresentationLoader,
8
+ c as RemoteSelectionOverlay,
9
+ l as Ribbon,
10
+ x as SlideCanvas,
11
+ T as SlideThumbnail,
12
+ n as SlidesPane,
13
+ p as ViewerState,
14
+ m as ViewerToolbar,
15
+ r as clampSlideIndex,
16
16
  w as createSlidesPaneProps,
17
- y as createSvelteAiBridge,
18
- l as createViewerState,
19
- c as exportAllSlidesToSvg,
20
- d as exportAllSlidesToSvgBlobs,
21
- n as exportSlideAsSvg,
22
- s as exportSlideToSvg,
23
- u as exportSlideToSvgBlob,
24
- i as fitScale,
17
+ o as createSvelteAiBridge,
18
+ b as createViewerState,
19
+ t as exportAllSlidesToSvg,
20
+ y as exportAllSlidesToSvgBlobs,
21
+ V as exportSlideAsSvg,
22
+ S as exportSlideToSvg,
23
+ C as exportSlideToSvgBlob,
24
+ a as fitScale,
25
25
  A as resolveNavigationKey,
26
- o as zoomInPercent,
27
- a as zoomOutPercent
26
+ i as zoomInPercent,
27
+ s as zoomOutPercent
28
28
  };
@@ -1,4 +1,4 @@
1
- import { A as pr, O as gr, k as Fe } from "./transition-overlay-SNUzj4xJ.js";
1
+ import { M as Fe, N as pr, j as gr } from "./transition-overlay-DXsGFRMK.js";
2
2
  import { $ as yr, A as br, B as Ct, D as mr, E as ut, F as _r, G as Ye, H as vr, I as Mt, J as je, K as wr, L as lt, M as se, O as Er, P as ae, R as ce, S as Cr, T as Rr, U as Rt, V as Sr, W as St, X as Tr, Y as ht, Z as Ar, _ as kr, a as Or, at as xr, b as Ge, c as Nr, d as Lr, et as Mr, f as Dr, g as Ir, i as Tt, it as Pr, j as it, k as Dt, l as jr, m as Ur, n as Br, nt as ft, o as It, ot as Fr, p as $r, q as Pt, r as $e, rt as jt, s as qr, st, t as Wr, tt as dt, u as Hr, v as Vr, w as Ut, x as Yr, y as Gr, z as Le } from "./awareness-BwmJcSKy.js";
3
3
  import "yjs";
4
4
  var zr = 1200, Kr = 2500, qe = 3e4, ot = (r) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-svelte-viewer",
3
- "version": "4.74.0",
3
+ "version": "4.76.0",
4
4
  "description": "pptx-viewer for Svelte 5: a PowerPoint viewer and editor component to render, edit, present, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "office",
@@ -121,8 +121,8 @@
121
121
  "html2canvas-pro": "^2.6.3",
122
122
  "jspdf": "^4.2.1",
123
123
  "jszip": "^3.10.2",
124
- "ooxml-core": "^1.49.0",
125
- "ooxml-ui": "^1.49.1",
124
+ "ooxml-core": "^1.50.0",
125
+ "ooxml-ui": "^1.51.0",
126
126
  "opentype.js": "^2.0.0"
127
127
  },
128
128
  "devDependencies": {