loopwind 0.12.0 → 0.12.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.
- package/README.md +119 -104
- package/dist/default-templates/AGENTS.md +59 -41
- package/dist/default-templates/image-template/template.tsx +1 -1
- package/dist/default-templates/video-intro/template.tsx +37 -0
- package/dist/default-templates/video-template/template.tsx +4 -21
- package/dist/lib/renderer.d.ts.map +1 -1
- package/dist/lib/renderer.js +8 -2
- package/dist/lib/renderer.js.map +1 -1
- package/package.json +1 -1
- package/FONTS.md +0 -160
- package/HELPERS_DEMO.md +0 -126
- package/PROJECT_STRUCTURE.md +0 -284
- package/PUBLISHING.md +0 -171
- package/SHADCN_INTEGRATION.md +0 -269
- package/TAILWIND.md +0 -228
- package/TEMPLATE_SOURCES.md +0 -347
package/README.md
CHANGED
|
@@ -3,18 +3,15 @@
|
|
|
3
3
|
> The Shadcn for design and marketing. A template-based CLI tool for generating images and videos using React + Tailwind CSS + Satori.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- 🤖 **Agent-friendly**: Machine-readable metadata for LLMs
|
|
16
|
-
- 📦 **Easy installation**: `npx loopwind add template-name`
|
|
17
|
-
- 🌐 **Pure JavaScript/WASM**: No native dependencies, works everywhere
|
|
6
|
+
- **Template-based**: Install templates and get full control over code.
|
|
7
|
+
- **Serverless Video Rendering**: Extremely fast WASM-based MP4 encoding.
|
|
8
|
+
- **Serverless Image Rendering**: Pure JavaScript rendering with Satori - works on Vercel, Netlify, Cloudflare Workers
|
|
9
|
+
- **Tailwind CSS & shadcn/ui styling**: Style templates with Tailwind & shadcn/ui utility classes (`text-foreground bg-primary/50`)
|
|
10
|
+
- **Animate with classes**: Tailwind-style animation classes for video templates. (enter-fade-in/0/500, exit-fade-out/2500/500, loop-ping/500)
|
|
11
|
+
- **Built-in Helpers**: QR codes, image embedding, video backgrounds, template composition
|
|
12
|
+
- **Agent-friendly**: Machine-readable metadata for LLMs
|
|
13
|
+
- **Easy installation**: `npx loopwind add image-template`
|
|
14
|
+
- **Pure JavaScript/WASM**: No native dependencies, works everywhere
|
|
18
15
|
|
|
19
16
|
## Quick Start
|
|
20
17
|
|
|
@@ -32,64 +29,14 @@ npx loopwind --help
|
|
|
32
29
|
|
|
33
30
|
### Install a Template
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
#### 1. Official Registry (Coming Soon)
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
loopwind add banner-hero
|
|
41
|
-
loopwind add og-image --registry https://custom-registry.com/r
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
#### 2. GitHub Repositories
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# From a GitHub repo (looks for template.json in repo root)
|
|
48
|
-
loopwind add github:username/repo
|
|
49
|
-
|
|
50
|
-
# From a specific path in the repo
|
|
51
|
-
loopwind add github:username/repo/templates/banner-hero
|
|
52
|
-
|
|
53
|
-
# From an organization
|
|
54
|
-
loopwind add github:myorg/design-templates/social-media/og-image
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**How it works:**
|
|
58
|
-
- Converts to raw GitHub URLs
|
|
59
|
-
- Fetches `template.json` from the specified path
|
|
60
|
-
- Downloads all referenced files
|
|
61
|
-
- Uses `main` branch by default
|
|
62
|
-
|
|
63
|
-
#### 3. Direct URLs
|
|
32
|
+
#### 1. Officials
|
|
64
33
|
|
|
65
34
|
```bash
|
|
66
|
-
|
|
67
|
-
loopwind add
|
|
68
|
-
loopwind add https://cdn.example.com/templates/awesome-banner.json
|
|
35
|
+
loopwind add image-template
|
|
36
|
+
loopwind add video-template
|
|
69
37
|
```
|
|
70
38
|
|
|
71
|
-
|
|
72
|
-
- URL must return JSON in the registry template format
|
|
73
|
-
- Must be publicly accessible (no authentication)
|
|
74
|
-
|
|
75
|
-
#### 4. Local Filesystem
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# Relative path
|
|
79
|
-
loopwind add ./my-templates/banner-hero
|
|
80
|
-
loopwind add ../shared-templates/product-card
|
|
81
|
-
|
|
82
|
-
# Absolute path
|
|
83
|
-
loopwind add /Users/you/templates/social-card
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Use cases:**
|
|
87
|
-
- Development and testing
|
|
88
|
-
- Private templates
|
|
89
|
-
- Shared team templates (monorepo)
|
|
90
|
-
- Before publishing to registry
|
|
91
|
-
|
|
92
|
-
Templates are installed to: `_loopwind/templates/<template>/` (customizable in `_loopwind/loopwind.json`)
|
|
39
|
+
Templates are installed to: `_loopwind/templates/<template>/`.
|
|
93
40
|
|
|
94
41
|
**Benefits:**
|
|
95
42
|
- Templates are local to your project (like npm packages)
|
|
@@ -100,6 +47,32 @@ Templates are installed to: `_loopwind/templates/<template>/` (customizable in `
|
|
|
100
47
|
|
|
101
48
|
See `REGISTRY_SETUP.md` to create your own registry.
|
|
102
49
|
|
|
50
|
+
### Video Rendering
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
import { defineTemplate, renderVideo } from 'loopwind/sdk';
|
|
54
|
+
|
|
55
|
+
const introTemplate = defineTemplate({
|
|
56
|
+
name: 'intro-video',
|
|
57
|
+
type: 'video',
|
|
58
|
+
size: { width: 1920, height: 1080 },
|
|
59
|
+
video: { fps: 30, duration: 3 },
|
|
60
|
+
render: ({ tw, progress, title }) => {
|
|
61
|
+
const opacity = progress; // 0 to 1 animation
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<div style={tw('flex items-center justify-center w-full h-full bg-black')}>
|
|
65
|
+
<h1 style={{ ...tw('text-8xl font-bold text-white'), opacity }}>
|
|
66
|
+
{title}
|
|
67
|
+
</h1>
|
|
68
|
+
</div>
|
|
69
|
+
);
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
const mp4 = await renderVideo(introTemplate, { title: 'Welcome!' });
|
|
74
|
+
```
|
|
75
|
+
|
|
103
76
|
### Render an Image
|
|
104
77
|
|
|
105
78
|
```bash
|
|
@@ -205,32 +178,6 @@ export default async function handler(req, res) {
|
|
|
205
178
|
}
|
|
206
179
|
```
|
|
207
180
|
|
|
208
|
-
### Video Rendering
|
|
209
|
-
|
|
210
|
-
```typescript
|
|
211
|
-
import { defineTemplate, renderVideo } from 'loopwind/sdk';
|
|
212
|
-
|
|
213
|
-
const introTemplate = defineTemplate({
|
|
214
|
-
name: 'intro-video',
|
|
215
|
-
type: 'video',
|
|
216
|
-
size: { width: 1920, height: 1080 },
|
|
217
|
-
video: { fps: 30, duration: 3 },
|
|
218
|
-
render: ({ tw, progress, title }) => {
|
|
219
|
-
const opacity = progress; // 0 to 1 animation
|
|
220
|
-
|
|
221
|
-
return (
|
|
222
|
-
<div style={tw('flex items-center justify-center w-full h-full bg-black')}>
|
|
223
|
-
<h1 style={{ ...tw('text-8xl font-bold text-white'), opacity }}>
|
|
224
|
-
{title}
|
|
225
|
-
</h1>
|
|
226
|
-
</div>
|
|
227
|
-
);
|
|
228
|
-
},
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
const mp4 = await renderVideo(introTemplate, { title: 'Welcome!' });
|
|
232
|
-
```
|
|
233
|
-
|
|
234
181
|
### Key Features
|
|
235
182
|
|
|
236
183
|
- ✅ **No file system dependencies** - templates defined in code
|
|
@@ -749,24 +696,16 @@ export const meta = {
|
|
|
749
696
|
}
|
|
750
697
|
};
|
|
751
698
|
|
|
752
|
-
export default function Template({ title, subtitle,
|
|
753
|
-
const opacity = Math.min(1, progress * 2);
|
|
754
|
-
const translateY = 20 - (progress * 20);
|
|
755
|
-
|
|
699
|
+
export default function Template({ title, subtitle, tw }) {
|
|
756
700
|
return (
|
|
757
701
|
<div style={tw('w-full h-full flex flex-col justify-center items-center bg-background p-20')}>
|
|
758
702
|
<div style={tw('bg-card border rounded-xl p-16 flex flex-col')}>
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
...tw('text-9xl font-bold text-foreground'),
|
|
762
|
-
opacity,
|
|
763
|
-
transform: `translateY(${translateY}px)`
|
|
764
|
-
}}
|
|
765
|
-
>
|
|
703
|
+
{/* Bounce in from below: starts at 0ms, lasts 600ms */}
|
|
704
|
+
<h1 style={tw('text-9xl font-bold text-foreground ease-out enter-bounce-in-up/0/600')}>
|
|
766
705
|
{title}
|
|
767
706
|
</h1>
|
|
768
707
|
{subtitle && (
|
|
769
|
-
<p style={tw('text-5xl text-muted-foreground/75 mt-6')}>
|
|
708
|
+
<p style={tw('text-5xl text-muted-foreground/75 mt-6 ease-out enter-fade-in-up/300/600')}>
|
|
770
709
|
{subtitle}
|
|
771
710
|
</p>
|
|
772
711
|
)}
|
|
@@ -776,6 +715,82 @@ export default function Template({ title, subtitle, frame, progress, tw, qr, tem
|
|
|
776
715
|
}
|
|
777
716
|
```
|
|
778
717
|
|
|
718
|
+
## Animation Classes (Video Only)
|
|
719
|
+
|
|
720
|
+
Tailwind-style animation classes for video templates. No manual `progress` or `frame` calculations needed!
|
|
721
|
+
|
|
722
|
+
### Format
|
|
723
|
+
|
|
724
|
+
```
|
|
725
|
+
enter-{animation}/{startMs}/{durationMs}
|
|
726
|
+
exit-{animation}/{startMs}/{durationMs}
|
|
727
|
+
loop-{animation}/{durationMs}
|
|
728
|
+
```
|
|
729
|
+
|
|
730
|
+
- **startMs** - when animation begins (milliseconds)
|
|
731
|
+
- **durationMs** - how long it lasts (milliseconds)
|
|
732
|
+
|
|
733
|
+
### Enter Animations
|
|
734
|
+
|
|
735
|
+
```tsx
|
|
736
|
+
// Fade in: starts at 0ms, lasts 500ms
|
|
737
|
+
<h1 style={tw('enter-fade-in/0/500')}>Hello</h1>
|
|
738
|
+
|
|
739
|
+
// Bounce in from below with easing
|
|
740
|
+
<h1 style={tw('ease-out enter-bounce-in-up/0/600')}>Title</h1>
|
|
741
|
+
|
|
742
|
+
// Staggered animations
|
|
743
|
+
<h1 style={tw('ease-out enter-fade-in-up/0/400')}>First</h1>
|
|
744
|
+
<p style={tw('ease-out enter-fade-in-up/200/400')}>Second</p>
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
**Available:** `fade-in`, `fade-in-up`, `fade-in-down`, `fade-in-left`, `fade-in-right`, `slide-up`, `slide-down`, `slide-left`, `slide-right`, `bounce-in`, `bounce-in-up`, `bounce-in-down`, `bounce-in-left`, `bounce-in-right`, `scale-in`, `zoom-in`, `rotate-in`, `flip-in-x`, `flip-in-y`
|
|
748
|
+
|
|
749
|
+
### Exit Animations
|
|
750
|
+
|
|
751
|
+
```tsx
|
|
752
|
+
// Fade out: starts at 2500ms, lasts 500ms
|
|
753
|
+
<h1 style={tw('exit-fade-out/2500/500')}>Goodbye</h1>
|
|
754
|
+
|
|
755
|
+
// Combined enter and exit
|
|
756
|
+
<h1 style={tw('enter-fade-in/0/500 exit-fade-out/2500/500')}>
|
|
757
|
+
Hello and Goodbye
|
|
758
|
+
</h1>
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
### Loop Animations
|
|
762
|
+
|
|
763
|
+
```tsx
|
|
764
|
+
// Pulse opacity every 500ms
|
|
765
|
+
<div style={tw('loop-fade/500')}>Pulsing</div>
|
|
766
|
+
|
|
767
|
+
// Continuous rotation every 2000ms
|
|
768
|
+
<div style={tw('loop-spin/2000')}>Spinning</div>
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
**Available:** `loop-fade`, `loop-bounce`, `loop-spin`, `loop-ping`, `loop-wiggle`, `loop-float`, `loop-pulse`, `loop-shake`
|
|
772
|
+
|
|
773
|
+
### Easing Functions
|
|
774
|
+
|
|
775
|
+
Add before animation class:
|
|
776
|
+
|
|
777
|
+
```tsx
|
|
778
|
+
<h1 style={tw('ease-out-cubic enter-bounce-in/0/500')}>Dramatic</h1>
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
**Available:** `linear`, `ease-in`, `ease-out`, `ease-in-out`, `ease-in-cubic`, `ease-out-cubic`, `ease-in-out-cubic`, `ease-in-quart`, `ease-out-quart`, `ease-in-out-quart`
|
|
782
|
+
|
|
783
|
+
### Bracket Notation
|
|
784
|
+
|
|
785
|
+
For CSS-like syntax:
|
|
786
|
+
|
|
787
|
+
```tsx
|
|
788
|
+
<h1 style={tw('enter-slide-up/[0.6s]/[1.5s]')}>Hello</h1>
|
|
789
|
+
<h1 style={tw('enter-fade-in/[300ms]/[800ms]')}>World</h1>
|
|
790
|
+
```
|
|
791
|
+
|
|
792
|
+
See the [Animation Documentation](https://loopwind.dev/animation) for complete reference.
|
|
793
|
+
|
|
779
794
|
## Commands
|
|
780
795
|
|
|
781
796
|
### `loopwind init`
|
|
@@ -12,7 +12,7 @@ Creates `loopwind.json` config file. Run this first in new projects.
|
|
|
12
12
|
|
|
13
13
|
### 2. Add Templates
|
|
14
14
|
```bash
|
|
15
|
-
loopwind add <template> # From registry ('image' or 'video' default)
|
|
15
|
+
loopwind add <template> # From registry ('image-template' or 'video-template' default)
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
### 3. List Installed Templates
|
|
@@ -24,14 +24,6 @@ loopwind list
|
|
|
24
24
|
```bash
|
|
25
25
|
# With inline props (JSON string)
|
|
26
26
|
loopwind render banner-hero '{"title":"Hello World"}'
|
|
27
|
-
|
|
28
|
-
# With props file
|
|
29
|
-
loopwind render banner-hero props.json
|
|
30
|
-
|
|
31
|
-
# Specify output path and format
|
|
32
|
-
loopwind render banner-hero props.json --out output.png --format png
|
|
33
|
-
|
|
34
|
-
# Supported formats: png (default), svg, webp, jpg, jpeg
|
|
35
27
|
```
|
|
36
28
|
|
|
37
29
|
### 5. Render Videos
|
|
@@ -42,14 +34,6 @@ loopwind render my-video '{"title":"Video Title"}'
|
|
|
42
34
|
# Render to GIF (great for emails, GitHub, Slack)
|
|
43
35
|
loopwind render my-video '{"title":"Video Title"}' --format gif
|
|
44
36
|
|
|
45
|
-
# With quality options
|
|
46
|
-
loopwind render my-video props.json --crf 23
|
|
47
|
-
|
|
48
|
-
# Export frames only
|
|
49
|
-
loopwind render my-video props.json --frames-only
|
|
50
|
-
|
|
51
|
-
# Keep frames after encoding
|
|
52
|
-
loopwind render my-video props.json --keep-frames
|
|
53
37
|
```
|
|
54
38
|
|
|
55
39
|
**Formats:** MP4 (default), GIF
|
|
@@ -63,11 +47,11 @@ loopwind validate [template] # Validate one or all templates
|
|
|
63
47
|
|
|
64
48
|
```
|
|
65
49
|
project/
|
|
66
|
-
├── loopwind.json # Config (colors, fonts, paths)
|
|
67
50
|
└── _loopwind/
|
|
68
51
|
├── AGENTS.md # This file
|
|
69
52
|
├── templates/ # Installed templates
|
|
70
53
|
└── outputs/ # Generated files
|
|
54
|
+
└── loopwind.json # Config (colors, fonts, paths)
|
|
71
55
|
```
|
|
72
56
|
|
|
73
57
|
## Template Types
|
|
@@ -78,7 +62,7 @@ project/
|
|
|
78
62
|
export const meta = {
|
|
79
63
|
name: "my-template",
|
|
80
64
|
type: "image",
|
|
81
|
-
size: { width: 1200, height: 630 },
|
|
65
|
+
size: { width: 1200, height: 630, scale: 2 },
|
|
82
66
|
props: { title: "string" }
|
|
83
67
|
};
|
|
84
68
|
|
|
@@ -178,50 +162,82 @@ export default function Template({
|
|
|
178
162
|
|
|
179
163
|
## Animation Classes (Video Only)
|
|
180
164
|
|
|
181
|
-
Tailwind-style animation classes for video templates.
|
|
165
|
+
Tailwind-style animation classes for video templates.
|
|
166
|
+
### Format
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
enter-{animation}/{startMs}/{durationMs}
|
|
170
|
+
exit-{animation}/{startMs}/{durationMs}
|
|
171
|
+
loop-{animation}/{durationMs}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
- **startMs** - when animation begins (milliseconds)
|
|
175
|
+
- **durationMs** - how long it lasts (milliseconds)
|
|
182
176
|
|
|
183
|
-
###
|
|
177
|
+
### Enter Animations
|
|
184
178
|
|
|
185
179
|
```tsx
|
|
186
|
-
// Fade in
|
|
187
|
-
<h1 style={tw('
|
|
180
|
+
// Fade in: starts at 0ms, lasts 500ms
|
|
181
|
+
<h1 style={tw('enter-fade-in/0/500')}>Hello</h1>
|
|
188
182
|
|
|
189
|
-
// Bounce in from below
|
|
190
|
-
<h1 style={tw('ease-out
|
|
183
|
+
// Bounce in from below with easing
|
|
184
|
+
<h1 style={tw('ease-out enter-bounce-in-up/0/600')}>Title</h1>
|
|
191
185
|
|
|
192
186
|
// Staggered animations
|
|
193
|
-
<h1 style={tw('ease-out
|
|
194
|
-
<p style={tw('ease-out
|
|
187
|
+
<h1 style={tw('ease-out enter-fade-in-up/0/400')}>First</h1>
|
|
188
|
+
<p style={tw('ease-out enter-fade-in-up/200/400')}>Second</p>
|
|
195
189
|
```
|
|
196
190
|
|
|
197
|
-
**Available
|
|
198
|
-
- **Fade:** `fade-in`, `fade-out`, `fade-in-up`, `fade-in-down`, `fade-in-left`, `fade-in-right`
|
|
199
|
-
- **Slide:** `slide-left`, `slide-right`, `slide-up`, `slide-down`
|
|
200
|
-
- **Bounce:** `bounce-in`, `bounce-in-up`, `bounce-in-down`, `bounce-in-left`, `bounce-in-right`
|
|
201
|
-
- **Scale:** `scale-in`, `scale-out`, `zoom-in`, `zoom-out`
|
|
202
|
-
- **Rotate:** `rotate-in`, `rotate-out`, `flip-in-x`, `flip-in-y`
|
|
191
|
+
**Available:** `enter-fade-in`, `enter-fade-in-up`, `enter-fade-in-down`, `enter-fade-in-left`, `enter-fade-in-right`, `enter-slide-up`, `enter-slide-down`, `enter-slide-left`, `enter-slide-right`, `enter-bounce-in`, `enter-bounce-in-up`, `enter-bounce-in-down`, `enter-bounce-in-left`, `enter-bounce-in-right`, `enter-scale-in`, `enter-zoom-in`, `enter-rotate-in`, `enter-flip-in-x`, `enter-flip-in-y`
|
|
203
192
|
|
|
204
|
-
###
|
|
193
|
+
### Exit Animations
|
|
205
194
|
|
|
206
|
-
|
|
195
|
+
```tsx
|
|
196
|
+
// Fade out: starts at 2500ms, lasts 500ms
|
|
197
|
+
<h1 style={tw('exit-fade-out/2500/500')}>Goodbye</h1>
|
|
198
|
+
|
|
199
|
+
// Combined enter and exit
|
|
200
|
+
<h1 style={tw('enter-fade-in/0/500 exit-fade-out/2500/500')}>
|
|
201
|
+
Hello and Goodbye
|
|
202
|
+
</h1>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Available:** Same as enter animations but with "out" suffix (e.g., `exit-fade-out`, `exit-bounce-out-up`)
|
|
206
|
+
|
|
207
|
+
### Loop Animations
|
|
207
208
|
|
|
208
209
|
```tsx
|
|
209
|
-
|
|
210
|
-
<div style={tw('
|
|
210
|
+
// Pulse opacity every 500ms
|
|
211
|
+
<div style={tw('loop-fade/500')}>Pulsing</div>
|
|
212
|
+
|
|
213
|
+
// Continuous rotation every 2000ms
|
|
214
|
+
<div style={tw('loop-spin/2000')}>Spinning</div>
|
|
215
|
+
|
|
216
|
+
// Ping effect (radar) every 500ms
|
|
217
|
+
<div style={tw('loop-ping/500')}>Ping</div>
|
|
211
218
|
```
|
|
212
219
|
|
|
213
|
-
**Available:** `
|
|
220
|
+
**Available:** `loop-fade`, `loop-bounce`, `loop-spin`, `loop-ping`, `loop-wiggle`, `loop-float`, `loop-pulse`, `loop-shake`
|
|
214
221
|
|
|
215
222
|
### Easing Functions
|
|
216
223
|
|
|
217
224
|
Add before animation class:
|
|
218
225
|
|
|
219
226
|
```tsx
|
|
220
|
-
<h1 style={tw('ease-out-cubic
|
|
227
|
+
<h1 style={tw('ease-out-cubic enter-bounce-in/0/500')}>Dramatic</h1>
|
|
221
228
|
```
|
|
222
229
|
|
|
223
230
|
**Available:** `linear`, `ease-in`, `ease-out`, `ease-in-out`, `ease-in-cubic`, `ease-out-cubic`, `ease-in-out-cubic`, `ease-in-quart`, `ease-out-quart`, `ease-in-out-quart`
|
|
224
231
|
|
|
232
|
+
### Bracket Notation
|
|
233
|
+
|
|
234
|
+
For CSS-like syntax:
|
|
235
|
+
|
|
236
|
+
```tsx
|
|
237
|
+
<h1 style={tw('enter-slide-up/[0.6s]/[1.5s]')}>Hello</h1>
|
|
238
|
+
<h1 style={tw('enter-fade-in/[300ms]/[800ms]')}>World</h1>
|
|
239
|
+
```
|
|
240
|
+
|
|
225
241
|
### Example: Intro Video
|
|
226
242
|
|
|
227
243
|
```tsx
|
|
@@ -236,10 +252,12 @@ export const meta = {
|
|
|
236
252
|
export default function Intro({ tw, title, subtitle }) {
|
|
237
253
|
return (
|
|
238
254
|
<div style={tw('flex flex-col items-center justify-center w-full h-full bg-black')}>
|
|
239
|
-
|
|
255
|
+
{/* Bounce in: starts at 0ms, lasts 600ms */}
|
|
256
|
+
<h1 style={tw('text-8xl font-bold text-white ease-out enter-bounce-in-up/0/600')}>
|
|
240
257
|
{title}
|
|
241
258
|
</h1>
|
|
242
|
-
|
|
259
|
+
{/* Fade in: starts at 400ms, lasts 600ms */}
|
|
260
|
+
<p style={tw('text-2xl text-white/80 mt-4 ease-out enter-fade-in-up/400/600')}>
|
|
243
261
|
{subtitle}
|
|
244
262
|
</p>
|
|
245
263
|
</div>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
export const meta = {
|
|
4
|
+
"name": "video-intro",
|
|
5
|
+
"description": "Animated video intro with title reveal",
|
|
6
|
+
"type": "video",
|
|
7
|
+
"size": {
|
|
8
|
+
"width": 1920,
|
|
9
|
+
"height": 1080
|
|
10
|
+
},
|
|
11
|
+
"props": {
|
|
12
|
+
"title": "string",
|
|
13
|
+
"subtitle": "string?"
|
|
14
|
+
},
|
|
15
|
+
"video": {
|
|
16
|
+
"fps": 60,
|
|
17
|
+
"duration": 3
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default function Template({ title, subtitle, tw }) {
|
|
22
|
+
return (
|
|
23
|
+
<div style={tw('w-full h-full flex flex-col justify-center items-center bg-background')}>
|
|
24
|
+
<h1 style={tw('text-8xl font-black text-foreground tracking-tight ease-out enter-slide-left/0/400')}>
|
|
25
|
+
{title}
|
|
26
|
+
</h1>
|
|
27
|
+
|
|
28
|
+
<div style={tw('h-1 w-96 bg-primary mt-6 rounded-full ease-out enter-scale-in/200/500')} />
|
|
29
|
+
|
|
30
|
+
{subtitle && (
|
|
31
|
+
<p style={tw('text-2xl text-muted-foreground mt-6 font-light tracking-wide ease-out enter-fade-in-up/400/600')}>
|
|
32
|
+
{subtitle}
|
|
33
|
+
</p>
|
|
34
|
+
)}
|
|
35
|
+
</div>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
|
|
3
3
|
export const meta = {
|
|
4
4
|
"name": "video",
|
|
@@ -18,32 +18,15 @@ export const meta = {
|
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
export default function Template({ title, description,
|
|
22
|
-
// Fade in animation
|
|
23
|
-
const opacity = Math.min(1, progress * 2);
|
|
24
|
-
|
|
25
|
-
// Slide up animation
|
|
26
|
-
const translateY = 20 - (progress * 20);
|
|
27
|
-
|
|
21
|
+
export default function Template({ title, description, tw }) {
|
|
28
22
|
return (
|
|
29
23
|
<div style={tw('w-full h-full flex flex-col justify-center items-center bg-background p-16')}>
|
|
30
24
|
<div style={tw('bg-card border rounded-xl p-12 flex flex-col max-w-4xl')}>
|
|
31
|
-
<h1
|
|
32
|
-
style={{
|
|
33
|
-
...tw('text-7xl font-bold text-foreground mb-4'),
|
|
34
|
-
opacity,
|
|
35
|
-
transform: `translateY(${translateY}px)`
|
|
36
|
-
}}
|
|
37
|
-
>
|
|
25
|
+
<h1 style={tw('text-7xl font-bold text-foreground mb-4 ease-out enter-fade-in-up/0/500')}>
|
|
38
26
|
{title}
|
|
39
27
|
</h1>
|
|
40
28
|
{description && (
|
|
41
|
-
<p
|
|
42
|
-
style={{
|
|
43
|
-
...tw('text-3xl text-muted-foreground'),
|
|
44
|
-
opacity: Math.min(1, (progress - 0.3) * 2)
|
|
45
|
-
}}
|
|
46
|
-
>
|
|
29
|
+
<p style={tw('text-3xl text-muted-foreground ease-out enter-fade-in-up/300/500')}>
|
|
47
30
|
{description}
|
|
48
31
|
</p>
|
|
49
32
|
)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiB1D;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqFhD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,aAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAiB1D;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqFhD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,aAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAoOjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,aAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAGD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf;AAwKD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAClD;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CA8B7E"}
|
package/dist/lib/renderer.js
CHANGED
|
@@ -205,9 +205,12 @@ export async function renderToSVG(templateName, props = {}) {
|
|
|
205
205
|
// Create a new template helper with the embedded template's path as context
|
|
206
206
|
const embeddedFrame = templateProps?.frame ?? props.frame ?? 0;
|
|
207
207
|
const embeddedProgress = templateProps?.progress ?? props.progress ?? 0;
|
|
208
|
+
// Calculate animation context for embedded template
|
|
209
|
+
const embeddedTotalFrames = cached.meta.video ? Math.floor(cached.meta.video.fps * cached.meta.video.duration) : undefined;
|
|
210
|
+
const embeddedDurationMs = cached.meta.video ? cached.meta.video.duration * 1000 : undefined;
|
|
208
211
|
const embeddedFullProps = {
|
|
209
212
|
...(templateProps || {}),
|
|
210
|
-
tw: (classes) => tw(classes, tailwindConfig, loopwindConfig, { progress: embeddedProgress, frame: embeddedFrame }),
|
|
213
|
+
tw: (classes) => tw(classes, tailwindConfig, loopwindConfig, { progress: embeddedProgress, frame: embeddedFrame, totalFrames: embeddedTotalFrames, durationMs: embeddedDurationMs }),
|
|
211
214
|
qr: qrHelper,
|
|
212
215
|
image: imageHelper,
|
|
213
216
|
video: videoHelper,
|
|
@@ -265,12 +268,15 @@ export async function renderToSVG(templateName, props = {}) {
|
|
|
265
268
|
// Add frame, progress, config, tw, qr, image, video, and template utilities
|
|
266
269
|
const frame = props.frame ?? 0;
|
|
267
270
|
const progress = props.progress ?? 0;
|
|
271
|
+
// Calculate animation context for video templates
|
|
272
|
+
const totalFrames = meta.video ? Math.floor(meta.video.fps * meta.video.duration) : undefined;
|
|
273
|
+
const durationMs = meta.video ? meta.video.duration * 1000 : undefined;
|
|
268
274
|
const fullProps = {
|
|
269
275
|
...props,
|
|
270
276
|
frame,
|
|
271
277
|
progress,
|
|
272
278
|
config: loopwindConfig, // Pass the design config to the template
|
|
273
|
-
tw: (classes) => tw(classes, tailwindConfig, loopwindConfig, { progress, frame }), // Tailwind class converter with animation context
|
|
279
|
+
tw: (classes) => tw(classes, tailwindConfig, loopwindConfig, { progress, frame, totalFrames, durationMs }), // Tailwind class converter with animation context
|
|
274
280
|
qr: qrHelper, // QR code generator (cached)
|
|
275
281
|
image: imageHelper, // Image loader (cached)
|
|
276
282
|
video: videoHelper, // Video frame loader (cached)
|
package/dist/lib/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"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"}
|