@codellyson/framely 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/dist/AbsoluteFill.d.ts +18 -0
- package/dist/AbsoluteFill.d.ts.map +1 -0
- package/dist/AbsoluteFill.js +25 -0
- package/dist/AbsoluteFill.js.map +1 -0
- package/dist/Audio.d.ts +80 -0
- package/dist/Audio.d.ts.map +1 -0
- package/dist/Audio.js +221 -0
- package/dist/Audio.js.map +1 -0
- package/dist/Composition.d.ts +208 -0
- package/dist/Composition.d.ts.map +1 -0
- package/dist/Composition.js +210 -0
- package/dist/Composition.js.map +1 -0
- package/dist/Easing.d.ts +88 -0
- package/dist/Easing.d.ts.map +1 -0
- package/dist/Easing.js +266 -0
- package/dist/Easing.js.map +1 -0
- package/dist/ErrorBoundary.d.ts +35 -0
- package/dist/ErrorBoundary.d.ts.map +1 -0
- package/dist/ErrorBoundary.js +74 -0
- package/dist/ErrorBoundary.js.map +1 -0
- package/dist/Folder.d.ts +46 -0
- package/dist/Folder.d.ts.map +1 -0
- package/dist/Folder.js +44 -0
- package/dist/Folder.js.map +1 -0
- package/dist/Freeze.d.ts +35 -0
- package/dist/Freeze.d.ts.map +1 -0
- package/dist/Freeze.js +40 -0
- package/dist/Freeze.js.map +1 -0
- package/dist/IFrame.d.ts +28 -0
- package/dist/IFrame.d.ts.map +1 -0
- package/dist/IFrame.js +57 -0
- package/dist/IFrame.js.map +1 -0
- package/dist/Img.d.ts +36 -0
- package/dist/Img.d.ts.map +1 -0
- package/dist/Img.js +91 -0
- package/dist/Img.js.map +1 -0
- package/dist/Loop.d.ts +66 -0
- package/dist/Loop.d.ts.map +1 -0
- package/dist/Loop.js +79 -0
- package/dist/Loop.js.map +1 -0
- package/dist/Player.d.ts +118 -0
- package/dist/Player.d.ts.map +1 -0
- package/dist/Player.js +311 -0
- package/dist/Player.js.map +1 -0
- package/dist/Sequence.d.ts +25 -0
- package/dist/Sequence.d.ts.map +1 -0
- package/dist/Sequence.js +37 -0
- package/dist/Sequence.js.map +1 -0
- package/dist/Series.d.ts +52 -0
- package/dist/Series.d.ts.map +1 -0
- package/dist/Series.js +86 -0
- package/dist/Series.js.map +1 -0
- package/dist/Text.d.ts +129 -0
- package/dist/Text.d.ts.map +1 -0
- package/dist/Text.js +211 -0
- package/dist/Text.js.map +1 -0
- package/dist/Video.d.ts +75 -0
- package/dist/Video.d.ts.map +1 -0
- package/dist/Video.js +136 -0
- package/dist/Video.js.map +1 -0
- package/dist/config.d.ts +128 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +243 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +84 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +131 -0
- package/dist/context.js.map +1 -0
- package/dist/delayRender.d.ts +130 -0
- package/dist/delayRender.d.ts.map +1 -0
- package/dist/delayRender.js +197 -0
- package/dist/delayRender.js.map +1 -0
- package/dist/getInputProps.d.ts +118 -0
- package/dist/getInputProps.d.ts.map +1 -0
- package/dist/getInputProps.js +181 -0
- package/dist/getInputProps.js.map +1 -0
- package/dist/hooks/useDelayRender.d.ts +52 -0
- package/dist/hooks/useDelayRender.d.ts.map +1 -0
- package/dist/hooks/useDelayRender.js +92 -0
- package/dist/hooks/useDelayRender.js.map +1 -0
- package/dist/hooks.d.ts +19 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +17 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +65 -0
- package/dist/index.js.map +1 -0
- package/dist/interpolate.d.ts +80 -0
- package/dist/interpolate.d.ts.map +1 -0
- package/dist/interpolate.js +108 -0
- package/dist/interpolate.js.map +1 -0
- package/dist/interpolateColors.d.ts +50 -0
- package/dist/interpolateColors.d.ts.map +1 -0
- package/dist/interpolateColors.js +300 -0
- package/dist/interpolateColors.js.map +1 -0
- package/dist/makeTransform.d.ts +98 -0
- package/dist/makeTransform.d.ts.map +1 -0
- package/dist/makeTransform.js +287 -0
- package/dist/makeTransform.js.map +1 -0
- package/dist/measureSpring.d.ts +75 -0
- package/dist/measureSpring.d.ts.map +1 -0
- package/dist/measureSpring.js +108 -0
- package/dist/measureSpring.js.map +1 -0
- package/dist/noise.d.ts +110 -0
- package/dist/noise.d.ts.map +1 -0
- package/dist/noise.js +228 -0
- package/dist/noise.js.map +1 -0
- package/dist/preload.d.ts +145 -0
- package/dist/preload.d.ts.map +1 -0
- package/dist/preload.js +225 -0
- package/dist/preload.js.map +1 -0
- package/dist/registerRoot.d.ts +140 -0
- package/dist/registerRoot.d.ts.map +1 -0
- package/dist/registerRoot.js +238 -0
- package/dist/registerRoot.js.map +1 -0
- package/dist/shapes/Circle.d.ts +15 -0
- package/dist/shapes/Circle.d.ts.map +1 -0
- package/dist/shapes/Circle.js +11 -0
- package/dist/shapes/Circle.js.map +1 -0
- package/dist/shapes/Ellipse.d.ts +16 -0
- package/dist/shapes/Ellipse.d.ts.map +1 -0
- package/dist/shapes/Ellipse.js +11 -0
- package/dist/shapes/Ellipse.js.map +1 -0
- package/dist/shapes/Line.d.ts +15 -0
- package/dist/shapes/Line.d.ts.map +1 -0
- package/dist/shapes/Line.js +11 -0
- package/dist/shapes/Line.js.map +1 -0
- package/dist/shapes/Path.d.ts +20 -0
- package/dist/shapes/Path.d.ts.map +1 -0
- package/dist/shapes/Path.js +14 -0
- package/dist/shapes/Path.js.map +1 -0
- package/dist/shapes/Polygon.d.ts +15 -0
- package/dist/shapes/Polygon.d.ts.map +1 -0
- package/dist/shapes/Polygon.js +16 -0
- package/dist/shapes/Polygon.js.map +1 -0
- package/dist/shapes/Rect.d.ts +18 -0
- package/dist/shapes/Rect.d.ts.map +1 -0
- package/dist/shapes/Rect.js +11 -0
- package/dist/shapes/Rect.js.map +1 -0
- package/dist/shapes/Svg.d.ts +16 -0
- package/dist/shapes/Svg.d.ts.map +1 -0
- package/dist/shapes/Svg.js +15 -0
- package/dist/shapes/Svg.js.map +1 -0
- package/dist/shapes/index.d.ts +16 -0
- package/dist/shapes/index.d.ts.map +1 -0
- package/dist/shapes/index.js +9 -0
- package/dist/shapes/index.js.map +1 -0
- package/dist/shapes/usePathLength.d.ts +24 -0
- package/dist/shapes/usePathLength.d.ts.map +1 -0
- package/dist/shapes/usePathLength.js +32 -0
- package/dist/shapes/usePathLength.js.map +1 -0
- package/dist/staticFile.d.ts +47 -0
- package/dist/staticFile.d.ts.map +1 -0
- package/dist/staticFile.js +105 -0
- package/dist/staticFile.js.map +1 -0
- package/dist/templates/api.d.ts +26 -0
- package/dist/templates/api.d.ts.map +1 -0
- package/dist/templates/api.js +142 -0
- package/dist/templates/api.js.map +1 -0
- package/dist/templates/index.d.ts +7 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +7 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/mockData.d.ts +7 -0
- package/dist/templates/mockData.d.ts.map +1 -0
- package/dist/templates/mockData.js +262 -0
- package/dist/templates/mockData.js.map +1 -0
- package/dist/templates/types.d.ts +104 -0
- package/dist/templates/types.d.ts.map +1 -0
- package/dist/templates/types.js +16 -0
- package/dist/templates/types.js.map +1 -0
- package/dist/transitions/TransitionSeries.d.ts +127 -0
- package/dist/transitions/TransitionSeries.d.ts.map +1 -0
- package/dist/transitions/TransitionSeries.js +190 -0
- package/dist/transitions/TransitionSeries.js.map +1 -0
- package/dist/transitions/index.d.ts +52 -0
- package/dist/transitions/index.d.ts.map +1 -0
- package/dist/transitions/index.js +31 -0
- package/dist/transitions/index.js.map +1 -0
- package/dist/transitions/presets/fade.d.ts +45 -0
- package/dist/transitions/presets/fade.d.ts.map +1 -0
- package/dist/transitions/presets/fade.js +56 -0
- package/dist/transitions/presets/fade.js.map +1 -0
- package/dist/transitions/presets/flip.d.ts +99 -0
- package/dist/transitions/presets/flip.d.ts.map +1 -0
- package/dist/transitions/presets/flip.js +153 -0
- package/dist/transitions/presets/flip.js.map +1 -0
- package/dist/transitions/presets/slide.d.ts +61 -0
- package/dist/transitions/presets/slide.d.ts.map +1 -0
- package/dist/transitions/presets/slide.js +116 -0
- package/dist/transitions/presets/slide.js.map +1 -0
- package/dist/transitions/presets/wipe.d.ts +69 -0
- package/dist/transitions/presets/wipe.d.ts.map +1 -0
- package/dist/transitions/presets/wipe.js +136 -0
- package/dist/transitions/presets/wipe.js.map +1 -0
- package/dist/transitions/presets/zoom.d.ts +76 -0
- package/dist/transitions/presets/zoom.d.ts.map +1 -0
- package/dist/transitions/presets/zoom.js +110 -0
- package/dist/transitions/presets/zoom.js.map +1 -0
- package/dist/useAudioData.d.ts +112 -0
- package/dist/useAudioData.d.ts.map +1 -0
- package/dist/useAudioData.js +183 -0
- package/dist/useAudioData.js.map +1 -0
- package/dist/useSpring.d.ts +79 -0
- package/dist/useSpring.d.ts.map +1 -0
- package/dist/useSpring.js +140 -0
- package/dist/useSpring.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock templates for development
|
|
3
|
+
* In production, these would come from a remote API
|
|
4
|
+
*/
|
|
5
|
+
export const MOCK_TEMPLATES = [
|
|
6
|
+
{
|
|
7
|
+
id: 'social-intro-1',
|
|
8
|
+
name: 'Modern Social Intro',
|
|
9
|
+
description: 'Clean, modern intro animation perfect for social media videos. Features smooth text reveals and gradient backgrounds.',
|
|
10
|
+
category: 'intro-outro',
|
|
11
|
+
tags: ['intro', 'social', 'modern', 'minimal', 'gradient'],
|
|
12
|
+
preview: {
|
|
13
|
+
thumbnail: 'https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=400&h=225&fit=crop',
|
|
14
|
+
preview: undefined,
|
|
15
|
+
},
|
|
16
|
+
author: {
|
|
17
|
+
id: 'framely',
|
|
18
|
+
name: 'Framely Team',
|
|
19
|
+
verified: true,
|
|
20
|
+
},
|
|
21
|
+
bundleUrl: 'https://cdn.framely.dev/templates/social-intro-1/bundle.js',
|
|
22
|
+
version: '1.0.0',
|
|
23
|
+
width: 1080,
|
|
24
|
+
height: 1920,
|
|
25
|
+
fps: 30,
|
|
26
|
+
durationInFrames: 90,
|
|
27
|
+
defaultProps: {
|
|
28
|
+
title: 'Your Title Here',
|
|
29
|
+
subtitle: 'Subtitle text',
|
|
30
|
+
accentColor: '#6366f1',
|
|
31
|
+
},
|
|
32
|
+
downloads: 1250,
|
|
33
|
+
rating: 4.8,
|
|
34
|
+
featured: true,
|
|
35
|
+
createdAt: '2024-01-15T00:00:00Z',
|
|
36
|
+
updatedAt: '2024-01-20T00:00:00Z',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'youtube-subscribe',
|
|
40
|
+
name: 'Subscribe Animation',
|
|
41
|
+
description: 'Eye-catching subscribe button animation with bell notification. Perfect for YouTube outros and CTAs.',
|
|
42
|
+
category: 'social-media',
|
|
43
|
+
tags: ['youtube', 'subscribe', 'animation', 'cta', 'bell'],
|
|
44
|
+
preview: {
|
|
45
|
+
thumbnail: 'https://images.unsplash.com/photo-1611162616475-46b635cb6868?w=400&h=225&fit=crop',
|
|
46
|
+
},
|
|
47
|
+
author: {
|
|
48
|
+
id: 'framely',
|
|
49
|
+
name: 'Framely Team',
|
|
50
|
+
verified: true,
|
|
51
|
+
},
|
|
52
|
+
bundleUrl: 'https://cdn.framely.dev/templates/youtube-subscribe/bundle.js',
|
|
53
|
+
version: '1.0.0',
|
|
54
|
+
width: 1920,
|
|
55
|
+
height: 1080,
|
|
56
|
+
fps: 30,
|
|
57
|
+
durationInFrames: 120,
|
|
58
|
+
defaultProps: {
|
|
59
|
+
channelName: 'Your Channel',
|
|
60
|
+
buttonColor: '#FF0000',
|
|
61
|
+
showBell: true,
|
|
62
|
+
},
|
|
63
|
+
downloads: 2340,
|
|
64
|
+
rating: 4.9,
|
|
65
|
+
featured: true,
|
|
66
|
+
createdAt: '2024-01-10T00:00:00Z',
|
|
67
|
+
updatedAt: '2024-01-18T00:00:00Z',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: 'lower-third-1',
|
|
71
|
+
name: 'Clean Lower Third',
|
|
72
|
+
description: 'Professional lower third with smooth slide-in animation. Includes name, title, and optional social handle.',
|
|
73
|
+
category: 'lower-thirds',
|
|
74
|
+
tags: ['lower-third', 'professional', 'news', 'interview', 'name'],
|
|
75
|
+
preview: {
|
|
76
|
+
thumbnail: 'https://images.unsplash.com/photo-1478737270239-2f02b77fc618?w=400&h=225&fit=crop',
|
|
77
|
+
},
|
|
78
|
+
author: {
|
|
79
|
+
id: 'motion-pro',
|
|
80
|
+
name: 'Motion Pro',
|
|
81
|
+
verified: true,
|
|
82
|
+
},
|
|
83
|
+
bundleUrl: 'https://cdn.framely.dev/templates/lower-third-1/bundle.js',
|
|
84
|
+
version: '1.2.0',
|
|
85
|
+
width: 1920,
|
|
86
|
+
height: 1080,
|
|
87
|
+
fps: 30,
|
|
88
|
+
durationInFrames: 150,
|
|
89
|
+
defaultProps: {
|
|
90
|
+
name: 'John Doe',
|
|
91
|
+
title: 'CEO & Founder',
|
|
92
|
+
social: '@johndoe',
|
|
93
|
+
accentColor: '#3b82f6',
|
|
94
|
+
},
|
|
95
|
+
downloads: 890,
|
|
96
|
+
rating: 4.6,
|
|
97
|
+
featured: false,
|
|
98
|
+
createdAt: '2024-01-08T00:00:00Z',
|
|
99
|
+
updatedAt: '2024-01-15T00:00:00Z',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'text-reveal-1',
|
|
103
|
+
name: 'Kinetic Text Reveal',
|
|
104
|
+
description: 'Dynamic text reveal with character-by-character animation. Great for quotes, titles, and impact statements.',
|
|
105
|
+
category: 'text-animations',
|
|
106
|
+
tags: ['text', 'kinetic', 'reveal', 'typography', 'motion'],
|
|
107
|
+
preview: {
|
|
108
|
+
thumbnail: 'https://images.unsplash.com/photo-1455390582262-044cdead277a?w=400&h=225&fit=crop',
|
|
109
|
+
},
|
|
110
|
+
author: {
|
|
111
|
+
id: 'type-master',
|
|
112
|
+
name: 'Type Master',
|
|
113
|
+
verified: false,
|
|
114
|
+
},
|
|
115
|
+
bundleUrl: 'https://cdn.framely.dev/templates/text-reveal-1/bundle.js',
|
|
116
|
+
version: '1.0.0',
|
|
117
|
+
width: 1920,
|
|
118
|
+
height: 1080,
|
|
119
|
+
fps: 60,
|
|
120
|
+
durationInFrames: 180,
|
|
121
|
+
defaultProps: {
|
|
122
|
+
text: 'Your text here',
|
|
123
|
+
fontSize: 120,
|
|
124
|
+
fontWeight: 700,
|
|
125
|
+
color: '#ffffff',
|
|
126
|
+
backgroundColor: '#000000',
|
|
127
|
+
},
|
|
128
|
+
downloads: 1567,
|
|
129
|
+
rating: 4.7,
|
|
130
|
+
featured: false,
|
|
131
|
+
createdAt: '2024-01-05T00:00:00Z',
|
|
132
|
+
updatedAt: '2024-01-12T00:00:00Z',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'gradient-bg-1',
|
|
136
|
+
name: 'Animated Gradient',
|
|
137
|
+
description: 'Mesmerizing animated gradient background with smooth color transitions. Use as background for any content.',
|
|
138
|
+
category: 'backgrounds',
|
|
139
|
+
tags: ['background', 'gradient', 'animated', 'loop', 'colorful'],
|
|
140
|
+
preview: {
|
|
141
|
+
thumbnail: 'https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=400&h=225&fit=crop',
|
|
142
|
+
},
|
|
143
|
+
author: {
|
|
144
|
+
id: 'framely',
|
|
145
|
+
name: 'Framely Team',
|
|
146
|
+
verified: true,
|
|
147
|
+
},
|
|
148
|
+
bundleUrl: 'https://cdn.framely.dev/templates/gradient-bg-1/bundle.js',
|
|
149
|
+
version: '1.0.0',
|
|
150
|
+
width: 1920,
|
|
151
|
+
height: 1080,
|
|
152
|
+
fps: 30,
|
|
153
|
+
durationInFrames: 300,
|
|
154
|
+
defaultProps: {
|
|
155
|
+
colors: ['#6366f1', '#8b5cf6', '#d946ef'],
|
|
156
|
+
speed: 1,
|
|
157
|
+
angle: 45,
|
|
158
|
+
},
|
|
159
|
+
downloads: 3210,
|
|
160
|
+
rating: 4.5,
|
|
161
|
+
featured: false,
|
|
162
|
+
createdAt: '2024-01-03T00:00:00Z',
|
|
163
|
+
updatedAt: '2024-01-10T00:00:00Z',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: 'promo-slide-1',
|
|
167
|
+
name: 'Product Showcase',
|
|
168
|
+
description: 'Professional product showcase template with dynamic transitions. Perfect for e-commerce and marketing.',
|
|
169
|
+
category: 'marketing',
|
|
170
|
+
tags: ['product', 'showcase', 'promo', 'ecommerce', 'marketing'],
|
|
171
|
+
preview: {
|
|
172
|
+
thumbnail: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=400&h=225&fit=crop',
|
|
173
|
+
},
|
|
174
|
+
author: {
|
|
175
|
+
id: 'ad-studio',
|
|
176
|
+
name: 'Ad Studio',
|
|
177
|
+
verified: true,
|
|
178
|
+
},
|
|
179
|
+
bundleUrl: 'https://cdn.framely.dev/templates/promo-slide-1/bundle.js',
|
|
180
|
+
version: '2.0.0',
|
|
181
|
+
width: 1080,
|
|
182
|
+
height: 1080,
|
|
183
|
+
fps: 30,
|
|
184
|
+
durationInFrames: 180,
|
|
185
|
+
defaultProps: {
|
|
186
|
+
productName: 'Product Name',
|
|
187
|
+
tagline: 'Your tagline here',
|
|
188
|
+
price: '$99.99',
|
|
189
|
+
ctaText: 'Shop Now',
|
|
190
|
+
brandColor: '#10b981',
|
|
191
|
+
},
|
|
192
|
+
downloads: 756,
|
|
193
|
+
rating: 4.4,
|
|
194
|
+
featured: true,
|
|
195
|
+
createdAt: '2024-01-01T00:00:00Z',
|
|
196
|
+
updatedAt: '2024-01-08T00:00:00Z',
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
id: 'presentation-1',
|
|
200
|
+
name: 'Slide Transition Pack',
|
|
201
|
+
description: 'Collection of smooth slide transitions for presentations. Includes fade, slide, zoom, and flip variations.',
|
|
202
|
+
category: 'presentation',
|
|
203
|
+
tags: ['presentation', 'slides', 'transition', 'corporate', 'business'],
|
|
204
|
+
preview: {
|
|
205
|
+
thumbnail: 'https://images.unsplash.com/photo-1531538606174-0f90ff5dce83?w=400&h=225&fit=crop',
|
|
206
|
+
},
|
|
207
|
+
author: {
|
|
208
|
+
id: 'slide-pro',
|
|
209
|
+
name: 'Slide Pro',
|
|
210
|
+
verified: false,
|
|
211
|
+
},
|
|
212
|
+
bundleUrl: 'https://cdn.framely.dev/templates/presentation-1/bundle.js',
|
|
213
|
+
version: '1.1.0',
|
|
214
|
+
width: 1920,
|
|
215
|
+
height: 1080,
|
|
216
|
+
fps: 30,
|
|
217
|
+
durationInFrames: 60,
|
|
218
|
+
defaultProps: {
|
|
219
|
+
transitionType: 'slide',
|
|
220
|
+
direction: 'left',
|
|
221
|
+
duration: 0.5,
|
|
222
|
+
},
|
|
223
|
+
downloads: 445,
|
|
224
|
+
rating: 4.3,
|
|
225
|
+
featured: false,
|
|
226
|
+
createdAt: '2023-12-28T00:00:00Z',
|
|
227
|
+
updatedAt: '2024-01-05T00:00:00Z',
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
id: 'instagram-story',
|
|
231
|
+
name: 'Story Template',
|
|
232
|
+
description: 'Trendy Instagram story template with animated stickers and text effects. Perfect for social media content.',
|
|
233
|
+
category: 'social-media',
|
|
234
|
+
tags: ['instagram', 'story', 'social', 'trendy', 'vertical'],
|
|
235
|
+
preview: {
|
|
236
|
+
thumbnail: 'https://images.unsplash.com/photo-1611262588024-d12430b98920?w=400&h=225&fit=crop',
|
|
237
|
+
},
|
|
238
|
+
author: {
|
|
239
|
+
id: 'social-creator',
|
|
240
|
+
name: 'Social Creator',
|
|
241
|
+
verified: true,
|
|
242
|
+
},
|
|
243
|
+
bundleUrl: 'https://cdn.framely.dev/templates/instagram-story/bundle.js',
|
|
244
|
+
version: '1.0.0',
|
|
245
|
+
width: 1080,
|
|
246
|
+
height: 1920,
|
|
247
|
+
fps: 30,
|
|
248
|
+
durationInFrames: 150,
|
|
249
|
+
defaultProps: {
|
|
250
|
+
headline: 'New Post!',
|
|
251
|
+
description: 'Check out our latest update',
|
|
252
|
+
backgroundColor: '#f472b6',
|
|
253
|
+
textColor: '#ffffff',
|
|
254
|
+
},
|
|
255
|
+
downloads: 1890,
|
|
256
|
+
rating: 4.6,
|
|
257
|
+
featured: false,
|
|
258
|
+
createdAt: '2023-12-25T00:00:00Z',
|
|
259
|
+
updatedAt: '2024-01-02T00:00:00Z',
|
|
260
|
+
},
|
|
261
|
+
];
|
|
262
|
+
//# sourceMappingURL=mockData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockData.js","sourceRoot":"","sources":["../../src/templates/mockData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template types for the Framely Templates Marketplace
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Template category for filtering
|
|
6
|
+
*/
|
|
7
|
+
export type TemplateCategory = 'social-media' | 'marketing' | 'presentation' | 'intro-outro' | 'lower-thirds' | 'text-animations' | 'backgrounds';
|
|
8
|
+
/**
|
|
9
|
+
* Template author information
|
|
10
|
+
*/
|
|
11
|
+
export interface TemplateAuthor {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
avatar?: string;
|
|
15
|
+
verified?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Template preview assets
|
|
19
|
+
*/
|
|
20
|
+
export interface TemplatePreview {
|
|
21
|
+
/** Static thumbnail image URL */
|
|
22
|
+
thumbnail: string;
|
|
23
|
+
/** Animated preview GIF/WebM URL */
|
|
24
|
+
preview?: string;
|
|
25
|
+
/** Video preview URL (for modal) */
|
|
26
|
+
video?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Template metadata
|
|
30
|
+
*/
|
|
31
|
+
export interface Template {
|
|
32
|
+
/** Unique identifier */
|
|
33
|
+
id: string;
|
|
34
|
+
/** Display name */
|
|
35
|
+
name: string;
|
|
36
|
+
/** Template description */
|
|
37
|
+
description: string;
|
|
38
|
+
/** Category for filtering */
|
|
39
|
+
category: TemplateCategory;
|
|
40
|
+
/** Tags for search */
|
|
41
|
+
tags: string[];
|
|
42
|
+
/** Preview assets */
|
|
43
|
+
preview: TemplatePreview;
|
|
44
|
+
/** Template author */
|
|
45
|
+
author: TemplateAuthor;
|
|
46
|
+
/** Remote bundle URL for the component */
|
|
47
|
+
bundleUrl: string;
|
|
48
|
+
/** Template version */
|
|
49
|
+
version: string;
|
|
50
|
+
/** Video width */
|
|
51
|
+
width: number;
|
|
52
|
+
/** Video height */
|
|
53
|
+
height: number;
|
|
54
|
+
/** Frames per second */
|
|
55
|
+
fps: number;
|
|
56
|
+
/** Total duration in frames */
|
|
57
|
+
durationInFrames: number;
|
|
58
|
+
/** Default props for the template */
|
|
59
|
+
defaultProps: Record<string, unknown>;
|
|
60
|
+
/** Downloads count */
|
|
61
|
+
downloads?: number;
|
|
62
|
+
/** Average rating (1-5) */
|
|
63
|
+
rating?: number;
|
|
64
|
+
/** Featured flag */
|
|
65
|
+
featured?: boolean;
|
|
66
|
+
/** Creation date */
|
|
67
|
+
createdAt: string;
|
|
68
|
+
/** Last update date */
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* API response for templates list
|
|
73
|
+
*/
|
|
74
|
+
export interface TemplatesListResponse {
|
|
75
|
+
templates: Template[];
|
|
76
|
+
total: number;
|
|
77
|
+
page: number;
|
|
78
|
+
pageSize: number;
|
|
79
|
+
hasMore: boolean;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* API request filters for templates
|
|
83
|
+
*/
|
|
84
|
+
export interface TemplatesFilterParams {
|
|
85
|
+
category?: TemplateCategory;
|
|
86
|
+
search?: string;
|
|
87
|
+
tags?: string[];
|
|
88
|
+
featured?: boolean;
|
|
89
|
+
sortBy?: 'newest' | 'popular' | 'rating';
|
|
90
|
+
page?: number;
|
|
91
|
+
pageSize?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Category with count for filter display
|
|
95
|
+
*/
|
|
96
|
+
export interface CategoryCount {
|
|
97
|
+
category: TemplateCategory;
|
|
98
|
+
count: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Category display labels
|
|
102
|
+
*/
|
|
103
|
+
export declare const CATEGORY_LABELS: Record<TemplateCategory, string>;
|
|
104
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,WAAW,GACX,cAAc,GACd,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,sBAAsB;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAQ5D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template types for the Framely Templates Marketplace
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Category display labels
|
|
6
|
+
*/
|
|
7
|
+
export const CATEGORY_LABELS = {
|
|
8
|
+
'social-media': 'Social Media',
|
|
9
|
+
'marketing': 'Marketing',
|
|
10
|
+
'presentation': 'Presentation',
|
|
11
|
+
'intro-outro': 'Intro/Outro',
|
|
12
|
+
'lower-thirds': 'Lower Thirds',
|
|
13
|
+
'text-animations': 'Text Animations',
|
|
14
|
+
'backgrounds': 'Backgrounds',
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/templates/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgHH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC/D,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,WAAW;IACxB,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,iBAAiB,EAAE,iBAAiB;IACpC,aAAa,EAAE,aAAa;CAC7B,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TransitionSeries Component
|
|
3
|
+
*
|
|
4
|
+
* A container for sequences with transitions between them.
|
|
5
|
+
* Unlike Series, TransitionSeries supports animated transitions
|
|
6
|
+
* that can overlap between consecutive sequences.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* <TransitionSeries>
|
|
10
|
+
* <TransitionSeries.Sequence durationInFrames={60}>
|
|
11
|
+
* <SceneA />
|
|
12
|
+
* </TransitionSeries.Sequence>
|
|
13
|
+
* <TransitionSeries.Transition
|
|
14
|
+
* presentation={fade()}
|
|
15
|
+
* timing={{ durationInFrames: 30 }}
|
|
16
|
+
* />
|
|
17
|
+
* <TransitionSeries.Sequence durationInFrames={60}>
|
|
18
|
+
* <SceneB />
|
|
19
|
+
* </TransitionSeries.Sequence>
|
|
20
|
+
* </TransitionSeries>
|
|
21
|
+
*/
|
|
22
|
+
import React from 'react';
|
|
23
|
+
/**
|
|
24
|
+
* The style object returned by a presentation's entering/exiting function.
|
|
25
|
+
*/
|
|
26
|
+
export interface TransitionPresentation {
|
|
27
|
+
style: React.CSSProperties;
|
|
28
|
+
transform?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A presentation object with entering and exiting animation functions.
|
|
32
|
+
* Each function receives a progress value (0-1) and returns CSS styles.
|
|
33
|
+
*/
|
|
34
|
+
export interface TransitionPresentationConfig {
|
|
35
|
+
entering?: (progress: number) => React.CSSProperties;
|
|
36
|
+
exiting?: (progress: number) => React.CSSProperties;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Timing configuration for a transition.
|
|
40
|
+
*/
|
|
41
|
+
export interface TransitionTimingConfig {
|
|
42
|
+
/** Duration of the transition overlap in frames. */
|
|
43
|
+
durationInFrames: number;
|
|
44
|
+
/** Optional easing function. */
|
|
45
|
+
easing?: (t: number) => number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The state provided via TransitionContext to children of a sequence.
|
|
49
|
+
*/
|
|
50
|
+
export interface TransitionState {
|
|
51
|
+
/** Whether the sequence is currently entering (transition in progress). */
|
|
52
|
+
entering: boolean;
|
|
53
|
+
/** Whether the sequence is currently exiting (transition in progress). */
|
|
54
|
+
exiting: boolean;
|
|
55
|
+
/** Current transition progress (0-1). */
|
|
56
|
+
progress: number;
|
|
57
|
+
/** The current direction of the presentation. */
|
|
58
|
+
presentationDirection: 'entering' | 'exiting' | 'stable';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Props for TransitionSeries.
|
|
62
|
+
*/
|
|
63
|
+
export interface TransitionSeriesProps {
|
|
64
|
+
/** The child elements (Sequence and Transition components). */
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
/** Optional inline styles for the container. */
|
|
67
|
+
style?: React.CSSProperties;
|
|
68
|
+
/** Optional name for debugging / data attributes. */
|
|
69
|
+
name?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Props for TransitionSeries.Sequence.
|
|
73
|
+
*/
|
|
74
|
+
export interface TransitionSequenceProps {
|
|
75
|
+
/** Content to render within this sequence. */
|
|
76
|
+
children: React.ReactNode;
|
|
77
|
+
/** Duration of this sequence in frames. */
|
|
78
|
+
durationInFrames: number;
|
|
79
|
+
/** Frame offset to shift the start of this sequence. @default 0 */
|
|
80
|
+
offset?: number;
|
|
81
|
+
/** Optional inline styles. */
|
|
82
|
+
style?: React.CSSProperties;
|
|
83
|
+
/** Optional name for debugging. */
|
|
84
|
+
name?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Props for TransitionSeries.Transition.
|
|
88
|
+
*/
|
|
89
|
+
export interface TransitionProps {
|
|
90
|
+
/** Presentation object with entering/exiting animation functions. */
|
|
91
|
+
presentation: TransitionPresentationConfig;
|
|
92
|
+
/** Timing configuration for the transition. */
|
|
93
|
+
timing: TransitionTimingConfig;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Hook to access transition state from within a sequence.
|
|
97
|
+
*/
|
|
98
|
+
export declare function useTransition(): TransitionState;
|
|
99
|
+
/**
|
|
100
|
+
* The compound component type that includes Sequence and Transition
|
|
101
|
+
* as static properties on TransitionSeries.
|
|
102
|
+
*/
|
|
103
|
+
interface TransitionSeriesComponent {
|
|
104
|
+
(props: TransitionSeriesProps): React.JSX.Element;
|
|
105
|
+
displayName: string;
|
|
106
|
+
Sequence: React.FC<TransitionSequenceProps> & {
|
|
107
|
+
displayName: string;
|
|
108
|
+
};
|
|
109
|
+
Transition: React.FC<TransitionProps> & {
|
|
110
|
+
displayName: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* TransitionSeries - Container for sequences with transitions.
|
|
115
|
+
*/
|
|
116
|
+
declare const TransitionSeries: TransitionSeriesComponent;
|
|
117
|
+
/**
|
|
118
|
+
* Helper to create a transition presentation object.
|
|
119
|
+
*/
|
|
120
|
+
export declare function createPresentation(config: TransitionPresentationConfig): TransitionPresentationConfig;
|
|
121
|
+
/**
|
|
122
|
+
* Helper to create transition timing.
|
|
123
|
+
*/
|
|
124
|
+
export declare function createTiming(config: TransitionTimingConfig): TransitionTimingConfig;
|
|
125
|
+
export { TransitionSeries };
|
|
126
|
+
export default TransitionSeries;
|
|
127
|
+
//# sourceMappingURL=TransitionSeries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransitionSeries.d.ts","sourceRoot":"","sources":["../../src/transitions/TransitionSeries.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAKN,MAAM,OAAO,CAAC;AAMf;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,qBAAqB,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gDAAgD;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8CAA8C;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,YAAY,EAAE,4BAA4B,CAAC;IAC3C,+CAA+C;IAC/C,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAgCD;;GAEG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAE/C;AAID;;;GAGG;AACH,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAID;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,yBA8KM,CAAC;AA0C/B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAErG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAEnF;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,eAAe,gBAAgB,CAAC"}
|