@remotion/promo-pages 4.0.459 → 4.0.460

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 (276) hide show
  1. package/dist/Homepage.js +266 -156
  2. package/dist/design.js +169 -103
  3. package/dist/experts.js +169 -103
  4. package/dist/homepage/Pricing.js +169 -103
  5. package/dist/prompts/PromptsGallery.js +169 -103
  6. package/dist/prompts/PromptsShow.js +203 -137
  7. package/dist/prompts/PromptsSubmit.js +203 -137
  8. package/dist/team.js +169 -103
  9. package/dist/template-modal-content.js +169 -103
  10. package/dist/templates.js +170 -103
  11. package/package.json +13 -13
  12. package/dist/cn.d.ts +0 -2
  13. package/dist/cn.js +0 -5
  14. package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
  15. package/dist/components/3DEngine/ButtonDemo.js +0 -43
  16. package/dist/components/3DEngine/Faces.d.ts +0 -5
  17. package/dist/components/3DEngine/Faces.js +0 -7
  18. package/dist/components/3DEngine/Outer.d.ts +0 -8
  19. package/dist/components/3DEngine/Outer.js +0 -56
  20. package/dist/components/3DEngine/Switch.d.ts +0 -4
  21. package/dist/components/3DEngine/Switch.js +0 -4
  22. package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
  23. package/dist/components/3DEngine/get-child-node-from.js +0 -14
  24. package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
  25. package/dist/components/3DEngine/hover-transforms.js +0 -177
  26. package/dist/components/BackButton.d.ts +0 -6
  27. package/dist/components/BackButton.js +0 -9
  28. package/dist/components/CommandCopyButton.d.ts +0 -5
  29. package/dist/components/CommandCopyButton.js +0 -4
  30. package/dist/components/Homepage.d.ts +0 -6
  31. package/dist/components/Homepage.js +0 -20
  32. package/dist/components/ManageTeamMembers.d.ts +0 -2
  33. package/dist/components/ManageTeamMembers.js +0 -42
  34. package/dist/components/Spinner.d.ts +0 -3
  35. package/dist/components/Spinner.js +0 -4
  36. package/dist/components/TeamPicture.d.ts +0 -1
  37. package/dist/components/TeamPicture.js +0 -4
  38. package/dist/components/design.d.ts +0 -1
  39. package/dist/components/design.js +0 -33
  40. package/dist/components/experts/ExpertsPage.d.ts +0 -11
  41. package/dist/components/experts/ExpertsPage.js +0 -50
  42. package/dist/components/experts/experts-data.d.ts +0 -15
  43. package/dist/components/experts/experts-data.js +0 -289
  44. package/dist/components/experts/experts-icons.d.ts +0 -7
  45. package/dist/components/experts/experts-icons.js +0 -36
  46. package/dist/components/experts.d.ts +0 -3
  47. package/dist/components/experts.js +0 -2
  48. package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
  49. package/dist/components/homepage/BackgroundAnimation.js +0 -66
  50. package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
  51. package/dist/components/homepage/ChooseTemplate.js +0 -25
  52. package/dist/components/homepage/CommunityStats.d.ts +0 -3
  53. package/dist/components/homepage/CommunityStats.js +0 -6
  54. package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
  55. package/dist/components/homepage/CommunityStatsItems.js +0 -58
  56. package/dist/components/homepage/Demo/Card.d.ts +0 -15
  57. package/dist/components/homepage/Demo/Card.js +0 -174
  58. package/dist/components/homepage/Demo/Cards.d.ts +0 -15
  59. package/dist/components/homepage/Demo/Cards.js +0 -57
  60. package/dist/components/homepage/Demo/Comp.d.ts +0 -38
  61. package/dist/components/homepage/Demo/Comp.js +0 -72
  62. package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
  63. package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
  64. package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
  65. package/dist/components/homepage/Demo/DemoError.js +0 -10
  66. package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
  67. package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
  68. package/dist/components/homepage/Demo/DemoRender.d.ts +0 -33
  69. package/dist/components/homepage/Demo/DemoRender.js +0 -107
  70. package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
  71. package/dist/components/homepage/Demo/DigitWheel.js +0 -94
  72. package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
  73. package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -59
  74. package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
  75. package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
  76. package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
  77. package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
  78. package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
  79. package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
  80. package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
  81. package/dist/components/homepage/Demo/EmojiCard.js +0 -120
  82. package/dist/components/homepage/Demo/Minus.d.ts +0 -5
  83. package/dist/components/homepage/Demo/Minus.js +0 -11
  84. package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
  85. package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
  86. package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
  87. package/dist/components/homepage/Demo/PlayerControls.js +0 -15
  88. package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
  89. package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
  90. package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
  91. package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
  92. package/dist/components/homepage/Demo/Progress.d.ts +0 -4
  93. package/dist/components/homepage/Demo/Progress.js +0 -14
  94. package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
  95. package/dist/components/homepage/Demo/Spinner.js +0 -37
  96. package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
  97. package/dist/components/homepage/Demo/Switcher.js +0 -25
  98. package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
  99. package/dist/components/homepage/Demo/Temperature.js +0 -21
  100. package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
  101. package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
  102. package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
  103. package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
  104. package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
  105. package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
  106. package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
  107. package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
  108. package/dist/components/homepage/Demo/icons.d.ts +0 -10
  109. package/dist/components/homepage/Demo/icons.js +0 -22
  110. package/dist/components/homepage/Demo/index.d.ts +0 -2
  111. package/dist/components/homepage/Demo/index.js +0 -95
  112. package/dist/components/homepage/Demo/math.d.ts +0 -10
  113. package/dist/components/homepage/Demo/math.js +0 -29
  114. package/dist/components/homepage/Demo/types.d.ts +0 -6
  115. package/dist/components/homepage/Demo/types.js +0 -0
  116. package/dist/components/homepage/EditorStarterSection.d.ts +0 -3
  117. package/dist/components/homepage/EditorStarterSection.js +0 -8
  118. package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
  119. package/dist/components/homepage/EvaluateRemotion.js +0 -21
  120. package/dist/components/homepage/FreePricing.d.ts +0 -4
  121. package/dist/components/homepage/FreePricing.js +0 -133
  122. package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
  123. package/dist/components/homepage/GetStartedStrip.js +0 -14
  124. package/dist/components/homepage/GitHubButton.d.ts +0 -2
  125. package/dist/components/homepage/GitHubButton.js +0 -7
  126. package/dist/components/homepage/IconForTemplate.d.ts +0 -6
  127. package/dist/components/homepage/IconForTemplate.js +0 -105
  128. package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
  129. package/dist/components/homepage/IfYouKnowReact.js +0 -23
  130. package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
  131. package/dist/components/homepage/MoreTemplatesButton.js +0 -11
  132. package/dist/components/homepage/MuxVideo.d.ts +0 -7
  133. package/dist/components/homepage/MuxVideo.js +0 -45
  134. package/dist/components/homepage/NewsletterButton.d.ts +0 -2
  135. package/dist/components/homepage/NewsletterButton.js +0 -38
  136. package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
  137. package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
  138. package/dist/components/homepage/Pricing.d.ts +0 -2
  139. package/dist/components/homepage/Pricing.js +0 -15
  140. package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
  141. package/dist/components/homepage/PricingBulletPoint.js +0 -19
  142. package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
  143. package/dist/components/homepage/RealMp4Videos.js +0 -41
  144. package/dist/components/homepage/Spacer.d.ts +0 -2
  145. package/dist/components/homepage/Spacer.js +0 -4
  146. package/dist/components/homepage/TemplateIcon.d.ts +0 -5
  147. package/dist/components/homepage/TemplateIcon.js +0 -24
  148. package/dist/components/homepage/TextInput.d.ts +0 -7
  149. package/dist/components/homepage/TextInput.js +0 -34
  150. package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
  151. package/dist/components/homepage/TrustedByBanner.js +0 -27
  152. package/dist/components/homepage/VideoApps.d.ts +0 -4
  153. package/dist/components/homepage/VideoApps.js +0 -72
  154. package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
  155. package/dist/components/homepage/VideoAppsShowcase.js +0 -139
  156. package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
  157. package/dist/components/homepage/VideoAppsTitle.js +0 -4
  158. package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
  159. package/dist/components/homepage/VideoPlayerWithControls.js +0 -105
  160. package/dist/components/homepage/WriteInReact.d.ts +0 -2
  161. package/dist/components/homepage/WriteInReact.js +0 -10
  162. package/dist/components/homepage/YouAreHere.d.ts +0 -2
  163. package/dist/components/homepage/YouAreHere.js +0 -23
  164. package/dist/components/homepage/layout/Button.d.ts +0 -22
  165. package/dist/components/homepage/layout/Button.js +0 -30
  166. package/dist/components/homepage/layout/colors.d.ts +0 -13
  167. package/dist/components/homepage/layout/colors.js +0 -14
  168. package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
  169. package/dist/components/homepage/layout/use-color-mode.js +0 -22
  170. package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
  171. package/dist/components/homepage/layout/use-el-size.js +0 -40
  172. package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
  173. package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
  174. package/dist/components/icons/blank.d.ts +0 -3
  175. package/dist/components/icons/blank.js +0 -4
  176. package/dist/components/icons/brain.d.ts +0 -2
  177. package/dist/components/icons/brain.js +0 -4
  178. package/dist/components/icons/clone.d.ts +0 -2
  179. package/dist/components/icons/clone.js +0 -2
  180. package/dist/components/icons/code-hike.d.ts +0 -3
  181. package/dist/components/icons/code-hike.js +0 -4
  182. package/dist/components/icons/cubes.d.ts +0 -3
  183. package/dist/components/icons/cubes.js +0 -4
  184. package/dist/components/icons/editor.d.ts +0 -3
  185. package/dist/components/icons/editor.js +0 -4
  186. package/dist/components/icons/electron.d.ts +0 -4
  187. package/dist/components/icons/electron.js +0 -4
  188. package/dist/components/icons/js.d.ts +0 -3
  189. package/dist/components/icons/js.js +0 -4
  190. package/dist/components/icons/music.d.ts +0 -2
  191. package/dist/components/icons/music.js +0 -4
  192. package/dist/components/icons/next.d.ts +0 -4
  193. package/dist/components/icons/next.js +0 -4
  194. package/dist/components/icons/overlay.d.ts +0 -3
  195. package/dist/components/icons/overlay.js +0 -4
  196. package/dist/components/icons/prompt-to-video.d.ts +0 -2
  197. package/dist/components/icons/prompt-to-video.js +0 -4
  198. package/dist/components/icons/recorder.d.ts +0 -3
  199. package/dist/components/icons/recorder.js +0 -4
  200. package/dist/components/icons/remix.d.ts +0 -3
  201. package/dist/components/icons/remix.js +0 -4
  202. package/dist/components/icons/render-server.d.ts +0 -3
  203. package/dist/components/icons/render-server.js +0 -4
  204. package/dist/components/icons/skia.d.ts +0 -3
  205. package/dist/components/icons/skia.js +0 -4
  206. package/dist/components/icons/stargazer.d.ts +0 -3
  207. package/dist/components/icons/stargazer.js +0 -4
  208. package/dist/components/icons/still.d.ts +0 -3
  209. package/dist/components/icons/still.js +0 -4
  210. package/dist/components/icons/tailwind.d.ts +0 -3
  211. package/dist/components/icons/tailwind.js +0 -4
  212. package/dist/components/icons/tiktok.d.ts +0 -3
  213. package/dist/components/icons/tiktok.js +0 -4
  214. package/dist/components/icons/timeline.d.ts +0 -3
  215. package/dist/components/icons/timeline.js +0 -4
  216. package/dist/components/icons/ts.d.ts +0 -3
  217. package/dist/components/icons/ts.js +0 -4
  218. package/dist/components/icons/undo.d.ts +0 -3
  219. package/dist/components/icons/undo.js +0 -2
  220. package/dist/components/icons/vercel.d.ts +0 -4
  221. package/dist/components/icons/vercel.js +0 -4
  222. package/dist/components/icons/waveform.d.ts +0 -3
  223. package/dist/components/icons/waveform.js +0 -4
  224. package/dist/components/prompts/CardLikeButton.d.ts +0 -5
  225. package/dist/components/prompts/CardLikeButton.js +0 -49
  226. package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
  227. package/dist/components/prompts/ClipboardIcon.js +0 -4
  228. package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
  229. package/dist/components/prompts/CopyPromptButton.js +0 -13
  230. package/dist/components/prompts/LikeButton.d.ts +0 -5
  231. package/dist/components/prompts/LikeButton.js +0 -49
  232. package/dist/components/prompts/MuxPlayer.d.ts +0 -8
  233. package/dist/components/prompts/MuxPlayer.js +0 -21
  234. package/dist/components/prompts/NewBackButton.d.ts +0 -5
  235. package/dist/components/prompts/NewBackButton.js +0 -8
  236. package/dist/components/prompts/Page.d.ts +0 -8
  237. package/dist/components/prompts/Page.js +0 -7
  238. package/dist/components/prompts/PromptsGallery.d.ts +0 -7
  239. package/dist/components/prompts/PromptsGallery.js +0 -60
  240. package/dist/components/prompts/PromptsShow.d.ts +0 -5
  241. package/dist/components/prompts/PromptsShow.js +0 -17
  242. package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
  243. package/dist/components/prompts/PromptsSubmit.js +0 -173
  244. package/dist/components/prompts/config.d.ts +0 -1
  245. package/dist/components/prompts/config.js +0 -1
  246. package/dist/components/prompts/prompt-helpers.d.ts +0 -8
  247. package/dist/components/prompts/prompt-helpers.js +0 -76
  248. package/dist/components/prompts/prompt-types.d.ts +0 -14
  249. package/dist/components/prompts/prompt-types.js +0 -0
  250. package/dist/components/prompts/use-heart-animation.d.ts +0 -5
  251. package/dist/components/prompts/use-heart-animation.js +0 -29
  252. package/dist/components/team/TeamCards.d.ts +0 -6
  253. package/dist/components/team/TeamCards.js +0 -19
  254. package/dist/components/team/TitleTeamCards.d.ts +0 -2
  255. package/dist/components/team/TitleTeamCards.js +0 -6
  256. package/dist/components/team/TrustSection.d.ts +0 -2
  257. package/dist/components/team/TrustSection.js +0 -59
  258. package/dist/components/team.d.ts +0 -3
  259. package/dist/components/team.js +0 -15
  260. package/dist/components/template-modal-content.d.ts +0 -5
  261. package/dist/components/template-modal-content.js +0 -73
  262. package/dist/components/templates.d.ts +0 -2
  263. package/dist/components/templates.js +0 -27
  264. package/dist/helpers/mobile-layout.d.ts +0 -1
  265. package/dist/helpers/mobile-layout.js +0 -6
  266. package/dist/helpers/use-el-size.d.ts +0 -5
  267. package/dist/helpers/use-el-size.js +0 -40
  268. package/dist/main.d.ts +0 -1
  269. package/dist/main.js +0 -6
  270. package/dist/prompts-show.d.ts +0 -1
  271. package/dist/prompts-show.js +0 -20
  272. package/dist/prompts-submit.d.ts +0 -1
  273. package/dist/prompts-submit.js +0 -6
  274. package/dist/prompts.d.ts +0 -1
  275. package/dist/prompts.js +0 -6
  276. package/dist/team.d.ts +0 -1
@@ -45,7 +45,7 @@ __export(exports_vidstack_CZgUA94N, {
45
45
  useSignal: () => useSignal,
46
46
  useReactScope: () => useReactScope,
47
47
  useReactContext: () => useReactContext,
48
- useContext: () => useContext45,
48
+ useContext: () => useContext44,
49
49
  uppercaseFirstChar: () => uppercaseFirstChar,
50
50
  untrack: () => untrack,
51
51
  toggleClass: () => toggleClass,
@@ -92,7 +92,7 @@ __export(exports_vidstack_CZgUA94N, {
92
92
  createScope: () => createScope,
93
93
  createReactComponent: () => createReactComponent,
94
94
  createDisposalBin: () => createDisposalBin,
95
- createContext: () => createContext32,
95
+ createContext: () => createContext33,
96
96
  computed: () => computed,
97
97
  composeRefs: () => composeRefs3,
98
98
  chromecast: () => chromecast,
@@ -612,14 +612,14 @@ function unwrapDeep(fn) {
612
612
  value = value.call(this);
613
613
  return value;
614
614
  }
615
- function createContext32(provide) {
615
+ function createContext33(provide) {
616
616
  return { id: Symbol(), provide };
617
617
  }
618
618
  function provideContext(context, value, scope = getScope()) {
619
619
  const hasProvidedValue = !isUndefined(value);
620
620
  setContext(context.id, hasProvidedValue ? value : context.provide?.(), scope);
621
621
  }
622
- function useContext45(context) {
622
+ function useContext44(context) {
623
623
  const value = getContext(context.id);
624
624
  return value;
625
625
  }
@@ -679,7 +679,7 @@ class State {
679
679
  }
680
680
  }
681
681
  function useState44(state) {
682
- return useContext45(state);
682
+ return useContext44(state);
683
683
  }
684
684
  function camelToKebabCase(str) {
685
685
  return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
@@ -7061,7 +7061,7 @@ function boundTime(time, store) {
7061
7061
  return Math.min(Math.max(store.seekableStart() + 0.1, clippedTime), store.seekableEnd() - 0.1);
7062
7062
  }
7063
7063
  function useMediaContext() {
7064
- return useContext45(mediaContext);
7064
+ return useContext44(mediaContext);
7065
7065
  }
7066
7066
 
7067
7067
  class MediaRemoteControl {
@@ -10487,7 +10487,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
10487
10487
  "started",
10488
10488
  "userBehindLiveEdge"
10489
10489
  ]);
10490
- mediaContext = createContext32();
10490
+ mediaContext = createContext33();
10491
10491
  ADD = Symbol(0);
10492
10492
  REMOVE = Symbol(0);
10493
10493
  RESET = Symbol(0);
@@ -13889,7 +13889,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
13889
13889
  this.#showTimerId = -1;
13890
13890
  }
13891
13891
  };
13892
- tooltipContext = createContext32();
13892
+ tooltipContext = createContext33();
13893
13893
  Tooltip = class Tooltip extends Component {
13894
13894
  static props = {
13895
13895
  showDelay: 700
@@ -13976,7 +13976,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
13976
13976
  if (!this.connectScope)
13977
13977
  return;
13978
13978
  this.#attach();
13979
- const tooltip = useContext45(tooltipContext);
13979
+ const tooltip = useContext44(tooltipContext);
13980
13980
  onDispose(() => {
13981
13981
  const button = this.#getButton();
13982
13982
  button && tooltip.detachTrigger(button);
@@ -13984,7 +13984,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
13984
13984
  }));
13985
13985
  }
13986
13986
  #attach() {
13987
- const button = this.#getButton(), tooltip = useContext45(tooltipContext);
13987
+ const button = this.#getButton(), tooltip = useContext44(tooltipContext);
13988
13988
  button && tooltip.attachTrigger(button);
13989
13989
  }
13990
13990
  #getButton() {
@@ -14017,7 +14017,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14017
14017
  }
14018
14018
  onConnect(el) {
14019
14019
  this.#attach(el);
14020
- const tooltip = useContext45(tooltipContext);
14020
+ const tooltip = useContext44(tooltipContext);
14021
14021
  onDispose(() => tooltip.detachContent(el));
14022
14022
  onDispose(requestScopedAnimationFrame(() => {
14023
14023
  if (!this.connectScope)
@@ -14026,11 +14026,11 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14026
14026
  }));
14027
14027
  }
14028
14028
  #attach(el) {
14029
- const tooltip = useContext45(tooltipContext);
14029
+ const tooltip = useContext44(tooltipContext);
14030
14030
  tooltip.attachContent(el);
14031
14031
  }
14032
14032
  #watchPlacement() {
14033
- const { showing } = useContext45(tooltipContext);
14033
+ const { showing } = useContext44(tooltipContext);
14034
14034
  if (!showing())
14035
14035
  return;
14036
14036
  const { placement, offset: mainOffset, alignOffset } = this.$props;
@@ -14041,7 +14041,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14041
14041
  });
14042
14042
  }
14043
14043
  #getTrigger() {
14044
- return useContext45(tooltipContext).trigger();
14044
+ return useContext44(tooltipContext).trigger();
14045
14045
  }
14046
14046
  };
14047
14047
  ToggleButtonController = class ToggleButtonController extends ViewController {
@@ -14514,8 +14514,8 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14514
14514
  this.#observer = undefined;
14515
14515
  }
14516
14516
  };
14517
- sliderContext = createContext32();
14518
- sliderObserverContext = createContext32();
14517
+ sliderContext = createContext33();
14518
+ sliderObserverContext = createContext33();
14519
14519
  SliderKeyDirection = {
14520
14520
  Left: -1,
14521
14521
  ArrowLeft: -1,
@@ -14537,7 +14537,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14537
14537
  }
14538
14538
  onSetup() {
14539
14539
  if (hasProvidedContext(sliderObserverContext)) {
14540
- this.#observer = useContext45(sliderObserverContext);
14540
+ this.#observer = useContext44(sliderObserverContext);
14541
14541
  }
14542
14542
  }
14543
14543
  onConnect(el) {
@@ -14746,7 +14746,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
14746
14746
  this.#updatePointerValue(this.#getPointerValue(event2), event2);
14747
14747
  }, 20, { leading: true });
14748
14748
  };
14749
- sliderValueFormatContext = createContext32(() => ({}));
14749
+ sliderValueFormatContext = createContext33(() => ({}));
14750
14750
  SliderController = class SliderController extends ViewController {
14751
14751
  static props = {
14752
14752
  hidden: false,
@@ -15153,7 +15153,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
15153
15153
  #slider;
15154
15154
  onSetup() {
15155
15155
  this.#slider = useState44(Slider.state);
15156
- this.#format = useContext45(sliderValueFormatContext);
15156
+ this.#format = useContext44(sliderValueFormatContext);
15157
15157
  this.#text = computed(this.getValueText.bind(this));
15158
15158
  }
15159
15159
  getValueText() {
@@ -15192,7 +15192,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
15192
15192
  };
15193
15193
  #slider;
15194
15194
  onSetup() {
15195
- this.#slider = useContext45(sliderContext);
15195
+ this.#slider = useContext44(sliderContext);
15196
15196
  const { active } = useState44(Slider.state);
15197
15197
  this.setAttributes({
15198
15198
  "data-visible": active
@@ -15620,7 +15620,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
15620
15620
  }
15621
15621
  }
15622
15622
  #watchPreviewing() {
15623
- const player = this.#media.player.el, { preview } = useContext45(sliderContext);
15623
+ const player = this.#media.player.el, { preview } = useContext44(sliderContext);
15624
15624
  player && preview() && setAttribute(player, "data-preview", this.$state.active());
15625
15625
  }
15626
15626
  #seeking(time, event2) {
@@ -15974,7 +15974,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
15974
15974
  prop(sliderchapters__proto, "activeCue");
15975
15975
  prop(sliderchapters__proto, "activePointerCue");
15976
15976
  method(sliderchapters__proto, "setRefs");
15977
- menuContext = createContext32();
15977
+ menuContext = createContext33();
15978
15978
  FOCUSABLE_ELEMENTS_SELECTOR = /* @__PURE__ */ [
15979
15979
  "a[href]",
15980
15980
  "[tabindex]",
@@ -16058,7 +16058,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16058
16058
  closeMenu: this.close.bind(this)
16059
16059
  });
16060
16060
  if (hasProvidedContext(menuContext)) {
16061
- this.#parentMenu = useContext45(menuContext);
16061
+ this.#parentMenu = useContext44(menuContext);
16062
16062
  }
16063
16063
  this.#observeSliders();
16064
16064
  this.setAttributes({
@@ -16103,7 +16103,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16103
16103
  this.#transitionCallbacks.clear();
16104
16104
  }
16105
16105
  #observeSliders() {
16106
- let sliderActiveTimer = -1, parentSliderObserver = hasProvidedContext(sliderObserverContext) ? useContext45(sliderObserverContext) : null;
16106
+ let sliderActiveTimer = -1, parentSliderObserver = hasProvidedContext(sliderObserverContext) ? useContext44(sliderObserverContext) : null;
16107
16107
  provideContext(sliderObserverContext, {
16108
16108
  onDragStart: () => {
16109
16109
  parentSliderObserver?.onDragStart?.();
@@ -16430,7 +16430,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16430
16430
  new FocusVisibleController;
16431
16431
  }
16432
16432
  onSetup() {
16433
- this.#menu = useContext45(menuContext);
16433
+ this.#menu = useContext44(menuContext);
16434
16434
  }
16435
16435
  onAttach(el) {
16436
16436
  this.#menu.attachMenuButton(this);
@@ -16529,7 +16529,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16529
16529
  return selector ? document.querySelector(selector) : document.body;
16530
16530
  }
16531
16531
  };
16532
- menuPortalContext = createContext32();
16532
+ menuPortalContext = createContext33();
16533
16533
  MenuItems = class MenuItems extends Component {
16534
16534
  static props = {
16535
16535
  placement: null,
@@ -16546,10 +16546,10 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16546
16546
  });
16547
16547
  }
16548
16548
  onAttach(el) {
16549
- this.#menu = useContext45(menuContext);
16549
+ this.#menu = useContext44(menuContext);
16550
16550
  this.#menu.attachMenuItems(this);
16551
16551
  if (hasProvidedContext(menuPortalContext)) {
16552
- const portal = useContext45(menuPortalContext);
16552
+ const portal = useContext44(menuPortalContext);
16553
16553
  if (portal) {
16554
16554
  provideContext(menuPortalContext, null);
16555
16555
  portal.attach(el);
@@ -16591,7 +16591,7 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16591
16591
  return this.#menu.button();
16592
16592
  }
16593
16593
  };
16594
- radioControllerContext = createContext32();
16594
+ radioControllerContext = createContext33();
16595
16595
  RadioGroupController = class RadioGroupController extends ViewController {
16596
16596
  #group = /* @__PURE__ */ new Set;
16597
16597
  #value = signal("");
@@ -16724,12 +16724,12 @@ var init_vidstack_D5Pzx_k5 = __esm(() => {
16724
16724
  }
16725
16725
  #onDisconnect() {
16726
16726
  scoped(() => {
16727
- const group = useContext45(radioControllerContext);
16727
+ const group = useContext44(radioControllerContext);
16728
16728
  group.remove(this.#controller);
16729
16729
  }, this.connectScope);
16730
16730
  }
16731
16731
  #addToGroup() {
16732
- const group = useContext45(radioControllerContext);
16732
+ const group = useContext44(radioControllerContext);
16733
16733
  group.add(this.#controller);
16734
16734
  }
16735
16735
  #watchValue() {
@@ -23107,6 +23107,7 @@ import { createContext as createContext14 } from "react";
23107
23107
  import React12, { useCallback as useCallback5, useMemo as useMemo14, useRef as useRef6, useState as useState4 } from "react";
23108
23108
  import { jsx as jsx112 } from "react/jsx-runtime";
23109
23109
  import React13, { forwardRef as forwardRef2, useState as useState5, useContext as useContext15, useMemo as useMemo15 } from "react";
23110
+ import { createContext as createContext15 } from "react";
23110
23111
  import { jsx as jsx12 } from "react/jsx-runtime";
23111
23112
  import {
23112
23113
  forwardRef as forwardRef4,
@@ -23120,7 +23121,7 @@ import React15, { useCallback as useCallback6, useImperativeHandle, useRef as us
23120
23121
  import { jsx as jsx13 } from "react/jsx-runtime";
23121
23122
  import { jsx as jsx14 } from "react/jsx-runtime";
23122
23123
  import {
23123
- createContext as createContext15,
23124
+ createContext as createContext16,
23124
23125
  forwardRef as forwardRef5,
23125
23126
  useCallback as useCallback7,
23126
23127
  useContext as useContext17,
@@ -23132,7 +23133,7 @@ import {
23132
23133
  import { jsx as jsx15 } from "react/jsx-runtime";
23133
23134
  import { useContext as useContext18, useLayoutEffect as useLayoutEffect5, useState as useState10 } from "react";
23134
23135
  import {
23135
- createContext as createContext16,
23136
+ createContext as createContext17,
23136
23137
  useCallback as useCallback8,
23137
23138
  useImperativeHandle as useImperativeHandle3,
23138
23139
  useLayoutEffect as useLayoutEffect4,
@@ -23142,12 +23143,12 @@ import {
23142
23143
  } from "react";
23143
23144
  import { jsx as jsx16 } from "react/jsx-runtime";
23144
23145
  import { forwardRef as forwardRef8, useCallback as useCallback13, useContext as useContext30 } from "react";
23145
- import React17, { createContext as createContext17, useMemo as useMemo19 } from "react";
23146
+ import React17, { createContext as createContext18, useMemo as useMemo19 } from "react";
23146
23147
  import { jsx as jsx17 } from "react/jsx-runtime";
23147
23148
  import { useContext as useContext19 } from "react";
23148
- import { createContext as createContext18, useEffect as useEffect7, useState as useState11 } from "react";
23149
+ import { createContext as createContext19, useEffect as useEffect7, useState as useState11 } from "react";
23149
23150
  import { jsx as jsx18 } from "react/jsx-runtime";
23150
- import { createContext as createContext19, useMemo as useMemo20, useReducer } from "react";
23151
+ import { createContext as createContext20, useMemo as useMemo20, useReducer } from "react";
23151
23152
  import { jsx as jsx19 } from "react/jsx-runtime";
23152
23153
  import React23, {
23153
23154
  forwardRef as forwardRef6,
@@ -23160,7 +23161,7 @@ import React23, {
23160
23161
  } from "react";
23161
23162
  import { useContext as useContext21, useLayoutEffect as useLayoutEffect6, useRef as useRef13 } from "react";
23162
23163
  import React20, {
23163
- createContext as createContext20,
23164
+ createContext as createContext21,
23164
23165
  createRef as createRef2,
23165
23166
  useCallback as useCallback9,
23166
23167
  useContext as useContext20,
@@ -23196,7 +23197,7 @@ import React22 from "react";
23196
23197
  import { useEffect as useEffect10, useState as useState15 } from "react";
23197
23198
  import { useEffect as useEffect11, useRef as useRef16 } from "react";
23198
23199
  import { useEffect as useEffect13 } from "react";
23199
- import { createContext as createContext21, useContext as useContext27, useMemo as useMemo27 } from "react";
23200
+ import { createContext as createContext22, useContext as useContext27, useMemo as useMemo27 } from "react";
23200
23201
  import { jsx as jsx222 } from "react/jsx-runtime";
23201
23202
  import {
23202
23203
  forwardRef as forwardRef7,
@@ -23232,16 +23233,15 @@ import {
23232
23233
  import { jsx as jsx27 } from "react/jsx-runtime";
23233
23234
  import React29 from "react";
23234
23235
  import { useMemo as useMemo322 } from "react";
23235
- import { createContext as createContext22, useContext as useContext32, useMemo as useMemo31 } from "react";
23236
+ import { createContext as createContext23, useContext as useContext32, useMemo as useMemo31 } from "react";
23236
23237
  import { jsx as jsx28 } from "react/jsx-runtime";
23237
23238
  import { jsx as jsx29 } from "react/jsx-runtime";
23238
23239
  import React31 from "react";
23239
- import React32, { createContext as createContext23 } from "react";
23240
- import { useContext as useContext33 } from "react";
23240
+ import React32, { createContext as createContext24 } from "react";
23241
23241
  import { useCallback as useCallback18 } from "react";
23242
23242
  import {
23243
23243
  useCallback as useCallback17,
23244
- useContext as useContext34,
23244
+ useContext as useContext33,
23245
23245
  useEffect as useEffect16,
23246
23246
  useLayoutEffect as useLayoutEffect11,
23247
23247
  useMemo as useMemo33,
@@ -23250,7 +23250,7 @@ import {
23250
23250
  import { jsx as jsx30 } from "react/jsx-runtime";
23251
23251
  import React34, {
23252
23252
  forwardRef as forwardRef10,
23253
- useContext as useContext35,
23253
+ useContext as useContext34,
23254
23254
  useEffect as useEffect18,
23255
23255
  useImperativeHandle as useImperativeHandle8,
23256
23256
  useMemo as useMemo34,
@@ -23264,14 +23264,14 @@ import React36, { useMemo as useMemo35 } from "react";
23264
23264
  import { jsx as jsx33 } from "react/jsx-runtime";
23265
23265
  import { Children, forwardRef as forwardRef11, useMemo as useMemo36 } from "react";
23266
23266
  import React37 from "react";
23267
- import React38, { createContext as createContext24 } from "react";
23267
+ import React38, { createContext as createContext25 } from "react";
23268
23268
  import { jsx as jsx34 } from "react/jsx-runtime";
23269
23269
  import { jsx as jsx35 } from "react/jsx-runtime";
23270
23270
  import React40 from "react";
23271
- import { forwardRef as forwardRef13, useCallback as useCallback19, useContext as useContext37 } from "react";
23271
+ import { forwardRef as forwardRef13, useCallback as useCallback19, useContext as useContext36 } from "react";
23272
23272
  import {
23273
23273
  forwardRef as forwardRef12,
23274
- useContext as useContext36,
23274
+ useContext as useContext35,
23275
23275
  useEffect as useEffect19,
23276
23276
  useImperativeHandle as useImperativeHandle9,
23277
23277
  useLayoutEffect as useLayoutEffect12,
@@ -24809,7 +24809,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
24809
24809
  var addSequenceStackTraces = (component) => {
24810
24810
  componentsToAddStacksTo.push(component);
24811
24811
  };
24812
- var VERSION = "4.0.459";
24812
+ var VERSION = "4.0.460";
24813
24813
  var checkMultipleRemotionVersions = () => {
24814
24814
  if (typeof globalThis === "undefined") {
24815
24815
  return;
@@ -25028,6 +25028,9 @@ var sequenceSchemaDefaultLayoutNone = {
25028
25028
  default: "none"
25029
25029
  }
25030
25030
  };
25031
+ var nodePathToString = (nodePath) => {
25032
+ return nodePath.join(".");
25033
+ };
25031
25034
  var SequenceManager = React12.createContext({
25032
25035
  registerSequence: () => {
25033
25036
  throw new Error("SequenceManagerContext not initialized");
@@ -25043,19 +25046,48 @@ var SequenceVisibilityToggleContext = React12.createContext({
25043
25046
  throw new Error("SequenceVisibilityToggle not initialized");
25044
25047
  }
25045
25048
  });
25046
- var VisualModeOverridesContext = React12.createContext({
25047
- dragOverrides: {},
25049
+ var getCodeValues = (codeValues, nodePath) => {
25050
+ const status = codeValues[nodePathToString(nodePath)];
25051
+ if (!status) {
25052
+ return;
25053
+ }
25054
+ if (!status.canUpdate) {
25055
+ return;
25056
+ }
25057
+ return status.props;
25058
+ };
25059
+ var getIsJsxInMapCallback = (codeValues, nodePath) => {
25060
+ const status = codeValues[nodePathToString(nodePath)];
25061
+ if (!status) {
25062
+ return false;
25063
+ }
25064
+ if (!status.canUpdate) {
25065
+ return false;
25066
+ }
25067
+ return status.jsxInMapCallback;
25068
+ };
25069
+ var VisualModeGettersContext = React12.createContext({
25070
+ getDragOverrides: () => {
25071
+ throw new Error("VisualModeGettersContext not initialized");
25072
+ },
25073
+ getCodeValues: () => {
25074
+ throw new Error("VisualModeGettersContext not initialized");
25075
+ },
25076
+ getIsJsxInMapCallback: () => {
25077
+ throw new Error("VisualModeGettersContext not initialized");
25078
+ },
25079
+ visualModeEnabled: false
25080
+ });
25081
+ var VisualModeSettersContext = React12.createContext({
25048
25082
  setDragOverrides: () => {
25049
- throw new Error("VisualModeOverridesContext not initialized");
25083
+ throw new Error("VisualModeSettersContext not initialized");
25050
25084
  },
25051
25085
  clearDragOverrides: () => {
25052
- throw new Error("VisualModeOverridesContext not initialized");
25086
+ throw new Error("VisualModeSettersContext not initialized");
25053
25087
  },
25054
- codeValues: {},
25055
25088
  setCodeValues: () => {
25056
- throw new Error("VisualModeOverridesContext not initialized");
25057
- },
25058
- visualModeEnabled: false
25089
+ throw new Error("VisualModeSettersContext not initialized");
25090
+ }
25059
25091
  });
25060
25092
  var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
25061
25093
  const [sequences, setSequences] = useState4([]);
@@ -25064,39 +25096,33 @@ var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
25064
25096
  const controlOverridesRef = useRef6(dragOverrides);
25065
25097
  controlOverridesRef.current = dragOverrides;
25066
25098
  const [codeValues, setCodeValuesMapState] = useState4({});
25067
- const setDragOverrides = useCallback5((sequenceId, key, value) => {
25099
+ const setDragOverrides = useCallback5((nodePath, key, value) => {
25068
25100
  setControlOverrides((prev) => ({
25069
25101
  ...prev,
25070
- [sequenceId]: {
25071
- ...prev[sequenceId],
25102
+ [nodePathToString(nodePath)]: {
25103
+ ...prev[nodePathToString(nodePath)],
25072
25104
  [key]: value
25073
25105
  }
25074
25106
  }));
25075
25107
  }, []);
25076
- const clearDragOverrides = useCallback5((sequenceId) => {
25108
+ const clearDragOverrides = useCallback5((nodePath) => {
25077
25109
  setControlOverrides((prev) => {
25078
- if (!prev[sequenceId]) {
25110
+ const key = nodePathToString(nodePath);
25111
+ if (!prev[key]) {
25079
25112
  return prev;
25080
25113
  }
25081
25114
  const next = { ...prev };
25082
- delete next[sequenceId];
25115
+ delete next[key];
25083
25116
  return next;
25084
25117
  });
25085
25118
  }, []);
25086
- const setCodeValues = useCallback5((sequenceId, values) => {
25119
+ const setCodeValues = useCallback5((nodePath, values) => {
25087
25120
  setCodeValuesMapState((prev) => {
25088
- if (prev[sequenceId] === values) {
25121
+ const key = nodePathToString(nodePath);
25122
+ if (prev[key] === values) {
25089
25123
  return prev;
25090
25124
  }
25091
- if (values === null) {
25092
- if (!(sequenceId in prev)) {
25093
- return prev;
25094
- }
25095
- const next = { ...prev };
25096
- delete next[sequenceId];
25097
- return next;
25098
- }
25099
- return { ...prev, [sequenceId]: values };
25125
+ return { ...prev, [key]: values };
25100
25126
  });
25101
25127
  }, []);
25102
25128
  const registerSequence = useCallback5((seq) => {
@@ -25120,30 +25146,31 @@ var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
25120
25146
  setHidden
25121
25147
  };
25122
25148
  }, [hidden]);
25123
- const overrideContext = useMemo14(() => {
25149
+ const gettersContext = useMemo14(() => {
25124
25150
  return {
25125
25151
  visualModeEnabled,
25126
- dragOverrides,
25152
+ getDragOverrides: (nodePath) => dragOverrides[nodePathToString(nodePath)] ?? {},
25153
+ getCodeValues: (nodePath) => getCodeValues(codeValues, nodePath),
25154
+ getIsJsxInMapCallback: (nodePath) => getIsJsxInMapCallback(codeValues, nodePath)
25155
+ };
25156
+ }, [visualModeEnabled, dragOverrides, codeValues]);
25157
+ const settersContext = useMemo14(() => {
25158
+ return {
25127
25159
  setDragOverrides,
25128
25160
  clearDragOverrides,
25129
- codeValues,
25130
25161
  setCodeValues
25131
25162
  };
25132
- }, [
25133
- visualModeEnabled,
25134
- dragOverrides,
25135
- setDragOverrides,
25136
- clearDragOverrides,
25137
- codeValues,
25138
- setCodeValues
25139
- ]);
25163
+ }, [setDragOverrides, clearDragOverrides, setCodeValues]);
25140
25164
  return /* @__PURE__ */ jsx112(SequenceManager.Provider, {
25141
25165
  value: sequenceContext,
25142
25166
  children: /* @__PURE__ */ jsx112(SequenceVisibilityToggleContext.Provider, {
25143
25167
  value: hiddenContext,
25144
- children: /* @__PURE__ */ jsx112(VisualModeOverridesContext.Provider, {
25145
- value: overrideContext,
25146
- children
25168
+ children: /* @__PURE__ */ jsx112(VisualModeGettersContext.Provider, {
25169
+ value: gettersContext,
25170
+ children: /* @__PURE__ */ jsx112(VisualModeSettersContext.Provider, {
25171
+ value: settersContext,
25172
+ children
25173
+ })
25147
25174
  })
25148
25175
  })
25149
25176
  });
@@ -25188,6 +25215,14 @@ var getFlatSchemaWithAllKeys = (schema) => {
25188
25215
  }
25189
25216
  return out;
25190
25217
  };
25218
+ var OverrideIdsToNodePathsGettersContext = createContext15({
25219
+ overrideIdToNodePathMappings: {}
25220
+ });
25221
+ var OverrideIdsToNodePathsSettersContext = createContext15({
25222
+ setOverrideIdToNodePath: () => {
25223
+ throw new Error("OverrideIdsToNodePathsSettersContext not initialized");
25224
+ }
25225
+ });
25191
25226
  var getEffectiveVisualModeValue = ({
25192
25227
  codeValue,
25193
25228
  runtimeValue,
@@ -25292,6 +25327,7 @@ var mergeValues = ({
25292
25327
  }
25293
25328
  return merged;
25294
25329
  };
25330
+ var stackToOverrideMap = {};
25295
25331
  var wrapInSchema = (Component, schema) => {
25296
25332
  if (typeof process === "undefined" || !process.env?.EXPERIMENTAL_VISUAL_MODE_ENABLED) {
25297
25333
  return Component;
@@ -25300,7 +25336,8 @@ var wrapInSchema = (Component, schema) => {
25300
25336
  const flatKeys = Object.keys(flatSchema);
25301
25337
  const Wrapped = forwardRef2((props, ref) => {
25302
25338
  const env = useRemotionEnvironment();
25303
- const { visualModeEnabled, dragOverrides, codeValues } = useContext15(VisualModeOverridesContext);
25339
+ const { visualModeEnabled, getDragOverrides, getCodeValues: getCodeValues2 } = useContext15(VisualModeGettersContext);
25340
+ const nodePathMapping = useContext15(OverrideIdsToNodePathsGettersContext);
25304
25341
  if (!env.isStudio || env.isReadOnlyStudio || env.isRendering || !visualModeEnabled) {
25305
25342
  return React13.createElement(Component, {
25306
25343
  ...props,
@@ -25314,7 +25351,20 @@ var wrapInSchema = (Component, schema) => {
25314
25351
  ref
25315
25352
  });
25316
25353
  }
25317
- const [overrideId] = useState5(() => String(Math.random()));
25354
+ const [overrideId] = useState5(() => {
25355
+ const { stack } = props;
25356
+ if (!stack) {
25357
+ return String(Math.random());
25358
+ }
25359
+ const existingOverrideId = stackToOverrideMap[stack];
25360
+ if (existingOverrideId) {
25361
+ return existingOverrideId;
25362
+ }
25363
+ const newOverrideId = String(Math.random());
25364
+ stackToOverrideMap[stack] = newOverrideId;
25365
+ return newOverrideId;
25366
+ });
25367
+ const nodePath = nodePathMapping.overrideIdToNodePathMappings[overrideId] ?? null;
25318
25368
  const runtimeValues = flatKeys.map((k) => getNestedValue(props, k));
25319
25369
  const currentRuntimeValueDotNotation = useMemo15(() => readValuesFromProps(props, flatKeys), runtimeValues);
25320
25370
  const controls = useMemo15(() => {
@@ -25328,10 +25378,15 @@ var wrapInSchema = (Component, schema) => {
25328
25378
  return computeEffectiveSchemaValuesDotNotation({
25329
25379
  schema,
25330
25380
  currentValue: currentRuntimeValueDotNotation,
25331
- overrideValues: dragOverrides[overrideId] ?? {},
25332
- propStatus: codeValues[overrideId]
25381
+ overrideValues: nodePath === null ? {} : getDragOverrides(nodePath),
25382
+ propStatus: nodePath === null ? undefined : getCodeValues2(nodePath)
25333
25383
  });
25334
- }, [currentRuntimeValueDotNotation, dragOverrides, overrideId, codeValues]);
25384
+ }, [
25385
+ currentRuntimeValueDotNotation,
25386
+ getDragOverrides,
25387
+ nodePath,
25388
+ getCodeValues2
25389
+ ]);
25335
25390
  const activeKeys = selectActiveKeys(schema, valuesDotNotation);
25336
25391
  const mergedProps = mergeValues({
25337
25392
  props,
@@ -25995,7 +26050,7 @@ var defaultOnPaint = ({
25995
26050
  const transform = ctx.drawElementImage(elementImage, 0, 0);
25996
26051
  element.style.transform = transform.toString();
25997
26052
  };
25998
- var HtmlInCanvasAncestorContext = createContext15(false);
26053
+ var HtmlInCanvasAncestorContext = createContext16(false);
25999
26054
  var HtmlInCanvasInner = forwardRef5(({
26000
26055
  width,
26001
26056
  height,
@@ -26212,7 +26267,7 @@ var validateRenderAsset = (artifact) => {
26212
26267
  }
26213
26268
  validateContent(artifact.content);
26214
26269
  };
26215
- var RenderAssetManager = createContext16({
26270
+ var RenderAssetManager = createContext17({
26216
26271
  registerRenderAsset: () => {
26217
26272
  return;
26218
26273
  },
@@ -26350,7 +26405,7 @@ var calculateMediaDuration = ({
26350
26405
  const actualDuration = duration / playbackRate;
26351
26406
  return Math.floor(actualDuration);
26352
26407
  };
26353
- var LoopContext = createContext17(null);
26408
+ var LoopContext = createContext18(null);
26354
26409
  var useLoop = () => {
26355
26410
  return React17.useContext(LoopContext);
26356
26411
  };
@@ -26421,7 +26476,7 @@ var playbackLogging = ({
26421
26476
  const tags = [mountTime ? Date.now() - mountTime + "ms " : null, tag].filter(Boolean).join(" ");
26422
26477
  Log.trace({ logLevel, tag: null }, `[${tags}]`, message);
26423
26478
  };
26424
- var PreloadContext = createContext18({});
26479
+ var PreloadContext = createContext19({});
26425
26480
  var preloads = {};
26426
26481
  var updaters = [];
26427
26482
  var setPreloads = (updater) => {
@@ -26742,7 +26797,7 @@ var durationReducer = (state, action) => {
26742
26797
  return state;
26743
26798
  }
26744
26799
  };
26745
- var DurationsContext = createContext19({
26800
+ var DurationsContext = createContext20({
26746
26801
  durations: {},
26747
26802
  setDurations: () => {
26748
26803
  throw new Error("context missing");
@@ -26956,8 +27011,8 @@ var didPropChange = (key, newProp, prevProp) => {
26956
27011
  }
26957
27012
  return true;
26958
27013
  };
26959
- var SharedAudioContext = createContext20(null);
26960
- var SharedAudioTagsContext = createContext20(null);
27014
+ var SharedAudioContext = createContext21(null);
27015
+ var SharedAudioTagsContext = createContext21(null);
26961
27016
  var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled }) => {
26962
27017
  const logLevel = useLogLevel();
26963
27018
  const ctxAndGain = useSingletonAudioContext({
@@ -27002,8 +27057,9 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
27002
27057
  if (!ctxAndGain) {
27003
27058
  throw new Error("Audio context not found");
27004
27059
  }
27060
+ const saveForLater = ctxAndGain.audioContext.state === "suspended" && !isResuming.current;
27005
27061
  if (duration > 0) {
27006
- if (ctxAndGain.audioContext.state === "suspended") {
27062
+ if (saveForLater) {
27007
27063
  nodesToResume.current.set(node, {
27008
27064
  scheduledTime,
27009
27065
  offset,
@@ -27021,7 +27077,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
27021
27077
  const prev = prevEndTimes.current;
27022
27078
  const scheduledMismatch = prev.scheduledEndTime !== null && Math.abs(scheduledTime - prev.scheduledEndTime) > 0.001;
27023
27079
  const mediaMismatch = prev.mediaEndTime !== null && Math.abs(mediaTime - prev.mediaEndTime) > 0.001;
27024
- Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" + currentTime.toFixed(4), "offset=" + offset.toFixed(4), "latency=" + latency.toFixed(4), "state=" + ctxAndGain.audioContext.state, originalUnloopedMediaTimestamp !== mediaTime ? "original_ts=" + originalUnloopedMediaTimestamp.toFixed(4) : "");
27080
+ Log.verbose({ logLevel, tag: "audio-scheduling" }, "scheduled %c%s%c %s %c%s%c %s %c%s%c %s %s %s %s %s", scheduledMismatch ? "color: red; font-weight: bold" : "", scheduledTime.toFixed(4), "", scheduledEndTime.toFixed(4), mediaMismatch ? "color: red; font-weight: bold" : "", mediaTime.toFixed(4), "", mediaEndTime.toFixed(4), duration < 0 ? "color: red; font-weight: bold" : timeDiff < 0 ? "color: red; font-weight: bold" : "color: blue; font-weight: bold", duration < 0 ? "missed " + Math.abs(offset).toFixed(2) + "s" : Math.abs(timeDiff).toFixed(2) + (timeDiff < 0 ? " delay" : " ahead"), "", "current=" + currentTime.toFixed(4), "actualcurrent=" + ctxAndGain.audioContext.currentTime.toFixed(4), "offset=" + offset.toFixed(4), "latency=" + latency.toFixed(4), "state=" + ctxAndGain.audioContext.state, originalUnloopedMediaTimestamp !== mediaTime ? "original_ts=" + originalUnloopedMediaTimestamp.toFixed(4) : "", "action=" + (saveForLater ? "schedule" : "start"), "");
27025
27081
  prev.scheduledEndTime = scheduledEndTime;
27026
27082
  prev.mediaEndTime = mediaEndTime;
27027
27083
  return duration > 0 ? {
@@ -27041,6 +27097,13 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
27041
27097
  return Promise.resolve();
27042
27098
  }
27043
27099
  audioContextIsPlayingEventually.current = true;
27100
+ ctxAndGain.gainNode.gain.cancelScheduledValues(ctxAndGain.audioContext.currentTime);
27101
+ ctxAndGain.gainNode.gain.setValueAtTime(0, ctxAndGain.audioContext.currentTime);
27102
+ ctxAndGain.gainNode.gain.linearRampToValueAtTime(1, ctxAndGain.audioContext.currentTime + 0.03);
27103
+ nodesToResume.current.forEach((r2, node) => {
27104
+ node.start(r2.scheduledTime, r2.offset, r2.duration);
27105
+ });
27106
+ nodesToResume.current.clear();
27044
27107
  const resumePromise = ctxAndGain.audioContext.resume();
27045
27108
  isResuming.current = new Promise((resolve) => {
27046
27109
  waitUntilActuallyResumed(ctxAndGain.audioContext, logLevel).then(resolve);
@@ -27051,11 +27114,6 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
27051
27114
  }).finally(() => {
27052
27115
  isResuming.current = null;
27053
27116
  });
27054
- ctxAndGain.gainNode.gain.cancelScheduledValues(ctxAndGain.audioContext.currentTime);
27055
- ctxAndGain.gainNode.gain.setValueAtTime(0, ctxAndGain.audioContext.currentTime);
27056
- ctxAndGain.gainNode.gain.linearRampToValueAtTime(1, ctxAndGain.audioContext.currentTime + 0.03);
27057
- nodesToResume.current.forEach((r2, node) => node.start(r2.scheduledTime, r2.offset, r2.duration));
27058
- nodesToResume.current.clear();
27059
27117
  return resumePromise.catch(() => {});
27060
27118
  }, [ctxAndGain, logLevel]);
27061
27119
  const getIsResumingAudioContext = useCallback9(() => {
@@ -27857,9 +27915,14 @@ var useBufferManager = (logLevel, mountTime) => {
27857
27915
  }
27858
27916
  };
27859
27917
  }
27918
+ let unblocked = false;
27860
27919
  setBlocks((b) => [...b, block]);
27861
27920
  return {
27862
27921
  unblock: () => {
27922
+ if (unblocked) {
27923
+ return;
27924
+ }
27925
+ unblocked = true;
27863
27926
  setBlocks((b) => {
27864
27927
  const newArr = b.filter((bx) => bx !== block);
27865
27928
  if (newArr.length === b.length) {
@@ -27953,18 +28016,30 @@ var useIsPlayerBuffering = (bufferManager) => {
27953
28016
  };
27954
28017
  var useBufferState = () => {
27955
28018
  const buffer = useContext25(BufferingContextReact);
28019
+ const logLevel = useLogLevel();
27956
28020
  const addBlock = buffer ? buffer.addBlock : null;
27957
28021
  return useMemo25(() => ({
27958
28022
  delayPlayback: () => {
27959
28023
  if (!addBlock) {
27960
28024
  throw new Error("Tried to enable the buffering state, but a Remotion context was not found. This API can only be called in a component that was passed to the Remotion Player or a <Composition>. Or you might have experienced a version mismatch - run `npx remotion versions` and ensure all packages have the same version. This error is thrown by the buffer state https://remotion.dev/docs/player/buffer-state");
27961
28025
  }
28026
+ Log.trace({ logLevel, tag: "[buffer-state]" }, "Adding buffer handle", new Error().stack);
27962
28027
  const { unblock } = addBlock({
27963
28028
  id: String(Math.random())
27964
28029
  });
27965
- return { unblock };
28030
+ let unblocked = false;
28031
+ return {
28032
+ unblock: () => {
28033
+ if (unblocked) {
28034
+ return;
28035
+ }
28036
+ unblocked = true;
28037
+ Log.trace({ logLevel, tag: "[buffer-state]" }, "Removing buffer handle");
28038
+ unblock();
28039
+ }
28040
+ };
27966
28041
  }
27967
- }), [addBlock]);
28042
+ }), [addBlock, logLevel]);
27968
28043
  };
27969
28044
  var isSafariWebkit = () => {
27970
28045
  const isSafari2 = /^((?!chrome|android).)*safari/i.test(window.navigator.userAgent);
@@ -28732,11 +28807,11 @@ var useMediaTag = ({
28732
28807
  env.isPlayer
28733
28808
  ]);
28734
28809
  };
28735
- var MediaVolumeContext = createContext21({
28810
+ var MediaVolumeContext = createContext22({
28736
28811
  mediaMuted: false,
28737
28812
  mediaVolume: 1
28738
28813
  });
28739
- var SetMediaVolumeContext = createContext21({
28814
+ var SetMediaVolumeContext = createContext22({
28740
28815
  setMediaMuted: () => {
28741
28816
  throw new Error("default");
28742
28817
  },
@@ -29570,7 +29645,7 @@ var waitForRoot = (fn) => {
29570
29645
  listeners = listeners.filter((l) => l !== fn);
29571
29646
  };
29572
29647
  };
29573
- var MediaEnabledContext = createContext22(null);
29648
+ var MediaEnabledContext = createContext23(null);
29574
29649
  var useVideoEnabled = () => {
29575
29650
  const context = useContext32(MediaEnabledContext);
29576
29651
  if (!context) {
@@ -29852,7 +29927,7 @@ var setupEnvVariables = () => {
29852
29927
  });
29853
29928
  };
29854
29929
  var CurrentScaleContext = React32.createContext(null);
29855
- var PreviewSizeContext = createContext23({
29930
+ var PreviewSizeContext = createContext24({
29856
29931
  setSize: () => {
29857
29932
  return;
29858
29933
  },
@@ -29875,14 +29950,6 @@ var calculateScale = ({
29875
29950
  }
29876
29951
  return Number(previewSize);
29877
29952
  };
29878
- var useSequenceControlOverride = (key) => {
29879
- const seqContext = useContext33(SequenceContext);
29880
- const { dragOverrides: overrides } = useContext33(VisualModeOverridesContext);
29881
- if (!seqContext) {
29882
- return;
29883
- }
29884
- return overrides[seqContext.id]?.[key];
29885
- };
29886
29953
  var getOffthreadVideoSource = ({
29887
29954
  src,
29888
29955
  transparent,
@@ -29914,9 +29981,9 @@ var OffthreadVideoForRendering = ({
29914
29981
  const frame = useCurrentFrame();
29915
29982
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
29916
29983
  const videoConfig = useUnsafeVideoConfig();
29917
- const sequenceContext = useContext34(SequenceContext);
29984
+ const sequenceContext = useContext33(SequenceContext);
29918
29985
  const mediaStartsAt = useMediaStartsAt();
29919
- const { registerRenderAsset, unregisterRenderAsset } = useContext34(RenderAssetManager);
29986
+ const { registerRenderAsset, unregisterRenderAsset } = useContext33(RenderAssetManager);
29920
29987
  if (!src) {
29921
29988
  throw new TypeError("No `src` was passed to <OffthreadVideo>.");
29922
29989
  }
@@ -30128,7 +30195,7 @@ class MediaPlaybackError extends Error {
30128
30195
  }
30129
30196
  }
30130
30197
  var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
30131
- const context = useContext35(SharedAudioContext);
30198
+ const context = useContext34(SharedAudioContext);
30132
30199
  if (!context) {
30133
30200
  throw new Error("SharedAudioContext not found");
30134
30201
  }
@@ -30184,8 +30251,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
30184
30251
  }
30185
30252
  const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
30186
30253
  const { fps, durationInFrames } = useVideoConfig();
30187
- const parentSequence = useContext35(SequenceContext);
30188
- const { hidden } = useContext35(SequenceVisibilityToggleContext);
30254
+ const parentSequence = useContext34(SequenceContext);
30255
+ const { hidden } = useContext34(SequenceVisibilityToggleContext);
30189
30256
  const logLevel = useLogLevel();
30190
30257
  const mountTime = useMountTime();
30191
30258
  const [timelineId] = useState21(() => String(Math.random()));
@@ -30609,7 +30676,8 @@ var Internals = {
30609
30676
  VideoForPreview,
30610
30677
  CompositionManager,
30611
30678
  CompositionSetters,
30612
- VisualModeOverridesContext,
30679
+ VisualModeGettersContext,
30680
+ VisualModeSettersContext,
30613
30681
  SequenceManager,
30614
30682
  SequenceStackTracesUpdateContext,
30615
30683
  SequenceVisibilityToggleContext,
@@ -30618,7 +30686,6 @@ var Internals = {
30618
30686
  sequenceStyleSchema,
30619
30687
  flattenActiveSchema,
30620
30688
  getFlatSchemaWithAllKeys,
30621
- useSequenceControlOverride,
30622
30689
  RemotionRootContexts,
30623
30690
  CompositionManagerProvider,
30624
30691
  useVideo,
@@ -30711,7 +30778,9 @@ var Internals = {
30711
30778
  useMemoizedEffects,
30712
30779
  defineEffect,
30713
30780
  createDescriptor,
30714
- computeEffectiveSchemaValuesDotNotation
30781
+ computeEffectiveSchemaValuesDotNotation,
30782
+ OverrideIdsToNodePathsGettersContext,
30783
+ OverrideIdsToNodePathsSettersContext
30715
30784
  };
30716
30785
  var NUMBER = "[-+]?\\d*\\.?\\d+";
30717
30786
  var PERCENTAGE = NUMBER + "%";
@@ -30749,7 +30818,7 @@ var flattenChildren = (children) => {
30749
30818
  return flatChildren;
30750
30819
  }, []);
30751
30820
  };
30752
- var IsInsideSeriesContext = createContext24(false);
30821
+ var IsInsideSeriesContext = createContext25(false);
30753
30822
  var IsInsideSeriesContainer = ({ children }) => {
30754
30823
  return /* @__PURE__ */ jsx34(IsInsideSeriesContext.Provider, {
30755
30824
  value: true,
@@ -30791,9 +30860,6 @@ var SeriesInner = (props2) => {
30791
30860
  throw new TypeError(`The <Series /> component only accepts a list of <Series.Sequence /> components as its children, but got ${castedChild} instead`);
30792
30861
  }
30793
30862
  const debugInfo = `index = ${i}, duration = ${castedChild.props.durationInFrames}`;
30794
- if (!castedChild?.props.children) {
30795
- throw new TypeError(`A <Series.Sequence /> component (${debugInfo}) was detected to not have any children. Delete it to fix this error.`);
30796
- }
30797
30863
  const durationInFramesProp = castedChild.props.durationInFrames;
30798
30864
  const {
30799
30865
  durationInFrames,
@@ -31309,13 +31375,13 @@ var VideoForRenderingForwardFunction = ({
31309
31375
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
31310
31376
  const videoConfig = useUnsafeVideoConfig();
31311
31377
  const videoRef = useRef23(null);
31312
- const sequenceContext = useContext36(SequenceContext);
31378
+ const sequenceContext = useContext35(SequenceContext);
31313
31379
  const mediaStartsAt = useMediaStartsAt();
31314
31380
  const environment = useRemotionEnvironment();
31315
31381
  const logLevel = useLogLevel();
31316
31382
  const mountTime = useMountTime();
31317
31383
  const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
31318
- const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
31384
+ const { registerRenderAsset, unregisterRenderAsset } = useContext35(RenderAssetManager);
31319
31385
  const id = useMemo37(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
31320
31386
  props2.src,
31321
31387
  sequenceContext?.cumulatedFrom,
@@ -31525,7 +31591,7 @@ var VideoForwardingFunction = (props2, ref) => {
31525
31591
  if (environment.isClientSideRendering) {
31526
31592
  throw new Error("<Html5Video> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
31527
31593
  }
31528
- const { durations, setDurations } = useContext37(DurationsContext);
31594
+ const { durations, setDurations } = useContext36(DurationsContext);
31529
31595
  if (typeof ref === "string") {
31530
31596
  throw new Error("string refs are not supported");
31531
31597
  }
@@ -39429,7 +39495,7 @@ class AudioGainRadioGroup extends Component {
39429
39495
  onSetup() {
39430
39496
  this.#media = useMediaContext();
39431
39497
  if (hasProvidedContext(menuContext)) {
39432
- this.#menu = useContext45(menuContext);
39498
+ this.#menu = useContext44(menuContext);
39433
39499
  }
39434
39500
  }
39435
39501
  onConnect(el) {
@@ -40819,7 +40885,7 @@ var DefaultKeyboardDisplay = React65.forwardRef(({ icons: Icons, ...props }, for
40819
40885
  });
40820
40886
  DefaultKeyboardDisplay.displayName = "DefaultKeyboardDisplay";
40821
40887
  function getText() {
40822
- const { $state } = useContext45(mediaContext), action = $state.lastKeyboardAction()?.action, audioGain = $state.audioGain() ?? 1;
40888
+ const { $state } = useContext44(mediaContext), action = $state.lastKeyboardAction()?.action, audioGain = $state.audioGain() ?? 1;
40823
40889
  switch (action) {
40824
40890
  case "toggleMuted":
40825
40891
  return $state.muted() ? "0%" : getVolumeText($state.volume(), audioGain);
@@ -40834,7 +40900,7 @@ function getVolumeText(volume, gain) {
40834
40900
  return `${Math.round(volume * gain * 100)}%`;
40835
40901
  }
40836
40902
  function getIcon(Icons) {
40837
- const { $state } = useContext45(mediaContext), action = $state.lastKeyboardAction()?.action;
40903
+ const { $state } = useContext44(mediaContext), action = $state.lastKeyboardAction()?.action;
40838
40904
  switch (action) {
40839
40905
  case "togglePaused":
40840
40906
  return !$state.paused() ? Icons.Play : Icons.Pause;