@darshio/vivid 0.1.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 +62 -0
- package/LICENSE +21 -0
- package/README.md +0 -0
- package/dist/__vite-browser-external-BcPniuRQ.cjs +2 -0
- package/dist/__vite-browser-external-BcPniuRQ.cjs.map +1 -0
- package/dist/__vite-browser-external-DYxpcVy9.js +5 -0
- package/dist/__vite-browser-external-DYxpcVy9.js.map +1 -0
- package/dist/components/ExportButton.d.ts +40 -0
- package/dist/components/ExportButton.d.ts.map +1 -0
- package/dist/components/SlideRail.d.ts +20 -0
- package/dist/components/SlideRail.d.ts.map +1 -0
- package/dist/components/SlideRenderer.d.ts +23 -0
- package/dist/components/SlideRenderer.d.ts.map +1 -0
- package/dist/components/SlideViewer.d.ts +28 -0
- package/dist/components/SlideViewer.d.ts.map +1 -0
- package/dist/components/StreamingIndicator.d.ts +21 -0
- package/dist/components/StreamingIndicator.d.ts.map +1 -0
- package/dist/components/elements/CalloutElement.d.ts +8 -0
- package/dist/components/elements/CalloutElement.d.ts.map +1 -0
- package/dist/components/elements/ChartElement.d.ts +8 -0
- package/dist/components/elements/ChartElement.d.ts.map +1 -0
- package/dist/components/elements/CodeElement.d.ts +8 -0
- package/dist/components/elements/CodeElement.d.ts.map +1 -0
- package/dist/components/elements/DividerElement.d.ts +8 -0
- package/dist/components/elements/DividerElement.d.ts.map +1 -0
- package/dist/components/elements/IconElement.d.ts +8 -0
- package/dist/components/elements/IconElement.d.ts.map +1 -0
- package/dist/components/elements/ImageElement.d.ts +8 -0
- package/dist/components/elements/ImageElement.d.ts.map +1 -0
- package/dist/components/elements/ListElement.d.ts +8 -0
- package/dist/components/elements/ListElement.d.ts.map +1 -0
- package/dist/components/elements/MetricElement.d.ts +8 -0
- package/dist/components/elements/MetricElement.d.ts.map +1 -0
- package/dist/components/elements/ProgressElement.d.ts +8 -0
- package/dist/components/elements/ProgressElement.d.ts.map +1 -0
- package/dist/components/elements/ShapeElement.d.ts +8 -0
- package/dist/components/elements/ShapeElement.d.ts.map +1 -0
- package/dist/components/elements/TableElement.d.ts +8 -0
- package/dist/components/elements/TableElement.d.ts.map +1 -0
- package/dist/components/elements/TextElement.d.ts +8 -0
- package/dist/components/elements/TextElement.d.ts.map +1 -0
- package/dist/components/elements/index.d.ts +25 -0
- package/dist/components/elements/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/context/VividContext.d.ts +68 -0
- package/dist/context/VividContext.d.ts.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/exports/PdfExporter.d.ts +23 -0
- package/dist/exports/PdfExporter.d.ts.map +1 -0
- package/dist/exports/PngExporter.d.ts +22 -0
- package/dist/exports/PngExporter.d.ts.map +1 -0
- package/dist/exports/PptxExporter.d.ts +20 -0
- package/dist/exports/PptxExporter.d.ts.map +1 -0
- package/dist/exports/index.d.ts +10 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/utils.d.ts +25 -0
- package/dist/exports/utils.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useKeyboardNavigation.d.ts +27 -0
- package/dist/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/hooks/useSlideNavigation.d.ts +32 -0
- package/dist/hooks/useSlideNavigation.d.ts.map +1 -0
- package/dist/hooks/useSlideStream.d.ts +55 -0
- package/dist/hooks/useSlideStream.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts +23 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useVivid.d.ts +13 -0
- package/dist/hooks/useVivid.d.ts.map +1 -0
- package/dist/html2canvas.esm-BA_v9SIU.cjs +23 -0
- package/dist/html2canvas.esm-BA_v9SIU.cjs.map +1 -0
- package/dist/html2canvas.esm-d2sM-0Wm.js +4871 -0
- package/dist/html2canvas.esm-d2sM-0Wm.js.map +1 -0
- package/dist/index-DGgHHr5m.cjs +8161 -0
- package/dist/index-DGgHHr5m.cjs.map +1 -0
- package/dist/index-DblpZba0.js +55050 -0
- package/dist/index-DblpZba0.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es-BVDnfkUz.js +5632 -0
- package/dist/index.es-BVDnfkUz.js.map +1 -0
- package/dist/index.es-FGgUIeVd.cjs +19 -0
- package/dist/index.es-FGgUIeVd.cjs.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/purify.es-BpFm6ZGf.js +554 -0
- package/dist/purify.es-BpFm6ZGf.js.map +1 -0
- package/dist/purify.es-Cv8QDpGd.cjs +3 -0
- package/dist/purify.es-Cv8QDpGd.cjs.map +1 -0
- package/dist/types/elements.d.ts +284 -0
- package/dist/types/elements.d.ts.map +1 -0
- package/dist/types/errors.d.ts +26 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/presentation.d.ts +131 -0
- package/dist/types/presentation.d.ts.map +1 -0
- package/dist/types/primitives.d.ts +173 -0
- package/dist/types/primitives.d.ts.map +1 -0
- package/dist/types/streaming.d.ts +51 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/theme.d.ts +49 -0
- package/dist/types/theme.d.ts.map +1 -0
- package/dist/utils/cn.d.ts +7 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/styles.d.ts +36 -0
- package/dist/utils/styles.d.ts.map +1 -0
- package/package.json +83 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2024-12-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- 🎉 Initial release
|
|
13
|
+
- **Core Components**
|
|
14
|
+
- `VividProvider` - Root context provider for state management
|
|
15
|
+
- `SlideViewer` - Main slide rendering component with navigation
|
|
16
|
+
- `SlideRail` - Thumbnail navigation sidebar
|
|
17
|
+
- `ExportButton` - Export dropdown with multiple format options
|
|
18
|
+
- `StreamingIndicator` - Shows streaming generation progress
|
|
19
|
+
- `SlideRenderer` - Low-level slide rendering component
|
|
20
|
+
|
|
21
|
+
- **Element Components**
|
|
22
|
+
- `TextElement` - Rich text with formatting
|
|
23
|
+
- `ImageElement` - Images with fit modes
|
|
24
|
+
- `ShapeElement` - Rectangles, circles, lines
|
|
25
|
+
- `ChartElement` - Bar, line, pie, donut charts
|
|
26
|
+
- `TableElement` - Data tables with headers
|
|
27
|
+
- `ListElement` - Bulleted and numbered lists
|
|
28
|
+
- `MetricElement` - KPI/metric displays
|
|
29
|
+
- `ProgressElement` - Progress bars
|
|
30
|
+
- `CalloutElement` - Callout/info boxes
|
|
31
|
+
- `DividerElement` - Horizontal/vertical dividers
|
|
32
|
+
- `IconElement` - Icon displays
|
|
33
|
+
- `CodeElement` - Syntax-highlighted code blocks
|
|
34
|
+
|
|
35
|
+
- **Hooks**
|
|
36
|
+
- `useVividContext()` - Access main context
|
|
37
|
+
- `useSlideStream()` - Handle streaming generation
|
|
38
|
+
- `useKeyboardNavigation()` - Keyboard controls
|
|
39
|
+
|
|
40
|
+
- **Export Capabilities**
|
|
41
|
+
- PPTX export via pptxgenjs
|
|
42
|
+
- PDF export via jspdf + modern-screenshot
|
|
43
|
+
- PNG export via modern-screenshot
|
|
44
|
+
- JSON export for data backup
|
|
45
|
+
|
|
46
|
+
- **Theming**
|
|
47
|
+
- CSS custom properties for styling
|
|
48
|
+
- Works with any design system
|
|
49
|
+
- Light and dark theme support
|
|
50
|
+
- Tailwind CSS integration
|
|
51
|
+
|
|
52
|
+
- **Streaming Support**
|
|
53
|
+
- Real-time slide generation from AI/LLM
|
|
54
|
+
- Progress tracking
|
|
55
|
+
- Error handling
|
|
56
|
+
|
|
57
|
+
### Technical Details
|
|
58
|
+
|
|
59
|
+
- Built with React 18+ and TypeScript
|
|
60
|
+
- Tree-shakeable ESM and CJS bundles
|
|
61
|
+
- Full TypeScript definitions
|
|
62
|
+
- Zero runtime CSS (uses CSS variables with inline fallbacks)
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Adarsh Satpute
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__vite-browser-external-BcPniuRQ.cjs","sources":["../__vite-browser-external"],"sourcesContent":["export default {}"],"names":["__viteBrowserExternal"],"mappings":"gFAAA,MAAAA,EAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__vite-browser-external-DYxpcVy9.js","sources":["../__vite-browser-external"],"sourcesContent":["export default {}"],"names":["__viteBrowserExternal"],"mappings":"AAAA,MAAAA,IAAe,CAAA;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Presentation, Slide } from '../types';
|
|
3
|
+
|
|
4
|
+
export type ExportFormat = "pptx" | "pdf" | "png" | "json";
|
|
5
|
+
export interface ExportOptions {
|
|
6
|
+
/** Export format */
|
|
7
|
+
format: ExportFormat;
|
|
8
|
+
/** Custom filename (without extension) */
|
|
9
|
+
filename?: string;
|
|
10
|
+
/** For image export: slide indices to export (default: all) */
|
|
11
|
+
slideIndices?: number[];
|
|
12
|
+
/** For image export: scale factor */
|
|
13
|
+
scale?: number;
|
|
14
|
+
/** For PDF: include notes */
|
|
15
|
+
includeNotes?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ExportButtonProps {
|
|
18
|
+
/** Supported export formats */
|
|
19
|
+
formats?: ExportFormat[];
|
|
20
|
+
/** Custom className */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Custom style */
|
|
23
|
+
style?: React.CSSProperties;
|
|
24
|
+
/** Callback before export starts */
|
|
25
|
+
onExportStart?: (format: ExportFormat) => void;
|
|
26
|
+
/** Callback after export completes */
|
|
27
|
+
onExportComplete?: (format: ExportFormat, blob: Blob) => void;
|
|
28
|
+
/** Callback on export error */
|
|
29
|
+
onExportError?: (format: ExportFormat, error: Error) => void;
|
|
30
|
+
/** Custom export handlers (override default) */
|
|
31
|
+
customExporters?: Partial<Record<ExportFormat, (presentation: Presentation, slides: Slide[]) => Promise<Blob>>>;
|
|
32
|
+
/** Render as dropdown or individual buttons */
|
|
33
|
+
variant?: "dropdown" | "buttons";
|
|
34
|
+
/** Button label */
|
|
35
|
+
label?: string;
|
|
36
|
+
/** Children for custom rendering */
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
export declare const ExportButton: React.FC<ExportButtonProps>;
|
|
40
|
+
//# sourceMappingURL=ExportButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportButton.d.ts","sourceRoot":"","sources":["../../src/components/ExportButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oCAAoC;IACpC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9D,+BAA+B;IAC/B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7D,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CACvB,MAAM,CACJ,YAAY,EACZ,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAC/D,CACF,CAAC;IACF,+CAA+C;IAC/C,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAiBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgSpD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface SlideRailProps {
|
|
4
|
+
/** Thumbnail width */
|
|
5
|
+
thumbnailWidth?: number;
|
|
6
|
+
/** Orientation */
|
|
7
|
+
orientation?: "vertical" | "horizontal";
|
|
8
|
+
/** Show slide numbers */
|
|
9
|
+
showNumbers?: boolean;
|
|
10
|
+
/** Custom className */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Custom style */
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
/** Callback when slide is clicked */
|
|
15
|
+
onSlideClick?: (index: number) => void;
|
|
16
|
+
/** Enable drag to reorder (future feature) */
|
|
17
|
+
enableReorder?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare const SlideRail: React.FC<SlideRailProps>;
|
|
20
|
+
//# sourceMappingURL=SlideRail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideRail.d.ts","sourceRoot":"","sources":["../../src/components/SlideRail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuI9C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Slide } from '../types';
|
|
3
|
+
|
|
4
|
+
export declare const SLIDE_WIDTH = 960;
|
|
5
|
+
export declare const SLIDE_HEIGHT = 540;
|
|
6
|
+
export interface SlideRendererProps {
|
|
7
|
+
/** The slide to render */
|
|
8
|
+
slide: Slide;
|
|
9
|
+
/** Scale factor (1 = 100%) */
|
|
10
|
+
scale?: number;
|
|
11
|
+
/** Preview mode disables animations */
|
|
12
|
+
isPreview?: boolean;
|
|
13
|
+
/** Custom width override */
|
|
14
|
+
width?: number;
|
|
15
|
+
/** Custom height override */
|
|
16
|
+
height?: number;
|
|
17
|
+
/** Custom className */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Custom styles */
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
}
|
|
22
|
+
export declare const SlideRenderer: React.FC<SlideRendererProps>;
|
|
23
|
+
//# sourceMappingURL=SlideRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SlideRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EACV,KAAK,EAIN,MAAM,UAAU,CAAC;AAwBlB,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AA2LD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoDtD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface SlideViewerProps {
|
|
4
|
+
/** Custom width */
|
|
5
|
+
width?: number | string;
|
|
6
|
+
/** Custom height */
|
|
7
|
+
height?: number | string;
|
|
8
|
+
/** Enable keyboard navigation */
|
|
9
|
+
enableKeyboard?: boolean;
|
|
10
|
+
/** Show navigation controls */
|
|
11
|
+
showControls?: boolean;
|
|
12
|
+
/** Show slide counter */
|
|
13
|
+
showCounter?: boolean;
|
|
14
|
+
/** Custom className */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Custom style */
|
|
17
|
+
style?: React.CSSProperties;
|
|
18
|
+
/** Callback for fullscreen toggle */
|
|
19
|
+
onFullscreenChange?: (isFullscreen: boolean) => void;
|
|
20
|
+
/** Fit mode */
|
|
21
|
+
fitMode?: "contain" | "cover" | "none";
|
|
22
|
+
/** Initial scale (only for fitMode='none') */
|
|
23
|
+
initialScale?: number;
|
|
24
|
+
/** Enable animations between slides */
|
|
25
|
+
enableTransitions?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const SlideViewer: React.FC<SlideViewerProps>;
|
|
28
|
+
//# sourceMappingURL=SlideViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideViewer.d.ts","sourceRoot":"","sources":["../../src/components/SlideViewer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAMxE,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,iCAAiC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,eAAe;IACf,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8PlD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { StreamingStatus } from '../types';
|
|
3
|
+
|
|
4
|
+
export interface StreamingIndicatorProps {
|
|
5
|
+
/** Custom className */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Custom style */
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
/** Show progress bar */
|
|
10
|
+
showProgress?: boolean;
|
|
11
|
+
/** Show slide count */
|
|
12
|
+
showCount?: boolean;
|
|
13
|
+
/** Custom messages for each status */
|
|
14
|
+
messages?: Partial<Record<StreamingStatus, string>>;
|
|
15
|
+
/** Variant style */
|
|
16
|
+
variant?: "bar" | "pill" | "minimal";
|
|
17
|
+
/** Position (for fixed positioning) */
|
|
18
|
+
position?: "top" | "bottom" | "inline";
|
|
19
|
+
}
|
|
20
|
+
export declare const StreamingIndicator: React.FC<StreamingIndicatorProps>;
|
|
21
|
+
//# sourceMappingURL=StreamingIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingIndicator.d.ts","sourceRoot":"","sources":["../../src/components/StreamingIndicator.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,oBAAoB;IACpB,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACxC;AAoBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwQhE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CalloutElement as CalloutElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface CalloutElementProps {
|
|
5
|
+
element: CalloutElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const CalloutElement: React.FC<CalloutElementProps>;
|
|
8
|
+
//# sourceMappingURL=CalloutElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalloutElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/CalloutElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAwCD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4IxD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ChartElement as ChartElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface ChartElementProps {
|
|
5
|
+
element: ChartElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const ChartElement: React.FC<ChartElementProps>;
|
|
8
|
+
//# sourceMappingURL=ChartElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/ChartElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AA8YD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqDpD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CodeElement as CodeElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface CodeElementProps {
|
|
5
|
+
element: CodeElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const CodeElement: React.FC<CodeElementProps>;
|
|
8
|
+
//# sourceMappingURL=CodeElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/CodeElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAuHD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyFlD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DividerElement as DividerElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface DividerElementProps {
|
|
5
|
+
element: DividerElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const DividerElement: React.FC<DividerElementProps>;
|
|
8
|
+
//# sourceMappingURL=DividerElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DividerElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/DividerElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAmGxD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { IconElement as IconElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface IconElementProps {
|
|
5
|
+
element: IconElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const IconElement: React.FC<IconElementProps>;
|
|
8
|
+
//# sourceMappingURL=IconElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/IconElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyDlD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ImageElement as ImageElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface ImageElementProps {
|
|
5
|
+
element: ImageElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const ImageElement: React.FC<ImageElementProps>;
|
|
8
|
+
//# sourceMappingURL=ImageElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/ImageElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAKD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8EpD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ListElement as ListElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface ListElementProps {
|
|
5
|
+
element: ListElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const ListElement: React.FC<ListElementProps>;
|
|
8
|
+
//# sourceMappingURL=ListElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/ListElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAY,MAAM,aAAa,CAAC;AAG5E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAgCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuHlD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { MetricElement as MetricElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface MetricElementProps {
|
|
5
|
+
element: MetricElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const MetricElement: React.FC<MetricElementProps>;
|
|
8
|
+
//# sourceMappingURL=MetricElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/MetricElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGtE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4HtD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ProgressElement as ProgressElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface ProgressElementProps {
|
|
5
|
+
element: ProgressElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const ProgressElement: React.FC<ProgressElementProps>;
|
|
8
|
+
//# sourceMappingURL=ProgressElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/ProgressElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG1E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2L1D,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ShapeElement as ShapeElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface ShapeElementProps {
|
|
5
|
+
element: ShapeElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const ShapeElement: React.FC<ShapeElementProps>;
|
|
8
|
+
//# sourceMappingURL=ShapeElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShapeElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/ShapeElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmRpD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { TableElement as TableElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface TableElementProps {
|
|
5
|
+
element: TableElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const TableElement: React.FC<TableElementProps>;
|
|
8
|
+
//# sourceMappingURL=TableElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/TableElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0HpD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { TextElement as TextElementType } from '../../types';
|
|
3
|
+
|
|
4
|
+
export interface TextElementProps {
|
|
5
|
+
element: TextElementType;
|
|
6
|
+
}
|
|
7
|
+
export declare const TextElement: React.FC<TextElementProps>;
|
|
8
|
+
//# sourceMappingURL=TextElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../src/components/elements/TextElement.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAa,MAAM,aAAa,CAAC;AAG7E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAwBD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoDlD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { TextElement } from './TextElement';
|
|
2
|
+
export { ImageElement } from './ImageElement';
|
|
3
|
+
export { ListElement } from './ListElement';
|
|
4
|
+
export { ChartElement } from './ChartElement';
|
|
5
|
+
export { TableElement } from './TableElement';
|
|
6
|
+
export { ShapeElement } from './ShapeElement';
|
|
7
|
+
export { MetricElement } from './MetricElement';
|
|
8
|
+
export { CalloutElement } from './CalloutElement';
|
|
9
|
+
export { ProgressElement } from './ProgressElement';
|
|
10
|
+
export { CodeElement } from './CodeElement';
|
|
11
|
+
export { DividerElement } from './DividerElement';
|
|
12
|
+
export { IconElement } from './IconElement';
|
|
13
|
+
export type { TextElementProps } from './TextElement';
|
|
14
|
+
export type { ImageElementProps } from './ImageElement';
|
|
15
|
+
export type { ListElementProps } from './ListElement';
|
|
16
|
+
export type { ChartElementProps } from './ChartElement';
|
|
17
|
+
export type { TableElementProps } from './TableElement';
|
|
18
|
+
export type { ShapeElementProps } from './ShapeElement';
|
|
19
|
+
export type { MetricElementProps } from './MetricElement';
|
|
20
|
+
export type { CalloutElementProps } from './CalloutElement';
|
|
21
|
+
export type { ProgressElementProps } from './ProgressElement';
|
|
22
|
+
export type { CodeElementProps } from './CodeElement';
|
|
23
|
+
export type { DividerElementProps } from './DividerElement';
|
|
24
|
+
export type { IconElementProps } from './IconElement';
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/elements/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { SlideRenderer, SLIDE_WIDTH, SLIDE_HEIGHT, type SlideRendererProps, } from './SlideRenderer';
|
|
2
|
+
export { SlideViewer, type SlideViewerProps } from './SlideViewer';
|
|
3
|
+
export { SlideRail, type SlideRailProps } from './SlideRail';
|
|
4
|
+
export { ExportButton, type ExportButtonProps } from './ExportButton';
|
|
5
|
+
export { StreamingIndicator, type StreamingIndicatorProps, } from './StreamingIndicator';
|
|
6
|
+
export * from './elements';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Presentation, Slide, DesignSystem, StreamingStatus, VividError } from '../types';
|
|
3
|
+
|
|
4
|
+
export interface VividState {
|
|
5
|
+
presentation: Presentation | null;
|
|
6
|
+
slides: Slide[];
|
|
7
|
+
currentSlideIndex: number;
|
|
8
|
+
theme: DesignSystem;
|
|
9
|
+
streamingStatus: StreamingStatus;
|
|
10
|
+
streamingProgress: number;
|
|
11
|
+
totalSlides: number;
|
|
12
|
+
error: VividError | null;
|
|
13
|
+
aspectRatio: "16:9" | "4:3" | "16:10" | "1:1";
|
|
14
|
+
animations: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface VividContextValue {
|
|
17
|
+
state: VividState;
|
|
18
|
+
presentation: Presentation | null;
|
|
19
|
+
slides: Slide[];
|
|
20
|
+
currentSlideIndex: number;
|
|
21
|
+
theme: DesignSystem;
|
|
22
|
+
streamingStatus: StreamingStatus;
|
|
23
|
+
streamingProgress: {
|
|
24
|
+
current: number;
|
|
25
|
+
total: number;
|
|
26
|
+
};
|
|
27
|
+
streamingError: VividError | null;
|
|
28
|
+
currentSlide: Slide | null;
|
|
29
|
+
isLoading: boolean;
|
|
30
|
+
isStreaming: boolean;
|
|
31
|
+
canGoNext: boolean;
|
|
32
|
+
canGoPrev: boolean;
|
|
33
|
+
setPresentation: (presentation: Presentation) => void;
|
|
34
|
+
setSlides: (slides: Slide[]) => void;
|
|
35
|
+
addSlide: (slide: Slide) => void;
|
|
36
|
+
updateSlide: (index: number, slide: Partial<Slide>) => void;
|
|
37
|
+
clearSlides: () => void;
|
|
38
|
+
goToSlide: (index: number) => void;
|
|
39
|
+
nextSlide: () => void;
|
|
40
|
+
prevSlide: () => void;
|
|
41
|
+
setTheme: (theme: DesignSystem) => void;
|
|
42
|
+
setStreamingStatus: (status: StreamingStatus) => void;
|
|
43
|
+
setStreamingProgress: (current: number, total: number) => void;
|
|
44
|
+
setStreamingError: (error: VividError | null) => void;
|
|
45
|
+
setError: (error: VividError | null) => void;
|
|
46
|
+
reset: () => void;
|
|
47
|
+
}
|
|
48
|
+
declare const VividContext: React.Context<VividContextValue | null>;
|
|
49
|
+
export interface VividProviderProps {
|
|
50
|
+
/** Initial presentation data */
|
|
51
|
+
presentation?: Presentation | null;
|
|
52
|
+
/** Initial theme */
|
|
53
|
+
theme?: DesignSystem | "light" | "dark";
|
|
54
|
+
/** Aspect ratio for slides */
|
|
55
|
+
aspectRatio?: "16:9" | "4:3" | "16:10" | "1:1";
|
|
56
|
+
/** Enable/disable animations */
|
|
57
|
+
animations?: boolean;
|
|
58
|
+
/** Callback when slide changes */
|
|
59
|
+
onSlideChange?: (index: number) => void;
|
|
60
|
+
/** Callback when error occurs */
|
|
61
|
+
onError?: (error: VividError) => void;
|
|
62
|
+
/** Children */
|
|
63
|
+
children: React.ReactNode;
|
|
64
|
+
}
|
|
65
|
+
export declare function VividProvider({ presentation: initialPresentation, theme: initialTheme, aspectRatio, animations, onSlideChange, onError, children, }: VividProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
export declare function useVividContext(): VividContextValue;
|
|
67
|
+
export { VividContext };
|
|
68
|
+
//# sourceMappingURL=VividContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VividContext.d.ts","sourceRoot":"","sources":["../../src/context/VividContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9E,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,GACX,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Presentation, Slide } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface PdfExportOptions {
|
|
4
|
+
/** Output filename (without extension) */
|
|
5
|
+
filename?: string;
|
|
6
|
+
/** Rendering scale (default: 2 for high quality) */
|
|
7
|
+
scale?: number;
|
|
8
|
+
/** Background color for slides */
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
/** Progress callback */
|
|
11
|
+
onProgress?: (current: number, total: number) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Export presentation to PDF with pixel-perfect rendering
|
|
15
|
+
* Returns a Blob for flexible handling (download, upload, etc.)
|
|
16
|
+
*/
|
|
17
|
+
export declare function exportToPdfBlob(_presentation: Presentation, slides: Slide[], options?: PdfExportOptions): Promise<Blob>;
|
|
18
|
+
/**
|
|
19
|
+
* Export presentation to PDF and trigger download
|
|
20
|
+
*/
|
|
21
|
+
export declare function exportToPdf(presentation: Presentation, slides: Slide[], options?: PdfExportOptions): Promise<void>;
|
|
22
|
+
export default exportToPdf;
|
|
23
|
+
//# sourceMappingURL=PdfExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfExporter.d.ts","sourceRoot":"","sources":["../../src/exports/PdfExporter.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAuFD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,YAAY,EAC3B,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAef;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Presentation, Slide } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface PngExportOptions {
|
|
4
|
+
/** Output filename (without extension) */
|
|
5
|
+
filename?: string;
|
|
6
|
+
/** Rendering scale (default: 2 for high quality) */
|
|
7
|
+
scale?: number;
|
|
8
|
+
/** Background color for slides */
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
/** Which slide to export (1-indexed), default exports first slide */
|
|
11
|
+
slideIndex?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Export a slide as PNG blob
|
|
15
|
+
*/
|
|
16
|
+
export declare function exportToPngBlob(_presentation: Presentation, slides: Slide[], options?: PngExportOptions): Promise<Blob>;
|
|
17
|
+
/**
|
|
18
|
+
* Export a slide as PNG and trigger download
|
|
19
|
+
*/
|
|
20
|
+
export declare function exportToPng(presentation: Presentation, slides: Slide[], options?: PngExportOptions): Promise<void>;
|
|
21
|
+
export default exportToPng;
|
|
22
|
+
//# sourceMappingURL=PngExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PngExporter.d.ts","sourceRoot":"","sources":["../../src/exports/PngExporter.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuFD;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,YAAY,EAC3B,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,eAAe,WAAW,CAAC"}
|