@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.
Files changed (133) hide show
  1. package/dist/ZyncScreenplayPlayer.js +35 -0
  2. package/dist/bundle.js +2 -0
  3. package/dist/bundle.js.LICENSE.txt +54 -0
  4. package/dist/index.js +4 -0
  5. package/dist/screenplay/RemotionRenderer/RemotionRenderer.js +281 -0
  6. package/dist/screenplay/RemotionRenderer/Root.js +22 -0
  7. package/dist/screenplay/RemotionRenderer/components/LottieAnimationGlobal.js +116 -0
  8. package/dist/screenplay/RemotionRenderer/components/backgrounds/VirtualBackground.js +26 -0
  9. package/dist/screenplay/RemotionRenderer/components/backgrounds/VirtualBackgroundUnderlay.js +41 -0
  10. package/dist/screenplay/RemotionRenderer/components/captions/CaptionSimple.js +12 -0
  11. package/dist/screenplay/RemotionRenderer/components/effects/BrollFullscreen.js +27 -0
  12. package/dist/screenplay/RemotionRenderer/components/effects/GlitchText.js +22 -0
  13. package/dist/screenplay/RemotionRenderer/components/effects/HandoffNametag.js +7 -0
  14. package/dist/screenplay/RemotionRenderer/components/effects/LottieAnimation.js +64 -0
  15. package/dist/screenplay/RemotionRenderer/components/effects/Nametag.js +9 -0
  16. package/dist/screenplay/RemotionRenderer/components/effects/PhraseRainbowEffect.js +34 -0
  17. package/dist/screenplay/RemotionRenderer/components/effects/Sentence.js +50 -0
  18. package/dist/screenplay/RemotionRenderer/components/effects/Title.js +12 -0
  19. package/dist/screenplay/RemotionRenderer/components/layouts/BrollGreenScreen.js +742 -0
  20. package/dist/screenplay/RemotionRenderer/components/layouts/BrollSplitScreen.js +714 -0
  21. package/dist/screenplay/RemotionRenderer/components/layouts/BrollStudioBackdrop.js +620 -0
  22. package/dist/screenplay/RemotionRenderer/components/layouts/DynamicTriangle.js +618 -0
  23. package/dist/screenplay/RemotionRenderer/components/layouts/Handoff.js +161 -0
  24. package/dist/screenplay/RemotionRenderer/components/layouts/IntroVideo.js +1330 -0
  25. package/dist/screenplay/RemotionRenderer/components/layouts/KeyPointOverlayDepth.js +397 -0
  26. package/dist/screenplay/RemotionRenderer/components/layouts/Keyword.js +539 -0
  27. package/dist/screenplay/RemotionRenderer/components/layouts/KeywordStudioBackdrop.js +714 -0
  28. package/dist/screenplay/RemotionRenderer/components/layouts/MotionStill.js +381 -0
  29. package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillFullScreen.js +178 -0
  30. package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillGreenScreen.js +568 -0
  31. package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillGreenScreenV2.js +731 -0
  32. package/dist/screenplay/RemotionRenderer/components/layouts/MotionStillStudioBackdrop.js +588 -0
  33. package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrame.js +183 -0
  34. package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameBroll.js +181 -0
  35. package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameSentence.js +17 -0
  36. package/dist/screenplay/RemotionRenderer/components/layouts/SimpleFrameZoomCut.js +13 -0
  37. package/dist/screenplay/RemotionRenderer/components/layouts/TextWithVideo.js +373 -0
  38. package/dist/screenplay/RemotionRenderer/components/layouts/quote-bubble-animation.json +1 -0
  39. package/dist/screenplay/RemotionRenderer/components/utils/BlurOverlay.js +19 -0
  40. package/dist/screenplay/RemotionRenderer/components/utils/ChromaKeyedVideo.js +59 -0
  41. package/dist/screenplay/RemotionRenderer/components/utils/FaceCenteredVideo.js +562 -0
  42. package/dist/screenplay/RemotionRenderer/components/utils/PausableImg.js +124 -0
  43. package/dist/screenplay/RemotionRenderer/components/utils/README.md +80 -0
  44. package/dist/screenplay/RemotionRenderer/components/utils/SafeZones.js +69 -0
  45. package/dist/screenplay/RemotionRenderer/components/utils/StretchText.js +124 -0
  46. package/dist/screenplay/RemotionRenderer/components/utils/StretchTextDemo.js +66 -0
  47. package/dist/screenplay/RemotionRenderer/config.js +8 -0
  48. package/dist/screenplay/RemotionRenderer/development.js +1370 -0
  49. package/dist/screenplay/RemotionRenderer/helpers/cleanFacemetadata.js +29 -0
  50. package/dist/screenplay/RemotionRenderer/helpers/convertToSeconds.js +14 -0
  51. package/dist/screenplay/RemotionRenderer/helpers/faceBasedVideoStyles.js +212 -0
  52. package/dist/screenplay/RemotionRenderer/helpers/faceCenteredVideoTransforms.js +468 -0
  53. package/dist/screenplay/RemotionRenderer/helpers/getContrastColor.js +15 -0
  54. package/dist/screenplay/RemotionRenderer/helpers/getVideoOrientation.js +21 -0
  55. package/dist/screenplay/RemotionRenderer/helpers/hexToRgb.js +48 -0
  56. package/dist/screenplay/RemotionRenderer/hooks/useLottieReplaceColor.js +45 -0
  57. package/dist/screenplay/RemotionRenderer/hooks/useOrientationBased.js +29 -0
  58. package/dist/screenplay/RemotionRenderer/hooks/useTimeInterpolate.js +54 -0
  59. package/dist/screenplay/RemotionRenderer/hooks/useVirtualBackground.js +38 -0
  60. package/dist/screenplay/RemotionRenderer/index.js +3 -0
  61. package/dist/screenplay/RemotionRenderer/main/lib/Sequence.js +76 -0
  62. package/dist/screenplay/RemotionRenderer/main/lib/layouts/DefaultLayout.js +72 -0
  63. package/dist/screenplay/RemotionRenderer/main/lib/layouts/DynamicTriangleLayout.js +54 -0
  64. package/dist/screenplay/RemotionRenderer/main/lib/layouts/HandoffLayout.js +50 -0
  65. package/dist/screenplay/RemotionRenderer/main/lib/layouts/IntroVideoLayout.js +33 -0
  66. package/dist/screenplay/RemotionRenderer/main/lib/layouts/KeywordLayout.js +36 -0
  67. package/dist/screenplay/RemotionRenderer/main/lib/layouts/LayoutFactory.js +68 -0
  68. package/dist/screenplay/RemotionRenderer/main/lib/layouts/MotionStillLayout.js +36 -0
  69. package/dist/screenplay/RemotionRenderer/main/lib/layouts/SimpleFrameLayout.js +43 -0
  70. package/dist/screenplay/RemotionRenderer/main/lib/layouts/TextWithVideoLayout.js +52 -0
  71. package/dist/screenplay/RemotionRenderer/main/screenplaySchema.js +92 -0
  72. package/dist/screenplay/RemotionRenderer/registeredComponents.js +91 -0
  73. package/dist/screenplay/RemotionRenderer/theme/config.js +8 -0
  74. package/dist/screenplay/RemotionRenderer/theme/hooks/useTheme.js +24 -0
  75. package/dist/screenplay/RemotionRenderer/theme/hooks/useThemedComponents.js +101 -0
  76. package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldNameTag.js +147 -0
  77. package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldSentence.js +138 -0
  78. package/dist/screenplay/RemotionRenderer/theme/themes/bigbold/BigBoldTitle.js +136 -0
  79. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColor.js +67 -0
  80. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColorInverse.js +67 -0
  81. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionColorShadow.js +66 -0
  82. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionElegant.js +134 -0
  83. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionEmphasis.js +122 -0
  84. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionPunctuated.js +84 -0
  85. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordBoom.js +88 -0
  86. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordBubble.js +91 -0
  87. package/dist/screenplay/RemotionRenderer/theme/themes/default/CaptionWordPopup.js +118 -0
  88. package/dist/screenplay/RemotionRenderer/theme/themes/default/DefaultCaption.js +62 -0
  89. package/dist/screenplay/RemotionRenderer/theme/themes/default/HandoffNametag/handoffNametagConfig.js +59 -0
  90. package/dist/screenplay/RemotionRenderer/theme/themes/default/HandoffNametag.js +173 -0
  91. package/dist/screenplay/RemotionRenderer/theme/themes/default/Nametag.js +129 -0
  92. package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/AnimatedSentence.js +20 -0
  93. package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/AnimatedSentenceDefault.js +29 -0
  94. package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence/SentenceSimple.helpers.js +61 -0
  95. package/dist/screenplay/RemotionRenderer/theme/themes/default/Sentence.js +86 -0
  96. package/dist/screenplay/RemotionRenderer/theme/themes/default/Title.js +112 -0
  97. package/dist/screenplay/RemotionRenderer/theme/themes/default/constants.js +1 -0
  98. package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Nametag.js +134 -0
  99. package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Sentence.js +49 -0
  100. package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/Title.js +108 -0
  101. package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/animations.js +30 -0
  102. package/dist/screenplay/RemotionRenderer/theme/themes/glassmorphism/config.js +9 -0
  103. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchNametag.js +252 -0
  104. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchSentence.js +156 -0
  105. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/GlitchTitle.js +142 -0
  106. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/DisplacedText.js +66 -0
  107. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/GlitchAnimatedLine.js +38 -0
  108. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/components/SplitSentence.js +80 -0
  109. package/dist/screenplay/RemotionRenderer/theme/themes/glitch/helpers.js +32 -0
  110. package/dist/screenplay/RemotionRenderer/theme/themes/none/Nametag.js +3 -0
  111. package/dist/screenplay/RemotionRenderer/theme/themes/none/Title.js +3 -0
  112. package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullNametag.js +165 -0
  113. package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullSentence.js +94 -0
  114. package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/PushPullTitle.js +98 -0
  115. package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/designs/sentence.js +92 -0
  116. package/dist/screenplay/RemotionRenderer/theme/themes/pushpull/designs/title.js +119 -0
  117. package/dist/screenplay/RemotionRenderer/theme/themes/sports/Nametag.js +122 -0
  118. package/dist/screenplay/RemotionRenderer/theme/themes/sports/SportsCaption.js +93 -0
  119. package/dist/screenplay/RemotionRenderer/theme/themes/sports/SportsSentence.js +76 -0
  120. package/dist/screenplay/RemotionRenderer/theme/themes/sports/Title.js +90 -0
  121. package/dist/screenplay/RemotionRenderer/theme/themes/sports/shared.js +62 -0
  122. package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/Nametag.js +145 -0
  123. package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/SportsBounceSentence.js +148 -0
  124. package/dist/screenplay/RemotionRenderer/theme/themes/sportsbounce/Title.js +160 -0
  125. package/dist/screenplay/RemotionRenderer/tracks/AudioTrack.js +23 -0
  126. package/dist/screenplay/RemotionRenderer/tracks/CaptionsVideoTrack.js +23 -0
  127. package/dist/screenplay/RemotionRenderer/tracks/DynamicVideoComposition.js +31 -0
  128. package/dist/screenplay/RemotionRenderer/tracks/EffectsVideoTrack.js +23 -0
  129. package/dist/screenplay/RemotionRenderer/tracks/LayoutVideoTrack.js +141 -0
  130. package/dist/screenplay/RemotionRenderer/tracks/Soundtrack.js +16 -0
  131. package/dist/screenplay/RemotionRenderer/tracks/Watermark.js +23 -0
  132. package/dist/screenplay/RemotionRenderer/tracks/transitions/GlitchOne.js +92 -0
  133. 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
+ };