@sanity-labs/slides 0.0.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/README.md +241 -0
- package/SKILL.md +119 -0
- package/dist/cli.d.ts +38 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +386 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/components.d.ts +179 -0
- package/dist/core/components.d.ts.map +1 -0
- package/dist/core/components.js +40 -0
- package/dist/core/components.js.map +1 -0
- package/dist/core/fake-runtime.d.ts +138 -0
- package/dist/core/fake-runtime.d.ts.map +1 -0
- package/dist/core/fake-runtime.js +210 -0
- package/dist/core/fake-runtime.js.map +1 -0
- package/dist/core/font-resolver.d.ts +28 -0
- package/dist/core/font-resolver.d.ts.map +1 -0
- package/dist/core/font-resolver.js +30 -0
- package/dist/core/font-resolver.js.map +1 -0
- package/dist/core/geometry.d.ts +71 -0
- package/dist/core/geometry.d.ts.map +1 -0
- package/dist/core/geometry.js +44 -0
- package/dist/core/geometry.js.map +1 -0
- package/dist/core/index.d.ts +19 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/manifest.d.ts +123 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +43 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/op-translator-pptx.d.ts +150 -0
- package/dist/core/op-translator-pptx.d.ts.map +1 -0
- package/dist/core/op-translator-pptx.js +245 -0
- package/dist/core/op-translator-pptx.js.map +1 -0
- package/dist/core/pptx-runtime.d.ts +103 -0
- package/dist/core/pptx-runtime.d.ts.map +1 -0
- package/dist/core/pptx-runtime.js +405 -0
- package/dist/core/pptx-runtime.js.map +1 -0
- package/dist/core/reconciler.d.ts +113 -0
- package/dist/core/reconciler.d.ts.map +1 -0
- package/dist/core/reconciler.js +453 -0
- package/dist/core/reconciler.js.map +1 -0
- package/dist/core/runtime.d.ts +161 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +11 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/template.d.ts +32 -0
- package/dist/core/template.d.ts.map +1 -0
- package/dist/core/template.js +3 -0
- package/dist/core/template.js.map +1 -0
- package/dist/dev/auto-examples.d.ts +6 -0
- package/dist/dev/auto-examples.d.ts.map +1 -0
- package/dist/dev/auto-examples.js +79 -0
- package/dist/dev/auto-examples.js.map +1 -0
- package/dist/dev/bin/slides-dev.d.ts +3 -0
- package/dist/dev/bin/slides-dev.d.ts.map +1 -0
- package/dist/dev/bin/slides-dev.js +87 -0
- package/dist/dev/bin/slides-dev.js.map +1 -0
- package/dist/dev/bin/slides-dev.mjs +24 -0
- package/dist/dev/compose-deck.d.ts +18 -0
- package/dist/dev/compose-deck.d.ts.map +1 -0
- package/dist/dev/compose-deck.js +19 -0
- package/dist/dev/compose-deck.js.map +1 -0
- package/dist/dev/deck-viewer.d.ts +19 -0
- package/dist/dev/deck-viewer.d.ts.map +1 -0
- package/dist/dev/deck-viewer.js +237 -0
- package/dist/dev/deck-viewer.js.map +1 -0
- package/dist/dev/dev-server/client/entry.d.ts +2 -0
- package/dist/dev/dev-server/client/entry.d.ts.map +1 -0
- package/dist/dev/dev-server/client/entry.js +12 -0
- package/dist/dev/dev-server/client/entry.js.map +1 -0
- package/dist/dev/dev-server/output.d.ts +8 -0
- package/dist/dev/dev-server/output.d.ts.map +1 -0
- package/dist/dev/dev-server/output.js +32 -0
- package/dist/dev/dev-server/output.js.map +1 -0
- package/dist/dev/dev-server/server-only-stub.d.ts +7 -0
- package/dist/dev/dev-server/server-only-stub.d.ts.map +1 -0
- package/dist/dev/dev-server/server-only-stub.js +12 -0
- package/dist/dev/dev-server/server-only-stub.js.map +1 -0
- package/dist/dev/dev-server/start.d.ts +14 -0
- package/dist/dev/dev-server/start.d.ts.map +1 -0
- package/dist/dev/dev-server/start.js +135 -0
- package/dist/dev/dev-server/start.js.map +1 -0
- package/dist/dev/index.d.ts +5 -0
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +5 -0
- package/dist/dev/index.js.map +1 -0
- package/dist/dev/lib/cn.d.ts +3 -0
- package/dist/dev/lib/cn.d.ts.map +1 -0
- package/dist/dev/lib/cn.js +3 -0
- package/dist/dev/lib/cn.js.map +1 -0
- package/dist/dev/slide-canvas.d.ts +12 -0
- package/dist/dev/slide-canvas.d.ts.map +1 -0
- package/dist/dev/slide-canvas.js +123 -0
- package/dist/dev/slide-canvas.js.map +1 -0
- package/dist/dev/styles.css +37 -0
- package/dist/dev/ui/icon-button.d.ts +12 -0
- package/dist/dev/ui/icon-button.d.ts.map +1 -0
- package/dist/dev/ui/icon-button.js +6 -0
- package/dist/dev/ui/icon-button.js.map +1 -0
- package/dist/dev/ui/kbd.d.ts +6 -0
- package/dist/dev/ui/kbd.d.ts.map +1 -0
- package/dist/dev/ui/kbd.js +4 -0
- package/dist/dev/ui/kbd.js.map +1 -0
- package/dist/dev/ui/text-button.d.ts +10 -0
- package/dist/dev/ui/text-button.d.ts.map +1 -0
- package/dist/dev/ui/text-button.js +6 -0
- package/dist/dev/ui/text-button.js.map +1 -0
- package/dist/dev/url-state.d.ts +7 -0
- package/dist/dev/url-state.d.ts.map +1 -0
- package/dist/dev/url-state.js +13 -0
- package/dist/dev/url-state.js.map +1 -0
- package/dist/dev/use-keyboard-nav.d.ts +17 -0
- package/dist/dev/use-keyboard-nav.d.ts.map +1 -0
- package/dist/dev/use-keyboard-nav.js +53 -0
- package/dist/dev/use-keyboard-nav.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/errors.d.ts +57 -0
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +44 -0
- package/dist/mcp/errors.js.map +1 -0
- package/dist/mcp/index.d.ts +29 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +29 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/naming.d.ts +37 -0
- package/dist/mcp/naming.d.ts.map +1 -0
- package/dist/mcp/naming.js +43 -0
- package/dist/mcp/naming.js.map +1 -0
- package/dist/mcp/render.d.ts +45 -0
- package/dist/mcp/render.d.ts.map +1 -0
- package/dist/mcp/render.js +77 -0
- package/dist/mcp/render.js.map +1 -0
- package/dist/mcp/schema.d.ts +54 -0
- package/dist/mcp/schema.d.ts.map +1 -0
- package/dist/mcp/schema.js +55 -0
- package/dist/mcp/schema.js.map +1 -0
- package/dist/mcp/server.d.ts +63 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +196 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/scaffold/index.d.ts +39 -0
- package/dist/scaffold/index.d.ts.map +1 -0
- package/dist/scaffold/index.js +84 -0
- package/dist/scaffold/index.js.map +1 -0
- package/dist/scaffold/template-base/README.md +134 -0
- package/dist/scaffold/template-base/_gitignore +4 -0
- package/dist/scaffold/template-base/package.json +35 -0
- package/dist/scaffold/template-base/src/components/Cover.tsx +30 -0
- package/dist/scaffold/template-base/src/index.ts +27 -0
- package/dist/scaffold/template-base/src/preview.tsx +9 -0
- package/dist/scaffold/template-base/tsconfig.build.json +10 -0
- package/dist/scaffold/template-base/tsconfig.json +18 -0
- package/package.json +164 -0
- package/src/__tests__/fixtures/test-template/index.tsx +77 -0
- package/src/__tests__/pptx-mcp.test.ts +85 -0
- package/src/__tests__/pptx-smoke.test.ts +45 -0
- package/src/__tests__/preview.test.ts +28 -0
- package/src/cli.ts +426 -0
- package/src/core/__snapshots__/reconciler.test.ts.snap +320 -0
- package/src/core/components.test.ts +57 -0
- package/src/core/components.ts +196 -0
- package/src/core/fake-runtime.test.ts +174 -0
- package/src/core/fake-runtime.ts +302 -0
- package/src/core/font-resolver.ts +46 -0
- package/src/core/geometry.test.ts +58 -0
- package/src/core/geometry.ts +91 -0
- package/src/core/index.ts +69 -0
- package/src/core/manifest.test.ts +33 -0
- package/src/core/manifest.ts +150 -0
- package/src/core/op-translator-pptx.test.ts +204 -0
- package/src/core/op-translator-pptx.ts +365 -0
- package/src/core/pptx-runtime.test.ts +137 -0
- package/src/core/pptx-runtime.ts +504 -0
- package/src/core/reconciler.test.ts +644 -0
- package/src/core/reconciler.ts +603 -0
- package/src/core/runtime.ts +150 -0
- package/src/core/template.test.ts +136 -0
- package/src/core/template.ts +37 -0
- package/src/dev/auto-examples.ts +89 -0
- package/src/dev/bin/slides-dev.mjs +24 -0
- package/src/dev/bin/slides-dev.ts +101 -0
- package/src/dev/compose-deck.test.ts +68 -0
- package/src/dev/compose-deck.ts +40 -0
- package/src/dev/deck-viewer.tsx +677 -0
- package/src/dev/dev-server/client/entry.tsx +15 -0
- package/src/dev/dev-server/client/index.html +24 -0
- package/src/dev/dev-server/output.ts +37 -0
- package/src/dev/dev-server/server-only-stub.ts +12 -0
- package/src/dev/dev-server/start.ts +155 -0
- package/src/dev/index.ts +4 -0
- package/src/dev/lib/cn.ts +3 -0
- package/src/dev/slide-canvas.test.tsx +66 -0
- package/src/dev/slide-canvas.tsx +170 -0
- package/src/dev/styles.css +37 -0
- package/src/dev/ui/icon-button.tsx +31 -0
- package/src/dev/ui/kbd.tsx +20 -0
- package/src/dev/ui/text-button.tsx +31 -0
- package/src/dev/url-state.test.ts +22 -0
- package/src/dev/url-state.ts +17 -0
- package/src/dev/use-keyboard-nav.ts +64 -0
- package/src/index.ts +17 -0
- package/src/mcp/errors.test.ts +51 -0
- package/src/mcp/errors.ts +76 -0
- package/src/mcp/index.ts +45 -0
- package/src/mcp/naming.test.ts +39 -0
- package/src/mcp/naming.ts +49 -0
- package/src/mcp/render.ts +110 -0
- package/src/mcp/schema.test.ts +86 -0
- package/src/mcp/schema.ts +93 -0
- package/src/mcp/server.test.ts +309 -0
- package/src/mcp/server.ts +276 -0
- package/src/scaffold/index.ts +102 -0
- package/src/scaffold/template-base/README.md +134 -0
- package/src/scaffold/template-base/_gitignore +4 -0
- package/src/scaffold/template-base/package.json +35 -0
- package/src/scaffold/template-base/src/components/Cover.tsx +30 -0
- package/src/scaffold/template-base/src/index.ts +27 -0
- package/src/scaffold/template-base/src/preview.tsx +9 -0
- package/src/scaffold/template-base/tsconfig.build.json +10 -0
- package/src/scaffold/template-base/tsconfig.json +18 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# **NAME**
|
|
2
|
+
|
|
3
|
+
A react-pptx template. The brand lives in JSX; an LLM (Claude, anything that
|
|
4
|
+
speaks MCP) drives it through the generic `react-pptx-mcp` server without
|
|
5
|
+
ever touching fonts, colors, or layout.
|
|
6
|
+
|
|
7
|
+
## Develop
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install
|
|
11
|
+
pnpm dev
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Opens the hot-reloading viewer at <http://localhost:5173>. Edit anything
|
|
15
|
+
under `src/` and the page updates.
|
|
16
|
+
|
|
17
|
+
## Anatomy
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
src/
|
|
21
|
+
├── index.ts # Template value — tokens, fonts, components map
|
|
22
|
+
├── preview.tsx # Canonical slide order shown in the viewer
|
|
23
|
+
└── components/ # Slide components, each one a Zod schema + JSX
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The Zod schema on every component is what Claude sees as the tool input
|
|
27
|
+
schema. Field descriptions become the LLM-facing documentation. Drop a
|
|
28
|
+
new component into `src/components/` and `defineTemplateComponent({...})`
|
|
29
|
+
in `src/index.ts` — that's the entire authoring loop.
|
|
30
|
+
|
|
31
|
+
## Generate a deck from the CLI
|
|
32
|
+
|
|
33
|
+
After editing, build once and then invoke the generic CLI against your
|
|
34
|
+
template:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pnpm build
|
|
38
|
+
echo '{
|
|
39
|
+
"title": "Q2 Review",
|
|
40
|
+
"slides": [{ "component": "Cover", "props": { "title": "Q2 Review" } }]
|
|
41
|
+
}' | pnpm generate --output ~/Desktop
|
|
42
|
+
# /Users/you/Desktop/Q2-Review.pptx
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`pnpm generate` is a thin wrapper around `react-pptx-mcp generate --template
|
|
46
|
+
./dist/index.js`.
|
|
47
|
+
|
|
48
|
+
## Plug this template into Claude Desktop
|
|
49
|
+
|
|
50
|
+
No global install. No per-template binary. Use `npx` so Claude pulls the
|
|
51
|
+
generic MCP server straight from npm.
|
|
52
|
+
|
|
53
|
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
54
|
+
(or the equivalent on your OS):
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"__NAME__-slides": {
|
|
60
|
+
"command": "npx",
|
|
61
|
+
"args": [
|
|
62
|
+
"-y",
|
|
63
|
+
"react-pptx-mcp",
|
|
64
|
+
"serve",
|
|
65
|
+
"--template",
|
|
66
|
+
"/absolute/path/to/__NAME__/dist/index.js",
|
|
67
|
+
"--output",
|
|
68
|
+
"/Users/you/Desktop"
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Restart Claude. Three tools appear, auto-derived from this template:
|
|
76
|
+
|
|
77
|
+
| Tool | Purpose |
|
|
78
|
+
| ------------------- | ---------------------------------------------------------------- |
|
|
79
|
+
| `slides_list` | Lists every slide type, with descriptions. |
|
|
80
|
+
| `slides_add_<type>` | Validates a single slide's props against the Zod schema. |
|
|
81
|
+
| `slides_create` | Takes `{ title, slides }`, writes the `.pptx`, returns the path. |
|
|
82
|
+
|
|
83
|
+
Ask Claude:
|
|
84
|
+
|
|
85
|
+
> "Make me a 5-slide Q2 review deck with this template."
|
|
86
|
+
|
|
87
|
+
Whenever you edit the template, run `pnpm build` and Claude will pick up
|
|
88
|
+
the changes on its next request.
|
|
89
|
+
|
|
90
|
+
### Want Claude to know the conventions up front?
|
|
91
|
+
|
|
92
|
+
Drop the bundled skill into your Claude project. Print it with:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx react-pptx-mcp skill
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
…and paste into your Claude project's knowledge sources.
|
|
99
|
+
|
|
100
|
+
## API in 30 seconds
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
import { defineTemplate, defineTemplateComponent, CANVAS_16_9 } from 'react-pptx';
|
|
104
|
+
import { Cover, CoverSchema } from './components/Cover.js';
|
|
105
|
+
import { preview } from './preview.js';
|
|
106
|
+
|
|
107
|
+
export const __IDENT__ = defineTemplate({
|
|
108
|
+
name: '__NAME__',
|
|
109
|
+
canvas: CANVAS_16_9,
|
|
110
|
+
fonts: { display: ['Inter'], body: ['Inter'], mono: ['IBM Plex Mono'] },
|
|
111
|
+
colors: {},
|
|
112
|
+
typography: {},
|
|
113
|
+
spacing: {},
|
|
114
|
+
components: {
|
|
115
|
+
Cover: defineTemplateComponent({
|
|
116
|
+
component: Cover,
|
|
117
|
+
schema: CoverSchema,
|
|
118
|
+
description: 'Use as the first slide of a deck.',
|
|
119
|
+
}),
|
|
120
|
+
},
|
|
121
|
+
preview,
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Add a new component:
|
|
126
|
+
|
|
127
|
+
1. Create `src/components/MySlide.tsx` exporting a Zod schema and a React
|
|
128
|
+
component. Keep all styling token-locked through your tokens map.
|
|
129
|
+
2. Register it in `src/index.ts` under `components` with a clear
|
|
130
|
+
description (LLMs read it).
|
|
131
|
+
3. Add a sample call in `src/preview.tsx` so the viewer shows it.
|
|
132
|
+
|
|
133
|
+
Run `pnpm build` and the new component appears as `slides_add_my_slide` the
|
|
134
|
+
next time Claude talks to your MCP server.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "__NAME__",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "A react-pptx template.",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./src/index.ts",
|
|
8
|
+
"types": "./src/index.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"src"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"dev": "slides-dev",
|
|
15
|
+
"build": "tsc -p tsconfig.build.json",
|
|
16
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
17
|
+
"serve": "react-pptx-mcp serve --template ./dist/index.js",
|
|
18
|
+
"generate": "react-pptx-mcp generate --template ./dist/index.js"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"react": "^19.0.0",
|
|
22
|
+
"react-pptx": "^0.0.0"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"zod": "^3.23.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@types/react": "^19.0.0",
|
|
29
|
+
"react": "19.2.5",
|
|
30
|
+
"react-pptx": "^0.0.0",
|
|
31
|
+
"react-pptx-dev": "^0.0.0",
|
|
32
|
+
"react-pptx-mcp": "^0.0.0",
|
|
33
|
+
"typescript": "^5.5.0"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import { Slide, Box, Text } from '../../../../core/index.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
export const CoverSchema = z
|
|
6
|
+
.object({
|
|
7
|
+
title: z.string().min(1).describe('The deck title.'),
|
|
8
|
+
subtitle: z.string().optional().describe('Optional subtitle.'),
|
|
9
|
+
})
|
|
10
|
+
.strict();
|
|
11
|
+
|
|
12
|
+
type CoverProps = z.infer<typeof CoverSchema>;
|
|
13
|
+
|
|
14
|
+
export const Cover = ({ title, subtitle }: CoverProps): ReactElement => (
|
|
15
|
+
<Slide>
|
|
16
|
+
<Box rect={{ x: 0, y: 0, w: 960, h: 540 }} fill={{ kind: 'solid', color: '#0b0b0b' }} />
|
|
17
|
+
<Box rect={{ x: 60, y: 200, w: 800, h: 120 }}>
|
|
18
|
+
<Text textStyle={{ fontFamily: 'display', fontSize: 64, foregroundColor: '#ffffff' }}>
|
|
19
|
+
{title}
|
|
20
|
+
</Text>
|
|
21
|
+
</Box>
|
|
22
|
+
{subtitle ? (
|
|
23
|
+
<Box rect={{ x: 60, y: 320, w: 800, h: 40 }}>
|
|
24
|
+
<Text textStyle={{ fontFamily: 'body', fontSize: 20, foregroundColor: '#cccccc' }}>
|
|
25
|
+
{subtitle}
|
|
26
|
+
</Text>
|
|
27
|
+
</Box>
|
|
28
|
+
) : null}
|
|
29
|
+
</Slide>
|
|
30
|
+
);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CANVAS_16_9, defineTemplate, defineTemplateComponent } from '../../../core/index.js';
|
|
2
|
+
import { Cover, CoverSchema } from './components/Cover.js';
|
|
3
|
+
import { preview } from './preview.js';
|
|
4
|
+
|
|
5
|
+
export const __IDENT__ = defineTemplate({
|
|
6
|
+
name: '__NAME__',
|
|
7
|
+
canvas: CANVAS_16_9,
|
|
8
|
+
fonts: {
|
|
9
|
+
display: ['Inter', 'Arial'],
|
|
10
|
+
body: ['Inter', 'Arial'],
|
|
11
|
+
mono: ['IBM Plex Mono', 'Courier New'],
|
|
12
|
+
},
|
|
13
|
+
colors: {
|
|
14
|
+
'fg.base': '#0b0b0b',
|
|
15
|
+
'bg.surface': '#ffffff',
|
|
16
|
+
},
|
|
17
|
+
typography: {},
|
|
18
|
+
spacing: { md: 12, lg: 24 },
|
|
19
|
+
components: {
|
|
20
|
+
Cover: defineTemplateComponent({
|
|
21
|
+
component: Cover,
|
|
22
|
+
schema: CoverSchema,
|
|
23
|
+
description: 'Use as the first slide of a deck. Sets the title.',
|
|
24
|
+
}),
|
|
25
|
+
},
|
|
26
|
+
preview,
|
|
27
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import { Cover } from './components/Cover.js';
|
|
3
|
+
|
|
4
|
+
export const preview = (): ReactElement => (
|
|
5
|
+
<>
|
|
6
|
+
<Cover title="Hello, __NAME__" subtitle="A react-pptx template." />
|
|
7
|
+
<Cover title="Edit me" subtitle="src/preview.tsx" />
|
|
8
|
+
</>
|
|
9
|
+
);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
+
"jsx": "react-jsx",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"noUncheckedIndexedAccess": true,
|
|
10
|
+
"isolatedModules": true,
|
|
11
|
+
"esModuleInterop": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"noEmit": true
|
|
16
|
+
},
|
|
17
|
+
"include": ["src/**/*"]
|
|
18
|
+
}
|