pptx-react-viewer 1.25.5 → 2.0.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/README.md +1 -1
- package/dist/AiChatPanel-BRGQCYZM.mjs +1087 -0
- package/dist/AiChatPanel-BRGQCYZM.mjs.br +0 -0
- package/dist/AiChatPanel-BRGQCYZM.mjs.gz +0 -0
- package/dist/AiChatPanel-PW5OT25Z.js +1089 -0
- package/dist/AiChatPanel-PW5OT25Z.js.br +0 -0
- package/dist/AiChatPanel-PW5OT25Z.js.gz +0 -0
- package/dist/{GLTFLoader-NMAS6VRH.mjs → GLTFLoader-374ZNTXW.mjs} +1 -1
- package/dist/GLTFLoader-374ZNTXW.mjs.br +0 -0
- package/dist/GLTFLoader-374ZNTXW.mjs.gz +0 -0
- package/dist/{GLTFLoader-GP55DVVS.js → GLTFLoader-Q7BHCGAW.js} +1 -1
- package/dist/GLTFLoader-Q7BHCGAW.js.br +0 -0
- package/dist/GLTFLoader-Q7BHCGAW.js.gz +0 -0
- package/dist/{Model3DScene-Y5ABLO7K.js → Model3DScene-JCGYRKXM.js} +4 -4
- package/dist/Model3DScene-JCGYRKXM.js.br +0 -0
- package/dist/Model3DScene-JCGYRKXM.js.gz +0 -0
- package/dist/{Model3DScene-XVYOISVJ.mjs → Model3DScene-TEF362W2.mjs} +3 -3
- package/dist/Model3DScene-TEF362W2.mjs.br +0 -0
- package/dist/Model3DScene-TEF362W2.mjs.gz +0 -0
- package/dist/{OrbitControls-VH6KILH7.js → OrbitControls-SMYCPLXO.js} +1 -1
- package/dist/OrbitControls-SMYCPLXO.js.br +3 -0
- package/dist/OrbitControls-SMYCPLXO.js.gz +0 -0
- package/dist/{OrbitControls-F5XPYD2Z.mjs → OrbitControls-ZTGHPI5G.mjs} +1 -1
- package/dist/OrbitControls-ZTGHPI5G.mjs.br +0 -0
- package/dist/{OrbitControls-F5XPYD2Z.mjs.gz → OrbitControls-ZTGHPI5G.mjs.gz} +0 -0
- package/dist/{PowerPointViewer-CnADroqZ.d.ts → PowerPointViewer-gmU5rc7K.d.ts} +2 -2
- package/dist/PowerPointViewer-gmU5rc7K.d.ts.map +1 -0
- package/dist/{SmartArt3DScene-WQIDFZ7X.mjs → SmartArt3DScene-XCFVGCXE.mjs} +1 -1
- package/dist/SmartArt3DScene-XCFVGCXE.mjs.br +0 -0
- package/dist/SmartArt3DScene-XCFVGCXE.mjs.gz +0 -0
- package/dist/{SmartArt3DScene-HCQBDRAM.js → SmartArt3DScene-ZO3KFDI2.js} +1 -1
- package/dist/SmartArt3DScene-ZO3KFDI2.js.br +0 -0
- package/dist/SmartArt3DScene-ZO3KFDI2.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-WMY5JTW4.js → SurfaceChart3DScene-2SHCYZVC.js} +4 -4
- package/dist/{SurfaceChart3DScene-WMY5JTW4.js.br → SurfaceChart3DScene-2SHCYZVC.js.br} +0 -0
- package/dist/SurfaceChart3DScene-2SHCYZVC.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-RXZADECL.mjs → SurfaceChart3DScene-UPDCIMJM.mjs} +3 -3
- package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.gz +0 -0
- package/dist/{animation-timeline-CEJJLFqK.d.ts → animation-timeline-eb5z0SHW.d.ts} +250 -8
- package/dist/animation-timeline-eb5z0SHW.d.ts.map +1 -0
- package/dist/{chunk-M3SIFXWD.mjs → chunk-2X72MOPZ.mjs} +65 -0
- package/dist/chunk-2X72MOPZ.mjs.br +0 -0
- package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
- package/dist/{chunk-QGM4M3NI.js → chunk-4VNS5WPM.js} +5 -0
- package/dist/chunk-4VNS5WPM.js.br +0 -0
- package/dist/chunk-4VNS5WPM.js.gz +0 -0
- package/dist/{chunk-F4WPQRZU.mjs → chunk-5XLLRPMV.mjs} +6901 -14355
- package/dist/chunk-5XLLRPMV.mjs.br +0 -0
- package/dist/chunk-5XLLRPMV.mjs.gz +0 -0
- package/dist/{chunk-FOMF7POV.mjs → chunk-6YXLGMTN.mjs} +2493 -1588
- package/dist/chunk-6YXLGMTN.mjs.br +0 -0
- package/dist/chunk-6YXLGMTN.mjs.gz +0 -0
- package/dist/chunk-B6NRDUHJ.mjs +8029 -0
- package/dist/chunk-B6NRDUHJ.mjs.br +0 -0
- package/dist/chunk-B6NRDUHJ.mjs.gz +0 -0
- package/dist/chunk-BHVCED34.mjs +16664 -0
- package/dist/chunk-BHVCED34.mjs.br +0 -0
- package/dist/chunk-BHVCED34.mjs.gz +0 -0
- package/dist/{chunk-IPYAN574.js → chunk-CLNGAVNH.js} +2495 -1587
- package/dist/chunk-CLNGAVNH.js.br +0 -0
- package/dist/chunk-CLNGAVNH.js.gz +0 -0
- package/dist/{chunk-2EFVXYNA.js → chunk-CUUYYYC5.js} +65 -0
- package/dist/chunk-CUUYYYC5.js.br +0 -0
- package/dist/chunk-CUUYYYC5.js.gz +0 -0
- package/dist/{chunk-L4ZADJOM.mjs → chunk-L63RAVM7.mjs} +1285 -150
- package/dist/chunk-L63RAVM7.mjs.br +0 -0
- package/dist/chunk-L63RAVM7.mjs.gz +0 -0
- package/dist/{chunk-7CSBUYRN.js → chunk-LFXG7SGG.js} +2073 -938
- package/dist/chunk-LFXG7SGG.js.br +0 -0
- package/dist/chunk-LFXG7SGG.js.gz +0 -0
- package/dist/{chunk-TEN35NUX.js → chunk-OKOJVSKJ.js} +3512 -403
- package/dist/chunk-OKOJVSKJ.js.br +0 -0
- package/dist/chunk-OKOJVSKJ.js.gz +0 -0
- package/dist/{chunk-FVQDRA5N.mjs → chunk-R2N2UYT7.mjs} +3455 -362
- package/dist/chunk-R2N2UYT7.mjs.br +0 -0
- package/dist/chunk-R2N2UYT7.mjs.gz +0 -0
- package/dist/chunk-SYPHGLIB.js +16701 -0
- package/dist/chunk-SYPHGLIB.js.br +0 -0
- package/dist/chunk-SYPHGLIB.js.gz +0 -0
- package/dist/{chunk-6DZX6EAA.mjs → chunk-XGB3TDIC.mjs} +5 -1
- package/dist/chunk-XGB3TDIC.mjs.br +0 -0
- package/dist/chunk-XGB3TDIC.mjs.gz +0 -0
- package/dist/chunk-ZB4NZRCI.js +11111 -0
- package/dist/chunk-ZB4NZRCI.js.br +0 -0
- package/dist/chunk-ZB4NZRCI.js.gz +0 -0
- package/dist/chunk-ZKDE3HJI.js +8121 -0
- package/dist/chunk-ZKDE3HJI.js.br +0 -0
- package/dist/chunk-ZKDE3HJI.js.gz +0 -0
- package/dist/{dist-755SJ3ZH.js → dist-4LUVI3SW.js} +578 -566
- package/dist/dist-4LUVI3SW.js.br +0 -0
- package/dist/dist-4LUVI3SW.js.gz +0 -0
- package/dist/dist-J6PC54PZ.mjs +2 -0
- package/dist/dist-J6PC54PZ.mjs.br +0 -0
- package/dist/dist-J6PC54PZ.mjs.gz +0 -0
- package/dist/i18n.js +5 -5
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +2 -2
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/{index-J6IuHQ2_.d.ts → index-a8wcFjRJ.d.ts} +4 -4
- package/dist/{index-J6IuHQ2_.d.ts.map → index-a8wcFjRJ.d.ts.map} +1 -1
- package/dist/index.d.ts +3030 -220
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -39
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +8 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/{hooks-unstable.d.ts → internals.d.ts} +1238 -974
- package/dist/internals.d.ts.map +1 -0
- package/dist/{hooks-unstable.js → internals.js} +81 -80
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/{hooks-unstable.mjs → internals.mjs} +6 -5
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/{three.module-7CXEVRKB.mjs → three.module-AC7ESV4W.mjs} +1 -1
- package/dist/three.module-AC7ESV4W.mjs.br +0 -0
- package/dist/three.module-AC7ESV4W.mjs.gz +0 -0
- package/dist/{three.module-CPZZFD2Q.js → three.module-GNNNRIMK.js} +1 -1
- package/dist/three.module-GNNNRIMK.js.br +0 -0
- package/dist/three.module-GNNNRIMK.js.gz +0 -0
- package/dist/{useViewerBuildingBlocks-ll3_ncCH.d.ts → useViewerBuildingBlocks-CjureTRf.d.ts} +185 -174
- package/dist/useViewerBuildingBlocks-CjureTRf.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +469 -52
- package/dist/viewer/index.d.ts.map +1 -1
- package/dist/viewer/index.js +35 -33
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +8 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/dist/{y-webrtc-6CRYHAXH.mjs → y-webrtc-DGVURJIF.mjs} +1 -1
- package/dist/y-webrtc-DGVURJIF.mjs.br +0 -0
- package/dist/y-webrtc-DGVURJIF.mjs.gz +0 -0
- package/dist/{y-webrtc-QCZF75JW.js → y-webrtc-YN53KW3J.js} +5 -5
- package/dist/y-webrtc-YN53KW3J.js.br +0 -0
- package/dist/y-webrtc-YN53KW3J.js.gz +0 -0
- package/dist/{y-websocket-QJEM6VOB.js → y-websocket-HZCIQLM6.js} +1 -1
- package/dist/y-websocket-HZCIQLM6.js.br +0 -0
- package/dist/y-websocket-HZCIQLM6.js.gz +0 -0
- package/dist/{y-websocket-57Q3RNHC.mjs → y-websocket-P5LTAJ5T.mjs} +1 -1
- package/dist/y-websocket-P5LTAJ5T.mjs.br +0 -0
- package/dist/y-websocket-P5LTAJ5T.mjs.gz +0 -0
- package/dist/{yjs-Y7IYUWOG.mjs → yjs-FKGX4QHS.mjs} +1 -1
- package/dist/yjs-FKGX4QHS.mjs.br +0 -0
- package/dist/yjs-FKGX4QHS.mjs.gz +0 -0
- package/dist/{yjs-UH3EPF3C.js → yjs-HBLSEMHP.js} +1 -1
- package/dist/yjs-HBLSEMHP.js.br +0 -0
- package/dist/yjs-HBLSEMHP.js.gz +0 -0
- package/package.json +19 -7
- package/dist/GLTFLoader-GP55DVVS.js.br +0 -0
- package/dist/GLTFLoader-GP55DVVS.js.gz +0 -0
- package/dist/GLTFLoader-NMAS6VRH.mjs.br +0 -0
- package/dist/GLTFLoader-NMAS6VRH.mjs.gz +0 -0
- package/dist/Model3DScene-XVYOISVJ.mjs.br +0 -0
- package/dist/Model3DScene-XVYOISVJ.mjs.gz +0 -0
- package/dist/Model3DScene-Y5ABLO7K.js.br +0 -0
- package/dist/Model3DScene-Y5ABLO7K.js.gz +0 -0
- package/dist/OrbitControls-F5XPYD2Z.mjs.br +0 -0
- package/dist/OrbitControls-VH6KILH7.js.br +0 -2
- package/dist/OrbitControls-VH6KILH7.js.gz +0 -0
- package/dist/PowerPointViewer-CnADroqZ.d.ts.map +0 -1
- package/dist/SmartArt3DScene-HCQBDRAM.js.br +0 -0
- package/dist/SmartArt3DScene-HCQBDRAM.js.gz +0 -0
- package/dist/SmartArt3DScene-WQIDFZ7X.mjs.br +0 -0
- package/dist/SmartArt3DScene-WQIDFZ7X.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-WMY5JTW4.js.gz +0 -0
- package/dist/animation-timeline-CEJJLFqK.d.ts.map +0 -1
- package/dist/chunk-2EFVXYNA.js.br +0 -0
- package/dist/chunk-2EFVXYNA.js.gz +0 -0
- package/dist/chunk-6DZX6EAA.mjs.br +0 -0
- package/dist/chunk-6DZX6EAA.mjs.gz +0 -0
- package/dist/chunk-7CSBUYRN.js.br +0 -0
- package/dist/chunk-7CSBUYRN.js.gz +0 -0
- package/dist/chunk-E55Q4AC7.js +0 -18639
- package/dist/chunk-E55Q4AC7.js.br +0 -0
- package/dist/chunk-E55Q4AC7.js.gz +0 -0
- package/dist/chunk-F4WPQRZU.mjs.br +0 -0
- package/dist/chunk-F4WPQRZU.mjs.gz +0 -0
- package/dist/chunk-FOMF7POV.mjs.br +0 -0
- package/dist/chunk-FOMF7POV.mjs.gz +0 -0
- package/dist/chunk-FVQDRA5N.mjs.br +0 -0
- package/dist/chunk-FVQDRA5N.mjs.gz +0 -0
- package/dist/chunk-IPYAN574.js.br +0 -0
- package/dist/chunk-IPYAN574.js.gz +0 -0
- package/dist/chunk-L4ZADJOM.mjs.br +0 -0
- package/dist/chunk-L4ZADJOM.mjs.gz +0 -0
- package/dist/chunk-M3SIFXWD.mjs.br +0 -0
- package/dist/chunk-M3SIFXWD.mjs.gz +0 -0
- package/dist/chunk-QGM4M3NI.js.br +0 -0
- package/dist/chunk-QGM4M3NI.js.gz +0 -0
- package/dist/chunk-TEN35NUX.js.br +0 -0
- package/dist/chunk-TEN35NUX.js.gz +0 -0
- package/dist/dist-755SJ3ZH.js.br +0 -0
- package/dist/dist-755SJ3ZH.js.gz +0 -0
- package/dist/dist-FFWP5NQZ.mjs +0 -2
- package/dist/dist-FFWP5NQZ.mjs.br +0 -0
- package/dist/dist-FFWP5NQZ.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts.map +0 -1
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/three.module-7CXEVRKB.mjs.br +0 -0
- package/dist/three.module-7CXEVRKB.mjs.gz +0 -0
- package/dist/three.module-CPZZFD2Q.js.br +0 -0
- package/dist/three.module-CPZZFD2Q.js.gz +0 -0
- package/dist/useViewerBuildingBlocks-ll3_ncCH.d.ts.map +0 -1
- package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
- package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
- package/dist/y-webrtc-QCZF75JW.js.br +0 -0
- package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
- package/dist/y-websocket-57Q3RNHC.mjs.br +0 -0
- package/dist/y-websocket-57Q3RNHC.mjs.gz +0 -0
- package/dist/y-websocket-QJEM6VOB.js.br +0 -0
- package/dist/y-websocket-QJEM6VOB.js.gz +0 -0
- package/dist/yjs-UH3EPF3C.js.br +0 -0
- package/dist/yjs-UH3EPF3C.js.gz +0 -0
- package/dist/yjs-Y7IYUWOG.mjs.br +0 -0
- package/dist/yjs-Y7IYUWOG.mjs.gz +0 -0
package/dist/{useViewerBuildingBlocks-ll3_ncCH.d.ts → useViewerBuildingBlocks-CjureTRf.d.ts}
RENAMED
|
@@ -1,178 +1,7 @@
|
|
|
1
|
-
import { C as ToolbarSection,
|
|
1
|
+
import { C as ToolbarSection, S as TableCellEditorState, Z as CanvasSize, lt as SupportedShapeType, o as DrawingTool, p as PowerPointViewerHandle, rt as ElementClipboardPayload, t as ElementAnimationState, u as MarqueeSelectionState, ut as ViewerMode$1 } from "./animation-timeline-eb5z0SHW.js";
|
|
2
2
|
import { ConnectorPptxElement, InkPptxElement, ParsedTableStyleMap, PptxAction, PptxChartType, PptxComment, PptxCustomShow, PptxElement, PptxSlide, PptxSlideTransition, PptxTheme, ShapePptxElement, TextStyle, XmlObject } from "pptx-viewer-core";
|
|
3
3
|
import { ChangeCaseMode, FieldSubstitutionContext, RulerUnit, ToolbarActionId } from "pptx-viewer-shared";
|
|
4
4
|
import React$1 from "react";
|
|
5
|
-
//#region src/viewer/hooks/useAutosave.d.ts
|
|
6
|
-
type AutosaveStatus = {
|
|
7
|
-
state: 'idle';
|
|
8
|
-
} | {
|
|
9
|
-
state: 'disabled';
|
|
10
|
-
reason: string;
|
|
11
|
-
} | {
|
|
12
|
-
state: 'saving';
|
|
13
|
-
} | {
|
|
14
|
-
state: 'saved';
|
|
15
|
-
timestamp: number;
|
|
16
|
-
} | {
|
|
17
|
-
state: 'error';
|
|
18
|
-
message: string;
|
|
19
|
-
};
|
|
20
|
-
interface UseAutosaveInput {
|
|
21
|
-
/** Whether the document has unsaved changes. */
|
|
22
|
-
isDirty: boolean;
|
|
23
|
-
/** File path or name of the currently-open PPTX. Required for autosave to work. */
|
|
24
|
-
filePath: string | undefined;
|
|
25
|
-
/** Serialise current editor state to a Uint8Array. */
|
|
26
|
-
serializeSlides: () => Promise<Uint8Array | null>;
|
|
27
|
-
/** Autosave interval in seconds (default 120). */
|
|
28
|
-
intervalSeconds?: number;
|
|
29
|
-
/** Whether autosave is enabled. */
|
|
30
|
-
enabled?: boolean;
|
|
31
|
-
}
|
|
32
|
-
interface UseAutosaveResult {
|
|
33
|
-
/** Current autosave status for display in the StatusBar. */
|
|
34
|
-
autosaveStatus: AutosaveStatus;
|
|
35
|
-
/** Manually trigger an autosave right now. */
|
|
36
|
-
triggerAutosave: () => Promise<void>;
|
|
37
|
-
}
|
|
38
|
-
declare function useAutosave(input: UseAutosaveInput): UseAutosaveResult;
|
|
39
|
-
//#endregion
|
|
40
|
-
//#region src/viewer/utils/table-band-style.d.ts
|
|
41
|
-
/** Context for resolving table style colours from the theme. */
|
|
42
|
-
interface TableStyleContext {
|
|
43
|
-
tableStyleMap?: ParsedTableStyleMap;
|
|
44
|
-
theme?: PptxTheme;
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
//#region src/viewer/components/canvas/canvas-types.d.ts
|
|
48
|
-
interface ZoomViewport {
|
|
49
|
-
canvasViewportRef: React$1.RefObject<HTMLDivElement | null>;
|
|
50
|
-
editWrapperRef: React$1.RefObject<HTMLDivElement | null>;
|
|
51
|
-
canvasStageRef: React$1.RefObject<HTMLDivElement | null>;
|
|
52
|
-
editorScale: number;
|
|
53
|
-
}
|
|
54
|
-
interface SlideCanvasProps {
|
|
55
|
-
activeSlide: PptxSlide | undefined;
|
|
56
|
-
templateElements: PptxElement[];
|
|
57
|
-
canvasSize: CanvasSize;
|
|
58
|
-
zoom: ZoomViewport;
|
|
59
|
-
mode: ViewerMode$1;
|
|
60
|
-
canEdit: boolean;
|
|
61
|
-
editTemplateMode: boolean;
|
|
62
|
-
selectedElementIdSet: Set<string>;
|
|
63
|
-
selectedElement: PptxElement | null;
|
|
64
|
-
inlineEditingElementId: string | null;
|
|
65
|
-
inlineEditingText: string;
|
|
66
|
-
spellCheckEnabled: boolean;
|
|
67
|
-
mediaDataUrls: Map<string, string>;
|
|
68
|
-
tableEditorState: TableCellEditorState | null;
|
|
69
|
-
marqueeSelectionState: MarqueeSelectionState | null;
|
|
70
|
-
snapLines: Array<{
|
|
71
|
-
axis: string;
|
|
72
|
-
position: number;
|
|
73
|
-
}>;
|
|
74
|
-
showGrid: boolean;
|
|
75
|
-
/** Grid spacing in CSS px (derived from PPTX gridSpacing EMUs). */
|
|
76
|
-
gridSpacingPx?: number;
|
|
77
|
-
showRulers: boolean;
|
|
78
|
-
/** Unit system for rulers (default: inches). */
|
|
79
|
-
rulerUnit?: RulerUnit;
|
|
80
|
-
guides: Array<{
|
|
81
|
-
id: string;
|
|
82
|
-
axis: 'h' | 'v';
|
|
83
|
-
position: number;
|
|
84
|
-
}>;
|
|
85
|
-
presentationElementStates?: Map<string, ElementAnimationState>;
|
|
86
|
-
presentationKeyframesCss?: string;
|
|
87
|
-
onClick: (elementId: string, e: React$1.MouseEvent) => void;
|
|
88
|
-
onDoubleClick: (elementId: string, e: React$1.MouseEvent) => void;
|
|
89
|
-
onMouseDown: (elementId: string, e: React$1.MouseEvent) => void;
|
|
90
|
-
onContextMenu: (elementId: string, e: React$1.MouseEvent) => void;
|
|
91
|
-
/** Called when the user presses mouse down on empty canvas space. */
|
|
92
|
-
onCanvasMouseDown?: (e: React$1.MouseEvent) => void;
|
|
93
|
-
onResizePointerDown: (elementId: string, e: React$1.MouseEvent, handle: string) => void;
|
|
94
|
-
onAdjustmentPointerDown: (elementId: string, e: React$1.MouseEvent) => void;
|
|
95
|
-
/** Commit a new rotation (degrees) when the on-canvas rotate handle is dragged. */
|
|
96
|
-
onRotate?: (elementId: string, rotationDeg: number) => void;
|
|
97
|
-
onInlineEditChange: (text: string) => void;
|
|
98
|
-
onInlineEditCommit: () => void;
|
|
99
|
-
onInlineEditCancel: () => void;
|
|
100
|
-
onTableCellSelect: (cell: Omit<TableCellEditorState, 'elementId'> | null, elementId: string) => void;
|
|
101
|
-
/** Called when an edited table cell should be committed. */
|
|
102
|
-
onCommitCellEdit?: (elementId: string, rowIndex: number, colIndex: number, text: string) => void;
|
|
103
|
-
/**
|
|
104
|
-
* Commit a partial update to a SmartArt element from inline (on-canvas) node
|
|
105
|
-
* editing. Routed to the same element-update path the inspector uses (undo/redo
|
|
106
|
-
* + dirty marking). When absent, inline SmartArt editing is disabled.
|
|
107
|
-
*/
|
|
108
|
-
onUpdateSmartArtElement?: (elementId: string, updates: Partial<PptxElement>) => void;
|
|
109
|
-
/**
|
|
110
|
-
* Apply a text-style toggle (Ctrl/Cmd+B/I/U) to the element being
|
|
111
|
-
* inline-edited. Routed to the same updateSelectedTextStyle path as the
|
|
112
|
-
* toolbar. When absent, the inline formatting shortcuts are inert.
|
|
113
|
-
*/
|
|
114
|
-
onFormatText?: (updates: Partial<TextStyle>) => void;
|
|
115
|
-
/** Called when table column widths are resized. */
|
|
116
|
-
onResizeTableColumns?: (elementId: string, newWidths: number[]) => void;
|
|
117
|
-
/** Called when a table row is resized. */
|
|
118
|
-
onResizeTableRow?: (elementId: string, rowIndex: number, newHeight: number) => void;
|
|
119
|
-
/** Find & Replace results (all matches across all slides). */
|
|
120
|
-
findResults?: Array<{
|
|
121
|
-
slideIndex: number;
|
|
122
|
-
elementId: string;
|
|
123
|
-
segmentIndex: number;
|
|
124
|
-
startOffset: number;
|
|
125
|
-
length: number;
|
|
126
|
-
}>;
|
|
127
|
-
/** Index of the currently focused find result (-1 for none). */
|
|
128
|
-
findResultIndex?: number;
|
|
129
|
-
/** Index of the currently visible slide (needed to filter find results). */
|
|
130
|
-
activeSlideIndex?: number;
|
|
131
|
-
/** Currently active drawing tool ("select" means no drawing overlay). */
|
|
132
|
-
activeTool?: DrawingTool;
|
|
133
|
-
/** Stroke colour for pen / highlighter. */
|
|
134
|
-
drawingColor?: string;
|
|
135
|
-
/** Stroke width for pen / highlighter. */
|
|
136
|
-
drawingWidth?: number;
|
|
137
|
-
/** Ref that is true while a pointer stroke is in progress. */
|
|
138
|
-
isDrawingRef?: React$1.RefObject<boolean>;
|
|
139
|
-
/** Called when a completed ink stroke should be added to the slide. */
|
|
140
|
-
onAddInkElement?: (ink: InkPptxElement) => void;
|
|
141
|
-
/** Called when a freeform drawing stroke should be added as a shape element. */
|
|
142
|
-
onAddFreeformShape?: (shape: ShapePptxElement) => void;
|
|
143
|
-
/** Called when the eraser tool removes an ink element. */
|
|
144
|
-
onEraseInkElement?: (elementId: string) => void;
|
|
145
|
-
/** Called when a shape-level action is clicked (e.g. slide jump, URL). */
|
|
146
|
-
onActionClick?: (elementId: string, action: PptxAction) => void;
|
|
147
|
-
/** Called when a text-level hyperlink is clicked. */
|
|
148
|
-
onHyperlinkClick?: (url: string) => void;
|
|
149
|
-
/** Comments for the current slide (used for on-canvas markers). */
|
|
150
|
-
comments?: PptxComment[];
|
|
151
|
-
/** Whether to show comment markers on the slide canvas. */
|
|
152
|
-
showCommentMarkers?: boolean;
|
|
153
|
-
/** Called when a comment marker is clicked. */
|
|
154
|
-
onCommentMarkerClick?: (commentId: string) => void;
|
|
155
|
-
onMoveGuide?: (guideId: string, position: number) => void;
|
|
156
|
-
onDeleteGuide?: (guideId: string) => void;
|
|
157
|
-
onCreateGuideFromRuler?: (axis: 'h' | 'v', positionPx: number) => void;
|
|
158
|
-
/** When true, shows connection sites on shapes and enables connector drawing. */
|
|
159
|
-
connectorCreationMode?: boolean;
|
|
160
|
-
/** Called when a new connector is created between two shapes. */
|
|
161
|
-
onCreateConnector?: (connector: ConnectorPptxElement) => void;
|
|
162
|
-
/** All slides in the presentation (for zoom element thumbnails). */
|
|
163
|
-
allSlides?: readonly PptxSlide[];
|
|
164
|
-
/** Callback fired when a zoom element is clicked in presentation mode. */
|
|
165
|
-
onZoomClick?: (targetSlideIndex: number, returnSlideIndex: number) => void;
|
|
166
|
-
/** Index of the current slide (for zoom return navigation). */
|
|
167
|
-
sourceSlideIndex?: number;
|
|
168
|
-
/** Context for text field placeholder substitution (slide number, header/footer, etc.). */
|
|
169
|
-
fieldContext?: FieldSubstitutionContext;
|
|
170
|
-
/** Theme + table style map for resolving table band/header colours. */
|
|
171
|
-
tableStyleContext?: TableStyleContext;
|
|
172
|
-
/** Optional collaboration cursor overlay rendered on top of the canvas. */
|
|
173
|
-
collaborationOverlay?: React$1.ReactNode;
|
|
174
|
-
}
|
|
175
|
-
//#endregion
|
|
176
5
|
//#region src/viewer/components/toolbar/toolbar-types.d.ts
|
|
177
6
|
interface ToolbarProps {
|
|
178
7
|
fileName?: string;
|
|
@@ -324,8 +153,190 @@ interface ToolbarProps {
|
|
|
324
153
|
onApplyTransitionToAll: () => void;
|
|
325
154
|
/** Host-supplied list of toolbar buttons/ribbon tabs to hide. See `PowerPointViewerProps.hiddenActions`. */
|
|
326
155
|
hiddenActions?: readonly ToolbarActionId[];
|
|
156
|
+
/** Whether the AI assistant is available (the host passed the `ai` prop). */
|
|
157
|
+
aiEnabled?: boolean;
|
|
158
|
+
/** Whether the AI assistant panel is currently open. */
|
|
159
|
+
isAiPanelOpen?: boolean;
|
|
160
|
+
/** Toggle the AI assistant panel. */
|
|
161
|
+
onToggleAiPanel?: () => void;
|
|
162
|
+
}
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/viewer/utils/table-band-style.d.ts
|
|
165
|
+
/** Context for resolving table style colours from the theme. */
|
|
166
|
+
interface TableStyleContext {
|
|
167
|
+
tableStyleMap?: ParsedTableStyleMap;
|
|
168
|
+
theme?: PptxTheme;
|
|
169
|
+
}
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/viewer/components/canvas/canvas-types.d.ts
|
|
172
|
+
interface ZoomViewport {
|
|
173
|
+
canvasViewportRef: React$1.RefObject<HTMLDivElement | null>;
|
|
174
|
+
editWrapperRef: React$1.RefObject<HTMLDivElement | null>;
|
|
175
|
+
canvasStageRef: React$1.RefObject<HTMLDivElement | null>;
|
|
176
|
+
editorScale: number;
|
|
177
|
+
}
|
|
178
|
+
interface SlideCanvasProps {
|
|
179
|
+
activeSlide: PptxSlide | undefined;
|
|
180
|
+
templateElements: PptxElement[];
|
|
181
|
+
canvasSize: CanvasSize;
|
|
182
|
+
zoom: ZoomViewport;
|
|
183
|
+
mode: ViewerMode$1;
|
|
184
|
+
canEdit: boolean;
|
|
185
|
+
editTemplateMode: boolean;
|
|
186
|
+
selectedElementIdSet: Set<string>;
|
|
187
|
+
selectedElement: PptxElement | null;
|
|
188
|
+
inlineEditingElementId: string | null;
|
|
189
|
+
inlineEditingText: string;
|
|
190
|
+
spellCheckEnabled: boolean;
|
|
191
|
+
mediaDataUrls: Map<string, string>;
|
|
192
|
+
tableEditorState: TableCellEditorState | null;
|
|
193
|
+
marqueeSelectionState: MarqueeSelectionState | null;
|
|
194
|
+
snapLines: Array<{
|
|
195
|
+
axis: string;
|
|
196
|
+
position: number;
|
|
197
|
+
}>;
|
|
198
|
+
showGrid: boolean;
|
|
199
|
+
/** Grid spacing in CSS px (derived from PPTX gridSpacing EMUs). */
|
|
200
|
+
gridSpacingPx?: number;
|
|
201
|
+
showRulers: boolean;
|
|
202
|
+
/** Unit system for rulers (default: inches). */
|
|
203
|
+
rulerUnit?: RulerUnit;
|
|
204
|
+
guides: Array<{
|
|
205
|
+
id: string;
|
|
206
|
+
axis: 'h' | 'v';
|
|
207
|
+
position: number;
|
|
208
|
+
}>;
|
|
209
|
+
presentationElementStates?: Map<string, ElementAnimationState>;
|
|
210
|
+
presentationKeyframesCss?: string;
|
|
211
|
+
onClick: (elementId: string, e: React$1.MouseEvent) => void;
|
|
212
|
+
onDoubleClick: (elementId: string, e: React$1.MouseEvent) => void;
|
|
213
|
+
onMouseDown: (elementId: string, e: React$1.MouseEvent) => void;
|
|
214
|
+
onContextMenu: (elementId: string, e: React$1.MouseEvent) => void;
|
|
215
|
+
/** Called when the user presses mouse down on empty canvas space. */
|
|
216
|
+
onCanvasMouseDown?: (e: React$1.MouseEvent) => void;
|
|
217
|
+
onResizePointerDown: (elementId: string, e: React$1.MouseEvent, handle: string) => void;
|
|
218
|
+
onAdjustmentPointerDown: (elementId: string, e: React$1.MouseEvent) => void;
|
|
219
|
+
/** Commit a new rotation (degrees) when the on-canvas rotate handle is dragged. */
|
|
220
|
+
onRotate?: (elementId: string, rotationDeg: number) => void;
|
|
221
|
+
onInlineEditChange: (text: string) => void;
|
|
222
|
+
onInlineEditCommit: () => void;
|
|
223
|
+
onInlineEditCancel: () => void;
|
|
224
|
+
onTableCellSelect: (cell: Omit<TableCellEditorState, 'elementId'> | null, elementId: string) => void;
|
|
225
|
+
/** Called when an edited table cell should be committed. */
|
|
226
|
+
onCommitCellEdit?: (elementId: string, rowIndex: number, colIndex: number, text: string) => void;
|
|
227
|
+
/**
|
|
228
|
+
* Commit a partial update to a SmartArt element from inline (on-canvas) node
|
|
229
|
+
* editing. Routed to the same element-update path the inspector uses (undo/redo
|
|
230
|
+
* + dirty marking). When absent, inline SmartArt editing is disabled.
|
|
231
|
+
*/
|
|
232
|
+
onUpdateSmartArtElement?: (elementId: string, updates: Partial<PptxElement>) => void;
|
|
233
|
+
/**
|
|
234
|
+
* Apply a text-style toggle (Ctrl/Cmd+B/I/U) to the element being
|
|
235
|
+
* inline-edited. Routed to the same updateSelectedTextStyle path as the
|
|
236
|
+
* toolbar. When absent, the inline formatting shortcuts are inert.
|
|
237
|
+
*/
|
|
238
|
+
onFormatText?: (updates: Partial<TextStyle>) => void;
|
|
239
|
+
/** Called when table column widths are resized. */
|
|
240
|
+
onResizeTableColumns?: (elementId: string, newWidths: number[]) => void;
|
|
241
|
+
/** Called when a table row is resized. */
|
|
242
|
+
onResizeTableRow?: (elementId: string, rowIndex: number, newHeight: number) => void;
|
|
243
|
+
/** Find & Replace results (all matches across all slides). */
|
|
244
|
+
findResults?: Array<{
|
|
245
|
+
slideIndex: number;
|
|
246
|
+
elementId: string;
|
|
247
|
+
segmentIndex: number;
|
|
248
|
+
startOffset: number;
|
|
249
|
+
length: number;
|
|
250
|
+
}>;
|
|
251
|
+
/** Index of the currently focused find result (-1 for none). */
|
|
252
|
+
findResultIndex?: number;
|
|
253
|
+
/** Index of the currently visible slide (needed to filter find results). */
|
|
254
|
+
activeSlideIndex?: number;
|
|
255
|
+
/** Currently active drawing tool ("select" means no drawing overlay). */
|
|
256
|
+
activeTool?: DrawingTool;
|
|
257
|
+
/** Stroke colour for pen / highlighter. */
|
|
258
|
+
drawingColor?: string;
|
|
259
|
+
/** Stroke width for pen / highlighter. */
|
|
260
|
+
drawingWidth?: number;
|
|
261
|
+
/** Ref that is true while a pointer stroke is in progress. */
|
|
262
|
+
isDrawingRef?: React$1.RefObject<boolean>;
|
|
263
|
+
/** Called when a completed ink stroke should be added to the slide. */
|
|
264
|
+
onAddInkElement?: (ink: InkPptxElement) => void;
|
|
265
|
+
/** Called when a freeform drawing stroke should be added as a shape element. */
|
|
266
|
+
onAddFreeformShape?: (shape: ShapePptxElement) => void;
|
|
267
|
+
/** Called when the eraser tool removes an ink element. */
|
|
268
|
+
onEraseInkElement?: (elementId: string) => void;
|
|
269
|
+
/** Called when a shape-level action is clicked (e.g. slide jump, URL). */
|
|
270
|
+
onActionClick?: (elementId: string, action: PptxAction) => void;
|
|
271
|
+
/** Called when a text-level hyperlink is clicked. */
|
|
272
|
+
onHyperlinkClick?: (url: string) => void;
|
|
273
|
+
/** Comments for the current slide (used for on-canvas markers). */
|
|
274
|
+
comments?: PptxComment[];
|
|
275
|
+
/** Whether to show comment markers on the slide canvas. */
|
|
276
|
+
showCommentMarkers?: boolean;
|
|
277
|
+
/** Called when a comment marker is clicked. */
|
|
278
|
+
onCommentMarkerClick?: (commentId: string) => void;
|
|
279
|
+
onMoveGuide?: (guideId: string, position: number) => void;
|
|
280
|
+
onDeleteGuide?: (guideId: string) => void;
|
|
281
|
+
onCreateGuideFromRuler?: (axis: 'h' | 'v', positionPx: number) => void;
|
|
282
|
+
/** When true, shows connection sites on shapes and enables connector drawing. */
|
|
283
|
+
connectorCreationMode?: boolean;
|
|
284
|
+
/** Called when a new connector is created between two shapes. */
|
|
285
|
+
onCreateConnector?: (connector: ConnectorPptxElement) => void;
|
|
286
|
+
/** All slides in the presentation (for zoom element thumbnails). */
|
|
287
|
+
allSlides?: readonly PptxSlide[];
|
|
288
|
+
/** Callback fired when a zoom element is clicked in presentation mode. */
|
|
289
|
+
onZoomClick?: (targetSlideIndex: number, returnSlideIndex: number) => void;
|
|
290
|
+
/** Index of the current slide (for zoom return navigation). */
|
|
291
|
+
sourceSlideIndex?: number;
|
|
292
|
+
/** Context for text field placeholder substitution (slide number, header/footer, etc.). */
|
|
293
|
+
fieldContext?: FieldSubstitutionContext;
|
|
294
|
+
/** Theme + table style map for resolving table band/header colours. */
|
|
295
|
+
tableStyleContext?: TableStyleContext;
|
|
296
|
+
/** Optional collaboration cursor overlay rendered on top of the canvas. */
|
|
297
|
+
collaborationOverlay?: React$1.ReactNode;
|
|
298
|
+
/**
|
|
299
|
+
* When true, the stage marks itself `data-pptx-ai-active` so element colour
|
|
300
|
+
* changes tween while the AI assistant is working (see AiFocusHighlightOverlay).
|
|
301
|
+
*/
|
|
302
|
+
aiActive?: boolean;
|
|
327
303
|
}
|
|
328
304
|
//#endregion
|
|
305
|
+
//#region src/viewer/hooks/useAutosave.d.ts
|
|
306
|
+
type AutosaveStatus = {
|
|
307
|
+
state: 'idle';
|
|
308
|
+
} | {
|
|
309
|
+
state: 'disabled';
|
|
310
|
+
reason: string;
|
|
311
|
+
} | {
|
|
312
|
+
state: 'saving';
|
|
313
|
+
} | {
|
|
314
|
+
state: 'saved';
|
|
315
|
+
timestamp: number;
|
|
316
|
+
} | {
|
|
317
|
+
state: 'error';
|
|
318
|
+
message: string;
|
|
319
|
+
};
|
|
320
|
+
interface UseAutosaveInput {
|
|
321
|
+
/** Whether the document has unsaved changes. */
|
|
322
|
+
isDirty: boolean;
|
|
323
|
+
/** File path or name of the currently-open PPTX. Required for autosave to work. */
|
|
324
|
+
filePath: string | undefined;
|
|
325
|
+
/** Serialise current editor state to a Uint8Array. */
|
|
326
|
+
serializeSlides: () => Promise<Uint8Array | null>;
|
|
327
|
+
/** Autosave interval in seconds (default 120). */
|
|
328
|
+
intervalSeconds?: number;
|
|
329
|
+
/** Whether autosave is enabled. */
|
|
330
|
+
enabled?: boolean;
|
|
331
|
+
}
|
|
332
|
+
interface UseAutosaveResult {
|
|
333
|
+
/** Current autosave status for display in the StatusBar. */
|
|
334
|
+
autosaveStatus: AutosaveStatus;
|
|
335
|
+
/** Manually trigger an autosave right now. */
|
|
336
|
+
triggerAutosave: () => Promise<void>;
|
|
337
|
+
}
|
|
338
|
+
declare function useAutosave(input: UseAutosaveInput): UseAutosaveResult;
|
|
339
|
+
//#endregion
|
|
329
340
|
//#region src/viewer/hooks/useViewerBuildingBlocks.d.ts
|
|
330
341
|
interface UseViewerBuildingBlocksInput {
|
|
331
342
|
/** PPTX content as ArrayBuffer/Uint8Array, or null/undefined while no file is loaded. */
|
|
@@ -374,5 +385,5 @@ interface ViewerBuildingBlocksResult {
|
|
|
374
385
|
}
|
|
375
386
|
declare function useViewerBuildingBlocks(input: UseViewerBuildingBlocksInput): ViewerBuildingBlocksResult;
|
|
376
387
|
//#endregion
|
|
377
|
-
export {
|
|
378
|
-
//# sourceMappingURL=useViewerBuildingBlocks-
|
|
388
|
+
export { UseAutosaveInput as a, SlideCanvasProps as c, AutosaveStatus as i, ToolbarProps as l, ViewerBuildingBlocksResult as n, UseAutosaveResult as o, useViewerBuildingBlocks as r, useAutosave as s, UseViewerBuildingBlocksInput as t, ChangeCaseMode as u };
|
|
389
|
+
//# sourceMappingURL=useViewerBuildingBlocks-CjureTRf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useViewerBuildingBlocks-CjureTRf.d.ts","names":[],"sources":["../src/viewer/components/toolbar/toolbar-types.ts","../src/viewer/utils/table-band-style.tsx","../src/viewer/components/canvas/canvas-types.ts","../src/viewer/hooks/useAutosave.ts","../src/viewer/hooks/useViewerBuildingBlocks.ts"],"mappings":";;;;;UAoBiB;EAChB;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,gBAAgB;EAChB;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB,mBAAmB;EACnB;EACA,cAAc;EACd,YAAY;EACZ;EACA;EACA,kBAAkB;EAClB,YAAY,MAAM;EAClB;EACA;;EAEA;;EAEA,kBAAkB,gBAAgB;;EAElC;EACA;EACA,sBAAsB,SAAS;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB,MAAM;EAC1B;EACA;EACA;EACA,cAAc,WAAW;EACzB;EACA;EACA,oBAAoB;EACpB,iBAAiB,mBAAmB;EACpC;EACA;EACA;EACA,kBAAkB,MAAM;EACxB,oBAAoB;EACpB,oBAAoB;EACpB,wBAAwB;EACxB;EACA;EACA;EACA;EACA;EACA,yBAAyB;EACzB,gBAAgB;EAChB,kBAAkB;EAClB,kBAAkB;EAClB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,uBAAuB;EACvB;EACA;EACA;EACA;EACA,SAAS;EACT,cAAc;EACd,oBAAoB;EACpB;EACA;;EAEA;EACA,oBAAoB;EACpB,uBAAuB;EACvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB,SAAS,QAAQ;;EAErC,sBAAsB,MAAM;EAC5B;EACA,wBAAwB;EACxB,eAAe;IAAQ;IAAc;;EACrC,0BAA0B,cAAc;EACxC,aAAa;EACb;EACA,0BAA0B;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd,qBAAqB,SAAS,QAAQ;EACtC;;EAEA,yBAAyB;;EAEzB;;EAEA;;EAEA;;;;;UCxJgB;EAChB,gBAAgB;EAChB,QAAQ;;;;UCMQ;EAChB,mBAAmB,QAAM,UAAU;EACnC,gBAAgB,QAAM,UAAU;EAChC,gBAAgB,QAAM,UAAU;EAChC;;UAuBgB;EAChB,aAAa;EACb,kBAAkB;EAClB,YAAY;EACZ,MAAM;EACN,MAAM;EACN;EACA;EACA,sBAAsB;EACtB,iBAAiB;EACjB;EACA;EACA;EACA,eAAe;EACf,kBAAkB;EAClB,uBAAuB;EACvB,WAAW;IAAQ;IAAc;;EACjC;;EAEA;EACA;;EAEA,YAAY;EACZ,QAAQ;IAAQ;IAAY;IAAiB;;EAC7C,4BAA4B,YAAY;EACxC;EAEA,UAAU,mBAAmB,GAAG,QAAM;EACtC,gBAAgB,mBAAmB,GAAG,QAAM;EAC5C,cAAc,mBAAmB,GAAG,QAAM;EAC1C,gBAAgB,mBAAmB,GAAG,QAAM;;EAE5C,qBAAqB,GAAG,QAAM;EAC9B,sBAAsB,mBAAmB,GAAG,QAAM,YAAY;EAC9D,0BAA0B,mBAAmB,GAAG,QAAM;;EAEtD,YAAY,mBAAmB;EAC/B,qBAAqB;EACrB;EACA;EACA,oBACC,MAAM,KAAK,2CACX;;EAGD,oBAAoB,mBAAmB,kBAAkB,kBAAkB;;;;;;EAM3E,2BAA2B,mBAAmB,SAAS,QAAQ;;;;;;EAM/D,gBAAgB,SAAS,QAAQ;;EAEjC,wBAAwB,mBAAmB;;EAE3C,oBAAoB,mBAAmB,kBAAkB;;EAEzD,cAAc;IACb;IACA;IACA;IACA;IACA;;;EAGD;;EAEA;;EAIA,aAAa;;EAEb;;EAEA;;EAEA,eAAe,QAAM;;EAErB,mBAAmB,KAAK;;EAExB,sBAAsB,OAAO;;EAE7B,qBAAqB;;EAIrB,iBAAiB,mBAAmB,QAAQ;;EAE5C,oBAAoB;;EAIpB,WAAW;;EAEX;;EAEA,wBAAwB;EACxB,eAAe,iBAAiB;EAChC,iBAAiB;EACjB,0BAA0B,iBAAiB;;EAI3C;;EAEA,qBAAqB,WAAW;;EAIhC,qBAAqB;;EAErB,eAAe,0BAA0B;;EAEzC;;EAIA,eAAe;;EAIf,oBAAoB;;EAIpB,uBAAuB,QAAM;;;;;EAO7B;;;;KCtLW;EACP;;EACA;EAAmB;;EACnB;;EACA;EAAgB;;EAChB;EAAgB;;UAEJ;;EAEhB;;EAEA;;EAEA,uBAAuB,QAAQ;;EAE/B;;EAEA;;UAGgB;;EAEhB,gBAAgB;;EAEhB,uBAAuB;;iBAOR,YAAY,OAAO,mBAAmB;;;UCIrC;;EAEhB,SAAS,cAAc;;EAEvB;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,yBAAyB;;EAEzB,SAAS,MAAM,aAAa;EAC5B,mBAAmB,SAAS;EAC5B,iBAAiB;EACjB,uBAAuB;EACvB,gBAAgB,MAAM;EACtB,gBAAgB;EAChB,qBAAqB;EACrB,sBAAsB;;EAEtB;;EAEA;;EAEA;;UAOgB;;EAEhB,cAAc;;EAEd,aAAa;;EAEb,MAAM;;EAEN;;EAEA;;EAEA,gBAAgB;;iBAOD,wBACf,OAAO,+BACL"}
|