pptx-vue-viewer 2.13.2 → 2.14.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 +2 -0
- package/dist/AiChatPanel-B8QSMoWW.cjs +637 -0
- package/dist/AiChatPanel-B8QSMoWW.cjs.br +0 -0
- package/dist/AiChatPanel-B8QSMoWW.cjs.gz +0 -0
- package/dist/AiChatPanel-C9tDF9w2.js +640 -0
- package/dist/AiChatPanel-C9tDF9w2.js.br +0 -0
- package/dist/AiChatPanel-C9tDF9w2.js.gz +0 -0
- package/dist/{dist-CrzKtRxp.js → dist-BRLnKo1Y.js} +9103 -7402
- package/dist/dist-BRLnKo1Y.js.br +0 -0
- package/dist/dist-BRLnKo1Y.js.gz +0 -0
- package/dist/{dist-CNLUj2f9.cjs → dist-DXA9RFq7.cjs} +9033 -7297
- package/dist/dist-DXA9RFq7.cjs.br +0 -0
- package/dist/dist-DXA9RFq7.cjs.gz +0 -0
- package/dist/gif-encoder-DQpum4Kn.js +2 -0
- package/dist/gif-encoder-DQpum4Kn.js.br +0 -0
- package/dist/gif-encoder-DQpum4Kn.js.gz +0 -0
- package/dist/gif-encoder-FBevv6TW.cjs +2 -0
- package/dist/gif-encoder-FBevv6TW.cjs.br +0 -0
- package/dist/gif-encoder-FBevv6TW.cjs.gz +0 -0
- package/dist/{i18n-CX6HlMNo.cjs → i18n-Bm1FdvTe.cjs} +73 -2
- package/dist/i18n-Bm1FdvTe.cjs.br +0 -0
- package/dist/i18n-Bm1FdvTe.cjs.gz +0 -0
- package/dist/{i18n-BPiHp_k5.js → i18n-vGMsvpN1.js} +73 -2
- package/dist/i18n-vGMsvpN1.js.br +0 -0
- package/dist/i18n-vGMsvpN1.js.gz +0 -0
- package/dist/i18n.cjs +1 -1
- package/dist/i18n.cjs.br +0 -0
- package/dist/i18n.cjs.gz +0 -0
- package/dist/i18n.js +1 -1
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.br +0 -0
- package/dist/index.cjs.gz +0 -0
- package/dist/index.js +3 -3
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/internals.cjs +2 -2
- package/dist/internals.cjs.br +0 -0
- package/dist/internals.cjs.gz +0 -0
- package/dist/internals.d.ts +1 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +2 -2
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/pptx-vue-viewer.css +1 -1
- package/dist/pptx-vue-viewer.css.br +0 -0
- package/dist/pptx-vue-viewer.css.gz +0 -0
- package/dist/{useViewerSettingsDialog-BSsouEGv.cjs → useViewerSettingsDialog-CMHLo-CP.cjs} +10922 -6219
- package/dist/useViewerSettingsDialog-CMHLo-CP.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-CMHLo-CP.cjs.gz +0 -0
- package/dist/useViewerSettingsDialog-CfaQyiWy.js +33412 -0
- package/dist/useViewerSettingsDialog-CfaQyiWy.js.br +0 -0
- package/dist/useViewerSettingsDialog-CfaQyiWy.js.gz +0 -0
- package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
- package/dist/viewer/components/AccessibilityPanel.vue.d.ts.map +1 -1
- package/dist/viewer/components/ChartRenderer.vue.d.ts +2 -0
- package/dist/viewer/components/ChartRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/CommentMarkersOverlay.vue.d.ts +4 -3
- package/dist/viewer/components/CommentMarkersOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/ElementImageBox.vue.d.ts +2 -0
- package/dist/viewer/components/ElementImageBox.vue.d.ts.map +1 -1
- package/dist/viewer/components/ElementMediaBox.vue.d.ts +2 -0
- package/dist/viewer/components/ElementMediaBox.vue.d.ts.map +1 -1
- package/dist/viewer/components/ElementRenderer.vue.d.ts +8 -0
- package/dist/viewer/components/ElementRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/InlineTextEditor.vue.d.ts.map +1 -1
- package/dist/viewer/components/MobileMenuSheet.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationAnnotationOverlay.vue.d.ts +10 -1
- package/dist/viewer/components/PresentationAnnotationOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationAudienceOverlays.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationMode.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationToolbar.vue.d.ts +6 -0
- package/dist/viewer/components/PresentationToolbar.vue.d.ts.map +1 -1
- package/dist/viewer/components/SelectionOverlay.vue.d.ts +9 -20
- package/dist/viewer/components/SelectionOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/SelectionPane.vue.d.ts +13 -4
- package/dist/viewer/components/SelectionPane.vue.d.ts.map +1 -1
- package/dist/viewer/components/ShapeEffectOverlay.vue.d.ts.map +1 -1
- package/dist/viewer/components/SlideStage.vue.d.ts.map +1 -1
- package/dist/viewer/components/SlideTemplateGalleryDialog.vue.d.ts +27 -0
- package/dist/viewer/components/SlideTemplateGalleryDialog.vue.d.ts.map +1 -0
- package/dist/viewer/components/SlideTemplatePreview.vue.d.ts +20 -0
- package/dist/viewer/components/SlideTemplatePreview.vue.d.ts.map +1 -0
- package/dist/viewer/components/SmartArtRenderer.vue.d.ts +2 -0
- package/dist/viewer/components/SmartArtRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/TableRenderer.vue.d.ts +2 -0
- package/dist/viewer/components/TableRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ViewerSidePanels.vue.d.ts.map +1 -1
- package/dist/viewer/components/ZoomRenderer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ai/AiConversation.vue.d.ts.map +1 -1
- package/dist/viewer/components/ai/AiHistoryMenu.vue.d.ts +19 -0
- package/dist/viewer/components/ai/AiHistoryMenu.vue.d.ts.map +1 -0
- package/dist/viewer/components/ribbon/HomeSection.vue.d.ts +4 -0
- package/dist/viewer/components/ribbon/HomeSection.vue.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/InsertSection.vue.d.ts +2 -2
- package/dist/viewer/components/ribbon/InsertSection.vue.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/RibbonToolbar.vue.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/SlidesGroup.vue.d.ts +4 -0
- package/dist/viewer/components/ribbon/SlidesGroup.vue.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/file-section-actions.d.ts +2 -1
- package/dist/viewer/components/ribbon/file-section-actions.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/file-section-types.d.ts +2 -0
- package/dist/viewer/components/ribbon/file-section-types.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/ribbon-props-fixture.d.ts.map +1 -1
- package/dist/viewer/components/ribbon/ribbon-types.d.ts +9 -3
- package/dist/viewer/components/ribbon/ribbon-types.d.ts.map +1 -1
- package/dist/viewer/components/selection-overlay-geometry.d.ts +73 -0
- package/dist/viewer/components/selection-overlay-geometry.d.ts.map +1 -0
- package/dist/viewer/composables/ai/useAiChatHistory.d.ts +24 -0
- package/dist/viewer/composables/ai/useAiChatHistory.d.ts.map +1 -0
- package/dist/viewer/composables/collaboration-presence-view.d.ts +19 -3
- package/dist/viewer/composables/collaboration-presence-view.d.ts.map +1 -1
- package/dist/viewer/composables/deck-data.d.ts +7 -0
- package/dist/viewer/composables/deck-data.d.ts.map +1 -0
- package/dist/viewer/composables/element-style.d.ts.map +1 -1
- package/dist/viewer/composables/ribbon-props-actions.d.ts +3 -1
- package/dist/viewer/composables/ribbon-props-actions.d.ts.map +1 -1
- package/dist/viewer/composables/ribbon-props-state.d.ts +1 -0
- package/dist/viewer/composables/ribbon-props-state.d.ts.map +1 -1
- package/dist/viewer/composables/ribbon-props-types.d.ts +8 -4
- package/dist/viewer/composables/ribbon-props-types.d.ts.map +1 -1
- package/dist/viewer/composables/selection-gesture.d.ts +38 -0
- package/dist/viewer/composables/selection-gesture.d.ts.map +1 -0
- package/dist/viewer/composables/useCollaboration.d.ts.map +1 -1
- package/dist/viewer/composables/useCommandDispatch.d.ts +3 -2
- package/dist/viewer/composables/useCommandDispatch.d.ts.map +1 -1
- package/dist/viewer/composables/useElementInsertion.d.ts +3 -2
- package/dist/viewer/composables/useElementInsertion.d.ts.map +1 -1
- package/dist/viewer/composables/useExportWiring.d.ts +4 -1
- package/dist/viewer/composables/useExportWiring.d.ts.map +1 -1
- package/dist/viewer/composables/useSelectionPaneWiring.d.ts +6 -2
- package/dist/viewer/composables/useSelectionPaneWiring.d.ts.map +1 -1
- package/dist/viewer/composables/useSlideTemplateInsertion.d.ts +30 -0
- package/dist/viewer/composables/useSlideTemplateInsertion.d.ts.map +1 -0
- package/dist/viewer/composables/useViewerRibbonProps.d.ts +5 -1
- package/dist/viewer/composables/useViewerRibbonProps.d.ts.map +1 -1
- package/dist/viewer/composables/useViewerStore.d.ts +5 -0
- package/dist/viewer/composables/useViewerStore.d.ts.map +1 -0
- package/dist/viewer/composables/useViewerZoom.d.ts +3 -0
- package/dist/viewer/composables/useViewerZoom.d.ts.map +1 -1
- package/dist/viewer/index.cjs +1 -1
- package/dist/viewer/index.cjs.br +0 -0
- package/dist/viewer/index.cjs.gz +0 -0
- package/dist/viewer/index.js +3 -3
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/{viewer-CKGNkLtj.cjs → viewer-4-O3wMK_.cjs} +5925 -5522
- package/dist/viewer-4-O3wMK_.cjs.br +0 -0
- package/dist/viewer-4-O3wMK_.cjs.gz +0 -0
- package/dist/{viewer-BVGVczOF.js → viewer-smczRer1.js} +10499 -10105
- package/dist/viewer-smczRer1.js.br +0 -0
- package/dist/viewer-smczRer1.js.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-CtoBtOtB.cjs +0 -509
- package/dist/AiChatPanel-CtoBtOtB.cjs.br +0 -0
- package/dist/AiChatPanel-CtoBtOtB.cjs.gz +0 -0
- package/dist/AiChatPanel-xSeCJVHJ.js +0 -512
- package/dist/AiChatPanel-xSeCJVHJ.js.br +0 -0
- package/dist/AiChatPanel-xSeCJVHJ.js.gz +0 -0
- package/dist/dist-CNLUj2f9.cjs.br +0 -0
- package/dist/dist-CNLUj2f9.cjs.gz +0 -0
- package/dist/dist-CrzKtRxp.js.br +0 -0
- package/dist/dist-CrzKtRxp.js.gz +0 -0
- package/dist/gif-encoder-N24YqPHj.js +0 -2
- package/dist/gif-encoder-N24YqPHj.js.br +0 -0
- package/dist/gif-encoder-N24YqPHj.js.gz +0 -0
- package/dist/gif-encoder-xPQiQFxW.cjs +0 -2
- package/dist/gif-encoder-xPQiQFxW.cjs.br +0 -0
- package/dist/gif-encoder-xPQiQFxW.cjs.gz +0 -0
- package/dist/i18n-BPiHp_k5.js.br +0 -0
- package/dist/i18n-BPiHp_k5.js.gz +0 -0
- package/dist/i18n-CX6HlMNo.cjs.br +0 -0
- package/dist/i18n-CX6HlMNo.cjs.gz +0 -0
- package/dist/useViewerSettingsDialog-BSsouEGv.cjs.br +0 -0
- package/dist/useViewerSettingsDialog-BSsouEGv.cjs.gz +0 -0
- package/dist/useViewerSettingsDialog-CiRnHsjC.js +0 -28789
- package/dist/useViewerSettingsDialog-CiRnHsjC.js.br +0 -0
- package/dist/useViewerSettingsDialog-CiRnHsjC.js.gz +0 -0
- package/dist/viewer-BVGVczOF.js.br +0 -0
- package/dist/viewer-BVGVczOF.js.gz +0 -0
- package/dist/viewer-CKGNkLtj.cjs.br +0 -0
- package/dist/viewer-CKGNkLtj.cjs.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-props-fixture.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-props-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"ribbon-props-fixture.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-props-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAuH1F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AnimationApplyGroup, ChangeCaseMode, ToolbarActionId } from 'pptx-viewer-shared';
|
|
1
|
+
import { PptxCustomShow, PptxElement, PptxSlide, PptxSlideTransition, ShapeStyle, TextStyle } from 'pptx-viewer-core';
|
|
2
|
+
import { AnimationApplyGroup, ChangeCaseMode, InsertChartKind, SlideTemplateId, ToolbarActionId } from 'pptx-viewer-shared';
|
|
3
3
|
/** Viewer interaction mode. Mirrors React `ViewerMode`. */
|
|
4
4
|
export type ViewerMode = 'preview' | 'edit' | 'present' | 'master';
|
|
5
5
|
/** Ribbon tab id. Mirrors React `ToolbarSection`. */
|
|
@@ -127,7 +127,7 @@ export interface RibbonProps {
|
|
|
127
127
|
onAddTextBox: () => void;
|
|
128
128
|
onAddShape: () => void;
|
|
129
129
|
onAddTable: () => void;
|
|
130
|
-
onAddChart?: (
|
|
130
|
+
onAddChart?: (chartKind: InsertChartKind) => void;
|
|
131
131
|
onAddSmartArt: () => void;
|
|
132
132
|
onAddEquation: () => void;
|
|
133
133
|
onAddActionButton: (shapeType: string) => void;
|
|
@@ -171,6 +171,8 @@ export interface RibbonProps {
|
|
|
171
171
|
onExportPdf: () => void;
|
|
172
172
|
onExportVideo: () => void;
|
|
173
173
|
onExportGif: () => void;
|
|
174
|
+
/** Serialise the deck to pptx-viewer-json and download it (Export page card). */
|
|
175
|
+
onExportJson: () => void;
|
|
174
176
|
onPackageForSharing: () => void;
|
|
175
177
|
onOpenShareDialog?: () => void;
|
|
176
178
|
onSaveAsPptx: () => void;
|
|
@@ -191,6 +193,10 @@ export interface RibbonProps {
|
|
|
191
193
|
onTransformTextCase: (mode: ChangeCaseMode) => void;
|
|
192
194
|
onSetOverflowMenuOpen: (open: boolean) => void;
|
|
193
195
|
onInsertSlideFromLayout: (path: string, name?: string) => void;
|
|
196
|
+
/** Insert a pre-designed slide template after the active slide (Home ▸ Slide Templates). */
|
|
197
|
+
onInsertSlideFromTemplate?: (templateId: SlideTemplateId) => void;
|
|
198
|
+
/** Deck scheme map so template gallery previews show the deck's theme colours. */
|
|
199
|
+
templateScheme?: Record<string, string>;
|
|
194
200
|
onApplyLayout?: (path: string) => void;
|
|
195
201
|
onResetSlide?: () => void;
|
|
196
202
|
onAddSection?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-types.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACX,
|
|
1
|
+
{"version":3,"file":"ribbon-types.d.ts","sourceRoot":"","sources":["../../../../src/viewer/components/ribbon/ribbon-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { InteractionBox, ResizeHandleId } from 'pptx-viewer-shared';
|
|
2
|
+
/** A selected element's box, carrying the id the gesture reports back. */
|
|
3
|
+
export interface SelectedBox extends InteractionBox {
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
/** Live geometry emitted while (and after) a transform gesture. */
|
|
7
|
+
export interface TransformPayload {
|
|
8
|
+
id: string;
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
rotation: number;
|
|
14
|
+
}
|
|
15
|
+
/** Live value emitted while (and after) a shape-adjustment gesture. */
|
|
16
|
+
export interface AdjustPayload {
|
|
17
|
+
id: string;
|
|
18
|
+
value: number;
|
|
19
|
+
}
|
|
20
|
+
/** One rendered resize handle: its id plus where and how it draws. */
|
|
21
|
+
export interface HandleMeta {
|
|
22
|
+
id: ResizeHandleId;
|
|
23
|
+
cursor: string;
|
|
24
|
+
/** Fractional position within the box: 0 = left/top, 1 = right/bottom. */
|
|
25
|
+
fx: number;
|
|
26
|
+
fy: number;
|
|
27
|
+
}
|
|
28
|
+
/** The eight handles in render order, resolved from the shared table. */
|
|
29
|
+
export declare const HANDLE_LIST: readonly HandleMeta[];
|
|
30
|
+
/**
|
|
31
|
+
* True when the primary pointer is coarse (touch). Resolved once at module
|
|
32
|
+
* load and guarded for environments without `matchMedia` (SSR / tests). On
|
|
33
|
+
* touch the handle and knob hit areas are grown so a finger can actually grab
|
|
34
|
+
* them.
|
|
35
|
+
*/
|
|
36
|
+
export declare const IS_COARSE_POINTER: boolean;
|
|
37
|
+
/** The payload shape for a box, with rotation defaulted. */
|
|
38
|
+
export declare function payloadFromBox(id: string, box: InteractionBox): TransformPayload;
|
|
39
|
+
/** A plain copy of a box, used as a gesture's immutable start state. */
|
|
40
|
+
export declare function startBoxOf(box: SelectedBox): InteractionBox;
|
|
41
|
+
/**
|
|
42
|
+
* Inverse of the stage zoom.
|
|
43
|
+
*
|
|
44
|
+
* The overlay lives INSIDE the zoom-scaled stage, so anything sized in plain px
|
|
45
|
+
* shrinks with the zoom: at a typical fit zoom of ~0.7 a 10px handle painted
|
|
46
|
+
* only ~7px on screen and its reach inside the corner fell to ~3px, while the
|
|
47
|
+
* other four bindings keep a 10px SCREEN-px handle centred on the corner.
|
|
48
|
+
*/
|
|
49
|
+
export declare function inverseZoom(zoom: number): number;
|
|
50
|
+
/**
|
|
51
|
+
* Rotate-stem length in ELEMENT px for the current zoom.
|
|
52
|
+
*
|
|
53
|
+
* The stem is a constant 24 SCREEN px in every binding. Vue used a flat 24
|
|
54
|
+
* element px, so at a mobile fit zoom of ~0.3 the knob sat only ~7 screen px
|
|
55
|
+
* above the top edge and the (correctly sized) N resize handle covered it,
|
|
56
|
+
* swallowing the rotate press entirely.
|
|
57
|
+
*/
|
|
58
|
+
export declare function stemLength(zoom: number): number;
|
|
59
|
+
/** Absolute placement of the selection rectangle itself. */
|
|
60
|
+
export declare function boxStyle(box: SelectedBox): Record<string, string>;
|
|
61
|
+
/** Placement + cursor for one resize handle on a given box. */
|
|
62
|
+
export declare function handleStyle(meta: HandleMeta, box: SelectedBox): Record<string, string>;
|
|
63
|
+
/** The vertical stem connecting the box to the rotate knob. */
|
|
64
|
+
export declare function rotateStemStyle(box: SelectedBox, zoom: number): Record<string, string>;
|
|
65
|
+
/** The rotate knob at the top of the stem. */
|
|
66
|
+
export declare function rotateKnobStyle(box: SelectedBox, zoom: number): Record<string, string>;
|
|
67
|
+
/** Placement + cursor for the shape-adjustment diamond, if the shape has one. */
|
|
68
|
+
export declare function adjustHandleStyle(descriptor: {
|
|
69
|
+
left: number;
|
|
70
|
+
top: number;
|
|
71
|
+
cursor: string;
|
|
72
|
+
} | null): Record<string, string>;
|
|
73
|
+
//# sourceMappingURL=selection-overlay-geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-overlay-geometry.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/selection-overlay-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzE,0EAA0E;AAC1E,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,EAAE,EAAE,MAAM,CAAC;CACX;AAED,mEAAmE;AACnE,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACd;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACX;AAED,yEAAyE;AACzE,eAAO,MAAM,WAAW,EAAE,SAAS,UAAU,EAG1C,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAC4C,CAAC;AAE7E,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,gBAAgB,CAShF;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjE;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtF;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtF;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKtF;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAChC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PptxAiChatStore, PptxAiChatSummary, PptxAiUIMessage } from 'pptx-viewer-shared/ai';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
export interface UseAiChatHistoryInput {
|
|
4
|
+
deckId: string;
|
|
5
|
+
/** The live transcript owned by `useChat` (via `useAiConversation`). */
|
|
6
|
+
messages: Ref<PptxAiUIMessage[]>;
|
|
7
|
+
/** Replace the transcript (drives `useChat`'s message ref). */
|
|
8
|
+
setMessages(messages: PptxAiUIMessage[]): void;
|
|
9
|
+
/** Injectable for tests; defaults to the shared IndexedDB-first store. */
|
|
10
|
+
store?: PptxAiChatStore;
|
|
11
|
+
/** Localized fallback title for chats without user text yet. */
|
|
12
|
+
untitledLabel?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface UseAiChatHistoryResult {
|
|
15
|
+
chats: Ref<PptxAiChatSummary[]>;
|
|
16
|
+
activeChatId: Ref<string>;
|
|
17
|
+
refresh(): Promise<void>;
|
|
18
|
+
newChat(): void;
|
|
19
|
+
resumeChat(id: string): Promise<void>;
|
|
20
|
+
deleteChat(id: string): Promise<void>;
|
|
21
|
+
clearCurrent(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare function useAiChatHistory(input: UseAiChatHistoryInput): UseAiChatHistoryResult;
|
|
24
|
+
//# sourceMappingURL=useAiChatHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAiChatHistory.d.ts","sourceRoot":"","sources":["../../../../src/viewer/composables/ai/useAiChatHistory.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,QAAQ,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;IACjC,+DAA+D;IAC/D,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAC/C,0EAA0E;IAC1E,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAChC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,YAAY,IAAI,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAuCrF"}
|
|
@@ -6,10 +6,26 @@ export declare function readBound(source: Ref<number> | number | undefined): num
|
|
|
6
6
|
export interface PresenceProjection {
|
|
7
7
|
presences: RemotePresence[];
|
|
8
8
|
cursors: RemoteCursor[];
|
|
9
|
+
/**
|
|
10
|
+
* False when nothing visible changed, in which case both arrays are the SAME
|
|
11
|
+
* references returned last time and the caller should skip its `ref` writes.
|
|
12
|
+
*/
|
|
13
|
+
changed: boolean;
|
|
9
14
|
}
|
|
10
15
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
16
|
+
* Build a memoising projection from a raw awareness state map to the Vue
|
|
17
|
+
* collaboration view-models. Cursors are limited to peers on `localActiveSlide`.
|
|
18
|
+
*
|
|
19
|
+
* Stateful (rather than the pure function this used to be) because awareness
|
|
20
|
+
* fires on every peer heartbeat and on our own local writes, none of which
|
|
21
|
+
* necessarily change anything a user can see. Assigning a fresh array to a
|
|
22
|
+
* `ref` triggers regardless, so an idle room re-rendered the cursor overlay on
|
|
23
|
+
* a fixed interval. The shared `createPresenceProjector` decides that once for
|
|
24
|
+
* every binding; this only adds the Vue-specific `RemotePresence` mapping on
|
|
25
|
+
* top, and reuses the previous mapping when the projector reports no change.
|
|
13
26
|
*/
|
|
14
|
-
export declare function
|
|
27
|
+
export declare function createPresenceProjection(): {
|
|
28
|
+
project: (states: Map<number, Record<string, unknown>>, selfId: number, width: number, height: number, localActiveSlide: number) => PresenceProjection;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
};
|
|
15
31
|
//# sourceMappingURL=collaboration-presence-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collaboration-presence-view.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/collaboration-presence-view.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAM1E;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"collaboration-presence-view.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/collaboration-presence-view.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAM1E;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,IAAI;IAC3C,OAAO,EAAE,CACR,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,KACpB,kBAAkB,CAAC;IACxB,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,CAgCA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PptxData } from 'pptx-viewer-core';
|
|
2
|
+
import { UseLoadContentResult } from './useLoadContent';
|
|
3
|
+
/** The subset of `useLoadContent`'s refs a deck snapshot reads. */
|
|
4
|
+
export type DeckDataSource = Pick<UseLoadContentResult, 'slides' | 'canvasSize' | 'theme' | 'sections' | 'presentationProperties' | 'customProperties' | 'coreProperties' | 'appProperties'>;
|
|
5
|
+
/** Snapshot the live deck refs into a `PptxData` for serialization. */
|
|
6
|
+
export declare function readDeckData(deck: DeckDataSource): PptxData;
|
|
7
|
+
//# sourceMappingURL=deck-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deck-data.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/deck-data.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG,IAAI,CAChC,oBAAoB,EAClB,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,UAAU,GACV,wBAAwB,GACxB,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,CACjB,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAY3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-style.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/element-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"element-style.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/element-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoBhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAKzC;;;;;;;;;;GAUG;AAMH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,EAAE,EAAE,WAAW,EACf,eAAe,CAAC,EAAE,UAAU,EAM5B,YAAY,CAAC,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,OAAO,GACtB,aAAa,CA0Jf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,aAAa,CAShE;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAC1B,EAAE,EAAE,WAAW,EACf,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -24,7 +24,7 @@ export declare function buildRibbonPropsActions(input: UseRibbonPropsInput): {
|
|
|
24
24
|
onAddTextBox: () => void;
|
|
25
25
|
onAddShape: () => void;
|
|
26
26
|
onAddTable: () => void;
|
|
27
|
-
onAddChart: (
|
|
27
|
+
onAddChart: (chartKind: import('pptx-viewer-shared').InsertChartKind) => void;
|
|
28
28
|
onAddSmartArt: () => void;
|
|
29
29
|
onAddEquation: () => void;
|
|
30
30
|
onAddActionButton: (shapeType: string) => void;
|
|
@@ -65,6 +65,7 @@ export declare function buildRibbonPropsActions(input: UseRibbonPropsInput): {
|
|
|
65
65
|
onExportPdf: () => void;
|
|
66
66
|
onExportVideo: () => void;
|
|
67
67
|
onExportGif: () => void;
|
|
68
|
+
onExportJson: () => void;
|
|
68
69
|
onPackageForSharing: () => undefined;
|
|
69
70
|
onOpenShareDialog: () => void;
|
|
70
71
|
onSaveAsPptx: () => undefined;
|
|
@@ -82,6 +83,7 @@ export declare function buildRibbonPropsActions(input: UseRibbonPropsInput): {
|
|
|
82
83
|
onTransformTextCase: (mode: import('pptx-viewer-shared').ChangeCaseMode) => void;
|
|
83
84
|
onSetOverflowMenuOpen: (o: boolean) => void;
|
|
84
85
|
onInsertSlideFromLayout: (path: string, name?: string) => undefined;
|
|
86
|
+
onInsertSlideFromTemplate: (templateId: import('pptx-viewer-shared').SlideTemplateId) => void;
|
|
85
87
|
onSetActiveCustomShowId: (id: string | null) => void;
|
|
86
88
|
onCreateCustomShow: () => void;
|
|
87
89
|
onRenameActiveCustomShow: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-props-actions.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-actions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;mBAEjD,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ;;;;;;;+BAqB7B,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK;;;;;;;2BAWrC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK;;;;;;;;;;;;yBAoBjC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK;2BAG3B,MAAM;2BAGN,MAAM;kCAGC,OAAO;sCAGH,OAAO;6BAGhB,OAAO;+BAGL,OAAO;+BAGP,OAAO;+BAGP,OAAO;gCAGN,OAAO;;4BAIX,MAAM;iCAMD,MAAM;;;;;;uBAUhB,MAAM
|
|
1
|
+
{"version":3,"file":"ribbon-props-actions.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-actions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;mBAEjD,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ;;;;;;;+BAqB7B,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK;;;;;;;2BAWrC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK;;;;;;;;;;;;yBAoBjC,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK;2BAG3B,MAAM;2BAGN,MAAM;kCAGC,OAAO;sCAGH,OAAO;6BAGhB,OAAO;+BAGL,OAAO;+BAGP,OAAO;+BAGP,OAAO;gCAGN,OAAO;;4BAIX,MAAM;iCAMD,MAAM;;;;;;uBAUhB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAmDE,OAAO;oCAGF,MAAM,SAAS,MAAM;;kCAGvB,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE5C"}
|
|
@@ -41,6 +41,7 @@ export declare function buildRibbonPropsState(input: UseRibbonPropsInput): {
|
|
|
41
41
|
snapToShape: boolean;
|
|
42
42
|
isOverflowMenuOpen: boolean;
|
|
43
43
|
layoutOptions: import('pptx-viewer-core').PptxLayoutOption[];
|
|
44
|
+
templateScheme: Record<string, string>;
|
|
44
45
|
customShows: import('pptx-viewer-core').PptxCustomShow[];
|
|
45
46
|
activeCustomShowId: string | null;
|
|
46
47
|
isCurrentSlideInActiveShow: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-props-state.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ribbon-props-state.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD/D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AlignEdge, DistributeAxis } from 'pptx-viewer-shared';
|
|
3
|
-
import { ComputedRef, Ref } from 'vue';
|
|
1
|
+
import { PptxComment, PptxCustomShow, PptxElement, PptxLayoutOption, PptxSaveFormat, PptxSlide, PptxTheme } from 'pptx-viewer-core';
|
|
2
|
+
import { AlignEdge, DistributeAxis, InsertChartKind, SlideTemplateId } from 'pptx-viewer-shared';
|
|
3
|
+
import { ComputedRef, Ref, ShallowRef } from 'vue';
|
|
4
4
|
import { ShapePreset } from '../components/EditorToolbar.vue';
|
|
5
5
|
import { DrawingTool, RibbonProps, SupportedShapeType, TableCellEditorState, ToolbarSection, ViewerMode } from '../components/ribbon/ribbon-types';
|
|
6
6
|
import { UseCollaborationResult } from './useCollaboration';
|
|
@@ -40,6 +40,8 @@ export interface UseRibbonPropsStateInput {
|
|
|
40
40
|
snapToShape: Ref<boolean>;
|
|
41
41
|
overflowOpen: Ref<boolean>;
|
|
42
42
|
layoutOptions: Ref<PptxLayoutOption[]>;
|
|
43
|
+
/** Loaded deck theme; template gallery previews resolve scheme colours against it. */
|
|
44
|
+
theme: ShallowRef<PptxTheme | undefined>;
|
|
43
45
|
customShows: Ref<PptxCustomShow[]>;
|
|
44
46
|
activeCustomShowId: Ref<string | null>;
|
|
45
47
|
isCurrentSlideInActiveShow: ComputedRef<boolean>;
|
|
@@ -97,7 +99,7 @@ export interface UseRibbonPropsActionsInput {
|
|
|
97
99
|
addText: () => void;
|
|
98
100
|
addShape: (preset: ShapePreset) => void;
|
|
99
101
|
addTable: () => void;
|
|
100
|
-
addChart: (
|
|
102
|
+
addChart: (chartKind: InsertChartKind) => void;
|
|
101
103
|
addField: (fieldType: string, value?: string) => void;
|
|
102
104
|
addActionButton: (shapeType: string) => void;
|
|
103
105
|
openImagePicker: () => void;
|
|
@@ -127,6 +129,7 @@ export interface UseRibbonPropsActionsInput {
|
|
|
127
129
|
onExportPdf: () => void;
|
|
128
130
|
onExportWebm: () => void;
|
|
129
131
|
onExportGif: () => void;
|
|
132
|
+
onExportJson: () => void;
|
|
130
133
|
downloadAs: (format: PptxSaveFormat) => Promise<void>;
|
|
131
134
|
packageForSharing: () => Promise<void>;
|
|
132
135
|
onCopySlideAsImage: () => Promise<void>;
|
|
@@ -134,6 +137,7 @@ export interface UseRibbonPropsActionsInput {
|
|
|
134
137
|
ribbonUpdateTextStyle: RibbonProps['onUpdateTextStyle'];
|
|
135
138
|
ribbonUpdateTextCase: RibbonProps['onTransformTextCase'];
|
|
136
139
|
insertSlideFromLayout: (layoutPath: string, layoutName?: string) => Promise<void>;
|
|
140
|
+
insertSlideFromTemplate: (templateId: SlideTemplateId) => void;
|
|
137
141
|
onRenameActiveCustomShow: () => void;
|
|
138
142
|
onDeleteActiveCustomShow: () => void;
|
|
139
143
|
onToggleCurrentSlideInActiveShow: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ribbon-props-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,
|
|
1
|
+
{"version":3,"file":"ribbon-props-types.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/ribbon-props-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ResizeHandleId } from 'pptx-viewer-shared';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
import { AdjustPayload, SelectedBox, TransformPayload } from '../components/selection-overlay-geometry';
|
|
4
|
+
import { ShapeAdjustmentHandleDescriptor } from './shape-adjustment';
|
|
5
|
+
/** Which of the four gestures is running. */
|
|
6
|
+
export type GestureKind = 'move' | 'resize' | 'rotate' | 'adjust';
|
|
7
|
+
/** What the overlay must supply for the gesture to run. */
|
|
8
|
+
export interface SelectionGestureContext {
|
|
9
|
+
/** Current stage zoom; raw pointer deltas are screen px and divide by it. */
|
|
10
|
+
zoom: () => number;
|
|
11
|
+
/** The live box for an id, or undefined once it stops being selected. */
|
|
12
|
+
boxForId: (id: string) => SelectedBox | undefined;
|
|
13
|
+
/** The shape-adjustment descriptor for an id, or null. */
|
|
14
|
+
adjustDescriptorFor: (id: string) => ShapeAdjustmentHandleDescriptor | null;
|
|
15
|
+
/** The overlay root, for mapping client coords into element space. */
|
|
16
|
+
rootEl: Ref<HTMLElement | null>;
|
|
17
|
+
onTransformStart: (payload: {
|
|
18
|
+
id: string;
|
|
19
|
+
}) => void;
|
|
20
|
+
onTransform: (payload: TransformPayload) => void;
|
|
21
|
+
onTransformEnd: (payload: TransformPayload) => void;
|
|
22
|
+
onAdjustStart: (payload: {
|
|
23
|
+
id: string;
|
|
24
|
+
}) => void;
|
|
25
|
+
onAdjust: (payload: AdjustPayload) => void;
|
|
26
|
+
onAdjustEnd: (payload: AdjustPayload) => void;
|
|
27
|
+
/** A tap (no drag) on an already-selected element: enter inline edit. */
|
|
28
|
+
onRequestEdit: (payload: {
|
|
29
|
+
id: string;
|
|
30
|
+
}) => void;
|
|
31
|
+
}
|
|
32
|
+
/** The handlers `SelectionOverlay.vue` binds to its handles. */
|
|
33
|
+
export interface SelectionGesture {
|
|
34
|
+
beginGesture: (kind: GestureKind, id: string, event: PointerEvent, handle?: ResizeHandleId) => void;
|
|
35
|
+
beginAdjust: (id: string, event: PointerEvent) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare function useSelectionGesture(context: SelectionGestureContext): SelectionGesture;
|
|
38
|
+
//# sourceMappingURL=selection-gesture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-gesture.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/selection-gesture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAE1E,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAsBlE,2DAA2D;AAC3D,MAAM,WAAW,uBAAuB;IACvC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,yEAAyE;IACzE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,0DAA0D;IAC1D,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,+BAA+B,GAAG,IAAI,CAAC;IAC5E,sEAAsE;IACtE,MAAM,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChC,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpD,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,yEAAyE;IACzE,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACjD;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,CACb,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,cAAc,KACnB,IAAI,CAAC;IACV,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAkLtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCollaboration.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EAEtB,cAAc,EACd,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"useCollaboration.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCollaboration.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EAEtB,cAAc,EACd,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA8XzF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TextStyle } from 'pptx-viewer-core';
|
|
2
|
+
import { InsertChartKind } from 'pptx-viewer-shared';
|
|
2
3
|
import { Ref } from 'vue';
|
|
3
4
|
import { ShapePreset } from '../components/EditorToolbar.vue';
|
|
4
5
|
/**
|
|
@@ -11,7 +12,7 @@ export interface CommandDispatchActions {
|
|
|
11
12
|
addText: () => void;
|
|
12
13
|
addShape: (preset: ShapePreset) => void;
|
|
13
14
|
addTable: () => void;
|
|
14
|
-
addChart: (
|
|
15
|
+
addChart: (chartKind: InsertChartKind) => void;
|
|
15
16
|
openImagePicker: () => void;
|
|
16
17
|
openMediaPicker: () => void;
|
|
17
18
|
showInsertSmartArt: Ref<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCommandDispatch.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCommandDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useCommandDispatch.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useCommandDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACtC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACxC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,wBAAwB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,wBAAwB,CAiG5F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PptxHandler, PptxSlide } from 'pptx-viewer-core';
|
|
2
|
+
import { InsertChartKind } from 'pptx-viewer-shared';
|
|
2
3
|
import { Ref, ShallowRef } from 'vue';
|
|
3
4
|
import { ShapePreset } from '../components/EditorToolbar.vue';
|
|
4
5
|
import { EditorOperations } from './useEditorOperations';
|
|
@@ -20,7 +21,7 @@ export interface UseElementInsertionResult {
|
|
|
20
21
|
addText: () => void;
|
|
21
22
|
addShape: (preset: ShapePreset) => void;
|
|
22
23
|
addTable: () => void;
|
|
23
|
-
addChart: (
|
|
24
|
+
addChart: (chartKind: InsertChartKind) => void;
|
|
24
25
|
addField: (fieldType: string, value?: string) => void;
|
|
25
26
|
openImagePicker: () => void;
|
|
26
27
|
onImageFileSelected: (e: Event) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useElementInsertion.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useElementInsertion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"useElementInsertion.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useElementInsertion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAO5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACxC,UAAU,EAAE,GAAG,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,GAAG,EAAE,gBAAgB,CAAC;IACtB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,yBAAyB;IACzC,aAAa,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5C,aAAa,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CAmO9F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PptxSaveFormat, PptxSlide } from 'pptx-viewer-core';
|
|
1
|
+
import { PptxData, PptxSaveFormat, PptxSlide } from 'pptx-viewer-core';
|
|
2
2
|
import { CanvasSize } from 'pptx-viewer-shared';
|
|
3
3
|
import { ComputedRef, Ref } from 'vue';
|
|
4
4
|
import { UseExportResult } from './useExport';
|
|
@@ -13,6 +13,8 @@ export interface UseExportWiringInput {
|
|
|
13
13
|
activeSlideIndex: Ref<number>;
|
|
14
14
|
saveAs: (format: PptxSaveFormat) => Promise<Uint8Array>;
|
|
15
15
|
fileName?: () => string | undefined;
|
|
16
|
+
/** Snapshot the live deck (slides + presentation-level state) for JSON export. */
|
|
17
|
+
getDeckData: () => PptxData;
|
|
16
18
|
}
|
|
17
19
|
export interface UseExportWiringResult {
|
|
18
20
|
exportStageRef: Ref<HTMLElement | null>;
|
|
@@ -26,6 +28,7 @@ export interface UseExportWiringResult {
|
|
|
26
28
|
onExportPdf: () => void;
|
|
27
29
|
onExportGif: () => void;
|
|
28
30
|
onExportWebm: () => void;
|
|
31
|
+
onExportJson: () => void;
|
|
29
32
|
downloadAs: (format: PptxSaveFormat) => Promise<void>;
|
|
30
33
|
packageForSharing: () => Promise<void>;
|
|
31
34
|
onCopySlideAsImage: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExportWiring.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useExportWiring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useExportWiring.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useExportWiring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACpC,0FAA0F;IAC1F,YAAY,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,kFAAkF;IAClF,WAAW,EAAE,MAAM,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACrC,cAAc,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACxC,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9D,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAmHlF"}
|
|
@@ -15,11 +15,15 @@ export interface UseSelectionPaneWiringResult {
|
|
|
15
15
|
from: number;
|
|
16
16
|
to: number;
|
|
17
17
|
}) => void;
|
|
18
|
+
onSelectionPaneRename: (payload: {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string | undefined;
|
|
21
|
+
}) => void;
|
|
18
22
|
}
|
|
19
23
|
/**
|
|
20
24
|
* useSelectionPaneWiring: View ▸ Selection Pane (object list + z-order +
|
|
21
|
-
* visibility over the active slide's elements). Extracted verbatim
|
|
22
|
-
* `PowerPointViewer.vue`.
|
|
25
|
+
* visibility + rename over the active slide's elements). Extracted verbatim
|
|
26
|
+
* from `PowerPointViewer.vue`.
|
|
23
27
|
*/
|
|
24
28
|
export declare function useSelectionPaneWiring(input: UseSelectionPaneWiringInput): UseSelectionPaneWiringResult;
|
|
25
29
|
//# sourceMappingURL=useSelectionPaneWiring.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectionPaneWiring.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useSelectionPaneWiring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,2BAA2B;IAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC3D,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,GAAG,EAAE,gBAAgB,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC5C,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,+BAA+B,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,sBAAsB,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useSelectionPaneWiring.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useSelectionPaneWiring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,2BAA2B;IAC3C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC3D,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAChD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,GAAG,EAAE,gBAAgB,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC5C,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,+BAA+B,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,sBAAsB,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE,qBAAqB,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,2BAA2B,GAChC,4BAA4B,CAqC9B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PptxSlide, PptxTheme } from 'pptx-viewer-core';
|
|
2
|
+
import { SlideTemplateId } from 'pptx-viewer-shared';
|
|
3
|
+
import { Ref, ShallowRef } from 'vue';
|
|
4
|
+
export interface UseSlideTemplateInsertionInput {
|
|
5
|
+
canvasSize: Ref<{
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}>;
|
|
9
|
+
slides: Ref<PptxSlide[]>;
|
|
10
|
+
activeSlideIndex: Ref<number>;
|
|
11
|
+
pushHistory: () => void;
|
|
12
|
+
/** Loaded deck theme; template colours resolve against its colour scheme. */
|
|
13
|
+
theme: ShallowRef<PptxTheme | undefined>;
|
|
14
|
+
}
|
|
15
|
+
export interface UseSlideTemplateInsertionResult {
|
|
16
|
+
/** Insert the given slide template directly after the active slide. */
|
|
17
|
+
insertSlideFromTemplate: (templateId: SlideTemplateId) => void;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* useSlideTemplateInsertion: Home-tab "Slide Templates" gallery insert path.
|
|
21
|
+
*
|
|
22
|
+
* Builds the complete draft slide via the shared catalogue
|
|
23
|
+
* (`buildSlideTemplateSlide`), themed with the deck's colour scheme, and
|
|
24
|
+
* splices it after the active slide. Mirrors React's
|
|
25
|
+
* `handleInsertSlideFromTemplate` and follows the same history contract as
|
|
26
|
+
* `useElementInsertion.insertSlideFromLayout`: `pushHistory()` BEFORE the
|
|
27
|
+
* mutation, so the insert is undoable through the normal history path.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useSlideTemplateInsertion(input: UseSlideTemplateInsertionInput): UseSlideTemplateInsertionResult;
|
|
30
|
+
//# sourceMappingURL=useSlideTemplateInsertion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlideTemplateInsertion.d.ts","sourceRoot":"","sources":["../../../src/viewer/composables/useSlideTemplateInsertion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAE3C,MAAM,WAAW,8BAA8B;IAC9C,UAAU,EAAE,GAAG,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,6EAA6E;IAC7E,KAAK,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC/C,uEAAuE;IACvE,uBAAuB,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,8BAA8B,GACnC,+BAA+B,CAuBjC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PptxCustomShow, PptxElement, PptxLayoutOption, PptxSlide } from 'pptx-viewer-core';
|
|
1
|
+
import { PptxCustomShow, PptxElement, PptxLayoutOption, PptxSlide, PptxTheme } from 'pptx-viewer-core';
|
|
2
2
|
import { ComputedRef, Ref, ShallowRef } from 'vue';
|
|
3
3
|
import { RibbonProps } from '../components/ribbon/ribbon-types';
|
|
4
4
|
import { UseRibbonPropsInput } from './ribbon-props-types';
|
|
@@ -23,11 +23,14 @@ import { UseSelectionModelResult } from './useSelectionModel';
|
|
|
23
23
|
import { UseSelectionPaneWiringResult } from './useSelectionPaneWiring';
|
|
24
24
|
import { UseSignatureWorkflowResult } from './useSignatureWorkflow';
|
|
25
25
|
import { UseSlideShowSettingsResult } from './useSlideShowSettings';
|
|
26
|
+
import { UseSlideTemplateInsertionResult } from './useSlideTemplateInsertion';
|
|
26
27
|
import { UseVersionHistoryWiringResult } from './useVersionHistoryWiring';
|
|
27
28
|
/** The subset of `useLoadContent`'s result the ribbon reads. */
|
|
28
29
|
export interface RibbonDeckInput {
|
|
29
30
|
layoutOptions: ShallowRef<PptxLayoutOption[]>;
|
|
30
31
|
customShows: ShallowRef<PptxCustomShow[]>;
|
|
32
|
+
/** Loaded deck theme; template gallery previews resolve scheme colours against it. */
|
|
33
|
+
theme: ShallowRef<PptxTheme | undefined>;
|
|
31
34
|
}
|
|
32
35
|
/** Undo/redo surface (`useEditorHistory`), narrowed to what the ribbon needs. */
|
|
33
36
|
export interface RibbonHistoryInput {
|
|
@@ -91,6 +94,7 @@ export interface UseViewerRibbonPropsOptions {
|
|
|
91
94
|
ribbonActions: UseRibbonActionsResult;
|
|
92
95
|
drag: UseElementDragResult;
|
|
93
96
|
insertion: UseElementInsertionResult;
|
|
97
|
+
templateInsertion: UseSlideTemplateInsertionResult;
|
|
94
98
|
insertDialogs: UseInsertElementDialogsResult;
|
|
95
99
|
exporter: UseExportWiringResult;
|
|
96
100
|
printer: UsePrintResult;
|