@reslide-dev/core 0.2.0 → 0.2.2

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,33 +14,6 @@ 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
- * Supports bidirectional control — navigate from this window to
127
- * drive the main presentation.
128
- */
129
- declare function PresenterView({
130
- children,
131
- notes
132
- }: PresenterViewProps): react_jsx_runtime0.JSX.Element;
133
- //#endregion
134
- //#region src/use-presenter.d.ts
135
- /**
136
- * Opens the presenter window at the /presenter route.
137
- */
138
- declare function openPresenterWindow(): void;
139
- /**
140
- * Check if the current window is the presenter view.
141
- */
142
- declare function isPresenterView(): boolean;
143
- //#endregion
144
17
  //#region src/DrawingLayer.d.ts
145
18
  interface DrawingLayerProps {
146
19
  /** Whether drawing mode is active */
@@ -194,114 +67,6 @@ declare function CodeEditor({
194
67
  style
195
68
  }: CodeEditorProps): react_jsx_runtime0.JSX.Element;
196
69
  //#endregion
197
- //#region src/GlobalLayer.d.ts
198
- interface GlobalLayerProps {
199
- children: ReactNode;
200
- /** z-index position: 'above' renders on top of slides, 'below' renders behind */
201
- position?: "above" | "below";
202
- /** Additional styles */
203
- style?: CSSProperties;
204
- }
205
- /**
206
- * Global overlay layer that persists across all slides.
207
- * Use for headers, footers, logos, watermarks, or progress bars.
208
- *
209
- * Place inside <Deck> to render on every slide.
210
- *
211
- * @example
212
- * ```tsx
213
- * <Deck>
214
- * <GlobalLayer position="above" style={{ bottom: 0 }}>
215
- * <footer>My Company</footer>
216
- * </GlobalLayer>
217
- * <Slide>...</Slide>
218
- * </Deck>
219
- * ```
220
- */
221
- declare function GlobalLayer({
222
- children,
223
- position,
224
- style
225
- }: GlobalLayerProps): react_jsx_runtime0.JSX.Element;
226
- declare namespace GlobalLayer {
227
- var displayName: string;
228
- }
229
- declare namespace GlobalLayer {
230
- var __reslideGlobalLayer: true;
231
- }
232
- //#endregion
233
- //#region src/Draggable.d.ts
234
- interface DraggableProps {
235
- children: ReactNode;
236
- /** Initial x position (px or %) */
237
- x?: number | string;
238
- /** Initial y position (px or %) */
239
- y?: number | string;
240
- /** Additional styles */
241
- style?: CSSProperties;
242
- }
243
- /**
244
- * A draggable element within a slide.
245
- * Click and drag to reposition during presentation.
246
- */
247
- declare function Draggable({
248
- children,
249
- x,
250
- y,
251
- style
252
- }: DraggableProps): react_jsx_runtime0.JSX.Element;
253
- //#endregion
254
- //#region src/Toc.d.ts
255
- interface TocProps {
256
- /** The slide elements to extract headings from */
257
- children: ReactNode;
258
- /** Additional CSS class name */
259
- className?: string;
260
- /** Additional inline styles */
261
- style?: CSSProperties;
262
- }
263
- /**
264
- * Table of Contents component that renders a clickable list of slides
265
- * with their heading text extracted from h1/h2 elements.
266
- *
267
- * Must be rendered inside a `<Deck>` component.
268
- *
269
- * ```tsx
270
- * <Toc>
271
- * <Slide><h1>Introduction</h1></Slide>
272
- * <Slide><h2>Agenda</h2></Slide>
273
- * </Toc>
274
- * ```
275
- */
276
- declare function Toc({
277
- children,
278
- className,
279
- style
280
- }: TocProps): react_jsx_runtime0.JSX.Element;
281
- //#endregion
282
- //#region src/Mermaid.d.ts
283
- interface MermaidProps {
284
- /** Mermaid diagram code */
285
- children: string;
286
- }
287
- /**
288
- * Renders a Mermaid diagram.
289
- *
290
- * Usage in MDX:
291
- * ```mdx
292
- * <Mermaid>
293
- * graph TD
294
- * A --> B
295
- * </Mermaid>
296
- * ```
297
- *
298
- * The mermaid library is dynamically imported on the client side,
299
- * so it does not need to be installed as a project dependency.
300
- */
301
- declare function Mermaid({
302
- children
303
- }: MermaidProps): react_jsx_runtime0.JSX.Element;
304
- //#endregion
305
70
  //#region src/ClickNavigation.d.ts
306
71
  interface ClickNavigationProps {
307
72
  onPrev: () => void;
@@ -336,6 +101,13 @@ declare function NavigationBar({
336
101
  //#region src/ProgressBar.d.ts
337
102
  declare function ProgressBar(): react_jsx_runtime0.JSX.Element;
338
103
  //#endregion
104
+ //#region src/SlideNumber.d.ts
105
+ /**
106
+ * Displays the current slide number in the bottom-right corner.
107
+ * Automatically reads state from DeckContext.
108
+ */
109
+ declare function SlideNumber(): react_jsx_runtime0.JSX.Element;
110
+ //#endregion
339
111
  //#region src/ReslideEmbed.d.ts
340
112
  interface ReslideEmbedProps {
341
113
  /** Compiled MDX code from compileMdxSlides() */
@@ -343,7 +115,7 @@ interface ReslideEmbedProps {
343
115
  /** Slide transition type */
344
116
  transition?: TransitionType;
345
117
  /** Additional MDX components to provide */
346
- components?: Record<string, ComponentType>;
118
+ components?: Record<string, ElementType>;
347
119
  /** Wrapper around the Deck (for styling) */
348
120
  className?: string;
349
121
  /** Inline styles for the container */
@@ -410,4 +182,4 @@ declare function useDeck(): DeckContextValue;
410
182
  declare const SlideIndexContext: react.Context<number | null>;
411
183
  declare function useSlideIndex(): number;
412
184
  //#endregion
413
- 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 };
185
+ 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, SlideNumber, type SlideProps, SlotRight, Toc, type TocProps, type TransitionType, isPresenterView, openPresenterWindow, useDeck, useSlideIndex };