@kadal/deck 0.0.0-stage → 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/LICENSE +661 -0
- package/LICENSING.md +40 -0
- package/README.md +170 -2
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/audience/index.d.ts +14 -0
- package/dist/audience/index.js +680 -0
- package/dist/backgrounds/index.d.ts +65 -0
- package/dist/backgrounds/index.js +604 -0
- package/dist/backgrounds/shared.d.ts +7 -0
- package/dist/backgrounds/shared.js +89 -0
- package/dist/cli/bin.d.ts +1 -0
- package/dist/cli/bin.js +8 -0
- package/dist/cli/host.js +111 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.js +140 -0
- package/dist/cli/login.js +56 -0
- package/dist/cli/publish.js +159 -0
- package/dist/cli/vite.js +39 -0
- package/dist/compiler/code-meta.d.ts +33 -0
- package/dist/compiler/code-meta.js +81 -0
- package/dist/compiler/index.d.ts +8 -0
- package/dist/compiler/index.js +8 -0
- package/dist/compiler/magic-move.d.ts +26 -0
- package/dist/compiler/magic-move.js +33 -0
- package/dist/compiler/plain-text.js +7 -0
- package/dist/compiler/rehype-code.d.ts +18 -0
- package/dist/compiler/rehype-code.js +66 -0
- package/dist/compiler/rehype-glossary.d.ts +35 -0
- package/dist/compiler/rehype-glossary.js +211 -0
- package/dist/compiler/slots.d.ts +3 -0
- package/dist/compiler/slots.js +36 -0
- package/dist/compiler/split.d.ts +63 -0
- package/dist/compiler/split.js +195 -0
- package/dist/components/Background.d.ts +15 -0
- package/dist/components/Background.js +24 -0
- package/dist/components/Click.d.ts +54 -0
- package/dist/components/Click.js +129 -0
- package/dist/components/Code.d.ts +27 -0
- package/dist/components/Code.js +124 -0
- package/dist/components/Motion.d.ts +25 -0
- package/dist/components/Motion.js +45 -0
- package/dist/components/Sketch.d.ts +44 -0
- package/dist/components/Sketch.js +141 -0
- package/dist/components/Term.d.ts +63 -0
- package/dist/components/Term.js +492 -0
- package/dist/components/bling.d.ts +75 -0
- package/dist/components/bling.js +146 -0
- package/dist/components/content.d.ts +232 -0
- package/dist/components/content.js +637 -0
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.js +88 -0
- package/dist/core/clicks.d.ts +45 -0
- package/dist/core/clicks.js +75 -0
- package/dist/core/hash.d.ts +33 -0
- package/dist/core/hash.js +49 -0
- package/dist/core/keyboard.d.ts +17 -0
- package/dist/core/keyboard.js +198 -0
- package/dist/core/layout.d.ts +16 -0
- package/dist/core/layout.js +25 -0
- package/dist/core/model.d.ts +259 -0
- package/dist/core/model.js +377 -0
- package/dist/core/navigation.d.ts +74 -0
- package/dist/core/navigation.js +244 -0
- package/dist/core/poster.js +30 -0
- package/dist/core/store.d.ts +20 -0
- package/dist/core/store.js +64 -0
- package/dist/core/touch.js +27 -0
- package/dist/draw/DrawingLayer.js +315 -0
- package/dist/draw/strokes.js +188 -0
- package/dist/export/index.d.ts +68 -0
- package/dist/export/index.js +251 -0
- package/dist/export/run.js +81 -0
- package/dist/glossary/model.d.ts +81 -0
- package/dist/glossary/model.js +156 -0
- package/dist/glossary/parse.d.ts +27 -0
- package/dist/glossary/parse.js +90 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +30 -0
- package/dist/live/LiveProvider.d.ts +20 -0
- package/dist/live/LiveProvider.js +450 -0
- package/dist/live/analytics.d.ts +15 -0
- package/dist/live/analytics.js +103 -0
- package/dist/live/client.d.ts +51 -0
- package/dist/live/client.js +193 -0
- package/dist/live/components.d.ts +64 -0
- package/dist/live/components.js +471 -0
- package/dist/live/context.d.ts +15 -0
- package/dist/live/context.js +28 -0
- package/dist/live/index.d.ts +7 -0
- package/dist/live/index.js +7 -0
- package/dist/live/protocol.d.ts +284 -0
- package/dist/live/protocol.js +42 -0
- package/dist/live/turnstile.js +49 -0
- package/dist/presenter/index.d.ts +20 -0
- package/dist/presenter/index.js +1211 -0
- package/dist/react/AutoAnimate.js +92 -0
- package/dist/react/Backgrounds.d.ts +11 -0
- package/dist/react/Backgrounds.js +154 -0
- package/dist/react/ConfettiLayer.js +85 -0
- package/dist/react/Deck.d.ts +35 -0
- package/dist/react/Deck.js +983 -0
- package/dist/react/Frame.d.ts +16 -0
- package/dist/react/Frame.js +174 -0
- package/dist/react/Hints.d.ts +3 -0
- package/dist/react/Hints.js +201 -0
- package/dist/react/Lightbox.js +54 -0
- package/dist/react/Overview.js +93 -0
- package/dist/react/PrintView.js +128 -0
- package/dist/react/ScrollView.js +128 -0
- package/dist/react/SlideFrame.d.ts +51 -0
- package/dist/react/SlideFrame.js +323 -0
- package/dist/react/Stage.js +151 -0
- package/dist/react/ThemeMenu.d.ts +5 -0
- package/dist/react/ThemeMenu.js +124 -0
- package/dist/react/Zoom.js +23 -0
- package/dist/react/chrome.js +339 -0
- package/dist/react/context.d.ts +165 -0
- package/dist/react/context.js +19 -0
- package/dist/react/hooks.d.ts +33 -0
- package/dist/react/hooks.js +70 -0
- package/dist/react/layouts.d.ts +21 -0
- package/dist/react/layouts.js +104 -0
- package/dist/react/mdx.d.ts +4 -0
- package/dist/react/mdx.js +33 -0
- package/dist/react/terms.d.ts +6 -0
- package/dist/react/terms.js +66 -0
- package/dist/renderers/Island.d.ts +57 -0
- package/dist/renderers/Island.js +223 -0
- package/dist/renderers/contract.d.ts +173 -0
- package/dist/renderers/contract.js +152 -0
- package/dist/renderers/index.d.ts +12 -0
- package/dist/renderers/index.js +16 -0
- package/dist/renderers/react.d.ts +16 -0
- package/dist/renderers/react.js +32 -0
- package/dist/renderers/web-components.d.ts +4 -0
- package/dist/renderers/web-components.js +103 -0
- package/dist/sketch/Canvas.js +49 -0
- package/dist/sketch/dsl.d.ts +131 -0
- package/dist/sketch/dsl.js +281 -0
- package/dist/sketch/index.d.ts +4 -0
- package/dist/sketch/index.js +3 -0
- package/dist/sketch/palette.d.ts +21 -0
- package/dist/sketch/palette.js +66 -0
- package/dist/sketch/render.d.ts +43 -0
- package/dist/sketch/render.js +198 -0
- package/dist/themes/base.css +1704 -0
- package/dist/themes/bling.css +592 -0
- package/dist/themes/glossary.css +317 -0
- package/dist/themes/live.css +1557 -0
- package/dist/themes/minimal.css +83 -0
- package/dist/themes/rla.css +92 -0
- package/dist/themes/sketch.css +121 -0
- package/dist/themes/stack.css +62 -0
- package/dist/vite/index.d.ts +15 -0
- package/dist/vite/index.js +320 -0
- package/package.json +159 -4
- package/tools/verify-island.mjs +150 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { icons } from "lucide-react";
|
|
3
|
+
//#region src/components/bling.tsx
|
|
4
|
+
/**
|
|
5
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
* BLING — the small things that make a slide feel designed
|
|
7
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
*
|
|
9
|
+
* <GradientText> a heading painted with the theme's accent ramp (or your colours)
|
|
10
|
+
* <Glass> a frosted card with a gradient hairline border
|
|
11
|
+
* <Glow> a soft radial light behind whatever sits in the same box
|
|
12
|
+
* <Chip> a pill with a coloured dot — tags, statuses, levels
|
|
13
|
+
* <Icon name="…"> any lucide icon by its name, sized in em
|
|
14
|
+
* <Divider> a hairline with an optional label
|
|
15
|
+
* <Ribbon> a corner ribbon ("live", "draft")
|
|
16
|
+
* <Halo> a number or word inside a soft ring
|
|
17
|
+
* <Shimmer> text with a slow sheen passing over it
|
|
18
|
+
* <Blob> a soft organic shape to tuck behind a figure
|
|
19
|
+
* <Tilt> a card that leans toward the pointer
|
|
20
|
+
*
|
|
21
|
+
* Every one reads the theme's tokens, so they change with the theme selector.
|
|
22
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
23
|
+
*/
|
|
24
|
+
const cx = (...parts) => parts.filter(Boolean).join(" ");
|
|
25
|
+
function GradientText({ children, from, to, angle = 90, className, as: Tag = "span" }) {
|
|
26
|
+
const style = {
|
|
27
|
+
"--gt-from": from ?? "var(--deck-accent)",
|
|
28
|
+
"--gt-to": to ?? "var(--deck-accent-2)",
|
|
29
|
+
"--gt-angle": `${angle}deg`
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ jsx(Tag, {
|
|
32
|
+
className: cx("deck-gradient-text", className),
|
|
33
|
+
style,
|
|
34
|
+
children
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function Glass({ children, className, tone = "neutral", pad = "1em", glow = false, style }) {
|
|
38
|
+
return /* @__PURE__ */ jsx("div", {
|
|
39
|
+
className: cx("deck-glass", `tone-${tone}`, glow && "has-glow", className),
|
|
40
|
+
style: {
|
|
41
|
+
padding: pad,
|
|
42
|
+
...style
|
|
43
|
+
},
|
|
44
|
+
children
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function Glow({ color, size = "60%", x = "50%", y = "50%", opacity = .35, className }) {
|
|
48
|
+
return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: cx("deck-glow", className),
|
|
50
|
+
"aria-hidden": true,
|
|
51
|
+
style: {
|
|
52
|
+
background: `radial-gradient(circle at ${x} ${y}, ${color ?? "var(--deck-accent)"} 0, transparent ${size})`,
|
|
53
|
+
opacity
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function Chip({ children, tone = "neutral", icon, className }) {
|
|
58
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
59
|
+
className: cx("deck-chip", `tone-${tone}`, className),
|
|
60
|
+
children: [icon ? /* @__PURE__ */ jsx(Icon, {
|
|
61
|
+
name: icon,
|
|
62
|
+
size: "1em"
|
|
63
|
+
}) : /* @__PURE__ */ jsx("i", { className: "deck-chip-dot" }), children]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function Icon({ name, size = "1em", color, strokeWidth = 1.75, className }) {
|
|
67
|
+
const pascal = name.replace(/(^|[-_ ])(\w)/g, (_m, _s, c) => c.toUpperCase());
|
|
68
|
+
const Cmp = icons[pascal];
|
|
69
|
+
if (!Cmp) return /* @__PURE__ */ jsx("span", {
|
|
70
|
+
className: "deck-icon-missing",
|
|
71
|
+
title: `No icon "${name}"`,
|
|
72
|
+
children: "▢"
|
|
73
|
+
});
|
|
74
|
+
return /* @__PURE__ */ jsx(Cmp, {
|
|
75
|
+
size,
|
|
76
|
+
color,
|
|
77
|
+
strokeWidth,
|
|
78
|
+
className: cx("deck-icon", className)
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function Divider({ label, className }) {
|
|
82
|
+
return /* @__PURE__ */ jsx("div", {
|
|
83
|
+
className: cx("deck-divider", label ? "has-label" : "", className),
|
|
84
|
+
role: "separator",
|
|
85
|
+
children: label ? /* @__PURE__ */ jsx("span", { children: label }) : null
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function Ribbon({ children, tone = "accent", corner = "right" }) {
|
|
89
|
+
return /* @__PURE__ */ jsx("span", {
|
|
90
|
+
className: cx("deck-ribbon", `tone-${tone}`, `corner-${corner}`),
|
|
91
|
+
children
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function Halo({ children, tone = "accent", size = "3.2em", className }) {
|
|
95
|
+
return /* @__PURE__ */ jsx("span", {
|
|
96
|
+
className: cx("deck-halo", `tone-${tone}`, className),
|
|
97
|
+
style: {
|
|
98
|
+
width: size,
|
|
99
|
+
height: size
|
|
100
|
+
},
|
|
101
|
+
children: /* @__PURE__ */ jsx("span", { children })
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function Shimmer({ children, className, as: Tag = "span" }) {
|
|
105
|
+
return /* @__PURE__ */ jsx(Tag, {
|
|
106
|
+
className: cx("deck-shimmer", className),
|
|
107
|
+
children
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function Blob({ color, x = "50%", y = "50%", size = "40%", rotate = 0, opacity = .5, className }) {
|
|
111
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
112
|
+
className: cx("deck-blob", className),
|
|
113
|
+
viewBox: "0 0 200 200",
|
|
114
|
+
"aria-hidden": true,
|
|
115
|
+
style: {
|
|
116
|
+
left: x,
|
|
117
|
+
top: y,
|
|
118
|
+
width: size,
|
|
119
|
+
transform: `translate(-50%, -50%) rotate(${rotate}deg)`,
|
|
120
|
+
opacity,
|
|
121
|
+
color: color ?? "var(--deck-accent-2)"
|
|
122
|
+
},
|
|
123
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
124
|
+
fill: "currentColor",
|
|
125
|
+
d: "M44.1,-63.6C57.4,-55.8,68.6,-43.4,74.7,-28.9C80.8,-14.4,81.9,2.1,77.5,16.9C73.1,31.7,63.3,44.7,50.7,54.5C38.2,64.4,22.9,71,6.7,72.1C-9.6,73.2,-26.8,68.8,-40.4,59.7C-54,50.6,-64,36.7,-70,20.9C-75.9,5.1,-77.8,-12.7,-71.7,-27.2C-65.6,-41.7,-51.5,-52.9,-37.2,-60.5C-22.9,-68.1,-8.4,-72.1,5.6,-79.9C19.7,-87.8,30.8,-71.4,44.1,-63.6Z",
|
|
126
|
+
transform: "translate(100 100)"
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function Tilt({ children, className, max = 8 }) {
|
|
131
|
+
return /* @__PURE__ */ jsx("div", {
|
|
132
|
+
className: cx("deck-tilt", className),
|
|
133
|
+
onPointerMove: (e) => {
|
|
134
|
+
const r = e.currentTarget.getBoundingClientRect();
|
|
135
|
+
const px = (e.clientX - r.left) / r.width - .5;
|
|
136
|
+
const py = (e.clientY - r.top) / r.height - .5;
|
|
137
|
+
e.currentTarget.style.transform = `perspective(900px) rotateY(${px * max * 2}deg) rotateX(${-py * max * 2}deg)`;
|
|
138
|
+
},
|
|
139
|
+
onPointerLeave: (e) => {
|
|
140
|
+
e.currentTarget.style.transform = "";
|
|
141
|
+
},
|
|
142
|
+
children
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
//#endregion
|
|
146
|
+
export { Blob, Chip, Divider, Glass, Glow, GradientText, Halo, Icon, Ribbon, Shimmer, Tilt };
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
//#region src/components/content.d.ts
|
|
3
|
+
/** `$…$` in Markdown is rendered at build time; this is for JSX: `<Math tex="…" block />`. */
|
|
4
|
+
export declare function Tex({ tex, block, children }: {
|
|
5
|
+
tex?: string;
|
|
6
|
+
block?: boolean;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
/** A Mermaid diagram, rendered in the browser in the deck's colour scheme. */
|
|
10
|
+
export declare function Mermaid({ children, scale, className }: {
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
scale?: number;
|
|
13
|
+
className?: string;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
/** Speaker notes are lifted out at compile time; anything left renders nowhere. */
|
|
16
|
+
export declare function Notes(_props: {
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
}): null;
|
|
19
|
+
/** Go to a slide by number (1-based), `h.v`, or id. */
|
|
20
|
+
export declare function Link({ to, title, children, className }: {
|
|
21
|
+
to: string | number;
|
|
22
|
+
title?: string;
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
className?: string;
|
|
25
|
+
}): import("react").JSX.Element;
|
|
26
|
+
/** The `a` mapping: in-deck `#/…` links navigate, external links open in a new tab. */
|
|
27
|
+
export declare function Anchor({ href, children, ...rest }: {
|
|
28
|
+
href?: string;
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}): import("react").JSX.Element;
|
|
32
|
+
export interface TocProps {
|
|
33
|
+
columns?: number;
|
|
34
|
+
maxDepth?: number;
|
|
35
|
+
minDepth?: number;
|
|
36
|
+
mode?: "all" | "onlyCurrentTree" | "onlySiblings";
|
|
37
|
+
listClass?: string;
|
|
38
|
+
}
|
|
39
|
+
/** The table of contents from every slide's title and level (`hideInToc` slides skipped). */
|
|
40
|
+
export declare function Toc({ columns, maxDepth, minDepth, mode, listClass }: TocProps): import("react").JSX.Element;
|
|
41
|
+
/** The `img` mapping: lazy, optionally a lightbox on click (`preview`). */
|
|
42
|
+
export declare function Image({ src, alt, preview, fit, className, ...rest }: {
|
|
43
|
+
src?: string;
|
|
44
|
+
alt?: string;
|
|
45
|
+
preview?: boolean | string;
|
|
46
|
+
fit?: string;
|
|
47
|
+
className?: string;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
}): import("react").JSX.Element;
|
|
50
|
+
export declare function Video({ src, autoplay, loop, muted, controls, className, ...rest }: {
|
|
51
|
+
src: string;
|
|
52
|
+
autoplay?: boolean;
|
|
53
|
+
loop?: boolean;
|
|
54
|
+
muted?: boolean;
|
|
55
|
+
controls?: boolean;
|
|
56
|
+
className?: string;
|
|
57
|
+
[key: string]: unknown;
|
|
58
|
+
}): import("react").JSX.Element;
|
|
59
|
+
export declare function Audio({ src, autoplay, loop, controls, className }: {
|
|
60
|
+
src: string;
|
|
61
|
+
autoplay?: boolean;
|
|
62
|
+
loop?: boolean;
|
|
63
|
+
controls?: boolean;
|
|
64
|
+
className?: string;
|
|
65
|
+
}): import("react").JSX.Element;
|
|
66
|
+
/** An embedded page, loaded only while its slide is near (`preload` loads it earlier). */
|
|
67
|
+
export declare function Iframe({ src, preload, className, title, poster, posterSize, scale }: {
|
|
68
|
+
src: string;
|
|
69
|
+
preload?: boolean;
|
|
70
|
+
className?: string;
|
|
71
|
+
title?: string;
|
|
72
|
+
/** Stands in for the page in print, the overview and the next-slide box, and while it loads. */
|
|
73
|
+
poster?: string;
|
|
74
|
+
posterSize?: readonly [number, number];
|
|
75
|
+
/** Render the page larger and shrink it: 0.5 gives a small pane the desktop layout. */
|
|
76
|
+
scale?: number;
|
|
77
|
+
[key: string]: unknown;
|
|
78
|
+
}): import("react").JSX.Element;
|
|
79
|
+
export declare function Youtube({ id, url, autoplay, start, className }: {
|
|
80
|
+
id?: string;
|
|
81
|
+
url?: string;
|
|
82
|
+
autoplay?: boolean;
|
|
83
|
+
start?: number;
|
|
84
|
+
className?: string;
|
|
85
|
+
}): import("react").JSX.Element;
|
|
86
|
+
export declare function Tweet({ id, url, scale }: {
|
|
87
|
+
id?: string | number;
|
|
88
|
+
url?: string;
|
|
89
|
+
scale?: number;
|
|
90
|
+
}): import("react").JSX.Element;
|
|
91
|
+
/** reveal.js's `r-stack`: children stacked at the same spot, for stepping through with clicks. */
|
|
92
|
+
export declare function Stack({ children, className }: {
|
|
93
|
+
children?: ReactNode;
|
|
94
|
+
className?: string;
|
|
95
|
+
}): import("react").JSX.Element;
|
|
96
|
+
/** reveal.js's `r-stretch`: grows to fill the slide's remaining height. */
|
|
97
|
+
export declare function Stretch({ children, className }: {
|
|
98
|
+
children?: ReactNode;
|
|
99
|
+
className?: string;
|
|
100
|
+
}): import("react").JSX.Element;
|
|
101
|
+
/** Columns: `<Cols cols="2fr 1fr">` or `<Cols n={3}>`, each child a column (or use `<Col>`). */
|
|
102
|
+
export declare function Cols({ cols, n, gap, children, className, align }: {
|
|
103
|
+
cols?: string;
|
|
104
|
+
n?: number;
|
|
105
|
+
gap?: string;
|
|
106
|
+
children?: ReactNode;
|
|
107
|
+
className?: string;
|
|
108
|
+
align?: string;
|
|
109
|
+
}): import("react").JSX.Element;
|
|
110
|
+
export declare function Col({ children, className, span }: {
|
|
111
|
+
children?: ReactNode;
|
|
112
|
+
className?: string;
|
|
113
|
+
span?: number;
|
|
114
|
+
}): import("react").JSX.Element;
|
|
115
|
+
export declare function Grid({ cols, rows, gap, children, className }: {
|
|
116
|
+
cols?: number | string;
|
|
117
|
+
rows?: number | string;
|
|
118
|
+
gap?: string;
|
|
119
|
+
children?: ReactNode;
|
|
120
|
+
className?: string;
|
|
121
|
+
}): import("react").JSX.Element;
|
|
122
|
+
export declare function Center({ children, className }: {
|
|
123
|
+
children?: ReactNode;
|
|
124
|
+
className?: string;
|
|
125
|
+
}): import("react").JSX.Element;
|
|
126
|
+
export declare function Spacer({ size }: {
|
|
127
|
+
size?: string;
|
|
128
|
+
}): import("react").JSX.Element;
|
|
129
|
+
/** reveal.js's `r-frame`. */
|
|
130
|
+
export declare function Frame({ children, className }: {
|
|
131
|
+
children?: ReactNode;
|
|
132
|
+
className?: string;
|
|
133
|
+
}): import("react").JSX.Element;
|
|
134
|
+
/** Slidev's `<Transform>`: scale a block around an origin. */
|
|
135
|
+
export declare function Transform({ scale, origin, children, className }: {
|
|
136
|
+
scale?: number;
|
|
137
|
+
origin?: string;
|
|
138
|
+
children?: ReactNode;
|
|
139
|
+
className?: string;
|
|
140
|
+
}): import("react").JSX.Element;
|
|
141
|
+
/** Place a block at stage coordinates: `<Absolute x={100} y={200} w={400}>`. */
|
|
142
|
+
export declare function Absolute({ x, y, w, h, rotate, children, className }: {
|
|
143
|
+
x?: number;
|
|
144
|
+
y?: number;
|
|
145
|
+
w?: number;
|
|
146
|
+
h?: number;
|
|
147
|
+
rotate?: number;
|
|
148
|
+
children?: ReactNode;
|
|
149
|
+
className?: string;
|
|
150
|
+
}): import("react").JSX.Element;
|
|
151
|
+
/** reveal.js's `r-fit-text` and Slidev's `AutoFitText`: as big as fits, no bigger than `max`. */
|
|
152
|
+
export declare function FitText({ children, max, min, className }: {
|
|
153
|
+
children?: ReactNode;
|
|
154
|
+
max?: number;
|
|
155
|
+
min?: number;
|
|
156
|
+
className?: string;
|
|
157
|
+
}): import("react").JSX.Element;
|
|
158
|
+
/** Slidev's `<Arrow>`: a straight arrow in stage coordinates. */
|
|
159
|
+
export declare function Arrow({ x1, y1, x2, y2, width, color, twoWay, className }: {
|
|
160
|
+
x1: number;
|
|
161
|
+
y1: number;
|
|
162
|
+
x2: number;
|
|
163
|
+
y2: number;
|
|
164
|
+
width?: number;
|
|
165
|
+
color?: string;
|
|
166
|
+
twoWay?: boolean;
|
|
167
|
+
className?: string;
|
|
168
|
+
}): import("react").JSX.Element;
|
|
169
|
+
export declare function Kbd({ children }: {
|
|
170
|
+
children?: ReactNode;
|
|
171
|
+
}): import("react").JSX.Element;
|
|
172
|
+
export declare function Badge({ children, tone, className }: {
|
|
173
|
+
children?: ReactNode;
|
|
174
|
+
tone?: "neutral" | "accent" | "good" | "warn" | "bad";
|
|
175
|
+
className?: string;
|
|
176
|
+
}): import("react").JSX.Element;
|
|
177
|
+
export declare function Callout({ kind, title, children, className }: {
|
|
178
|
+
kind?: "info" | "tip" | "warn" | "danger" | "note";
|
|
179
|
+
title?: string;
|
|
180
|
+
children?: ReactNode;
|
|
181
|
+
className?: string;
|
|
182
|
+
}): import("react").JSX.Element;
|
|
183
|
+
/** A number that counts up when its slide is shown (or at its click). */
|
|
184
|
+
export declare function Counter({ value, from, duration, decimals, prefix, suffix, className }: {
|
|
185
|
+
value: number;
|
|
186
|
+
from?: number;
|
|
187
|
+
duration?: number;
|
|
188
|
+
decimals?: number;
|
|
189
|
+
prefix?: string;
|
|
190
|
+
suffix?: string;
|
|
191
|
+
className?: string;
|
|
192
|
+
}): import("react").JSX.Element;
|
|
193
|
+
/** Text that types itself out when the slide is shown. */
|
|
194
|
+
export declare function Typewriter({ text, speed, className, cursor }: {
|
|
195
|
+
text: string;
|
|
196
|
+
speed?: number;
|
|
197
|
+
className?: string;
|
|
198
|
+
cursor?: boolean;
|
|
199
|
+
}): import("react").JSX.Element;
|
|
200
|
+
/** Text that resolves out of noise, glyph by glyph — the RLA deck's `EncryptedText`. */
|
|
201
|
+
export declare function Encrypted({ text, speed, delay, className }: {
|
|
202
|
+
text: string;
|
|
203
|
+
speed?: number;
|
|
204
|
+
delay?: number;
|
|
205
|
+
className?: string;
|
|
206
|
+
}): import("react").JSX.Element;
|
|
207
|
+
/** A countdown or stopwatch that starts when its slide is shown. */
|
|
208
|
+
export declare function Timer({ seconds, className }: {
|
|
209
|
+
seconds?: number;
|
|
210
|
+
className?: string;
|
|
211
|
+
}): import("react").JSX.Element;
|
|
212
|
+
/** A hand-drawn mark around inline content, drawn on its click: underline, circle, box, highlight. */
|
|
213
|
+
export declare function Mark({ type, color, at, children, className }: {
|
|
214
|
+
type?: "underline" | "circle" | "box" | "highlight" | "strike";
|
|
215
|
+
color?: string;
|
|
216
|
+
at?: number | string;
|
|
217
|
+
children?: ReactNode;
|
|
218
|
+
className?: string;
|
|
219
|
+
}): import("react").JSX.Element;
|
|
220
|
+
/** A quick burst of confetti when the slide (or its click) arrives. */
|
|
221
|
+
export declare function Confetti({ at, count, duration }: {
|
|
222
|
+
at?: number | string;
|
|
223
|
+
count?: number;
|
|
224
|
+
duration?: number;
|
|
225
|
+
}): import("react").JSX.Element;
|
|
226
|
+
/** A QR code, rendered locally. */
|
|
227
|
+
export declare function Qr({ value, size, className }: {
|
|
228
|
+
value: string;
|
|
229
|
+
size?: number;
|
|
230
|
+
className?: string;
|
|
231
|
+
}): import("react").JSX.Element;
|
|
232
|
+
//#endregion
|