@reslide-dev/core 0.1.0 → 0.2.1

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.
@@ -0,0 +1,240 @@
1
+ import { CSSProperties, ReactNode } from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/SlideTransition.d.ts
5
+ type TransitionType = "none" | "fade" | "slide-left" | "slide-right" | "slide-up" | "slide-down";
6
+ //#endregion
7
+ //#region src/Deck.d.ts
8
+ interface DeckProps {
9
+ children: ReactNode;
10
+ /** Slide transition type */
11
+ transition?: TransitionType;
12
+ }
13
+ declare function Deck({
14
+ children,
15
+ transition
16
+ }: DeckProps): react_jsx_runtime0.JSX.Element;
17
+ //#endregion
18
+ //#region src/Slide.d.ts
19
+ interface SlideProps {
20
+ children: ReactNode;
21
+ /** Layout variant for the slide */
22
+ layout?: string;
23
+ /** Image URL for image-right / image-left layouts */
24
+ image?: string;
25
+ /** Additional CSS class name */
26
+ className?: string;
27
+ /** Additional inline styles */
28
+ style?: CSSProperties;
29
+ }
30
+ declare function Slide({
31
+ children,
32
+ layout,
33
+ image,
34
+ className,
35
+ style
36
+ }: SlideProps): react_jsx_runtime0.JSX.Element;
37
+ //#endregion
38
+ //#region src/Click.d.ts
39
+ interface ClickProps {
40
+ children: ReactNode;
41
+ /** The click step at which this content becomes visible (1-based) */
42
+ at?: number;
43
+ }
44
+ declare function Click({
45
+ children,
46
+ at
47
+ }: ClickProps): react_jsx_runtime0.JSX.Element;
48
+ /**
49
+ * Register click steps for the current slide.
50
+ * Automatically reads the slide index from SlideIndexContext.
51
+ * If slideIndex prop is provided, it takes precedence (for backwards compatibility).
52
+ */
53
+ declare function ClickSteps({
54
+ count,
55
+ slideIndex
56
+ }: {
57
+ count: number;
58
+ slideIndex?: number;
59
+ }): null;
60
+ //#endregion
61
+ //#region src/Mark.d.ts
62
+ interface MarkProps {
63
+ children: ReactNode;
64
+ /** Mark style type */
65
+ type?: "highlight" | "underline" | "circle";
66
+ /** Color name (maps to CSS variable or direct color) */
67
+ color?: string;
68
+ }
69
+ declare function Mark({
70
+ children,
71
+ type,
72
+ color
73
+ }: MarkProps): react_jsx_runtime0.JSX.Element;
74
+ //#endregion
75
+ //#region src/Notes.d.ts
76
+ interface NotesProps {
77
+ children: ReactNode;
78
+ }
79
+ /**
80
+ * Speaker notes. Hidden during normal presentation,
81
+ * visible in overview mode.
82
+ */
83
+ declare function Notes({
84
+ children
85
+ }: NotesProps): react_jsx_runtime0.JSX.Element | null;
86
+ //#endregion
87
+ //#region src/Slot.d.ts
88
+ interface SlotProps {
89
+ children: ReactNode;
90
+ }
91
+ /**
92
+ * Marks content as belonging to the right column in a two-cols layout.
93
+ * Used by remarkSlides to separate `::right` content.
94
+ */
95
+ declare function SlotRight({
96
+ children
97
+ }: SlotProps): react_jsx_runtime0.JSX.Element;
98
+ declare namespace SlotRight {
99
+ var displayName: string;
100
+ }
101
+ declare namespace SlotRight {
102
+ var __reslideSlot: "right";
103
+ }
104
+ //#endregion
105
+ //#region src/PresenterView.d.ts
106
+ interface PresenterViewProps {
107
+ children: ReactNode;
108
+ /** Render function for notes content per slide */
109
+ notes?: ReactNode[];
110
+ }
111
+ /**
112
+ * Presenter view that syncs with the main presentation window.
113
+ * Shows: current slide, next slide preview, notes, and timer.
114
+ * Supports bidirectional control — navigate from this window to
115
+ * drive the main presentation.
116
+ */
117
+ declare function PresenterView({
118
+ children,
119
+ notes
120
+ }: PresenterViewProps): react_jsx_runtime0.JSX.Element;
121
+ //#endregion
122
+ //#region src/use-presenter.d.ts
123
+ /**
124
+ * Opens the presenter window at the /presenter route.
125
+ */
126
+ declare function openPresenterWindow(): void;
127
+ /**
128
+ * Check if the current window is the presenter view.
129
+ */
130
+ declare function isPresenterView(): boolean;
131
+ //#endregion
132
+ //#region src/GlobalLayer.d.ts
133
+ interface GlobalLayerProps {
134
+ children: ReactNode;
135
+ /** z-index position: 'above' renders on top of slides, 'below' renders behind */
136
+ position?: "above" | "below";
137
+ /** Additional styles */
138
+ style?: CSSProperties;
139
+ }
140
+ /**
141
+ * Global overlay layer that persists across all slides.
142
+ * Use for headers, footers, logos, watermarks, or progress bars.
143
+ *
144
+ * Place inside <Deck> to render on every slide.
145
+ *
146
+ * @example
147
+ * ```tsx
148
+ * <Deck>
149
+ * <GlobalLayer position="above" style={{ bottom: 0 }}>
150
+ * <footer>My Company</footer>
151
+ * </GlobalLayer>
152
+ * <Slide>...</Slide>
153
+ * </Deck>
154
+ * ```
155
+ */
156
+ declare function GlobalLayer({
157
+ children,
158
+ position,
159
+ style
160
+ }: GlobalLayerProps): react_jsx_runtime0.JSX.Element;
161
+ declare namespace GlobalLayer {
162
+ var displayName: string;
163
+ }
164
+ declare namespace GlobalLayer {
165
+ var __reslideGlobalLayer: true;
166
+ }
167
+ //#endregion
168
+ //#region src/Draggable.d.ts
169
+ interface DraggableProps {
170
+ children: ReactNode;
171
+ /** Initial x position (px or %) */
172
+ x?: number | string;
173
+ /** Initial y position (px or %) */
174
+ y?: number | string;
175
+ /** Additional styles */
176
+ style?: CSSProperties;
177
+ }
178
+ /**
179
+ * A draggable element within a slide.
180
+ * Click and drag to reposition during presentation.
181
+ */
182
+ declare function Draggable({
183
+ children,
184
+ x,
185
+ y,
186
+ style
187
+ }: DraggableProps): react_jsx_runtime0.JSX.Element;
188
+ //#endregion
189
+ //#region src/Toc.d.ts
190
+ interface TocProps {
191
+ /** The slide elements to extract headings from */
192
+ children: ReactNode;
193
+ /** Additional CSS class name */
194
+ className?: string;
195
+ /** Additional inline styles */
196
+ style?: CSSProperties;
197
+ }
198
+ /**
199
+ * Table of Contents component that renders a clickable list of slides
200
+ * with their heading text extracted from h1/h2 elements.
201
+ *
202
+ * Must be rendered inside a `<Deck>` component.
203
+ *
204
+ * ```tsx
205
+ * <Toc>
206
+ * <Slide><h1>Introduction</h1></Slide>
207
+ * <Slide><h2>Agenda</h2></Slide>
208
+ * </Toc>
209
+ * ```
210
+ */
211
+ declare function Toc({
212
+ children,
213
+ className,
214
+ style
215
+ }: TocProps): react_jsx_runtime0.JSX.Element;
216
+ //#endregion
217
+ //#region src/Mermaid.d.ts
218
+ interface MermaidProps {
219
+ /** Mermaid diagram code */
220
+ children: string;
221
+ }
222
+ /**
223
+ * Renders a Mermaid diagram.
224
+ *
225
+ * Usage in MDX:
226
+ * ```mdx
227
+ * <Mermaid>
228
+ * graph TD
229
+ * A --> B
230
+ * </Mermaid>
231
+ * ```
232
+ *
233
+ * The mermaid library is dynamically imported on the client side,
234
+ * so it does not need to be installed as a project dependency.
235
+ */
236
+ declare function Mermaid({
237
+ children
238
+ }: MermaidProps): react_jsx_runtime0.JSX.Element;
239
+ //#endregion
240
+ export { Deck as C, SlideProps as S, TransitionType as T, MarkProps as _, Draggable as a, ClickSteps as b, GlobalLayerProps as c, PresenterView as d, PresenterViewProps as f, Mark as g, NotesProps as h, TocProps as i, isPresenterView as l, Notes as m, MermaidProps as n, DraggableProps as o, SlotRight as p, Toc as r, GlobalLayer as s, Mermaid as t, openPresenterWindow as u, Click as v, DeckProps as w, Slide as x, ClickProps as y };
package/dist/index.d.mts CHANGED
@@ -1,108 +1,8 @@
1
+ import { C as Deck, S as SlideProps, T as TransitionType, _ as MarkProps, a as Draggable, b as ClickSteps, c as GlobalLayerProps, d as PresenterView, f as PresenterViewProps, g as Mark, h as NotesProps, i as TocProps, l as isPresenterView, m as Notes, n as MermaidProps, o as DraggableProps, p as SlotRight, r as Toc, s as GlobalLayer, t as Mermaid, u as openPresenterWindow, v as Click, w as DeckProps, x as Slide, y as ClickProps } from "./Mermaid-CUQUPHdK.mjs";
1
2
  import * as react from "react";
2
- import { CSSProperties, ComponentType, ReactNode } from "react";
3
+ import { CSSProperties, ElementType, ReactNode } from "react";
3
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
5
 
5
- //#region src/SlideTransition.d.ts
6
- type TransitionType = "none" | "fade" | "slide-left" | "slide-right" | "slide-up" | "slide-down";
7
- //#endregion
8
- //#region src/Deck.d.ts
9
- interface DeckProps {
10
- children: ReactNode;
11
- /** Slide transition type */
12
- transition?: TransitionType;
13
- }
14
- declare function Deck({
15
- children,
16
- transition
17
- }: DeckProps): react_jsx_runtime0.JSX.Element;
18
- //#endregion
19
- //#region src/Slide.d.ts
20
- interface SlideProps {
21
- children: ReactNode;
22
- /** Layout variant for the slide */
23
- layout?: string;
24
- /** Image URL for image-right / image-left layouts */
25
- image?: string;
26
- /** Additional CSS class name */
27
- className?: string;
28
- /** Additional inline styles */
29
- style?: CSSProperties;
30
- }
31
- declare function Slide({
32
- children,
33
- layout,
34
- image,
35
- className,
36
- style
37
- }: SlideProps): react_jsx_runtime0.JSX.Element;
38
- //#endregion
39
- //#region src/Click.d.ts
40
- interface ClickProps {
41
- children: ReactNode;
42
- /** The click step at which this content becomes visible (1-based) */
43
- at?: number;
44
- }
45
- declare function Click({
46
- children,
47
- at
48
- }: ClickProps): react_jsx_runtime0.JSX.Element;
49
- /**
50
- * Register click steps for the current slide.
51
- * Automatically reads the slide index from SlideIndexContext.
52
- * If slideIndex prop is provided, it takes precedence (for backwards compatibility).
53
- */
54
- declare function ClickSteps({
55
- count,
56
- slideIndex
57
- }: {
58
- count: number;
59
- slideIndex?: number;
60
- }): null;
61
- //#endregion
62
- //#region src/Mark.d.ts
63
- interface MarkProps {
64
- children: ReactNode;
65
- /** Mark style type */
66
- type?: "highlight" | "underline" | "circle";
67
- /** Color name (maps to CSS variable or direct color) */
68
- color?: string;
69
- }
70
- declare function Mark({
71
- children,
72
- type,
73
- color
74
- }: MarkProps): react_jsx_runtime0.JSX.Element;
75
- //#endregion
76
- //#region src/Notes.d.ts
77
- interface NotesProps {
78
- children: ReactNode;
79
- }
80
- /**
81
- * Speaker notes. Hidden during normal presentation,
82
- * visible in overview mode.
83
- */
84
- declare function Notes({
85
- children
86
- }: NotesProps): react_jsx_runtime0.JSX.Element | null;
87
- //#endregion
88
- //#region src/Slot.d.ts
89
- interface SlotProps {
90
- children: ReactNode;
91
- }
92
- /**
93
- * Marks content as belonging to the right column in a two-cols layout.
94
- * Used by remarkSlides to separate `::right` content.
95
- */
96
- declare function SlotRight({
97
- children
98
- }: SlotProps): react_jsx_runtime0.JSX.Element;
99
- declare namespace SlotRight {
100
- var displayName: string;
101
- }
102
- declare namespace SlotRight {
103
- var __reslideSlot: "right";
104
- }
105
- //#endregion
106
6
  //#region src/PrintView.d.ts
107
7
  /**
108
8
  * Renders all slides vertically for print/PDF export.
@@ -114,35 +14,12 @@ declare function PrintView({
114
14
  children: ReactNode;
115
15
  }): react_jsx_runtime0.JSX.Element;
116
16
  //#endregion
117
- //#region src/PresenterView.d.ts
118
- interface PresenterViewProps {
119
- children: ReactNode;
120
- /** Render function for notes content per slide */
121
- notes?: ReactNode[];
122
- }
123
- /**
124
- * Presenter view that syncs with the main presentation window.
125
- * Shows: current slide, next slide preview, notes, and timer.
126
- */
127
- declare function PresenterView({
128
- children,
129
- notes
130
- }: PresenterViewProps): react_jsx_runtime0.JSX.Element;
131
- //#endregion
132
- //#region src/use-presenter.d.ts
133
- /**
134
- * Opens the presenter window at the /presenter route.
135
- */
136
- declare function openPresenterWindow(): void;
137
- /**
138
- * Check if the current window is the presenter view.
139
- */
140
- declare function isPresenterView(): boolean;
141
- //#endregion
142
17
  //#region src/DrawingLayer.d.ts
143
18
  interface DrawingLayerProps {
144
19
  /** Whether drawing mode is active */
145
20
  active: boolean;
21
+ /** Current slide index — drawings are stored per slide */
22
+ currentSlide: number;
146
23
  /** Pen color */
147
24
  color?: string;
148
25
  /** Pen width */
@@ -150,10 +27,12 @@ interface DrawingLayerProps {
150
27
  }
151
28
  /**
152
29
  * Canvas-based freehand drawing overlay for presentations.
153
- * Toggle with `d` key (handled in Deck).
30
+ * Drawings are stored per slide and persist across navigation.
31
+ * Toggle with `d` key, clear current slide with `c` key.
154
32
  */
155
33
  declare function DrawingLayer({
156
34
  active,
35
+ currentSlide,
157
36
  color,
158
37
  width
159
38
  }: DrawingLayerProps): react_jsx_runtime0.JSX.Element;
@@ -188,114 +67,6 @@ declare function CodeEditor({
188
67
  style
189
68
  }: CodeEditorProps): react_jsx_runtime0.JSX.Element;
190
69
  //#endregion
191
- //#region src/GlobalLayer.d.ts
192
- interface GlobalLayerProps {
193
- children: ReactNode;
194
- /** z-index position: 'above' renders on top of slides, 'below' renders behind */
195
- position?: "above" | "below";
196
- /** Additional styles */
197
- style?: CSSProperties;
198
- }
199
- /**
200
- * Global overlay layer that persists across all slides.
201
- * Use for headers, footers, logos, watermarks, or progress bars.
202
- *
203
- * Place inside <Deck> to render on every slide.
204
- *
205
- * @example
206
- * ```tsx
207
- * <Deck>
208
- * <GlobalLayer position="above" style={{ bottom: 0 }}>
209
- * <footer>My Company</footer>
210
- * </GlobalLayer>
211
- * <Slide>...</Slide>
212
- * </Deck>
213
- * ```
214
- */
215
- declare function GlobalLayer({
216
- children,
217
- position,
218
- style
219
- }: GlobalLayerProps): react_jsx_runtime0.JSX.Element;
220
- declare namespace GlobalLayer {
221
- var displayName: string;
222
- }
223
- declare namespace GlobalLayer {
224
- var __reslideGlobalLayer: true;
225
- }
226
- //#endregion
227
- //#region src/Draggable.d.ts
228
- interface DraggableProps {
229
- children: ReactNode;
230
- /** Initial x position (px or %) */
231
- x?: number | string;
232
- /** Initial y position (px or %) */
233
- y?: number | string;
234
- /** Additional styles */
235
- style?: CSSProperties;
236
- }
237
- /**
238
- * A draggable element within a slide.
239
- * Click and drag to reposition during presentation.
240
- */
241
- declare function Draggable({
242
- children,
243
- x,
244
- y,
245
- style
246
- }: DraggableProps): react_jsx_runtime0.JSX.Element;
247
- //#endregion
248
- //#region src/Toc.d.ts
249
- interface TocProps {
250
- /** The slide elements to extract headings from */
251
- children: ReactNode;
252
- /** Additional CSS class name */
253
- className?: string;
254
- /** Additional inline styles */
255
- style?: CSSProperties;
256
- }
257
- /**
258
- * Table of Contents component that renders a clickable list of slides
259
- * with their heading text extracted from h1/h2 elements.
260
- *
261
- * Must be rendered inside a `<Deck>` component.
262
- *
263
- * ```tsx
264
- * <Toc>
265
- * <Slide><h1>Introduction</h1></Slide>
266
- * <Slide><h2>Agenda</h2></Slide>
267
- * </Toc>
268
- * ```
269
- */
270
- declare function Toc({
271
- children,
272
- className,
273
- style
274
- }: TocProps): react_jsx_runtime0.JSX.Element;
275
- //#endregion
276
- //#region src/Mermaid.d.ts
277
- interface MermaidProps {
278
- /** Mermaid diagram code */
279
- children: string;
280
- }
281
- /**
282
- * Renders a Mermaid diagram.
283
- *
284
- * Usage in MDX:
285
- * ```mdx
286
- * <Mermaid>
287
- * graph TD
288
- * A --> B
289
- * </Mermaid>
290
- * ```
291
- *
292
- * The mermaid library is dynamically imported on the client side,
293
- * so it does not need to be installed as a project dependency.
294
- */
295
- declare function Mermaid({
296
- children
297
- }: MermaidProps): react_jsx_runtime0.JSX.Element;
298
- //#endregion
299
70
  //#region src/ClickNavigation.d.ts
300
71
  interface ClickNavigationProps {
301
72
  onPrev: () => void;
@@ -314,6 +85,19 @@ declare function ClickNavigation({
314
85
  disabled
315
86
  }: ClickNavigationProps): react_jsx_runtime0.JSX.Element | null;
316
87
  //#endregion
88
+ //#region src/NavigationBar.d.ts
89
+ /**
90
+ * Slidev-style navigation bar that appears on hover at the bottom of the presentation.
91
+ * Provides buttons for prev/next, overview, fullscreen, presenter, and drawing modes.
92
+ */
93
+ declare function NavigationBar({
94
+ isDrawing,
95
+ onToggleDrawing
96
+ }: {
97
+ isDrawing: boolean;
98
+ onToggleDrawing: () => void;
99
+ }): react_jsx_runtime0.JSX.Element;
100
+ //#endregion
317
101
  //#region src/ProgressBar.d.ts
318
102
  declare function ProgressBar(): react_jsx_runtime0.JSX.Element;
319
103
  //#endregion
@@ -324,7 +108,7 @@ interface ReslideEmbedProps {
324
108
  /** Slide transition type */
325
109
  transition?: TransitionType;
326
110
  /** Additional MDX components to provide */
327
- components?: Record<string, ComponentType>;
111
+ components?: Record<string, ElementType>;
328
112
  /** Wrapper around the Deck (for styling) */
329
113
  className?: string;
330
114
  /** Inline styles for the container */
@@ -391,4 +175,4 @@ declare function useDeck(): DeckContextValue;
391
175
  declare const SlideIndexContext: react.Context<number | null>;
392
176
  declare function useSlideIndex(): number;
393
177
  //#endregion
394
- export { Click, ClickNavigation, type ClickProps, ClickSteps, CodeEditor, type CodeEditorProps, Deck, type DeckActions, DeckContext, type DeckContextValue, type DeckProps, type DeckState, Draggable, type DraggableProps, DrawingLayer, type DrawingLayerProps, GlobalLayer, type GlobalLayerProps, Mark, type MarkProps, Mermaid, type MermaidProps, Notes, type NotesProps, PresenterView, type PresenterViewProps, PrintView, ProgressBar, ReslideEmbed, type ReslideEmbedProps, Slide, SlideIndexContext, type SlideProps, SlotRight, Toc, type TocProps, type TransitionType, isPresenterView, openPresenterWindow, useDeck, useSlideIndex };
178
+ export { Click, ClickNavigation, type ClickProps, ClickSteps, CodeEditor, type CodeEditorProps, Deck, type DeckActions, DeckContext, type DeckContextValue, type DeckProps, type DeckState, Draggable, type DraggableProps, DrawingLayer, type DrawingLayerProps, GlobalLayer, type GlobalLayerProps, Mark, type MarkProps, Mermaid, type MermaidProps, NavigationBar, Notes, type NotesProps, PresenterView, type PresenterViewProps, PrintView, ProgressBar, ReslideEmbed, type ReslideEmbedProps, Slide, SlideIndexContext, type SlideProps, SlotRight, Toc, type TocProps, type TransitionType, isPresenterView, openPresenterWindow, useDeck, useSlideIndex };