@zync/zync-screnplay-player 0.1.187
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/ZyncScreenplayPlayer.js +35 -0
- package/dist/bundle.js +2 -0
- package/dist/bundle.js.LICENSE.txt +54 -0
- package/dist/index.js +4 -0
- package/dist/screenplay/RemotionRenderer/RemotionRenderer.js +281 -0
- package/dist/screenplay/RemotionRenderer/Root.js +22 -0
- package/dist/screenplay/RemotionRenderer/components/LottieAnimationGlobal.js +116 -0
- package/dist/screenplay/RemotionRenderer/components/backgrounds/VirtualBackground.js +26 -0
- package/dist/screenplay/RemotionRenderer/components/backgrounds/VirtualBackgroundUnderlay.js +41 -0
- package/dist/screenplay/RemotionRenderer/components/captions/CaptionSimple.js +12 -0
- package/dist/screenplay/RemotionRenderer/components/effects/BrollFullscreen.js +27 -0
- package/dist/screenplay/RemotionRenderer/components/effects/GlitchText.js +22 -0
- package/dist/screenplay/RemotionRenderer/components/effects/HandoffNametag.js +7 -0
- package/dist/screenplay/RemotionRenderer/components/effects/LottieAnimation.js +64 -0
- package/dist/screenplay/RemotionRenderer/components/effects/Nametag.js +9 -0
- package/dist/screenplay/RemotionRenderer/components/effects/PhraseRainbowEffect.js +34 -0
- package/dist/screenplay/RemotionRenderer/components/effects/Sentence.js +50 -0
- package/dist/screenplay/RemotionRenderer/components/effects/Title.js +12 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/BrollGreenScreen.js +742 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/BrollSplitScreen.js +714 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/BrollStudioBackdrop.js +620 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/DynamicTriangle.js +618 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/Handoff.js +161 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/IntroVideo.js +1330 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/KeyPointOverlayDepth.js +397 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/Keyword.js +539 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/KeywordStudioBackdrop.js +714 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/MotionStill.js +381 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillFullScreen.js +178 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillGreenScreen.js +568 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillGreenScreenV2.js +731 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillStudioBackdrop.js +588 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrame.js +183 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameBroll.js +181 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameSentence.js +17 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameZoomCut.js +13 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/TextWithVideo.js +373 -0
- package/dist/screenplay/RemotionRenderer/components/layouts/quote-bubble-animation.json +1 -0
- package/dist/screenplay/RemotionRenderer/components/utils/BlurOverlay.js +19 -0
- package/dist/screenplay/RemotionRenderer/components/utils/ChromaKeyedVideo.js +59 -0
- package/dist/screenplay/RemotionRenderer/components/utils/FaceCenteredVideo.js +562 -0
- package/dist/screenplay/RemotionRenderer/components/utils/PausableImg.js +124 -0
- package/dist/screenplay/RemotionRenderer/components/utils/README.md +80 -0
- package/dist/screenplay/RemotionRenderer/components/utils/SafeZones.js +69 -0
- package/dist/screenplay/RemotionRenderer/components/utils/StretchText.js +124 -0
- package/dist/screenplay/RemotionRenderer/components/utils/StretchTextDemo.js +66 -0
- package/dist/screenplay/RemotionRenderer/config.js +8 -0
- package/dist/screenplay/RemotionRenderer/development.js +1370 -0
- package/dist/screenplay/RemotionRenderer/helpers/cleanFacemetadata.js +29 -0
- package/dist/screenplay/RemotionRenderer/helpers/convertToSeconds.js +14 -0
- package/dist/screenplay/RemotionRenderer/helpers/faceBasedVideoStyles.js +212 -0
- package/dist/screenplay/RemotionRenderer/helpers/faceCenteredVideoTransforms.js +468 -0
- package/dist/screenplay/RemotionRenderer/helpers/getContrastColor.js +15 -0
- package/dist/screenplay/RemotionRenderer/helpers/getVideoOrientation.js +21 -0
- package/dist/screenplay/RemotionRenderer/helpers/hexToRgb.js +48 -0
- package/dist/screenplay/RemotionRenderer/hooks/useLottieReplaceColor.js +45 -0
- package/dist/screenplay/RemotionRenderer/hooks/useOrientationBased.js +29 -0
- package/dist/screenplay/RemotionRenderer/hooks/useTimeInterpolate.js +54 -0
- package/dist/screenplay/RemotionRenderer/hooks/useVirtualBackground.js +38 -0
- package/dist/screenplay/RemotionRenderer/index.js +3 -0
- package/dist/screenplay/RemotionRenderer/main/lib/Sequence.js +76 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/DefaultLayout.js +72 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/DynamicTriangleLayout.js +54 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/HandoffLayout.js +50 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/IntroVideoLayout.js +33 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/KeywordLayout.js +36 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/LayoutFactory.js +68 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/MotionStillLayout.js +36 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/SimpleFrameLayout.js +43 -0
- package/dist/screenplay/RemotionRenderer/main/lib/layouts/TextWithVideoLayout.js +52 -0
- package/dist/screenplay/RemotionRenderer/main/screenplaySchema.js +92 -0
- package/dist/screenplay/RemotionRenderer/registeredComponents.js +91 -0
- package/dist/screenplay/RemotionRenderer/theme/config.js +8 -0
- package/dist/screenplay/RemotionRenderer/theme/hooks/useTheme.js +24 -0
- package/dist/screenplay/RemotionRenderer/theme/hooks/useThemedComponents.js +101 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldNameTag.js +147 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldSentence.js +138 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldTitle.js +136 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColor.js +67 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColorInverse.js +67 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColorShadow.js +66 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionElegant.js +134 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionEmphasis.js +122 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionPunctuated.js +84 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordBoom.js +88 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordBubble.js +91 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordPopup.js +118 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/DefaultCaption.js +62 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/HandoffNametag/handoffNametagConfig.js +59 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/HandoffNametag.js +173 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Nametag.js +129 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/AnimatedSentence.js +20 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/AnimatedSentenceDefault.js +29 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/SentenceSimple.helpers.js +61 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence.js +86 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/Title.js +112 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/default/constants.js +1 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Nametag.js +134 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Sentence.js +49 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Title.js +108 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/animations.js +30 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/config.js +9 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchNametag.js +252 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchSentence.js +156 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchTitle.js +142 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/DisplacedText.js +66 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/GlitchAnimatedLine.js +38 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/SplitSentence.js +80 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/glitch/helpers.js +32 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/none/Nametag.js +3 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/none/Title.js +3 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullNametag.js +165 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullSentence.js +94 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullTitle.js +98 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/designs/sentence.js +92 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/designs/title.js +119 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sports/Nametag.js +122 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sports/SportsCaption.js +93 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sports/SportsSentence.js +76 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sports/Title.js +90 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sports/shared.js +62 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/Nametag.js +145 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/SportsBounceSentence.js +148 -0
- package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/Title.js +160 -0
- package/dist/screenplay/RemotionRenderer/tracks/AudioTrack.js +23 -0
- package/dist/screenplay/RemotionRenderer/tracks/CaptionsVideoTrack.js +23 -0
- package/dist/screenplay/RemotionRenderer/tracks/DynamicVideoComposition.js +31 -0
- package/dist/screenplay/RemotionRenderer/tracks/EffectsVideoTrack.js +23 -0
- package/dist/screenplay/RemotionRenderer/tracks/LayoutVideoTrack.js +141 -0
- package/dist/screenplay/RemotionRenderer/tracks/Soundtrack.js +16 -0
- package/dist/screenplay/RemotionRenderer/tracks/Watermark.js +23 -0
- package/dist/screenplay/RemotionRenderer/tracks/transitions/GlitchOne.js +92 -0
- package/package.json +45 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, useVideoConfig } from "remotion";
|
|
3
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
4
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
5
|
+
import { DEFAULT_TIME_INTERPOLATE_OPTIONS, useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
|
|
6
|
+
import { convertToSeconds } from "../../../helpers/convertToSeconds.js";
|
|
7
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
8
|
+
import { AnimatedLine } from "./shared";
|
|
9
|
+
var _loadFont = loadFont(),
|
|
10
|
+
fontFamily = _loadFont.fontFamily;
|
|
11
|
+
export var SportsTitle = function SportsTitle(_ref) {
|
|
12
|
+
var text = _ref.text;
|
|
13
|
+
var _useOrientationBased = useOrientationBased({
|
|
14
|
+
landscape: {
|
|
15
|
+
backdropHeightFactor: 0.6
|
|
16
|
+
},
|
|
17
|
+
portrait: {
|
|
18
|
+
backdropHeightFactor: 0.6
|
|
19
|
+
},
|
|
20
|
+
square: {
|
|
21
|
+
backdropHeightFactor: 0.4
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
backdropHeightFactor = _useOrientationBased.backdropHeightFactor;
|
|
25
|
+
var _useOrientationBased2 = useOrientationBased({
|
|
26
|
+
portrait: {
|
|
27
|
+
maxFontSize: 160,
|
|
28
|
+
backdropTop: "45%",
|
|
29
|
+
titleTop: "45%"
|
|
30
|
+
},
|
|
31
|
+
landscape: {
|
|
32
|
+
maxFontSize: 160,
|
|
33
|
+
backdropTop: "50%",
|
|
34
|
+
titleTop: "50%"
|
|
35
|
+
},
|
|
36
|
+
square: {
|
|
37
|
+
maxFontSize: 160,
|
|
38
|
+
backdropTop: "50%",
|
|
39
|
+
titleTop: "50%"
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
maxFontSize = _useOrientationBased2.maxFontSize,
|
|
43
|
+
backdropTop = _useOrientationBased2.backdropTop,
|
|
44
|
+
titleTop = _useOrientationBased2.titleTop;
|
|
45
|
+
var _useVideoConfig = useVideoConfig(),
|
|
46
|
+
height = _useVideoConfig.height,
|
|
47
|
+
width = _useVideoConfig.width;
|
|
48
|
+
var _distributeTextToFit = distributeTextToFit(text, width * 0.8, height * backdropHeightFactor, maxFontSize),
|
|
49
|
+
lines = _distributeTextToFit.lines,
|
|
50
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
51
|
+
var backdropAnimationStart = convertToSeconds(0, 0);
|
|
52
|
+
var backdropAnimationEnd = convertToSeconds(1, 0);
|
|
53
|
+
var backdropHeight = useTimeInterpolate([backdropAnimationStart, backdropAnimationEnd], [0, 100 * backdropHeightFactor], DEFAULT_TIME_INTERPOLATE_OPTIONS);
|
|
54
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
55
|
+
style: {
|
|
56
|
+
color: "white",
|
|
57
|
+
fontSize: fontSize,
|
|
58
|
+
fontFamily: fontFamily,
|
|
59
|
+
fontWeight: 800
|
|
60
|
+
}
|
|
61
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
style: {
|
|
63
|
+
position: "absolute",
|
|
64
|
+
width: "100%",
|
|
65
|
+
height: "".concat(backdropHeight, "%"),
|
|
66
|
+
left: "50%",
|
|
67
|
+
top: backdropTop,
|
|
68
|
+
transform: "translate(-50%, -50%)",
|
|
69
|
+
backdropFilter: "blur(10.6px)",
|
|
70
|
+
WebkitBackdropFilter: "blur(10.6px)"
|
|
71
|
+
}
|
|
72
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
style: {
|
|
74
|
+
position: "relative",
|
|
75
|
+
top: titleTop,
|
|
76
|
+
transform: "translateY(-50%)",
|
|
77
|
+
display: "flex",
|
|
78
|
+
flexDirection: "column",
|
|
79
|
+
alignItems: "center",
|
|
80
|
+
justifyContent: "center",
|
|
81
|
+
gap: 20
|
|
82
|
+
}
|
|
83
|
+
}, lines.map(function (line, index) {
|
|
84
|
+
return /*#__PURE__*/React.createElement(AnimatedLine, {
|
|
85
|
+
key: index,
|
|
86
|
+
text: line,
|
|
87
|
+
delayInSeconds: 0.15 * index
|
|
88
|
+
});
|
|
89
|
+
})));
|
|
90
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Easing } from "remotion";
|
|
3
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
4
|
+
import { convertToSeconds } from "../../../helpers/convertToSeconds.js";
|
|
5
|
+
import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
|
|
6
|
+
var backgroundPadding = 60;
|
|
7
|
+
export var INTERPOLATE_OPTIONS = {
|
|
8
|
+
extrapolateRight: "clamp",
|
|
9
|
+
extrapolateLeft: "clamp",
|
|
10
|
+
easing: Easing.bezier(0.42, 0.27, 0.14, 1.41)
|
|
11
|
+
};
|
|
12
|
+
export var AnimatedLine = function AnimatedLine(_ref) {
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
text = _ref.text,
|
|
15
|
+
fontSize = _ref.fontSize,
|
|
16
|
+
delayInSeconds = _ref.delayInSeconds;
|
|
17
|
+
var _useTheme = useTheme(),
|
|
18
|
+
primaryColor = _useTheme.primaryColor,
|
|
19
|
+
primaryContrast = _useTheme.primaryContrast;
|
|
20
|
+
var titleBackgroundAnimationStart = convertToSeconds(0, 18, delayInSeconds);
|
|
21
|
+
var titleBackgroundAnimationEnd = convertToSeconds(1, 10, delayInSeconds);
|
|
22
|
+
var titleBackgroundOpacity = useTimeInterpolate([titleBackgroundAnimationStart, titleBackgroundAnimationEnd], [0, 1]);
|
|
23
|
+
var titleBackgroundPosition = useTimeInterpolate([titleBackgroundAnimationStart, titleBackgroundAnimationEnd], [-150, 0], INTERPOLATE_OPTIONS);
|
|
24
|
+
var titleTextAnimationStart = convertToSeconds(0, 15, delayInSeconds);
|
|
25
|
+
var titleTextAnimationEnd = convertToSeconds(1, 10, delayInSeconds);
|
|
26
|
+
var titleTextOpacity = useTimeInterpolate([titleTextAnimationStart, titleTextAnimationEnd], [0, 1]);
|
|
27
|
+
var titleTextPosition = useTimeInterpolate([titleTextAnimationStart, titleTextAnimationEnd], [150, 0], INTERPOLATE_OPTIONS);
|
|
28
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
style: {
|
|
30
|
+
position: "relative",
|
|
31
|
+
height: "fit-content",
|
|
32
|
+
width: "fit-content",
|
|
33
|
+
padding: 0,
|
|
34
|
+
textAlign: "center",
|
|
35
|
+
display: "flex",
|
|
36
|
+
alignItems: "center",
|
|
37
|
+
justifyContent: "center"
|
|
38
|
+
}
|
|
39
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
style: {
|
|
41
|
+
position: "absolute",
|
|
42
|
+
width: "calc(100% + ".concat(backgroundPadding, "px)"),
|
|
43
|
+
left: -backgroundPadding / 2,
|
|
44
|
+
height: "100%",
|
|
45
|
+
backgroundColor: primaryColor,
|
|
46
|
+
textAlign: "center",
|
|
47
|
+
transform: "translateX(".concat(titleBackgroundPosition, "%)"),
|
|
48
|
+
opacity: titleBackgroundOpacity
|
|
49
|
+
}
|
|
50
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
51
|
+
style: {
|
|
52
|
+
position: "relative",
|
|
53
|
+
textAlign: "center",
|
|
54
|
+
lineHeight: 1.1,
|
|
55
|
+
textTransform: "uppercase",
|
|
56
|
+
transform: "translateX(".concat(titleTextPosition, "%)"),
|
|
57
|
+
opacity: titleTextOpacity,
|
|
58
|
+
color: primaryContrast,
|
|
59
|
+
fontSize: fontSize
|
|
60
|
+
}
|
|
61
|
+
}, children || text));
|
|
62
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, interpolate, spring, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
4
|
+
import { loadFont } from "@remotion/google-fonts/Montserrat";
|
|
5
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
6
|
+
import { getContrastColor } from "../../../helpers/getContrastColor";
|
|
7
|
+
var _loadFont = loadFont(),
|
|
8
|
+
fontFamily = _loadFont.fontFamily;
|
|
9
|
+
var IndividualLine = function IndividualLine(_ref) {
|
|
10
|
+
var text = _ref.text,
|
|
11
|
+
translateY = _ref.translateY,
|
|
12
|
+
scaleY = _ref.scaleY,
|
|
13
|
+
fontSize = _ref.fontSize,
|
|
14
|
+
color = _ref.color,
|
|
15
|
+
backgroundColor = _ref.backgroundColor,
|
|
16
|
+
fontW = _ref.fontW;
|
|
17
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
style: {
|
|
19
|
+
position: "relative",
|
|
20
|
+
padding: "20px",
|
|
21
|
+
fontSize: fontSize,
|
|
22
|
+
fontFamily: fontFamily,
|
|
23
|
+
fontWeight: fontW,
|
|
24
|
+
color: color,
|
|
25
|
+
whiteSpace: "nowrap",
|
|
26
|
+
transform: "translateY(".concat(translateY, "px) scaleY(").concat(scaleY, ")"),
|
|
27
|
+
textAlign: "right",
|
|
28
|
+
display: "inline-block"
|
|
29
|
+
}
|
|
30
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
style: {
|
|
32
|
+
position: "absolute",
|
|
33
|
+
top: 0,
|
|
34
|
+
right: 0,
|
|
35
|
+
zIndex: -1,
|
|
36
|
+
width: "100%",
|
|
37
|
+
height: "100%",
|
|
38
|
+
backgroundColor: backgroundColor
|
|
39
|
+
}
|
|
40
|
+
}), /*#__PURE__*/React.createElement("span", null, text));
|
|
41
|
+
};
|
|
42
|
+
export var SportsBounceNametag = function SportsBounceNametag(_ref2) {
|
|
43
|
+
var name = _ref2.name,
|
|
44
|
+
title = _ref2.title,
|
|
45
|
+
themeSettings = _ref2.themeSettings;
|
|
46
|
+
var _useOrientationBased = useOrientationBased({
|
|
47
|
+
landscape: {
|
|
48
|
+
alignItems: "start",
|
|
49
|
+
justifyContent: "center",
|
|
50
|
+
backdropHeightFactor: 0.3,
|
|
51
|
+
maxFontSize: 50,
|
|
52
|
+
nameFontSize: "63px",
|
|
53
|
+
titleFontSize: "39px"
|
|
54
|
+
},
|
|
55
|
+
portrait: {
|
|
56
|
+
alignItems: "start",
|
|
57
|
+
justifyContent: "start",
|
|
58
|
+
backdropHeightFactor: 0.6,
|
|
59
|
+
nameFontSize: "63px",
|
|
60
|
+
titleFontSize: "39px"
|
|
61
|
+
},
|
|
62
|
+
square: {
|
|
63
|
+
alignItems: "start",
|
|
64
|
+
justifyContent: "start",
|
|
65
|
+
backdropHeightFactor: 0.4,
|
|
66
|
+
nameFontSize: "63px",
|
|
67
|
+
titleFontSize: "39px"
|
|
68
|
+
}
|
|
69
|
+
}),
|
|
70
|
+
alignItems = _useOrientationBased.alignItems,
|
|
71
|
+
nameFontSize = _useOrientationBased.nameFontSize,
|
|
72
|
+
titleFontSize = _useOrientationBased.titleFontSize;
|
|
73
|
+
var frame = useCurrentFrame();
|
|
74
|
+
var _useVideoConfig = useVideoConfig(),
|
|
75
|
+
fps = _useVideoConfig.fps;
|
|
76
|
+
var delayFrames = 0.1 * fps + 0.3 * fps;
|
|
77
|
+
var bounceDurationFrames = 25;
|
|
78
|
+
var stayVisibleFrames = 1.5 * fps;
|
|
79
|
+
var initialPosition = -300;
|
|
80
|
+
var translateY = spring({
|
|
81
|
+
frame: Math.max(0, frame - delayFrames),
|
|
82
|
+
fps: fps,
|
|
83
|
+
from: initialPosition,
|
|
84
|
+
to: 0,
|
|
85
|
+
stiffness: 5000,
|
|
86
|
+
damping: 1.5,
|
|
87
|
+
durationInFrames: bounceDurationFrames
|
|
88
|
+
});
|
|
89
|
+
var scaleY = interpolate(translateY, [-800, -200, 0], [1.5, 1.2, 1], {
|
|
90
|
+
extrapolateRight: "clamp"
|
|
91
|
+
});
|
|
92
|
+
var disappearingFrames = Math.max(0, frame - (delayFrames + bounceDurationFrames + stayVisibleFrames));
|
|
93
|
+
var shakeDurationFrames = 15;
|
|
94
|
+
var shakeMagnitude = disappearingFrames < shakeDurationFrames ? Math.sin(disappearingFrames * 0.5) * 40 : 0;
|
|
95
|
+
var translateYDisappearing = spring({
|
|
96
|
+
frame: Math.max(0, disappearingFrames - shakeDurationFrames),
|
|
97
|
+
fps: fps,
|
|
98
|
+
from: 0,
|
|
99
|
+
to: -400,
|
|
100
|
+
stiffness: 500,
|
|
101
|
+
damping: 20,
|
|
102
|
+
durationInFrames: 20
|
|
103
|
+
});
|
|
104
|
+
var scaleYDisappearing = interpolate(Math.max(0, disappearingFrames - shakeDurationFrames), [0, 10, 30], [1, 2, 0.5], {
|
|
105
|
+
extrapolate: "clamp"
|
|
106
|
+
});
|
|
107
|
+
var finalTranslateY = disappearingFrames > 0 ? translateYDisappearing + shakeMagnitude : translateY;
|
|
108
|
+
var finalScaleY = disappearingFrames > 0 ? scaleYDisappearing : scaleY;
|
|
109
|
+
var _useTheme = useTheme(),
|
|
110
|
+
primaryColor = _useTheme.primaryColor,
|
|
111
|
+
primaryContrast = _useTheme.primaryContrast,
|
|
112
|
+
accentColor = _useTheme.accentColor,
|
|
113
|
+
accentContrast = _useTheme.accentContrast;
|
|
114
|
+
var nameBackgroundColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.primaryColor) || primaryColor;
|
|
115
|
+
var nameTextColor = getContrastColor(nameBackgroundColor);
|
|
116
|
+
var titleTextColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.secondaryColor) || accentColor;
|
|
117
|
+
var titleBackgroundColor = getContrastColor(titleTextColor);
|
|
118
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, null, /*#__PURE__*/React.createElement("div", {
|
|
119
|
+
style: {
|
|
120
|
+
position: "absolute",
|
|
121
|
+
bottom: "23%",
|
|
122
|
+
left: "5%",
|
|
123
|
+
display: "flex",
|
|
124
|
+
flexDirection: "column",
|
|
125
|
+
alignItems: alignItems,
|
|
126
|
+
overflow: "hidden"
|
|
127
|
+
}
|
|
128
|
+
}, /*#__PURE__*/React.createElement(IndividualLine, {
|
|
129
|
+
text: name,
|
|
130
|
+
fontSize: nameFontSize,
|
|
131
|
+
translateY: finalTranslateY / 2,
|
|
132
|
+
scaleY: finalScaleY,
|
|
133
|
+
fontW: "900",
|
|
134
|
+
color: nameTextColor,
|
|
135
|
+
backgroundColor: nameBackgroundColor
|
|
136
|
+
}), /*#__PURE__*/React.createElement(IndividualLine, {
|
|
137
|
+
text: title,
|
|
138
|
+
fontSize: titleFontSize,
|
|
139
|
+
translateY: -finalTranslateY / 2,
|
|
140
|
+
fontW: "600",
|
|
141
|
+
scaleY: finalScaleY,
|
|
142
|
+
color: titleTextColor,
|
|
143
|
+
backgroundColor: titleBackgroundColor
|
|
144
|
+
})));
|
|
145
|
+
};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, spring, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { loadFont } from "@remotion/google-fonts/Montserrat";
|
|
4
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
5
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
6
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
7
|
+
import { timeInterpolate } from "../../../hooks/useTimeInterpolate.js";
|
|
8
|
+
|
|
9
|
+
// Load custom font
|
|
10
|
+
var _loadFont = loadFont(),
|
|
11
|
+
fontFamily = _loadFont.fontFamily;
|
|
12
|
+
var IndividualLine = function IndividualLine(_ref) {
|
|
13
|
+
var text = _ref.text,
|
|
14
|
+
translateY = _ref.translateY,
|
|
15
|
+
scaleY = _ref.scaleY,
|
|
16
|
+
fontSize = _ref.fontSize,
|
|
17
|
+
color = _ref.color;
|
|
18
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
19
|
+
style: {
|
|
20
|
+
position: "absolute",
|
|
21
|
+
width: "fit-content",
|
|
22
|
+
height: "fit-content",
|
|
23
|
+
transform: "translateY(".concat(translateY, "px) scaleY(").concat(scaleY, ")"),
|
|
24
|
+
padding: "20px 50px",
|
|
25
|
+
backgroundColor: "#013654",
|
|
26
|
+
// Background applied here
|
|
27
|
+
textAlign: "center",
|
|
28
|
+
whiteSpace: "nowrap",
|
|
29
|
+
lineHeight: 1.2 // Line spacing for text
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
32
|
+
style: {
|
|
33
|
+
color: color,
|
|
34
|
+
// Text color
|
|
35
|
+
fontSize: fontSize,
|
|
36
|
+
fontFamily: fontFamily,
|
|
37
|
+
fontWeight: 600
|
|
38
|
+
}
|
|
39
|
+
}, text));
|
|
40
|
+
};
|
|
41
|
+
var NoBlurComponent = function NoBlurComponent(_ref2) {
|
|
42
|
+
var sentence = _ref2.sentence;
|
|
43
|
+
var frame = useCurrentFrame();
|
|
44
|
+
var _useVideoConfig = useVideoConfig(),
|
|
45
|
+
fps = _useVideoConfig.fps,
|
|
46
|
+
width = _useVideoConfig.width,
|
|
47
|
+
height = _useVideoConfig.height;
|
|
48
|
+
var _useTheme = useTheme(),
|
|
49
|
+
primaryContrast = _useTheme.primaryContrast;
|
|
50
|
+
|
|
51
|
+
// Orientation-based layout settings
|
|
52
|
+
var _useOrientationBased = useOrientationBased({
|
|
53
|
+
landscape: {
|
|
54
|
+
alignItems: "end",
|
|
55
|
+
backdropHeightFactor: 0.3,
|
|
56
|
+
maxFontSize: 50,
|
|
57
|
+
right: "5%"
|
|
58
|
+
},
|
|
59
|
+
portrait: {
|
|
60
|
+
alignItems: "end",
|
|
61
|
+
backdropHeightFactor: 0.4,
|
|
62
|
+
maxFontSize: 50,
|
|
63
|
+
right: 125
|
|
64
|
+
},
|
|
65
|
+
square: {
|
|
66
|
+
alignItems: "end",
|
|
67
|
+
backdropHeightFactor: 0.4,
|
|
68
|
+
maxFontSize: 50,
|
|
69
|
+
right: "5%"
|
|
70
|
+
}
|
|
71
|
+
}),
|
|
72
|
+
alignItems = _useOrientationBased.alignItems,
|
|
73
|
+
backdropHeightFactor = _useOrientationBased.backdropHeightFactor,
|
|
74
|
+
maxFontSize = _useOrientationBased.maxFontSize,
|
|
75
|
+
right = _useOrientationBased.right;
|
|
76
|
+
|
|
77
|
+
// Distribute text to fit the backdrop
|
|
78
|
+
var _distributeTextToFit = distributeTextToFit(sentence, width * backdropHeightFactor, height * backdropHeightFactor, maxFontSize),
|
|
79
|
+
lines = _distributeTextToFit.lines,
|
|
80
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
81
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, null, /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
style: {
|
|
83
|
+
position: "absolute",
|
|
84
|
+
top: "6%",
|
|
85
|
+
right: right,
|
|
86
|
+
display: "flex",
|
|
87
|
+
flexDirection: "column",
|
|
88
|
+
alignItems: alignItems
|
|
89
|
+
}
|
|
90
|
+
}, lines.map(function (line, index) {
|
|
91
|
+
var delayFrames = 0.1 * fps + index * 0.3 * fps;
|
|
92
|
+
var bounceDurationFrames = 15;
|
|
93
|
+
var stayVisibleFrames = 1.5 * fps;
|
|
94
|
+
var translateY = spring({
|
|
95
|
+
frame: Math.max(0, frame - delayFrames),
|
|
96
|
+
fps: fps,
|
|
97
|
+
from: index * 100 - 100,
|
|
98
|
+
to: index * 98,
|
|
99
|
+
stiffness: 200,
|
|
100
|
+
durationInFrames: bounceDurationFrames,
|
|
101
|
+
damping: 15
|
|
102
|
+
});
|
|
103
|
+
var scaleY = spring({
|
|
104
|
+
frame: Math.max(0, frame - delayFrames),
|
|
105
|
+
fps: fps,
|
|
106
|
+
from: 0,
|
|
107
|
+
to: 1,
|
|
108
|
+
stiffness: 3000,
|
|
109
|
+
damping: 10,
|
|
110
|
+
durationInFrames: bounceDurationFrames
|
|
111
|
+
});
|
|
112
|
+
var disappearingFrames = Math.max(0, frame - (delayFrames + bounceDurationFrames + stayVisibleFrames));
|
|
113
|
+
var shakeDurationFrames = 15;
|
|
114
|
+
var shakeMagnitude = disappearingFrames < shakeDurationFrames ? Math.sin(disappearingFrames * 1) * 40 : 0;
|
|
115
|
+
var translateYDisappearing = spring({
|
|
116
|
+
frame: Math.max(0, disappearingFrames - shakeDurationFrames),
|
|
117
|
+
fps: fps,
|
|
118
|
+
from: index * 100,
|
|
119
|
+
to: index * 100 - 500,
|
|
120
|
+
stiffness: 500,
|
|
121
|
+
damping: 20,
|
|
122
|
+
durationInFrames: 10
|
|
123
|
+
});
|
|
124
|
+
var scaleYDisappearing = timeInterpolate([0, 5, 15],
|
|
125
|
+
// Input time range (seconds)
|
|
126
|
+
[1, 1, 0],
|
|
127
|
+
// Output scale values
|
|
128
|
+
{
|
|
129
|
+
extrapolate: "clamp"
|
|
130
|
+
}, fps, frame);
|
|
131
|
+
var finalTranslateY = disappearingFrames > 0 ? translateYDisappearing + shakeMagnitude : translateY;
|
|
132
|
+
var finalScaleY = disappearingFrames > 0 ? scaleYDisappearing : scaleY;
|
|
133
|
+
return /*#__PURE__*/React.createElement(IndividualLine, {
|
|
134
|
+
key: index,
|
|
135
|
+
text: line,
|
|
136
|
+
fontSize: fontSize,
|
|
137
|
+
translateY: finalTranslateY,
|
|
138
|
+
scaleY: finalScaleY,
|
|
139
|
+
color: primaryContrast
|
|
140
|
+
});
|
|
141
|
+
})));
|
|
142
|
+
};
|
|
143
|
+
export var SportsBounceSentence = function SportsBounceSentence(_ref3) {
|
|
144
|
+
var sentence = _ref3.sentence;
|
|
145
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, null, /*#__PURE__*/React.createElement(NoBlurComponent, {
|
|
146
|
+
sentence: sentence
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, Easing, spring, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
4
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
5
|
+
import { timeInterpolate } from "../../../hooks/useTimeInterpolate.js";
|
|
6
|
+
import { CameraMotionBlur } from "@remotion/motion-blur";
|
|
7
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
8
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
9
|
+
var _loadFont = loadFont(),
|
|
10
|
+
fontFamily = _loadFont.fontFamily;
|
|
11
|
+
var NoBlurSportsBounceTitle = function NoBlurSportsBounceTitle(_ref) {
|
|
12
|
+
var text = _ref.text;
|
|
13
|
+
var _useOrientationBased = useOrientationBased({
|
|
14
|
+
landscape: {
|
|
15
|
+
backdropHeightFactor: 0.6
|
|
16
|
+
},
|
|
17
|
+
portrait: {
|
|
18
|
+
backdropHeightFactor: 0.4
|
|
19
|
+
},
|
|
20
|
+
square: {
|
|
21
|
+
backdropHeightFactor: 0.4
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
backdropHeightFactor = _useOrientationBased.backdropHeightFactor;
|
|
25
|
+
var _useOrientationBased2 = useOrientationBased({
|
|
26
|
+
portrait: {
|
|
27
|
+
maxFontSize: 160
|
|
28
|
+
},
|
|
29
|
+
landscape: {
|
|
30
|
+
maxFontSize: 160
|
|
31
|
+
},
|
|
32
|
+
square: {
|
|
33
|
+
maxFontSize: 160
|
|
34
|
+
}
|
|
35
|
+
}),
|
|
36
|
+
maxFontSize = _useOrientationBased2.maxFontSize;
|
|
37
|
+
var _useVideoConfig = useVideoConfig(),
|
|
38
|
+
height = _useVideoConfig.height,
|
|
39
|
+
width = _useVideoConfig.width;
|
|
40
|
+
var _distributeTextToFit = distributeTextToFit(text, width * 0.8, height * backdropHeightFactor, maxFontSize),
|
|
41
|
+
lines = _distributeTextToFit.lines,
|
|
42
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
43
|
+
var _useTheme = useTheme(),
|
|
44
|
+
primaryColor = _useTheme.primaryColor,
|
|
45
|
+
primaryContrast = _useTheme.primaryContrast;
|
|
46
|
+
|
|
47
|
+
//PushPullTitle Effect Bounce
|
|
48
|
+
var frame = useCurrentFrame();
|
|
49
|
+
var _useVideoConfig2 = useVideoConfig(),
|
|
50
|
+
fps = _useVideoConfig2.fps;
|
|
51
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
52
|
+
style: {
|
|
53
|
+
color: "white",
|
|
54
|
+
fontSize: fontSize,
|
|
55
|
+
fontFamily: fontFamily,
|
|
56
|
+
fontWeight: 800
|
|
57
|
+
}
|
|
58
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
style: {
|
|
60
|
+
position: "relative",
|
|
61
|
+
top: "50%",
|
|
62
|
+
transform: "translateY(-50%)",
|
|
63
|
+
display: "flex",
|
|
64
|
+
flexDirection: "column",
|
|
65
|
+
alignItems: "center",
|
|
66
|
+
justifyContent: "center"
|
|
67
|
+
}
|
|
68
|
+
}, lines.map(function (line, index) {
|
|
69
|
+
var delayTimeInSeconds = (lines.length - index + 1) * 0.2;
|
|
70
|
+
var delayTimeInFrames = delayTimeInSeconds * fps;
|
|
71
|
+
var animationStartFrame = frame - 50 + delayTimeInFrames;
|
|
72
|
+
|
|
73
|
+
// Main spring for rotation
|
|
74
|
+
var titleRotation = spring({
|
|
75
|
+
frame: animationStartFrame,
|
|
76
|
+
fps: fps,
|
|
77
|
+
from: 30,
|
|
78
|
+
to: 0,
|
|
79
|
+
stiffness: 2000,
|
|
80
|
+
damping: 3,
|
|
81
|
+
mass: 4,
|
|
82
|
+
durationInFrames: 15
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// Main spring for scale
|
|
86
|
+
var titleScale = spring({
|
|
87
|
+
frame: animationStartFrame,
|
|
88
|
+
fps: fps,
|
|
89
|
+
from: 0,
|
|
90
|
+
to: 100,
|
|
91
|
+
stiffness: 2500,
|
|
92
|
+
// High stiffness for quick response
|
|
93
|
+
damping: 8,
|
|
94
|
+
// Moderate damping for bounce effect
|
|
95
|
+
mass: 0.8,
|
|
96
|
+
durationInFrames: 15 // Adjust mass for oscillation
|
|
97
|
+
});
|
|
98
|
+
var finalTitleScale = titleScale;
|
|
99
|
+
var perspectiveDelayInFrames = 0.9 * fps;
|
|
100
|
+
var perspectiveStartFrame = animationStartFrame - perspectiveDelayInFrames - delayTimeInFrames;
|
|
101
|
+
|
|
102
|
+
// Spring for the title perspective (skewX)
|
|
103
|
+
var titlePerspective = spring({
|
|
104
|
+
frame: perspectiveStartFrame,
|
|
105
|
+
fps: fps,
|
|
106
|
+
from: 0,
|
|
107
|
+
to: 30,
|
|
108
|
+
stiffness: 3000,
|
|
109
|
+
damping: 5,
|
|
110
|
+
mass: 1
|
|
111
|
+
});
|
|
112
|
+
var perspectiveTime = (perspectiveDelayInFrames + 50) / fps;
|
|
113
|
+
var titlePerspectiveX = timeInterpolate([perspectiveTime, perspectiveTime + 0.2], [0, 300], {
|
|
114
|
+
easing: Easing.out(Easing.cubic),
|
|
115
|
+
extrapolateRight: "clamp",
|
|
116
|
+
extrapolateLeft: "clamp"
|
|
117
|
+
}, fps, frame);
|
|
118
|
+
var titleDisappearStartFrame = perspectiveStartFrame - 10;
|
|
119
|
+
var disappearStartTime = (frame + titleDisappearStartFrame) / fps;
|
|
120
|
+
var titleDisappear = timeInterpolate([disappearStartTime, disappearStartTime + 0.2], [3000, 0], {
|
|
121
|
+
easing: Easing.out(Easing.cubic),
|
|
122
|
+
extrapolateRight: "clamp",
|
|
123
|
+
extrapolateLeft: "clamp"
|
|
124
|
+
}, fps, frame);
|
|
125
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
key: index,
|
|
127
|
+
style: {
|
|
128
|
+
position: "relative",
|
|
129
|
+
height: "fit-content",
|
|
130
|
+
width: "fit-content",
|
|
131
|
+
padding: "0 50px 0 50px",
|
|
132
|
+
textAlign: "center",
|
|
133
|
+
display: "flex",
|
|
134
|
+
alignItems: "center",
|
|
135
|
+
justifyContent: "center"
|
|
136
|
+
}
|
|
137
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
138
|
+
style: {
|
|
139
|
+
position: "relative",
|
|
140
|
+
backgroundColor: primaryColor,
|
|
141
|
+
padding: "0 50px 0 50px",
|
|
142
|
+
textAlign: "center",
|
|
143
|
+
lineHeight: 1.4,
|
|
144
|
+
textTransform: "uppercase",
|
|
145
|
+
transform: index % 2 === 0 ? "rotate(".concat(-titleRotation, "deg) scale(").concat(finalTitleScale, "%) skewX(").concat(titlePerspective, "deg) translateX(").concat(titleDisappear - titlePerspectiveX, "px)") : "rotate(".concat(titleRotation, "deg) scale(").concat(finalTitleScale, "%) skewX(").concat(-titlePerspective, "deg) translateX(").concat(-titleDisappear + titlePerspectiveX, "px)"),
|
|
146
|
+
color: primaryContrast,
|
|
147
|
+
fontSize: fontSize
|
|
148
|
+
}
|
|
149
|
+
}, line));
|
|
150
|
+
})));
|
|
151
|
+
};
|
|
152
|
+
export var SportsBounceTitle = function SportsBounceTitle(_ref2) {
|
|
153
|
+
var text = _ref2.text;
|
|
154
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, null, /*#__PURE__*/React.createElement(CameraMotionBlur, {
|
|
155
|
+
shutterAngle: 360,
|
|
156
|
+
samples: 5
|
|
157
|
+
}, /*#__PURE__*/React.createElement(NoBlurSportsBounceTitle, {
|
|
158
|
+
text: text
|
|
159
|
+
})));
|
|
160
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var _excluded = ["component"];
|
|
2
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
3
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
|
+
import { RegisteredComponents } from "../registeredComponents.js";
|
|
5
|
+
import { Sequence } from "remotion";
|
|
6
|
+
import React from "react";
|
|
7
|
+
export var AudioTrack = function AudioTrack(_ref) {
|
|
8
|
+
var track = _ref.track;
|
|
9
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, track.map(function (_ref2, index) {
|
|
10
|
+
var component = _ref2.component,
|
|
11
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded);
|
|
12
|
+
var ComponentToRender = RegisteredComponents[component];
|
|
13
|
+
if (!ComponentToRender) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return /*#__PURE__*/React.createElement(Sequence, {
|
|
17
|
+
name: "Audio - " + component,
|
|
18
|
+
key: index,
|
|
19
|
+
from: otherProps.from,
|
|
20
|
+
durationInFrames: otherProps.durationInFrames
|
|
21
|
+
}, /*#__PURE__*/React.createElement(ComponentToRender, otherProps));
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var _excluded = ["component"];
|
|
2
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
3
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
|
+
import { RegisteredComponents } from "../registeredComponents.js";
|
|
5
|
+
import { Sequence } from "remotion";
|
|
6
|
+
import React from "react";
|
|
7
|
+
export var CaptionsVideoTrack = function CaptionsVideoTrack(_ref) {
|
|
8
|
+
var track = _ref.track;
|
|
9
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, track.map(function (_ref2, index) {
|
|
10
|
+
var component = _ref2.component,
|
|
11
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded);
|
|
12
|
+
var ComponentToRender = RegisteredComponents[component];
|
|
13
|
+
if (!ComponentToRender) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return /*#__PURE__*/React.createElement(Sequence, {
|
|
17
|
+
name: "Captions",
|
|
18
|
+
key: index,
|
|
19
|
+
from: otherProps.from,
|
|
20
|
+
durationInFrames: otherProps.durationInFrames
|
|
21
|
+
}, /*#__PURE__*/React.createElement(ComponentToRender, otherProps));
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill } from "remotion";
|
|
3
|
+
import { LayoutVideoTrack } from "./LayoutVideoTrack";
|
|
4
|
+
import { EffectsVideoTrack } from "./EffectsVideoTrack";
|
|
5
|
+
import { CaptionsVideoTrack } from "./CaptionsVideoTrack";
|
|
6
|
+
import { AudioTrack } from "./AudioTrack";
|
|
7
|
+
var DynamicVideoCompositionComponent = function DynamicVideoCompositionComponent(props) {
|
|
8
|
+
var layoutVideoTrack = (props === null || props === void 0 ? void 0 : props.layoutVideoTrack) || [];
|
|
9
|
+
var effectsVideoTrack = (props === null || props === void 0 ? void 0 : props.effectsVideoTrack) || [];
|
|
10
|
+
var captionsVideoTrack = (props === null || props === void 0 ? void 0 : props.captionsVideoTrack) || [];
|
|
11
|
+
var audioTrack = (props === null || props === void 0 ? void 0 : props.audioTrack) || [];
|
|
12
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
13
|
+
style: {
|
|
14
|
+
backgroundColor: props.output.backgroundColor
|
|
15
|
+
}
|
|
16
|
+
}, /*#__PURE__*/React.createElement(LayoutVideoTrack, {
|
|
17
|
+
track: layoutVideoTrack
|
|
18
|
+
}), /*#__PURE__*/React.createElement(EffectsVideoTrack, {
|
|
19
|
+
track: effectsVideoTrack
|
|
20
|
+
}), /*#__PURE__*/React.createElement(CaptionsVideoTrack, {
|
|
21
|
+
track: captionsVideoTrack
|
|
22
|
+
}), /*#__PURE__*/React.createElement(AudioTrack, {
|
|
23
|
+
track: audioTrack
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
export var DynamicVideoComposition = function DynamicVideoComposition(props) {
|
|
27
|
+
if (props) {
|
|
28
|
+
window.screenplayProps = props;
|
|
29
|
+
}
|
|
30
|
+
return /*#__PURE__*/React.createElement(DynamicVideoCompositionComponent, props);
|
|
31
|
+
};
|