loopwind 0.10.2 → 0.10.3
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.
|
@@ -176,6 +176,77 @@ export default function Template({
|
|
|
176
176
|
{template('banner-hero', { title: 'Nested', subtitle: 'Template' })}
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
+
## Animation Classes (Video Only)
|
|
180
|
+
|
|
181
|
+
Tailwind-style animation classes for video templates. Format: `animate-{type}/{start}/{end}`
|
|
182
|
+
|
|
183
|
+
### Transition Animations
|
|
184
|
+
|
|
185
|
+
```tsx
|
|
186
|
+
// Fade in from 0% to 50% of video
|
|
187
|
+
<h1 style={tw('animate-fade-in/0/0.5')}>Hello</h1>
|
|
188
|
+
|
|
189
|
+
// Bounce in from below, with easing
|
|
190
|
+
<h1 style={tw('ease-out animate-bounce-in-up/0/0.4')}>Title</h1>
|
|
191
|
+
|
|
192
|
+
// Staggered animations
|
|
193
|
+
<h1 style={tw('ease-out animate-fade-in-up/0/0.3')}>First</h1>
|
|
194
|
+
<p style={tw('ease-out animate-fade-in-up/0.2/0.5')}>Second</p>
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Available animations:**
|
|
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`
|
|
203
|
+
|
|
204
|
+
### Loop Animations
|
|
205
|
+
|
|
206
|
+
Format: `animate-{type}/{frameLength}` (at 30fps: /30 = 1s, /15 = 0.5s)
|
|
207
|
+
|
|
208
|
+
```tsx
|
|
209
|
+
<div style={tw('animate-pulse/15')}>Pulsing</div>
|
|
210
|
+
<div style={tw('animate-spin/60')}>Spinning</div>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Available:** `pulse`, `bounce`, `spin`, `ping`, `wiggle`, `float`
|
|
214
|
+
|
|
215
|
+
### Easing Functions
|
|
216
|
+
|
|
217
|
+
Add before animation class:
|
|
218
|
+
|
|
219
|
+
```tsx
|
|
220
|
+
<h1 style={tw('ease-out-cubic animate-bounce-in/0/0.5')}>Dramatic</h1>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**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
|
+
|
|
225
|
+
### Example: Intro Video
|
|
226
|
+
|
|
227
|
+
```tsx
|
|
228
|
+
export const meta = {
|
|
229
|
+
name: "intro",
|
|
230
|
+
type: "video",
|
|
231
|
+
size: { width: 1920, height: 1080 },
|
|
232
|
+
video: { fps: 30, duration: 3 },
|
|
233
|
+
props: { title: "string", subtitle: "string" }
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
export default function Intro({ tw, title, subtitle }) {
|
|
237
|
+
return (
|
|
238
|
+
<div style={tw('flex flex-col items-center justify-center w-full h-full bg-black')}>
|
|
239
|
+
<h1 style={tw('text-8xl font-bold text-white ease-out animate-bounce-in-up/0/0.4')}>
|
|
240
|
+
{title}
|
|
241
|
+
</h1>
|
|
242
|
+
<p style={tw('text-2xl text-white/80 mt-4 ease-out animate-fade-in-up/0.3/0.6')}>
|
|
243
|
+
{subtitle}
|
|
244
|
+
</p>
|
|
245
|
+
</div>
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
179
250
|
## Common Workflows
|
|
180
251
|
|
|
181
252
|
### Generate Image
|