@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,98 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
9
|
+
import { AbsoluteFill, useVideoConfig } from "remotion";
|
|
10
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
11
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
12
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
13
|
+
import { hexToRgbHtml } from "../../../helpers/hexToRgb.js";
|
|
14
|
+
import { HangFromTop, PushUpAndSlide, RotateGrow, SlideAndPushByGrow } from "./designs/title";
|
|
15
|
+
import { CameraMotionBlur } from "@remotion/motion-blur";
|
|
16
|
+
var _loadFont = loadFont(),
|
|
17
|
+
fontFamily = _loadFont.fontFamily;
|
|
18
|
+
var effects = [PushUpAndSlide, SlideAndPushByGrow, RotateGrow, HangFromTop, PushUpAndSlide, SlideAndPushByGrow, RotateGrow, HangFromTop, PushUpAndSlide, SlideAndPushByGrow, RotateGrow, HangFromTop];
|
|
19
|
+
var effectsTimings = [[0, 0.25, 0.75, 0.9], [0.7, 0.9, 1.25, 1.5], [1.25, 1.5], [2, 4.5], [2.5, 2.75, 3.25, 3.4], [3.2, 3.4, 3.75, 4.0], [3.75, 4.0], [4.0, 7.0], [5, 5.25, 5.75, 5.9], [5.7, 5.9, 6.35, 6.6], [6.25, 6.5], [6.0, 8.5]];
|
|
20
|
+
export var PushPullTitleEffect = function PushPullTitleEffect(_ref) {
|
|
21
|
+
var text = _ref.text;
|
|
22
|
+
var _useOrientationBased = useOrientationBased({
|
|
23
|
+
portrait: {
|
|
24
|
+
top: 125,
|
|
25
|
+
right: 140,
|
|
26
|
+
width: 900,
|
|
27
|
+
maxFontSize: 200
|
|
28
|
+
},
|
|
29
|
+
landscape: {
|
|
30
|
+
top: 75,
|
|
31
|
+
right: 75,
|
|
32
|
+
width: 1550,
|
|
33
|
+
maxFontSize: 200
|
|
34
|
+
},
|
|
35
|
+
square: {
|
|
36
|
+
top: 75,
|
|
37
|
+
right: 75,
|
|
38
|
+
width: 700,
|
|
39
|
+
maxFontSize: 200
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
top = _useOrientationBased.top,
|
|
43
|
+
right = _useOrientationBased.right,
|
|
44
|
+
width = _useOrientationBased.width,
|
|
45
|
+
maxFontSize = _useOrientationBased.maxFontSize;
|
|
46
|
+
var _useVideoConfig = useVideoConfig(),
|
|
47
|
+
height = _useVideoConfig.height;
|
|
48
|
+
var _distributeTextToFit = distributeTextToFit(text, width, height, maxFontSize),
|
|
49
|
+
lines = _distributeTextToFit.lines,
|
|
50
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
51
|
+
var _useTheme = useTheme(),
|
|
52
|
+
primaryContrast = _useTheme.primaryContrast,
|
|
53
|
+
accentContrast = _useTheme.accentContrast;
|
|
54
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
55
|
+
style: {
|
|
56
|
+
display: "grid",
|
|
57
|
+
placeContent: "center"
|
|
58
|
+
}
|
|
59
|
+
}, /*#__PURE__*/React.createElement("div", null, lines.map(function (line, index) {
|
|
60
|
+
var Effect = effects[index];
|
|
61
|
+
var _effectsTimings$index = _slicedToArray(effectsTimings[index], 4),
|
|
62
|
+
from1 = _effectsTimings$index[0],
|
|
63
|
+
to1 = _effectsTimings$index[1],
|
|
64
|
+
from2 = _effectsTimings$index[2],
|
|
65
|
+
to2 = _effectsTimings$index[3];
|
|
66
|
+
return /*#__PURE__*/React.createElement(Effect, {
|
|
67
|
+
key: index,
|
|
68
|
+
from1: from1,
|
|
69
|
+
to1: to1,
|
|
70
|
+
from2: from2,
|
|
71
|
+
to2: to2
|
|
72
|
+
}, /*#__PURE__*/React.createElement("h1", {
|
|
73
|
+
key: index,
|
|
74
|
+
style: {
|
|
75
|
+
fontSize: fontSize,
|
|
76
|
+
fontWeight: 900,
|
|
77
|
+
color: primaryContrast,
|
|
78
|
+
textShadow: "4px 4px 0px ".concat(hexToRgbHtml(accentContrast, 0.5)),
|
|
79
|
+
fontFamily: fontFamily,
|
|
80
|
+
padding: 0,
|
|
81
|
+
margin: 0,
|
|
82
|
+
lineHeight: "".concat(fontSize * 2.75 / 4, "px"),
|
|
83
|
+
textWrap: "nowrap",
|
|
84
|
+
textTransform: "uppercase",
|
|
85
|
+
textAlign: "center"
|
|
86
|
+
}
|
|
87
|
+
}, line));
|
|
88
|
+
})));
|
|
89
|
+
};
|
|
90
|
+
export var PushPullTitle = function PushPullTitle(_ref2) {
|
|
91
|
+
var text = _ref2.text;
|
|
92
|
+
return /*#__PURE__*/React.createElement(CameraMotionBlur, {
|
|
93
|
+
shutterAngle: 180,
|
|
94
|
+
samples: 5
|
|
95
|
+
}, /*#__PURE__*/React.createElement(PushPullTitleEffect, {
|
|
96
|
+
text: text
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { AbsoluteFill, Easing, useVideoConfig } from "remotion";
|
|
9
|
+
import { useTimeInterpolate } from "../../../../hooks/useTimeInterpolate.js";
|
|
10
|
+
export var SlideFromTop = function SlideFromTop(_ref) {
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
from = _ref.from,
|
|
13
|
+
to = _ref.to;
|
|
14
|
+
var _useVideoConfig = useVideoConfig(),
|
|
15
|
+
height = _useVideoConfig.height;
|
|
16
|
+
var translateY = useTimeInterpolate([from, to], [-height * 2, 0], {
|
|
17
|
+
extrapolateRight: "clamp",
|
|
18
|
+
extrapolateLeft: "clamp",
|
|
19
|
+
easing: Easing["in"](Easing.quad)
|
|
20
|
+
});
|
|
21
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
22
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
23
|
+
transform: "translateY(".concat(translateY, "px)")
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
export var SlideFromRight = function SlideFromRight(_ref2) {
|
|
28
|
+
var children = _ref2.children,
|
|
29
|
+
from = _ref2.from,
|
|
30
|
+
to = _ref2.to;
|
|
31
|
+
var _useVideoConfig2 = useVideoConfig(),
|
|
32
|
+
width = _useVideoConfig2.width;
|
|
33
|
+
var translateX = useTimeInterpolate([from, to], [width * 2, 0], {
|
|
34
|
+
extrapolateRight: "clamp",
|
|
35
|
+
extrapolateLeft: "clamp",
|
|
36
|
+
easing: Easing["in"](Easing.quad)
|
|
37
|
+
});
|
|
38
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
39
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
40
|
+
transform: "translateX(".concat(translateX, "px)")
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
export var SlideFromLeft = function SlideFromLeft(_ref3) {
|
|
45
|
+
var children = _ref3.children,
|
|
46
|
+
from = _ref3.from,
|
|
47
|
+
to = _ref3.to;
|
|
48
|
+
var _useVideoConfig3 = useVideoConfig(),
|
|
49
|
+
width = _useVideoConfig3.width;
|
|
50
|
+
var translateX = useTimeInterpolate([from, to], [-width * 2, 0], {
|
|
51
|
+
extrapolateRight: "clamp",
|
|
52
|
+
extrapolateLeft: "clamp",
|
|
53
|
+
easing: Easing["in"](Easing.quad)
|
|
54
|
+
});
|
|
55
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
56
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
57
|
+
transform: "translateX(".concat(translateX, "px)")
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
export var SlideFromBottom = function SlideFromBottom(_ref4) {
|
|
62
|
+
var children = _ref4.children,
|
|
63
|
+
from = _ref4.from,
|
|
64
|
+
to = _ref4.to;
|
|
65
|
+
var _useVideoConfig4 = useVideoConfig(),
|
|
66
|
+
height = _useVideoConfig4.height;
|
|
67
|
+
var translateY = useTimeInterpolate([from, to], [height * 2, 0], {
|
|
68
|
+
extrapolateRight: "clamp",
|
|
69
|
+
extrapolateLeft: "clamp",
|
|
70
|
+
easing: Easing["in"](Easing.quad)
|
|
71
|
+
});
|
|
72
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
73
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
74
|
+
transform: "translateY(".concat(translateY, "px)")
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
export var PushToTop = function PushToTop(_ref5) {
|
|
79
|
+
var children = _ref5.children,
|
|
80
|
+
from = _ref5.from,
|
|
81
|
+
to = _ref5.to;
|
|
82
|
+
var translateY = useTimeInterpolate([from, to], [200, 0], {
|
|
83
|
+
extrapolateRight: "clamp",
|
|
84
|
+
extrapolateLeft: "clamp",
|
|
85
|
+
easing: Easing["in"](Easing.quad)
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
88
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
89
|
+
transform: "translateY(".concat(translateY, "px)")
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { Easing, spring, useCurrentFrame, useVideoConfig } from "remotion";
|
|
8
|
+
import { useTimeInterpolate } from "../../../../hooks/useTimeInterpolate.js";
|
|
9
|
+
import React from "react";
|
|
10
|
+
var Y_OFFSET = 115;
|
|
11
|
+
var LINE_GROW_OFFSET = Y_OFFSET / 2;
|
|
12
|
+
export var PushUpAndSlide = function PushUpAndSlide(_ref) {
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
from1 = _ref.from1,
|
|
15
|
+
to1 = _ref.to1,
|
|
16
|
+
from2 = _ref.from2,
|
|
17
|
+
to2 = _ref.to2;
|
|
18
|
+
var _useVideoConfig = useVideoConfig(),
|
|
19
|
+
width = _useVideoConfig.width,
|
|
20
|
+
fps = _useVideoConfig.fps;
|
|
21
|
+
var frame = useCurrentFrame();
|
|
22
|
+
var translateX = spring({
|
|
23
|
+
frame: frame,
|
|
24
|
+
fps: fps,
|
|
25
|
+
from: width * 2,
|
|
26
|
+
to: 0,
|
|
27
|
+
delay: from1 * fps,
|
|
28
|
+
duration: (to1 - from1) * fps,
|
|
29
|
+
config: {
|
|
30
|
+
stiffness: 200,
|
|
31
|
+
damping: 20,
|
|
32
|
+
mass: 0.75
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var translateY = useTimeInterpolate([from2, to2], [Y_OFFSET, 0], {
|
|
36
|
+
extrapolateRight: "clamp",
|
|
37
|
+
extrapolateLeft: "clamp",
|
|
38
|
+
easing: Easing["in"](Easing.quad)
|
|
39
|
+
});
|
|
40
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
41
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
42
|
+
transform: "translate(".concat(translateX, "px, ").concat(translateY, "px)")
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export var SlideAndPushByGrow = function SlideAndPushByGrow(_ref2) {
|
|
47
|
+
var children = _ref2.children,
|
|
48
|
+
from1 = _ref2.from1,
|
|
49
|
+
to1 = _ref2.to1,
|
|
50
|
+
from2 = _ref2.from2,
|
|
51
|
+
to2 = _ref2.to2;
|
|
52
|
+
var _useVideoConfig2 = useVideoConfig(),
|
|
53
|
+
width = _useVideoConfig2.width,
|
|
54
|
+
height = _useVideoConfig2.height,
|
|
55
|
+
fps = _useVideoConfig2.fps;
|
|
56
|
+
var frame = useCurrentFrame();
|
|
57
|
+
var translateYIn = useTimeInterpolate([from1, to1], [height * 2, LINE_GROW_OFFSET], {
|
|
58
|
+
extrapolateRight: "clamp",
|
|
59
|
+
extrapolateLeft: "clamp",
|
|
60
|
+
easing: Easing["in"](Easing.quad)
|
|
61
|
+
});
|
|
62
|
+
var translateYGrow = useTimeInterpolate([from2, to2], [LINE_GROW_OFFSET, 0], {
|
|
63
|
+
extrapolateRight: "clamp",
|
|
64
|
+
extrapolateLeft: "clamp",
|
|
65
|
+
easing: Easing["in"](Easing.quad)
|
|
66
|
+
});
|
|
67
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
68
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
69
|
+
transform: "translateY( ".concat(translateYIn !== LINE_GROW_OFFSET ? translateYIn : translateYGrow, "px)")
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
export var RotateGrow = function RotateGrow(_ref3) {
|
|
74
|
+
var children = _ref3.children,
|
|
75
|
+
from1 = _ref3.from1,
|
|
76
|
+
to1 = _ref3.to1;
|
|
77
|
+
var rotateX = useTimeInterpolate([from1, to1], [90, 0], {
|
|
78
|
+
extrapolateRight: "clamp",
|
|
79
|
+
extrapolateLeft: "clamp",
|
|
80
|
+
easing: Easing["in"](Easing.quad)
|
|
81
|
+
});
|
|
82
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
83
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
84
|
+
transform: "rotateX(".concat(rotateX, "deg)")
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
export var HangFromTop = function HangFromTop(_ref4) {
|
|
89
|
+
var children = _ref4.children,
|
|
90
|
+
from1 = _ref4.from1,
|
|
91
|
+
to1 = _ref4.to1;
|
|
92
|
+
var frame = useCurrentFrame();
|
|
93
|
+
var _useVideoConfig3 = useVideoConfig(),
|
|
94
|
+
fps = _useVideoConfig3.fps;
|
|
95
|
+
var opacity = useTimeInterpolate([from1, from1 + 1 / 24], [0, 1], {
|
|
96
|
+
extrapolateRight: "clamp",
|
|
97
|
+
extrapolateLeft: "clamp"
|
|
98
|
+
});
|
|
99
|
+
var rotateX = spring({
|
|
100
|
+
frame: frame,
|
|
101
|
+
fps: fps,
|
|
102
|
+
from: 135,
|
|
103
|
+
to: 0,
|
|
104
|
+
delay: from1 * fps,
|
|
105
|
+
durationInFrames: to1 * fps - from1 * fps,
|
|
106
|
+
config: {
|
|
107
|
+
stiffness: 250,
|
|
108
|
+
damping: 30,
|
|
109
|
+
mass: 15
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
113
|
+
style: _objectSpread(_objectSpread({}, children.props.style), {}, {
|
|
114
|
+
opacity: opacity,
|
|
115
|
+
transformOrigin: "top center",
|
|
116
|
+
transform: "rotateX(".concat(rotateX, "deg)")
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, Easing } from "remotion";
|
|
3
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
4
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
5
|
+
import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
|
|
6
|
+
import { LottieAnimation } from "../../../components/effects/LottieAnimation";
|
|
7
|
+
import { convertToSeconds } from "../../../helpers/convertToSeconds.js";
|
|
8
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
9
|
+
import { getContrastColor } from "../../../helpers/getContrastColor";
|
|
10
|
+
var _loadFont = loadFont(),
|
|
11
|
+
fontFamily = _loadFont.fontFamily;
|
|
12
|
+
export var SportsNametag = function SportsNametag(_ref) {
|
|
13
|
+
var name = _ref.name,
|
|
14
|
+
title = _ref.title,
|
|
15
|
+
themeSettings = _ref.themeSettings;
|
|
16
|
+
var _useOrientationBased = useOrientationBased({
|
|
17
|
+
landscape: {
|
|
18
|
+
containerBottomOffset: -75,
|
|
19
|
+
nameStyles: {
|
|
20
|
+
bottom: 185,
|
|
21
|
+
left: 140,
|
|
22
|
+
fontSize: 55
|
|
23
|
+
},
|
|
24
|
+
titleStyles: {
|
|
25
|
+
bottom: 130,
|
|
26
|
+
left: 140,
|
|
27
|
+
fontSize: 42
|
|
28
|
+
},
|
|
29
|
+
lottieAnimationPath: "https://storage.googleapis.com/zync-media/assets/lottie/sports/nametag/landscape.json"
|
|
30
|
+
},
|
|
31
|
+
portrait: {
|
|
32
|
+
containerBottomOffset: -310,
|
|
33
|
+
nameStyles: {
|
|
34
|
+
bottom: 175,
|
|
35
|
+
left: 100,
|
|
36
|
+
fontSize: 50
|
|
37
|
+
},
|
|
38
|
+
titleStyles: {
|
|
39
|
+
bottom: 135,
|
|
40
|
+
left: 100,
|
|
41
|
+
fontSize: 30
|
|
42
|
+
},
|
|
43
|
+
lottieAnimationPath: "https://storage.googleapis.com/zync-media/assets/lottie/sports/nametag/portrait.json"
|
|
44
|
+
},
|
|
45
|
+
square: {
|
|
46
|
+
containerBottomOffset: -120,
|
|
47
|
+
nameStyles: {
|
|
48
|
+
bottom: 170,
|
|
49
|
+
left: 100,
|
|
50
|
+
fontSize: 50
|
|
51
|
+
},
|
|
52
|
+
titleStyles: {
|
|
53
|
+
bottom: 132,
|
|
54
|
+
left: 100,
|
|
55
|
+
fontSize: 32
|
|
56
|
+
},
|
|
57
|
+
lottieAnimationPath: "https://storage.googleapis.com/zync-media/assets/lottie/sports/nametag/square.json"
|
|
58
|
+
}
|
|
59
|
+
}),
|
|
60
|
+
containerBottomOffset = _useOrientationBased.containerBottomOffset,
|
|
61
|
+
lottieAnimationPath = _useOrientationBased.lottieAnimationPath,
|
|
62
|
+
nameStyles = _useOrientationBased.nameStyles,
|
|
63
|
+
titleStyles = _useOrientationBased.titleStyles;
|
|
64
|
+
var nameAnimationStart = convertToSeconds(1, 4);
|
|
65
|
+
var nameAnimationEnd = convertToSeconds(1, 14);
|
|
66
|
+
var nameOpacity = useTimeInterpolate([nameAnimationStart, nameAnimationEnd], [0, 1]);
|
|
67
|
+
var nameOffset = useTimeInterpolate([nameAnimationStart, convertToSeconds(1, 9), nameAnimationEnd], [100, -15, 0], {
|
|
68
|
+
extrapolateRight: "clamp",
|
|
69
|
+
easing: Easing["in"](Easing.ease)
|
|
70
|
+
});
|
|
71
|
+
var titleAnimationStart = convertToSeconds(1, 20);
|
|
72
|
+
var titleAnimationEnd = convertToSeconds(2, 8);
|
|
73
|
+
var titleOpacity = useTimeInterpolate([titleAnimationStart, titleAnimationEnd], [0, 1]);
|
|
74
|
+
var titleOffset = useTimeInterpolate([titleAnimationStart, convertToSeconds(2, 4), titleAnimationEnd], [-50, 10, 0], {
|
|
75
|
+
extrapolateRight: "clamp",
|
|
76
|
+
easing: Easing["in"](Easing.ease)
|
|
77
|
+
});
|
|
78
|
+
var _useTheme = useTheme(),
|
|
79
|
+
primaryColor = _useTheme.primaryColor,
|
|
80
|
+
accentContrast = _useTheme.accentContrast,
|
|
81
|
+
primaryContrast = _useTheme.primaryContrast,
|
|
82
|
+
accentColor = _useTheme.accentColor;
|
|
83
|
+
var titleBackgroundColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.primaryColor) || accentColor;
|
|
84
|
+
var nameBackgroundAndTitleTextColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.secondaryColor) || primaryColor;
|
|
85
|
+
var titleTextColor = getContrastColor(nameBackgroundAndTitleTextColor);
|
|
86
|
+
var nameTextColor = getContrastColor(titleBackgroundColor);
|
|
87
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
88
|
+
style: {
|
|
89
|
+
transform: "translateY(".concat(containerBottomOffset, "px)"),
|
|
90
|
+
isolation: "isolate"
|
|
91
|
+
}
|
|
92
|
+
}, /*#__PURE__*/React.createElement(LottieAnimation, {
|
|
93
|
+
animationPath: lottieAnimationPath,
|
|
94
|
+
primaryColor: nameBackgroundAndTitleTextColor,
|
|
95
|
+
accentColor: titleBackgroundColor
|
|
96
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
style: {
|
|
98
|
+
position: "absolute",
|
|
99
|
+
bottom: nameStyles.bottom,
|
|
100
|
+
left: nameStyles.left,
|
|
101
|
+
fontSize: nameStyles.fontSize,
|
|
102
|
+
color: nameTextColor,
|
|
103
|
+
fontFamily: fontFamily,
|
|
104
|
+
fontStyle: "italic",
|
|
105
|
+
opacity: nameOpacity,
|
|
106
|
+
transform: "translateX(".concat(nameOffset, "%)"),
|
|
107
|
+
fontWeight: 800
|
|
108
|
+
}
|
|
109
|
+
}, name), /*#__PURE__*/React.createElement("div", {
|
|
110
|
+
style: {
|
|
111
|
+
position: "absolute",
|
|
112
|
+
bottom: titleStyles.bottom,
|
|
113
|
+
left: titleStyles.left,
|
|
114
|
+
fontSize: titleStyles.fontSize,
|
|
115
|
+
color: titleTextColor,
|
|
116
|
+
fontFamily: fontFamily,
|
|
117
|
+
opacity: titleOpacity,
|
|
118
|
+
transform: "translateX(".concat(titleOffset, "%)"),
|
|
119
|
+
fontWeight: 400
|
|
120
|
+
}
|
|
121
|
+
}, title));
|
|
122
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill, Easing, interpolate, Sequence, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
4
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
5
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
6
|
+
var _loadFont = loadFont(),
|
|
7
|
+
fontFamily = _loadFont.fontFamily;
|
|
8
|
+
var FlyInOutText = function FlyInOutText(_ref) {
|
|
9
|
+
var transcript = _ref.transcript,
|
|
10
|
+
width = _ref.width,
|
|
11
|
+
fontSize = _ref.fontSize,
|
|
12
|
+
bottom = _ref.bottom;
|
|
13
|
+
var animationDuration = 5;
|
|
14
|
+
var frame = useCurrentFrame();
|
|
15
|
+
var flyInAnimationStart = 0;
|
|
16
|
+
var flyInAnimationEnd = animationDuration;
|
|
17
|
+
var flyInPosition = interpolate(frame, [flyInAnimationStart, flyInAnimationEnd], [-70, -50], {
|
|
18
|
+
extrapolateLeft: "clamp",
|
|
19
|
+
extrapolateRight: "clamp",
|
|
20
|
+
easing: Easing.out(Easing.cubic)
|
|
21
|
+
});
|
|
22
|
+
var flyOutAnimationStart = Math.max(flyInAnimationEnd + 1, transcript.durationInFrames - animationDuration);
|
|
23
|
+
var flyOutAnimationEnd = Math.max(flyOutAnimationStart + 1, transcript.durationInFrames);
|
|
24
|
+
var flyOutPosition = interpolate(frame, [flyOutAnimationStart, flyOutAnimationEnd], [-50, -30], {
|
|
25
|
+
extrapolateLeft: "clamp",
|
|
26
|
+
extrapolateRight: "clamp",
|
|
27
|
+
easing: Easing["in"](Easing.cubic)
|
|
28
|
+
});
|
|
29
|
+
var textPosition = frame < transcript.durationInFrames / 2 ? flyInPosition : flyOutPosition;
|
|
30
|
+
var textOpacity = interpolate(frame, [flyInAnimationStart, flyInAnimationEnd, flyOutAnimationStart, flyOutAnimationEnd], [0, 1, 1, 0], {
|
|
31
|
+
extrapolateLeft: "clamp",
|
|
32
|
+
extrapolateRight: "clamp"
|
|
33
|
+
});
|
|
34
|
+
return /*#__PURE__*/React.createElement("p", {
|
|
35
|
+
style: {
|
|
36
|
+
display: "flex",
|
|
37
|
+
alignItems: "center",
|
|
38
|
+
justifyContent: "center",
|
|
39
|
+
height: fontSize * 1.6,
|
|
40
|
+
position: "absolute",
|
|
41
|
+
bottom: bottom,
|
|
42
|
+
width: width,
|
|
43
|
+
margin: "0 auto",
|
|
44
|
+
left: "50%",
|
|
45
|
+
transform: "translateX(".concat(textPosition, "%)"),
|
|
46
|
+
opacity: textOpacity,
|
|
47
|
+
color: "white",
|
|
48
|
+
fontSize: fontSize,
|
|
49
|
+
textAlign: "center",
|
|
50
|
+
fontFamily: fontFamily,
|
|
51
|
+
textShadow: "2px 2px 1px #000",
|
|
52
|
+
fontWeight: 500,
|
|
53
|
+
textWrap: "nowrap",
|
|
54
|
+
letterSpacing: "2.5px"
|
|
55
|
+
}
|
|
56
|
+
}, transcript.text);
|
|
57
|
+
};
|
|
58
|
+
export var SportsCaption = function SportsCaption(_ref2) {
|
|
59
|
+
var transcripts = _ref2.transcripts;
|
|
60
|
+
var _useVideoConfig = useVideoConfig(),
|
|
61
|
+
width = _useVideoConfig.width;
|
|
62
|
+
var _useOrientationBased = useOrientationBased({
|
|
63
|
+
portrait: {
|
|
64
|
+
fontSize: 60,
|
|
65
|
+
bottom: 110
|
|
66
|
+
},
|
|
67
|
+
landscape: {
|
|
68
|
+
fontSize: 60,
|
|
69
|
+
bottom: 110
|
|
70
|
+
},
|
|
71
|
+
square: {
|
|
72
|
+
fontSize: 60,
|
|
73
|
+
bottom: 110
|
|
74
|
+
}
|
|
75
|
+
}),
|
|
76
|
+
bottom = _useOrientationBased.bottom,
|
|
77
|
+
fontSize = _useOrientationBased.fontSize;
|
|
78
|
+
var containerWidth = width * 0.8;
|
|
79
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, null, transcripts.map(function (transcript, index) {
|
|
80
|
+
var _distributeTextToFit = distributeTextToFit(transcript.text, width * 0.7, fontSize * 1.6, fontSize),
|
|
81
|
+
textFontSize = _distributeTextToFit.fontSize;
|
|
82
|
+
return /*#__PURE__*/React.createElement(Sequence, {
|
|
83
|
+
key: index,
|
|
84
|
+
from: transcript.from,
|
|
85
|
+
durationInFrames: transcript.durationInFrames
|
|
86
|
+
}, /*#__PURE__*/React.createElement(FlyInOutText, {
|
|
87
|
+
transcript: transcript,
|
|
88
|
+
width: containerWidth,
|
|
89
|
+
fontSize: textFontSize,
|
|
90
|
+
bottom: bottom
|
|
91
|
+
}));
|
|
92
|
+
}));
|
|
93
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AbsoluteFill } from "remotion";
|
|
3
|
+
import { CHROME_PADDING } from "../../../config.js";
|
|
4
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
5
|
+
import { AnimatedLine } from "./shared";
|
|
6
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
7
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
8
|
+
var _loadFont = loadFont(),
|
|
9
|
+
fontFamily = _loadFont.fontFamily;
|
|
10
|
+
export var SportsSentence = function SportsSentence(_ref) {
|
|
11
|
+
var sentence = _ref.sentence;
|
|
12
|
+
var maxWidth = 800;
|
|
13
|
+
var maxHeight = 600;
|
|
14
|
+
var _distributeTextToFit = distributeTextToFit(sentence, maxWidth - 100, maxHeight - 100, 110),
|
|
15
|
+
lines = _distributeTextToFit.lines,
|
|
16
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
17
|
+
var _useOrientationBased = useOrientationBased({
|
|
18
|
+
landscape: {
|
|
19
|
+
alignItems: "end",
|
|
20
|
+
justifyContent: "start",
|
|
21
|
+
paddingRight: CHROME_PADDING * 3,
|
|
22
|
+
padding: CHROME_PADDING * 2
|
|
23
|
+
},
|
|
24
|
+
portrait: {
|
|
25
|
+
alignItems: "end",
|
|
26
|
+
justifyContent: "start",
|
|
27
|
+
paddingRight: CHROME_PADDING * 3 + 60,
|
|
28
|
+
padding: CHROME_PADDING * 2 + 50
|
|
29
|
+
},
|
|
30
|
+
square: {
|
|
31
|
+
alignItems: "end",
|
|
32
|
+
justifyContent: "start",
|
|
33
|
+
paddingRight: CHROME_PADDING * 3,
|
|
34
|
+
padding: CHROME_PADDING * 2
|
|
35
|
+
}
|
|
36
|
+
}),
|
|
37
|
+
alignItems = _useOrientationBased.alignItems,
|
|
38
|
+
justifyContent = _useOrientationBased.justifyContent,
|
|
39
|
+
padding = _useOrientationBased.padding,
|
|
40
|
+
paddingRight = _useOrientationBased.paddingRight;
|
|
41
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
42
|
+
style: {
|
|
43
|
+
display: "flex",
|
|
44
|
+
alignItems: alignItems,
|
|
45
|
+
justifyContent: justifyContent,
|
|
46
|
+
padding: padding,
|
|
47
|
+
paddingRight: paddingRight
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
50
|
+
style: {
|
|
51
|
+
width: maxWidth,
|
|
52
|
+
height: maxHeight,
|
|
53
|
+
borderRadius: "30px",
|
|
54
|
+
display: "flex",
|
|
55
|
+
flexDirection: "column",
|
|
56
|
+
alignItems: "end",
|
|
57
|
+
justifyContent: "start",
|
|
58
|
+
gap: 20
|
|
59
|
+
}
|
|
60
|
+
}, lines.map(function (line, index) {
|
|
61
|
+
return /*#__PURE__*/React.createElement(AnimatedLine, {
|
|
62
|
+
key: index,
|
|
63
|
+
index: index,
|
|
64
|
+
text: line,
|
|
65
|
+
fontSize: fontSize,
|
|
66
|
+
delayInSeconds: 0.15 * index
|
|
67
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
style: {
|
|
69
|
+
fontSize: fontSize,
|
|
70
|
+
fontWeight: 800,
|
|
71
|
+
textTransform: "initial",
|
|
72
|
+
fontFamily: fontFamily
|
|
73
|
+
}
|
|
74
|
+
}, line));
|
|
75
|
+
})));
|
|
76
|
+
};
|