@remotion/promo-pages 4.0.304 → 4.0.306

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 (174) hide show
  1. package/.turbo/turbo-make.log +2 -2
  2. package/dist/Homepage.js +74 -68
  3. package/dist/cn.d.ts +2 -0
  4. package/dist/cn.js +5 -0
  5. package/dist/components/Homepage.d.ts +6 -0
  6. package/dist/components/Homepage.js +20 -0
  7. package/dist/components/homepage/BackgroundAnimation.d.ts +2 -0
  8. package/dist/components/homepage/BackgroundAnimation.js +66 -0
  9. package/dist/components/homepage/ChooseTemplate.d.ts +2 -0
  10. package/dist/components/homepage/ChooseTemplate.js +27 -0
  11. package/dist/components/homepage/CommunityStats.d.ts +3 -0
  12. package/dist/components/homepage/CommunityStats.js +6 -0
  13. package/dist/components/homepage/CommunityStatsItems.d.ts +7 -0
  14. package/dist/components/homepage/CommunityStatsItems.js +58 -0
  15. package/dist/components/homepage/Counter.d.ts +8 -0
  16. package/dist/components/homepage/Counter.js +47 -0
  17. package/dist/components/homepage/Demo/Card.d.ts +15 -0
  18. package/dist/components/homepage/Demo/Card.js +174 -0
  19. package/dist/components/homepage/Demo/Cards.d.ts +15 -0
  20. package/dist/components/homepage/Demo/Cards.js +57 -0
  21. package/dist/components/homepage/Demo/Comp.d.ts +38 -0
  22. package/dist/components/homepage/Demo/Comp.js +71 -0
  23. package/dist/components/homepage/Demo/CurrentCountry.d.ts +9 -0
  24. package/dist/components/homepage/Demo/CurrentCountry.js +48 -0
  25. package/dist/components/homepage/Demo/DemoError.d.ts +2 -0
  26. package/dist/components/homepage/Demo/DemoError.js +10 -0
  27. package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +2 -0
  28. package/dist/components/homepage/Demo/DemoErrorIcon.js +16 -0
  29. package/dist/components/homepage/Demo/DemoRender.d.ts +102 -0
  30. package/dist/components/homepage/Demo/DemoRender.js +95 -0
  31. package/dist/components/homepage/Demo/DigitWheel.d.ts +9 -0
  32. package/dist/components/homepage/Demo/DigitWheel.js +94 -0
  33. package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +5 -0
  34. package/dist/components/homepage/Demo/DisplayedEmoji.js +49 -0
  35. package/dist/components/homepage/Demo/DoneCheckmark.d.ts +2 -0
  36. package/dist/components/homepage/Demo/DoneCheckmark.js +20 -0
  37. package/dist/components/homepage/Demo/DownloadNudge.d.ts +2 -0
  38. package/dist/components/homepage/Demo/DownloadNudge.js +27 -0
  39. package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +3 -0
  40. package/dist/components/homepage/Demo/DragAndDropNudge.js +26 -0
  41. package/dist/components/homepage/Demo/EmojiCard.d.ts +10 -0
  42. package/dist/components/homepage/Demo/EmojiCard.js +119 -0
  43. package/dist/components/homepage/Demo/Minus.d.ts +5 -0
  44. package/dist/components/homepage/Demo/Minus.js +11 -0
  45. package/dist/components/homepage/Demo/PlayPauseButton.d.ts +5 -0
  46. package/dist/components/homepage/Demo/PlayPauseButton.js +47 -0
  47. package/dist/components/homepage/Demo/PlayerControls.d.ts +8 -0
  48. package/dist/components/homepage/Demo/PlayerControls.js +15 -0
  49. package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +11 -0
  50. package/dist/components/homepage/Demo/PlayerSeekBar.js +216 -0
  51. package/dist/components/homepage/Demo/PlayerVolume.d.ts +5 -0
  52. package/dist/components/homepage/Demo/PlayerVolume.js +53 -0
  53. package/dist/components/homepage/Demo/Progress.d.ts +4 -0
  54. package/dist/components/homepage/Demo/Progress.js +14 -0
  55. package/dist/components/homepage/Demo/Spinner.d.ts +5 -0
  56. package/dist/components/homepage/Demo/Spinner.js +37 -0
  57. package/dist/components/homepage/Demo/Switcher.d.ts +6 -0
  58. package/dist/components/homepage/Demo/Switcher.js +25 -0
  59. package/dist/components/homepage/Demo/Temperature.d.ts +6 -0
  60. package/dist/components/homepage/Demo/Temperature.js +21 -0
  61. package/dist/components/homepage/Demo/TemperatureNumber.d.ts +5 -0
  62. package/dist/components/homepage/Demo/TemperatureNumber.js +36 -0
  63. package/dist/components/homepage/Demo/ThemeNudge.d.ts +3 -0
  64. package/dist/components/homepage/Demo/ThemeNudge.js +35 -0
  65. package/dist/components/homepage/Demo/TimeDisplay.d.ts +6 -0
  66. package/dist/components/homepage/Demo/TimeDisplay.js +27 -0
  67. package/dist/components/homepage/Demo/TrendingRepos.d.ts +6 -0
  68. package/dist/components/homepage/Demo/TrendingRepos.js +65 -0
  69. package/dist/components/homepage/Demo/icons.d.ts +10 -0
  70. package/dist/components/homepage/Demo/icons.js +22 -0
  71. package/dist/components/homepage/Demo/index.d.ts +2 -0
  72. package/dist/components/homepage/Demo/index.js +95 -0
  73. package/dist/components/homepage/Demo/math.d.ts +10 -0
  74. package/dist/components/homepage/Demo/math.js +29 -0
  75. package/dist/components/homepage/Demo/types.d.ts +6 -0
  76. package/dist/components/homepage/Demo/types.js +0 -0
  77. package/dist/components/homepage/Editor.d.ts +2 -0
  78. package/dist/components/homepage/Editor.js +37 -0
  79. package/dist/components/homepage/EvaluateRemotion.d.ts +3 -0
  80. package/dist/components/homepage/EvaluateRemotion.js +39 -0
  81. package/dist/components/homepage/FreePricing.d.ts +4 -0
  82. package/dist/components/homepage/FreePricing.js +80 -0
  83. package/dist/components/homepage/GetStartedStrip.d.ts +2 -0
  84. package/dist/components/homepage/GetStartedStrip.js +14 -0
  85. package/dist/components/homepage/GitHubButton.d.ts +2 -0
  86. package/dist/components/homepage/GitHubButton.js +7 -0
  87. package/dist/components/homepage/IconForTemplate.d.ts +6 -0
  88. package/dist/components/homepage/IconForTemplate.js +94 -0
  89. package/dist/components/homepage/IfYouKnowReact.d.ts +3 -0
  90. package/dist/components/homepage/IfYouKnowReact.js +20 -0
  91. package/dist/components/homepage/InfoTooltip.d.ts +6 -0
  92. package/dist/components/homepage/InfoTooltip.js +6 -0
  93. package/dist/components/homepage/MoreTemplatesButton.d.ts +2 -0
  94. package/dist/components/homepage/MoreTemplatesButton.js +10 -0
  95. package/dist/components/homepage/MuxVideo.d.ts +7 -0
  96. package/dist/components/homepage/MuxVideo.js +45 -0
  97. package/dist/components/homepage/NewsletterButton.d.ts +2 -0
  98. package/dist/components/homepage/NewsletterButton.js +38 -0
  99. package/dist/components/homepage/Pricing.d.ts +2 -0
  100. package/dist/components/homepage/Pricing.js +15 -0
  101. package/dist/components/homepage/PricingBulletPoint.d.ts +6 -0
  102. package/dist/components/homepage/PricingBulletPoint.js +19 -0
  103. package/dist/components/homepage/RealMp4Videos.d.ts +2 -0
  104. package/dist/components/homepage/RealMp4Videos.js +32 -0
  105. package/dist/components/homepage/Spacer.d.ts +2 -0
  106. package/dist/components/homepage/Spacer.js +4 -0
  107. package/dist/components/homepage/TemplateIcon.d.ts +5 -0
  108. package/dist/components/homepage/TemplateIcon.js +24 -0
  109. package/dist/components/homepage/TextInput.d.ts +7 -0
  110. package/dist/components/homepage/TextInput.js +34 -0
  111. package/dist/components/homepage/TrustedByBanner.d.ts +2 -0
  112. package/dist/components/homepage/TrustedByBanner.js +32 -0
  113. package/dist/components/homepage/VideoApps.d.ts +4 -0
  114. package/dist/components/homepage/VideoApps.js +72 -0
  115. package/dist/components/homepage/VideoAppsShowcase.d.ts +3 -0
  116. package/dist/components/homepage/VideoAppsShowcase.js +160 -0
  117. package/dist/components/homepage/VideoAppsTitle.d.ts +5 -0
  118. package/dist/components/homepage/VideoAppsTitle.js +7 -0
  119. package/dist/components/homepage/VideoPlayerWithControls.d.ts +20 -0
  120. package/dist/components/homepage/VideoPlayerWithControls.js +104 -0
  121. package/dist/components/homepage/WriteInReact.d.ts +2 -0
  122. package/dist/components/homepage/WriteInReact.js +10 -0
  123. package/dist/components/homepage/YouAreHere.d.ts +2 -0
  124. package/dist/components/homepage/YouAreHere.js +23 -0
  125. package/dist/components/homepage/layout/Button.d.ts +19 -0
  126. package/dist/components/homepage/layout/Button.js +29 -0
  127. package/dist/components/homepage/layout/colors.d.ts +13 -0
  128. package/dist/components/homepage/layout/colors.js +14 -0
  129. package/dist/components/homepage/layout/use-color-mode.d.ts +21 -0
  130. package/dist/components/homepage/layout/use-color-mode.js +22 -0
  131. package/dist/components/homepage/layout/use-el-size.d.ts +5 -0
  132. package/dist/components/homepage/layout/use-el-size.js +40 -0
  133. package/dist/components/homepage/layout/use-mobile-layout.d.ts +1 -0
  134. package/dist/components/homepage/layout/use-mobile-layout.js +6 -0
  135. package/dist/components/icons/blank.d.ts +3 -0
  136. package/dist/components/icons/blank.js +4 -0
  137. package/dist/components/icons/clone.d.ts +2 -0
  138. package/dist/components/icons/clone.js +2 -0
  139. package/dist/components/icons/code-hike.d.ts +3 -0
  140. package/dist/components/icons/code-hike.js +4 -0
  141. package/dist/components/icons/cubes.d.ts +3 -0
  142. package/dist/components/icons/cubes.js +4 -0
  143. package/dist/components/icons/js.d.ts +3 -0
  144. package/dist/components/icons/js.js +4 -0
  145. package/dist/components/icons/music.d.ts +2 -0
  146. package/dist/components/icons/music.js +4 -0
  147. package/dist/components/icons/next.d.ts +4 -0
  148. package/dist/components/icons/next.js +4 -0
  149. package/dist/components/icons/overlay.d.ts +3 -0
  150. package/dist/components/icons/overlay.js +4 -0
  151. package/dist/components/icons/remix.d.ts +3 -0
  152. package/dist/components/icons/remix.js +4 -0
  153. package/dist/components/icons/skia.d.ts +3 -0
  154. package/dist/components/icons/skia.js +4 -0
  155. package/dist/components/icons/stargazer.d.ts +3 -0
  156. package/dist/components/icons/stargazer.js +4 -0
  157. package/dist/components/icons/still.d.ts +3 -0
  158. package/dist/components/icons/still.js +4 -0
  159. package/dist/components/icons/tailwind.d.ts +3 -0
  160. package/dist/components/icons/tailwind.js +4 -0
  161. package/dist/components/icons/tiktok.d.ts +3 -0
  162. package/dist/components/icons/tiktok.js +4 -0
  163. package/dist/components/icons/ts.d.ts +3 -0
  164. package/dist/components/icons/ts.js +4 -0
  165. package/dist/components/icons/tts.d.ts +3 -0
  166. package/dist/components/icons/tts.js +4 -0
  167. package/dist/components/icons/undo.d.ts +3 -0
  168. package/dist/components/icons/undo.js +2 -0
  169. package/dist/components/icons/waveform.d.ts +3 -0
  170. package/dist/components/icons/waveform.js +4 -0
  171. package/dist/main.d.ts +1 -0
  172. package/dist/main.js +6 -0
  173. package/package.json +10 -10
  174. package/src/components/Homepage.tsx +1 -1
@@ -1,8 +1,8 @@
1
1
 
2
2
  
3
- > @remotion/promo-pages@4.0.304 make /Users/jonathanburger/remotion/packages/promo-pages
3
+ > @remotion/promo-pages@4.0.306 make /Users/jonathanburger/remotion/packages/promo-pages
4
4
  > bun --env-file=../.env.bundle bundle.ts
5
5
 
6
6
  ≈ tailwindcss v4.1.1
7
7
 
8
- Done in 40ms
8
+ Done in 35ms
package/dist/Homepage.js CHANGED
@@ -5016,7 +5016,7 @@ import { jsx as jsx14 } from "react/jsx-runtime";
5016
5016
  import {
5017
5017
  forwardRef as forwardRef4,
5018
5018
  useContext as useContext22,
5019
- useEffect as useEffect14,
5019
+ useEffect as useEffect13,
5020
5020
  useImperativeHandle as useImperativeHandle5,
5021
5021
  useMemo as useMemo20,
5022
5022
  useRef as useRef11,
@@ -5030,20 +5030,20 @@ import React13, {
5030
5030
  createRef as createRef2,
5031
5031
  useCallback as useCallback6,
5032
5032
  useContext as useContext14,
5033
- useEffect as useEffect8,
5033
+ useEffect as useEffect7,
5034
5034
  useMemo as useMemo14,
5035
5035
  useRef as useRef4,
5036
5036
  useState as useState9
5037
5037
  } from "react";
5038
- import { useEffect as useEffect7, useMemo as useMemo13 } from "react";
5038
+ import { useMemo as useMemo13 } from "react";
5039
5039
  import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
5040
5040
  import { useRef as useRef5 } from "react";
5041
- import { useContext as useContext17, useEffect as useEffect9, useMemo as useMemo15, useState as useState10 } from "react";
5041
+ import { useContext as useContext17, useEffect as useEffect8, useMemo as useMemo15, useState as useState10 } from "react";
5042
5042
  import { useContext as useContext16 } from "react";
5043
5043
  import {
5044
5044
  useCallback as useCallback9,
5045
5045
  useContext as useContext20,
5046
- useEffect as useEffect13,
5046
+ useEffect as useEffect12,
5047
5047
  useLayoutEffect as useLayoutEffect5,
5048
5048
  useRef as useRef10
5049
5049
  } from "react";
@@ -5052,7 +5052,7 @@ import { useContext as useContext19, useMemo as useMemo17 } from "react";
5052
5052
  import React14, {
5053
5053
  useCallback as useCallback7,
5054
5054
  useContext as useContext18,
5055
- useEffect as useEffect10,
5055
+ useEffect as useEffect9,
5056
5056
  useLayoutEffect as useLayoutEffect4,
5057
5057
  useMemo as useMemo16,
5058
5058
  useRef as useRef7,
@@ -5060,14 +5060,14 @@ import React14, {
5060
5060
  } from "react";
5061
5061
  import { jsx as jsx16 } from "react/jsx-runtime";
5062
5062
  import React15 from "react";
5063
- import { useEffect as useEffect11, useState as useState12 } from "react";
5064
- import { useEffect as useEffect12, useRef as useRef9 } from "react";
5063
+ import { useEffect as useEffect10, useState as useState12 } from "react";
5064
+ import { useEffect as useEffect11, useRef as useRef9 } from "react";
5065
5065
  import { createContext as createContext16, useContext as useContext21, useMemo as useMemo19 } from "react";
5066
5066
  import { jsx as jsx17 } from "react/jsx-runtime";
5067
5067
  import {
5068
5068
  forwardRef as forwardRef5,
5069
5069
  useContext as useContext23,
5070
- useEffect as useEffect15,
5070
+ useEffect as useEffect14,
5071
5071
  useImperativeHandle as useImperativeHandle6,
5072
5072
  useLayoutEffect as useLayoutEffect6,
5073
5073
  useMemo as useMemo21,
@@ -5075,9 +5075,9 @@ import {
5075
5075
  } from "react";
5076
5076
  import { jsx as jsx18 } from "react/jsx-runtime";
5077
5077
  import { jsx as jsx19 } from "react/jsx-runtime";
5078
- import { Suspense, useContext as useContext26, useEffect as useEffect17 } from "react";
5078
+ import { Suspense, useContext as useContext26, useEffect as useEffect16 } from "react";
5079
5079
  import { createPortal } from "react-dom";
5080
- import { createContext as createContext17, useContext as useContext25, useEffect as useEffect16, useMemo as useMemo222 } from "react";
5080
+ import { createContext as createContext17, useContext as useContext25, useEffect as useEffect15, useMemo as useMemo222 } from "react";
5081
5081
  import { jsx as jsx20 } from "react/jsx-runtime";
5082
5082
  import { jsx as jsx21, jsxs as jsxs22 } from "react/jsx-runtime";
5083
5083
  import React19, { useMemo as useMemo23 } from "react";
@@ -5103,7 +5103,7 @@ import React23, {
5103
5103
  } from "react";
5104
5104
  import { jsx as jsx25 } from "react/jsx-runtime";
5105
5105
  import {
5106
- useEffect as useEffect18,
5106
+ useEffect as useEffect17,
5107
5107
  useLayoutEffect as useLayoutEffect8,
5108
5108
  useMemo as useMemo25,
5109
5109
  useRef as useRef15,
@@ -5123,7 +5123,7 @@ import { useCallback as useCallback15 } from "react";
5123
5123
  import {
5124
5124
  useCallback as useCallback14,
5125
5125
  useContext as useContext28,
5126
- useEffect as useEffect19,
5126
+ useEffect as useEffect18,
5127
5127
  useLayoutEffect as useLayoutEffect9,
5128
5128
  useMemo as useMemo28,
5129
5129
  useState as useState17
@@ -5132,20 +5132,20 @@ import { jsx as jsx30 } from "react/jsx-runtime";
5132
5132
  import {
5133
5133
  forwardRef as forwardRef10,
5134
5134
  useContext as useContext29,
5135
- useEffect as useEffect21,
5135
+ useEffect as useEffect20,
5136
5136
  useImperativeHandle as useImperativeHandle9,
5137
5137
  useMemo as useMemo29,
5138
5138
  useRef as useRef16,
5139
5139
  useState as useState18
5140
5140
  } from "react";
5141
- import { useEffect as useEffect20 } from "react";
5141
+ import { useEffect as useEffect19 } from "react";
5142
5142
  import { jsx as jsx31 } from "react/jsx-runtime";
5143
5143
  import { jsx as jsx322 } from "react/jsx-runtime";
5144
5144
  import { forwardRef as forwardRef12, useCallback as useCallback16, useContext as useContext31 } from "react";
5145
5145
  import {
5146
5146
  forwardRef as forwardRef11,
5147
5147
  useContext as useContext30,
5148
- useEffect as useEffect222,
5148
+ useEffect as useEffect21,
5149
5149
  useImperativeHandle as useImperativeHandle10,
5150
5150
  useLayoutEffect as useLayoutEffect10,
5151
5151
  useMemo as useMemo30,
@@ -5236,7 +5236,7 @@ var useIsPlayer = () => {
5236
5236
  function truthy(value) {
5237
5237
  return Boolean(value);
5238
5238
  }
5239
- var VERSION = "4.0.304";
5239
+ var VERSION = "4.0.306";
5240
5240
  var checkMultipleRemotionVersions = () => {
5241
5241
  if (typeof globalThis === "undefined") {
5242
5242
  return;
@@ -7488,9 +7488,6 @@ var getCrossOriginValue = ({
7488
7488
  if (requestsVideoFrame) {
7489
7489
  return "anonymous";
7490
7490
  }
7491
- if (!getRemotionEnvironment().isRendering) {
7492
- return "anonymous";
7493
- }
7494
7491
  return;
7495
7492
  };
7496
7493
  var LogLevelContext = createContext14({
@@ -7642,13 +7639,6 @@ var useSingletonAudioContext = (logLevel, latencyHint) => {
7642
7639
  latencyHint
7643
7640
  });
7644
7641
  }, [logLevel, latencyHint]);
7645
- useEffect7(() => {
7646
- return () => {
7647
- if (audioContext) {
7648
- audioContext.close();
7649
- }
7650
- };
7651
- }, [audioContext]);
7652
7642
  return audioContext;
7653
7643
  };
7654
7644
  var EMPTY_AUDIO = "data:audio/mp3;base64,/+MYxAAJcAV8AAgAABn//////+/gQ5BAMA+D4Pg+BAQBAEAwD4Pg+D4EBAEAQDAPg++hYBH///hUFQVBUFREDQNHmf///////+MYxBUGkAGIMAAAAP/29Xt6lUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/+MYxDUAAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";
@@ -7817,7 +7807,7 @@ var SharedAudioContextProvider = ({ children, numberOfAudioTags, component, audi
7817
7807
  audios.current = [];
7818
7808
  rerenderAudios();
7819
7809
  }, [numberOfAudioTags, rerenderAudios]);
7820
- useEffect8(() => {
7810
+ useEffect7(() => {
7821
7811
  return () => {
7822
7812
  resetAudio();
7823
7813
  };
@@ -7998,7 +7988,8 @@ var useVolume = ({
7998
7988
  mediaRef,
7999
7989
  volume,
8000
7990
  logLevel,
8001
- source
7991
+ source,
7992
+ shouldUseWebAudioApi
8002
7993
  }) => {
8003
7994
  const audioStuffRef = useRef6(null);
8004
7995
  const currentVolumeRef = useRef6(volume);
@@ -8015,6 +8006,9 @@ var useVolume = ({
8015
8006
  if (!mediaRef.current) {
8016
8007
  return;
8017
8008
  }
8009
+ if (!shouldUseWebAudioApi) {
8010
+ return;
8011
+ }
8018
8012
  if (mediaRef.current.playbackRate !== 1 && isSafari()) {
8019
8013
  warnSafariOnce(logLevel);
8020
8014
  return;
@@ -8037,7 +8031,7 @@ var useVolume = ({
8037
8031
  gainNode.disconnect();
8038
8032
  source.get().disconnect();
8039
8033
  };
8040
- }, [logLevel, mediaRef, audioContext, source]);
8034
+ }, [logLevel, mediaRef, audioContext, source, shouldUseWebAudioApi]);
8041
8035
  if (audioStuffRef.current) {
8042
8036
  const valueToSet = volume;
8043
8037
  if (!isApproximatelyTheSame(audioStuffRef.current.gainNode.gain.value, valueToSet)) {
@@ -8045,7 +8039,9 @@ var useVolume = ({
8045
8039
  Log.trace(logLevel, `Setting gain to ${valueToSet} for ${mediaRef.current?.src}`);
8046
8040
  }
8047
8041
  }
8048
- if (mediaRef.current && isSafari() && mediaRef.current?.playbackRate !== 1 && !isApproximatelyTheSame(volume, mediaRef.current?.volume)) {
8042
+ const safariCase = isSafari() && mediaRef.current && mediaRef.current?.playbackRate !== 1;
8043
+ const shouldUseTraditionalVolume = safariCase || !shouldUseWebAudioApi;
8044
+ if (shouldUseTraditionalVolume && mediaRef.current && !isApproximatelyTheSame(volume, mediaRef.current?.volume)) {
8049
8045
  mediaRef.current.volume = Math.min(volume, 1);
8050
8046
  }
8051
8047
  return audioStuffRef;
@@ -8142,12 +8138,12 @@ var useMediaInTimeline = ({
8142
8138
  });
8143
8139
  }).join(",");
8144
8140
  }, [duration, startsAt, volume, mediaVolume]);
8145
- useEffect9(() => {
8141
+ useEffect8(() => {
8146
8142
  if (typeof volume === "number" && volume !== initialVolume) {
8147
8143
  warnOnce2(`Remotion: The ${mediaType} with src ${src} has changed it's volume. Prefer the callback syntax for setting volume to get better timeline display: https://www.remotion.dev/docs/audio/volume`);
8148
8144
  }
8149
8145
  }, [initialVolume, mediaType, src, volume]);
8150
- useEffect9(() => {
8146
+ useEffect8(() => {
8151
8147
  if (!mediaRef.current) {
8152
8148
  return;
8153
8149
  }
@@ -8204,7 +8200,7 @@ var useMediaInTimeline = ({
8204
8200
  showInTimeline,
8205
8201
  premountDisplay
8206
8202
  ]);
8207
- useEffect9(() => {
8203
+ useEffect8(() => {
8208
8204
  const tag = {
8209
8205
  id,
8210
8206
  play: (reason) => {
@@ -8275,7 +8271,7 @@ var useBufferManager = (logLevel, mountTime) => {
8275
8271
  }
8276
8272
  };
8277
8273
  }, []);
8278
- useEffect10(() => {
8274
+ useEffect9(() => {
8279
8275
  if (blocks.length > 0) {
8280
8276
  onBufferingCallbacks.forEach((c) => c());
8281
8277
  playbackLogging({
@@ -8312,7 +8308,7 @@ var BufferingProvider = ({ children }) => {
8312
8308
  };
8313
8309
  var useIsPlayerBuffering = (bufferManager) => {
8314
8310
  const [isBuffering, setIsBuffering] = useState11(bufferManager.buffering.current);
8315
- useEffect10(() => {
8311
+ useEffect9(() => {
8316
8312
  const onBuffer = () => {
8317
8313
  setIsBuffering(true);
8318
8314
  };
@@ -8485,7 +8481,7 @@ var useMediaBuffering = ({
8485
8481
  }) => {
8486
8482
  const buffer = useBufferState();
8487
8483
  const [isBuffering, setIsBuffering] = useState12(false);
8488
- useEffect11(() => {
8484
+ useEffect10(() => {
8489
8485
  let cleanupFns = [];
8490
8486
  const { current } = element;
8491
8487
  if (!current) {
@@ -8609,7 +8605,7 @@ var useRequestVideoCallbackTime = ({
8609
8605
  onVariableFpsVideoDetected
8610
8606
  }) => {
8611
8607
  const currentTime = useRef9(null);
8612
- useEffect12(() => {
8608
+ useEffect11(() => {
8613
8609
  const { current } = mediaRef;
8614
8610
  if (current) {
8615
8611
  currentTime.current = {
@@ -8893,7 +8889,7 @@ var useMediaPlayback = ({
8893
8889
  return acceptableTimeshift ?? defaultAcceptableTimeshift;
8894
8890
  })();
8895
8891
  const isPlayerBuffering = useIsPlayerBuffering(buffering);
8896
- useEffect13(() => {
8892
+ useEffect12(() => {
8897
8893
  if (mediaRef.current?.paused) {
8898
8894
  return;
8899
8895
  }
@@ -8936,7 +8932,7 @@ var useMediaPlayback = ({
8936
8932
  mediaRef.current.playbackRate = playbackRateToSet;
8937
8933
  }
8938
8934
  }, [mediaRef, playbackRate]);
8939
- useEffect13(() => {
8935
+ useEffect12(() => {
8940
8936
  const tagName = mediaType === "audio" ? "<Audio>" : "<Video>";
8941
8937
  if (!mediaRef.current) {
8942
8938
  throw new Error(`No ${mediaType} ref found`);
@@ -9102,6 +9098,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9102
9098
  delayRenderRetries,
9103
9099
  delayRenderTimeoutInMilliseconds,
9104
9100
  toneFrequency,
9101
+ useWebAudioApi,
9105
9102
  ...nativeProps
9106
9103
  } = props;
9107
9104
  const _propsValid = true;
@@ -9124,11 +9121,16 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9124
9121
  volume,
9125
9122
  mediaVolume
9126
9123
  });
9124
+ const crossOriginValue = getCrossOriginValue({
9125
+ crossOrigin,
9126
+ requestsVideoFrame: false
9127
+ });
9127
9128
  const propsToPass = useMemo20(() => {
9128
9129
  return {
9129
9130
  muted: muted || mediaMuted || isSequenceHidden || userPreferredVolume <= 0,
9130
9131
  src: preloadedSrc,
9131
9132
  loop: _remotionInternalNativeLoopPassed,
9133
+ crossOrigin: crossOriginValue,
9132
9134
  ...nativeProps
9133
9135
  };
9134
9136
  }, [
@@ -9138,7 +9140,8 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9138
9140
  muted,
9139
9141
  nativeProps,
9140
9142
  preloadedSrc,
9141
- userPreferredVolume
9143
+ userPreferredVolume,
9144
+ crossOriginValue
9142
9145
  ]);
9143
9146
  const id = useMemo20(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
9144
9147
  src,
@@ -9183,14 +9186,15 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9183
9186
  logLevel,
9184
9187
  mediaRef: audioRef,
9185
9188
  source: mediaElementSourceNode,
9186
- volume: userPreferredVolume
9189
+ volume: userPreferredVolume,
9190
+ shouldUseWebAudioApi: useWebAudioApi ?? false
9187
9191
  });
9188
9192
  useImperativeHandle5(ref, () => {
9189
9193
  return audioRef.current;
9190
9194
  }, [audioRef]);
9191
9195
  const currentOnDurationCallback = useRef11(onDuration);
9192
9196
  currentOnDurationCallback.current = onDuration;
9193
- useEffect14(() => {
9197
+ useEffect13(() => {
9194
9198
  const { current } = audioRef;
9195
9199
  if (!current) {
9196
9200
  return;
@@ -9210,10 +9214,6 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
9210
9214
  if (initialShouldPreMountAudioElements) {
9211
9215
  return null;
9212
9216
  }
9213
- const crossOriginValue = getCrossOriginValue({
9214
- crossOrigin,
9215
- requestsVideoFrame: false
9216
- });
9217
9217
  return /* @__PURE__ */ jsx17("audio", {
9218
9218
  ref: audioRef,
9219
9219
  preload: "metadata",
@@ -9260,7 +9260,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
9260
9260
  useImperativeHandle6(ref, () => {
9261
9261
  return audioRef.current;
9262
9262
  }, []);
9263
- useEffect15(() => {
9263
+ useEffect14(() => {
9264
9264
  if (!props.src) {
9265
9265
  throw new Error("No src passed");
9266
9266
  }
@@ -9579,7 +9579,7 @@ var validateDefaultAndInputProps = (defaultProps, name, compositionId) => {
9579
9579
  }
9580
9580
  };
9581
9581
  var Fallback = () => {
9582
- useEffect17(() => {
9582
+ useEffect16(() => {
9583
9583
  const fallback = delayRender("Waiting for Root component to unsuspend");
9584
9584
  return () => continueRender(fallback);
9585
9585
  }, []);
@@ -9614,7 +9614,7 @@ var InnerComposition = ({
9614
9614
  throw new Error("<Composition> mounted inside another composition. See https://remotion.dev/docs/wrong-composition-mount for help.");
9615
9615
  }
9616
9616
  const { folderName, parentName } = useContext26(FolderContext);
9617
- useEffect17(() => {
9617
+ useEffect16(() => {
9618
9618
  if (!id) {
9619
9619
  throw new Error("No id for composition passed.");
9620
9620
  }
@@ -9653,7 +9653,7 @@ var InnerComposition = ({
9653
9653
  registerComposition,
9654
9654
  unregisterComposition
9655
9655
  ]);
9656
- useEffect17(() => {
9656
+ useEffect16(() => {
9657
9657
  window.dispatchEvent(new CustomEvent(PROPS_UPDATED_EXTERNALLY, {
9658
9658
  detail: {
9659
9659
  resetUnsaved: id
@@ -10136,7 +10136,7 @@ var RemotionRoot = ({
10136
10136
  }
10137
10137
  };
10138
10138
  }, []);
10139
- useEffect18(() => {
10139
+ useEffect17(() => {
10140
10140
  if (typeof __webpack_module__ !== "undefined") {
10141
10141
  if (__webpack_module__.hot) {
10142
10142
  __webpack_module__.hot.addStatusHandler((status) => {
@@ -10833,7 +10833,7 @@ var useEmitVideoFrame = ({
10833
10833
  ref,
10834
10834
  onVideoFrame
10835
10835
  }) => {
10836
- useEffect20(() => {
10836
+ useEffect19(() => {
10837
10837
  const { current } = ref;
10838
10838
  if (!current) {
10839
10839
  return;
@@ -10894,6 +10894,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
10894
10894
  delayRenderRetries,
10895
10895
  delayRenderTimeoutInMilliseconds,
10896
10896
  allowAmplificationDuringRender,
10897
+ useWebAudioApi,
10897
10898
  ...nativeProps
10898
10899
  } = props2;
10899
10900
  const _propsValid = true;
@@ -10948,7 +10949,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
10948
10949
  logLevel,
10949
10950
  mediaRef: videoRef,
10950
10951
  volume: userPreferredVolume,
10951
- source: sharedSource
10952
+ source: sharedSource,
10953
+ shouldUseWebAudioApi: useWebAudioApi ?? false
10952
10954
  });
10953
10955
  const actualFrom = parentSequence ? parentSequence.relativeFrom : 0;
10954
10956
  const duration = parentSequence ? Math.min(parentSequence.durationInFrames, durationInFrames) : durationInFrames;
@@ -10968,7 +10970,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
10968
10970
  tag: "video",
10969
10971
  mountTime
10970
10972
  }));
10971
- useEffect21(() => {
10973
+ useEffect20(() => {
10972
10974
  const { current } = videoRef;
10973
10975
  if (!current) {
10974
10976
  return;
@@ -10999,7 +11001,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
10999
11001
  const currentOnDurationCallback = useRef16(onDuration);
11000
11002
  currentOnDurationCallback.current = onDuration;
11001
11003
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
11002
- useEffect21(() => {
11004
+ useEffect20(() => {
11003
11005
  const { current } = videoRef;
11004
11006
  if (!current) {
11005
11007
  return;
@@ -11016,7 +11018,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
11016
11018
  current.removeEventListener("loadedmetadata", onLoadedMetadata);
11017
11019
  };
11018
11020
  }, [src]);
11019
- useEffect21(() => {
11021
+ useEffect20(() => {
11020
11022
  const { current } = videoRef;
11021
11023
  if (!current) {
11022
11024
  return;
@@ -11211,7 +11213,7 @@ var VideoForRenderingForwardFunction = ({
11211
11213
  frame: volumePropsFrame,
11212
11214
  mediaVolume: 1
11213
11215
  });
11214
- useEffect222(() => {
11216
+ useEffect21(() => {
11215
11217
  if (!props2.src) {
11216
11218
  throw new Error("No src passed");
11217
11219
  }
@@ -11252,7 +11254,7 @@ var VideoForRenderingForwardFunction = ({
11252
11254
  useImperativeHandle10(ref, () => {
11253
11255
  return videoRef.current;
11254
11256
  }, []);
11255
- useEffect222(() => {
11257
+ useEffect21(() => {
11256
11258
  if (!window.remotion_videoEnabled) {
11257
11259
  return;
11258
11260
  }
@@ -14816,23 +14818,23 @@ var PlayerUI = ({
14816
14818
  });
14817
14819
  };
14818
14820
  var PlayerUI_default = forwardRef13(PlayerUI);
14819
- var VOLUME_PERSISTANCE_KEY = "remotion.volumePreference";
14820
- var persistVolume = (volume, logLevel) => {
14821
+ var DEFAULT_VOLUME_PERSISTANCE_KEY = "remotion.volumePreference";
14822
+ var persistVolume = (volume, logLevel, volumePersistenceKey) => {
14821
14823
  if (typeof window === "undefined") {
14822
14824
  return;
14823
14825
  }
14824
14826
  try {
14825
- window.localStorage.setItem(VOLUME_PERSISTANCE_KEY, String(volume));
14827
+ window.localStorage.setItem(volumePersistenceKey ?? DEFAULT_VOLUME_PERSISTANCE_KEY, String(volume));
14826
14828
  } catch (e) {
14827
14829
  Internals.Log.error(logLevel, "Could not persist volume", e);
14828
14830
  }
14829
14831
  };
14830
- var getPreferredVolume = () => {
14832
+ var getPreferredVolume = (volumePersistenceKey) => {
14831
14833
  if (typeof window === "undefined") {
14832
14834
  return 1;
14833
14835
  }
14834
14836
  try {
14835
- const val = window.localStorage.getItem(VOLUME_PERSISTANCE_KEY);
14837
+ const val = window.localStorage.getItem(volumePersistenceKey ?? DEFAULT_VOLUME_PERSISTANCE_KEY);
14836
14838
  return val ? Number(val) : 1;
14837
14839
  } catch {
14838
14840
  return 1;
@@ -14850,7 +14852,8 @@ var SharedPlayerContexts = ({
14850
14852
  numberOfSharedAudioTags,
14851
14853
  initiallyMuted,
14852
14854
  logLevel,
14853
- audioLatencyHint
14855
+ audioLatencyHint,
14856
+ volumePersistenceKey
14854
14857
  }) => {
14855
14858
  const compositionManagerContext = useMemo132(() => {
14856
14859
  const context = {
@@ -14876,7 +14879,7 @@ var SharedPlayerContexts = ({
14876
14879
  return context;
14877
14880
  }, [component, durationInFrames, compositionHeight, compositionWidth, fps]);
14878
14881
  const [mediaMuted, setMediaMuted] = useState122(() => initiallyMuted);
14879
- const [mediaVolume, setMediaVolume] = useState122(() => getPreferredVolume());
14882
+ const [mediaVolume, setMediaVolume] = useState122(() => getPreferredVolume(volumePersistenceKey ?? null));
14880
14883
  const mediaVolumeContextValue = useMemo132(() => {
14881
14884
  return {
14882
14885
  mediaMuted,
@@ -14885,8 +14888,8 @@ var SharedPlayerContexts = ({
14885
14888
  }, [mediaMuted, mediaVolume]);
14886
14889
  const setMediaVolumeAndPersist = useCallback122((vol) => {
14887
14890
  setMediaVolume(vol);
14888
- persistVolume(vol, logLevel);
14889
- }, [logLevel]);
14891
+ persistVolume(vol, logLevel, volumePersistenceKey ?? null);
14892
+ }, [logLevel, volumePersistenceKey]);
14890
14893
  const setMediaVolumeContextValue = useMemo132(() => {
14891
14894
  return {
14892
14895
  setMediaMuted,
@@ -15085,6 +15088,7 @@ var PlayerFn = ({
15085
15088
  noSuspense,
15086
15089
  acknowledgeRemotionLicense,
15087
15090
  audioLatencyHint = "interactive",
15091
+ volumePersistenceKey,
15088
15092
  ...componentProps
15089
15093
  }, ref) => {
15090
15094
  if (typeof window !== "undefined") {
@@ -15219,6 +15223,7 @@ var PlayerFn = ({
15219
15223
  initiallyMuted,
15220
15224
  logLevel,
15221
15225
  audioLatencyHint,
15226
+ volumePersistenceKey,
15222
15227
  children: /* @__PURE__ */ jsx142(Internals.Timeline.SetTimelineContext.Provider, {
15223
15228
  value: setTimelineContextValue,
15224
15229
  children: /* @__PURE__ */ jsx142(PlayerEmitterProvider, {
@@ -21371,6 +21376,7 @@ var NewLanding = ({ colorMode, setColorMode }) => {
21371
21376
  children: /* @__PURE__ */ jsx131("div", {
21372
21377
  className: "bg-[var(--background)] relative",
21373
21378
  children: /* @__PURE__ */ jsxs58("div", {
21379
+ style: { overflow: "hidden" },
21374
21380
  children: [
21375
21381
  /* @__PURE__ */ jsx131("div", {
21376
21382
  children: /* @__PURE__ */ jsx131(BackgroundAnimation, {})
package/dist/cn.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
package/dist/cn.js ADDED
@@ -0,0 +1,5 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { ColorMode } from './homepage/layout/use-color-mode';
3
+ export declare const NewLanding: React.FC<{
4
+ readonly colorMode: ColorMode;
5
+ readonly setColorMode: (colorMode: ColorMode) => void;
6
+ }>;
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { BackgroundAnimation } from './homepage/BackgroundAnimation';
4
+ import CommunityStats from './homepage/CommunityStats';
5
+ import { Demo } from './homepage/Demo';
6
+ import { LightningFastEditor } from './homepage/Editor';
7
+ import EvaluateRemotionSection from './homepage/EvaluateRemotion';
8
+ import { IfYouKnowReact } from './homepage/IfYouKnowReact';
9
+ import { ColorModeProvider } from './homepage/layout/use-color-mode';
10
+ import { NewsletterButton } from './homepage/NewsletterButton';
11
+ import { Pricing } from './homepage/Pricing';
12
+ import { RealMP4Videos } from './homepage/RealMp4Videos';
13
+ import TrustedByBanner from './homepage/TrustedByBanner';
14
+ import { VideoApps } from './homepage/VideoApps';
15
+ import VideoAppsShowcase from './homepage/VideoAppsShowcase';
16
+ import { SectionTitle, VideoAppsTitle } from './homepage/VideoAppsTitle';
17
+ import { WriteInReact } from './homepage/WriteInReact';
18
+ export const NewLanding = ({ colorMode, setColorMode }) => {
19
+ return (_jsx(ColorModeProvider, { colorMode: colorMode, setColorMode: setColorMode, children: _jsx("div", { className: "bg-[var(--background)] relative", children: _jsxs("div", { style: { overflow: 'hidden' }, children: [_jsx("div", { children: _jsx(BackgroundAnimation, {}) }), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsxs("div", { className: "max-w-[500px] lg:max-w-[1000px] m-auto pl-5 pr-5 overflow-x-clip md:overflow-x-visible relative", children: [_jsx(WriteInReact, {}), _jsx("br", {}), _jsx(IfYouKnowReact, {}), _jsx(RealMP4Videos, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(LightningFastEditor, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(VideoAppsTitle, {}), _jsx(VideoApps, { active: "remotion" }), _jsx("br", {}), _jsx("br", {}), _jsx(VideoAppsShowcase, {}), _jsx("br", {}), _jsx("br", {}), _jsx(Demo, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(SectionTitle, { children: "Pricing" }), _jsx(Pricing, {}), _jsx(TrustedByBanner, {}), _jsx("br", {}), _jsx(EvaluateRemotionSection, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(CommunityStats, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {}), _jsx(NewsletterButton, {}), _jsx("br", {}), _jsx("br", {}), _jsx("br", {})] })] }) }) }));
20
+ };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const BackgroundAnimation: React.FC;
@@ -0,0 +1,66 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { getLength } from '@remotion/paths';
4
+ import { useEffect } from 'react';
5
+ const rx = 0.2;
6
+ const ry = 0.45;
7
+ function ellipseToPath(cx, cy) {
8
+ let output = 'M' + (cx - rx).toString() + ',' + cy.toString();
9
+ output +=
10
+ 'a' +
11
+ rx.toString() +
12
+ ',' +
13
+ ry.toString() +
14
+ ' 0 1,0 ' +
15
+ (2 * rx).toString() +
16
+ ',0';
17
+ output +=
18
+ 'a' +
19
+ rx.toString() +
20
+ ',' +
21
+ ry.toString() +
22
+ ' 0 1,0 ' +
23
+ (-2 * rx).toString() +
24
+ ',0';
25
+ return output;
26
+ }
27
+ const strokeWidth = 0.035;
28
+ export const BackgroundAnimation = () => {
29
+ const d = ellipseToPath(0.5, 0.5);
30
+ const length = getLength(d);
31
+ const css = `
32
+ @keyframes bganimation {
33
+ from {
34
+ stroke-dashoffset: 0
35
+ }
36
+
37
+ to {
38
+ stroke-dashoffset: ${length};
39
+ }
40
+ }
41
+ `;
42
+ useEffect(() => {
43
+ const _style = document.createElement('style');
44
+ _style.innerHTML = css;
45
+ document.head.appendChild(_style);
46
+ }, [css]);
47
+ return (_jsx("div", { className: " w-full h-full left-[50%] ml-[-50%] min-w-0 lg:m-auto lg:relative lg:min-w-[700px] lg:max-w-[1200px] lg:ml-auto lg:left-auto pointer-events-none", children: _jsxs("svg", { className: "translate-y-[-30%] lg:translate-y-[-50%]", viewBox: "0 0 1 1", style: {
48
+ width: '100%',
49
+ position: 'absolute',
50
+ }, children: [_jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", className: "stroke-[0.04] lg:stroke-[0.035]", style: {
51
+ transformOrigin: 'center center',
52
+ transform: `rotate(120deg)`,
53
+ animation: `bganimation 20s linear infinite`,
54
+ strokeDasharray: `${length * 0.2} ${length * 0.8}`,
55
+ } }), _jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", strokeWidth: strokeWidth, className: "stroke-[0.04] lg:stroke-[0.035]", style: {
56
+ transformOrigin: 'center center',
57
+ transform: `rotate(0deg)`,
58
+ animation: `bganimation 20s linear infinite`,
59
+ strokeDasharray: `${length * 0.2} ${length * 0.8}`,
60
+ } }), _jsx("path", { d: d, fill: "none", stroke: "var(--ifm-color-primary)", strokeLinecap: "round", strokeWidth: strokeWidth, className: "stroke-[0.04] lg:stroke-[0.035]", style: {
61
+ transformOrigin: 'center center',
62
+ transform: `rotate(240deg)`,
63
+ animation: `bganimation 20s linear infinite`,
64
+ strokeDasharray: `${length * 0.2} ${length * 0.8}`,
65
+ } })] }) }));
66
+ };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ChooseTemplate: React.FC;
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CreateVideoInternals } from 'create-video';
3
+ import { IconForTemplate } from './IconForTemplate';
4
+ import { MoreTemplatesButton } from './MoreTemplatesButton';
5
+ import { TemplateIcon } from './TemplateIcon';
6
+ export const ChooseTemplate = () => {
7
+ return (_jsx("div", { style: {
8
+ display: 'flex',
9
+ flexDirection: 'column',
10
+ }, children: _jsx("div", { style: {
11
+ position: 'relative',
12
+ textAlign: 'center',
13
+ }, children: _jsxs("div", { className: "no-scroll-bar", style: {
14
+ backgroundColor: 'var(--plain-button)',
15
+ display: 'inline-flex',
16
+ flexDirection: 'row',
17
+ justifyContent: 'space-around',
18
+ boxShadow: '0 0 4px 0px var(--ifm-color-emphasis-200)',
19
+ borderRadius: 50,
20
+ alignItems: 'center',
21
+ padding: 8,
22
+ width: '100%',
23
+ maxWidth: '550px',
24
+ }, children: [CreateVideoInternals.FEATURED_TEMPLATES.filter((f) => f.featuredOnHomePage).map((template) => {
25
+ return (_jsx("a", { className: "text-inherit no-underline", href: `/templates/${template.cliId}`, children: _jsx(TemplateIcon, { label: template.featuredOnHomePage, children: _jsx(IconForTemplate, { scale: 0.7, template: template }) }) }, template.cliId));
26
+ }), _jsx(MoreTemplatesButton, {})] }) }) }));
27
+ };