@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,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,3 @@
1
+ export var NoneNametag = function NoneNametag() {
2
+ return null;
3
+ };
@@ -0,0 +1,3 @@
1
+ export var NoneTitle = function NoneTitle() {
2
+ return null;
3
+ };
@@ -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
+ };