@evatril/video-templates 2.0.11 → 2.0.14
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/package.json +1 -1
- package/src/Invitations/Elements/BlowingLeaves28012026.jsx +2 -2
- package/src/Invitations/Elements/BottomSideFrames20012026.jsx +122 -0
- package/src/Invitations/Elements/Butterflies20012026.jsx +4 -4
- package/src/Invitations/Elements/CoupleWalk20012026.jsx +2 -3
- package/src/Invitations/Elements/CurtainTransition20012026.jsx +79 -0
- package/src/Invitations/Elements/DucksFrame05022026.jsx +1 -2
- package/src/Invitations/Elements/{FloatingFlowersBottom.jsx → FloatingFlowersBottom05022026.jsx} +2 -3
- package/src/Invitations/Elements/FlowerReveal_TR_BL_28012026.jsx +2 -3
- package/src/Invitations/Elements/FlowersSide20012026.jsx +3 -72
- package/src/Invitations/Elements/GaneshBorder28012026.jsx +2 -4
- package/src/Invitations/Elements/GroomBrideLoveScene20012026.jsx +6 -7
- package/src/Invitations/Elements/HangingJumar05022026.jsx +1 -2
- package/src/Invitations/Elements/HangingLamp05022026.jsx +1 -2
- package/src/Invitations/Elements/HeartFlight28012026.jsx +1 -78
- package/src/Invitations/Elements/{HoldSlide.jsx → HoldSlide03022026.jsx} +1 -1
- package/src/Invitations/Elements/LetterReveal28012026.jsx +102 -14
- package/src/Invitations/Elements/OpeningGate20012026.jsx +3 -3
- package/src/Invitations/Elements/PageFlipTransition28012026.jsx +84 -0
- package/src/Invitations/Elements/SmoothReveal20012026.jsx +62 -0
- package/src/Invitations/Elements/WordReveal28012026.jsx +45 -7
- package/src/Invitations/Frames/F03022026_01.jsx +1 -1
- package/src/Invitations/Frames/F03022026_02.jsx +9 -10
- package/src/Invitations/Frames/F03022026_03.jsx +1 -1
- package/src/Invitations/Frames/F03022026_04.jsx +1 -1
- package/src/Invitations/Frames/F03022026_05.jsx +11 -8
- package/src/Invitations/Frames/F05022026_01.jsx +1 -2
- package/src/Invitations/Frames/F05022026_02.jsx +7 -14
- package/src/Invitations/Frames/F05022026_03.jsx +4 -5
- package/src/Invitations/Frames/F05022026_04.jsx +10 -14
- package/src/Invitations/Frames/F20012026_01.jsx +29 -136
- package/src/Invitations/Frames/F20012026_02.jsx +148 -75
- package/src/Invitations/Frames/F20012026_03.jsx +74 -193
- package/src/Invitations/Frames/F20012026_04.jsx +54 -122
- package/src/Invitations/Frames/F28012026_01.jsx +7 -8
- package/src/Invitations/Frames/F28012026_02.jsx +51 -53
- package/src/Invitations/Frames/F28012026_03.jsx +60 -61
- package/src/Invitations/Frames/F28012026_04.jsx +65 -70
- package/src/Invitations/Frames/F28012026_05.jsx +40 -11
- package/src/Invitations/Themes/T03022026_01.jsx +12 -17
- package/src/Invitations/Themes/T05022026_01.jsx +23 -19
- package/src/Invitations/Themes/T20012026_01.jsx +79 -66
- package/src/Invitations/Themes/T28012026_01.jsx +32 -25
- package/src/compositions.jsx +8 -8
- package/public/Fonts/DancingScript-VariableFont_wght.ttf +0 -0
- package/public/Fonts/GreatVibes-Regular.ttf +0 -0
- package/public/Fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf +0 -0
- package/public/video-images/03022026-bg-2.webp +0 -0
- package/public/video-images/03022026-bg-3.webp +0 -0
- package/public/video-images/03022026-bg-4.webp +0 -0
- package/public/video-images/03022026-bg-5.webp +0 -0
- package/public/video-images/03022026-bg.webp +0 -0
- package/public/video-images/03022026-krishnaradha-2.webp +0 -0
- package/public/video-images/03022026-krishnaradha-4.webp +0 -0
- package/public/video-images/03022026-krishnaradha-5.webp +0 -0
- package/public/video-images/03022026-krishnaradha.webp +0 -0
- package/public/video-images/05022026-Duck.webp +0 -0
- package/public/video-images/05022026-Flower.webp +0 -0
- package/public/video-images/05022026-Ganesh.webp +0 -0
- package/public/video-images/05022026-HangingJumar.webp +0 -0
- package/public/video-images/05022026-HangingLamps.webp +0 -0
- package/public/video-images/05022026-LeftPeacock.webp +0 -0
- package/public/video-images/05022026-Nameplate.webp +0 -0
- package/public/video-images/05022026-bg-2.webp +0 -0
- package/public/video-images/05022026-bg-3.webp +0 -0
- package/public/video-images/05022026-bg-4.webp +0 -0
- package/public/video-images/05022026-bg.webp +0 -0
- package/public/video-images/20012026-bg.png +0 -0
- package/public/video-images/20012026-bg.webp +0 -0
- package/public/video-images/20012026-bride.png +0 -0
- package/public/video-images/20012026-bride.webp +0 -0
- package/public/video-images/20012026-butterfly.png +0 -0
- package/public/video-images/20012026-butterfly.webp +0 -0
- package/public/video-images/20012026-couple-walk.png +0 -0
- package/public/video-images/20012026-couple-walk.webp +0 -0
- package/public/video-images/20012026-curtain-floral.png +0 -0
- package/public/video-images/20012026-curtain-floral.webp +0 -0
- package/public/video-images/20012026-floral-left.png +0 -0
- package/public/video-images/20012026-floral-left.webp +0 -0
- package/public/video-images/20012026-floral-right.png +0 -0
- package/public/video-images/20012026-floral-right.webp +0 -0
- package/public/video-images/20012026-groom.png +0 -0
- package/public/video-images/20012026-groom.webp +0 -0
- package/public/video-images/20012026-opening-gate.png +0 -0
- package/public/video-images/20012026-opening-gate.webp +0 -0
- package/public/video-images/20012026-peacock.png +0 -0
- package/public/video-images/20012026-peacock.webp +0 -0
- package/public/video-images/20012026-tree-left.png +0 -0
- package/public/video-images/20012026-tree-left.webp +0 -0
- package/public/video-images/20012026-tree-right.png +0 -0
- package/public/video-images/20012026-tree-right.webp +0 -0
- package/public/video-images/20012026-wedding-gate.png +0 -0
- package/public/video-images/20012026-wedding-gate.webp +0 -0
- package/public/video-images/28012026-BottomLeftFlower.webp +0 -0
- package/public/video-images/28012026-BottomRightFlower.webp +0 -0
- package/public/video-images/28012026-FlowerBorder.webp +0 -0
- package/public/video-images/28012026-Ganesh.webp +0 -0
- package/public/video-images/28012026-Heart.webp +0 -0
- package/public/video-images/28012026-PinkLeaf.webp +0 -0
- package/public/video-images/28012026-TopBorder.webp +0 -0
- package/public/video-images/28012026-TopLeftFlower.webp +0 -0
- package/public/video-images/28012026-TopRightFlower.webp +0 -0
- package/public/video-images/28012026-bg.webp +0 -0
- package/public/video-images/28012026-border.webp +0 -0
- package/public/video-images/28012026-frame.webp +0 -0
- package/public/video-images/wedding.mp3 +0 -0
- package/public/video-images/wedding2.mp3 +0 -0
- package/src/Invitations/Elements/GaneshGoldenHalo.jsx +0 -90
- package/src/Invitations/Elements/PageFlipTransition.jsx +0 -180
- package/src/Invitations/Elements/PeacockDance20012026.jsx +0 -68
- package/src/Invitations/Elements/SideTrees20012026.jsx +0 -92
- package/src/Invitations/Elements/SmoothRevealFromTop20012026.jsx +0 -32
|
@@ -6,8 +6,11 @@ import {
|
|
|
6
6
|
interpolate,
|
|
7
7
|
Easing,
|
|
8
8
|
Img,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
10
|
+
import { BottomSideFrames } from "../Elements/BottomSideFrames20012026";
|
|
11
|
+
import { LetterReveal28012026 } from "../Elements/LetterReveal28012026";
|
|
12
|
+
import { HeartDraw28012026 } from "../Elements/HeartDraw28012026";
|
|
13
|
+
import { HangingJumar05022026 } from "../Elements/HangingJumar05022026";
|
|
11
14
|
|
|
12
15
|
export const F20012026_03 = ({
|
|
13
16
|
firstName,
|
|
@@ -16,133 +19,41 @@ export const F20012026_03 = ({
|
|
|
16
19
|
secondPhoto,
|
|
17
20
|
}) => {
|
|
18
21
|
const frame = useCurrentFrame();
|
|
19
|
-
const { fps } = useVideoConfig();
|
|
20
|
-
const opacity = interpolate(frame, [0, 25], [0, 1], {
|
|
21
|
-
extrapolateRight: "clamp",
|
|
22
|
-
});
|
|
22
|
+
const { fps, durationInFrames } = useVideoConfig();
|
|
23
23
|
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
easing: Easing.out(Easing.ease),
|
|
27
|
-
});
|
|
24
|
+
const DETAILS_START = fps * 1;
|
|
25
|
+
const NAME_GAP = fps * 1.2;
|
|
28
26
|
|
|
29
|
-
//
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const secondPhotoStart = fps * 2; // +1s after first
|
|
33
|
-
const secondTextStart = fps * 2.5; // +0.5s
|
|
27
|
+
const showStart = fps * 2; // show after 2 sec
|
|
28
|
+
const showDuration = fps * 0.6; // fade in duration
|
|
29
|
+
const exitStart = durationInFrames - fps * 1; // last 1 sec
|
|
34
30
|
|
|
35
|
-
|
|
36
|
-
const firstPhotoX = interpolate(
|
|
31
|
+
const entryOpacity = interpolate(
|
|
37
32
|
frame,
|
|
38
|
-
[
|
|
39
|
-
[-200, 0],
|
|
40
|
-
{
|
|
41
|
-
extrapolateRight: "clamp",
|
|
42
|
-
easing: Easing.out(Easing.cubic),
|
|
43
|
-
}
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
const firstPhotoOpacity = interpolate(
|
|
47
|
-
frame,
|
|
48
|
-
[firstPhotoStart, firstPhotoStart + 10],
|
|
49
|
-
[0, 1],
|
|
50
|
-
{ extrapolateRight: "clamp" }
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
// FIRST TEXT
|
|
54
|
-
const firstTextX = interpolate(
|
|
55
|
-
frame,
|
|
56
|
-
[firstTextStart, firstTextStart + 20],
|
|
57
|
-
[-30, 0],
|
|
58
|
-
{
|
|
59
|
-
extrapolateRight: "clamp",
|
|
60
|
-
easing: Easing.out(Easing.ease),
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
const firstTextOpacity = interpolate(
|
|
65
|
-
frame,
|
|
66
|
-
[firstTextStart, firstTextStart + 10],
|
|
67
|
-
[0, 1],
|
|
68
|
-
{ extrapolateRight: "clamp" }
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
// SECOND PHOTO (from right)
|
|
72
|
-
const secondPhotoX = interpolate(
|
|
73
|
-
frame,
|
|
74
|
-
[secondPhotoStart, secondPhotoStart + fps * 2],
|
|
75
|
-
[200, 0],
|
|
76
|
-
{
|
|
77
|
-
extrapolateRight: "clamp",
|
|
78
|
-
easing: Easing.out(Easing.cubic),
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
const secondPhotoOpacity = interpolate(
|
|
83
|
-
frame,
|
|
84
|
-
[secondPhotoStart, secondPhotoStart + 10],
|
|
33
|
+
[showStart, showStart + showDuration],
|
|
85
34
|
[0, 1],
|
|
86
35
|
{ extrapolateRight: "clamp" }
|
|
87
36
|
);
|
|
88
37
|
|
|
89
|
-
|
|
90
|
-
const secondTextX = interpolate(
|
|
91
|
-
frame,
|
|
92
|
-
[secondTextStart, secondTextStart + 20],
|
|
93
|
-
[60, 0], // 👉 from RIGHT to center
|
|
94
|
-
{
|
|
95
|
-
extrapolateRight: "clamp",
|
|
96
|
-
easing: Easing.out(Easing.ease),
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
const secondTextOpacity = interpolate(
|
|
38
|
+
const entryY = interpolate(
|
|
101
39
|
frame,
|
|
102
|
-
[
|
|
103
|
-
[
|
|
40
|
+
[showStart, showStart + showDuration],
|
|
41
|
+
[40, 0],
|
|
104
42
|
{ extrapolateRight: "clamp" }
|
|
105
43
|
);
|
|
106
44
|
|
|
107
|
-
const totalFrames = fps * 7;
|
|
108
|
-
|
|
109
|
-
const exitStart = totalFrames - fps * 2; // last 1 second
|
|
110
|
-
|
|
111
45
|
const exitOpacity = interpolate(
|
|
112
46
|
frame,
|
|
113
|
-
[exitStart,
|
|
47
|
+
[exitStart, durationInFrames],
|
|
114
48
|
[1, 0],
|
|
115
|
-
{ extrapolateLeft: "clamp"
|
|
116
|
-
);
|
|
117
|
-
const exitTopY = interpolate(
|
|
118
|
-
frame,
|
|
119
|
-
[exitStart, totalFrames],
|
|
120
|
-
[0, -40],
|
|
121
|
-
{
|
|
122
|
-
extrapolateLeft: "clamp",
|
|
123
|
-
extrapolateRight: "clamp",
|
|
124
|
-
easing: Easing.in(Easing.ease),
|
|
125
|
-
}
|
|
126
|
-
);
|
|
127
|
-
const exitLeftX = interpolate(
|
|
128
|
-
frame,
|
|
129
|
-
[exitStart, totalFrames],
|
|
130
|
-
[0, -60],
|
|
131
|
-
{
|
|
132
|
-
extrapolateLeft: "clamp",
|
|
133
|
-
extrapolateRight: "clamp",
|
|
134
|
-
easing: Easing.in(Easing.ease),
|
|
135
|
-
}
|
|
49
|
+
{ extrapolateLeft: "clamp" }
|
|
136
50
|
);
|
|
137
|
-
|
|
51
|
+
|
|
52
|
+
const exitY = interpolate(
|
|
138
53
|
frame,
|
|
139
|
-
[exitStart,
|
|
140
|
-
[0,
|
|
141
|
-
{
|
|
142
|
-
extrapolateLeft: "clamp",
|
|
143
|
-
extrapolateRight: "clamp",
|
|
144
|
-
easing: Easing.in(Easing.ease),
|
|
145
|
-
}
|
|
54
|
+
[exitStart, durationInFrames],
|
|
55
|
+
[0, -80],
|
|
56
|
+
{ extrapolateLeft: "clamp" }
|
|
146
57
|
);
|
|
147
58
|
|
|
148
59
|
return (
|
|
@@ -151,113 +62,83 @@ export const F20012026_03 = ({
|
|
|
151
62
|
overflow: "hidden",
|
|
152
63
|
}}
|
|
153
64
|
>
|
|
65
|
+
<BottomSideFrames firstPhoto={firstPhoto} secondPhoto={secondPhoto} />
|
|
66
|
+
<HangingJumar05022026 side="left" offset={-40} />
|
|
67
|
+
<HangingJumar05022026 side="right" offset={-40} />
|
|
154
68
|
|
|
155
|
-
{
|
|
156
|
-
<div
|
|
157
|
-
style={{
|
|
158
|
-
position: "absolute",
|
|
159
|
-
top: "28%",
|
|
160
|
-
left: "8%",
|
|
161
|
-
width: 420,
|
|
162
|
-
height: 420,
|
|
163
|
-
zIndex: 2,
|
|
164
|
-
transform: `translateX(${firstPhotoX + exitLeftX}px)`,
|
|
165
|
-
opacity: firstPhotoOpacity * exitOpacity,
|
|
166
|
-
}}
|
|
167
|
-
>
|
|
168
|
-
<Img
|
|
169
|
-
src={firstPhoto}
|
|
170
|
-
style={{
|
|
171
|
-
width: "100%",
|
|
172
|
-
height: "100%",
|
|
173
|
-
objectFit: "cover",
|
|
174
|
-
border: "4px solid #C65A7A",
|
|
175
|
-
borderRadius: "50%",
|
|
176
|
-
}}
|
|
177
|
-
/>
|
|
178
|
-
</div>
|
|
179
|
-
)}
|
|
180
|
-
|
|
181
|
-
{/* FIRST NAME + SIDE NOTE */}
|
|
69
|
+
{/* CENTER NAMES */}
|
|
182
70
|
<div
|
|
183
71
|
style={{
|
|
184
72
|
position: "absolute",
|
|
185
|
-
top: "
|
|
186
|
-
left: "
|
|
187
|
-
|
|
73
|
+
top: "30%",
|
|
74
|
+
left: "50%",
|
|
75
|
+
transform: "translate(-50%, -50%)",
|
|
188
76
|
display: "flex",
|
|
189
77
|
flexDirection: "column",
|
|
190
78
|
alignItems: "center",
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
79
|
+
justifyContent: "center",
|
|
80
|
+
width: "100%",
|
|
81
|
+
zIndex: 10,
|
|
194
82
|
}}
|
|
195
83
|
>
|
|
84
|
+
<div
|
|
85
|
+
style={{
|
|
86
|
+
position: "absolute",
|
|
87
|
+
left: "50%",
|
|
88
|
+
top: "50%",
|
|
89
|
+
transform: `translate(-50%, -50%) translateY(${entryY + exitY}px)`,
|
|
90
|
+
fontSize: 240,
|
|
91
|
+
fontFamily: "Dancing Script",
|
|
92
|
+
color: "#D4A24C",
|
|
93
|
+
opacity: entryOpacity * exitOpacity * 0.15,
|
|
94
|
+
zIndex: 1, // Behind names
|
|
95
|
+
pointerEvents: "none",
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
&
|
|
99
|
+
</div>
|
|
100
|
+
<HeartDraw28012026 startAfter={DETAILS_START + fps * 0.5} />
|
|
101
|
+
{/* FIRST NAME */}
|
|
196
102
|
<h1
|
|
197
103
|
style={{
|
|
198
104
|
fontFamily: "Dancing Script",
|
|
199
|
-
color: "#
|
|
105
|
+
color: "#B76E79",
|
|
200
106
|
fontSize: 80,
|
|
201
|
-
|
|
107
|
+
fontWeight: "600",
|
|
108
|
+
letterSpacing: "2px",
|
|
202
109
|
textAlign: "center",
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
</h1>
|
|
208
|
-
</div>
|
|
209
|
-
|
|
210
|
-
{secondPhoto && (
|
|
211
|
-
<div
|
|
212
|
-
style={{
|
|
213
|
-
position: "absolute",
|
|
214
|
-
bottom: "10%",
|
|
215
|
-
right: "8%",
|
|
216
|
-
width: 420,
|
|
217
|
-
height: 420,
|
|
218
|
-
zIndex: 2,
|
|
219
|
-
transform: `translateX(${secondPhotoX + exitRightX}px)`,
|
|
220
|
-
opacity: secondPhotoOpacity * exitOpacity,
|
|
110
|
+
marginBottom: 20,
|
|
111
|
+
maxWidth: "80%",
|
|
112
|
+
wordBreak: "break-word",
|
|
113
|
+
zIndex: 10
|
|
221
114
|
}}
|
|
222
115
|
>
|
|
223
|
-
<
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
height: "100%",
|
|
228
|
-
objectFit: "cover",
|
|
229
|
-
border: "4px solid #C65A7A",
|
|
230
|
-
borderRadius: "50%",
|
|
231
|
-
}}
|
|
116
|
+
<LetterReveal28012026
|
|
117
|
+
text={firstName}
|
|
118
|
+
start={DETAILS_START}
|
|
119
|
+
exitDirection="left"
|
|
232
120
|
/>
|
|
233
|
-
</
|
|
234
|
-
)}
|
|
121
|
+
</h1>
|
|
235
122
|
|
|
236
|
-
|
|
237
|
-
<div
|
|
238
|
-
style={{
|
|
239
|
-
position: "absolute",
|
|
240
|
-
bottom: "23%",
|
|
241
|
-
right: "30%",
|
|
242
|
-
lineHeight: 1.2,
|
|
243
|
-
display: "flex",
|
|
244
|
-
flexDirection: "column",
|
|
245
|
-
alignItems: "center",
|
|
246
|
-
transform: `translateX(${secondTextX + exitRightX}px)`,
|
|
247
|
-
opacity: secondTextOpacity * exitOpacity,
|
|
248
|
-
}}
|
|
249
|
-
>
|
|
123
|
+
{/* SECOND NAME */}
|
|
250
124
|
<h1
|
|
251
125
|
style={{
|
|
252
126
|
fontFamily: "Dancing Script",
|
|
253
|
-
color: "#
|
|
127
|
+
color: "#B76E79",
|
|
254
128
|
fontSize: 80,
|
|
255
|
-
|
|
129
|
+
fontWeight: "600",
|
|
130
|
+
letterSpacing: "2px",
|
|
256
131
|
textAlign: "center",
|
|
257
|
-
|
|
132
|
+
maxWidth: "80%",
|
|
133
|
+
wordBreak: "break-word",
|
|
134
|
+
zIndex: 10
|
|
258
135
|
}}
|
|
259
136
|
>
|
|
260
|
-
|
|
137
|
+
<LetterReveal28012026
|
|
138
|
+
text={secondName}
|
|
139
|
+
start={DETAILS_START + NAME_GAP}
|
|
140
|
+
exitDirection="right"
|
|
141
|
+
/>
|
|
261
142
|
</h1>
|
|
262
143
|
</div>
|
|
263
144
|
|
|
@@ -3,24 +3,19 @@ import {
|
|
|
3
3
|
AbsoluteFill,
|
|
4
4
|
useCurrentFrame,
|
|
5
5
|
useVideoConfig,
|
|
6
|
-
interpolate,
|
|
7
|
-
Easing,
|
|
8
|
-
Img,
|
|
9
|
-
staticFile,
|
|
10
6
|
} from "remotion";
|
|
11
7
|
|
|
12
8
|
import { GroomBrideLoveScene20012026 } from "../Elements/GroomBrideLoveScene20012026.jsx";
|
|
13
|
-
import {
|
|
9
|
+
import { SmoothReveal20012026 } from "../Elements/SmoothReveal20012026.jsx"
|
|
14
10
|
|
|
15
11
|
export const F20012026_04 = ({
|
|
16
12
|
eventDateTime,
|
|
17
13
|
venueName,
|
|
18
14
|
venueAddress,
|
|
19
15
|
familyMember,
|
|
20
|
-
fadeInDuration = 30,
|
|
21
16
|
}) => {
|
|
22
17
|
const frame = useCurrentFrame();
|
|
23
|
-
const { fps } = useVideoConfig();
|
|
18
|
+
const { fps, durationInFrames } = useVideoConfig();
|
|
24
19
|
|
|
25
20
|
/* ---------------- DATE UTILS ---------------- */
|
|
26
21
|
const getDateParts = (iso) => {
|
|
@@ -45,143 +40,95 @@ export const F20012026_04 = ({
|
|
|
45
40
|
|
|
46
41
|
const { day, month, year, time } = getDateParts(eventDateTime);
|
|
47
42
|
|
|
48
|
-
const DETAILS_START = fps *
|
|
43
|
+
const DETAILS_START = fps * 1;
|
|
49
44
|
|
|
50
|
-
|
|
51
|
-
const showImageAfter = fadeInDuration * 2;
|
|
52
|
-
|
|
53
|
-
const imageOpacity = interpolate(
|
|
54
|
-
frame,
|
|
55
|
-
[showImageAfter, showImageAfter + fps * 1.2],
|
|
56
|
-
[0, 1],
|
|
57
|
-
{
|
|
58
|
-
extrapolateRight: "clamp",
|
|
59
|
-
easing: Easing.out(Easing.ease),
|
|
60
|
-
}
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
const imageScale = interpolate(
|
|
64
|
-
frame,
|
|
65
|
-
[showImageAfter, showImageAfter + fps * 1.2],
|
|
66
|
-
[0.95, 1],
|
|
67
|
-
{
|
|
68
|
-
extrapolateRight: "clamp",
|
|
69
|
-
easing: Easing.out(Easing.cubic),
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
const imageTranslateY = interpolate(
|
|
73
|
-
frame,
|
|
74
|
-
[showImageAfter, showImageAfter + fps * 1.2],
|
|
75
|
-
[-200, 0], // 🔥 starts above and comes down
|
|
76
|
-
{
|
|
77
|
-
extrapolateRight: "clamp",
|
|
78
|
-
easing: Easing.out(Easing.ease),
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
return (
|
|
45
|
+
return (
|
|
83
46
|
<AbsoluteFill
|
|
84
47
|
style={{
|
|
85
48
|
transformOrigin: "center center",
|
|
86
49
|
overflow: "hidden",
|
|
87
50
|
}}
|
|
88
|
-
>
|
|
89
|
-
<
|
|
90
|
-
src={staticFile("video-images/20012026-wedding-gate.webp")}
|
|
91
|
-
style={{
|
|
92
|
-
position: "absolute",
|
|
93
|
-
top: 0,
|
|
94
|
-
left: "50%",
|
|
95
|
-
width: "100%",
|
|
96
|
-
height: "100%",
|
|
97
|
-
opacity: imageOpacity,
|
|
98
|
-
transform: `
|
|
99
|
-
translateX(-50%)
|
|
100
|
-
translateY(${imageTranslateY}px)
|
|
101
|
-
scale(${imageScale})
|
|
102
|
-
`,
|
|
103
|
-
}}
|
|
104
|
-
/>
|
|
105
|
-
|
|
106
|
-
<GroomBrideLoveScene20012026 startAfter={3.5} />
|
|
51
|
+
>
|
|
52
|
+
<GroomBrideLoveScene20012026 startAfter={2} />
|
|
107
53
|
|
|
108
54
|
<div
|
|
109
55
|
style={{
|
|
110
56
|
position: "absolute",
|
|
111
|
-
top: "
|
|
57
|
+
top: "30%",
|
|
112
58
|
width: "100%",
|
|
113
59
|
display: "flex",
|
|
114
60
|
flexDirection: "column",
|
|
115
61
|
alignItems: "center",
|
|
116
62
|
textAlign: "center",
|
|
117
63
|
zIndex: 5,
|
|
118
|
-
gap: "
|
|
64
|
+
gap: "15px"
|
|
119
65
|
}}
|
|
120
66
|
>
|
|
121
67
|
<div
|
|
122
68
|
style={{
|
|
123
|
-
maxWidth: "
|
|
124
|
-
fontFamily: "
|
|
69
|
+
maxWidth: "60%",
|
|
70
|
+
fontFamily: "Dancing Script",
|
|
125
71
|
fontSize: 55,
|
|
126
72
|
fontWeight: "600",
|
|
127
|
-
color: "#
|
|
73
|
+
color: "#4A3A32",
|
|
128
74
|
lineHeight: 1.2,
|
|
129
75
|
letterSpacing: "2px",
|
|
130
76
|
whiteSpace: "normal",
|
|
131
77
|
wordBreak: "break-word",
|
|
132
78
|
overflowWrap: "break-word",
|
|
133
|
-
...
|
|
134
|
-
frame,
|
|
135
|
-
startFrame: DETAILS_START,
|
|
136
|
-
delay: 0,
|
|
79
|
+
...SmoothReveal20012026({
|
|
80
|
+
frame, startFrame: DETAILS_START, delay: 0, direction: "top", durationInFrames, fps, exitDurationSec: 1.5
|
|
137
81
|
})
|
|
138
82
|
}}
|
|
139
83
|
>
|
|
140
|
-
{venueName}
|
|
84
|
+
{venueName}
|
|
141
85
|
</div>
|
|
142
86
|
|
|
143
87
|
<div
|
|
144
88
|
style={{
|
|
145
|
-
maxWidth: "
|
|
146
|
-
fontFamily: "
|
|
89
|
+
maxWidth: "60%",
|
|
90
|
+
fontFamily: "Dancing Script",
|
|
147
91
|
fontSize: 50,
|
|
148
92
|
fontWeight: "600",
|
|
149
|
-
color: "#
|
|
93
|
+
color: "#4A3A32",
|
|
150
94
|
lineHeight: 1.2,
|
|
151
95
|
letterSpacing: "2px",
|
|
152
96
|
whiteSpace: "normal",
|
|
153
97
|
wordBreak: "break-word",
|
|
154
98
|
overflowWrap: "break-word",
|
|
155
|
-
...
|
|
99
|
+
...SmoothReveal20012026({
|
|
156
100
|
frame,
|
|
157
101
|
startFrame: DETAILS_START,
|
|
158
|
-
delay:
|
|
102
|
+
delay: 10, direction: "top", durationInFrames,
|
|
103
|
+
fps, exitDurationSec: 1.5
|
|
159
104
|
})
|
|
160
105
|
|
|
161
106
|
}}
|
|
162
107
|
>
|
|
163
|
-
{venueAddress}
|
|
108
|
+
{venueAddress}
|
|
164
109
|
</div>
|
|
165
110
|
<div
|
|
166
111
|
style={{
|
|
167
112
|
fontFamily: "Great Vibes",
|
|
168
|
-
fontSize:
|
|
113
|
+
fontSize: 50,
|
|
169
114
|
fontWeight: "600",
|
|
170
|
-
color: "#
|
|
115
|
+
color: "#8C6A2A",
|
|
171
116
|
lineHeight: 1.2,
|
|
172
|
-
|
|
117
|
+
marginTop: "10px",
|
|
118
|
+
letterSpacing: "2px",
|
|
173
119
|
whiteSpace: "normal",
|
|
174
120
|
wordBreak: "break-word",
|
|
175
121
|
overflowWrap: "break-word",
|
|
176
|
-
...
|
|
122
|
+
...SmoothReveal20012026({
|
|
177
123
|
frame,
|
|
178
124
|
startFrame: DETAILS_START,
|
|
179
|
-
delay:
|
|
125
|
+
delay: 30, direction: "left", durationInFrames,
|
|
126
|
+
fps, exitDurationSec: 1.5
|
|
180
127
|
})
|
|
181
128
|
|
|
182
129
|
}}
|
|
183
130
|
>
|
|
184
|
-
On the joyous occasion
|
|
131
|
+
- On the joyous occasion -
|
|
185
132
|
</div>
|
|
186
133
|
<div
|
|
187
134
|
style={{
|
|
@@ -191,16 +138,17 @@ export const F20012026_04 = ({
|
|
|
191
138
|
fontFamily: "Playfair Display",
|
|
192
139
|
fontSize: 50,
|
|
193
140
|
fontWeight: "600",
|
|
194
|
-
color: "#
|
|
141
|
+
color: "#7A2E3A",
|
|
195
142
|
lineHeight: 1.2,
|
|
196
143
|
letterSpacing: "2px",
|
|
197
144
|
whiteSpace: "normal",
|
|
198
145
|
wordBreak: "break-word",
|
|
199
146
|
overflowWrap: "break-word",
|
|
200
|
-
...
|
|
147
|
+
...SmoothReveal20012026({
|
|
201
148
|
frame,
|
|
202
149
|
startFrame: DETAILS_START,
|
|
203
|
-
delay:
|
|
150
|
+
delay: 40, direction: "left", durationInFrames,
|
|
151
|
+
fps, exitDurationSec: 1.5
|
|
204
152
|
})
|
|
205
153
|
|
|
206
154
|
}}
|
|
@@ -209,71 +157,55 @@ export const F20012026_04 = ({
|
|
|
209
157
|
<span>{month}</span>
|
|
210
158
|
<span>{year}</span>
|
|
211
159
|
</div>
|
|
212
|
-
<div
|
|
213
|
-
style={{
|
|
214
|
-
fontFamily: "Great Vibes",
|
|
215
|
-
fontSize: 55,
|
|
216
|
-
fontWeight: "600",
|
|
217
|
-
color: "#4B3A28",
|
|
218
|
-
lineHeight: 1.2,
|
|
219
|
-
letterSpacing: "2px",
|
|
220
|
-
whiteSpace: "normal",
|
|
221
|
-
wordBreak: "break-word",
|
|
222
|
-
overflowWrap: "break-word",
|
|
223
|
-
...SmoothRevealFromTop20012026({
|
|
224
|
-
frame,
|
|
225
|
-
startFrame: DETAILS_START,
|
|
226
|
-
delay: 95,
|
|
227
|
-
})
|
|
228
160
|
|
|
229
|
-
}}
|
|
230
|
-
>
|
|
231
|
-
Wedding Time
|
|
232
|
-
</div>
|
|
233
161
|
<div
|
|
234
162
|
style={{
|
|
235
|
-
fontSize: 50,
|
|
236
|
-
fontWeight: "600",
|
|
237
|
-
color: "#4B3A28",
|
|
238
163
|
fontFamily: "Playfair Display",
|
|
164
|
+
fontSize: 55,
|
|
165
|
+
fontWeight: "600",
|
|
239
166
|
lineHeight: 1.2,
|
|
240
167
|
letterSpacing: "2px",
|
|
241
|
-
|
|
242
|
-
wordBreak: "break-word",
|
|
243
|
-
overflowWrap: "break-word",
|
|
244
|
-
...SmoothRevealFromTop20012026({
|
|
168
|
+
...SmoothReveal20012026({
|
|
245
169
|
frame,
|
|
246
170
|
startFrame: DETAILS_START,
|
|
247
|
-
delay:
|
|
171
|
+
delay: 60,
|
|
172
|
+
direction: "right",
|
|
173
|
+
durationInFrames,
|
|
174
|
+
fps,
|
|
175
|
+
exitDurationSec: 1.5
|
|
248
176
|
})
|
|
249
|
-
|
|
250
177
|
}}
|
|
251
178
|
>
|
|
252
|
-
{
|
|
179
|
+
<span style={{ color: "#8C6A2A", marginRight: 15 , fontFamily:"Great Vibes", fontSize:50 }}>
|
|
180
|
+
Wedding Time
|
|
181
|
+
</span>
|
|
182
|
+
<span style={{ color: "#7A2E3A" }}>
|
|
183
|
+
{time}
|
|
184
|
+
</span>
|
|
253
185
|
</div>
|
|
254
186
|
|
|
255
187
|
<div
|
|
256
188
|
style={{
|
|
257
189
|
maxWidth: "70%",
|
|
258
|
-
fontFamily: "
|
|
259
|
-
fontSize:
|
|
190
|
+
fontFamily: "Dancing Script",
|
|
191
|
+
fontSize: 50,
|
|
260
192
|
fontWeight: "600",
|
|
261
193
|
lineHeight: 1.2,
|
|
262
|
-
color: "#
|
|
263
|
-
lineHeight: 1.2,
|
|
194
|
+
color: "#4A3A32",
|
|
264
195
|
letterSpacing: "2px",
|
|
265
196
|
whiteSpace: "normal",
|
|
266
197
|
wordBreak: "break-word",
|
|
267
198
|
overflowWrap: "break-word",
|
|
268
|
-
...
|
|
199
|
+
...SmoothReveal20012026({
|
|
269
200
|
frame,
|
|
270
201
|
startFrame: DETAILS_START,
|
|
271
|
-
delay:
|
|
202
|
+
delay: 80, direction: "bottom", durationInFrames,
|
|
203
|
+
fps, exitDurationSec: 1.5
|
|
272
204
|
})
|
|
273
205
|
|
|
274
206
|
}}
|
|
275
207
|
>
|
|
276
|
-
{familyMember}
|
|
208
|
+
{familyMember}
|
|
277
209
|
</div>
|
|
278
210
|
</div>
|
|
279
211
|
|
|
@@ -13,7 +13,7 @@ export const F28012026_01 = ({
|
|
|
13
13
|
return (
|
|
14
14
|
<AbsoluteFill style={{ overflow: "hidden" }}>
|
|
15
15
|
<FlowerReveal_TR_BL_28012026 />
|
|
16
|
-
<GaneshBorder28012026
|
|
16
|
+
<GaneshBorder28012026 />
|
|
17
17
|
<BlowingLeaves28012026 startAfter={2} />
|
|
18
18
|
|
|
19
19
|
<div
|
|
@@ -27,10 +27,6 @@ export const F28012026_01 = ({
|
|
|
27
27
|
>
|
|
28
28
|
<h1
|
|
29
29
|
style={{
|
|
30
|
-
fontFamily: "Dancing Script",
|
|
31
|
-
letterSpacing: 3,
|
|
32
|
-
lineHeight: 1.3,
|
|
33
|
-
fontWeight: 600,
|
|
34
30
|
margin: 0,
|
|
35
31
|
whiteSpace: "normal",
|
|
36
32
|
wordBreak: "break-word",
|
|
@@ -38,14 +34,17 @@ export const F28012026_01 = ({
|
|
|
38
34
|
>
|
|
39
35
|
<WordReveal28012026
|
|
40
36
|
text={welcomeMessage}
|
|
41
|
-
start={
|
|
37
|
+
start={40}
|
|
42
38
|
fontSize={70}
|
|
43
39
|
color="#D4A24C"
|
|
40
|
+
fontFamily="Dancing Script"
|
|
41
|
+
letterSpacing={3}
|
|
42
|
+
lineHeight={1.3}
|
|
43
|
+
fontWeight={600}
|
|
44
|
+
exitDurationSec={2}
|
|
44
45
|
/>
|
|
45
46
|
</h1>
|
|
46
47
|
</div>
|
|
47
|
-
|
|
48
|
-
|
|
49
48
|
</AbsoluteFill>
|
|
50
49
|
);
|
|
51
50
|
};
|