@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,142 @@
|
|
|
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 { loadFont } from "@remotion/google-fonts/Kanit";
|
|
8
|
+
import { SplitSentence } from "./components/SplitSentence";
|
|
9
|
+
import { AbsoluteFill, Easing, interpolate, useCurrentFrame, 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 { DisplacedText } from "./components/DisplacedText";
|
|
14
|
+
import React, { useMemo } from "react";
|
|
15
|
+
import { createAnimationCycles, glitchXInterpolate } from "./helpers.js";
|
|
16
|
+
var _loadFont = loadFont(),
|
|
17
|
+
fontFamily = _loadFont.fontFamily;
|
|
18
|
+
export var GlitchTitle = function GlitchTitle(_ref) {
|
|
19
|
+
var text = _ref.text;
|
|
20
|
+
var _useVideoConfig = useVideoConfig(),
|
|
21
|
+
width = _useVideoConfig.width,
|
|
22
|
+
height = _useVideoConfig.height;
|
|
23
|
+
var _useOrientationBased = useOrientationBased({
|
|
24
|
+
portrait: {
|
|
25
|
+
maxFontSize: 150,
|
|
26
|
+
maxWidth: width * 0.65
|
|
27
|
+
},
|
|
28
|
+
landscape: {
|
|
29
|
+
maxFontSize: 210,
|
|
30
|
+
maxWidth: width
|
|
31
|
+
},
|
|
32
|
+
square: {
|
|
33
|
+
maxFontSize: 130,
|
|
34
|
+
maxWidth: width
|
|
35
|
+
}
|
|
36
|
+
}),
|
|
37
|
+
maxFontSize = _useOrientationBased.maxFontSize,
|
|
38
|
+
maxWidth = _useOrientationBased.maxWidth;
|
|
39
|
+
var _useTheme = useTheme(),
|
|
40
|
+
primaryContrast = _useTheme.primaryContrast;
|
|
41
|
+
var _distributeTextToFit = distributeTextToFit(text, maxWidth, height, maxFontSize),
|
|
42
|
+
lines = _distributeTextToFit.lines,
|
|
43
|
+
fontSize = _distributeTextToFit.fontSize;
|
|
44
|
+
var frame = useCurrentFrame();
|
|
45
|
+
var titleParts = [{
|
|
46
|
+
top: 0,
|
|
47
|
+
height: 10,
|
|
48
|
+
offsetX: glitchXInterpolate(frame, -width * 2.5)
|
|
49
|
+
}, {
|
|
50
|
+
top: 10,
|
|
51
|
+
height: 45,
|
|
52
|
+
offsetX: glitchXInterpolate(frame, -width * 3)
|
|
53
|
+
}, {
|
|
54
|
+
top: 45,
|
|
55
|
+
height: 50,
|
|
56
|
+
offsetX: glitchXInterpolate(frame, width * 2.25)
|
|
57
|
+
}, {
|
|
58
|
+
top: 50,
|
|
59
|
+
height: 80,
|
|
60
|
+
offsetX: glitchXInterpolate(frame, width * 2.75)
|
|
61
|
+
}, {
|
|
62
|
+
top: 80,
|
|
63
|
+
height: 100,
|
|
64
|
+
offsetX: glitchXInterpolate(frame, -width * 4)
|
|
65
|
+
}];
|
|
66
|
+
var _useMemo = useMemo(createAnimationCycles, []),
|
|
67
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
68
|
+
cycleTimings = _useMemo2[0],
|
|
69
|
+
cycles = _useMemo2[1];
|
|
70
|
+
var cycle = interpolate(frame, cycleTimings, cycles, {
|
|
71
|
+
extrapolateLeft: "clamp",
|
|
72
|
+
extrapolateRight: "clamp"
|
|
73
|
+
});
|
|
74
|
+
var glitchy = cycle > 4 && cycle < 8;
|
|
75
|
+
var moreGlitchy = cycle >= 8 && cycle < 12;
|
|
76
|
+
var sentenceParts = [{
|
|
77
|
+
top: 0,
|
|
78
|
+
height: 15,
|
|
79
|
+
offsetX: glitchy ? 8 : moreGlitchy ? 12 : 0
|
|
80
|
+
}, {
|
|
81
|
+
top: 15,
|
|
82
|
+
height: 25,
|
|
83
|
+
offsetX: glitchy ? -8 : moreGlitchy ? -12 : 0
|
|
84
|
+
}, {
|
|
85
|
+
top: 25,
|
|
86
|
+
height: 50,
|
|
87
|
+
offsetX: 0
|
|
88
|
+
}, {
|
|
89
|
+
top: 50,
|
|
90
|
+
height: 75,
|
|
91
|
+
offsetX: glitchy ? 8 : moreGlitchy ? 12 : 0
|
|
92
|
+
}, {
|
|
93
|
+
top: 75,
|
|
94
|
+
height: 80,
|
|
95
|
+
offsetX: glitchy ? 24 : moreGlitchy ? 30 : 0
|
|
96
|
+
}, {
|
|
97
|
+
top: 80,
|
|
98
|
+
height: 100,
|
|
99
|
+
offsetX: glitchy ? 4 : moreGlitchy ? 8 : 0
|
|
100
|
+
}];
|
|
101
|
+
var colorsOffset = glitchy ? 8 : moreGlitchy ? 12 : 0;
|
|
102
|
+
var backdropOpacity = interpolate(frame, [0, 15], [0, 0.8], {
|
|
103
|
+
extrapolateLeft: "clamp",
|
|
104
|
+
extrapolateRight: "clamp",
|
|
105
|
+
easing: Easing["in"](Easing.quad)
|
|
106
|
+
});
|
|
107
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
108
|
+
style: {
|
|
109
|
+
display: "grid",
|
|
110
|
+
placeContent: "center",
|
|
111
|
+
fontFamily: fontFamily,
|
|
112
|
+
fontSize: fontSize,
|
|
113
|
+
textAlign: "center",
|
|
114
|
+
textTransform: "uppercase",
|
|
115
|
+
fontWeight: 900,
|
|
116
|
+
fontStyle: "italic",
|
|
117
|
+
color: primaryContrast,
|
|
118
|
+
isolation: "isolate"
|
|
119
|
+
}
|
|
120
|
+
}, /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
121
|
+
style: {
|
|
122
|
+
opacity: backdropOpacity,
|
|
123
|
+
backgroundColor: "black"
|
|
124
|
+
}
|
|
125
|
+
}), /*#__PURE__*/React.createElement(SplitSentence, {
|
|
126
|
+
parts: titleParts
|
|
127
|
+
}, lines.map(function (line, index) {
|
|
128
|
+
return /*#__PURE__*/React.createElement(DisplacedText, {
|
|
129
|
+
key: index,
|
|
130
|
+
text: line,
|
|
131
|
+
offset: colorsOffset,
|
|
132
|
+
sentenceParts: sentenceParts,
|
|
133
|
+
style: {
|
|
134
|
+
textAlign: "center",
|
|
135
|
+
position: "relative",
|
|
136
|
+
margin: 0,
|
|
137
|
+
color: "#fff",
|
|
138
|
+
lineHeight: "".concat(fontSize / 8 * 6, "px")
|
|
139
|
+
}
|
|
140
|
+
}, line);
|
|
141
|
+
})));
|
|
142
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
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 { SplitSentence } from "./SplitSentence";
|
|
9
|
+
var defaultOffsetStyles = function defaultOffsetStyles(offset) {
|
|
10
|
+
return {
|
|
11
|
+
transform: "translateX(".concat(offset, "px)")
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
var rightWarpOffsetStyles = function rightWarpOffsetStyles(offset, scale) {
|
|
15
|
+
return {
|
|
16
|
+
transform: "translateX(".concat(offset / 2, "px) scaleX(").concat(scale, ")"),
|
|
17
|
+
transformOrigin: "right"
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var styleBy = {
|
|
21
|
+
"default": defaultOffsetStyles,
|
|
22
|
+
warpFromRight: rightWarpOffsetStyles
|
|
23
|
+
};
|
|
24
|
+
export var DisplacedText = function DisplacedText(_ref) {
|
|
25
|
+
var text = _ref.text,
|
|
26
|
+
offset = _ref.offset,
|
|
27
|
+
_ref$style = _ref.style,
|
|
28
|
+
style = _ref$style === void 0 ? {
|
|
29
|
+
margin: 0,
|
|
30
|
+
textAlign: "left",
|
|
31
|
+
transform: "translateZ(0px)"
|
|
32
|
+
} : _ref$style,
|
|
33
|
+
sentenceParts = _ref.sentenceParts,
|
|
34
|
+
_ref$variant = _ref.variant,
|
|
35
|
+
variant = _ref$variant === void 0 ? "default" : _ref$variant;
|
|
36
|
+
return /*#__PURE__*/React.createElement(SplitSentence, {
|
|
37
|
+
parts: sentenceParts
|
|
38
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
40
|
+
textAlign: "center",
|
|
41
|
+
width: "100%",
|
|
42
|
+
isolation: "isolate",
|
|
43
|
+
letterSpacing: 10
|
|
44
|
+
})
|
|
45
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
46
|
+
style: style
|
|
47
|
+
}, text), /*#__PURE__*/React.createElement("p", {
|
|
48
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
49
|
+
top: 0,
|
|
50
|
+
position: "absolute",
|
|
51
|
+
color: "rgb(255,0,0)",
|
|
52
|
+
width: "100%",
|
|
53
|
+
opacity: offset ? 1 : 0,
|
|
54
|
+
zIndex: -2
|
|
55
|
+
}, styleBy[variant](-offset, 1 + offset / 4 / 100 + 0.01))
|
|
56
|
+
}, text), /*#__PURE__*/React.createElement("p", {
|
|
57
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
58
|
+
top: 0,
|
|
59
|
+
position: "absolute",
|
|
60
|
+
color: "rgb(0,255,255)",
|
|
61
|
+
width: "100%",
|
|
62
|
+
opacity: offset ? 1 : 0,
|
|
63
|
+
zIndex: -1
|
|
64
|
+
}, styleBy[variant](offset, 1 + offset / 4 / 100))
|
|
65
|
+
}, text)));
|
|
66
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
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 GlitchAnimatedLine = function GlitchAnimatedLine(_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 titleTextAnimationStart = convertToSeconds(0, 0, delayInSeconds);
|
|
21
|
+
var titleTextAnimationEnd = convertToSeconds(0, 20, delayInSeconds);
|
|
22
|
+
var titleTextOpacity = useTimeInterpolate([titleTextAnimationStart, titleTextAnimationEnd], [0, 1]);
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
style: {
|
|
25
|
+
position: "relative",
|
|
26
|
+
lineHeight: 1.1,
|
|
27
|
+
textTransform: "uppercase",
|
|
28
|
+
opacity: titleTextOpacity,
|
|
29
|
+
color: primaryContrast,
|
|
30
|
+
fontSize: fontSize,
|
|
31
|
+
background: primaryColor,
|
|
32
|
+
width: "fit-content",
|
|
33
|
+
paddingLeft: 20,
|
|
34
|
+
paddingRight: 20,
|
|
35
|
+
whiteSpace: "nowrap"
|
|
36
|
+
}
|
|
37
|
+
}, children || text);
|
|
38
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
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 } from "remotion";
|
|
9
|
+
var defaultParts = [{
|
|
10
|
+
top: 0,
|
|
11
|
+
height: 10
|
|
12
|
+
}, {
|
|
13
|
+
top: 10,
|
|
14
|
+
height: 45
|
|
15
|
+
}, {
|
|
16
|
+
top: 45,
|
|
17
|
+
height: 60
|
|
18
|
+
}, {
|
|
19
|
+
top: 60,
|
|
20
|
+
height: 70
|
|
21
|
+
}, {
|
|
22
|
+
top: 70,
|
|
23
|
+
height: 90
|
|
24
|
+
}, {
|
|
25
|
+
top: 90,
|
|
26
|
+
height: 100
|
|
27
|
+
}];
|
|
28
|
+
export var SplitSentence = function SplitSentence(_ref) {
|
|
29
|
+
var children = _ref.children,
|
|
30
|
+
_ref$style = _ref.style,
|
|
31
|
+
style = _ref$style === void 0 ? {} : _ref$style,
|
|
32
|
+
_ref$parts = _ref.parts,
|
|
33
|
+
parts = _ref$parts === void 0 ? defaultParts : _ref$parts;
|
|
34
|
+
var slices = parts.map(function (part, index, i) {
|
|
35
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
style: _objectSpread({
|
|
37
|
+
position: index === 0 ? "relative" : "absolute",
|
|
38
|
+
top: 0,
|
|
39
|
+
left: 0,
|
|
40
|
+
width: "100%",
|
|
41
|
+
clipPath: "inset(".concat(part.top, "% -10% ").concat(100 - part.height, "% -10%)"),
|
|
42
|
+
transform: "translateX(".concat(part.offsetX, "px) translateZ(0) ")
|
|
43
|
+
}, style),
|
|
44
|
+
key: index
|
|
45
|
+
}, children);
|
|
46
|
+
});
|
|
47
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
style: {
|
|
49
|
+
position: "relative"
|
|
50
|
+
}
|
|
51
|
+
}, slices);
|
|
52
|
+
};
|
|
53
|
+
export var SplitLayout = function SplitLayout(_ref2) {
|
|
54
|
+
var children = _ref2.children,
|
|
55
|
+
_ref2$style = _ref2.style,
|
|
56
|
+
style = _ref2$style === void 0 ? {} : _ref2$style,
|
|
57
|
+
_ref2$parts = _ref2.parts,
|
|
58
|
+
parts = _ref2$parts === void 0 ? defaultParts : _ref2$parts;
|
|
59
|
+
var slices = parts.map(function (part, index, i) {
|
|
60
|
+
var isOriginal = index === 0;
|
|
61
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
style: _objectSpread({
|
|
63
|
+
position: isOriginal ? "relative" : "absolute",
|
|
64
|
+
top: 0,
|
|
65
|
+
left: 0,
|
|
66
|
+
width: "100%",
|
|
67
|
+
height: "100%",
|
|
68
|
+
clipPath: "inset(".concat(part.top, "% -10% ").concat(100 - part.height, "% -10%)"),
|
|
69
|
+
transform: "translateX(".concat(part.offsetX, "px) translateZ(0) ")
|
|
70
|
+
}, style),
|
|
71
|
+
key: index
|
|
72
|
+
}, children);
|
|
73
|
+
});
|
|
74
|
+
return /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
75
|
+
style: {
|
|
76
|
+
position: "relative",
|
|
77
|
+
zIndex: 99999
|
|
78
|
+
}
|
|
79
|
+
}, slices);
|
|
80
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Creates timings (input values) and cycles (output values) for interpolation. Makes repated animations easier. One sample is a one frame
|
|
2
|
+
import { Easing, interpolate } from "remotion";
|
|
3
|
+
export var createAnimationCycles = function createAnimationCycles() {
|
|
4
|
+
var samples = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;
|
|
5
|
+
var inputFrames = new Array(samples).fill(0).map(function (_, i) {
|
|
6
|
+
return i + 1;
|
|
7
|
+
});
|
|
8
|
+
var outputValues = [];
|
|
9
|
+
var cycle = 1;
|
|
10
|
+
inputFrames.forEach(function (_, i) {
|
|
11
|
+
if (cycle < 60) {
|
|
12
|
+
outputValues.push(cycle);
|
|
13
|
+
cycle++;
|
|
14
|
+
} else if (cycle === 60) {
|
|
15
|
+
outputValues.push(cycle);
|
|
16
|
+
cycle = 1;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return [inputFrames, outputValues];
|
|
20
|
+
};
|
|
21
|
+
export var glitchXInterpolate = function glitchXInterpolate(frame, startingXOffset) {
|
|
22
|
+
var randomize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
23
|
+
var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
24
|
+
var START_FRAME = delay;
|
|
25
|
+
var END_FRAME = 20 + delay;
|
|
26
|
+
return interpolate(frame, [START_FRAME, END_FRAME], [startingXOffset, 0], {
|
|
27
|
+
extrapolateLeft: "clamp",
|
|
28
|
+
extrapolateRight: "clamp",
|
|
29
|
+
easing: Easing.bezier(Math.random() / 4, Math.random() / 4, Math.random() / 4, randomize ? 1 + Math.random() / 2 : 1.05)
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
var useAnimationCycle = function useAnimationCycle() {};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { spring, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
4
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
5
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
6
|
+
import { hexToRgbHtml } from "../../../helpers/hexToRgb.js";
|
|
7
|
+
import { CameraMotionBlur } from "@remotion/motion-blur";
|
|
8
|
+
import { distributeTextToFit } from "../default/Sentence/SentenceSimple.helpers.js";
|
|
9
|
+
import { getContrastColor } from "../../../helpers/getContrastColor";
|
|
10
|
+
var _loadFont = loadFont(),
|
|
11
|
+
fontFamily = _loadFont.fontFamily;
|
|
12
|
+
var PushPullNametagEffect = function PushPullNametagEffect(_ref) {
|
|
13
|
+
var name = _ref.name,
|
|
14
|
+
title = _ref.title,
|
|
15
|
+
themeSettings = _ref.themeSettings;
|
|
16
|
+
var _useVideoConfig = useVideoConfig(),
|
|
17
|
+
width = _useVideoConfig.width,
|
|
18
|
+
fps = _useVideoConfig.fps;
|
|
19
|
+
var _useOrientationBased = useOrientationBased({
|
|
20
|
+
portrait: {
|
|
21
|
+
bottom: 440,
|
|
22
|
+
left: 100,
|
|
23
|
+
top: undefined,
|
|
24
|
+
maxWidth: width - 200,
|
|
25
|
+
maxNameFontSize: 110,
|
|
26
|
+
titleFontSize: 70
|
|
27
|
+
},
|
|
28
|
+
landscape: {
|
|
29
|
+
top: undefined,
|
|
30
|
+
left: 100,
|
|
31
|
+
bottom: 225,
|
|
32
|
+
maxWidth: width - 200,
|
|
33
|
+
maxNameFontSize: 120,
|
|
34
|
+
titleFontSize: 75
|
|
35
|
+
},
|
|
36
|
+
square: {
|
|
37
|
+
bottom: 240,
|
|
38
|
+
left: 100,
|
|
39
|
+
top: undefined,
|
|
40
|
+
maxWidth: width - 200,
|
|
41
|
+
maxNameFontSize: 120,
|
|
42
|
+
titleFontSize: 75
|
|
43
|
+
}
|
|
44
|
+
}),
|
|
45
|
+
top = _useOrientationBased.top,
|
|
46
|
+
left = _useOrientationBased.left,
|
|
47
|
+
bottom = _useOrientationBased.bottom,
|
|
48
|
+
maxWidth = _useOrientationBased.maxWidth,
|
|
49
|
+
maxNameFontSize = _useOrientationBased.maxNameFontSize,
|
|
50
|
+
titleFontSize = _useOrientationBased.titleFontSize;
|
|
51
|
+
var _distributeTextToFit = distributeTextToFit(name, maxWidth - 100, 300, maxNameFontSize),
|
|
52
|
+
nameFontSize = _distributeTextToFit.fontSize;
|
|
53
|
+
var _useTheme = useTheme(),
|
|
54
|
+
primaryColor = _useTheme.primaryColor,
|
|
55
|
+
primaryContrast = _useTheme.primaryContrast,
|
|
56
|
+
accentColor = _useTheme.accentColor,
|
|
57
|
+
accentContrast = _useTheme.accentContrast;
|
|
58
|
+
var nameLines = name.split(" ");
|
|
59
|
+
var frame = useCurrentFrame();
|
|
60
|
+
var userNameAnimationData = nameLines.map(function (line, index) {
|
|
61
|
+
return {
|
|
62
|
+
text: line,
|
|
63
|
+
linePosition: spring({
|
|
64
|
+
frame: frame,
|
|
65
|
+
fps: fps,
|
|
66
|
+
from: 1000,
|
|
67
|
+
to: 0,
|
|
68
|
+
delay: index * 5,
|
|
69
|
+
config: {
|
|
70
|
+
stiffness: 3300,
|
|
71
|
+
damping: 120,
|
|
72
|
+
mass: 2
|
|
73
|
+
},
|
|
74
|
+
durationInFrames: fps / 2
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
var userTitlePosition = spring({
|
|
79
|
+
frame: frame,
|
|
80
|
+
fps: fps,
|
|
81
|
+
from: -200,
|
|
82
|
+
to: 0,
|
|
83
|
+
delay: fps,
|
|
84
|
+
config: {
|
|
85
|
+
stiffness: 1250,
|
|
86
|
+
damping: 28,
|
|
87
|
+
mass: 0.25
|
|
88
|
+
},
|
|
89
|
+
durationInFrames: fps / 2
|
|
90
|
+
});
|
|
91
|
+
var nameTextColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.primaryColor) || primaryColor;
|
|
92
|
+
var titleTextColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.secondaryColor) || accentColor;
|
|
93
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
style: {
|
|
95
|
+
position: "absolute",
|
|
96
|
+
display: "flex",
|
|
97
|
+
flexDirection: "column",
|
|
98
|
+
gap: 10,
|
|
99
|
+
left: left,
|
|
100
|
+
bottom: bottom,
|
|
101
|
+
top: top,
|
|
102
|
+
fontFamily: fontFamily
|
|
103
|
+
}
|
|
104
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
105
|
+
style: {
|
|
106
|
+
width: "fit-content",
|
|
107
|
+
textTransform: "uppercase",
|
|
108
|
+
position: "relative",
|
|
109
|
+
isolation: "isolate"
|
|
110
|
+
}
|
|
111
|
+
}, userNameAnimationData.map(function (_ref2, index) {
|
|
112
|
+
var text = _ref2.text,
|
|
113
|
+
linePosition = _ref2.linePosition;
|
|
114
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
115
|
+
key: index,
|
|
116
|
+
style: {
|
|
117
|
+
color: nameTextColor,
|
|
118
|
+
textShadow: "4px 4px 0px ".concat(hexToRgbHtml(getContrastColor(nameTextColor), 0.5)),
|
|
119
|
+
fontWeight: 900,
|
|
120
|
+
fontSize: nameFontSize,
|
|
121
|
+
lineHeight: "".concat(nameFontSize * 4 / 5, "px"),
|
|
122
|
+
transform: "translateY(".concat(linePosition, "%)")
|
|
123
|
+
}
|
|
124
|
+
}, text);
|
|
125
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
style: {
|
|
127
|
+
position: "relative",
|
|
128
|
+
width: "fit-content",
|
|
129
|
+
maxWidth: maxWidth,
|
|
130
|
+
isolation: "isolate",
|
|
131
|
+
opacity: title ? 1 : 0,
|
|
132
|
+
transform: "translateX(".concat(userTitlePosition, "%)")
|
|
133
|
+
}
|
|
134
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
135
|
+
style: {
|
|
136
|
+
position: "absolute",
|
|
137
|
+
backgroundColor: "white",
|
|
138
|
+
borderRadius: 10,
|
|
139
|
+
width: "100%",
|
|
140
|
+
bottom: 0,
|
|
141
|
+
zIndex: -1
|
|
142
|
+
}
|
|
143
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
144
|
+
style: {
|
|
145
|
+
fontSize: titleFontSize,
|
|
146
|
+
color: titleTextColor,
|
|
147
|
+
fontWeight: 900,
|
|
148
|
+
textShadow: "4px 4px 0px ".concat(hexToRgbHtml(getContrastColor(titleTextColor), 0.5)),
|
|
149
|
+
lineHeight: "".concat(titleFontSize * 3 / 4, "px")
|
|
150
|
+
}
|
|
151
|
+
}, title)));
|
|
152
|
+
};
|
|
153
|
+
export var PushPullNametag = function PushPullNametag(_ref3) {
|
|
154
|
+
var name = _ref3.name,
|
|
155
|
+
title = _ref3.title,
|
|
156
|
+
themeSettings = _ref3.themeSettings;
|
|
157
|
+
return /*#__PURE__*/React.createElement(CameraMotionBlur, {
|
|
158
|
+
shutterAngle: 180,
|
|
159
|
+
samples: 5
|
|
160
|
+
}, /*#__PURE__*/React.createElement(PushPullNametagEffect, {
|
|
161
|
+
name: name,
|
|
162
|
+
title: title,
|
|
163
|
+
themeSettings: themeSettings
|
|
164
|
+
}));
|
|
165
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
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 { AbsoluteFill } from "remotion";
|
|
9
|
+
import { loadFont } from "@remotion/google-fonts/Kanit";
|
|
10
|
+
import { CHROME_PADDING } from "../../../config.js";
|
|
11
|
+
import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
|
|
12
|
+
import { PushToTop, SlideFromBottom, SlideFromLeft, SlideFromRight, SlideFromTop } from "./designs/sentence";
|
|
13
|
+
import { hexToRgbHtml } from "../../../helpers/hexToRgb.js";
|
|
14
|
+
import { useTheme } from "../../hooks/useTheme.js";
|
|
15
|
+
var _loadFont = loadFont(),
|
|
16
|
+
fontFamily = _loadFont.fontFamily;
|
|
17
|
+
var effects = [SlideFromTop, SlideFromRight, SlideFromBottom, SlideFromLeft, SlideFromTop, SlideFromRight, SlideFromBottom, SlideFromLeft, SlideFromTop, SlideFromRight];
|
|
18
|
+
var effectsTimings = [[0, 0.25], [0.25, 0.5], [0.5, 0.75], [0.75, 1], [1, 1.25], [1.25, 1.5], [1.5, 1.75], [1.75, 2.0], [2.0, 2.25], [2.25, 2.5]];
|
|
19
|
+
var SentenceEffect = function SentenceEffect(_ref) {
|
|
20
|
+
var lines = _ref.lines,
|
|
21
|
+
maxWidth = _ref.maxWidth,
|
|
22
|
+
maxHeight = _ref.maxHeight;
|
|
23
|
+
var _useOrientationBased = useOrientationBased({
|
|
24
|
+
landscape: {
|
|
25
|
+
alignItems: "end",
|
|
26
|
+
justifyContent: "start ",
|
|
27
|
+
padding: CHROME_PADDING * 2
|
|
28
|
+
},
|
|
29
|
+
portrait: {
|
|
30
|
+
alignItems: "end",
|
|
31
|
+
justifyContent: "start",
|
|
32
|
+
padding: CHROME_PADDING * 2 + 60
|
|
33
|
+
},
|
|
34
|
+
square: {
|
|
35
|
+
alignItems: "end",
|
|
36
|
+
justifyContent: "start",
|
|
37
|
+
padding: CHROME_PADDING * 2
|
|
38
|
+
}
|
|
39
|
+
}),
|
|
40
|
+
alignItems = _useOrientationBased.alignItems,
|
|
41
|
+
justifyContent = _useOrientationBased.justifyContent,
|
|
42
|
+
padding = _useOrientationBased.padding,
|
|
43
|
+
marginRight = _useOrientationBased.marginRight;
|
|
44
|
+
var _useTheme = useTheme(),
|
|
45
|
+
accentContrast = _useTheme.accentContrast,
|
|
46
|
+
primaryContrast = _useTheme.primaryContrast;
|
|
47
|
+
return /*#__PURE__*/React.createElement(PushToTop, {
|
|
48
|
+
from: 0.5,
|
|
49
|
+
to: 0.75
|
|
50
|
+
}, /*#__PURE__*/React.createElement(AbsoluteFill, {
|
|
51
|
+
style: {
|
|
52
|
+
display: "flex",
|
|
53
|
+
alignItems: "end",
|
|
54
|
+
justifyContent: "center",
|
|
55
|
+
textAlign: "right",
|
|
56
|
+
paddingRight: CHROME_PADDING * 4
|
|
57
|
+
}
|
|
58
|
+
}, lines.map(function (line, index) {
|
|
59
|
+
var Effect = effects[index];
|
|
60
|
+
var _effectsTimings$index = _slicedToArray(effectsTimings[index], 2),
|
|
61
|
+
from = _effectsTimings$index[0],
|
|
62
|
+
to = _effectsTimings$index[1];
|
|
63
|
+
return /*#__PURE__*/React.createElement(Effect, {
|
|
64
|
+
key: index,
|
|
65
|
+
from: from,
|
|
66
|
+
to: to
|
|
67
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
68
|
+
style: {
|
|
69
|
+
animationDelay: "".concat(index * 1000, "ms"),
|
|
70
|
+
color: primaryContrast,
|
|
71
|
+
textShadow: "4px 4px 0px ".concat(hexToRgbHtml(accentContrast, 0.5)),
|
|
72
|
+
fontWeight: 700,
|
|
73
|
+
fontSize: 115,
|
|
74
|
+
textTransform: "uppercase",
|
|
75
|
+
lineHeight: "100px",
|
|
76
|
+
margin: 0,
|
|
77
|
+
fontFamily: fontFamily,
|
|
78
|
+
textWrap: "nowrap"
|
|
79
|
+
}
|
|
80
|
+
}, line));
|
|
81
|
+
})));
|
|
82
|
+
};
|
|
83
|
+
export var PushPullSentence = function PushPullSentence(_ref2) {
|
|
84
|
+
var maxWidth = _ref2.maxWidth,
|
|
85
|
+
maxHeight = _ref2.maxHeight,
|
|
86
|
+
lines = _ref2.lines,
|
|
87
|
+
fontSize = _ref2.fontSize;
|
|
88
|
+
return /*#__PURE__*/React.createElement(SentenceEffect, {
|
|
89
|
+
maxWidth: maxWidth,
|
|
90
|
+
maxHeight: maxHeight,
|
|
91
|
+
lines: lines,
|
|
92
|
+
fontSize: fontSize
|
|
93
|
+
});
|
|
94
|
+
};
|