pptx-svelte-viewer 1.1.0 → 1.2.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.
@@ -4,6 +4,7 @@ import { FindReplaceState } from '../../editor/editor-find-replace.svelte';
4
4
  import { EditorState } from '../../editor/editor-state.svelte';
5
5
  import { ExportUiState } from '../../export/export-ui.svelte';
6
6
  import { AutosaveStatus } from '../../state/autosave.svelte';
7
+ import { ChromeUiState } from '../../state/chrome-ui.svelte';
7
8
  /**
8
9
  * Prop contracts for the ribbon shell and its tabs. Kept in a plain `.ts`
9
10
  * module per repo convention: SFCs stay thin presentation, types live in
@@ -43,10 +44,14 @@ export interface RibbonProps {
43
44
  isPasswordProtected: boolean;
44
45
  autosaveStatus?: AutosaveStatus;
45
46
  autosaveDirty?: boolean;
46
- /** Collaboration entry points, kept in the primary row like React's chrome. */
47
+ /** Collaboration entry points: Share on the tab row, broadcast in the Present dropdown (React parity). */
47
48
  onshare?: () => void;
48
49
  onbroadcast?: () => void;
49
50
  collabActive?: boolean;
51
+ /** Side-panel (slides rail / inspector) open state + toggles for the primary row. */
52
+ chromeUi?: ChromeUiState;
53
+ /** Whether live subtitles are currently enabled (Present dropdown checkmark). */
54
+ subtitlesEnabled?: boolean;
50
55
  /** Toolbar buttons/ribbon tabs to hide; see `PowerPointViewerProps.hiddenActions`. */
51
56
  hiddenActions?: ToolbarActionId[];
52
57
  /** Slide Show tab actions: enter presentation from slide 0 or the current slide. */
@@ -1 +1 @@
1
- {"version":3,"file":"ribbon-types.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ribbon-types.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-types.ts"],"names":[],"mappings":"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"}
@@ -8554,6 +8554,8 @@ declare class PresentationLoader {
8554
8554
  /** Whether the loaded package contains a VBA project. */
8555
8555
  hasMacros: boolean;
8556
8556
  notesCanvasSize: CanvasSize | undefined;
8557
+ /** Packaged theme parts (`ppt/theme/*.xml`) selectable in the inspector. */
8558
+ themeOptions: PptxThemeOption[];
8557
8559
  /** Slide canvas size in pixels. */
8558
8560
  canvasSize: CanvasSize;
8559
8561
  /** Archive-path -> displayable URL map for media + poster frames. */
@@ -1,4 +1,4 @@
1
- import { a as o, c as a, d as s, f as t, i as r, l, n as i, o as S, p as d, r as n, s as p, t as v, u as x } from "../export-Dvt_MrT9.js";
1
+ import { a as o, c as a, d as s, f as t, i as r, l, n as i, o as S, p as d, r as n, s as p, t as v, u as x } from "../export-CalS6VEm.js";
2
2
  export {
3
3
  v as PowerPointViewer,
4
4
  a as PresentationLoader,
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ChromeUiState: reactive open/collapsed state for the editing chrome's side
3
+ * panels, mirroring React's `useViewerState` flags (`isSidebarCollapsed`,
4
+ * `isInspectorPaneOpen`, `inspectorTab`). Owned by `PowerPointViewer` and
5
+ * threaded to both the ribbon's primary row (the toggle buttons) and
6
+ * `ViewerBody` (which gates the thumbnail rail and inspector pane on it).
7
+ */
8
+ /** The inspector pane's tab strip, matching React's `InspectorTab`. */
9
+ export type InspectorTabId = 'elements' | 'properties' | 'comments';
10
+ export declare class ChromeUiState {
11
+ /** Left thumbnail rail visibility (React: `isSidebarCollapsed`). */
12
+ sidebarCollapsed: boolean;
13
+ /** Right inspector pane visibility (React: `isInspectorPaneOpen`). */
14
+ inspectorOpen: boolean;
15
+ /** Active inspector tab (React defaults to Properties). */
16
+ inspectorTab: InspectorTabId;
17
+ toggleSidebar(): void;
18
+ toggleInspector(): void;
19
+ setInspectorTab(tab: InspectorTabId): void;
20
+ /** Comments toolbar button: toggle the inspector's Comments tab. */
21
+ toggleComments(): void;
22
+ /** True when the inspector is showing the Comments tab. */
23
+ get commentsOpen(): boolean;
24
+ }
25
+ //# sourceMappingURL=chrome-ui.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-ui.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/chrome-ui.svelte.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAEpE,qBAAa,aAAa;IACzB,oEAAoE;IACpE,gBAAgB,UAAiB;IACjC,sEAAsE;IACtE,aAAa,UAAgB;IAC7B,2DAA2D;IAC3D,YAAY,iBAAwC;IAEpD,aAAa,IAAI,IAAI;IAIrB,eAAe,IAAI,IAAI;IAIvB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAI1C,oEAAoE;IACpE,cAAc,IAAI,IAAI;IAStB,2DAA2D;IAC3D,IAAI,YAAY,IAAI,OAAO,CAE1B;CACD"}
@@ -3,6 +3,8 @@ export type { NavigationAction } from './navigation';
3
3
  export { enterFullscreen, exitFullscreen, isFullscreenActive, isFullscreenSupported, toggleFullscreen, } from './fullscreen';
4
4
  export { resolveLazyImages, resolveMediaUrls, revokeBlobUrls } from './loader-helpers';
5
5
  export type { ResolvedMedia } from './loader-helpers';
6
+ export { ChromeUiState } from './chrome-ui.svelte';
7
+ export type { InspectorTabId } from './chrome-ui.svelte';
6
8
  export { PresentationLoader } from './presentation-loader.svelte';
7
9
  export { ViewerState } from './viewer-state.svelte';
8
10
  export { provideSmartArt3D, useSmartArt3D } from './smart-art-3d-context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,QAAQ,EACR,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,QAAQ,EACR,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACN,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxPresentationProperties, PptxThemeOption } from 'pptx-viewer-core';
2
+ import { CanvasSize } from 'pptx-viewer-shared';
3
+ import { EditorState } from '../editor/editor-state.svelte';
4
+ import { PresentationLoader } from './presentation-loader.svelte';
5
+ /**
6
+ * Deck-level state and mutations behind the inspector's no-selection
7
+ * Properties tab: the Svelte port of Vue's `useInspectorDeckActions` (itself
8
+ * mirroring the relevant pieces of React's `useThemeHandlers` and the
9
+ * viewer-level canvas-size / document-property setters).
10
+ *
11
+ * Provided from `PowerPointViewer` via Svelte context (see
12
+ * {@link provideInspectorDeck}) so `InspectorPanel` can reach it from any
13
+ * mount point (viewer body, master view, mobile sheets) without threading a
14
+ * prop through every intermediate component.
15
+ */
16
+ export interface InspectorDeckActions {
17
+ /** Packaged theme parts (`ppt/theme/*.xml`) selectable in the THEME card. */
18
+ readonly themeOptions: PptxThemeOption[];
19
+ /** Slide canvas size in px (the loader's reactive value). */
20
+ readonly canvasSize: CanvasSize;
21
+ /** Notes page size in px, when the package declares one. */
22
+ readonly notesCanvasSize: CanvasSize | undefined;
23
+ /** Apply a packaged theme part by archive path (React's `handleApplyTheme`). */
24
+ applyThemeByPath(themePath: string, applyToAllMasters: boolean): void;
25
+ /** Resize the slide canvas (inspector SLIDE SIZE card). */
26
+ updateCanvasSize(size: CanvasSize): void;
27
+ /** Patch deck-wide slide-show / print settings (PRESENTATION card). */
28
+ updatePresentationProperties(patch: Partial<PptxPresentationProperties>): void;
29
+ /** Patch document core properties (Title / Author / ...). */
30
+ updateCoreProperties(patch: Partial<PptxCoreProperties>): void;
31
+ /** Patch application properties (Company / Application). */
32
+ updateAppProperties(patch: Partial<PptxAppProperties>): void;
33
+ /** Replace the custom document-property list. */
34
+ updateCustomProperties(next: PptxCustomProperty[]): void;
35
+ }
36
+ export interface InspectorDeckDeps {
37
+ loader: PresentationLoader;
38
+ editor: EditorState;
39
+ }
40
+ /** Build the deck-action facade over the loader + history-tracked editor. */
41
+ export declare function createInspectorDeckActions(deps: InspectorDeckDeps): InspectorDeckActions;
42
+ /**
43
+ * Context key for the inspector deck actions. Exported so tests (and
44
+ * out-of-tree mounts) can seed it via `mount(Component, { context: new
45
+ * Map([[INSPECTOR_DECK_CONTEXT_KEY, deck]]) })`; mirrors `I18N_CONTEXT_KEY`.
46
+ */
47
+ export declare const INSPECTOR_DECK_CONTEXT_KEY: unique symbol;
48
+ /** Provide the deck actions to the component subtree (root component only). */
49
+ export declare function provideInspectorDeck(deck: InspectorDeckActions): void;
50
+ /** Consume the nearest provided deck actions; undefined in standalone mounts. */
51
+ export declare function useInspectorDeck(): InspectorDeckActions | undefined;
52
+ //# sourceMappingURL=inspector-deck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspector-deck.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/inspector-deck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACpC,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,gFAAgF;IAChF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IACtE,2DAA2D;IAC3D,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACzC,uEAAuE;IACvE,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC;IAC/E,6DAA6D;IAC7D,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAC/D,4DAA4D;IAC5D,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC7D,iDAAiD;IACjD,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,WAAW,CAAC;CACpB;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,CAmFxF;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAE/E,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAErE;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,SAAS,CAEnE"}
@@ -1,4 +1,4 @@
1
- import { ParsedTableStyleMap, PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxEmbeddedFont, PptxHandoutMaster, PptxHeaderFooter, PptxNotesMaster, PptxPresentationProperties, PptxCustomShow, PptxSection, PptxSlide, PptxSlideMaster, PptxThemeColorScheme, PptxTheme, PptxHandler } from 'pptx-viewer-core';
1
+ import { ParsedTableStyleMap, PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxEmbeddedFont, PptxHandoutMaster, PptxHeaderFooter, PptxNotesMaster, PptxPresentationProperties, PptxCustomShow, PptxSection, PptxSlide, PptxSlideMaster, PptxThemeColorScheme, PptxTheme, PptxThemeOption, PptxHandler } from 'pptx-viewer-core';
2
2
  import { CanvasSize } from 'pptx-viewer-shared';
3
3
  /**
4
4
  * Reactive load pipeline for the Svelte viewer: the runes port of the Vue
@@ -31,6 +31,8 @@ export declare class PresentationLoader {
31
31
  /** Whether the loaded package contains a VBA project. */
32
32
  hasMacros: boolean;
33
33
  notesCanvasSize: CanvasSize | undefined;
34
+ /** Packaged theme parts (`ppt/theme/*.xml`) selectable in the inspector. */
35
+ themeOptions: PptxThemeOption[];
34
36
  /** Slide canvas size in pixels. */
35
37
  canvasSize: CanvasSize;
36
38
  /** Archive-path -> displayable URL map for media + poster frames. */
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-loader.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/presentation-loader.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;;IAC9B,8DAA8D;IAC9D,MAAM,cAA+B;IACrC,wEAAwE;IACxE,YAAY,oBAAqC;IACjD,WAAW,8BAAsD;IACjE,aAAa,gCAAwD;IACrE,QAAQ,gBAAiC;IACzC,YAAY,mBAAoC;IAChD,sBAAsB,6BAA8C;IACpE,WAAW,mBAAoC;IAC/C,cAAc,iCAAyD;IACvE,aAAa,gCAAwD;IACrE,gBAAgB,uBAAwC;IACxD,aAAa,qBAAsC;IACnD,oBAAoB,UAAiB;IACrC,qBAAqB,SAAa;IAClC,mBAAmB,UAAiB;IACpC,yDAAyD;IACzD,SAAS,UAAiB;IAC1B,eAAe,yBAAiD;IAChE,mCAAmC;IACnC,UAAU,aAGP;IACH,qEAAqE;IACrE,aAAa,sBAA8C;IAC3D,4EAA4E;IAC5E,WAAW,mCAA2D;IACtE,iBAAiB,wBAAgD;IACjE,qEAAqE;IACrE,aAAa,kCAA0D;IACvE,sCAAsC;IACtC,OAAO,UAAiB;IACxB,wDAAwD;IACxD,KAAK,gBAA+B;IACpC,wEAAwE;IACxE,WAAW,UAAiB;IAC5B,4DAA4D;IAC5D,OAAO,qBAAwC;IAC/C,wEAAwE;IACxE,SAAS,SAAa;IAKtB,yDAAyD;IACnD,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgFxD,qEAAqE;IACrE,OAAO,IAAI,IAAI;CAQf"}
1
+ {"version":3,"file":"presentation-loader.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/state/presentation-loader.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;;IAC9B,8DAA8D;IAC9D,MAAM,cAA+B;IACrC,wEAAwE;IACxE,YAAY,oBAAqC;IACjD,WAAW,8BAAsD;IACjE,aAAa,gCAAwD;IACrE,QAAQ,gBAAiC;IACzC,YAAY,mBAAoC;IAChD,sBAAsB,6BAA8C;IACpE,WAAW,mBAAoC;IAC/C,cAAc,iCAAyD;IACvE,aAAa,gCAAwD;IACrE,gBAAgB,uBAAwC;IACxD,aAAa,qBAAsC;IACnD,oBAAoB,UAAiB;IACrC,qBAAqB,SAAa;IAClC,mBAAmB,UAAiB;IACpC,yDAAyD;IACzD,SAAS,UAAiB;IAC1B,eAAe,yBAAiD;IAChE,4EAA4E;IAC5E,YAAY,oBAAqC;IACjD,mCAAmC;IACnC,UAAU,aAGP;IACH,qEAAqE;IACrE,aAAa,sBAA8C;IAC3D,4EAA4E;IAC5E,WAAW,mCAA2D;IACtE,iBAAiB,wBAAgD;IACjE,qEAAqE;IACrE,aAAa,kCAA0D;IACvE,sCAAsC;IACtC,OAAO,UAAiB;IACxB,wDAAwD;IACxD,KAAK,gBAA+B;IACpC,wEAAwE;IACxE,WAAW,UAAiB;IAC5B,4DAA4D;IAC5D,OAAO,qBAAwC;IAC/C,wEAAwE;IACxE,SAAS,SAAa;IAKtB,yDAAyD;IACnD,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqFxD,qEAAqE;IACrE,OAAO,IAAI,IAAI;CAQf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-svelte-viewer",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Svelte 5 PowerPoint viewer component: render PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "office",