@chan.run/design 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.
@@ -0,0 +1,170 @@
1
+ import * as _$_chakra_ui_react0 from "@chakra-ui/react";
2
+ import { FlexProps, TextProps } from "@chakra-ui/react";
3
+ import { ReactNode } from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+
6
+ //#region src/components/ColorModeButton.d.ts
7
+ declare function ColorModeButton(props: FlexProps): _$react_jsx_runtime0.JSX.Element;
8
+ //#endregion
9
+ //#region src/components/Splash.d.ts
10
+ interface SplashProps {
11
+ /** While true, the splash covers the screen. Flip to false to reveal. */
12
+ open: boolean;
13
+ /** Hub content — wordmark, lock form, logo + spinner, etc. */
14
+ children: ReactNode;
15
+ /** Which axis the panels split along. */
16
+ orientation?: "vertical" | "horizontal";
17
+ /** Hub size — controls width and overhang. */
18
+ size?: "sm" | "md" | "lg";
19
+ /** Hold the splash this long after `open` flips to false before splitting. */
20
+ holdMs?: number;
21
+ /** Duration of the split-open transition. */
22
+ revealMs?: number;
23
+ }
24
+ declare function Splash({
25
+ open,
26
+ children,
27
+ orientation,
28
+ size,
29
+ holdMs,
30
+ revealMs
31
+ }: SplashProps): _$react_jsx_runtime0.JSX.Element | null;
32
+ //#endregion
33
+ //#region src/components/slides/types.d.ts
34
+ /** Supported slide layout templates */
35
+ type SlideLayout = "default" | "title" | "section" | "quote" | "blank";
36
+ /** Props accepted by the SlideLayout component */
37
+ interface SlideProps {
38
+ /** Layout template to apply */
39
+ layout: SlideLayout;
40
+ /** Rendered slide content (React components, not raw HTML) */
41
+ children: ReactNode;
42
+ }
43
+ /** A slide in the viewer — layout + pre-rendered content */
44
+ interface SlideEntry {
45
+ layout: SlideLayout;
46
+ children: ReactNode;
47
+ }
48
+ /** Props accepted by the SlideViewer component */
49
+ interface SlideViewerProps {
50
+ /** All slides in the deck */
51
+ slides: SlideEntry[];
52
+ /** Currently active slide index (0-based) */
53
+ currentSlide: number;
54
+ /** Callback when the user navigates to a different slide */
55
+ onSlideChange: (index: number) => void;
56
+ /** Whether fullscreen / presentation mode is active */
57
+ isPresenting?: boolean;
58
+ /** Toggle presentation mode */
59
+ onTogglePresent?: () => void;
60
+ }
61
+ /** Props accepted by the SlideControls component */
62
+ interface SlideControlsProps {
63
+ /** Current slide index (0-based) */
64
+ currentSlide: number;
65
+ /** Total number of slides */
66
+ totalSlides: number;
67
+ /** Navigate to a specific slide */
68
+ onSlideChange: (index: number) => void;
69
+ /** Toggle presentation mode */
70
+ onTogglePresent?: () => void;
71
+ /** Whether presentation mode is active */
72
+ isPresenting?: boolean;
73
+ }
74
+ /** Props accepted by the DeckCard component */
75
+ interface DeckCardProps {
76
+ /** Deck URL slug */
77
+ slug: string;
78
+ /** Deck title */
79
+ title: string;
80
+ /** Presentation date (YYYY-MM-DD) */
81
+ date: string;
82
+ /** One-line summary */
83
+ description: string;
84
+ /** Categorization tags */
85
+ tags?: string[];
86
+ /** Number of slides */
87
+ slideCount: number;
88
+ /** Click handler (for navigation) */
89
+ onClick?: (slug: string) => void;
90
+ }
91
+ //#endregion
92
+ //#region src/components/slides/DeckCard.d.ts
93
+ declare function DeckCard({
94
+ slug,
95
+ title,
96
+ date,
97
+ description,
98
+ tags,
99
+ slideCount,
100
+ onClick
101
+ }: DeckCardProps): _$react_jsx_runtime0.JSX.Element;
102
+ //#endregion
103
+ //#region src/components/slides/SlideComponents.d.ts
104
+ type ComponentMap = Record<string, React.ComponentType<Record<string, unknown>>>;
105
+ /**
106
+ * Get a component mapping for rendering slide markdown content.
107
+ *
108
+ * Each layout has specific overrides for visual treatment:
109
+ * - `default` — standard content slide
110
+ * - `title` — large centered heading, uppercase
111
+ * - `section` — centered divider heading
112
+ * - `quote` — large italic centered text
113
+ * - `blank` — same as default (layout wrapper handles blank)
114
+ */
115
+ declare function getSlideComponents(layout?: string): ComponentMap;
116
+ //#endregion
117
+ //#region src/components/slides/SlideControls.d.ts
118
+ declare function SlideControls({
119
+ currentSlide,
120
+ totalSlides,
121
+ onSlideChange,
122
+ onTogglePresent,
123
+ isPresenting
124
+ }: SlideControlsProps): _$react_jsx_runtime0.JSX.Element;
125
+ //#endregion
126
+ //#region src/components/slides/SlideLayout.d.ts
127
+ declare function SlideLayoutComponent({
128
+ layout,
129
+ children
130
+ }: SlideProps): _$react_jsx_runtime0.JSX.Element;
131
+ //#endregion
132
+ //#region src/components/slides/SlideViewer.d.ts
133
+ declare function SlideViewer({
134
+ slides,
135
+ currentSlide,
136
+ onSlideChange,
137
+ isPresenting,
138
+ onTogglePresent
139
+ }: SlideViewerProps): _$react_jsx_runtime0.JSX.Element | null;
140
+ //#endregion
141
+ //#region src/components/Topbar.d.ts
142
+ interface TopbarProps {
143
+ /** When provided, a hamburger menu button is rendered. Omit to hide it. */
144
+ onMenuOpen?: () => void;
145
+ }
146
+ declare function Topbar({
147
+ onMenuOpen
148
+ }: TopbarProps): _$react_jsx_runtime0.JSX.Element;
149
+ //#endregion
150
+ //#region src/components/Wordmark.d.ts
151
+ interface WordmarkProps extends Omit<TextProps, "children"> {
152
+ /** Wordmark size. Pass any Chakra fontSize value. */
153
+ fontSize?: TextProps["fontSize"];
154
+ /** When true, the orange dot opacity-cycles via the `chan-pulse` keyframe. */
155
+ pulseDot?: boolean;
156
+ }
157
+ declare function Wordmark({
158
+ fontSize,
159
+ color,
160
+ pulseDot,
161
+ ...rest
162
+ }: WordmarkProps): _$react_jsx_runtime0.JSX.Element;
163
+ //#endregion
164
+ //#region src/TokenShowcase.d.ts
165
+ declare function TokenShowcase(): _$react_jsx_runtime0.JSX.Element;
166
+ //#endregion
167
+ //#region src/theme.d.ts
168
+ declare const system: _$_chakra_ui_react0.SystemContext;
169
+ //#endregion
170
+ export { ColorModeButton, DeckCard, type DeckCardProps, SlideControls, type SlideControlsProps, type SlideEntry, SlideLayoutComponent as SlideLayout, type SlideLayout as SlideLayoutType, type SlideProps, SlideViewer, type SlideViewerProps, Splash, type SplashProps, TokenShowcase, Topbar, type TopbarProps, Wordmark, type WordmarkProps, getSlideComponents, system };