@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,129 @@
1
+ import { Easing, useVideoConfig } from "remotion";
2
+ import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
3
+ import { loadFont } from "@remotion/google-fonts/Poppins";
4
+ import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
5
+ import React from "react";
6
+ var _loadFont = loadFont(),
7
+ fontFamily = _loadFont.fontFamily;
8
+ export var Nametag = function Nametag(_ref) {
9
+ var name = _ref.name,
10
+ title = _ref.title,
11
+ themeSettings = _ref.themeSettings;
12
+ var _useVideoConfig = useVideoConfig(),
13
+ width = _useVideoConfig.width;
14
+ var _useOrientationBased = useOrientationBased({
15
+ portrait: {
16
+ bottom: 440,
17
+ left: 100,
18
+ top: undefined,
19
+ maxWidth: width - 200,
20
+ nameFontSize: 60,
21
+ titleFontSize: 50
22
+ },
23
+ landscape: {
24
+ top: undefined,
25
+ left: 100,
26
+ bottom: 225,
27
+ maxWidth: "450px",
28
+ nameFontSize: 40,
29
+ titleFontSize: 20
30
+ },
31
+ square: {
32
+ bottom: 240,
33
+ left: 100,
34
+ top: undefined,
35
+ maxWidth: width - 200,
36
+ nameFontSize: 40,
37
+ titleFontSize: 30
38
+ }
39
+ }),
40
+ top = _useOrientationBased.top,
41
+ left = _useOrientationBased.left,
42
+ bottom = _useOrientationBased.bottom,
43
+ maxWidth = _useOrientationBased.maxWidth,
44
+ nameFontSize = _useOrientationBased.nameFontSize,
45
+ titleFontSize = _useOrientationBased.titleFontSize;
46
+ var nameHeight = useTimeInterpolate([0, 0.5], [0, 100], {
47
+ easing: Easing["in"](Easing.quad),
48
+ extrapolateRight: "clamp"
49
+ });
50
+ var titleHeight = useTimeInterpolate([1, 1.5], [0, 100], {
51
+ easing: Easing["in"](Easing.quad),
52
+ extrapolateRight: "clamp",
53
+ extrapolateLeft: "clamp"
54
+ });
55
+ var nameOpacity = useTimeInterpolate([0.5, 1], [0, 1], {
56
+ easing: Easing["in"](Easing.quad),
57
+ extrapolateRight: "clamp",
58
+ extrapolateLeft: "clamp"
59
+ });
60
+ var titleOpacity = useTimeInterpolate([1.5, 2], [0, 1], {
61
+ easing: Easing["in"](Easing.quad),
62
+ extrapolateRight: "clamp",
63
+ extrapolateLeft: "clamp"
64
+ });
65
+ var textColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.primaryColor) || "#000000";
66
+ var backgroundColor = (themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.secondaryColor) || "#ffffff";
67
+ return /*#__PURE__*/React.createElement("div", {
68
+ style: {
69
+ position: "absolute",
70
+ display: "flex",
71
+ flexDirection: "column",
72
+ gap: 10,
73
+ left: left,
74
+ bottom: bottom,
75
+ top: top,
76
+ fontFamily: fontFamily
77
+ }
78
+ }, /*#__PURE__*/React.createElement("div", {
79
+ style: {
80
+ width: "fit-content",
81
+ fontSize: nameFontSize,
82
+ textTransform: "uppercase",
83
+ position: "relative",
84
+ isolation: "isolate"
85
+ }
86
+ }, /*#__PURE__*/React.createElement("div", {
87
+ style: {
88
+ position: "absolute",
89
+ backgroundColor: backgroundColor,
90
+ borderRadius: 10,
91
+ width: "100%",
92
+ height: "".concat(nameHeight, "%"),
93
+ bottom: 0,
94
+ zIndex: -1
95
+ }
96
+ }), /*#__PURE__*/React.createElement("div", {
97
+ style: {
98
+ padding: "10px 20px",
99
+ opacity: nameOpacity,
100
+ color: textColor
101
+ }
102
+ }, name)), /*#__PURE__*/React.createElement("div", {
103
+ style: {
104
+ position: "relative",
105
+ width: "fit-content",
106
+ maxWidth: maxWidth,
107
+ fontSize: titleFontSize,
108
+ fontWeight: 600,
109
+ isolation: "isolate",
110
+ opacity: title ? 1 : 0
111
+ }
112
+ }, /*#__PURE__*/React.createElement("div", {
113
+ style: {
114
+ position: "absolute",
115
+ backgroundColor: backgroundColor,
116
+ borderRadius: 10,
117
+ width: "100%",
118
+ height: "".concat(titleHeight, "%"),
119
+ bottom: 0,
120
+ zIndex: -1
121
+ }
122
+ }), /*#__PURE__*/React.createElement("div", {
123
+ style: {
124
+ padding: "10px 20px",
125
+ opacity: titleOpacity,
126
+ color: textColor
127
+ }
128
+ }, title)));
129
+ };
@@ -0,0 +1,20 @@
1
+ import { Easing, interpolate, useCurrentFrame, useVideoConfig } from "remotion";
2
+ var ANIMATION_DELAY_FACTOR = 0.25;
3
+ var ANIMATION_DURATION = 60;
4
+ export var AnimatedSentence = function AnimatedSentence(_ref) {
5
+ var children = _ref.children,
6
+ index = _ref.index;
7
+ var frame = useCurrentFrame();
8
+ var _useVideoConfig = useVideoConfig(),
9
+ fps = _useVideoConfig.fps;
10
+ var positionY = interpolate(frame, [index * fps * ANIMATION_DELAY_FACTOR, ANIMATION_DURATION / (ANIMATION_DURATION / fps) + index * fps * ANIMATION_DELAY_FACTOR], [200, 0], {
11
+ easing: Easing.out(Easing.quad),
12
+ extrapolateRight: "clamp",
13
+ extrapolateLeft: "clamp"
14
+ });
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ style: {
17
+ transform: "translateY(".concat(positionY, "vh)")
18
+ }
19
+ }, children);
20
+ };
@@ -0,0 +1,29 @@
1
+ import { Easing, interpolate, useCurrentFrame, useVideoConfig } from "remotion";
2
+ import React, { useMemo } from "react";
3
+ var ANIMATION_DELAY_FACTOR = 0.25;
4
+ var ANIMATION_DURATION = 1;
5
+ export var AnimatedSentenceDefault = function AnimatedSentenceDefault(_ref) {
6
+ var children = _ref.children,
7
+ index = _ref.index;
8
+ var frame = useCurrentFrame();
9
+ var _useVideoConfig = useVideoConfig(),
10
+ fps = _useVideoConfig.fps;
11
+ var positionX = interpolate(frame, [index * fps * ANIMATION_DELAY_FACTOR, ANIMATION_DURATION / (ANIMATION_DURATION / fps) + index * fps * ANIMATION_DELAY_FACTOR], [3000, 0], {
12
+ easing: Easing.out(Easing.quad),
13
+ extrapolateRight: "clamp",
14
+ extrapolateLeft: "clamp"
15
+ });
16
+ var opacityStart = 28;
17
+ var opacityEnd = 33;
18
+ var opacity = interpolate(frame, [opacityStart + index * fps * ANIMATION_DELAY_FACTOR, opacityEnd + index * fps * ANIMATION_DELAY_FACTOR], [0, 1], {
19
+ easing: Easing.out(Easing.quad),
20
+ extrapolateRight: "clamp",
21
+ extrapolateLeft: "clamp"
22
+ });
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ style: {
25
+ transform: "translateX(".concat(positionX, "vh)"),
26
+ opacity: opacity
27
+ }
28
+ }, children);
29
+ };
@@ -0,0 +1,61 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread 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 _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ 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; }
7
+ export var distributeTextToFit = function distributeTextToFit(text, maxWidth, maxHeight, maxFontSize) {
8
+ var words = text ? text.replaceAll("-", " - ").split(" ") : [];
9
+ function calculateTextDimensions(lines, fontSize) {
10
+ var lineHeight = fontSize * 1.6;
11
+ var totalHeight = lines.length * lineHeight;
12
+ var maxLineWidth = Math.max.apply(Math, _toConsumableArray(lines.map(function (line) {
13
+ return calculateLineWidth(line, fontSize);
14
+ })));
15
+ return {
16
+ width: maxLineWidth,
17
+ height: totalHeight
18
+ };
19
+ }
20
+ function calculateLineWidth(line, fontSize) {
21
+ var charWidth = fontSize * 0.6;
22
+ return line.length * charWidth;
23
+ }
24
+ function wrapText(words, fontSize, maxWidth) {
25
+ var lines = [];
26
+ var line = "";
27
+ words.forEach(function (word) {
28
+ var testLine = line.length ? line + " " + word : word;
29
+ if (calculateLineWidth(testLine, fontSize) <= maxWidth) {
30
+ line = testLine;
31
+ } else {
32
+ if (line.length) {
33
+ lines.push(line);
34
+ }
35
+ if (calculateLineWidth(word, fontSize) > maxWidth) {
36
+ var splitWord = word;
37
+ while (calculateLineWidth(splitWord, fontSize) > maxWidth && fontSize > 1) {
38
+ fontSize -= 1;
39
+ }
40
+ }
41
+ line = word;
42
+ }
43
+ });
44
+ if (line.length) {
45
+ lines.push(line);
46
+ }
47
+ return lines;
48
+ }
49
+ var fontSize = maxFontSize;
50
+ var lines = wrapText(words, fontSize, maxWidth);
51
+ var dimensions = calculateTextDimensions(lines, fontSize);
52
+ while ((dimensions.height > maxHeight || dimensions.width > maxWidth) && fontSize > 1) {
53
+ fontSize -= 1;
54
+ lines = wrapText(words, fontSize, maxWidth);
55
+ dimensions = calculateTextDimensions(lines, fontSize);
56
+ }
57
+ return {
58
+ lines: lines,
59
+ fontSize: fontSize
60
+ };
61
+ };
@@ -0,0 +1,86 @@
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 { AbsoluteFill } from "remotion";
8
+ import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
9
+ import { loadFont } from "@remotion/google-fonts/Kanit";
10
+ import { CHROME_PADDING } from "../../../config.js";
11
+ import { defaultGlassmorphismStyles } from "../glassmorphism/config.js";
12
+ import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
13
+ import { AnimatedSentenceDefault } from "./Sentence/AnimatedSentenceDefault";
14
+ var _loadFont = loadFont(),
15
+ fontFamily = _loadFont.fontFamily;
16
+ import React from "react";
17
+ export var Sentence = function Sentence(_ref) {
18
+ var lines = _ref.lines,
19
+ fontSize = _ref.fontSize,
20
+ maxWidth = _ref.maxWidth,
21
+ maxHeight = _ref.maxHeight;
22
+ var opacity = useTimeInterpolate([0, 0.5], [0, 1]);
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
+ return /*#__PURE__*/React.createElement(AbsoluteFill, {
45
+ style: {
46
+ display: "flex",
47
+ alignItems: alignItems,
48
+ justifyContent: justifyContent,
49
+ padding: padding
50
+ }
51
+ }, /*#__PURE__*/React.createElement("div", {
52
+ style: {
53
+ width: maxWidth,
54
+ height: maxHeight,
55
+ display: "flex",
56
+ flexDirection: "column",
57
+ alignItems: "end",
58
+ justifyContent: "start",
59
+ opacity: opacity
60
+ }
61
+ }, /*#__PURE__*/React.createElement("div", {
62
+ style: _objectSpread({
63
+ borderRadius: "30px",
64
+ textAlign: "right",
65
+ padding: CHROME_PADDING
66
+ }, defaultGlassmorphismStyles)
67
+ }, lines.map(function (line, index) {
68
+ return /*#__PURE__*/React.createElement(AnimatedSentenceDefault, {
69
+ key: index,
70
+ index: index,
71
+ linesCount: lines.length
72
+ }, /*#__PURE__*/React.createElement("p", {
73
+ style: {
74
+ animationDelay: "".concat(index * 1000, "ms"),
75
+ color: "#000",
76
+ fontWeight: 700,
77
+ fontSize: fontSize,
78
+ textTransform: "uppercase",
79
+ lineHeight: 1.0,
80
+ margin: 0,
81
+ fontFamily: fontFamily,
82
+ textWrap: "nowrap"
83
+ }
84
+ }, line));
85
+ }))));
86
+ };
@@ -0,0 +1,112 @@
1
+ import { loadFont } from "@remotion/google-fonts/Poppins";
2
+ import { distributeTextToFit } from "./Sentence/SentenceSimple.helpers.js";
3
+ import { AbsoluteFill, useVideoConfig } from "remotion";
4
+ import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
5
+ import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
6
+ import React from "react";
7
+ var _loadFont = loadFont(),
8
+ fontFamily = _loadFont.fontFamily;
9
+ var VerticalRevealer = function VerticalRevealer(_ref) {
10
+ var children = _ref.children,
11
+ _ref$index = _ref.index,
12
+ index = _ref$index === void 0 ? 0 : _ref$index;
13
+ var adjustment = index * 0.5;
14
+ var textOpacity = useTimeInterpolate([0.5 + adjustment, 1 + adjustment], [0, 1], {
15
+ extrapolateRight: "clamp",
16
+ extrapolateLeft: "clamp"
17
+ });
18
+ var revealerPositionIn = useTimeInterpolate([adjustment, 0.5 + adjustment], [-100, 0], {
19
+ extrapolateRight: "clamp",
20
+ extrapolateLeft: "clamp"
21
+ });
22
+ var currentRevealerPosition = revealerPositionIn;
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ style: {
25
+ position: "relative",
26
+ marginBottom: 15,
27
+ width: "fit-content",
28
+ overflow: "hidden",
29
+ isolation: "isolate",
30
+ padding: "10px 20px",
31
+ marginLeft: "auto"
32
+ }
33
+ }, /*#__PURE__*/React.createElement("div", {
34
+ style: {
35
+ position: "absolute",
36
+ inset: 0,
37
+ backgroundColor: "white",
38
+ borderRadius: 10,
39
+ transform: "translateY(".concat(currentRevealerPosition * -1, "%)")
40
+ }
41
+ }), /*#__PURE__*/React.createElement("div", {
42
+ style: {
43
+ position: "relative",
44
+ opacity: textOpacity,
45
+ zIndex: 1
46
+ }
47
+ }, children));
48
+ };
49
+ export var Title = function Title(_ref2) {
50
+ var text = _ref2.text;
51
+ var _useOrientationBased = useOrientationBased({
52
+ portrait: {
53
+ top: 125,
54
+ right: 140,
55
+ width: 700
56
+ },
57
+ landscape: {
58
+ top: 75,
59
+ right: 75,
60
+ width: 1550
61
+ },
62
+ square: {
63
+ top: 75,
64
+ right: 75,
65
+ width: 700
66
+ }
67
+ }),
68
+ top = _useOrientationBased.top,
69
+ right = _useOrientationBased.right,
70
+ width = _useOrientationBased.width;
71
+ var _useOrientationBased2 = useOrientationBased({
72
+ portrait: {
73
+ maxFontSize: 50
74
+ },
75
+ landscape: {
76
+ maxFontSize: 50
77
+ },
78
+ square: {
79
+ maxFontSize: 50
80
+ }
81
+ }),
82
+ maxFontSize = _useOrientationBased2.maxFontSize;
83
+ var _useVideoConfig = useVideoConfig(),
84
+ height = _useVideoConfig.height;
85
+ var _distributeTextToFit = distributeTextToFit(text, width, height, maxFontSize),
86
+ lines = _distributeTextToFit.lines,
87
+ fontSize = _distributeTextToFit.fontSize;
88
+ return /*#__PURE__*/React.createElement(AbsoluteFill, null, /*#__PURE__*/React.createElement("div", {
89
+ style: {
90
+ position: "absolute",
91
+ top: top,
92
+ right: right,
93
+ width: width,
94
+ textAlign: "center"
95
+ }
96
+ }, lines.map(function (line, index) {
97
+ return /*#__PURE__*/React.createElement(VerticalRevealer, {
98
+ key: index,
99
+ index: index
100
+ }, /*#__PURE__*/React.createElement("h1", {
101
+ style: {
102
+ fontSize: fontSize,
103
+ fontWeight: 600,
104
+ color: "#333",
105
+ fontFamily: fontFamily,
106
+ padding: 0,
107
+ margin: 0,
108
+ textWrap: "nowrap"
109
+ }
110
+ }, line));
111
+ })));
112
+ };
@@ -0,0 +1 @@
1
+ export var CAPTION_PORTRAIT_BOTTOM_OFFSET = 420;
@@ -0,0 +1,134 @@
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, useVideoConfig } from "remotion";
8
+ import { useOrientationBased } from "../../../hooks/useOrientationBased.js";
9
+ import { loadFont } from "@remotion/google-fonts/Poppins";
10
+ import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
11
+ import { useTheme } from "../../hooks/useTheme.js";
12
+ import { defaultGlassmorphismStyles } from "./config.js";
13
+ import { FloatAnimation } from "./animations.js";
14
+ import React from "react";
15
+ var _loadFont = loadFont(),
16
+ fontFamily = _loadFont.fontFamily;
17
+ export var Nametag = function Nametag(_ref) {
18
+ var name = _ref.name,
19
+ title = _ref.title;
20
+ var _useVideoConfig = useVideoConfig(),
21
+ width = _useVideoConfig.width;
22
+ var _useTheme = useTheme(),
23
+ primaryColor = _useTheme.primaryColor;
24
+ var _useOrientationBased = useOrientationBased({
25
+ portrait: {
26
+ bottom: 225,
27
+ left: 100,
28
+ top: undefined,
29
+ maxWidth: width - 200,
30
+ nameFontSize: 60,
31
+ titleFontSize: 50
32
+ },
33
+ landscape: {
34
+ top: undefined,
35
+ left: 100,
36
+ bottom: 175,
37
+ maxWidth: "450px",
38
+ nameFontSize: 40,
39
+ titleFontSize: 20
40
+ },
41
+ square: {
42
+ bottom: 220,
43
+ left: 100,
44
+ top: undefined,
45
+ maxWidth: width - 200,
46
+ nameFontSize: 40,
47
+ titleFontSize: 30
48
+ }
49
+ }),
50
+ top = _useOrientationBased.top,
51
+ left = _useOrientationBased.left,
52
+ bottom = _useOrientationBased.bottom,
53
+ maxWidth = _useOrientationBased.maxWidth,
54
+ nameFontSize = _useOrientationBased.nameFontSize,
55
+ titleFontSize = _useOrientationBased.titleFontSize;
56
+ var nameHeight = useTimeInterpolate([0, 0.5], [0, 100], {
57
+ easing: Easing["in"](Easing.quad),
58
+ extrapolateRight: "clamp"
59
+ });
60
+ var titleHeight = useTimeInterpolate([1, 1.5], [0, 100], {
61
+ easing: Easing["in"](Easing.quad),
62
+ extrapolateRight: "clamp",
63
+ extrapolateLeft: "clamp"
64
+ });
65
+ var nameOpacity = useTimeInterpolate([0.5, 1], [0, 1], {
66
+ easing: Easing["in"](Easing.quad),
67
+ extrapolateRight: "clamp",
68
+ extrapolateLeft: "clamp"
69
+ });
70
+ var titleOpacity = useTimeInterpolate([1.5, 2], [0, 1], {
71
+ easing: Easing["in"](Easing.quad),
72
+ extrapolateRight: "clamp",
73
+ extrapolateLeft: "clamp"
74
+ });
75
+ return /*#__PURE__*/React.createElement("div", {
76
+ style: {
77
+ position: "absolute",
78
+ display: "flex",
79
+ flexDirection: "column",
80
+ gap: 10,
81
+ left: left,
82
+ bottom: bottom,
83
+ top: top,
84
+ fontFamily: fontFamily
85
+ }
86
+ }, /*#__PURE__*/React.createElement("div", {
87
+ style: {
88
+ width: "fit-content",
89
+ fontSize: nameFontSize,
90
+ textTransform: "uppercase",
91
+ position: "relative",
92
+ isolation: "isolate"
93
+ }
94
+ }, /*#__PURE__*/React.createElement("div", {
95
+ style: {
96
+ position: "absolute",
97
+ width: "100%",
98
+ height: "".concat(nameHeight, "%"),
99
+ bottom: 0,
100
+ zIndex: -1
101
+ }
102
+ }), /*#__PURE__*/React.createElement(FloatAnimation, null, /*#__PURE__*/React.createElement("div", {
103
+ style: _objectSpread(_objectSpread({}, defaultGlassmorphismStyles), {}, {
104
+ borderRadius: 15,
105
+ color: primaryColor,
106
+ padding: "10px 20px",
107
+ opacity: nameOpacity
108
+ })
109
+ }, name))), /*#__PURE__*/React.createElement("div", {
110
+ style: {
111
+ position: "relative",
112
+ width: "fit-content",
113
+ maxWidth: maxWidth,
114
+ fontSize: titleFontSize,
115
+ fontWeight: 600,
116
+ isolation: "isolate"
117
+ }
118
+ }, /*#__PURE__*/React.createElement("div", {
119
+ style: {
120
+ position: "absolute",
121
+ width: "100%",
122
+ height: "".concat(titleHeight, "%"),
123
+ bottom: 0,
124
+ zIndex: -1
125
+ }
126
+ }), /*#__PURE__*/React.createElement(FloatAnimation, null, /*#__PURE__*/React.createElement("div", {
127
+ style: _objectSpread(_objectSpread({}, defaultGlassmorphismStyles), {}, {
128
+ borderRadius: 15,
129
+ color: primaryColor,
130
+ padding: "10px 20px",
131
+ opacity: titleOpacity
132
+ })
133
+ }, title))));
134
+ };
@@ -0,0 +1,49 @@
1
+ import { AbsoluteFill } from "remotion";
2
+ import { useTimeInterpolate } from "../../../hooks/useTimeInterpolate.js";
3
+ import { AnimatedSentence } from "../default/Sentence/AnimatedSentence";
4
+ import { loadFont } from "@remotion/google-fonts/Poppins";
5
+ import React from "react";
6
+ var _loadFont = loadFont(),
7
+ fontFamily = _loadFont.fontFamily;
8
+ export var Sentence = function Sentence(_ref) {
9
+ var lines = _ref.lines,
10
+ fontSize = _ref.fontSize,
11
+ maxWidth = _ref.maxWidth,
12
+ maxHeight = _ref.maxHeight;
13
+ var opacity = useTimeInterpolate([0, 0.5], [0, 1]);
14
+ return /*#__PURE__*/React.createElement(AbsoluteFill, {
15
+ style: {
16
+ display: "grid",
17
+ placeContent: "center"
18
+ }
19
+ }, /*#__PURE__*/React.createElement("div", {
20
+ style: {
21
+ width: maxWidth,
22
+ height: maxHeight,
23
+ background: "rgba(255, 255, 255, 0.75)",
24
+ borderRadius: "30px",
25
+ display: "flex",
26
+ flexDirection: "column",
27
+ alignItems: "center",
28
+ justifyContent: "center",
29
+ opacity: opacity
30
+ }
31
+ }, lines.map(function (line, index) {
32
+ return /*#__PURE__*/React.createElement(AnimatedSentence, {
33
+ key: index,
34
+ index: index,
35
+ linesCount: lines.length
36
+ }, /*#__PURE__*/React.createElement("p", {
37
+ style: {
38
+ text: "#101840",
39
+ fontSize: fontSize,
40
+ fontWeight: "bold",
41
+ textTransform: "uppercase",
42
+ lineHeight: 1.6,
43
+ margin: 0,
44
+ fontFamily: fontFamily,
45
+ textWrap: "nowrap"
46
+ }
47
+ }, line));
48
+ })));
49
+ };