@gendive/slide 0.1.15 → 0.1.17

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/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export { calculateSnap } from './utils/snap';
19
19
  export { generatePptx } from './lib/pptxGenerator';
20
20
  export { parsePptx } from './lib/pptxParser';
21
21
  export { LAYOUT_TEMPLATES, getLayoutTemplate } from './data/templates';
22
- export type { Slide, SlideElement, BaseElement, TextElement, ShapeElement, ImageElement, ShapeType, TextStyleType, FontFamily, EditorMode, SnapSettings, LayoutType, ThemeType, ThemeColors, LayoutTemplate, EditorState, EditorActions, HistoryState, } from './types';
22
+ export type { Slide, SlideElement, BaseElement, TextElement, ShapeElement, ImageElement, ShapeType, TextStyleType, FontFamily, EditorMode, SnapSettings, LayoutType, ThemeType, ThemeColors, LayoutTemplate, EditorState, EditorActions, HistoryState, SlideDocument, EditorHandle, } from './types';
23
23
  export { TEXT_STYLE_PRESETS, THEME_PRESETS } from './types';
24
24
  export type { AiProviderType, AiProviderConfig, DevDiveConfig, } from './ai/types';
25
25
  /**
@@ -142,6 +142,34 @@ export interface SnapSettings {
142
142
  snapToElements: boolean;
143
143
  threshold: number;
144
144
  }
145
+ /**
146
+ * @description 슬라이드 문서 (저장/불러오기용)
147
+ * @Todo vibecode - 호스트 앱에서 JSON 직렬화/역직렬화
148
+ */
149
+ export interface SlideDocument {
150
+ version: string;
151
+ slides: Slide[];
152
+ metadata?: {
153
+ title?: string;
154
+ createdAt?: string;
155
+ updatedAt?: string;
156
+ };
157
+ }
158
+ /**
159
+ * @description Editor ref 핸들 인터페이스
160
+ * @Todo vibecode - forwardRef로 외부에서 에디터 제어
161
+ */
162
+ export interface EditorHandle {
163
+ /** 현재 에디터 내용을 JSON으로 추출 */
164
+ getSlideData(): SlideDocument;
165
+ /** JSON 데이터를 에디터에 로드 */
166
+ loadSlideData(data: SlideDocument): void;
167
+ /** 첫 번째 슬라이드 썸네일을 Blob으로 반환 */
168
+ getThumbnail(options?: {
169
+ width?: number;
170
+ height?: number;
171
+ }): Promise<Blob>;
172
+ }
145
173
  export interface HistoryState {
146
174
  slides: Slide[];
147
175
  currentSlideIndex: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gendive/slide",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "DevDive PPTX Slide Editor - React component library for creating and editing presentations",