@evatril/video-templates 2.0.12 → 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 +120 -110
- package/src/Invitations/Frames/F20012026_03.jsx +74 -194
- package/src/Invitations/Frames/F20012026_04.jsx +54 -123
- 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 +80 -67
- package/src/Invitations/Themes/T28012026_01.jsx +32 -25
- package/src/compositions.jsx +1 -1
- 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,7 +6,6 @@ import {
|
|
|
6
6
|
useVideoConfig,
|
|
7
7
|
interpolate,
|
|
8
8
|
Easing,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
11
10
|
import { FlowerReveal_TL_BR_28012026 } from "../Elements/FlowerReveal_TL_BR_28012026";
|
|
12
11
|
import { HeartDraw28012026 } from "../Elements/HeartDraw28012026";
|
|
@@ -48,46 +47,46 @@ export const F28012026_02 = ({
|
|
|
48
47
|
|
|
49
48
|
const { fps } = useVideoConfig();
|
|
50
49
|
|
|
51
|
-
const initialsStart = fps *
|
|
52
|
-
const heartStart = initialsStart + fps * 1
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
const initialsStart = fps * 2;
|
|
51
|
+
const heartStart = initialsStart + fps * 1;
|
|
52
|
+
const openDuration = fps * 1;
|
|
53
|
+
|
|
55
54
|
const initialsOpacity = interpolate(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
55
|
+
frame,
|
|
56
|
+
[initialsStart + fps * 0.1, initialsStart + openDuration],
|
|
57
|
+
[0, 1],
|
|
58
|
+
{
|
|
59
|
+
extrapolateLeft: "clamp",
|
|
60
|
+
extrapolateRight: "clamp",
|
|
61
|
+
easing: Easing.out(Easing.cubic),
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
// 🌿 INITIALS SCALE (soft overshoot)
|
|
65
|
+
const initialsScale = interpolate(
|
|
66
|
+
frame,
|
|
67
|
+
[
|
|
68
|
+
initialsStart,
|
|
69
|
+
initialsStart + openDuration * 0.7,
|
|
70
|
+
initialsStart + openDuration,
|
|
71
|
+
],
|
|
72
|
+
[0.45, 1.05, 1],
|
|
73
|
+
{
|
|
74
|
+
extrapolateLeft: "clamp",
|
|
75
|
+
extrapolateRight: "clamp",
|
|
76
|
+
easing: Easing.out(Easing.cubic),
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// ☁️ FLOAT UP
|
|
81
|
+
const initialsY = interpolate(
|
|
82
|
+
frame,
|
|
83
|
+
[initialsStart, initialsStart + openDuration],
|
|
84
|
+
[20, 0],
|
|
85
|
+
{
|
|
86
|
+
extrapolateLeft: "clamp",
|
|
87
|
+
extrapolateRight: "clamp",
|
|
88
|
+
}
|
|
89
|
+
);
|
|
91
90
|
|
|
92
91
|
|
|
93
92
|
return (
|
|
@@ -134,19 +133,19 @@ export const F28012026_02 = ({
|
|
|
134
133
|
>
|
|
135
134
|
<h1
|
|
136
135
|
style={{
|
|
137
|
-
fontFamily: "Dancing Script",
|
|
138
|
-
color: "#B76E79",
|
|
139
|
-
letterSpacing: 3,
|
|
140
|
-
lineHeight: 1.3,
|
|
141
|
-
fontWeight: 600,
|
|
142
136
|
maxWidth: "80%",
|
|
143
137
|
}}
|
|
144
138
|
>
|
|
145
139
|
<WordReveal28012026
|
|
146
140
|
text={invitationMessage}
|
|
147
|
-
start={
|
|
141
|
+
start={20}
|
|
148
142
|
fontSize={60}
|
|
149
143
|
color="#B76E79"
|
|
144
|
+
fontFamily="Dancing Script"
|
|
145
|
+
letterSpacing={3}
|
|
146
|
+
lineHeight={1.3}
|
|
147
|
+
fontWeight={600}
|
|
148
|
+
exitDurationSec={2}
|
|
150
149
|
/>
|
|
151
150
|
</h1>
|
|
152
151
|
|
|
@@ -204,7 +203,6 @@ export const F28012026_02 = ({
|
|
|
204
203
|
color: "#D4A24C",
|
|
205
204
|
fontWeight: 600,
|
|
206
205
|
zIndex: 2,
|
|
207
|
-
|
|
208
206
|
opacity: interpolate(
|
|
209
207
|
frame,
|
|
210
208
|
[initialsStart + fps * 0.3, initialsStart + fps * 0.6],
|
|
@@ -220,20 +218,20 @@ export const F28012026_02 = ({
|
|
|
220
218
|
|
|
221
219
|
<div
|
|
222
220
|
style={{
|
|
223
|
-
fontSize: 65,
|
|
224
|
-
fontWeight: "600",
|
|
225
|
-
color: "#B76E79",
|
|
226
|
-
lineHeight: 1.2,
|
|
227
221
|
marginTop: "15px",
|
|
228
|
-
letterSpacing: "4px",
|
|
229
222
|
whiteSpace: "nowrap",
|
|
230
223
|
}}
|
|
231
224
|
>
|
|
232
225
|
<WordReveal28012026
|
|
233
226
|
text={formatDate(occasionDate)}
|
|
234
|
-
start={
|
|
227
|
+
start={100}
|
|
235
228
|
fontSize={65}
|
|
236
229
|
color="#B76E79"
|
|
230
|
+
fontFamily="Dancing Script"
|
|
231
|
+
letterSpacing={4}
|
|
232
|
+
lineHeight={1.2}
|
|
233
|
+
fontWeight={600}
|
|
234
|
+
exitDurationSec={2}
|
|
237
235
|
/>
|
|
238
236
|
|
|
239
237
|
</div>
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
interpolate,
|
|
7
7
|
Easing,
|
|
8
8
|
Img,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
11
10
|
import { HeartFlight28012026 } from "../Elements/HeartFlight28012026";
|
|
12
11
|
|
|
@@ -34,13 +33,13 @@ export const F28012026_03 = ({
|
|
|
34
33
|
const topBorderTranslate = interpolate(
|
|
35
34
|
frame,
|
|
36
35
|
[topBorderStart, topBorderStart + 20],
|
|
37
|
-
[-
|
|
36
|
+
[-30, 0], // slides DOWN from top
|
|
38
37
|
{
|
|
39
38
|
extrapolateRight: "clamp",
|
|
40
39
|
}
|
|
41
40
|
);
|
|
42
41
|
|
|
43
|
-
const borderStart = fps * 1;
|
|
42
|
+
const borderStart = fps * 1;
|
|
44
43
|
const photoStart = borderStart + 20; // photo after border
|
|
45
44
|
|
|
46
45
|
const borderOpacity = interpolate(frame, [borderStart, borderStart + 25], [0, 1], {
|
|
@@ -60,49 +59,49 @@ export const F28012026_03 = ({
|
|
|
60
59
|
extrapolateRight: "clamp",
|
|
61
60
|
});
|
|
62
61
|
|
|
63
|
-
const nameStart = fps *
|
|
62
|
+
const nameStart = fps * 1.5; // adjust timing if needed
|
|
64
63
|
|
|
65
64
|
const nameOpacity = interpolate(frame, [nameStart, nameStart + 20], [0, 1], {
|
|
66
65
|
extrapolateRight: "clamp",
|
|
67
66
|
easing: Easing.out(Easing.ease),
|
|
68
67
|
});
|
|
69
68
|
|
|
70
|
-
const nameTranslateX = interpolate(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
);
|
|
69
|
+
const nameTranslateX = interpolate(
|
|
70
|
+
frame,
|
|
71
|
+
[
|
|
72
|
+
nameStart,
|
|
73
|
+
nameStart + fps * 2,
|
|
74
|
+
nameStart + fps * 2.3,
|
|
75
|
+
],
|
|
76
|
+
[600, -10, 0],
|
|
77
|
+
{
|
|
78
|
+
extrapolateLeft: "clamp",
|
|
79
|
+
extrapolateRight: "clamp",
|
|
80
|
+
easing: Easing.inOut(Easing.cubic),
|
|
81
|
+
}
|
|
82
|
+
);
|
|
84
83
|
|
|
85
|
-
const emojiStart = nameStart +
|
|
84
|
+
const emojiStart = nameStart + fps * 1;
|
|
86
85
|
|
|
87
86
|
const emojiOpacity = interpolate(frame, [emojiStart, emojiStart + 20], [0, 1], {
|
|
88
87
|
extrapolateRight: "clamp",
|
|
89
88
|
easing: Easing.out(Easing.ease),
|
|
90
89
|
});
|
|
91
90
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
);
|
|
91
|
+
const emojiTranslateX = interpolate(
|
|
92
|
+
frame,
|
|
93
|
+
[
|
|
94
|
+
emojiStart,
|
|
95
|
+
emojiStart + fps * 2,
|
|
96
|
+
emojiStart + fps * 2.3,
|
|
97
|
+
],
|
|
98
|
+
[600, -10, 0],
|
|
99
|
+
{
|
|
100
|
+
extrapolateLeft: "clamp",
|
|
101
|
+
extrapolateRight: "clamp",
|
|
102
|
+
easing: Easing.inOut(Easing.cubic),
|
|
103
|
+
}
|
|
104
|
+
);
|
|
106
105
|
|
|
107
106
|
const sideNoteStart = nameStart + fps * 1.5; // appears ~0.8s after name
|
|
108
107
|
|
|
@@ -112,19 +111,19 @@ const nameTranslateX = interpolate(
|
|
|
112
111
|
});
|
|
113
112
|
|
|
114
113
|
const sideTranslateX = interpolate(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
);
|
|
114
|
+
frame,
|
|
115
|
+
[
|
|
116
|
+
sideNoteStart,
|
|
117
|
+
sideNoteStart + fps * 2,
|
|
118
|
+
sideNoteStart + fps * 2.3,
|
|
119
|
+
],
|
|
120
|
+
[600, -10, 0],
|
|
121
|
+
{
|
|
122
|
+
extrapolateLeft: "clamp",
|
|
123
|
+
extrapolateRight: "clamp",
|
|
124
|
+
easing: Easing.inOut(Easing.cubic),
|
|
125
|
+
}
|
|
126
|
+
);
|
|
128
127
|
|
|
129
128
|
return (
|
|
130
129
|
<AbsoluteFill
|
|
@@ -132,24 +131,24 @@ const nameTranslateX = interpolate(
|
|
|
132
131
|
overflow: "hidden",
|
|
133
132
|
}}
|
|
134
133
|
>
|
|
135
|
-
<HeartFlight28012026
|
|
134
|
+
<HeartFlight28012026 />
|
|
136
135
|
|
|
137
136
|
{/* Top Border */}
|
|
138
137
|
<div
|
|
139
138
|
style={{
|
|
140
139
|
position: "absolute",
|
|
141
140
|
top: 0,
|
|
142
|
-
left:
|
|
141
|
+
left: 0,
|
|
143
142
|
width: "100%",
|
|
144
143
|
display: "flex",
|
|
145
144
|
justifyContent: "center",
|
|
146
145
|
}}
|
|
147
146
|
>
|
|
148
147
|
<Img
|
|
149
|
-
src=
|
|
148
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-TopBorder.webp"
|
|
150
149
|
style={{
|
|
151
|
-
width: "
|
|
152
|
-
transform: `translateY(${topBorderTranslate}px)
|
|
150
|
+
width: "100%",
|
|
151
|
+
transform: `translateY(${topBorderTranslate}px) `,
|
|
153
152
|
opacity: topBorderOpacity,
|
|
154
153
|
}}
|
|
155
154
|
/>
|
|
@@ -159,7 +158,7 @@ const nameTranslateX = interpolate(
|
|
|
159
158
|
<div
|
|
160
159
|
style={{
|
|
161
160
|
position: "absolute",
|
|
162
|
-
top: "
|
|
161
|
+
top: "20%",
|
|
163
162
|
left: "50%",
|
|
164
163
|
transform: "translateX(-50%)",
|
|
165
164
|
width: 860,
|
|
@@ -170,7 +169,7 @@ const nameTranslateX = interpolate(
|
|
|
170
169
|
>
|
|
171
170
|
{/* BORDER */}
|
|
172
171
|
<Img
|
|
173
|
-
src=
|
|
172
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-border.webp"
|
|
174
173
|
style={{
|
|
175
174
|
position: "absolute",
|
|
176
175
|
inset: 0,
|
|
@@ -178,24 +177,25 @@ const nameTranslateX = interpolate(
|
|
|
178
177
|
height: "100%",
|
|
179
178
|
opacity: borderOpacity,
|
|
180
179
|
transform: `scale(${borderScale})`,
|
|
180
|
+
transformOrigin: "center",
|
|
181
181
|
zIndex: 1
|
|
182
182
|
}}
|
|
183
183
|
/>
|
|
184
184
|
|
|
185
|
-
{/* BRIDE PHOTO */}
|
|
186
185
|
<Img
|
|
187
186
|
src={firstPhoto}
|
|
188
187
|
style={{
|
|
189
188
|
position: "absolute",
|
|
190
189
|
inset: 0,
|
|
191
190
|
margin: "auto",
|
|
192
|
-
width: "72%",
|
|
193
|
-
height: "70%",
|
|
194
|
-
bottom: "15%",
|
|
195
191
|
objectFit: "cover",
|
|
196
192
|
borderRadius: "50%",
|
|
197
193
|
opacity: photoOpacity,
|
|
198
|
-
|
|
194
|
+
left: "52%",
|
|
195
|
+
top: "70%",
|
|
196
|
+
transform: `translate(-48%, -50%) scale(${photoScale})`,
|
|
197
|
+
width: "79%",
|
|
198
|
+
height: "79%",
|
|
199
199
|
}}
|
|
200
200
|
/>
|
|
201
201
|
</div>
|
|
@@ -205,10 +205,9 @@ const nameTranslateX = interpolate(
|
|
|
205
205
|
<div
|
|
206
206
|
style={{
|
|
207
207
|
position: "absolute",
|
|
208
|
-
top: "
|
|
208
|
+
top: "65%",
|
|
209
209
|
width: "100%",
|
|
210
210
|
textAlign: "center",
|
|
211
|
-
opacity: nameOpacity,
|
|
212
211
|
|
|
213
212
|
}}
|
|
214
213
|
>
|
|
@@ -241,7 +240,7 @@ const nameTranslateX = interpolate(
|
|
|
241
240
|
transform: `translateX(${emojiTranslateX}px)`,
|
|
242
241
|
}}
|
|
243
242
|
>
|
|
244
|
-
✨✨
|
|
243
|
+
✨✨
|
|
245
244
|
</div>
|
|
246
245
|
|
|
247
246
|
|
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
interpolate,
|
|
7
7
|
Easing,
|
|
8
8
|
Img,
|
|
9
|
-
staticFile,
|
|
10
9
|
} from "remotion";
|
|
11
10
|
import { HeartFlight28012026 } from "../Elements/HeartFlight28012026";
|
|
12
11
|
|
|
@@ -34,7 +33,7 @@ export const F28012026_04 = ({
|
|
|
34
33
|
const topBorderTranslate = interpolate(
|
|
35
34
|
frame,
|
|
36
35
|
[topBorderStart, topBorderStart + 20],
|
|
37
|
-
[-
|
|
36
|
+
[-30, 0], // slides DOWN from top
|
|
38
37
|
{
|
|
39
38
|
extrapolateRight: "clamp",
|
|
40
39
|
}
|
|
@@ -60,7 +59,7 @@ export const F28012026_04 = ({
|
|
|
60
59
|
extrapolateRight: "clamp",
|
|
61
60
|
});
|
|
62
61
|
|
|
63
|
-
const nameStart = fps *
|
|
62
|
+
const nameStart = fps * 1.5; // adjust timing if needed
|
|
64
63
|
|
|
65
64
|
const nameOpacity = interpolate(frame, [nameStart, nameStart + 20], [0, 1], {
|
|
66
65
|
extrapolateRight: "clamp",
|
|
@@ -68,44 +67,43 @@ export const F28012026_04 = ({
|
|
|
68
67
|
});
|
|
69
68
|
|
|
70
69
|
|
|
71
|
-
const nameTranslateX = interpolate(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
const nameTranslateX = interpolate(
|
|
71
|
+
frame,
|
|
72
|
+
[
|
|
73
|
+
nameStart,
|
|
74
|
+
nameStart + fps * 2,
|
|
75
|
+
nameStart + fps * 2.3,
|
|
76
|
+
],
|
|
77
|
+
[-600, 10, 0],
|
|
78
|
+
{
|
|
79
|
+
extrapolateLeft: "clamp",
|
|
80
|
+
extrapolateRight: "clamp",
|
|
81
|
+
easing: Easing.inOut(Easing.cubic),
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
const emojiStart = nameStart + fps * 1;
|
|
86
|
+
|
|
87
|
+
const emojiOpacity = interpolate(frame, [emojiStart, emojiStart + 20], [0, 1], {
|
|
81
88
|
extrapolateRight: "clamp",
|
|
82
|
-
easing: Easing.
|
|
83
|
-
}
|
|
84
|
-
);
|
|
89
|
+
easing: Easing.out(Easing.ease),
|
|
90
|
+
});
|
|
85
91
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
92
|
+
const emojiTranslateX = interpolate(
|
|
93
|
+
frame,
|
|
94
|
+
[
|
|
95
|
+
emojiStart,
|
|
96
|
+
emojiStart + fps * 2,
|
|
97
|
+
emojiStart + fps * 2.3,
|
|
98
|
+
],
|
|
99
|
+
[-600, 10, 0],
|
|
100
|
+
{
|
|
101
|
+
extrapolateLeft: "clamp",
|
|
89
102
|
extrapolateRight: "clamp",
|
|
90
|
-
easing: Easing.
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const emojiTranslateX = interpolate(
|
|
94
|
-
frame,
|
|
95
|
-
[
|
|
96
|
-
emojiStart,
|
|
97
|
-
emojiStart + fps * 2,
|
|
98
|
-
emojiStart + fps * 2.3,
|
|
99
|
-
],
|
|
100
|
-
[-600, 10, 0],
|
|
101
|
-
{
|
|
102
|
-
extrapolateLeft: "clamp",
|
|
103
|
-
extrapolateRight: "clamp",
|
|
104
|
-
easing: Easing.inOut(Easing.cubic),
|
|
105
|
-
}
|
|
106
|
-
);
|
|
103
|
+
easing: Easing.inOut(Easing.cubic),
|
|
104
|
+
}
|
|
105
|
+
);
|
|
107
106
|
|
|
108
|
-
|
|
109
107
|
const sideNoteStart = nameStart + fps * 1.5; // appears ~0.8s after name
|
|
110
108
|
|
|
111
109
|
const sideOpacity = interpolate(frame, [sideNoteStart, sideNoteStart + 20], [0, 1], {
|
|
@@ -113,20 +111,20 @@ const nameTranslateX = interpolate(
|
|
|
113
111
|
easing: Easing.out(Easing.ease),
|
|
114
112
|
});
|
|
115
113
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
114
|
+
const sideTranslateX = interpolate(
|
|
115
|
+
frame,
|
|
116
|
+
[
|
|
117
|
+
sideNoteStart,
|
|
118
|
+
sideNoteStart + fps * 2,
|
|
119
|
+
sideNoteStart + fps * 2.3,
|
|
120
|
+
],
|
|
121
|
+
[-600, 10, 0],
|
|
122
|
+
{
|
|
123
|
+
extrapolateLeft: "clamp",
|
|
124
|
+
extrapolateRight: "clamp",
|
|
125
|
+
easing: Easing.inOut(Easing.cubic),
|
|
126
|
+
}
|
|
127
|
+
);
|
|
130
128
|
|
|
131
129
|
|
|
132
130
|
return (
|
|
@@ -142,17 +140,17 @@ const nameTranslateX = interpolate(
|
|
|
142
140
|
style={{
|
|
143
141
|
position: "absolute",
|
|
144
142
|
top: 0,
|
|
145
|
-
left:
|
|
143
|
+
left: 0,
|
|
146
144
|
width: "100%",
|
|
147
145
|
display: "flex",
|
|
148
146
|
justifyContent: "center",
|
|
149
147
|
}}
|
|
150
148
|
>
|
|
151
149
|
<Img
|
|
152
|
-
src=
|
|
150
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-TopBorder.webp"
|
|
153
151
|
style={{
|
|
154
|
-
width: "
|
|
155
|
-
transform: `translateY(${topBorderTranslate}px)
|
|
152
|
+
width: "100%",
|
|
153
|
+
transform: `translateY(${topBorderTranslate}px) `,
|
|
156
154
|
opacity: topBorderOpacity,
|
|
157
155
|
}}
|
|
158
156
|
/>
|
|
@@ -162,7 +160,7 @@ const nameTranslateX = interpolate(
|
|
|
162
160
|
<div
|
|
163
161
|
style={{
|
|
164
162
|
position: "absolute",
|
|
165
|
-
top: "
|
|
163
|
+
top: "20%",
|
|
166
164
|
left: "50%",
|
|
167
165
|
transform: "translateX(-50%)",
|
|
168
166
|
width: 860,
|
|
@@ -173,7 +171,7 @@ const nameTranslateX = interpolate(
|
|
|
173
171
|
>
|
|
174
172
|
{/* BORDER */}
|
|
175
173
|
<Img
|
|
176
|
-
src=
|
|
174
|
+
src="https://evatril-images.s3.ap-south-1.amazonaws.com/video-themes/hindu-wedding-1/v1/28012026-border.webp"
|
|
177
175
|
style={{
|
|
178
176
|
position: "absolute",
|
|
179
177
|
inset: 0,
|
|
@@ -181,24 +179,25 @@ const nameTranslateX = interpolate(
|
|
|
181
179
|
height: "100%",
|
|
182
180
|
opacity: borderOpacity,
|
|
183
181
|
transform: `scale(${borderScale})`,
|
|
182
|
+
transformOrigin: "center",
|
|
184
183
|
zIndex: 1
|
|
185
184
|
}}
|
|
186
185
|
/>
|
|
187
186
|
|
|
188
|
-
{/* BRIDE PHOTO */}
|
|
189
187
|
<Img
|
|
190
188
|
src={secondPhoto}
|
|
191
189
|
style={{
|
|
192
190
|
position: "absolute",
|
|
193
191
|
inset: 0,
|
|
194
192
|
margin: "auto",
|
|
195
|
-
width: "72%",
|
|
196
|
-
height: "70%",
|
|
197
|
-
bottom: "15%",
|
|
198
193
|
objectFit: "cover",
|
|
199
194
|
borderRadius: "50%",
|
|
200
195
|
opacity: photoOpacity,
|
|
201
|
-
|
|
196
|
+
left: "52%",
|
|
197
|
+
top: "70%",
|
|
198
|
+
transform: `translate(-48%, -50%) scale(${photoScale})`,
|
|
199
|
+
width: "79%",
|
|
200
|
+
height: "79%",
|
|
202
201
|
}}
|
|
203
202
|
/>
|
|
204
203
|
</div>
|
|
@@ -208,10 +207,9 @@ const nameTranslateX = interpolate(
|
|
|
208
207
|
<div
|
|
209
208
|
style={{
|
|
210
209
|
position: "absolute",
|
|
211
|
-
top: "
|
|
210
|
+
top: "65%",
|
|
212
211
|
width: "100%",
|
|
213
212
|
textAlign: "center",
|
|
214
|
-
opacity: nameOpacity,
|
|
215
213
|
|
|
216
214
|
}}
|
|
217
215
|
>
|
|
@@ -225,7 +223,7 @@ const nameTranslateX = interpolate(
|
|
|
225
223
|
maxWidth: "80%",
|
|
226
224
|
lineHeight: "1.3",
|
|
227
225
|
fontWeight: "600",
|
|
228
|
-
|
|
226
|
+
opacity: nameOpacity,
|
|
229
227
|
transform: `translateX(${nameTranslateX}px)`,
|
|
230
228
|
}}
|
|
231
229
|
>
|
|
@@ -233,7 +231,7 @@ const nameTranslateX = interpolate(
|
|
|
233
231
|
|
|
234
232
|
</h1>
|
|
235
233
|
|
|
236
|
-
|
|
234
|
+
<div
|
|
237
235
|
style={{
|
|
238
236
|
display: "flex",
|
|
239
237
|
justifyContent: "center",
|
|
@@ -245,7 +243,7 @@ const nameTranslateX = interpolate(
|
|
|
245
243
|
transform: `translateX(${emojiTranslateX}px)`,
|
|
246
244
|
}}
|
|
247
245
|
>
|
|
248
|
-
|
|
246
|
+
✨ ✨
|
|
249
247
|
</div>
|
|
250
248
|
|
|
251
249
|
<div
|
|
@@ -266,9 +264,6 @@ const nameTranslateX = interpolate(
|
|
|
266
264
|
</div>
|
|
267
265
|
</div>
|
|
268
266
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
267
|
</AbsoluteFill>
|
|
273
268
|
);
|
|
274
269
|
};
|