@editframe/create 0.44.0 → 0.45.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/dist/index.js +16 -28
- package/dist/index.js.map +1 -1
- package/dist/skills/editframe-brand-video-generator/README.md +155 -0
- package/dist/skills/editframe-brand-video-generator/SKILL.md +207 -0
- package/dist/skills/editframe-brand-video-generator/references/brand-examples.md +178 -0
- package/dist/skills/editframe-brand-video-generator/references/color-psychology.md +227 -0
- package/dist/skills/editframe-brand-video-generator/references/composition-patterns.md +383 -0
- package/dist/skills/editframe-brand-video-generator/references/editing.md +66 -0
- package/dist/skills/editframe-brand-video-generator/references/emotional-arcs.md +496 -0
- package/dist/skills/editframe-brand-video-generator/references/genre-selection.md +135 -0
- package/dist/skills/editframe-brand-video-generator/references/transition-styles.md +611 -0
- package/dist/skills/editframe-brand-video-generator/references/typography-personalities.md +326 -0
- package/dist/skills/editframe-brand-video-generator/references/video-archetypes.md +86 -0
- package/dist/skills/editframe-brand-video-generator/references/video-fundamentals.md +169 -0
- package/dist/skills/editframe-brand-video-generator/references/visual-metaphors.md +50 -0
- package/dist/skills/editframe-composition/SKILL.md +169 -0
- package/dist/skills/editframe-composition/references/audio.md +483 -0
- package/dist/skills/editframe-composition/references/captions.md +844 -0
- package/dist/skills/editframe-composition/references/composition-model.md +73 -0
- package/dist/skills/editframe-composition/references/configuration.md +403 -0
- package/dist/skills/editframe-composition/references/css-parts.md +105 -0
- package/dist/skills/editframe-composition/references/css-variables.md +640 -0
- package/dist/skills/editframe-composition/references/entry-points.md +810 -0
- package/dist/skills/editframe-composition/references/events.md +499 -0
- package/dist/skills/editframe-composition/references/getting-started.md +259 -0
- package/dist/skills/editframe-composition/references/hooks.md +234 -0
- package/dist/skills/editframe-composition/references/image.md +241 -0
- package/dist/skills/editframe-composition/references/r3f.md +580 -0
- package/dist/skills/editframe-composition/references/render-api.md +484 -0
- package/dist/skills/editframe-composition/references/render-strategies.md +119 -0
- package/dist/skills/editframe-composition/references/render-to-video.md +1101 -0
- package/dist/skills/editframe-composition/references/scripting.md +606 -0
- package/dist/skills/editframe-composition/references/sequencing.md +116 -0
- package/dist/skills/editframe-composition/references/server-rendering.md +753 -0
- package/dist/skills/editframe-composition/references/surface.md +329 -0
- package/dist/skills/editframe-composition/references/text.md +627 -0
- package/dist/skills/editframe-composition/references/time-model.md +99 -0
- package/dist/skills/editframe-composition/references/timegroup-modes.md +102 -0
- package/dist/skills/editframe-composition/references/timegroup.md +457 -0
- package/dist/skills/editframe-composition/references/timeline-root.md +398 -0
- package/dist/skills/editframe-composition/references/transcription.md +47 -0
- package/dist/skills/editframe-composition/references/transitions.md +608 -0
- package/dist/skills/editframe-composition/references/use-media-info.md +357 -0
- package/dist/skills/editframe-composition/references/video.md +506 -0
- package/dist/skills/editframe-composition/references/waveform.md +327 -0
- package/dist/skills/editframe-editor-gui/SKILL.md +152 -0
- package/dist/skills/editframe-editor-gui/references/active-root-temporal.md +657 -0
- package/dist/skills/editframe-editor-gui/references/canvas.md +947 -0
- package/dist/skills/editframe-editor-gui/references/controls.md +366 -0
- package/dist/skills/editframe-editor-gui/references/dial.md +756 -0
- package/dist/skills/editframe-editor-gui/references/editor-toolkit.md +587 -0
- package/dist/skills/editframe-editor-gui/references/filmstrip.md +460 -0
- package/dist/skills/editframe-editor-gui/references/fit-scale.md +772 -0
- package/dist/skills/editframe-editor-gui/references/focus-overlay.md +561 -0
- package/dist/skills/editframe-editor-gui/references/hierarchy.md +544 -0
- package/dist/skills/editframe-editor-gui/references/overlay-item.md +634 -0
- package/dist/skills/editframe-editor-gui/references/overlay-layer.md +429 -0
- package/dist/skills/editframe-editor-gui/references/pan-zoom.md +568 -0
- package/dist/skills/editframe-editor-gui/references/pause.md +397 -0
- package/dist/skills/editframe-editor-gui/references/play.md +370 -0
- package/dist/skills/editframe-editor-gui/references/preview.md +391 -0
- package/dist/skills/editframe-editor-gui/references/resizable-box.md +749 -0
- package/dist/skills/editframe-editor-gui/references/scrubber.md +588 -0
- package/dist/skills/editframe-editor-gui/references/thumbnail-strip.md +566 -0
- package/dist/skills/editframe-editor-gui/references/time-display.md +492 -0
- package/dist/skills/editframe-editor-gui/references/timeline-ruler.md +489 -0
- package/dist/skills/editframe-editor-gui/references/timeline.md +604 -0
- package/dist/skills/editframe-editor-gui/references/toggle-loop.md +618 -0
- package/dist/skills/editframe-editor-gui/references/toggle-play.md +526 -0
- package/dist/skills/editframe-editor-gui/references/transform-handles.md +924 -0
- package/dist/skills/editframe-editor-gui/references/trim-handles.md +725 -0
- package/dist/skills/editframe-editor-gui/references/workbench.md +453 -0
- package/dist/skills/editframe-motion-design/SKILL.md +101 -0
- package/dist/skills/editframe-motion-design/references/0-editframe.md +299 -0
- package/dist/skills/editframe-motion-design/references/1-intent.md +201 -0
- package/dist/skills/editframe-motion-design/references/2-physics-model.md +405 -0
- package/dist/skills/editframe-motion-design/references/3-attention.md +350 -0
- package/dist/skills/editframe-motion-design/references/4-process.md +418 -0
- package/dist/skills/editframe-vite-plugin/SKILL.md +75 -0
- package/dist/skills/editframe-vite-plugin/references/file-api.md +111 -0
- package/dist/skills/editframe-vite-plugin/references/getting-started.md +96 -0
- package/dist/skills/editframe-vite-plugin/references/jit-transcoding.md +91 -0
- package/dist/skills/editframe-vite-plugin/references/local-assets.md +75 -0
- package/dist/skills/editframe-vite-plugin/references/visual-testing.md +136 -0
- package/dist/skills/editframe-webhooks/SKILL.md +126 -0
- package/dist/skills/editframe-webhooks/references/events.md +382 -0
- package/dist/skills/editframe-webhooks/references/getting-started.md +232 -0
- package/dist/skills/editframe-webhooks/references/security.md +418 -0
- package/dist/skills/editframe-webhooks/references/testing.md +409 -0
- package/dist/skills/editframe-webhooks/references/troubleshooting.md +457 -0
- package/dist/templates/html/AGENTS.md +13 -0
- package/dist/templates/react/AGENTS.md +13 -0
- package/dist/utils.js +15 -16
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/tsdown.config.ts +4 -0
- package/dist/detectAgent.js +0 -89
- package/dist/detectAgent.js.map +0 -1
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Image Element
|
|
3
|
+
description: Static image element with configurable display duration, CSS positioning, and fit/fill/cover layout modes for compositions.
|
|
4
|
+
type: reference
|
|
5
|
+
nav:
|
|
6
|
+
parent: "Media"
|
|
7
|
+
priority: 12
|
|
8
|
+
related: ["video", "surface"]
|
|
9
|
+
api:
|
|
10
|
+
attributes:
|
|
11
|
+
- name: src
|
|
12
|
+
type: string
|
|
13
|
+
required: true
|
|
14
|
+
description: URL, path, or data URI
|
|
15
|
+
- name: duration
|
|
16
|
+
type: timestring
|
|
17
|
+
description: Display duration
|
|
18
|
+
react:
|
|
19
|
+
generate: true
|
|
20
|
+
componentName: Image
|
|
21
|
+
importPath: "@editframe/react"
|
|
22
|
+
additionalProps:
|
|
23
|
+
- name: className
|
|
24
|
+
type: string
|
|
25
|
+
description: CSS classes for styling
|
|
26
|
+
- name: alt
|
|
27
|
+
type: string
|
|
28
|
+
description: Alt text for accessibility
|
|
29
|
+
nav:
|
|
30
|
+
parent: "Components / Media"
|
|
31
|
+
priority: 12
|
|
32
|
+
related: ["video", "surface"]
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
<!-- html-only -->
|
|
36
|
+
# ef-image
|
|
37
|
+
<!-- /html-only -->
|
|
38
|
+
<!-- react-only -->
|
|
39
|
+
# Image
|
|
40
|
+
<!-- /react-only -->
|
|
41
|
+
|
|
42
|
+
Static image element.
|
|
43
|
+
|
|
44
|
+
<!-- react-only -->
|
|
45
|
+
## Import
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
import { Image } from "@editframe/react";
|
|
49
|
+
```
|
|
50
|
+
<!-- /react-only -->
|
|
51
|
+
|
|
52
|
+
## Asset Paths
|
|
53
|
+
|
|
54
|
+
Place files in `src/assets/` and reference them as `/assets/filename`. The dev server serves these directly — do not use bundler imports (`import url from "./photo.jpg?url"`), which will not display in preview or render.
|
|
55
|
+
|
|
56
|
+
## Basic Usage
|
|
57
|
+
|
|
58
|
+
<!-- html-only -->
|
|
59
|
+
```html
|
|
60
|
+
<ef-image src="photo.jpg" duration="5s" class="size-full object-cover"></ef-image>
|
|
61
|
+
```
|
|
62
|
+
<!-- /html-only -->
|
|
63
|
+
<!-- react-only -->
|
|
64
|
+
```tsx
|
|
65
|
+
<Image src="/assets/logo.png" alt="Company Logo" />
|
|
66
|
+
```
|
|
67
|
+
<!-- /react-only -->
|
|
68
|
+
|
|
69
|
+
<!-- react-only -->
|
|
70
|
+
## Full Background
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
<Image
|
|
74
|
+
src="/assets/background.jpg"
|
|
75
|
+
className="size-full object-cover"
|
|
76
|
+
alt="Background"
|
|
77
|
+
/>
|
|
78
|
+
```
|
|
79
|
+
<!-- /react-only -->
|
|
80
|
+
|
|
81
|
+
## Logo/Watermark Overlay
|
|
82
|
+
|
|
83
|
+
<!-- html-only -->
|
|
84
|
+
```html live
|
|
85
|
+
<ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black">
|
|
86
|
+
<ef-video src="https://assets.editframe.com/bars-n-tone.mp4" class="size-full"></ef-video>
|
|
87
|
+
<ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect fill='%233b82f6' width='80' height='80' rx='8'/%3E%3C/svg%3E" duration="5s" class="absolute top-4 right-4 w-16 h-16 opacity-80"></ef-image>
|
|
88
|
+
</ef-timegroup>
|
|
89
|
+
```
|
|
90
|
+
<!-- /html-only -->
|
|
91
|
+
<!-- react-only -->
|
|
92
|
+
```tsx
|
|
93
|
+
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
|
|
94
|
+
<Image
|
|
95
|
+
src="/assets/background.jpg"
|
|
96
|
+
className="size-full object-cover"
|
|
97
|
+
/>
|
|
98
|
+
<Image
|
|
99
|
+
src="/assets/logo.png"
|
|
100
|
+
className="absolute top-8 right-8 w-32 h-32"
|
|
101
|
+
/>
|
|
102
|
+
</Timegroup>
|
|
103
|
+
```
|
|
104
|
+
<!-- /react-only -->
|
|
105
|
+
|
|
106
|
+
## Image Slideshow
|
|
107
|
+
|
|
108
|
+
<!-- html-only -->
|
|
109
|
+
```html live
|
|
110
|
+
<ef-timegroup mode="sequence" class="w-[720px] h-[480px] bg-black">
|
|
111
|
+
<ef-timegroup mode="fixed" duration="3s" class="absolute w-full h-full">
|
|
112
|
+
<ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='480'%3E%3Crect fill='%23ef4444' width='720' height='480'/%3E%3Ctext x='360' y='250' fill='white' font-size='48' text-anchor='middle'%3ESlide 1%3C/text%3E%3C/svg%3E" duration="3s" class="size-full object-contain"></ef-image>
|
|
113
|
+
</ef-timegroup>
|
|
114
|
+
<ef-timegroup mode="fixed" duration="3s" class="absolute w-full h-full">
|
|
115
|
+
<ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='480'%3E%3Crect fill='%233b82f6' width='720' height='480'/%3E%3Ctext x='360' y='250' fill='white' font-size='48' text-anchor='middle'%3ESlide 2%3C/text%3E%3C/svg%3E" duration="3s" class="size-full object-contain"></ef-image>
|
|
116
|
+
</ef-timegroup>
|
|
117
|
+
</ef-timegroup>
|
|
118
|
+
```
|
|
119
|
+
<!-- /html-only -->
|
|
120
|
+
<!-- react-only -->
|
|
121
|
+
```tsx
|
|
122
|
+
interface ImageSlide {
|
|
123
|
+
id: string;
|
|
124
|
+
src: string;
|
|
125
|
+
duration: string;
|
|
126
|
+
caption: string;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const slides: ImageSlide[] = [
|
|
130
|
+
{ id: "1", src: "/assets/slide1.jpg", duration: "3s", caption: "Slide 1" },
|
|
131
|
+
{ id: "2", src: "/assets/slide2.jpg", duration: "3s", caption: "Slide 2" },
|
|
132
|
+
{ id: "3", src: "/assets/slide3.jpg", duration: "3s", caption: "Slide 3" },
|
|
133
|
+
];
|
|
134
|
+
|
|
135
|
+
<Timegroup mode="sequence" className="w-[1920px] h-[1080px]">
|
|
136
|
+
{slides.map((slide) => (
|
|
137
|
+
<Timegroup
|
|
138
|
+
key={slide.id}
|
|
139
|
+
mode="fixed"
|
|
140
|
+
duration={slide.duration}
|
|
141
|
+
className="absolute w-full h-full"
|
|
142
|
+
>
|
|
143
|
+
<Image src={slide.src} className="size-full object-cover" />
|
|
144
|
+
<Text duration={slide.duration} className="absolute bottom-8 left-8 text-white text-3xl">
|
|
145
|
+
{slide.caption}
|
|
146
|
+
</Text>
|
|
147
|
+
</Timegroup>
|
|
148
|
+
))}
|
|
149
|
+
</Timegroup>
|
|
150
|
+
```
|
|
151
|
+
<!-- /react-only -->
|
|
152
|
+
|
|
153
|
+
<!-- html-only -->
|
|
154
|
+
## Data URI (Inline SVG)
|
|
155
|
+
|
|
156
|
+
```html
|
|
157
|
+
<ef-image
|
|
158
|
+
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect fill='%233b82f6' width='80' height='80' rx='8'/%3E%3C/svg%3E"
|
|
159
|
+
duration="5s"
|
|
160
|
+
class="absolute top-4 right-4 w-16 h-16">
|
|
161
|
+
</ef-image>
|
|
162
|
+
```
|
|
163
|
+
<!-- /html-only -->
|
|
164
|
+
|
|
165
|
+
<!-- react-only -->
|
|
166
|
+
## Object Fit
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
{/* Cover - fills container, may crop */}
|
|
170
|
+
<Image src="/assets/photo.jpg" className="size-full object-cover" />
|
|
171
|
+
|
|
172
|
+
{/* Contain - fits within container, maintains aspect ratio */}
|
|
173
|
+
<Image src="/assets/photo.jpg" className="size-full object-contain" />
|
|
174
|
+
|
|
175
|
+
{/* Fill - stretches to fill */}
|
|
176
|
+
<Image src="/assets/photo.jpg" className="size-full object-fill" />
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Sized Images
|
|
180
|
+
|
|
181
|
+
```tsx
|
|
182
|
+
<Image src="/assets/icon.png" className="w-24 h-24" />
|
|
183
|
+
<Image src="/assets/banner.png" className="w-full h-32" />
|
|
184
|
+
<Image src="/assets/square.png" className="size-64" />
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## With Effects
|
|
188
|
+
|
|
189
|
+
```tsx
|
|
190
|
+
{/* Blur */}
|
|
191
|
+
<Image src="/assets/bg.jpg" className="size-full object-cover blur-lg" />
|
|
192
|
+
|
|
193
|
+
{/* Opacity */}
|
|
194
|
+
<Image src="/assets/overlay.png" className="absolute inset-0 opacity-50" />
|
|
195
|
+
|
|
196
|
+
{/* Grayscale */}
|
|
197
|
+
<Image src="/assets/photo.jpg" className="size-full grayscale" />
|
|
198
|
+
|
|
199
|
+
{/* Rounded */}
|
|
200
|
+
<Image src="/assets/avatar.jpg" className="w-32 h-32 rounded-full" />
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Layered Images
|
|
204
|
+
|
|
205
|
+
```tsx
|
|
206
|
+
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
|
|
207
|
+
{/* Background */}
|
|
208
|
+
<Image
|
|
209
|
+
src="/assets/bg.jpg"
|
|
210
|
+
className="absolute inset-0 object-cover blur-lg opacity-20"
|
|
211
|
+
/>
|
|
212
|
+
|
|
213
|
+
{/* Foreground */}
|
|
214
|
+
<Image
|
|
215
|
+
src="/assets/main.png"
|
|
216
|
+
className="absolute inset-0 w-1/2 h-1/2 m-auto object-contain"
|
|
217
|
+
/>
|
|
218
|
+
</Timegroup>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Animated Image Transitions
|
|
222
|
+
|
|
223
|
+
```tsx
|
|
224
|
+
import { Image } from "@editframe/react";
|
|
225
|
+
import { useTimingInfo } from "@editframe/react";
|
|
226
|
+
|
|
227
|
+
const FadingImage = ({ src }: { src: string }) => {
|
|
228
|
+
const { ref, percentComplete } = useTimingInfo();
|
|
229
|
+
|
|
230
|
+
return (
|
|
231
|
+
<Timegroup ref={ref} mode="fixed" duration="3s" className="absolute w-full h-full">
|
|
232
|
+
<Image
|
|
233
|
+
src={src}
|
|
234
|
+
className="size-full object-cover"
|
|
235
|
+
style={{ opacity: percentComplete }}
|
|
236
|
+
/>
|
|
237
|
+
</Timegroup>
|
|
238
|
+
);
|
|
239
|
+
};
|
|
240
|
+
```
|
|
241
|
+
<!-- /react-only -->
|