pptx-svelte-viewer 3.3.0 → 3.5.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.
- package/CHANGELOG.md +50 -0
- package/dist/{AiChatPanel-D1kCyNeI.js → AiChatPanel-2KybLFhz.js} +11 -11
- package/dist/{export-CL58Fm_4.js → export-C0RzyaUT.js} +36613 -31616
- package/dist/i18n.js +1 -1
- package/dist/index.js +2 -2
- package/dist/pptx-svelte-viewer.css +1 -1
- package/dist/{translator-i8zxb8S8.js → translator-YCJ___7k.js} +42 -1
- package/dist/viewer/ai/ai-panel-controller.svelte.d.ts +2 -8
- package/dist/viewer/ai/ai-panel-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/components/inspector/animation-panel-helpers.d.ts.map +1 -1
- package/dist/viewer/components/props-elements.d.ts +28 -0
- package/dist/viewer/components/props-elements.d.ts.map +1 -1
- package/dist/viewer/components/props-stage.d.ts +6 -0
- package/dist/viewer/components/props-stage.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/review/comment-compose.svelte.d.ts +40 -0
- package/dist/viewer/components/ribbon/review/comment-compose.svelte.d.ts.map +1 -0
- package/dist/viewer/components/viewer-body-props.d.ts +14 -9
- package/dist/viewer/components/viewer-body-props.d.ts.map +1 -1
- package/dist/viewer/editor/editor-arrange-ops.d.ts.map +1 -1
- package/dist/viewer/editor/editor-background-controller.d.ts.map +1 -1
- package/dist/viewer/editor/editor-clipboard.d.ts.map +1 -1
- package/dist/viewer/editor/editor-controller-deps.d.ts +2 -5
- package/dist/viewer/editor/editor-controller-deps.d.ts.map +1 -1
- package/dist/viewer/editor/editor-controller-wiring.d.ts +1 -2
- package/dist/viewer/editor/editor-controller-wiring.d.ts.map +1 -1
- package/dist/viewer/editor/editor-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-document-lifecycle.d.ts.map +1 -1
- package/dist/viewer/editor/editor-document-state.d.ts +6 -2
- package/dist/viewer/editor/editor-document-state.d.ts.map +1 -1
- package/dist/viewer/editor/editor-element-controller.d.ts +1 -1
- package/dist/viewer/editor/editor-element-controller.d.ts.map +1 -1
- package/dist/viewer/editor/editor-handle-handlers.d.ts +1 -2
- package/dist/viewer/editor/editor-handle-handlers.d.ts.map +1 -1
- package/dist/viewer/editor/editor-ink-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-insert.d.ts.map +1 -1
- package/dist/viewer/editor/editor-master-crud.d.ts +24 -0
- package/dist/viewer/editor/editor-master-crud.d.ts.map +1 -0
- package/dist/viewer/editor/editor-presentation-metadata.svelte.d.ts +7 -0
- package/dist/viewer/editor/editor-presentation-metadata.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-selection-gestures.d.ts +1 -2
- package/dist/viewer/editor/editor-selection-gestures.d.ts.map +1 -1
- package/dist/viewer/editor/editor-state.svelte.d.ts +44 -3
- package/dist/viewer/editor/editor-state.svelte.d.ts.map +1 -1
- package/dist/viewer/editor/editor-transition-controller.d.ts.map +1 -1
- package/dist/viewer/editor/editor-zorder.d.ts +2 -2
- package/dist/viewer/editor/editor-zorder.d.ts.map +1 -1
- package/dist/viewer/editor/index.d.ts +4 -5
- package/dist/viewer/editor/index.d.ts.map +1 -1
- package/dist/viewer/editor/inline-text.d.ts +1 -6
- package/dist/viewer/editor/inline-text.d.ts.map +1 -1
- package/dist/viewer/export/export-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/export/export-print.d.ts +7 -1
- package/dist/viewer/export/export-print.d.ts.map +1 -1
- package/dist/viewer/index.d.ts +310 -39
- package/dist/viewer/index.js +13 -13
- package/dist/viewer/presentation/action-runner-callbacks.d.ts +18 -0
- package/dist/viewer/presentation/action-runner-callbacks.d.ts.map +1 -0
- package/dist/viewer/presentation/animation-playback.svelte.d.ts +3 -2
- package/dist/viewer/presentation/animation-playback.svelte.d.ts.map +1 -1
- package/dist/viewer/presentation/presentation-controller.svelte.d.ts +39 -2
- package/dist/viewer/presentation/presentation-controller.svelte.d.ts.map +1 -1
- package/dist/viewer/render/media-view.d.ts +1 -13
- package/dist/viewer/render/media-view.d.ts.map +1 -1
- package/dist/viewer/render/ole-view.d.ts +2 -8
- package/dist/viewer/render/ole-view.d.ts.map +1 -1
- package/dist/viewer/state/compat-toasts.svelte.d.ts +28 -0
- package/dist/viewer/state/compat-toasts.svelte.d.ts.map +1 -0
- package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts +4 -0
- package/dist/viewer/state/create-viewer-state-editor-ui.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-presentation.svelte.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state-types.d.ts +10 -0
- package/dist/viewer/state/create-viewer-state-types.d.ts.map +1 -1
- package/dist/viewer/state/create-viewer-state.svelte.d.ts.map +1 -1
- package/dist/viewer/state/google-webfonts.d.ts +1 -1
- package/dist/viewer/state/guide-id.d.ts +9 -0
- package/dist/viewer/state/guide-id.d.ts.map +1 -0
- package/dist/viewer/state/inspector-deck.d.ts +9 -2
- package/dist/viewer/state/inspector-deck.d.ts.map +1 -1
- package/dist/viewer/state/loader-helpers.d.ts.map +1 -1
- package/dist/viewer/state/presentation-loader.svelte.d.ts +20 -1
- package/dist/viewer/state/presentation-loader.svelte.d.ts.map +1 -1
- package/dist/viewer/state/read-only-recommendation.svelte.d.ts +34 -0
- package/dist/viewer/state/read-only-recommendation.svelte.d.ts.map +1 -0
- package/dist/viewer/state/viewer-effects.svelte.d.ts.map +1 -1
- package/dist/viewer/state/viewer-parity-ui.svelte.d.ts +19 -7
- package/dist/viewer/state/viewer-parity-ui.svelte.d.ts.map +1 -1
- package/dist/viewer/state/viewport-handlers.d.ts +4 -0
- package/dist/viewer/state/viewport-handlers.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/viewer/ai/ai-log-export.d.ts +0 -71
- package/dist/viewer/ai/ai-log-export.d.ts.map +0 -1
- package/dist/viewer/ai/focus-targets.d.ts +0 -36
- package/dist/viewer/ai/focus-targets.d.ts.map +0 -1
- package/dist/viewer/editor/editor-geometry.d.ts +0 -29
- package/dist/viewer/editor/editor-geometry.d.ts.map +0 -1
- package/dist/viewer/editor/editor-gestures.d.ts +0 -55
- package/dist/viewer/editor/editor-gestures.d.ts.map +0 -1
- package/dist/viewer/editor/editor-mutations.d.ts +0 -59
- package/dist/viewer/editor/editor-mutations.d.ts.map +0 -1
- package/dist/viewer/presentation/animation-playback-helpers.d.ts +0 -43
- package/dist/viewer/presentation/animation-playback-helpers.d.ts.map +0 -1
package/dist/viewer/index.d.ts
CHANGED
|
@@ -10161,6 +10161,11 @@ interface SlideTemplateBuildOptions {
|
|
|
10161
10161
|
*/
|
|
10162
10162
|
translate?: (key: string) => string;
|
|
10163
10163
|
}
|
|
10164
|
+
/** A user-placed alignment guide: `axis: 'v'` is a vertical line at x=`position`. */
|
|
10165
|
+
interface SnapGuideInput {
|
|
10166
|
+
axis: 'h' | 'v';
|
|
10167
|
+
position: number;
|
|
10168
|
+
}
|
|
10164
10169
|
/** A snap alignment line: `axis: 'v'` is a vertical line at x=`position`. */
|
|
10165
10170
|
interface SnapLine {
|
|
10166
10171
|
axis: 'h' | 'v';
|
|
@@ -10547,6 +10552,14 @@ interface PresentationInkStroke {
|
|
|
10547
10552
|
points: PresentationInkPoint[];
|
|
10548
10553
|
}
|
|
10549
10554
|
//#endregion
|
|
10555
|
+
//#region src/render/alignment-guides.d.ts
|
|
10556
|
+
/** A single alignment guide, positioned in authored slide pixels. */
|
|
10557
|
+
interface Guide {
|
|
10558
|
+
id: string;
|
|
10559
|
+
axis: 'h' | 'v';
|
|
10560
|
+
position: number;
|
|
10561
|
+
}
|
|
10562
|
+
//#endregion
|
|
10550
10563
|
//#region src/render/find-replace.d.ts
|
|
10551
10564
|
/** Identifies a single match of the find query at segment-level precision. */
|
|
10552
10565
|
interface FindResult {
|
|
@@ -10707,6 +10720,19 @@ interface AutosaveRecoveryPrompt {
|
|
|
10707
10720
|
readonly restoreKey: string;
|
|
10708
10721
|
readonly discardKey: string;
|
|
10709
10722
|
}
|
|
10723
|
+
//#endregion
|
|
10724
|
+
//#region src/render/master-view-crud.d.ts
|
|
10725
|
+
/** One Slide Master view sidebar command. */
|
|
10726
|
+
type MasterViewCrudActionId = 'addLayout' | 'duplicateLayout' | 'deleteLayout' | 'renameLayout' | 'addMaster' | 'duplicateMaster' | 'deleteMaster' | 'renameMaster';
|
|
10727
|
+
/** A framework-neutral descriptor for one sidebar button. */
|
|
10728
|
+
interface MasterViewCrudAction {
|
|
10729
|
+
id: MasterViewCrudActionId;
|
|
10730
|
+
/** i18n key for the button label (`pptx.masterView.<id>`). */
|
|
10731
|
+
labelKey: string;
|
|
10732
|
+
enabled: boolean;
|
|
10733
|
+
/** i18n key explaining why the button is disabled, set only when it is. */
|
|
10734
|
+
disabledReasonKey?: string;
|
|
10735
|
+
}
|
|
10710
10736
|
/**
|
|
10711
10737
|
* Why the deck is being serialised, which is a separate question from whether
|
|
10712
10738
|
* the user protected it.
|
|
@@ -10785,6 +10811,28 @@ interface ViewerPreferences {
|
|
|
10785
10811
|
snapToGrid: boolean;
|
|
10786
10812
|
reducedMotion: boolean;
|
|
10787
10813
|
}
|
|
10814
|
+
/**
|
|
10815
|
+
* Viewer preferences plus the `ppt/viewProps.xml` fields the round-trip in
|
|
10816
|
+
* {@link viewerPreferencesFromViewProperties} seeds from the deck itself. All
|
|
10817
|
+
* optional, so a plain {@link ViewerPreferences} is assignable.
|
|
10818
|
+
*/
|
|
10819
|
+
interface DeckViewPreferences extends ViewerPreferences {
|
|
10820
|
+
/** `p:viewPr/p:slideViewPr/p:cSldViewPr/@snapToObjects`. */
|
|
10821
|
+
snapToObjects?: boolean;
|
|
10822
|
+
/** `p:viewPr/p:slideViewPr/p:cSldViewPr/@showGuides`. */
|
|
10823
|
+
showGuides?: boolean;
|
|
10824
|
+
/** `p:viewPr/p:gridSpacing/@cx`, in positive DrawingML (EMU) units. */
|
|
10825
|
+
gridSpacingCx?: number;
|
|
10826
|
+
/** `p:viewPr/p:gridSpacing/@cy`, in positive DrawingML (EMU) units. */
|
|
10827
|
+
gridSpacingCy?: number;
|
|
10828
|
+
}
|
|
10829
|
+
/** A `p:showPr/p:sldRg` custom range, resolved to 0-based deck indexes. */
|
|
10830
|
+
interface AuthoredSlideRange {
|
|
10831
|
+
/** First slide of the range, 0-based, inclusive. */
|
|
10832
|
+
readonly fromIndex: number;
|
|
10833
|
+
/** Last slide of the range, 0-based, inclusive. */
|
|
10834
|
+
readonly toIndex: number;
|
|
10835
|
+
}
|
|
10788
10836
|
/**
|
|
10789
10837
|
* Optional hook point for hosts that want to wire a real sign-in flow into
|
|
10790
10838
|
* File > Account. Disabled by default: the Account page renders nothing
|
|
@@ -11024,6 +11072,44 @@ interface ViewerOptionsStoreInit {
|
|
|
11024
11072
|
/** Skip localStorage entirely (hosts that own persistence themselves). */
|
|
11025
11073
|
persist?: boolean;
|
|
11026
11074
|
}
|
|
11075
|
+
//#endregion
|
|
11076
|
+
//#region src/render/editor-mutations.d.ts
|
|
11077
|
+
/**
|
|
11078
|
+
* Pure, immutable slide-array mutations for the editor.
|
|
11079
|
+
*
|
|
11080
|
+
* Extracted from the Vanilla binding's `editor/editor-mutations` (the superset
|
|
11081
|
+
* of the byte-for-byte-equivalent Svelte copy; Vue's `useEditorOperations`
|
|
11082
|
+
* commit helpers do the same array math inline, reactivity mixed in). Every
|
|
11083
|
+
* function takes the current `PptxSlide[]` and returns a brand-new array
|
|
11084
|
+
* (untouched slides are reused by reference so the render layer can cheaply
|
|
11085
|
+
* detect changes). All cloning defers to the core helpers (`cloneSlide`,
|
|
11086
|
+
* `cloneElement`, `duplicateElement`); nothing is mutated in place.
|
|
11087
|
+
*/
|
|
11088
|
+
/** Geometry patch applied by drag / resize / rotate / nudge. */
|
|
11089
|
+
interface ElementBoxPatch {
|
|
11090
|
+
x: number;
|
|
11091
|
+
y: number;
|
|
11092
|
+
width: number;
|
|
11093
|
+
height: number;
|
|
11094
|
+
rotation: number;
|
|
11095
|
+
}
|
|
11096
|
+
type ReadOnlyRecommendationKind = 'modifyVerifier' | 'markedFinal' | null;
|
|
11097
|
+
interface ReadOnlyRecommendation {
|
|
11098
|
+
readonly kind: ReadOnlyRecommendationKind;
|
|
11099
|
+
/** i18n key for the banner/toast a binding shows for this recommendation. */
|
|
11100
|
+
readonly messageKey: string;
|
|
11101
|
+
/** Whether a binding's "read-only" toggle should default to on. */
|
|
11102
|
+
readonly defaultReadOnly: boolean;
|
|
11103
|
+
}
|
|
11104
|
+
interface CompatibilityWarningToast {
|
|
11105
|
+
/** Stable per-code id, since toasts are deduped by code (see module docs). */
|
|
11106
|
+
readonly id: string;
|
|
11107
|
+
readonly code: string;
|
|
11108
|
+
readonly severity: 'info' | 'warning';
|
|
11109
|
+
readonly messageKey: string;
|
|
11110
|
+
/** `{{code}}` for the generic fallback key; `undefined` for a mapped code. */
|
|
11111
|
+
readonly params?: Readonly<Record<string, string>>;
|
|
11112
|
+
}
|
|
11027
11113
|
|
|
11028
11114
|
//#endregion
|
|
11029
11115
|
//#region src/ai/change-diff.d.ts
|
|
@@ -11283,6 +11369,13 @@ interface PptxAiBridge {
|
|
|
11283
11369
|
/** Surface a transient message in the host UI (toast / status line). */
|
|
11284
11370
|
notify?(message: string, level?: PptxAiNotifyLevel): void;
|
|
11285
11371
|
}
|
|
11372
|
+
/** One element ring to draw on the canvas: an explicit pick or a live-tool focus. */
|
|
11373
|
+
interface AiCanvasHighlight {
|
|
11374
|
+
slideIndex: number;
|
|
11375
|
+
elementId: string;
|
|
11376
|
+
/** `pick` = persistent user pick; `active` = transient AI-is-working ring. */
|
|
11377
|
+
variant: 'pick' | 'active';
|
|
11378
|
+
}
|
|
11286
11379
|
//#endregion
|
|
11287
11380
|
//#region src/ai/tool-target.d.ts
|
|
11288
11381
|
/**
|
|
@@ -11883,6 +11976,8 @@ interface SlideCanvasProps {
|
|
|
11883
11976
|
editTemplateMode?: boolean;
|
|
11884
11977
|
/** Forwarded to `SlideStage`; see `SlideStageProps.editingElementId`. */
|
|
11885
11978
|
editingElementId?: string | null;
|
|
11979
|
+
/** Forwarded to `SlideStage`; see `SlideStageProps.selectedElementIds`. */
|
|
11980
|
+
selectedElementIds?: readonly string[];
|
|
11886
11981
|
ontablecellcommit?: (elementId: string, rowIndex: number, cellIndex: number, text: string) => void;
|
|
11887
11982
|
onsmartartnodecommit?: (elementId: string, nodeId: string, text: string) => void;
|
|
11888
11983
|
onsmartartnodefill?: (elementId: string, nodeId: string, fill: string) => void;
|
|
@@ -12280,25 +12375,6 @@ type LoadDocumentArgs = [
|
|
|
12280
12375
|
customShows?: PptxCustomShow[]
|
|
12281
12376
|
];
|
|
12282
12377
|
|
|
12283
|
-
/**
|
|
12284
|
-
* Pure, immutable slide-array mutations for the Svelte editor.
|
|
12285
|
-
*
|
|
12286
|
-
* Mirrors the vanilla binding's `editor-mutations` (in turn the Vue binding's
|
|
12287
|
-
* `useEditorOperations` commit helpers), minus the reactivity: every function
|
|
12288
|
-
* takes the current `PptxSlide[]` and returns a brand-new array (untouched
|
|
12289
|
-
* slides are reused by reference so the render layer can cheaply detect
|
|
12290
|
-
* changes). All cloning defers to the core helpers (`cloneSlide`,
|
|
12291
|
-
* `cloneElement`, `duplicateElement`); nothing is mutated in place.
|
|
12292
|
-
*/
|
|
12293
|
-
/** Geometry patch applied by drag / resize / rotate / nudge. */
|
|
12294
|
-
interface ElementBoxPatch {
|
|
12295
|
-
x: number;
|
|
12296
|
-
y: number;
|
|
12297
|
-
width: number;
|
|
12298
|
-
height: number;
|
|
12299
|
-
rotation: number;
|
|
12300
|
-
}
|
|
12301
|
-
|
|
12302
12378
|
/**
|
|
12303
12379
|
* Z-order (paint-order) reordering for the Svelte editor.
|
|
12304
12380
|
*
|
|
@@ -12306,8 +12382,8 @@ interface ElementBoxPatch {
|
|
|
12306
12382
|
* `sendBackward`) are the shared, framework-agnostic operations from
|
|
12307
12383
|
* `pptx-viewer-shared` (`render/element-operations`), where array index 0 is
|
|
12308
12384
|
* the back and the last index is the front. This module only lifts them to the
|
|
12309
|
-
* slide-array shape the editor state stores, reusing the
|
|
12310
|
-
* `
|
|
12385
|
+
* slide-array shape the editor state stores, reusing the shared
|
|
12386
|
+
* `reorderElementOnSlide` helper as the other mutations do.
|
|
12311
12387
|
*/
|
|
12312
12388
|
/** Which way to move the selected element through the paint-order stack. */
|
|
12313
12389
|
type ZOrderDirection = 'front' | 'back' | 'forward' | 'backward';
|
|
@@ -12467,6 +12543,28 @@ declare class EditorMasterController {
|
|
|
12467
12543
|
setBackgroundColor(backgroundColor: string): void;
|
|
12468
12544
|
}
|
|
12469
12545
|
|
|
12546
|
+
interface MasterViewCrudPrompts {
|
|
12547
|
+
/** Ask for the new layout/master name; null/empty cancels the rename. */
|
|
12548
|
+
promptName(currentName: string): string | null;
|
|
12549
|
+
/** Surface a rejection (`notFound` / `inUse` / `lastMaster`) as translated copy. */
|
|
12550
|
+
notify(message: string): void;
|
|
12551
|
+
translate(key: string): string;
|
|
12552
|
+
}
|
|
12553
|
+
/** Drives the sidebar's Insert/Duplicate/Delete/Rename commands on {@link EditorState}. */
|
|
12554
|
+
declare class EditorMasterCrudController {
|
|
12555
|
+
private readonly editor;
|
|
12556
|
+
constructor(editor: EditorState);
|
|
12557
|
+
/** The sidebar's action list (enabled/disabled + reason) for the current target. */
|
|
12558
|
+
actions(): MasterViewCrudAction[];
|
|
12559
|
+
/**
|
|
12560
|
+
* Run one command against the CURRENT master-view target. A no-op outside
|
|
12561
|
+
* master view, on a read-only deck, or when the action is disabled for the
|
|
12562
|
+
* target (mirrors the sidebar's own gating, so a stray call through the
|
|
12563
|
+
* public API cannot bypass it).
|
|
12564
|
+
*/
|
|
12565
|
+
run(id: MasterViewCrudActionId, prompts: MasterViewCrudPrompts): Promise<boolean>;
|
|
12566
|
+
}
|
|
12567
|
+
|
|
12470
12568
|
interface PresentationMetadataHost {
|
|
12471
12569
|
readonly editable: boolean;
|
|
12472
12570
|
pushHistory(): void;
|
|
@@ -12492,6 +12590,13 @@ declare class EditorPresentationMetadata {
|
|
|
12492
12590
|
private static clone;
|
|
12493
12591
|
set(headerFooter?: PptxHeaderFooter, presentationProperties?: PptxPresentationProperties, customShows?: PptxCustomShow[]): void;
|
|
12494
12592
|
updatePresentationProperties(next: PptxPresentationProperties): void;
|
|
12593
|
+
/**
|
|
12594
|
+
* Fold a picker's recent-colours list into `presentationProperties.mruColors`
|
|
12595
|
+
* WITHOUT pushing undo history (wave-4 B6): PowerPoint's colour-picker MRU
|
|
12596
|
+
* is not an undoable edit, mirroring how `editor.viewProperties` writes back
|
|
12597
|
+
* the View > Grid/Guides/Snap toggles outside `pushHistory`/`commitChange`.
|
|
12598
|
+
*/
|
|
12599
|
+
setMruColorsSilently(mruColors: readonly string[]): void;
|
|
12495
12600
|
updateHeaderFooter(next: PptxHeaderFooter): void;
|
|
12496
12601
|
updateCustomShows(next: PptxCustomShow[]): void;
|
|
12497
12602
|
private commit;
|
|
@@ -12707,6 +12812,13 @@ interface EditorStateDeps {
|
|
|
12707
12812
|
* case core re-emits the load-time dimensions verbatim.
|
|
12708
12813
|
*/
|
|
12709
12814
|
getSlideSize?: () => PptxSlideSize | undefined;
|
|
12815
|
+
/**
|
|
12816
|
+
* Adopt a fresh handler in place of the loaded one. Master-view CRUD
|
|
12817
|
+
* (`masterCrud`) rebuilds the package through core and comes back with a
|
|
12818
|
+
* new `PptxHandler`; the loader owns handler lifecycle, so it disposes the
|
|
12819
|
+
* previous one here. Optional for out-of-tree mounts and the unit tests.
|
|
12820
|
+
*/
|
|
12821
|
+
setHandler?: (handler: PptxHandler) => void;
|
|
12710
12822
|
onChange?: () => void;
|
|
12711
12823
|
}
|
|
12712
12824
|
declare class EditorState {
|
|
@@ -12740,6 +12852,28 @@ declare class EditorState {
|
|
|
12740
12852
|
* undo stack owns.
|
|
12741
12853
|
*/
|
|
12742
12854
|
theme: PptxTheme | undefined;
|
|
12855
|
+
/**
|
|
12856
|
+
* `ppt/viewProps.xml`, seeded from the load and kept in sync with the View >
|
|
12857
|
+
* Grid/Guides/Snap toggles (wave 4 #5: `viewPropertiesPatchFromPreferences`
|
|
12858
|
+
* writes the toggle state back in here). Deliberately outside
|
|
12859
|
+
* {@link EditorSnapshot}, like {@link theme}: PowerPoint does not undo a view
|
|
12860
|
+
* toggle, so this is session state that `saveEditorDocument` reads directly,
|
|
12861
|
+
* never something `pushHistory`/`commitChange` touches.
|
|
12862
|
+
*/
|
|
12863
|
+
viewProperties: PptxViewProperties | undefined;
|
|
12864
|
+
/**
|
|
12865
|
+
* Modern comment authors (`ppt/authors.xml`, Office 2021 `p188:author`),
|
|
12866
|
+
* seeded from the load. Read-only round-trip metadata, like {@link theme}:
|
|
12867
|
+
* the comment panel's @-mention typeahead (wave-4 B5) reads this to match
|
|
12868
|
+
* against, never something a binding edits or that undo restores.
|
|
12869
|
+
*/
|
|
12870
|
+
modernCommentAuthors: PptxModernCommentAuthor[];
|
|
12871
|
+
/**
|
|
12872
|
+
* Legacy comment authors (`ppt/commentAuthors.xml`), offered to the
|
|
12873
|
+
* @-mention typeahead alongside {@link modernCommentAuthors}. Same
|
|
12874
|
+
* read-only, non-undo lifecycle.
|
|
12875
|
+
*/
|
|
12876
|
+
commentAuthors: PptxCommentAuthor[];
|
|
12743
12877
|
/**
|
|
12744
12878
|
* Families the deck embeds, offered as their own font-dropdown group. Write
|
|
12745
12879
|
* through {@link adoptEmbeddedFontFamilies} so {@link embedFonts} is reseeded
|
|
@@ -12806,6 +12940,7 @@ declare class EditorState {
|
|
|
12806
12940
|
readonly animationOps: EditorAnimationController;
|
|
12807
12941
|
readonly inkOps: EditorInkController;
|
|
12808
12942
|
readonly masterOps: EditorMasterController;
|
|
12943
|
+
readonly masterCrud: EditorMasterCrudController;
|
|
12809
12944
|
readonly formatPainter: EditorFormatPainterController;
|
|
12810
12945
|
readonly equationOps: EditorEquationController;
|
|
12811
12946
|
constructor(deps: EditorStateDeps);
|
|
@@ -12813,6 +12948,15 @@ declare class EditorState {
|
|
|
12813
12948
|
get headerFooter(): PptxHeaderFooter;
|
|
12814
12949
|
get presentationProperties(): PptxPresentationProperties;
|
|
12815
12950
|
get customShows(): PptxCustomShow[];
|
|
12951
|
+
/** The colour picker's "Recent colours" row (`p:clrMru`), most-recent-first. */
|
|
12952
|
+
get mruColors(): string[];
|
|
12953
|
+
/**
|
|
12954
|
+
* Record a colour just picked in ANY colour picker (fill, line, text,
|
|
12955
|
+
* background, table cell, chart series, ...) into the recent-colours row
|
|
12956
|
+
* (wave-4 B6). Writes `presentationProperties.mruColors` OUTSIDE the undo
|
|
12957
|
+
* stack, like the view-preferences write-back.
|
|
12958
|
+
*/
|
|
12959
|
+
recordRecentColor(hex: string): void;
|
|
12816
12960
|
get canRedo(): boolean;
|
|
12817
12961
|
get selectedElementId(): string | null;
|
|
12818
12962
|
get selectedElement(): PptxElement | undefined;
|
|
@@ -12824,6 +12968,8 @@ declare class EditorState {
|
|
|
12824
12968
|
/** The loaded core handler, or null before a deck is open. Used by the
|
|
12825
12969
|
* Slides group for layout switching (`applyLayoutToSlide`). */
|
|
12826
12970
|
getHandler(): PptxHandler | null;
|
|
12971
|
+
/** Hand a rebuilt handler to the loader (see `EditorStateDeps.setHandler`). */
|
|
12972
|
+
adoptHandler(handler: PptxHandler): void;
|
|
12827
12973
|
/**
|
|
12828
12974
|
* The `p:sldSz` the next save should write, or undefined to leave the
|
|
12829
12975
|
* load-time dimensions alone. Slide size lives on the loader (it is not
|
|
@@ -12970,10 +13116,7 @@ interface EditorControllerDeps {
|
|
|
12970
13116
|
*/
|
|
12971
13117
|
getGridSize?(): number;
|
|
12972
13118
|
getSnapToShape?(): boolean;
|
|
12973
|
-
getGuides?(): readonly
|
|
12974
|
-
axis: 'h' | 'v';
|
|
12975
|
-
position: number;
|
|
12976
|
-
}[];
|
|
13119
|
+
getGuides?(): readonly SnapGuideInput[];
|
|
12977
13120
|
/**
|
|
12978
13121
|
* Transform inline-editor text at commit time (File > Options > Proofing
|
|
12979
13122
|
* AutoCorrect); identity when unset.
|
|
@@ -13403,7 +13546,20 @@ declare class PresentationLoader {
|
|
|
13403
13546
|
* `p:presentationPr`.
|
|
13404
13547
|
*/
|
|
13405
13548
|
viewProperties: PptxViewProperties | undefined;
|
|
13549
|
+
/** Write-protection verifier from `p:modifyVerifier` (`presentation.xml`). */
|
|
13550
|
+
modifyVerifier: PptxModifyVerifier | undefined;
|
|
13551
|
+
/**
|
|
13552
|
+
* Every compatibility warning the load (and any save/patch so far this
|
|
13553
|
+
* session) has raised, from `handler.getCompatibilityWarnings()`: unmodelled
|
|
13554
|
+
* markup round-tripped only via `rawXml`, an external image reference that
|
|
13555
|
+
* cannot be embedded, and so on. Feeds the compat-toast stack (wave 4 #3).
|
|
13556
|
+
*/
|
|
13557
|
+
compatibilityWarnings: PptxCompatibilityWarning[];
|
|
13406
13558
|
customShows: PptxCustomShow[];
|
|
13559
|
+
/** Modern comment authors (`ppt/authors.xml`, Office 2021 `p188:author`), for the @-mention typeahead (wave-4 B5). */
|
|
13560
|
+
modernCommentAuthors: PptxModernCommentAuthor[];
|
|
13561
|
+
/** Legacy comment authors (`ppt/commentAuthors.xml`), round-tripped and offered to the typeahead alongside the modern list. */
|
|
13562
|
+
commentAuthors: PptxCommentAuthor[];
|
|
13407
13563
|
coreProperties: PptxCoreProperties | undefined;
|
|
13408
13564
|
appProperties: PptxAppProperties | undefined;
|
|
13409
13565
|
customProperties: PptxCustomProperty[];
|
|
@@ -13467,6 +13623,12 @@ declare class PresentationLoader {
|
|
|
13467
13623
|
getLoadOptions: () => Pick<PptxHandlerLoadOptions, 'allowExternalImages'>;
|
|
13468
13624
|
/** Parse a `.pptx` buffer into reactive viewer state. */
|
|
13469
13625
|
load(raw: Uint8Array | ArrayBuffer, origin?: CollabLoadOrigin): Promise<void>;
|
|
13626
|
+
/**
|
|
13627
|
+
* Replace the live handler with one core rebuilt (master-view CRUD returns
|
|
13628
|
+
* a fresh package rather than a patch). Disposes the previous handler; the
|
|
13629
|
+
* Blob URLs stay valid because the media parts are unchanged.
|
|
13630
|
+
*/
|
|
13631
|
+
adoptHandler(next: PptxHandler): void;
|
|
13470
13632
|
/** Cancel in-flight loads, revoke Blob URLs, dispose the handler. */
|
|
13471
13633
|
dispose(): void;
|
|
13472
13634
|
}
|
|
@@ -13683,8 +13845,9 @@ interface EditingApi {
|
|
|
13683
13845
|
*
|
|
13684
13846
|
* The class owns the reactive per-element state map, the keyframes CSS, and the
|
|
13685
13847
|
* interactive / hover trigger-shape id sets; the controller stays pure. The
|
|
13686
|
-
* clock (timers, requestAnimationFrame) + DOM effects live in
|
|
13687
|
-
* {@link module:
|
|
13848
|
+
* clock (timers, requestAnimationFrame) + DOM effects live in the shared
|
|
13849
|
+
* {@link module:render/animation-playback-engine}, wired here with the local
|
|
13850
|
+
* `./animation-sound` player.
|
|
13688
13851
|
*
|
|
13689
13852
|
* NOTE: the editor / inspector animation PREVIEW still uses the older shared
|
|
13690
13853
|
* `buildClickGroups` model (see `AnimationsTab` / `editor-animation-controller`);
|
|
@@ -13788,6 +13951,14 @@ interface PresentationControllerDeps {
|
|
|
13788
13951
|
exit?(): void;
|
|
13789
13952
|
/** `p:showPr` "end with black slide"; defaults to on, like PowerPoint. */
|
|
13790
13953
|
getEndWithBlackSlide?(): boolean | undefined;
|
|
13954
|
+
/**
|
|
13955
|
+
* Slide Show > Set Up Show > "Loop continuously until 'Esc'"
|
|
13956
|
+
* (`p:presentationPr/@loopContinuously`), or the implicit loop of a kiosk
|
|
13957
|
+
* (`showType === 'kiosk'`) show. When true, advancing past the last slide
|
|
13958
|
+
* wraps to the show's first slide instead of raising the black end screen
|
|
13959
|
+
* or exiting.
|
|
13960
|
+
*/
|
|
13961
|
+
getLoopContinuously?(): boolean | undefined;
|
|
13791
13962
|
/**
|
|
13792
13963
|
* Membership of the custom show the user selected, or null/undefined for the
|
|
13793
13964
|
* whole deck. Restricts and reorders the show; hiding still wins over it.
|
|
@@ -13802,6 +13973,24 @@ interface PresentationControllerDeps {
|
|
|
13802
13973
|
* omitted opens unconditionally.
|
|
13803
13974
|
*/
|
|
13804
13975
|
confirmUrl?(url: string): boolean;
|
|
13976
|
+
/**
|
|
13977
|
+
* The `p:showPr/p:sldRg` authored slide-range restriction (deck opens into
|
|
13978
|
+
* slides `fromIndex..toIndex` rather than the whole deck), when no custom
|
|
13979
|
+
* show is active. `resolveShowSlideIndexes` applies hiding and the active
|
|
13980
|
+
* custom show first, same as `getActiveCustomShow`; this is the third,
|
|
13981
|
+
* lowest-precedence restriction.
|
|
13982
|
+
*/
|
|
13983
|
+
getAuthoredRange?(): AuthoredSlideRange | null | undefined;
|
|
13984
|
+
/**
|
|
13985
|
+
* The deck's custom shows, for `ppaction://customshow?id=<id>` (wave-4
|
|
13986
|
+
* B7): the runner resolves `id` against this list to find the show's
|
|
13987
|
+
* membership.
|
|
13988
|
+
*/
|
|
13989
|
+
getCustomShows?(): readonly PptxCustomShow[];
|
|
13990
|
+
/** Current active custom show id (or null for the whole deck), read back by `returnAfter`. */
|
|
13991
|
+
getActiveCustomShowId?(): string | null;
|
|
13992
|
+
/** Switch the active custom show (mirrors {@link getActiveCustomShow}'s source of truth). */
|
|
13993
|
+
setActiveCustomShowId?(id: string | null): void;
|
|
13805
13994
|
}
|
|
13806
13995
|
declare class PresentationController {
|
|
13807
13996
|
#private;
|
|
@@ -13853,6 +14042,17 @@ declare class PresentationController {
|
|
|
13853
14042
|
* wraps a backward press off the first slide.
|
|
13854
14043
|
*/
|
|
13855
14044
|
previousSlide(): void;
|
|
14045
|
+
/**
|
|
14046
|
+
* The deck index the show should OPEN on when entered from `activeIndex`
|
|
14047
|
+
* (wave-4 B1): `activeIndex` itself when the show includes it ("From
|
|
14048
|
+
* Current Slide"), otherwise the nearest show slide, per
|
|
14049
|
+
* `presentationEntrySlideIndex`. Every entry point (status-bar button,
|
|
14050
|
+
* ribbon From Current Slide, `setMode('present')`, the mobile toolbar) must
|
|
14051
|
+
* seed the presentation index with this instead of the raw active slide, or
|
|
14052
|
+
* a deck authored with a `p:showPr/p:sldRg` range (or a custom show that
|
|
14053
|
+
* excludes the active slide) opens on a slide the show does not include.
|
|
14054
|
+
*/
|
|
14055
|
+
entryIndex(activeIndex: number): number;
|
|
13856
14056
|
/** Home: the show's first slide, which is not slide 1 when that one is hidden. */
|
|
13857
14057
|
firstSlide(): void;
|
|
13858
14058
|
/** End: the show's last slide, skipping trailing hidden slides. */
|
|
@@ -13966,13 +14166,32 @@ declare class AutosaveRecoveryController {
|
|
|
13966
14166
|
dismiss(): void;
|
|
13967
14167
|
}
|
|
13968
14168
|
|
|
13969
|
-
/**
|
|
13970
|
-
|
|
13971
|
-
|
|
13972
|
-
|
|
13973
|
-
|
|
13974
|
-
|
|
14169
|
+
/**
|
|
14170
|
+
* CompatToastsState: the fidelity-loss toast stack shown after a load whose
|
|
14171
|
+
* parse reported `PptxCompatibilityWarning`s (unmodelled markup, external
|
|
14172
|
+
* image references, a chart workbook that could not be written back, and so
|
|
14173
|
+
* on). Svelte port of Vue's `useCompatibilityToasts` composable.
|
|
14174
|
+
*
|
|
14175
|
+
* Toasts do not auto-hide (they are load diagnostics, not transient
|
|
14176
|
+
* notices): they persist until dismissed, and `reset()` clears them for a
|
|
14177
|
+
* newly loaded document, called from the same load-commit hook that resets
|
|
14178
|
+
* the read-only recommendation.
|
|
14179
|
+
*/
|
|
14180
|
+
declare class CompatToastsState {
|
|
14181
|
+
#private;
|
|
14182
|
+
constructor(deps: {
|
|
14183
|
+
getWarnings(): readonly PptxCompatibilityWarning[];
|
|
14184
|
+
});
|
|
14185
|
+
/** Every toast this load produced, dismissed ones excluded, capped at the visible limit. */
|
|
14186
|
+
get visibleToasts(): CompatibilityWarningToast[];
|
|
14187
|
+
/** How many more toasts exist beyond the visible limit. */
|
|
14188
|
+
get overflowCount(): number;
|
|
14189
|
+
dismiss(id: string): void;
|
|
14190
|
+
dismissAll(): void;
|
|
14191
|
+
/** Clear the dismissal state for a newly loaded document. */
|
|
14192
|
+
reset(): void;
|
|
13975
14193
|
}
|
|
14194
|
+
|
|
13976
14195
|
/** Live viewer accessors + the panel-open hook the controller closes over. */
|
|
13977
14196
|
interface AiPanelControllerDeps {
|
|
13978
14197
|
getActiveSlideIndex(): number;
|
|
@@ -14052,6 +14271,38 @@ interface AiCluster {
|
|
|
14052
14271
|
readonly canvasHighlights: readonly AiCanvasHighlight[];
|
|
14053
14272
|
}
|
|
14054
14273
|
|
|
14274
|
+
/**
|
|
14275
|
+
* ReadOnlyRecommendationState: the Trust-Center-style banner shown when a
|
|
14276
|
+
* loaded deck asks to be opened read-only (`p:modifyVerifier`, or `docProps/
|
|
14277
|
+
* custom.xml`'s "Mark as Final"), and the lock that goes with it. Svelte port
|
|
14278
|
+
* of Vue's `useReadOnlyRecommendation` composable.
|
|
14279
|
+
*
|
|
14280
|
+
* `locked` is meant to be ANDed into the SAME `getEditable` gate the viewer
|
|
14281
|
+
* already reads (Protected View, collaboration read-only), not a second
|
|
14282
|
+
* editability mechanism. `reset()` is called from the load-commit hook
|
|
14283
|
+
* (`onContentApplied`) so a newly opened document is evaluated fresh even if
|
|
14284
|
+
* a previous one was unlocked.
|
|
14285
|
+
*/
|
|
14286
|
+
declare class ReadOnlyRecommendationState {
|
|
14287
|
+
#private;
|
|
14288
|
+
constructor(deps: {
|
|
14289
|
+
getModifyVerifier(): PptxModifyVerifier | undefined;
|
|
14290
|
+
getCustomProperties(): PptxCustomProperty[];
|
|
14291
|
+
});
|
|
14292
|
+
/** The current recommendation (`kind: null` when the deck asks for nothing). */
|
|
14293
|
+
get recommendation(): ReadOnlyRecommendation;
|
|
14294
|
+
/** Whether the banner should render. */
|
|
14295
|
+
get showBanner(): boolean;
|
|
14296
|
+
/** Whether editing should currently be blocked because of this recommendation. */
|
|
14297
|
+
get locked(): boolean;
|
|
14298
|
+
/** "Edit anyway": lifts the lock and hides the banner for this document. */
|
|
14299
|
+
editAnyway(): void;
|
|
14300
|
+
/** "Dismiss": hides the banner but leaves the lock (if any) in place. */
|
|
14301
|
+
dismiss(): void;
|
|
14302
|
+
/** Re-arm the recommendation for a newly loaded document. */
|
|
14303
|
+
reset(): void;
|
|
14304
|
+
}
|
|
14305
|
+
|
|
14055
14306
|
/**
|
|
14056
14307
|
* ViewerOptionsState: the runes wrapper around the shared File > Options
|
|
14057
14308
|
* store. Owns the reactive `options` snapshot (updated via the store's
|
|
@@ -14281,16 +14532,28 @@ declare class ViewerParityUiState {
|
|
|
14281
14532
|
readingViewOpen: boolean;
|
|
14282
14533
|
/** View tab > Outline View: the deck as one editable indented text document. */
|
|
14283
14534
|
outlineViewOpen: boolean;
|
|
14535
|
+
/** View > H/V Guides. Also seeded from the deck's `slideViewPr/@showGuides`. */
|
|
14284
14536
|
showGuides: boolean;
|
|
14537
|
+
/**
|
|
14538
|
+
* "Snap to shape" (View ▸ Snap Objects to Other Objects): the on-drag
|
|
14539
|
+
* alignment-guide snap. Also seeded from the deck's
|
|
14540
|
+
* `slideViewPr/@snapToObjects` (shared's `DeckViewPreferences.snapToObjects`
|
|
14541
|
+
* field; this binding's own historical name for the same toggle).
|
|
14542
|
+
*/
|
|
14285
14543
|
snapToShape: boolean;
|
|
14286
|
-
guides:
|
|
14287
|
-
|
|
14288
|
-
|
|
14289
|
-
|
|
14290
|
-
|
|
14544
|
+
guides: Guide[];
|
|
14545
|
+
/**
|
|
14546
|
+
* Also carries the deck-authored `snapToObjects`/`showGuides`/
|
|
14547
|
+
* `gridSpacingCx`/`gridSpacingCy` fields (`DeckViewPreferences`, a superset
|
|
14548
|
+
* of the base `ViewerPreferences` toggles), even though `showGuides` and
|
|
14549
|
+
* `snapToShape` above are the fields this binding actually reads: keeping
|
|
14550
|
+
* them here too is what lets `viewerPreferencesFromViewProperties` seed (and
|
|
14551
|
+
* `viewPropertiesPatchFromPreferences` later read back) a single object.
|
|
14552
|
+
*/
|
|
14553
|
+
preferences: DeckViewPreferences;
|
|
14291
14554
|
constructor(editor: EditorState);
|
|
14292
14555
|
syncAutosave(enabled: boolean): void;
|
|
14293
|
-
updatePreferences(next:
|
|
14556
|
+
updatePreferences(next: DeckViewPreferences, onAutosaveChange: (enabled: boolean) => void): void;
|
|
14294
14557
|
}
|
|
14295
14558
|
|
|
14296
14559
|
/**
|
|
@@ -14375,6 +14638,14 @@ interface ViewerStateBag {
|
|
|
14375
14638
|
readonly editor: EditorState;
|
|
14376
14639
|
readonly controller: EditorController;
|
|
14377
14640
|
readonly parityUi: ViewerParityUiState;
|
|
14641
|
+
/**
|
|
14642
|
+
* The deck's own `p:modifyVerifier` / "Mark as Final" read-only
|
|
14643
|
+
* recommendation and lock (wave 4 #2), mirroring the Protected View banner
|
|
14644
|
+
* mechanism rather than inventing a second one.
|
|
14645
|
+
*/
|
|
14646
|
+
readonly readOnlyRec: ReadOnlyRecommendationState;
|
|
14647
|
+
/** Fidelity-loss toast stack (wave 4 #3), fed by `loader.compatibilityWarnings`. */
|
|
14648
|
+
readonly compatToasts: CompatToastsState;
|
|
14378
14649
|
readonly chromeUi: ChromeUiState;
|
|
14379
14650
|
readonly findReplace: FindReplaceState;
|
|
14380
14651
|
readonly collab: CollaborationController;
|
package/dist/viewer/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { A as e, M as a,
|
|
2
|
-
var
|
|
1
|
+
import { A as e, M as a, c as s, d as t, f as i, gt as l, ht as S, i as n, j as o, l as v, m as d, n as p, o as b, p as g, r as c, s as x, t as m, u as w } from "../export-C0RzyaUT.js";
|
|
2
|
+
var T = a, A = o, P = e;
|
|
3
3
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
m as PowerPointViewer,
|
|
5
|
+
n as PresentationLoader,
|
|
6
|
+
T as Ribbon,
|
|
7
7
|
P as SlideCanvas,
|
|
8
8
|
c as ViewerState,
|
|
9
9
|
A as ViewerToolbar,
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
t as clampSlideIndex,
|
|
11
|
+
d as createSvelteAiBridge,
|
|
12
12
|
p as createViewerState,
|
|
13
13
|
b as exportAllSlidesToSvg,
|
|
14
14
|
x as exportAllSlidesToSvgBlobs,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
s as exportSlideAsSvg,
|
|
16
|
+
v as exportSlideToSvg,
|
|
17
|
+
w as exportSlideToSvgBlob,
|
|
18
|
+
i as fitScale,
|
|
19
19
|
g as resolveNavigationKey,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
S as zoomInPercent,
|
|
21
|
+
l as zoomOutPercent
|
|
22
22
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PresentationActionRunner } from 'pptx-viewer-shared';
|
|
2
|
+
import { PresentationControllerDeps } from './presentation-controller.svelte';
|
|
3
|
+
/** Set while a `ppaction://customshow?...&return=true` sub-show is running. */
|
|
4
|
+
export interface CustomShowReturnState {
|
|
5
|
+
previousId: string | null;
|
|
6
|
+
originIndex: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Builds the wave-4 B7 half of `PresentationActionRunner` (`lastViewed`,
|
|
10
|
+
* `customShow`, `openFile`, `openPresentation`, `playMedia`, `oleVerb`):
|
|
11
|
+
* split out of `PresentationController.handleStageClick` to keep that file
|
|
12
|
+
* under the repo's file-size budget. Pure glue over `deps` plus the small bit
|
|
13
|
+
* of cross-click state (`getLastViewedIndex`, `getCustomShowReturn` /
|
|
14
|
+
* `setCustomShowReturn`) the controller owns, since a `return=true` sub-show
|
|
15
|
+
* has to be restored by a LATER `advance()` call, not by this click itself.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildWaveFourActionCallbacks(deps: PresentationControllerDeps, getLastViewedIndex: () => number | undefined, setCustomShowReturn: (next: CustomShowReturnState | null) => void): Pick<PresentationActionRunner, 'lastViewed' | 'customShow' | 'openFile' | 'openPresentation' | 'playMedia' | 'oleVerb'>;
|
|
18
|
+
//# sourceMappingURL=action-runner-callbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-runner-callbacks.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/action-runner-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAWnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAEnF,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,0BAA0B,EAChC,kBAAkB,EAAE,MAAM,MAAM,GAAG,SAAS,EAC5C,mBAAmB,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,GAC/D,IAAI,CACN,wBAAwB,EACxB,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,GAAG,SAAS,CACvF,CAoDA"}
|
|
@@ -15,8 +15,9 @@ import { ElementAnimationState } from 'pptx-viewer-shared';
|
|
|
15
15
|
*
|
|
16
16
|
* The class owns the reactive per-element state map, the keyframes CSS, and the
|
|
17
17
|
* interactive / hover trigger-shape id sets; the controller stays pure. The
|
|
18
|
-
* clock (timers, requestAnimationFrame) + DOM effects live in
|
|
19
|
-
* {@link module:
|
|
18
|
+
* clock (timers, requestAnimationFrame) + DOM effects live in the shared
|
|
19
|
+
* {@link module:render/animation-playback-engine}, wired here with the local
|
|
20
|
+
* `./animation-sound` player.
|
|
20
21
|
*
|
|
21
22
|
* NOTE: the editor / inspector animation PREVIEW still uses the older shared
|
|
22
23
|
* `buildClickGroups` model (see `AnimationsTab` / `editor-animation-controller`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-playback.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/animation-playback.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"animation-playback.svelte.d.ts","sourceRoot":"","sources":["../../../src/viewer/presentation/animation-playback.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAkB,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAUjG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,qBAAqB;IACrC,oEAAoE;IACpE,QAAQ,IAAI,SAAS,GAAG,SAAS,CAAC;IAClC,wDAAwD;IACxD,oBAAoB,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC;IAC7C,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;CACrC;AAED,qBAAa,iBAAiB;;gBAkBjB,IAAI,EAAE,qBAAqB;IAevC,+EAA+E;IAC/E,IAAI,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAEtD;IAED,+DAA+D;IAC/D,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,uEAAuE;IACvE,IAAI,0BAA0B,IAAI,WAAW,CAAC,MAAM,CAAC,CAEpD;IAED,2DAA2D;IAC3D,IAAI,oBAAoB,IAAI,WAAW,CAAC,MAAM,CAAC,CAE9C;IAED,mEAAmE;IACnE,IAAI,UAAU,IAAI,OAAO,CAExB;IAUD,iEAAiE;IACjE,WAAW,IAAI,IAAI;IAcnB,2EAA2E;IAC3E,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAmD9C;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAclB,0EAA0E;IAC1E,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAYrD,mEAAmE;IACnE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAkB1C,mEAAmE;IACnE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAKrC"}
|