@remotion/promo-pages 4.0.457 → 4.0.459
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.
- package/dist/Homepage.js +699 -495
- package/dist/components/experts/experts-data.js +13 -0
- package/dist/components/homepage/CommunityStatsItems.js +1 -1
- package/dist/components/homepage/FreePricing.js +10 -11
- package/dist/components/homepage/GitHubButton.js +1 -1
- package/dist/components/prompts/PromptsGallery.js +1 -1
- package/dist/components/prompts/PromptsSubmit.js +1 -1
- package/dist/components/team/TrustSection.js +1 -1
- package/dist/design.js +396 -335
- package/dist/experts/experts-data.js +124 -2
- package/dist/experts.js +535 -331
- package/dist/homepage/Pricing.js +399 -338
- package/dist/prompts/PromptsGallery.js +396 -335
- package/dist/prompts/PromptsShow.js +396 -335
- package/dist/prompts/PromptsSubmit.js +396 -335
- package/dist/team.js +396 -335
- package/dist/template-modal-content.js +398 -337
- package/dist/templates.js +396 -335
- package/package.json +13 -13
- package/public/img/freelancers/huang-chi-chang.jpg +0 -0
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.css +0 -32
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/Homepage.js +0 -42672
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/design.js +0 -20460
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts/experts-data.js +0 -740
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/experts.js +0 -8778
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/homepage/Pricing.js +0 -21875
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsGallery.js +0 -20301
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.css +0 -2578
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsShow.js +0 -40128
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.css +0 -2578
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/PromptsSubmit.js +0 -40219
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/prompts/prompt-types.js +0 -0
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/team.js +0 -292
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.css +0 -32
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/template-modal-content.js +0 -22044
- package/dist/Users/jonathanburger/remotion/packages/promo-pages/dist/templates.js +0 -21306
- package/dist/components/homepage/InfoTooltip.d.ts +0 -6
- package/dist/components/homepage/InfoTooltip.js +0 -6
package/dist/Homepage.js
CHANGED
|
@@ -45,6 +45,10 @@ var experts = [
|
|
|
45
45
|
linkedin: "in/sterv/",
|
|
46
46
|
email: "stephen@middy.com",
|
|
47
47
|
videocall: null,
|
|
48
|
+
discord: {
|
|
49
|
+
username: "stervdotcom",
|
|
50
|
+
userId: "613828260534550719"
|
|
51
|
+
},
|
|
48
52
|
since: new Date("2022-08-15").getTime(),
|
|
49
53
|
description: /* @__PURE__ */ jsxs("div", {
|
|
50
54
|
children: [
|
|
@@ -69,6 +73,10 @@ var experts = [
|
|
|
69
73
|
linkedin: "in/just-moh-it/",
|
|
70
74
|
email: "yo@mohitya.dev",
|
|
71
75
|
videocall: null,
|
|
76
|
+
discord: {
|
|
77
|
+
username: "justmohit",
|
|
78
|
+
userId: "616199379530940426"
|
|
79
|
+
},
|
|
72
80
|
since: new Date("2022-08-15").getTime(),
|
|
73
81
|
description: /* @__PURE__ */ jsxs("div", {
|
|
74
82
|
children: [
|
|
@@ -95,6 +103,10 @@ var experts = [
|
|
|
95
103
|
linkedin: "in/satelllte/",
|
|
96
104
|
email: "lunaerxs@gmail.com",
|
|
97
105
|
videocall: null,
|
|
106
|
+
discord: {
|
|
107
|
+
username: "satelllte",
|
|
108
|
+
userId: "564382615105306634"
|
|
109
|
+
},
|
|
98
110
|
since: new Date("2022-09-16").getTime(),
|
|
99
111
|
description: /* @__PURE__ */ jsxs("div", {
|
|
100
112
|
children: [
|
|
@@ -124,6 +136,10 @@ var experts = [
|
|
|
124
136
|
linkedin: null,
|
|
125
137
|
email: "ben@captok.ai",
|
|
126
138
|
videocall: null,
|
|
139
|
+
discord: {
|
|
140
|
+
username: "ben201000",
|
|
141
|
+
userId: "833862694372245515"
|
|
142
|
+
},
|
|
127
143
|
since: new Date("2022-11-03").getTime(),
|
|
128
144
|
description: /* @__PURE__ */ jsxs("div", {
|
|
129
145
|
children: [
|
|
@@ -151,6 +167,7 @@ var experts = [
|
|
|
151
167
|
since: new Date("2022-08-22").getTime(),
|
|
152
168
|
email: "karel@asius.ai",
|
|
153
169
|
videocall: null,
|
|
170
|
+
discord: null,
|
|
154
171
|
description: /* @__PURE__ */ jsxs("div", {
|
|
155
172
|
children: [
|
|
156
173
|
"I have created Remotion videos for many companies and helped them with deployment, some examples are visible",
|
|
@@ -184,6 +201,10 @@ var experts = [
|
|
|
184
201
|
linkedin: "in/alex-f-17a5bb56/",
|
|
185
202
|
email: "alex.frndz@gmail.com",
|
|
186
203
|
videocall: "https://cal.com/remotion-expert-alex-fernandez",
|
|
204
|
+
discord: {
|
|
205
|
+
username: "alex12345670000",
|
|
206
|
+
userId: "1046357837976182894"
|
|
207
|
+
},
|
|
187
208
|
since: new Date("2022-12-02").getTime(),
|
|
188
209
|
description: /* @__PURE__ */ jsx("div", {
|
|
189
210
|
children: "I am an experienced integration developer using Mulesoft, a backend developer and on the side frontend and animation enthusiast."
|
|
@@ -199,6 +220,10 @@ var experts = [
|
|
|
199
220
|
linkedin: "in/matthew-mcgillivray-68295a55",
|
|
200
221
|
email: "mm@mattm9y.com",
|
|
201
222
|
videocall: "https://cal.com/remotion-expert-matt-mcgillivray",
|
|
223
|
+
discord: {
|
|
224
|
+
username: "umungobungo",
|
|
225
|
+
userId: "225141342894948352"
|
|
226
|
+
},
|
|
202
227
|
since: new Date("2023-01-30").getTime(),
|
|
203
228
|
description: /* @__PURE__ */ jsx("div", {
|
|
204
229
|
children: /* @__PURE__ */ jsxs("p", {
|
|
@@ -263,6 +288,10 @@ var experts = [
|
|
|
263
288
|
linkedin: "in/raymond-lotmar/",
|
|
264
289
|
email: "ray@blocklab.ch",
|
|
265
290
|
videocall: "https://cal.com/remotion-expert-ray-lotmar",
|
|
291
|
+
discord: {
|
|
292
|
+
username: "ray_block",
|
|
293
|
+
userId: "402806969980944384"
|
|
294
|
+
},
|
|
266
295
|
since: new Date("2023-01-30").getTime(),
|
|
267
296
|
description: /* @__PURE__ */ jsxs("div", {
|
|
268
297
|
children: [
|
|
@@ -293,6 +322,10 @@ var experts = [
|
|
|
293
322
|
linkedin: "in/lorenzobertolini/",
|
|
294
323
|
email: "ciao@lorenzobertolini.com",
|
|
295
324
|
videocall: null,
|
|
325
|
+
discord: {
|
|
326
|
+
username: "lorenzobertolini",
|
|
327
|
+
userId: "933408520789950516"
|
|
328
|
+
},
|
|
296
329
|
since: new Date("2023-03-14").getTime(),
|
|
297
330
|
description: /* @__PURE__ */ jsxs("div", {
|
|
298
331
|
children: [
|
|
@@ -333,6 +366,10 @@ var experts = [
|
|
|
333
366
|
linkedin: "in/antoine-caron-slash/",
|
|
334
367
|
email: "antoine395.caron+remotion@gmail.com",
|
|
335
368
|
videocall: null,
|
|
369
|
+
discord: {
|
|
370
|
+
username: "antoinecaron.",
|
|
371
|
+
userId: "199566011849113600"
|
|
372
|
+
},
|
|
336
373
|
since: new Date("2023-03-17").getTime(),
|
|
337
374
|
description: /* @__PURE__ */ jsx("div", {
|
|
338
375
|
children: /* @__PURE__ */ jsxs("p", {
|
|
@@ -359,6 +396,10 @@ var experts = [
|
|
|
359
396
|
linkedin: "in/mickaelalves/",
|
|
360
397
|
email: "alves.mckl@gmail.com",
|
|
361
398
|
videocall: null,
|
|
399
|
+
discord: {
|
|
400
|
+
username: "cruuzazul",
|
|
401
|
+
userId: "455697698050277378"
|
|
402
|
+
},
|
|
362
403
|
since: new Date("2023-03-17").getTime(),
|
|
363
404
|
description: /* @__PURE__ */ jsx("div", {
|
|
364
405
|
children: /* @__PURE__ */ jsxs("p", {
|
|
@@ -385,6 +426,10 @@ var experts = [
|
|
|
385
426
|
linkedin: "in/pranavk7/",
|
|
386
427
|
email: "hey@pranava.dev",
|
|
387
428
|
videocall: null,
|
|
429
|
+
discord: {
|
|
430
|
+
username: "thecmdrunner",
|
|
431
|
+
userId: "768013898385063936"
|
|
432
|
+
},
|
|
388
433
|
since: new Date("2023-07-03").getTime(),
|
|
389
434
|
description: /* @__PURE__ */ jsxs("div", {
|
|
390
435
|
children: [
|
|
@@ -419,6 +464,10 @@ var experts = [
|
|
|
419
464
|
linkedin: "in/rahulbansalrb/",
|
|
420
465
|
email: "bansalrahul14@gmail.com",
|
|
421
466
|
videocall: "https://cal.com/remotion-expert-rahul-bansal",
|
|
467
|
+
discord: {
|
|
468
|
+
username: "raxrb",
|
|
469
|
+
userId: "564805165211713536"
|
|
470
|
+
},
|
|
422
471
|
since: new Date("2023-08-04").getTime(),
|
|
423
472
|
description: /* @__PURE__ */ jsxs("div", {
|
|
424
473
|
children: [
|
|
@@ -438,12 +487,16 @@ var experts = [
|
|
|
438
487
|
slug: "pramod-kumar",
|
|
439
488
|
name: "Pramod Kumar",
|
|
440
489
|
image: "/img/freelancers/pramod.jpg",
|
|
441
|
-
website:
|
|
490
|
+
website: null,
|
|
442
491
|
x: "pramodk73",
|
|
443
492
|
github: "pskd73",
|
|
444
493
|
linkedin: "in/pramod-kumar-1a135b74/",
|
|
445
494
|
email: "pramodkumar.damam73@gmail.com",
|
|
446
495
|
videocall: "https://cal.com/remotion-expert-pramod-kumar",
|
|
496
|
+
discord: {
|
|
497
|
+
username: "pskd73",
|
|
498
|
+
userId: "517057574483525655"
|
|
499
|
+
},
|
|
447
500
|
since: new Date("2024-03-10").getTime(),
|
|
448
501
|
description: /* @__PURE__ */ jsxs("div", {
|
|
449
502
|
children: [
|
|
@@ -473,7 +526,14 @@ var experts = [
|
|
|
473
526
|
children: "remotion-animate-text"
|
|
474
527
|
}),
|
|
475
528
|
" ",
|
|
476
|
-
"for Remotion to animate text. I build products in public on X
|
|
529
|
+
"for Remotion to animate text. I build products in public on X and currently building",
|
|
530
|
+
" ",
|
|
531
|
+
/* @__PURE__ */ jsx("a", {
|
|
532
|
+
target: "_blank",
|
|
533
|
+
href: "https://crawlchat.app",
|
|
534
|
+
children: "CrawlChat"
|
|
535
|
+
}),
|
|
536
|
+
". I love helping the community. Feel free to reach out. Looking forward!"
|
|
477
537
|
]
|
|
478
538
|
})
|
|
479
539
|
},
|
|
@@ -487,6 +547,10 @@ var experts = [
|
|
|
487
547
|
linkedin: "in/ayushsoni1001/",
|
|
488
548
|
email: "hi@ayushsoni.com",
|
|
489
549
|
videocall: "https://cal.com/remotion-expert-ayush-soni",
|
|
550
|
+
discord: {
|
|
551
|
+
username: "ayushsoni",
|
|
552
|
+
userId: "624968675916513310"
|
|
553
|
+
},
|
|
490
554
|
since: new Date("2024-03-17").getTime(),
|
|
491
555
|
description: /* @__PURE__ */ jsxs("div", {
|
|
492
556
|
children: [
|
|
@@ -518,6 +582,10 @@ var experts = [
|
|
|
518
582
|
linkedin: "in/andrei-terteci-935331151/",
|
|
519
583
|
email: "hello@andreiterteci.com",
|
|
520
584
|
videocall: "https://cal.com/remotion-expert-andrei-terteci",
|
|
585
|
+
discord: {
|
|
586
|
+
username: "andreiterteci",
|
|
587
|
+
userId: "710924274361172078"
|
|
588
|
+
},
|
|
521
589
|
since: new Date("2024-03-17").getTime(),
|
|
522
590
|
description: /* @__PURE__ */ jsxs("div", {
|
|
523
591
|
children: [
|
|
@@ -549,6 +617,10 @@ var experts = [
|
|
|
549
617
|
linkedin: "in/sambowenhughes/",
|
|
550
618
|
email: "sam@reactvideoeditor.com",
|
|
551
619
|
videocall: "https://calendly.com/reactvideoeditor/30min",
|
|
620
|
+
discord: {
|
|
621
|
+
username: ".samelliott",
|
|
622
|
+
userId: "862593906972688385"
|
|
623
|
+
},
|
|
552
624
|
since: new Date("2025-06-03").getTime(),
|
|
553
625
|
description: /* @__PURE__ */ jsxs("div", {
|
|
554
626
|
children: [
|
|
@@ -634,6 +706,10 @@ var experts = [
|
|
|
634
706
|
email: "shankhadeepdey99@gmail.com",
|
|
635
707
|
slug: "iamshankhadeep",
|
|
636
708
|
videocall: "https://cal.com/iamshankhadeep",
|
|
709
|
+
discord: {
|
|
710
|
+
username: "iamshankhadeep",
|
|
711
|
+
userId: "441576588937527306"
|
|
712
|
+
},
|
|
637
713
|
since: new Date("2021-02-13").getTime(),
|
|
638
714
|
description: /* @__PURE__ */ jsx("div", {
|
|
639
715
|
children: "I created @remotion/player and @remotion/lambda with Jonny. I have 5+ years of experience in building products using Remotion, React, Next.js, and Typescript. I have worked in companies like Camcorder and early-stage startups like a funnel builder marketplace. I can build products super fast from scratch. Looking forward to helping you."
|
|
@@ -649,6 +725,10 @@ var experts = [
|
|
|
649
725
|
linkedin: "in/amirtadrisi/",
|
|
650
726
|
email: "amir@cubite.io",
|
|
651
727
|
videocall: null,
|
|
728
|
+
discord: {
|
|
729
|
+
username: "aioppsos1565",
|
|
730
|
+
userId: "709545234882756711"
|
|
731
|
+
},
|
|
652
732
|
since: new Date("2025-01-01").getTime(),
|
|
653
733
|
description: /* @__PURE__ */ jsxs("div", {
|
|
654
734
|
children: [
|
|
@@ -718,6 +798,10 @@ var experts = [
|
|
|
718
798
|
linkedin: "in/pablito-jean-pool-silva-inca-735a03192/",
|
|
719
799
|
email: "pablito.silvainca@gmail.com",
|
|
720
800
|
videocall: null,
|
|
801
|
+
discord: {
|
|
802
|
+
username: "pablituuu",
|
|
803
|
+
userId: "513743221109555206"
|
|
804
|
+
},
|
|
721
805
|
since: new Date("2026-02-13").getTime(),
|
|
722
806
|
description: /* @__PURE__ */ jsxs("div", {
|
|
723
807
|
children: [
|
|
@@ -744,6 +828,10 @@ var experts = [
|
|
|
744
828
|
linkedin: "in/haingt-dev/",
|
|
745
829
|
email: "hai@haingt.dev",
|
|
746
830
|
videocall: null,
|
|
831
|
+
discord: {
|
|
832
|
+
username: "haingt.dev",
|
|
833
|
+
userId: "384392709902827522"
|
|
834
|
+
},
|
|
747
835
|
since: new Date("2026-04-02").getTime(),
|
|
748
836
|
description: /* @__PURE__ */ jsxs("div", {
|
|
749
837
|
children: [
|
|
@@ -771,6 +859,10 @@ var experts = [
|
|
|
771
859
|
linkedin: "in/ashok-reddy-kakumanu-8a3078247/",
|
|
772
860
|
email: "ashok17748@gmail.com",
|
|
773
861
|
videocall: null,
|
|
862
|
+
discord: {
|
|
863
|
+
username: ".8gates",
|
|
864
|
+
userId: "668293302767845376"
|
|
865
|
+
},
|
|
774
866
|
since: new Date("2026-04-30").getTime(),
|
|
775
867
|
description: /* @__PURE__ */ jsxs("div", {
|
|
776
868
|
children: [
|
|
@@ -786,10 +878,40 @@ var experts = [
|
|
|
786
878
|
"Available for hourly and project/milestone-based engagements."
|
|
787
879
|
]
|
|
788
880
|
})
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
slug: "huang-chi-chang",
|
|
884
|
+
name: "Huang Chi Chang",
|
|
885
|
+
image: "/img/freelancers/huang-chi-chang.jpg",
|
|
886
|
+
website: "https://swift-clip.vercel.app/",
|
|
887
|
+
x: null,
|
|
888
|
+
github: "zz41354899",
|
|
889
|
+
linkedin: null,
|
|
890
|
+
email: "zz41354899@gmail.com",
|
|
891
|
+
videocall: null,
|
|
892
|
+
discord: {
|
|
893
|
+
username: "Nocts",
|
|
894
|
+
userId: "444852671191580672"
|
|
895
|
+
},
|
|
896
|
+
since: new Date("2026-05-05").getTime(),
|
|
897
|
+
description: /* @__PURE__ */ jsxs("div", {
|
|
898
|
+
children: [
|
|
899
|
+
"I'm a Product Designer and Indie Hacker based in Taiwan. I specialize in using Remotion to automate video production, building dynamic templates and automated rendering pipelines.",
|
|
900
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
901
|
+
"My project,",
|
|
902
|
+
" ",
|
|
903
|
+
/* @__PURE__ */ jsx("a", {
|
|
904
|
+
target: "_blank",
|
|
905
|
+
href: "https://swift-clip.vercel.app/",
|
|
906
|
+
children: "SwiftClip"
|
|
907
|
+
}),
|
|
908
|
+
", is a tool designed to streamline professional video creation through programmatic workflows."
|
|
909
|
+
]
|
|
910
|
+
})
|
|
789
911
|
}
|
|
790
912
|
];
|
|
791
913
|
// src/components/experts/ExpertsPage.tsx
|
|
792
|
-
import { useMemo as
|
|
914
|
+
import { useMemo as useMemo38 } from "react";
|
|
793
915
|
|
|
794
916
|
// ../core/dist/esm/index.mjs
|
|
795
917
|
import { createContext } from "react";
|
|
@@ -834,11 +956,11 @@ import { jsx as jsx8 } from "react/jsx-runtime";
|
|
|
834
956
|
import { useEffect as useEffect3, useMemo as useMemo10, useRef as useRef4 } from "react";
|
|
835
957
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
836
958
|
import {
|
|
837
|
-
forwardRef as
|
|
838
|
-
useContext as
|
|
959
|
+
forwardRef as forwardRef3,
|
|
960
|
+
useContext as useContext16,
|
|
839
961
|
useEffect as useEffect5,
|
|
840
|
-
useMemo as
|
|
841
|
-
useState as
|
|
962
|
+
useMemo as useMemo16,
|
|
963
|
+
useState as useState6
|
|
842
964
|
} from "react";
|
|
843
965
|
import { useRef as useRef5 } from "react";
|
|
844
966
|
import { useContext as useContext14, useMemo as useMemo13 } from "react";
|
|
@@ -848,16 +970,17 @@ import { jsx as jsx10 } from "react/jsx-runtime";
|
|
|
848
970
|
import { createContext as createContext14 } from "react";
|
|
849
971
|
import React12, { useCallback as useCallback5, useMemo as useMemo14, useRef as useRef6, useState as useState4 } from "react";
|
|
850
972
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
973
|
+
import React13, { forwardRef as forwardRef2, useState as useState5, useContext as useContext15, useMemo as useMemo15 } from "react";
|
|
851
974
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
852
975
|
import {
|
|
853
|
-
forwardRef as
|
|
976
|
+
forwardRef as forwardRef4,
|
|
854
977
|
useEffect as useEffect6,
|
|
855
978
|
useImperativeHandle as useImperativeHandle2,
|
|
856
979
|
useLayoutEffect as useLayoutEffect2,
|
|
857
980
|
useRef as useRef8,
|
|
858
|
-
useState as
|
|
981
|
+
useState as useState7
|
|
859
982
|
} from "react";
|
|
860
|
-
import
|
|
983
|
+
import React15, { useCallback as useCallback6, useImperativeHandle, useRef as useRef7 } from "react";
|
|
861
984
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
862
985
|
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
863
986
|
import {
|
|
@@ -866,12 +989,10 @@ import {
|
|
|
866
989
|
useCallback as useCallback7,
|
|
867
990
|
useContext as useContext17,
|
|
868
991
|
useLayoutEffect as useLayoutEffect3,
|
|
869
|
-
useMemo as
|
|
992
|
+
useMemo as useMemo17,
|
|
870
993
|
useRef as useRef9,
|
|
871
994
|
useState as useState8
|
|
872
995
|
} from "react";
|
|
873
|
-
import React15, { forwardRef as forwardRef4, useMemo as useMemo17 } from "react";
|
|
874
|
-
import { useContext as useContext16, useMemo as useMemo16, useState as useState7 } from "react";
|
|
875
996
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
876
997
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect5, useState as useState10 } from "react";
|
|
877
998
|
import {
|
|
@@ -879,25 +1000,25 @@ import {
|
|
|
879
1000
|
useCallback as useCallback8,
|
|
880
1001
|
useImperativeHandle as useImperativeHandle3,
|
|
881
1002
|
useLayoutEffect as useLayoutEffect4,
|
|
882
|
-
useMemo as
|
|
1003
|
+
useMemo as useMemo18,
|
|
883
1004
|
useRef as useRef10,
|
|
884
1005
|
useState as useState9
|
|
885
1006
|
} from "react";
|
|
886
1007
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
887
1008
|
import { forwardRef as forwardRef8, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
888
|
-
import React17, { createContext as createContext17, useMemo as
|
|
1009
|
+
import React17, { createContext as createContext17, useMemo as useMemo19 } from "react";
|
|
889
1010
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
890
1011
|
import { useContext as useContext19 } from "react";
|
|
891
1012
|
import { createContext as createContext18, useEffect as useEffect7, useState as useState11 } from "react";
|
|
892
1013
|
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
893
|
-
import { createContext as createContext19, useMemo as
|
|
1014
|
+
import { createContext as createContext19, useMemo as useMemo20, useReducer } from "react";
|
|
894
1015
|
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
895
1016
|
import React23, {
|
|
896
1017
|
forwardRef as forwardRef6,
|
|
897
1018
|
useContext as useContext28,
|
|
898
1019
|
useEffect as useEffect14,
|
|
899
1020
|
useImperativeHandle as useImperativeHandle4,
|
|
900
|
-
useMemo as
|
|
1021
|
+
useMemo as useMemo28,
|
|
901
1022
|
useRef as useRef18,
|
|
902
1023
|
useState as useState16
|
|
903
1024
|
} from "react";
|
|
@@ -907,14 +1028,14 @@ import React20, {
|
|
|
907
1028
|
createRef as createRef2,
|
|
908
1029
|
useCallback as useCallback9,
|
|
909
1030
|
useContext as useContext20,
|
|
910
|
-
useMemo as
|
|
1031
|
+
useMemo as useMemo22,
|
|
911
1032
|
useRef as useRef11,
|
|
912
1033
|
useState as useState12
|
|
913
1034
|
} from "react";
|
|
914
|
-
import { useMemo as
|
|
1035
|
+
import { useMemo as useMemo21 } from "react";
|
|
915
1036
|
import { jsx as jsx20, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
916
1037
|
import { useRef as useRef12 } from "react";
|
|
917
|
-
import { useContext as useContext23, useEffect as useEffect8, useMemo as
|
|
1038
|
+
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo23, useState as useState13 } from "react";
|
|
918
1039
|
import { useContext as useContext22 } from "react";
|
|
919
1040
|
import {
|
|
920
1041
|
useCallback as useCallback12,
|
|
@@ -923,14 +1044,14 @@ import {
|
|
|
923
1044
|
useLayoutEffect as useLayoutEffect8,
|
|
924
1045
|
useRef as useRef17
|
|
925
1046
|
} from "react";
|
|
926
|
-
import { useCallback as useCallback11, useMemo as
|
|
927
|
-
import { useContext as useContext25, useMemo as
|
|
1047
|
+
import { useCallback as useCallback11, useMemo as useMemo26, useRef as useRef15 } from "react";
|
|
1048
|
+
import { useContext as useContext25, useMemo as useMemo25 } from "react";
|
|
928
1049
|
import React21, {
|
|
929
1050
|
useCallback as useCallback10,
|
|
930
1051
|
useContext as useContext24,
|
|
931
1052
|
useEffect as useEffect9,
|
|
932
1053
|
useLayoutEffect as useLayoutEffect7,
|
|
933
|
-
useMemo as
|
|
1054
|
+
useMemo as useMemo24,
|
|
934
1055
|
useRef as useRef14,
|
|
935
1056
|
useState as useState14
|
|
936
1057
|
} from "react";
|
|
@@ -939,7 +1060,7 @@ import React22 from "react";
|
|
|
939
1060
|
import { useEffect as useEffect10, useState as useState15 } from "react";
|
|
940
1061
|
import { useEffect as useEffect11, useRef as useRef16 } from "react";
|
|
941
1062
|
import { useEffect as useEffect13 } from "react";
|
|
942
|
-
import { createContext as createContext21, useContext as useContext27, useMemo as
|
|
1063
|
+
import { createContext as createContext21, useContext as useContext27, useMemo as useMemo27 } from "react";
|
|
943
1064
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
944
1065
|
import {
|
|
945
1066
|
forwardRef as forwardRef7,
|
|
@@ -947,7 +1068,7 @@ import {
|
|
|
947
1068
|
useEffect as useEffect15,
|
|
948
1069
|
useImperativeHandle as useImperativeHandle5,
|
|
949
1070
|
useLayoutEffect as useLayoutEffect9,
|
|
950
|
-
useMemo as
|
|
1071
|
+
useMemo as useMemo29,
|
|
951
1072
|
useRef as useRef19
|
|
952
1073
|
} from "react";
|
|
953
1074
|
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
@@ -968,14 +1089,14 @@ import React28 from "react";
|
|
|
968
1089
|
import {
|
|
969
1090
|
useCallback as useCallback16,
|
|
970
1091
|
useImperativeHandle as useImperativeHandle7,
|
|
971
|
-
useMemo as
|
|
1092
|
+
useMemo as useMemo30,
|
|
972
1093
|
useRef as useRef21,
|
|
973
1094
|
useState as useState19
|
|
974
1095
|
} from "react";
|
|
975
1096
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
976
1097
|
import React29 from "react";
|
|
977
|
-
import { useMemo as
|
|
978
|
-
import { createContext as createContext22, useContext as useContext32, useMemo as
|
|
1098
|
+
import { useMemo as useMemo32 } from "react";
|
|
1099
|
+
import { createContext as createContext22, useContext as useContext32, useMemo as useMemo31 } from "react";
|
|
979
1100
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
980
1101
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
981
1102
|
import React31 from "react";
|
|
@@ -987,7 +1108,7 @@ import {
|
|
|
987
1108
|
useContext as useContext34,
|
|
988
1109
|
useEffect as useEffect16,
|
|
989
1110
|
useLayoutEffect as useLayoutEffect11,
|
|
990
|
-
useMemo as
|
|
1111
|
+
useMemo as useMemo33,
|
|
991
1112
|
useState as useState20
|
|
992
1113
|
} from "react";
|
|
993
1114
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
@@ -996,16 +1117,16 @@ import React34, {
|
|
|
996
1117
|
useContext as useContext35,
|
|
997
1118
|
useEffect as useEffect18,
|
|
998
1119
|
useImperativeHandle as useImperativeHandle8,
|
|
999
|
-
useMemo as
|
|
1120
|
+
useMemo as useMemo34,
|
|
1000
1121
|
useRef as useRef22,
|
|
1001
1122
|
useState as useState21
|
|
1002
1123
|
} from "react";
|
|
1003
1124
|
import { useEffect as useEffect17 } from "react";
|
|
1004
1125
|
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1005
1126
|
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1006
|
-
import React36, { useMemo as
|
|
1127
|
+
import React36, { useMemo as useMemo35 } from "react";
|
|
1007
1128
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1008
|
-
import { Children, forwardRef as forwardRef11, useMemo as
|
|
1129
|
+
import { Children, forwardRef as forwardRef11, useMemo as useMemo36 } from "react";
|
|
1009
1130
|
import React37 from "react";
|
|
1010
1131
|
import React38, { createContext as createContext24 } from "react";
|
|
1011
1132
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
@@ -1018,7 +1139,7 @@ import {
|
|
|
1018
1139
|
useEffect as useEffect19,
|
|
1019
1140
|
useImperativeHandle as useImperativeHandle9,
|
|
1020
1141
|
useLayoutEffect as useLayoutEffect12,
|
|
1021
|
-
useMemo as
|
|
1142
|
+
useMemo as useMemo37,
|
|
1022
1143
|
useRef as useRef23
|
|
1023
1144
|
} from "react";
|
|
1024
1145
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
@@ -2097,6 +2218,7 @@ __export2(exports_timeline_position_state, {
|
|
|
2097
2218
|
useTimelinePosition: () => useTimelinePosition,
|
|
2098
2219
|
useTimelineContext: () => useTimelineContext,
|
|
2099
2220
|
usePlayingState: () => usePlayingState,
|
|
2221
|
+
usePlaybackRate: () => usePlaybackRate,
|
|
2100
2222
|
useAbsoluteTimelinePosition: () => useAbsoluteTimelinePosition,
|
|
2101
2223
|
persistCurrentFrame: () => persistCurrentFrame,
|
|
2102
2224
|
getInitialFrameState: () => getInitialFrameState,
|
|
@@ -2143,6 +2265,7 @@ var SetTimelineContext = createContext13({
|
|
|
2143
2265
|
}
|
|
2144
2266
|
});
|
|
2145
2267
|
var TimelineContext = createContext13(null);
|
|
2268
|
+
var PlaybackRateContext = createContext13(null);
|
|
2146
2269
|
var AbsoluteTimeContext = createContext13(null);
|
|
2147
2270
|
var TimelineContextProvider = ({ children, frameState }) => {
|
|
2148
2271
|
const [playing, setPlaying] = useState2(false);
|
|
@@ -2185,11 +2308,15 @@ var TimelineContextProvider = ({ children, frameState }) => {
|
|
|
2185
2308
|
playing,
|
|
2186
2309
|
imperativePlaying,
|
|
2187
2310
|
rootId: remotionRootId,
|
|
2188
|
-
playbackRate,
|
|
2189
|
-
setPlaybackRate,
|
|
2190
2311
|
audioAndVideoTags
|
|
2191
2312
|
};
|
|
2192
|
-
}, [frame,
|
|
2313
|
+
}, [frame, playing, remotionRootId]);
|
|
2314
|
+
const playbackRateContextValue = useMemo8(() => {
|
|
2315
|
+
return {
|
|
2316
|
+
playbackRate,
|
|
2317
|
+
setPlaybackRate
|
|
2318
|
+
};
|
|
2319
|
+
}, [playbackRate]);
|
|
2193
2320
|
const setTimelineContextValue = useMemo8(() => {
|
|
2194
2321
|
return {
|
|
2195
2322
|
setFrame,
|
|
@@ -2198,11 +2325,14 @@ var TimelineContextProvider = ({ children, frameState }) => {
|
|
|
2198
2325
|
}, []);
|
|
2199
2326
|
return /* @__PURE__ */ jsx8(AbsoluteTimeContext.Provider, {
|
|
2200
2327
|
value: timelineContextValue,
|
|
2201
|
-
children: /* @__PURE__ */ jsx8(
|
|
2202
|
-
value:
|
|
2203
|
-
children: /* @__PURE__ */ jsx8(
|
|
2204
|
-
value:
|
|
2205
|
-
children
|
|
2328
|
+
children: /* @__PURE__ */ jsx8(PlaybackRateContext.Provider, {
|
|
2329
|
+
value: playbackRateContextValue,
|
|
2330
|
+
children: /* @__PURE__ */ jsx8(TimelineContext.Provider, {
|
|
2331
|
+
value: timelineContextValue,
|
|
2332
|
+
children: /* @__PURE__ */ jsx8(SetTimelineContext.Provider, {
|
|
2333
|
+
value: setTimelineContextValue,
|
|
2334
|
+
children
|
|
2335
|
+
})
|
|
2206
2336
|
})
|
|
2207
2337
|
})
|
|
2208
2338
|
});
|
|
@@ -2245,6 +2375,13 @@ var useTimelineContext = () => {
|
|
|
2245
2375
|
}
|
|
2246
2376
|
return state;
|
|
2247
2377
|
};
|
|
2378
|
+
var usePlaybackRate = () => {
|
|
2379
|
+
const state = useContext10(PlaybackRateContext);
|
|
2380
|
+
if (state === null) {
|
|
2381
|
+
throw new Error("PlaybackRateContext is not available. This hook must be used inside a <Player> or the Remotion Studio.");
|
|
2382
|
+
}
|
|
2383
|
+
return state;
|
|
2384
|
+
};
|
|
2248
2385
|
var useTimelinePosition = () => {
|
|
2249
2386
|
const state = useTimelineContext();
|
|
2250
2387
|
return useTimelinePositionFromContext(state);
|
|
@@ -2536,7 +2673,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2536
2673
|
var addSequenceStackTraces = (component) => {
|
|
2537
2674
|
componentsToAddStacksTo.push(component);
|
|
2538
2675
|
};
|
|
2539
|
-
var VERSION = "4.0.
|
|
2676
|
+
var VERSION = "4.0.459";
|
|
2540
2677
|
var checkMultipleRemotionVersions = () => {
|
|
2541
2678
|
if (typeof globalThis === "undefined") {
|
|
2542
2679
|
return;
|
|
@@ -2707,6 +2844,54 @@ var Freeze = ({
|
|
|
2707
2844
|
var PremountContext = createContext14({
|
|
2708
2845
|
premountFramesRemaining: 0
|
|
2709
2846
|
});
|
|
2847
|
+
var sequenceStyleSchema = {
|
|
2848
|
+
"style.translate": {
|
|
2849
|
+
type: "translate",
|
|
2850
|
+
step: 1,
|
|
2851
|
+
default: "0px 0px",
|
|
2852
|
+
description: "Offset"
|
|
2853
|
+
},
|
|
2854
|
+
"style.scale": {
|
|
2855
|
+
type: "number",
|
|
2856
|
+
min: 0.05,
|
|
2857
|
+
max: 100,
|
|
2858
|
+
step: 0.01,
|
|
2859
|
+
default: 1,
|
|
2860
|
+
description: "Scale"
|
|
2861
|
+
},
|
|
2862
|
+
"style.rotate": {
|
|
2863
|
+
type: "rotation",
|
|
2864
|
+
step: 1,
|
|
2865
|
+
default: "0deg",
|
|
2866
|
+
description: "Rotation"
|
|
2867
|
+
},
|
|
2868
|
+
"style.opacity": {
|
|
2869
|
+
type: "number",
|
|
2870
|
+
min: 0,
|
|
2871
|
+
max: 1,
|
|
2872
|
+
step: 0.01,
|
|
2873
|
+
default: 1,
|
|
2874
|
+
description: "Opacity"
|
|
2875
|
+
}
|
|
2876
|
+
};
|
|
2877
|
+
var sequenceSchema = {
|
|
2878
|
+
layout: {
|
|
2879
|
+
type: "enum",
|
|
2880
|
+
default: "absolute-fill",
|
|
2881
|
+
description: "Layout",
|
|
2882
|
+
variants: {
|
|
2883
|
+
"absolute-fill": sequenceStyleSchema,
|
|
2884
|
+
none: {}
|
|
2885
|
+
}
|
|
2886
|
+
}
|
|
2887
|
+
};
|
|
2888
|
+
var sequenceSchemaDefaultLayoutNone = {
|
|
2889
|
+
...sequenceSchema,
|
|
2890
|
+
layout: {
|
|
2891
|
+
...sequenceSchema.layout,
|
|
2892
|
+
default: "none"
|
|
2893
|
+
}
|
|
2894
|
+
};
|
|
2710
2895
|
var SequenceManager = React12.createContext({
|
|
2711
2896
|
registerSequence: () => {
|
|
2712
2897
|
throw new Error("SequenceManagerContext not initialized");
|
|
@@ -2828,6 +3013,204 @@ var SequenceManagerProvider = ({ children, visualModeEnabled }) => {
|
|
|
2828
3013
|
});
|
|
2829
3014
|
};
|
|
2830
3015
|
var ENABLE_V5_BREAKING_CHANGES = false;
|
|
3016
|
+
var flattenActiveSchema = (schema, resolve) => {
|
|
3017
|
+
const out = {};
|
|
3018
|
+
for (const key of Object.keys(schema)) {
|
|
3019
|
+
const field = schema[key];
|
|
3020
|
+
if (field.type === "enum") {
|
|
3021
|
+
out[key] = field;
|
|
3022
|
+
const current = resolve(key) ?? field.default;
|
|
3023
|
+
const variant = field.variants[current];
|
|
3024
|
+
if (variant) {
|
|
3025
|
+
Object.assign(out, flattenActiveSchema(variant, resolve));
|
|
3026
|
+
}
|
|
3027
|
+
} else {
|
|
3028
|
+
out[key] = field;
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3031
|
+
return out;
|
|
3032
|
+
};
|
|
3033
|
+
var getFlatSchemaWithAllKeys = (schema) => {
|
|
3034
|
+
const out = {};
|
|
3035
|
+
const addKey = (key, field) => {
|
|
3036
|
+
if (key in out) {
|
|
3037
|
+
throw new Error(`Duplicate key "${key}" in schema: discriminated union variants must not share keys`);
|
|
3038
|
+
}
|
|
3039
|
+
out[key] = field;
|
|
3040
|
+
};
|
|
3041
|
+
for (const key of Object.keys(schema)) {
|
|
3042
|
+
const field = schema[key];
|
|
3043
|
+
addKey(key, field);
|
|
3044
|
+
if (field.type === "enum") {
|
|
3045
|
+
for (const variant of Object.values(field.variants)) {
|
|
3046
|
+
const flatVariant = getFlatSchemaWithAllKeys(variant);
|
|
3047
|
+
for (const variantKey of Object.keys(flatVariant)) {
|
|
3048
|
+
addKey(variantKey, flatVariant[variantKey]);
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
}
|
|
3052
|
+
}
|
|
3053
|
+
return out;
|
|
3054
|
+
};
|
|
3055
|
+
var getEffectiveVisualModeValue = ({
|
|
3056
|
+
codeValue,
|
|
3057
|
+
runtimeValue,
|
|
3058
|
+
dragOverrideValue,
|
|
3059
|
+
defaultValue,
|
|
3060
|
+
shouldResortToDefaultValueIfUndefined = false
|
|
3061
|
+
}) => {
|
|
3062
|
+
if (dragOverrideValue !== undefined) {
|
|
3063
|
+
return dragOverrideValue;
|
|
3064
|
+
}
|
|
3065
|
+
if (!codeValue) {
|
|
3066
|
+
return runtimeValue;
|
|
3067
|
+
}
|
|
3068
|
+
if (!codeValue.canUpdate) {
|
|
3069
|
+
return runtimeValue;
|
|
3070
|
+
}
|
|
3071
|
+
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
3072
|
+
return defaultValue;
|
|
3073
|
+
}
|
|
3074
|
+
return codeValue.codeValue;
|
|
3075
|
+
};
|
|
3076
|
+
var findFieldInSchema = (schema, key) => {
|
|
3077
|
+
if (key in schema) {
|
|
3078
|
+
return schema[key];
|
|
3079
|
+
}
|
|
3080
|
+
for (const field of Object.values(schema)) {
|
|
3081
|
+
if (field.type !== "enum") {
|
|
3082
|
+
continue;
|
|
3083
|
+
}
|
|
3084
|
+
for (const variant of Object.values(field.variants)) {
|
|
3085
|
+
const found = findFieldInSchema(variant, key);
|
|
3086
|
+
if (found) {
|
|
3087
|
+
return found;
|
|
3088
|
+
}
|
|
3089
|
+
}
|
|
3090
|
+
}
|
|
3091
|
+
return;
|
|
3092
|
+
};
|
|
3093
|
+
var computeEffectiveSchemaValuesDotNotation = ({
|
|
3094
|
+
schema,
|
|
3095
|
+
currentValue,
|
|
3096
|
+
overrideValues,
|
|
3097
|
+
propStatus
|
|
3098
|
+
}) => {
|
|
3099
|
+
const merged = {};
|
|
3100
|
+
for (const key of Object.keys(currentValue)) {
|
|
3101
|
+
const codeValueStatus = propStatus?.[key] ?? null;
|
|
3102
|
+
merged[key] = getEffectiveVisualModeValue({
|
|
3103
|
+
codeValue: codeValueStatus,
|
|
3104
|
+
runtimeValue: currentValue[key],
|
|
3105
|
+
dragOverrideValue: overrideValues[key],
|
|
3106
|
+
defaultValue: findFieldInSchema(schema, key)?.default,
|
|
3107
|
+
shouldResortToDefaultValueIfUndefined: false
|
|
3108
|
+
});
|
|
3109
|
+
}
|
|
3110
|
+
return merged;
|
|
3111
|
+
};
|
|
3112
|
+
var getNestedValue = (obj, key) => {
|
|
3113
|
+
const parts = key.split(".");
|
|
3114
|
+
let current = obj;
|
|
3115
|
+
for (const part of parts) {
|
|
3116
|
+
if (current === null || current === undefined || typeof current !== "object")
|
|
3117
|
+
return;
|
|
3118
|
+
current = current[part];
|
|
3119
|
+
}
|
|
3120
|
+
return current;
|
|
3121
|
+
};
|
|
3122
|
+
var readValuesFromProps = (props, keys) => {
|
|
3123
|
+
const out = {};
|
|
3124
|
+
for (const key of keys) {
|
|
3125
|
+
out[key] = getNestedValue(props, key);
|
|
3126
|
+
}
|
|
3127
|
+
return out;
|
|
3128
|
+
};
|
|
3129
|
+
var selectActiveKeys = (schema, values) => {
|
|
3130
|
+
return Object.keys(flattenActiveSchema(schema, (key) => values[key]));
|
|
3131
|
+
};
|
|
3132
|
+
var mergeValues = ({
|
|
3133
|
+
props,
|
|
3134
|
+
valuesDotNotation,
|
|
3135
|
+
schemaKeys
|
|
3136
|
+
}) => {
|
|
3137
|
+
const merged = { ...props };
|
|
3138
|
+
for (const key of schemaKeys) {
|
|
3139
|
+
const value = valuesDotNotation[key];
|
|
3140
|
+
const parts = key.split(".");
|
|
3141
|
+
if (parts.length === 1) {
|
|
3142
|
+
merged[key] = value;
|
|
3143
|
+
continue;
|
|
3144
|
+
}
|
|
3145
|
+
let current = merged;
|
|
3146
|
+
for (let i = 0;i < parts.length - 1; i++) {
|
|
3147
|
+
const part = parts[i];
|
|
3148
|
+
if (typeof current[part] === "object" && current[part] !== null) {
|
|
3149
|
+
current[part] = { ...current[part] };
|
|
3150
|
+
} else {
|
|
3151
|
+
current[part] = {};
|
|
3152
|
+
}
|
|
3153
|
+
current = current[part];
|
|
3154
|
+
}
|
|
3155
|
+
current[parts[parts.length - 1]] = value;
|
|
3156
|
+
}
|
|
3157
|
+
return merged;
|
|
3158
|
+
};
|
|
3159
|
+
var wrapInSchema = (Component, schema) => {
|
|
3160
|
+
if (typeof process === "undefined" || !process.env?.EXPERIMENTAL_VISUAL_MODE_ENABLED) {
|
|
3161
|
+
return Component;
|
|
3162
|
+
}
|
|
3163
|
+
const flatSchema = getFlatSchemaWithAllKeys(schema);
|
|
3164
|
+
const flatKeys = Object.keys(flatSchema);
|
|
3165
|
+
const Wrapped = forwardRef2((props, ref) => {
|
|
3166
|
+
const env = useRemotionEnvironment();
|
|
3167
|
+
const { visualModeEnabled, dragOverrides, codeValues } = useContext15(VisualModeOverridesContext);
|
|
3168
|
+
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering || !visualModeEnabled) {
|
|
3169
|
+
return React13.createElement(Component, {
|
|
3170
|
+
...props,
|
|
3171
|
+
_experimentalControls: null,
|
|
3172
|
+
ref
|
|
3173
|
+
});
|
|
3174
|
+
}
|
|
3175
|
+
if (props._experimentalControls) {
|
|
3176
|
+
return React13.createElement(Component, {
|
|
3177
|
+
...props,
|
|
3178
|
+
ref
|
|
3179
|
+
});
|
|
3180
|
+
}
|
|
3181
|
+
const [overrideId] = useState5(() => String(Math.random()));
|
|
3182
|
+
const runtimeValues = flatKeys.map((k) => getNestedValue(props, k));
|
|
3183
|
+
const currentRuntimeValueDotNotation = useMemo15(() => readValuesFromProps(props, flatKeys), runtimeValues);
|
|
3184
|
+
const controls = useMemo15(() => {
|
|
3185
|
+
return {
|
|
3186
|
+
schema,
|
|
3187
|
+
currentRuntimeValueDotNotation,
|
|
3188
|
+
overrideId
|
|
3189
|
+
};
|
|
3190
|
+
}, [currentRuntimeValueDotNotation, overrideId]);
|
|
3191
|
+
const valuesDotNotation = useMemo15(() => {
|
|
3192
|
+
return computeEffectiveSchemaValuesDotNotation({
|
|
3193
|
+
schema,
|
|
3194
|
+
currentValue: currentRuntimeValueDotNotation,
|
|
3195
|
+
overrideValues: dragOverrides[overrideId] ?? {},
|
|
3196
|
+
propStatus: codeValues[overrideId]
|
|
3197
|
+
});
|
|
3198
|
+
}, [currentRuntimeValueDotNotation, dragOverrides, overrideId, codeValues]);
|
|
3199
|
+
const activeKeys = selectActiveKeys(schema, valuesDotNotation);
|
|
3200
|
+
const mergedProps = mergeValues({
|
|
3201
|
+
props,
|
|
3202
|
+
valuesDotNotation,
|
|
3203
|
+
schemaKeys: activeKeys
|
|
3204
|
+
});
|
|
3205
|
+
return React13.createElement(Component, {
|
|
3206
|
+
...mergedProps,
|
|
3207
|
+
_experimentalControls: controls,
|
|
3208
|
+
ref
|
|
3209
|
+
});
|
|
3210
|
+
});
|
|
3211
|
+
Wrapped.displayName = `wrapInSchema(${Component.displayName || Component.name || "Component"})`;
|
|
3212
|
+
return Wrapped;
|
|
3213
|
+
};
|
|
2831
3214
|
var RegularSequenceRefForwardingFunction = ({
|
|
2832
3215
|
from = 0,
|
|
2833
3216
|
durationInFrames = Infinity,
|
|
@@ -2846,8 +3229,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
2846
3229
|
...other
|
|
2847
3230
|
}, ref) => {
|
|
2848
3231
|
const { layout = "absolute-fill" } = other;
|
|
2849
|
-
const [id] =
|
|
2850
|
-
const parentSequence =
|
|
3232
|
+
const [id] = useState6(() => String(Math.random()));
|
|
3233
|
+
const parentSequence = useContext16(SequenceContext);
|
|
2851
3234
|
const { rootId } = useTimelineContext();
|
|
2852
3235
|
const cumulatedFrom = parentSequence ? parentSequence.cumulatedFrom + parentSequence.relativeFrom : 0;
|
|
2853
3236
|
const nonce = useNonce();
|
|
@@ -2855,7 +3238,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
2855
3238
|
throw new TypeError(`The layout prop of <Sequence /> expects either "absolute-fill" or "none", but you passed: ${layout}`);
|
|
2856
3239
|
}
|
|
2857
3240
|
if (layout === "none" && typeof other.style !== "undefined") {
|
|
2858
|
-
throw new TypeError('If layout="none", you may not pass a style.');
|
|
3241
|
+
throw new TypeError('If layout="none", you may not pass a style. Passed: ' + JSON.stringify(other.style));
|
|
2859
3242
|
}
|
|
2860
3243
|
if (typeof durationInFrames !== "number") {
|
|
2861
3244
|
throw new TypeError(`You passed to durationInFrames an argument of type ${typeof durationInFrames}, but it must be a number.`);
|
|
@@ -2873,15 +3256,15 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
2873
3256
|
const videoConfig = useVideoConfig();
|
|
2874
3257
|
const parentSequenceDuration = parentSequence ? Math.min(parentSequence.durationInFrames - from, durationInFrames) : durationInFrames;
|
|
2875
3258
|
const actualDurationInFrames = Math.max(0, Math.min(videoConfig.durationInFrames - from, parentSequenceDuration));
|
|
2876
|
-
const { registerSequence, unregisterSequence } =
|
|
2877
|
-
const { hidden } =
|
|
2878
|
-
const premounting =
|
|
3259
|
+
const { registerSequence, unregisterSequence } = useContext16(SequenceManager);
|
|
3260
|
+
const { hidden } = useContext16(SequenceVisibilityToggleContext);
|
|
3261
|
+
const premounting = useMemo16(() => {
|
|
2879
3262
|
return parentSequence?.premounting || Boolean(other._remotionInternalIsPremounting);
|
|
2880
3263
|
}, [other._remotionInternalIsPremounting, parentSequence?.premounting]);
|
|
2881
|
-
const postmounting =
|
|
3264
|
+
const postmounting = useMemo16(() => {
|
|
2882
3265
|
return parentSequence?.postmounting || Boolean(other._remotionInternalIsPostmounting);
|
|
2883
3266
|
}, [other._remotionInternalIsPostmounting, parentSequence?.postmounting]);
|
|
2884
|
-
const contextValue =
|
|
3267
|
+
const contextValue = useMemo16(() => {
|
|
2885
3268
|
return {
|
|
2886
3269
|
cumulatedFrom,
|
|
2887
3270
|
relativeFrom: from,
|
|
@@ -2908,7 +3291,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
2908
3291
|
premountDisplay,
|
|
2909
3292
|
postmountDisplay
|
|
2910
3293
|
]);
|
|
2911
|
-
const timelineClipName =
|
|
3294
|
+
const timelineClipName = useMemo16(() => {
|
|
2912
3295
|
return name ?? "";
|
|
2913
3296
|
}, [name]);
|
|
2914
3297
|
const env = useRemotionEnvironment();
|
|
@@ -2991,7 +3374,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
2991
3374
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
2992
3375
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
2993
3376
|
const styleIfThere = other.layout === "none" ? undefined : other.style;
|
|
2994
|
-
const defaultStyle =
|
|
3377
|
+
const defaultStyle = useMemo16(() => {
|
|
2995
3378
|
return {
|
|
2996
3379
|
flexDirection: undefined,
|
|
2997
3380
|
...width ? { width } : {},
|
|
@@ -3016,9 +3399,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
3016
3399
|
})
|
|
3017
3400
|
});
|
|
3018
3401
|
};
|
|
3019
|
-
var RegularSequence =
|
|
3402
|
+
var RegularSequence = forwardRef3(RegularSequenceRefForwardingFunction);
|
|
3020
3403
|
var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
3021
|
-
const parentPremountContext =
|
|
3404
|
+
const parentPremountContext = useContext16(PremountContext);
|
|
3022
3405
|
const frame = useCurrentFrame() - parentPremountContext.premountFramesRemaining;
|
|
3023
3406
|
if (props.layout === "none") {
|
|
3024
3407
|
throw new Error('`<Sequence>` with `premountFor` and `postmountFor` props does not support layout="none"');
|
|
@@ -3038,7 +3421,7 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
|
3038
3421
|
const postmountingActive = frame > endThreshold && frame <= endThreshold + postmountFor;
|
|
3039
3422
|
const freezeFrame = premountingActive ? from : postmountingActive ? from + durationInFrames - 1 : 0;
|
|
3040
3423
|
const isFreezingActive = premountingActive || postmountingActive;
|
|
3041
|
-
const style =
|
|
3424
|
+
const style = useMemo16(() => {
|
|
3042
3425
|
return {
|
|
3043
3426
|
...passedStyle,
|
|
3044
3427
|
opacity: premountingActive || postmountingActive ? 0 : 1,
|
|
@@ -3056,7 +3439,7 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
|
3056
3439
|
return /* @__PURE__ */ jsx12(Freeze, {
|
|
3057
3440
|
frame: freezeFrame,
|
|
3058
3441
|
active: isFreezingActive,
|
|
3059
|
-
children: /* @__PURE__ */ jsx12(
|
|
3442
|
+
children: /* @__PURE__ */ jsx12(SequenceInner, {
|
|
3060
3443
|
ref,
|
|
3061
3444
|
from,
|
|
3062
3445
|
durationInFrames,
|
|
@@ -3069,7 +3452,7 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
|
3069
3452
|
})
|
|
3070
3453
|
});
|
|
3071
3454
|
};
|
|
3072
|
-
var PremountedPostmountedSequence =
|
|
3455
|
+
var PremountedPostmountedSequence = forwardRef3(PremountedPostmountedSequenceRefForwardingFunction);
|
|
3073
3456
|
var SequenceRefForwardingFunction = (props, ref) => {
|
|
3074
3457
|
const env = useRemotionEnvironment();
|
|
3075
3458
|
const { fps } = useVideoConfig();
|
|
@@ -3088,7 +3471,8 @@ var SequenceRefForwardingFunction = (props, ref) => {
|
|
|
3088
3471
|
ref
|
|
3089
3472
|
});
|
|
3090
3473
|
};
|
|
3091
|
-
var
|
|
3474
|
+
var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
3475
|
+
var Sequence = wrapInSchema(SequenceInner, sequenceSchema);
|
|
3092
3476
|
var calcArgs = (fit, frameSize, canvasSize) => {
|
|
3093
3477
|
switch (fit) {
|
|
3094
3478
|
case "fill": {
|
|
@@ -3184,7 +3568,7 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style }, ref
|
|
|
3184
3568
|
style
|
|
3185
3569
|
});
|
|
3186
3570
|
};
|
|
3187
|
-
var Canvas =
|
|
3571
|
+
var Canvas = React15.forwardRef(CanvasRefForwardingFunction);
|
|
3188
3572
|
var CACHE_SIZE = 5;
|
|
3189
3573
|
var getActualTime = ({
|
|
3190
3574
|
loopBehavior,
|
|
@@ -3331,7 +3715,7 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
3331
3715
|
}
|
|
3332
3716
|
return new URL(src, window.origin).href;
|
|
3333
3717
|
};
|
|
3334
|
-
var AnimatedImage =
|
|
3718
|
+
var AnimatedImage = forwardRef4(({
|
|
3335
3719
|
src,
|
|
3336
3720
|
width,
|
|
3337
3721
|
height,
|
|
@@ -3350,9 +3734,9 @@ var AnimatedImage = forwardRef3(({
|
|
|
3350
3734
|
};
|
|
3351
3735
|
}, []);
|
|
3352
3736
|
const resolvedSrc = resolveAnimatedImageSource(src);
|
|
3353
|
-
const [imageDecoder, setImageDecoder] =
|
|
3737
|
+
const [imageDecoder, setImageDecoder] = useState7(null);
|
|
3354
3738
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
3355
|
-
const [decodeHandle] =
|
|
3739
|
+
const [decodeHandle] = useState7(() => delayRender2(`Rendering <AnimatedImage/> with src="${resolvedSrc}"`));
|
|
3356
3740
|
const frame = useCurrentFrame();
|
|
3357
3741
|
const { fps } = useVideoConfig();
|
|
3358
3742
|
const currentTime = frame / playbackRate / fps;
|
|
@@ -3366,7 +3750,7 @@ var AnimatedImage = forwardRef3(({
|
|
|
3366
3750
|
}
|
|
3367
3751
|
return c;
|
|
3368
3752
|
}, []);
|
|
3369
|
-
const [initialLoopBehavior] =
|
|
3753
|
+
const [initialLoopBehavior] = useState7(() => loopBehavior);
|
|
3370
3754
|
useEffect6(() => {
|
|
3371
3755
|
const controller = new AbortController;
|
|
3372
3756
|
decodeImage({
|
|
@@ -3438,158 +3822,6 @@ var AnimatedImage = forwardRef3(({
|
|
|
3438
3822
|
...props
|
|
3439
3823
|
});
|
|
3440
3824
|
});
|
|
3441
|
-
var getEffectiveVisualModeValue = ({
|
|
3442
|
-
codeValue,
|
|
3443
|
-
runtimeValue,
|
|
3444
|
-
dragOverrideValue,
|
|
3445
|
-
defaultValue,
|
|
3446
|
-
shouldResortToDefaultValueIfUndefined = false
|
|
3447
|
-
}) => {
|
|
3448
|
-
if (dragOverrideValue !== undefined) {
|
|
3449
|
-
return dragOverrideValue;
|
|
3450
|
-
}
|
|
3451
|
-
if (!codeValue) {
|
|
3452
|
-
return runtimeValue;
|
|
3453
|
-
}
|
|
3454
|
-
if (!codeValue.canUpdate) {
|
|
3455
|
-
return runtimeValue;
|
|
3456
|
-
}
|
|
3457
|
-
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
3458
|
-
return defaultValue;
|
|
3459
|
-
}
|
|
3460
|
-
return codeValue.codeValue;
|
|
3461
|
-
};
|
|
3462
|
-
var useSchema = (schema, currentValue) => {
|
|
3463
|
-
const env = useRemotionEnvironment();
|
|
3464
|
-
const earlyReturn = useMemo16(() => {
|
|
3465
|
-
if (!env.isStudio || env.isReadOnlyStudio) {
|
|
3466
|
-
return {
|
|
3467
|
-
controls: undefined,
|
|
3468
|
-
values: currentValue ?? {}
|
|
3469
|
-
};
|
|
3470
|
-
}
|
|
3471
|
-
return;
|
|
3472
|
-
}, [env.isStudio, env.isReadOnlyStudio, currentValue]);
|
|
3473
|
-
if (earlyReturn) {
|
|
3474
|
-
return earlyReturn;
|
|
3475
|
-
}
|
|
3476
|
-
const [overrideId] = useState7(() => String(Math.random()));
|
|
3477
|
-
const {
|
|
3478
|
-
visualModeEnabled,
|
|
3479
|
-
dragOverrides: overrides,
|
|
3480
|
-
codeValues
|
|
3481
|
-
} = useContext16(VisualModeOverridesContext);
|
|
3482
|
-
const controls = useMemo16(() => {
|
|
3483
|
-
if (!visualModeEnabled) {
|
|
3484
|
-
return;
|
|
3485
|
-
}
|
|
3486
|
-
if (schema === null || currentValue === null) {
|
|
3487
|
-
return;
|
|
3488
|
-
}
|
|
3489
|
-
return {
|
|
3490
|
-
schema,
|
|
3491
|
-
currentValue,
|
|
3492
|
-
overrideId
|
|
3493
|
-
};
|
|
3494
|
-
}, [schema, currentValue, overrideId, visualModeEnabled]);
|
|
3495
|
-
return useMemo16(() => {
|
|
3496
|
-
if (controls === undefined || currentValue === null || schema === null || !visualModeEnabled) {
|
|
3497
|
-
return {
|
|
3498
|
-
controls: undefined,
|
|
3499
|
-
values: currentValue ?? {}
|
|
3500
|
-
};
|
|
3501
|
-
}
|
|
3502
|
-
const overrideValues = overrides[overrideId] ?? {};
|
|
3503
|
-
const propStatus = codeValues[overrideId];
|
|
3504
|
-
const currentValueKeys = Object.keys(currentValue);
|
|
3505
|
-
const keysToUpdate = [...new Set(currentValueKeys)];
|
|
3506
|
-
const merged = {};
|
|
3507
|
-
for (const key of keysToUpdate) {
|
|
3508
|
-
const codeValueStatus = propStatus?.[key] ?? null;
|
|
3509
|
-
merged[key] = getEffectiveVisualModeValue({
|
|
3510
|
-
codeValue: codeValueStatus,
|
|
3511
|
-
runtimeValue: currentValue[key],
|
|
3512
|
-
dragOverrideValue: overrideValues[key],
|
|
3513
|
-
defaultValue: schema[key]?.default,
|
|
3514
|
-
shouldResortToDefaultValueIfUndefined: false
|
|
3515
|
-
});
|
|
3516
|
-
}
|
|
3517
|
-
return {
|
|
3518
|
-
controls,
|
|
3519
|
-
values: merged
|
|
3520
|
-
};
|
|
3521
|
-
}, [
|
|
3522
|
-
controls,
|
|
3523
|
-
currentValue,
|
|
3524
|
-
overrideId,
|
|
3525
|
-
overrides,
|
|
3526
|
-
codeValues,
|
|
3527
|
-
schema,
|
|
3528
|
-
visualModeEnabled
|
|
3529
|
-
]);
|
|
3530
|
-
};
|
|
3531
|
-
var getNestedValue = (obj, key) => {
|
|
3532
|
-
const parts = key.split(".");
|
|
3533
|
-
let current = obj;
|
|
3534
|
-
for (const part of parts) {
|
|
3535
|
-
if (current === null || current === undefined || typeof current !== "object")
|
|
3536
|
-
return;
|
|
3537
|
-
current = current[part];
|
|
3538
|
-
}
|
|
3539
|
-
return current;
|
|
3540
|
-
};
|
|
3541
|
-
var mergeValues = (props, values, schemaKeys) => {
|
|
3542
|
-
const merged = { ...props };
|
|
3543
|
-
for (const key of schemaKeys) {
|
|
3544
|
-
const value = values[key];
|
|
3545
|
-
const parts = key.split(".");
|
|
3546
|
-
if (parts.length === 1) {
|
|
3547
|
-
merged[key] = value;
|
|
3548
|
-
continue;
|
|
3549
|
-
}
|
|
3550
|
-
let current = merged;
|
|
3551
|
-
for (let i = 0;i < parts.length - 1; i++) {
|
|
3552
|
-
const part = parts[i];
|
|
3553
|
-
if (typeof current[part] === "object" && current[part] !== null) {
|
|
3554
|
-
current[part] = { ...current[part] };
|
|
3555
|
-
} else {
|
|
3556
|
-
current[part] = {};
|
|
3557
|
-
}
|
|
3558
|
-
current = current[part];
|
|
3559
|
-
}
|
|
3560
|
-
current[parts[parts.length - 1]] = value;
|
|
3561
|
-
}
|
|
3562
|
-
return merged;
|
|
3563
|
-
};
|
|
3564
|
-
var wrapInSchema = (Component, schema) => {
|
|
3565
|
-
const schemaKeys = Object.keys(schema);
|
|
3566
|
-
const Wrapped = forwardRef4((props, ref) => {
|
|
3567
|
-
const env = useRemotionEnvironment();
|
|
3568
|
-
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering || !process.env.EXPERIMENTAL_VISUAL_MODE_ENABLED) {
|
|
3569
|
-
return React15.createElement(Component, {
|
|
3570
|
-
...props,
|
|
3571
|
-
_experimentalControls: null,
|
|
3572
|
-
ref
|
|
3573
|
-
});
|
|
3574
|
-
}
|
|
3575
|
-
const schemaInput = useMemo17(() => {
|
|
3576
|
-
const input = {};
|
|
3577
|
-
for (const key of schemaKeys) {
|
|
3578
|
-
input[key] = getNestedValue(props, key);
|
|
3579
|
-
}
|
|
3580
|
-
return input;
|
|
3581
|
-
}, schemaKeys.map((key) => getNestedValue(props, key)));
|
|
3582
|
-
const { controls, values } = useSchema(schema, schemaInput);
|
|
3583
|
-
const mergedProps = mergeValues(props, values, schemaKeys);
|
|
3584
|
-
return React15.createElement(Component, {
|
|
3585
|
-
...mergedProps,
|
|
3586
|
-
_experimentalControls: controls,
|
|
3587
|
-
ref
|
|
3588
|
-
});
|
|
3589
|
-
});
|
|
3590
|
-
Wrapped.displayName = `wrapInSchema(${Component.displayName || Component.name || "Component"})`;
|
|
3591
|
-
return Wrapped;
|
|
3592
|
-
};
|
|
3593
3825
|
var cachedSupport = null;
|
|
3594
3826
|
var isHtmlInCanvasSupported = () => {
|
|
3595
3827
|
if (cachedSupport !== null) {
|
|
@@ -3628,40 +3860,10 @@ var defaultOnPaint = ({
|
|
|
3628
3860
|
element.style.transform = transform.toString();
|
|
3629
3861
|
};
|
|
3630
3862
|
var HtmlInCanvasAncestorContext = createContext15(false);
|
|
3631
|
-
var htmlInCanvasSchema = {
|
|
3632
|
-
"style.translate": {
|
|
3633
|
-
type: "translate",
|
|
3634
|
-
step: 1,
|
|
3635
|
-
default: "0px 0px",
|
|
3636
|
-
description: "Position"
|
|
3637
|
-
},
|
|
3638
|
-
"style.scale": {
|
|
3639
|
-
type: "number",
|
|
3640
|
-
min: 0.05,
|
|
3641
|
-
max: 100,
|
|
3642
|
-
step: 0.01,
|
|
3643
|
-
default: 1,
|
|
3644
|
-
description: "Scale"
|
|
3645
|
-
},
|
|
3646
|
-
"style.rotate": {
|
|
3647
|
-
type: "rotation",
|
|
3648
|
-
step: 1,
|
|
3649
|
-
default: "0deg",
|
|
3650
|
-
description: "Rotation"
|
|
3651
|
-
},
|
|
3652
|
-
"style.opacity": {
|
|
3653
|
-
type: "number",
|
|
3654
|
-
min: 0,
|
|
3655
|
-
max: 1,
|
|
3656
|
-
step: 0.01,
|
|
3657
|
-
default: 1,
|
|
3658
|
-
description: "Opacity"
|
|
3659
|
-
}
|
|
3660
|
-
};
|
|
3661
3863
|
var HtmlInCanvasInner = forwardRef5(({
|
|
3662
3864
|
width,
|
|
3663
3865
|
height,
|
|
3664
|
-
_experimentalEffects:
|
|
3866
|
+
_experimentalEffects: effects = [],
|
|
3665
3867
|
children,
|
|
3666
3868
|
onPaint,
|
|
3667
3869
|
onInit,
|
|
@@ -3691,8 +3893,8 @@ var HtmlInCanvasInner = forwardRef5(({
|
|
|
3691
3893
|
}, [ref]);
|
|
3692
3894
|
const [offscreenCanvas] = useState8(() => new OffscreenCanvas(1, 1));
|
|
3693
3895
|
const chainState = useEffectChainState();
|
|
3694
|
-
const effectsRef = useRef9(
|
|
3695
|
-
effectsRef.current =
|
|
3896
|
+
const effectsRef = useRef9(effects);
|
|
3897
|
+
effectsRef.current = effects;
|
|
3696
3898
|
const frameRef = useRef9(frame);
|
|
3697
3899
|
frameRef.current = frame;
|
|
3698
3900
|
const onPaintRef = useRef9(onPaint);
|
|
@@ -3806,13 +4008,12 @@ var HtmlInCanvasInner = forwardRef5(({
|
|
|
3806
4008
|
continueRender2(handle);
|
|
3807
4009
|
};
|
|
3808
4010
|
}, [width, height, continueRender2]);
|
|
3809
|
-
const innerStyle =
|
|
4011
|
+
const innerStyle = useMemo17(() => {
|
|
3810
4012
|
return {
|
|
3811
4013
|
width,
|
|
3812
|
-
height
|
|
3813
|
-
...style
|
|
4014
|
+
height
|
|
3814
4015
|
};
|
|
3815
|
-
}, [width, height
|
|
4016
|
+
}, [width, height]);
|
|
3816
4017
|
if (isInsideAncestorHtmlInCanvas) {
|
|
3817
4018
|
throw new Error("<HtmlInCanvas> effects cannot be nested together. Chrome will only display the outer effect. Consider merging the effects into one if you can.");
|
|
3818
4019
|
}
|
|
@@ -3820,6 +4021,7 @@ var HtmlInCanvasInner = forwardRef5(({
|
|
|
3820
4021
|
durationInFrames: resolvedDuration,
|
|
3821
4022
|
name: "<HtmlInCanvas>",
|
|
3822
4023
|
_experimentalControls: controls,
|
|
4024
|
+
_experimentalEffects: effects,
|
|
3823
4025
|
layout: "none",
|
|
3824
4026
|
...sequenceProps,
|
|
3825
4027
|
children: /* @__PURE__ */ jsx15(HtmlInCanvasAncestorContext.Provider, {
|
|
@@ -3828,6 +4030,7 @@ var HtmlInCanvasInner = forwardRef5(({
|
|
|
3828
4030
|
ref: setLayoutCanvasRef,
|
|
3829
4031
|
width,
|
|
3830
4032
|
height,
|
|
4033
|
+
style,
|
|
3831
4034
|
children: /* @__PURE__ */ jsx15("div", {
|
|
3832
4035
|
ref: divRef,
|
|
3833
4036
|
style: innerStyle,
|
|
@@ -3838,7 +4041,7 @@ var HtmlInCanvasInner = forwardRef5(({
|
|
|
3838
4041
|
});
|
|
3839
4042
|
});
|
|
3840
4043
|
HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
3841
|
-
var HtmlInCanvasWrapped = wrapInSchema(HtmlInCanvasInner,
|
|
4044
|
+
var HtmlInCanvasWrapped = wrapInSchema(HtmlInCanvasInner, sequenceStyleSchema);
|
|
3842
4045
|
var HtmlInCanvas = Object.assign(HtmlInCanvasWrapped, {
|
|
3843
4046
|
isSupported: isHtmlInCanvasSupported
|
|
3844
4047
|
});
|
|
@@ -3916,7 +4119,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
3916
4119
|
};
|
|
3917
4120
|
}
|
|
3918
4121
|
}, []);
|
|
3919
|
-
const contextValue =
|
|
4122
|
+
const contextValue = useMemo18(() => {
|
|
3920
4123
|
return {
|
|
3921
4124
|
registerRenderAsset,
|
|
3922
4125
|
unregisterRenderAsset,
|
|
@@ -4045,14 +4248,14 @@ var Loop = ({
|
|
|
4045
4248
|
const iteration = Math.floor(currentFrame / durationInFrames);
|
|
4046
4249
|
const start = iteration * durationInFrames;
|
|
4047
4250
|
const from = Math.min(start, maxFrame);
|
|
4048
|
-
const loopDisplay =
|
|
4251
|
+
const loopDisplay = useMemo19(() => {
|
|
4049
4252
|
return {
|
|
4050
4253
|
numberOfTimes: Math.min(compDuration / durationInFrames, times),
|
|
4051
4254
|
startOffset: -from,
|
|
4052
4255
|
durationInFrames
|
|
4053
4256
|
};
|
|
4054
4257
|
}, [compDuration, durationInFrames, from, times]);
|
|
4055
|
-
const loopContext =
|
|
4258
|
+
const loopContext = useMemo19(() => {
|
|
4056
4259
|
return {
|
|
4057
4260
|
iteration: Math.floor(currentFrame / durationInFrames),
|
|
4058
4261
|
durationInFrames
|
|
@@ -4411,7 +4614,7 @@ var DurationsContext = createContext19({
|
|
|
4411
4614
|
});
|
|
4412
4615
|
var DurationsContextProvider = ({ children }) => {
|
|
4413
4616
|
const [durations, setDurations] = useReducer(durationReducer, {});
|
|
4414
|
-
const value =
|
|
4617
|
+
const value = useMemo20(() => {
|
|
4415
4618
|
return {
|
|
4416
4619
|
durations,
|
|
4417
4620
|
setDurations
|
|
@@ -4545,7 +4748,7 @@ var useSingletonAudioContext = ({
|
|
|
4545
4748
|
audioEnabled
|
|
4546
4749
|
}) => {
|
|
4547
4750
|
const env = useRemotionEnvironment();
|
|
4548
|
-
|
|
4751
|
+
const context = useMemo21(() => {
|
|
4549
4752
|
if (env.isRendering) {
|
|
4550
4753
|
return null;
|
|
4551
4754
|
}
|
|
@@ -4562,11 +4765,14 @@ var useSingletonAudioContext = ({
|
|
|
4562
4765
|
});
|
|
4563
4766
|
const gainNode = audioContext.createGain();
|
|
4564
4767
|
gainNode.connect(audioContext.destination);
|
|
4768
|
+
Log.trace({ logLevel, tag: "audio" }, "Creating new audio context");
|
|
4769
|
+
audioContext.suspend();
|
|
4565
4770
|
return {
|
|
4566
4771
|
audioContext,
|
|
4567
4772
|
gainNode
|
|
4568
4773
|
};
|
|
4569
4774
|
}, [logLevel, latencyHint, env.isRendering, audioEnabled]);
|
|
4775
|
+
return context;
|
|
4570
4776
|
};
|
|
4571
4777
|
var waitUntilActuallyResumed = (audioContext, logLevel) => {
|
|
4572
4778
|
return new Promise((resolve) => {
|
|
@@ -4625,9 +4831,9 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4625
4831
|
});
|
|
4626
4832
|
const audioContextIsPlayingEventually = useRef11(false);
|
|
4627
4833
|
const isResuming = useRef11(null);
|
|
4628
|
-
const audioSyncAnchor =
|
|
4834
|
+
const audioSyncAnchor = useMemo22(() => ({ value: 0 }), []);
|
|
4629
4835
|
const audioSyncAnchorListeners = useRef11([]);
|
|
4630
|
-
const audioSyncAnchorEmitter =
|
|
4836
|
+
const audioSyncAnchorEmitter = useMemo22(() => {
|
|
4631
4837
|
return {
|
|
4632
4838
|
dispatch: (event) => {
|
|
4633
4839
|
audioSyncAnchorListeners.current.forEach((l) => l(event));
|
|
@@ -4647,7 +4853,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4647
4853
|
const unscheduleAudioNode = useCallback9((node) => {
|
|
4648
4854
|
nodesToResume.current.delete(node);
|
|
4649
4855
|
}, []);
|
|
4650
|
-
const scheduleAudioNode =
|
|
4856
|
+
const scheduleAudioNode = useMemo22(() => {
|
|
4651
4857
|
return ({
|
|
4652
4858
|
node,
|
|
4653
4859
|
mediaTimestamp,
|
|
@@ -4710,12 +4916,11 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4710
4916
|
isResuming.current = null;
|
|
4711
4917
|
});
|
|
4712
4918
|
ctxAndGain.gainNode.gain.cancelScheduledValues(ctxAndGain.audioContext.currentTime);
|
|
4713
|
-
ctxAndGain.gainNode
|
|
4714
|
-
ctxAndGain.gainNode
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
}).catch(() => {});
|
|
4919
|
+
ctxAndGain.gainNode.gain.setValueAtTime(0, ctxAndGain.audioContext.currentTime);
|
|
4920
|
+
ctxAndGain.gainNode.gain.linearRampToValueAtTime(1, ctxAndGain.audioContext.currentTime + 0.03);
|
|
4921
|
+
nodesToResume.current.forEach((r, node) => node.start(r.scheduledTime, r.offset, r.duration));
|
|
4922
|
+
nodesToResume.current.clear();
|
|
4923
|
+
return resumePromise.catch(() => {});
|
|
4719
4924
|
}, [ctxAndGain, logLevel]);
|
|
4720
4925
|
const getIsResumingAudioContext = useCallback9(() => {
|
|
4721
4926
|
return isResuming.current;
|
|
@@ -4730,7 +4935,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled })
|
|
|
4730
4935
|
audioContextIsPlayingEventually.current = false;
|
|
4731
4936
|
ctxAndGain.audioContext.suspend();
|
|
4732
4937
|
}, [ctxAndGain]);
|
|
4733
|
-
const audioContextValue =
|
|
4938
|
+
const audioContextValue = useMemo22(() => {
|
|
4734
4939
|
return {
|
|
4735
4940
|
audioContext: ctxAndGain?.audioContext ?? null,
|
|
4736
4941
|
gainNode: ctxAndGain?.gainNode ?? null,
|
|
@@ -4769,7 +4974,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
4769
4974
|
const audioCtx = useContext20(SharedAudioContext);
|
|
4770
4975
|
const audioContext = audioCtx?.audioContext ?? null;
|
|
4771
4976
|
const resume = audioCtx?.resume;
|
|
4772
|
-
const refs =
|
|
4977
|
+
const refs = useMemo22(() => {
|
|
4773
4978
|
return new Array(numberOfAudioTags).fill(true).map(() => {
|
|
4774
4979
|
const ref = createRef2();
|
|
4775
4980
|
return {
|
|
@@ -4906,7 +5111,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
4906
5111
|
});
|
|
4907
5112
|
resume?.();
|
|
4908
5113
|
}, [logLevel, mountTime, refs, env.isPlayer, resume]);
|
|
4909
|
-
const audioTagsValue =
|
|
5114
|
+
const audioTagsValue = useMemo22(() => {
|
|
4910
5115
|
return {
|
|
4911
5116
|
registerAudio,
|
|
4912
5117
|
unregisterAudio,
|
|
@@ -5285,7 +5490,7 @@ var useBasicMediaInTimeline = ({
|
|
|
5285
5490
|
parentSequenceDurationInFrames: parentSequence?.durationInFrames ?? null,
|
|
5286
5491
|
loop
|
|
5287
5492
|
});
|
|
5288
|
-
const volumes =
|
|
5493
|
+
const volumes = useMemo23(() => {
|
|
5289
5494
|
if (typeof volume === "number") {
|
|
5290
5495
|
return volume;
|
|
5291
5496
|
}
|
|
@@ -5306,7 +5511,7 @@ var useBasicMediaInTimeline = ({
|
|
|
5306
5511
|
const nonce = useNonce();
|
|
5307
5512
|
const { rootId } = useTimelineContext();
|
|
5308
5513
|
const startMediaFrom = 0 - mediaStartsAt + (trimBefore ?? 0);
|
|
5309
|
-
const memoizedResult =
|
|
5514
|
+
const memoizedResult = useMemo23(() => {
|
|
5310
5515
|
return {
|
|
5311
5516
|
volumes,
|
|
5312
5517
|
duration,
|
|
@@ -5575,7 +5780,7 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
5575
5780
|
}
|
|
5576
5781
|
}, [blocks]);
|
|
5577
5782
|
}
|
|
5578
|
-
return
|
|
5783
|
+
return useMemo24(() => {
|
|
5579
5784
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
5580
5785
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
5581
5786
|
};
|
|
@@ -5613,7 +5818,7 @@ var useIsPlayerBuffering = (bufferManager) => {
|
|
|
5613
5818
|
var useBufferState = () => {
|
|
5614
5819
|
const buffer = useContext25(BufferingContextReact);
|
|
5615
5820
|
const addBlock = buffer ? buffer.addBlock : null;
|
|
5616
|
-
return
|
|
5821
|
+
return useMemo25(() => ({
|
|
5617
5822
|
delayPlayback: () => {
|
|
5618
5823
|
if (!addBlock) {
|
|
5619
5824
|
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");
|
|
@@ -5710,7 +5915,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
5710
5915
|
onVariableFpsVideoDetected,
|
|
5711
5916
|
pauseWhenBuffering
|
|
5712
5917
|
]);
|
|
5713
|
-
return
|
|
5918
|
+
return useMemo26(() => {
|
|
5714
5919
|
return {
|
|
5715
5920
|
isBuffering: () => bufferingRef.current,
|
|
5716
5921
|
bufferUntilFirstFrame
|
|
@@ -6112,7 +6317,7 @@ var useMediaPlayback = ({
|
|
|
6112
6317
|
isPostmounting,
|
|
6113
6318
|
onAutoPlayError
|
|
6114
6319
|
}) => {
|
|
6115
|
-
const { playbackRate: globalPlaybackRate } =
|
|
6320
|
+
const { playbackRate: globalPlaybackRate } = usePlaybackRate();
|
|
6116
6321
|
const frame = useCurrentFrame();
|
|
6117
6322
|
const absoluteFrame = useTimelinePosition();
|
|
6118
6323
|
const [playing] = usePlayingState();
|
|
@@ -6406,14 +6611,14 @@ var SetMediaVolumeContext = createContext21({
|
|
|
6406
6611
|
var useMediaVolumeState = () => {
|
|
6407
6612
|
const { mediaVolume } = useContext27(MediaVolumeContext);
|
|
6408
6613
|
const { setMediaVolume } = useContext27(SetMediaVolumeContext);
|
|
6409
|
-
return
|
|
6614
|
+
return useMemo27(() => {
|
|
6410
6615
|
return [mediaVolume, setMediaVolume];
|
|
6411
6616
|
}, [mediaVolume, setMediaVolume]);
|
|
6412
6617
|
};
|
|
6413
6618
|
var useMediaMutedState = () => {
|
|
6414
6619
|
const { mediaMuted } = useContext27(MediaVolumeContext);
|
|
6415
6620
|
const { setMediaMuted } = useContext27(SetMediaVolumeContext);
|
|
6416
|
-
return
|
|
6621
|
+
return useMemo27(() => {
|
|
6417
6622
|
return [mediaMuted, setMediaMuted];
|
|
6418
6623
|
}, [mediaMuted, setMediaMuted]);
|
|
6419
6624
|
};
|
|
@@ -6481,7 +6686,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
6481
6686
|
requestsVideoFrame: false,
|
|
6482
6687
|
isClientSideRendering: false
|
|
6483
6688
|
});
|
|
6484
|
-
const propsToPass =
|
|
6689
|
+
const propsToPass = useMemo28(() => {
|
|
6485
6690
|
return {
|
|
6486
6691
|
muted: muted || mediaMuted || isSequenceHidden || userPreferredVolume <= 0,
|
|
6487
6692
|
src: preloadedSrc,
|
|
@@ -6499,7 +6704,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
6499
6704
|
userPreferredVolume,
|
|
6500
6705
|
crossOriginValue
|
|
6501
6706
|
]);
|
|
6502
|
-
const id =
|
|
6707
|
+
const id = useMemo28(() => `audio-${random(src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}-muted:${props.muted}-loop:${props.loop}`, [
|
|
6503
6708
|
src,
|
|
6504
6709
|
sequenceContext?.relativeFrom,
|
|
6505
6710
|
sequenceContext?.cumulatedFrom,
|
|
@@ -6625,7 +6830,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
6625
6830
|
const sequenceContext = useContext29(SequenceContext);
|
|
6626
6831
|
const { registerRenderAsset, unregisterRenderAsset } = useContext29(RenderAssetManager);
|
|
6627
6832
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
6628
|
-
const id =
|
|
6833
|
+
const id = useMemo29(() => `audio-${random(props.src ?? "")}-${sequenceContext?.relativeFrom}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.durationInFrames}`, [
|
|
6629
6834
|
props.src,
|
|
6630
6835
|
sequenceContext?.relativeFrom,
|
|
6631
6836
|
sequenceContext?.cumulatedFrom,
|
|
@@ -6890,36 +7095,6 @@ function truncateSrcForLabel(src) {
|
|
|
6890
7095
|
}
|
|
6891
7096
|
return src;
|
|
6892
7097
|
}
|
|
6893
|
-
var imgSchema = {
|
|
6894
|
-
"style.translate": {
|
|
6895
|
-
type: "translate",
|
|
6896
|
-
step: 1,
|
|
6897
|
-
default: "0px 0px",
|
|
6898
|
-
description: "Position"
|
|
6899
|
-
},
|
|
6900
|
-
"style.scale": {
|
|
6901
|
-
type: "number",
|
|
6902
|
-
min: 0.05,
|
|
6903
|
-
max: 100,
|
|
6904
|
-
step: 0.01,
|
|
6905
|
-
default: 1,
|
|
6906
|
-
description: "Scale"
|
|
6907
|
-
},
|
|
6908
|
-
"style.rotate": {
|
|
6909
|
-
type: "rotation",
|
|
6910
|
-
step: 1,
|
|
6911
|
-
default: "0deg",
|
|
6912
|
-
description: "Rotation"
|
|
6913
|
-
},
|
|
6914
|
-
"style.opacity": {
|
|
6915
|
-
type: "number",
|
|
6916
|
-
min: 0,
|
|
6917
|
-
max: 1,
|
|
6918
|
-
step: 0.01,
|
|
6919
|
-
default: 1,
|
|
6920
|
-
description: "Opacity"
|
|
6921
|
-
}
|
|
6922
|
-
};
|
|
6923
7098
|
var ImgInner = ({
|
|
6924
7099
|
onError,
|
|
6925
7100
|
maxRetries = 2,
|
|
@@ -7083,7 +7258,7 @@ var ImgInner = ({
|
|
|
7083
7258
|
decoding: "sync"
|
|
7084
7259
|
});
|
|
7085
7260
|
};
|
|
7086
|
-
var Img = wrapInSchema(ImgInner,
|
|
7261
|
+
var Img = wrapInSchema(ImgInner, sequenceStyleSchema);
|
|
7087
7262
|
addSequenceStackTraces(Img);
|
|
7088
7263
|
var compositionsRef = React28.createRef();
|
|
7089
7264
|
var CompositionManagerProvider = ({
|
|
@@ -7139,7 +7314,7 @@ var CompositionManagerProvider = ({
|
|
|
7139
7314
|
getCompositions: () => currentcompositionsRef.current
|
|
7140
7315
|
};
|
|
7141
7316
|
}, []);
|
|
7142
|
-
const compositionManagerSetters =
|
|
7317
|
+
const compositionManagerSetters = useMemo30(() => {
|
|
7143
7318
|
return {
|
|
7144
7319
|
registerComposition,
|
|
7145
7320
|
unregisterComposition,
|
|
@@ -7155,7 +7330,7 @@ var CompositionManagerProvider = ({
|
|
|
7155
7330
|
unregisterFolder,
|
|
7156
7331
|
onlyRenderComposition
|
|
7157
7332
|
]);
|
|
7158
|
-
const compositionManagerContextValue =
|
|
7333
|
+
const compositionManagerContextValue = useMemo30(() => {
|
|
7159
7334
|
return {
|
|
7160
7335
|
compositions,
|
|
7161
7336
|
folders,
|
|
@@ -7285,7 +7460,7 @@ var MediaEnabledProvider = ({
|
|
|
7285
7460
|
videoEnabled,
|
|
7286
7461
|
audioEnabled
|
|
7287
7462
|
}) => {
|
|
7288
|
-
const value =
|
|
7463
|
+
const value = useMemo31(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
7289
7464
|
return /* @__PURE__ */ jsx28(MediaEnabledContext.Provider, {
|
|
7290
7465
|
value,
|
|
7291
7466
|
children
|
|
@@ -7301,13 +7476,13 @@ var RemotionRootContexts = ({
|
|
|
7301
7476
|
frameState,
|
|
7302
7477
|
visualModeEnabled
|
|
7303
7478
|
}) => {
|
|
7304
|
-
const nonceContext =
|
|
7479
|
+
const nonceContext = useMemo32(() => {
|
|
7305
7480
|
let counter = 0;
|
|
7306
7481
|
return {
|
|
7307
7482
|
getNonce: () => counter++
|
|
7308
7483
|
};
|
|
7309
7484
|
}, []);
|
|
7310
|
-
const logging =
|
|
7485
|
+
const logging = useMemo32(() => {
|
|
7311
7486
|
return { logLevel, mountTime: Date.now() };
|
|
7312
7487
|
}, [logLevel]);
|
|
7313
7488
|
return /* @__PURE__ */ jsx29(LogLevelContext.Provider, {
|
|
@@ -7609,7 +7784,7 @@ var OffthreadVideoForRendering = ({
|
|
|
7609
7784
|
if (!src) {
|
|
7610
7785
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
7611
7786
|
}
|
|
7612
|
-
const id =
|
|
7787
|
+
const id = useMemo33(() => `offthreadvideo-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
7613
7788
|
src,
|
|
7614
7789
|
sequenceContext?.cumulatedFrom,
|
|
7615
7790
|
sequenceContext?.relativeFrom,
|
|
@@ -7664,14 +7839,14 @@ var OffthreadVideoForRendering = ({
|
|
|
7664
7839
|
sequenceContext?.relativeFrom,
|
|
7665
7840
|
audioStreamIndex
|
|
7666
7841
|
]);
|
|
7667
|
-
const currentTime =
|
|
7842
|
+
const currentTime = useMemo33(() => {
|
|
7668
7843
|
return getExpectedMediaFrameUncorrected({
|
|
7669
7844
|
frame,
|
|
7670
7845
|
playbackRate: playbackRate || 1,
|
|
7671
7846
|
startFrom: -mediaStartsAt
|
|
7672
7847
|
}) / videoConfig.fps;
|
|
7673
7848
|
}, [frame, mediaStartsAt, playbackRate, videoConfig.fps]);
|
|
7674
|
-
const actualSrc =
|
|
7849
|
+
const actualSrc = useMemo33(() => {
|
|
7675
7850
|
return getOffthreadVideoSource({
|
|
7676
7851
|
src,
|
|
7677
7852
|
currentTime,
|
|
@@ -7759,7 +7934,7 @@ var OffthreadVideoForRendering = ({
|
|
|
7759
7934
|
cancelRender("Failed to load image with src " + imageSrc);
|
|
7760
7935
|
}
|
|
7761
7936
|
}, [imageSrc, onError]);
|
|
7762
|
-
const className =
|
|
7937
|
+
const className = useMemo33(() => {
|
|
7763
7938
|
return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
|
|
7764
7939
|
}, [props2.className]);
|
|
7765
7940
|
const onImageFrame = useCallback17((img) => {
|
|
@@ -7822,7 +7997,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
7822
7997
|
throw new Error("SharedAudioContext not found");
|
|
7823
7998
|
}
|
|
7824
7999
|
const videoRef = useRef22(null);
|
|
7825
|
-
const sharedSource =
|
|
8000
|
+
const sharedSource = useMemo34(() => {
|
|
7826
8001
|
if (!context.audioContext) {
|
|
7827
8002
|
return null;
|
|
7828
8003
|
}
|
|
@@ -8020,7 +8195,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
8020
8195
|
current.preload = "auto";
|
|
8021
8196
|
}
|
|
8022
8197
|
}, []);
|
|
8023
|
-
const actualStyle =
|
|
8198
|
+
const actualStyle = useMemo34(() => {
|
|
8024
8199
|
return {
|
|
8025
8200
|
...style,
|
|
8026
8201
|
opacity: isSequenceHidden ? 0 : style?.opacity ?? 1
|
|
@@ -8214,7 +8389,7 @@ function useRemotionContexts() {
|
|
|
8214
8389
|
const sequenceManagerContext = React36.useContext(SequenceManager);
|
|
8215
8390
|
const bufferManagerContext = React36.useContext(BufferingContextReact);
|
|
8216
8391
|
const logLevelContext = React36.useContext(LogLevelContext);
|
|
8217
|
-
return
|
|
8392
|
+
return useMemo35(() => ({
|
|
8218
8393
|
compositionManagerCtx,
|
|
8219
8394
|
timelineContext,
|
|
8220
8395
|
setTimelineContext,
|
|
@@ -8302,8 +8477,11 @@ var Internals = {
|
|
|
8302
8477
|
SequenceManager,
|
|
8303
8478
|
SequenceStackTracesUpdateContext,
|
|
8304
8479
|
SequenceVisibilityToggleContext,
|
|
8305
|
-
useSchema,
|
|
8306
8480
|
wrapInSchema,
|
|
8481
|
+
sequenceSchema,
|
|
8482
|
+
sequenceStyleSchema,
|
|
8483
|
+
flattenActiveSchema,
|
|
8484
|
+
getFlatSchemaWithAllKeys,
|
|
8307
8485
|
useSequenceControlOverride,
|
|
8308
8486
|
RemotionRootContexts,
|
|
8309
8487
|
CompositionManagerProvider,
|
|
@@ -8353,6 +8531,7 @@ var Internals = {
|
|
|
8353
8531
|
REMOTION_STUDIO_CONTAINER_ELEMENT,
|
|
8354
8532
|
RenderAssetManager,
|
|
8355
8533
|
persistCurrentFrame,
|
|
8534
|
+
usePlaybackRate,
|
|
8356
8535
|
useTimelineContext,
|
|
8357
8536
|
useTimelineSetFrame,
|
|
8358
8537
|
isIosSafari,
|
|
@@ -8386,6 +8565,7 @@ var Internals = {
|
|
|
8386
8565
|
TimelinePosition: exports_timeline_position_state,
|
|
8387
8566
|
DelayRenderContextType,
|
|
8388
8567
|
TimelineContext,
|
|
8568
|
+
PlaybackRateContext,
|
|
8389
8569
|
AbsoluteTimeContext,
|
|
8390
8570
|
RenderAssetManagerProvider,
|
|
8391
8571
|
getEffectiveVisualModeValue,
|
|
@@ -8394,7 +8574,8 @@ var Internals = {
|
|
|
8394
8574
|
runEffectChain,
|
|
8395
8575
|
useMemoizedEffects,
|
|
8396
8576
|
defineEffect,
|
|
8397
|
-
createDescriptor
|
|
8577
|
+
createDescriptor,
|
|
8578
|
+
computeEffectiveSchemaValuesDotNotation
|
|
8398
8579
|
};
|
|
8399
8580
|
var NUMBER = "[-+]?\\d*\\.?\\d+";
|
|
8400
8581
|
var PERCENTAGE = NUMBER + "%";
|
|
@@ -8458,8 +8639,8 @@ var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
|
8458
8639
|
});
|
|
8459
8640
|
};
|
|
8460
8641
|
var SeriesSequence = forwardRef11(SeriesSequenceRefForwardingFunction);
|
|
8461
|
-
var
|
|
8462
|
-
const childrenValue =
|
|
8642
|
+
var SeriesInner = (props2) => {
|
|
8643
|
+
const childrenValue = useMemo36(() => {
|
|
8463
8644
|
let startFrame = 0;
|
|
8464
8645
|
const flattenedChildren = flattenChildren(props2.children);
|
|
8465
8646
|
return Children.map(flattenedChildren, (child, i) => {
|
|
@@ -8522,7 +8703,9 @@ var Series = (props2) => {
|
|
|
8522
8703
|
})
|
|
8523
8704
|
});
|
|
8524
8705
|
};
|
|
8525
|
-
Series
|
|
8706
|
+
var Series = Object.assign(wrapInSchema(SeriesInner, sequenceSchemaDefaultLayoutNone), {
|
|
8707
|
+
Sequence: SeriesSequence
|
|
8708
|
+
});
|
|
8526
8709
|
addSequenceStackTraces(Series);
|
|
8527
8710
|
addSequenceStackTraces(SeriesSequence);
|
|
8528
8711
|
var validateSpringDuration = (dur) => {
|
|
@@ -8997,7 +9180,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
8997
9180
|
const mountTime = useMountTime();
|
|
8998
9181
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
8999
9182
|
const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
|
|
9000
|
-
const id =
|
|
9183
|
+
const id = useMemo37(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
9001
9184
|
props2.src,
|
|
9002
9185
|
sequenceContext?.cumulatedFrom,
|
|
9003
9186
|
sequenceContext?.relativeFrom,
|
|
@@ -9473,6 +9656,20 @@ var TeamCardsLayout = () => {
|
|
|
9473
9656
|
|
|
9474
9657
|
// src/components/experts/experts-icons.tsx
|
|
9475
9658
|
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
9659
|
+
var DiscordLogo = () => {
|
|
9660
|
+
return /* @__PURE__ */ jsx40("svg", {
|
|
9661
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
9662
|
+
viewBox: "0 0 24 24",
|
|
9663
|
+
style: {
|
|
9664
|
+
width: 30,
|
|
9665
|
+
marginRight: 10
|
|
9666
|
+
},
|
|
9667
|
+
children: /* @__PURE__ */ jsx40("path", {
|
|
9668
|
+
fill: "white",
|
|
9669
|
+
d: "M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"
|
|
9670
|
+
})
|
|
9671
|
+
});
|
|
9672
|
+
};
|
|
9476
9673
|
var PersonalWebsite = () => {
|
|
9477
9674
|
return /* @__PURE__ */ jsx40("svg", {
|
|
9478
9675
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -9626,6 +9823,13 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
9626
9823
|
target: "_blank",
|
|
9627
9824
|
href: `mailto:${expert.email}`,
|
|
9628
9825
|
children: /* @__PURE__ */ jsx41(EmailLogo, {})
|
|
9826
|
+
}) : null,
|
|
9827
|
+
expert.discord ? /* @__PURE__ */ jsx41("a", {
|
|
9828
|
+
className: "no-underline text-inherit",
|
|
9829
|
+
target: "_blank",
|
|
9830
|
+
href: `https://discord.com/users/${expert.discord.userId}`,
|
|
9831
|
+
title: `@${expert.discord.username} on Discord`,
|
|
9832
|
+
children: /* @__PURE__ */ jsx41(DiscordLogo, {})
|
|
9629
9833
|
}) : null
|
|
9630
9834
|
]
|
|
9631
9835
|
})
|
|
@@ -9635,7 +9839,7 @@ var ExpertCard = ({ expert, Link }) => {
|
|
|
9635
9839
|
});
|
|
9636
9840
|
};
|
|
9637
9841
|
var ExpertsPageContent = ({ Link }) => {
|
|
9638
|
-
const expertsInRandomOrder =
|
|
9842
|
+
const expertsInRandomOrder = useMemo38(() => {
|
|
9639
9843
|
if (typeof window === "undefined") {
|
|
9640
9844
|
return [];
|
|
9641
9845
|
}
|
|
@@ -11078,7 +11282,7 @@ var getDefaultConfig = () => {
|
|
|
11078
11282
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
11079
11283
|
|
|
11080
11284
|
// ../design/dist/esm/index.mjs
|
|
11081
|
-
import React33, { useEffect as useEffect20, useMemo as
|
|
11285
|
+
import React33, { useEffect as useEffect20, useMemo as useMemo41, useState as useState23 } from "react";
|
|
11082
11286
|
|
|
11083
11287
|
// ../paths/dist/esm/index.mjs
|
|
11084
11288
|
var cutLInstruction = ({
|
|
@@ -13844,7 +14048,7 @@ var PathInternals = {
|
|
|
13844
14048
|
};
|
|
13845
14049
|
|
|
13846
14050
|
// ../shapes/dist/esm/index.mjs
|
|
13847
|
-
import React3, { useMemo as
|
|
14051
|
+
import React3, { useMemo as useMemo40 } from "react";
|
|
13848
14052
|
import { version } from "react-dom";
|
|
13849
14053
|
import { jsx as jsx42, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
13850
14054
|
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
@@ -13875,13 +14079,13 @@ var RenderSvg = ({
|
|
|
13875
14079
|
instructions,
|
|
13876
14080
|
...props
|
|
13877
14081
|
}) => {
|
|
13878
|
-
const actualStyle =
|
|
14082
|
+
const actualStyle = useMemo40(() => {
|
|
13879
14083
|
return {
|
|
13880
14084
|
overflow: "visible",
|
|
13881
14085
|
...style ?? {}
|
|
13882
14086
|
};
|
|
13883
14087
|
}, [style]);
|
|
13884
|
-
const actualPathStyle =
|
|
14088
|
+
const actualPathStyle = useMemo40(() => {
|
|
13885
14089
|
return {
|
|
13886
14090
|
transformBox: "fill-box",
|
|
13887
14091
|
...pathStyle ?? {}
|
|
@@ -15442,10 +15646,10 @@ import { jsx as jsx152 } from "react/jsx-runtime";
|
|
|
15442
15646
|
import * as React122 from "react";
|
|
15443
15647
|
import { jsx as jsx162 } from "react/jsx-runtime";
|
|
15444
15648
|
import * as React16 from "react";
|
|
15445
|
-
import * as
|
|
15649
|
+
import * as React132 from "react";
|
|
15446
15650
|
import * as ReactDOM from "react-dom";
|
|
15447
15651
|
import { jsx as jsx172 } from "react/jsx-runtime";
|
|
15448
|
-
import * as
|
|
15652
|
+
import * as React14 from "react";
|
|
15449
15653
|
import * as React152 from "react";
|
|
15450
15654
|
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
15451
15655
|
import * as React172 from "react";
|
|
@@ -15672,7 +15876,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
15672
15876
|
progress: 0,
|
|
15673
15877
|
isActive: false
|
|
15674
15878
|
});
|
|
15675
|
-
const eventTarget =
|
|
15879
|
+
const eventTarget = useMemo41(() => new EventTarget, []);
|
|
15676
15880
|
useEffect20(() => {
|
|
15677
15881
|
if (disabled) {
|
|
15678
15882
|
eventTarget.dispatchEvent(new Event("disabled"));
|
|
@@ -16484,7 +16688,7 @@ var NODES = [
|
|
|
16484
16688
|
"ul"
|
|
16485
16689
|
];
|
|
16486
16690
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
16487
|
-
const Node2 =
|
|
16691
|
+
const Node2 = React132.forwardRef((props, forwardedRef) => {
|
|
16488
16692
|
const { asChild, ...primitiveProps } = props;
|
|
16489
16693
|
const Comp = asChild ? Slot2 : node;
|
|
16490
16694
|
if (typeof window !== "undefined") {
|
|
@@ -16500,11 +16704,11 @@ function dispatchDiscreteCustomEvent(target, event) {
|
|
|
16500
16704
|
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
16501
16705
|
}
|
|
16502
16706
|
function useCallbackRef(callback) {
|
|
16503
|
-
const callbackRef =
|
|
16504
|
-
|
|
16707
|
+
const callbackRef = React14.useRef(callback);
|
|
16708
|
+
React14.useEffect(() => {
|
|
16505
16709
|
callbackRef.current = callback;
|
|
16506
16710
|
});
|
|
16507
|
-
return
|
|
16711
|
+
return React14.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
16508
16712
|
}
|
|
16509
16713
|
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
|
|
16510
16714
|
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
|
|
@@ -22119,7 +22323,7 @@ var Triangle2 = (props) => {
|
|
|
22119
22323
|
};
|
|
22120
22324
|
|
|
22121
22325
|
// src/components/homepage/FreePricing.tsx
|
|
22122
|
-
import React53, { useCallback as useCallback33, useMemo as
|
|
22326
|
+
import React53, { useCallback as useCallback33, useMemo as useMemo50 } from "react";
|
|
22123
22327
|
|
|
22124
22328
|
// ../../node_modules/.bun/tailwind-merge@2.5.2/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
22125
22329
|
var CLASS_PART_SEPARATOR2 = "-";
|
|
@@ -23776,14 +23980,14 @@ var CompanyPricing = () => {
|
|
|
23776
23980
|
}, []);
|
|
23777
23981
|
const creatorsPrice = creatorsSelected ? devSeatCount * SEAT_PRICE : 0;
|
|
23778
23982
|
const automatorsPrice = automatorsSelected ? Math.ceil(cloudRenders / 1000) * RENDER_UNIT_PRICE : 0;
|
|
23779
|
-
const totalPrice =
|
|
23983
|
+
const totalPrice = useMemo50(() => {
|
|
23780
23984
|
const basePrice = creatorsPrice + automatorsPrice;
|
|
23781
23985
|
if (automatorsSelected) {
|
|
23782
23986
|
return Math.max(100, basePrice);
|
|
23783
23987
|
}
|
|
23784
23988
|
return basePrice;
|
|
23785
23989
|
}, [creatorsPrice, automatorsPrice, automatorsSelected]);
|
|
23786
|
-
const totalPriceString =
|
|
23990
|
+
const totalPriceString = useMemo50(() => {
|
|
23787
23991
|
return formatPrice(totalPrice);
|
|
23788
23992
|
}, [formatPrice, totalPrice]);
|
|
23789
23993
|
const showMinimumMessage = automatorsSelected && creatorsPrice + automatorsPrice < 100;
|
|
@@ -24496,7 +24700,7 @@ import { useEffect as useEffect24, useState as useState24 } from "react";
|
|
|
24496
24700
|
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
24497
24701
|
import { useContext as useContext45, useEffect as useEffect52, useRef as useRef52 } from "react";
|
|
24498
24702
|
import { useEffect as useEffect310, useRef as useRef310 } from "react";
|
|
24499
|
-
import { useCallback as useCallback24, useContext as useContext39, useMemo as
|
|
24703
|
+
import { useCallback as useCallback24, useContext as useContext39, useMemo as useMemo51, useRef as useRef26, useState as useState310 } from "react";
|
|
24500
24704
|
import { useEffect as useEffect43, useRef as useRef43 } from "react";
|
|
24501
24705
|
import { useCallback as useCallback35, useEffect as useEffect62, useMemo as useMemo212, useState as useState42 } from "react";
|
|
24502
24706
|
import {
|
|
@@ -24526,10 +24730,10 @@ import { jsx as jsx55 } from "react/jsx-runtime";
|
|
|
24526
24730
|
import { useCallback as useCallback82, useEffect as useEffect112, useMemo as useMemo92, useRef as useRef92, useState as useState102 } from "react";
|
|
24527
24731
|
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
24528
24732
|
import { useCallback as useCallback52, useMemo as useMemo410, useRef as useRef62, useState as useState62 } from "react";
|
|
24529
|
-
import React54, { useCallback as useCallback42, useMemo as
|
|
24733
|
+
import React54, { useCallback as useCallback42, useMemo as useMemo39, useState as useState52 } from "react";
|
|
24530
24734
|
import { jsx as jsx74, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
24531
24735
|
import { jsx as jsx84, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
24532
|
-
import { useCallback as useCallback62, useEffect as useEffect92, useMemo as
|
|
24736
|
+
import { useCallback as useCallback62, useEffect as useEffect92, useMemo as useMemo52, useState as useState82 } from "react";
|
|
24533
24737
|
import { useEffect as useEffect83, useRef as useRef72, useState as useState72 } from "react";
|
|
24534
24738
|
import { jsx as jsx94, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
24535
24739
|
import { useCallback as useCallback72, useEffect as useEffect102, useMemo as useMemo62, useRef as useRef82, useState as useState92 } from "react";
|
|
@@ -25338,7 +25542,7 @@ import {
|
|
|
25338
25542
|
useRef as useRef142,
|
|
25339
25543
|
useState as useState142
|
|
25340
25544
|
} from "react";
|
|
25341
|
-
import
|
|
25545
|
+
import React133, {
|
|
25342
25546
|
forwardRef as forwardRef34,
|
|
25343
25547
|
Suspense as Suspense22,
|
|
25344
25548
|
useCallback as useCallback132,
|
|
@@ -25995,7 +26199,7 @@ var usePlayer = () => {
|
|
|
25995
26199
|
const isBuffering = useCallback24(() => {
|
|
25996
26200
|
return buffering.current;
|
|
25997
26201
|
}, [buffering]);
|
|
25998
|
-
const returnValue =
|
|
26202
|
+
const returnValue = useMemo51(() => {
|
|
25999
26203
|
return {
|
|
26000
26204
|
frameBack,
|
|
26001
26205
|
frameForward,
|
|
@@ -26228,7 +26432,6 @@ var usePlayback = ({
|
|
|
26228
26432
|
const setFrame = Internals.Timeline.useTimelineSetFrame();
|
|
26229
26433
|
const sharedAudioContext = useContext45(Internals.SharedAudioContext);
|
|
26230
26434
|
const logLevel = Internals.useLogLevel();
|
|
26231
|
-
const timelineContext = Internals.useTimelineContext();
|
|
26232
26435
|
const isBackgroundedRef = useIsBackgrounded();
|
|
26233
26436
|
const lastTimeUpdateTimestamp = useRef52(0);
|
|
26234
26437
|
const context = useContext45(Internals.BufferingContextReact);
|
|
@@ -26254,19 +26457,13 @@ var usePlayback = ({
|
|
|
26254
26457
|
audioContext: sharedAudioContext.audioContext,
|
|
26255
26458
|
audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
|
|
26256
26459
|
absoluteTimeInSeconds: frame / config.fps,
|
|
26257
|
-
globalPlaybackRate:
|
|
26460
|
+
globalPlaybackRate: playbackRate,
|
|
26258
26461
|
logLevel
|
|
26259
26462
|
});
|
|
26260
26463
|
if (changed) {
|
|
26261
26464
|
sharedAudioContext.audioSyncAnchorEmitter.dispatch("changed");
|
|
26262
26465
|
}
|
|
26263
|
-
}, [
|
|
26264
|
-
config,
|
|
26265
|
-
frame,
|
|
26266
|
-
logLevel,
|
|
26267
|
-
sharedAudioContext,
|
|
26268
|
-
timelineContext.playbackRate
|
|
26269
|
-
]);
|
|
26466
|
+
}, [config, frame, logLevel, playbackRate, sharedAudioContext]);
|
|
26270
26467
|
useEffect52(() => {
|
|
26271
26468
|
if (!config) {
|
|
26272
26469
|
return;
|
|
@@ -26343,7 +26540,7 @@ var usePlayback = ({
|
|
|
26343
26540
|
audioContext: sharedAudioContext.audioContext,
|
|
26344
26541
|
audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
|
|
26345
26542
|
absoluteTimeInSeconds: getCurrentFrame() / config.fps,
|
|
26346
|
-
globalPlaybackRate:
|
|
26543
|
+
globalPlaybackRate: playbackRate,
|
|
26347
26544
|
logLevel
|
|
26348
26545
|
});
|
|
26349
26546
|
startedTime = performance.now();
|
|
@@ -26400,7 +26597,6 @@ var usePlayback = ({
|
|
|
26400
26597
|
context,
|
|
26401
26598
|
isPlaying,
|
|
26402
26599
|
sharedAudioContext,
|
|
26403
|
-
timelineContext.playbackRate,
|
|
26404
26600
|
logLevel,
|
|
26405
26601
|
muted
|
|
26406
26602
|
]);
|
|
@@ -26675,7 +26871,7 @@ var DefaultVolumeSlider = ({
|
|
|
26675
26871
|
inputRef,
|
|
26676
26872
|
setVolume
|
|
26677
26873
|
}) => {
|
|
26678
|
-
const sliderContainer =
|
|
26874
|
+
const sliderContainer = useMemo39(() => {
|
|
26679
26875
|
const paddingLeft = 5;
|
|
26680
26876
|
const common = {
|
|
26681
26877
|
paddingLeft,
|
|
@@ -26700,7 +26896,7 @@ var DefaultVolumeSlider = ({
|
|
|
26700
26896
|
const onVolumeChange = useCallback42((e) => {
|
|
26701
26897
|
setVolume(parseFloat(e.target.value));
|
|
26702
26898
|
}, [setVolume]);
|
|
26703
|
-
const inputStyle =
|
|
26899
|
+
const inputStyle = useMemo39(() => {
|
|
26704
26900
|
const commonStyle = {
|
|
26705
26901
|
WebkitAppearance: "none",
|
|
26706
26902
|
backgroundColor: "rgba(255, 255, 255, 0.5)",
|
|
@@ -26920,7 +27116,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
|
|
|
26920
27116
|
setHovered(false);
|
|
26921
27117
|
}, []);
|
|
26922
27118
|
const isFocused = keyboardSelectedRate === rate;
|
|
26923
|
-
const actualStyle =
|
|
27119
|
+
const actualStyle = useMemo52(() => {
|
|
26924
27120
|
return {
|
|
26925
27121
|
...rateDiv,
|
|
26926
27122
|
backgroundColor: hovered || isFocused ? "#eee" : "transparent"
|
|
@@ -26943,7 +27139,7 @@ var PlaybackrateOption = ({ rate, onSelect, selectedRate, keyboardSelectedRate }
|
|
|
26943
27139
|
}, rate);
|
|
26944
27140
|
};
|
|
26945
27141
|
var PlaybackPopup = ({ setIsComponentVisible, playbackRates, canvasSize }) => {
|
|
26946
|
-
const { setPlaybackRate, playbackRate } = Internals.
|
|
27142
|
+
const { setPlaybackRate, playbackRate } = Internals.usePlaybackRate();
|
|
26947
27143
|
const [keyboardSelectedRate, setKeyboardSelectedRate] = useState82(playbackRate);
|
|
26948
27144
|
useEffect92(() => {
|
|
26949
27145
|
const listener = (e) => {
|
|
@@ -26987,7 +27183,7 @@ var PlaybackPopup = ({ setIsComponentVisible, playbackRates, canvasSize }) => {
|
|
|
26987
27183
|
setPlaybackRate(rate);
|
|
26988
27184
|
setIsComponentVisible(false);
|
|
26989
27185
|
}, [setIsComponentVisible, setPlaybackRate]);
|
|
26990
|
-
const playbackPopup =
|
|
27186
|
+
const playbackPopup = useMemo52(() => {
|
|
26991
27187
|
return {
|
|
26992
27188
|
position: "absolute",
|
|
26993
27189
|
right: 0,
|
|
@@ -27045,7 +27241,7 @@ var button = {
|
|
|
27045
27241
|
};
|
|
27046
27242
|
var PlaybackrateControl = ({ playbackRates, canvasSize }) => {
|
|
27047
27243
|
const { ref, isComponentVisible, setIsComponentVisible } = useComponentVisible(false);
|
|
27048
|
-
const { playbackRate } = Internals.
|
|
27244
|
+
const { playbackRate } = Internals.usePlaybackRate();
|
|
27049
27245
|
const onClick = useCallback62((e) => {
|
|
27050
27246
|
e.stopPropagation();
|
|
27051
27247
|
e.preventDefault();
|
|
@@ -28162,6 +28358,7 @@ var PLAYER_COMP_ID = "player-comp";
|
|
|
28162
28358
|
var SharedPlayerContexts = ({
|
|
28163
28359
|
children,
|
|
28164
28360
|
timelineContext,
|
|
28361
|
+
playbackRateContext,
|
|
28165
28362
|
fps,
|
|
28166
28363
|
compositionHeight,
|
|
28167
28364
|
compositionWidth,
|
|
@@ -28262,23 +28459,26 @@ var SharedPlayerContexts = ({
|
|
|
28262
28459
|
children: /* @__PURE__ */ jsx133(Internals.CanUseRemotionHooksProvider, {
|
|
28263
28460
|
children: /* @__PURE__ */ jsx133(Internals.AbsoluteTimeContext.Provider, {
|
|
28264
28461
|
value: timelineContext,
|
|
28265
|
-
children: /* @__PURE__ */ jsx133(Internals.
|
|
28266
|
-
value:
|
|
28267
|
-
children: /* @__PURE__ */ jsx133(Internals.
|
|
28268
|
-
value:
|
|
28269
|
-
children: /* @__PURE__ */ jsx133(Internals.
|
|
28270
|
-
|
|
28271
|
-
|
|
28272
|
-
|
|
28273
|
-
children: /* @__PURE__ */ jsx133(Internals.
|
|
28274
|
-
value:
|
|
28275
|
-
children: /* @__PURE__ */ jsx133(Internals.
|
|
28276
|
-
|
|
28277
|
-
|
|
28278
|
-
|
|
28279
|
-
|
|
28280
|
-
|
|
28281
|
-
children
|
|
28462
|
+
children: /* @__PURE__ */ jsx133(Internals.PlaybackRateContext.Provider, {
|
|
28463
|
+
value: playbackRateContext,
|
|
28464
|
+
children: /* @__PURE__ */ jsx133(Internals.TimelineContext.Provider, {
|
|
28465
|
+
value: timelineContext,
|
|
28466
|
+
children: /* @__PURE__ */ jsx133(Internals.CompositionManager.Provider, {
|
|
28467
|
+
value: compositionManagerContext,
|
|
28468
|
+
children: /* @__PURE__ */ jsx133(Internals.PrefetchProvider, {
|
|
28469
|
+
children: /* @__PURE__ */ jsx133(Internals.DurationsContextProvider, {
|
|
28470
|
+
children: /* @__PURE__ */ jsx133(Internals.MediaVolumeContext.Provider, {
|
|
28471
|
+
value: mediaVolumeContextValue,
|
|
28472
|
+
children: /* @__PURE__ */ jsx133(Internals.SetMediaVolumeContext.Provider, {
|
|
28473
|
+
value: setMediaVolumeContextValue,
|
|
28474
|
+
children: /* @__PURE__ */ jsx133(Internals.BufferingProvider, {
|
|
28475
|
+
children: /* @__PURE__ */ jsx133(Internals.SharedAudioContextProvider, {
|
|
28476
|
+
audioLatencyHint,
|
|
28477
|
+
audioEnabled,
|
|
28478
|
+
children: /* @__PURE__ */ jsx133(Internals.SharedAudioTagsContextProvider, {
|
|
28479
|
+
numberOfAudioTags: numberOfSharedAudioTags,
|
|
28480
|
+
children
|
|
28481
|
+
})
|
|
28282
28482
|
})
|
|
28283
28483
|
})
|
|
28284
28484
|
})
|
|
@@ -28550,14 +28750,16 @@ var PlayerFn = ({
|
|
|
28550
28750
|
frame,
|
|
28551
28751
|
playing,
|
|
28552
28752
|
rootId,
|
|
28553
|
-
playbackRate: currentPlaybackRate,
|
|
28554
28753
|
imperativePlaying,
|
|
28555
|
-
setPlaybackRate: (rate) => {
|
|
28556
|
-
setCurrentPlaybackRate(rate);
|
|
28557
|
-
},
|
|
28558
28754
|
audioAndVideoTags
|
|
28559
28755
|
};
|
|
28560
|
-
}, [frame,
|
|
28756
|
+
}, [frame, playing, rootId]);
|
|
28757
|
+
const playbackRateContextValue = useMemo142(() => {
|
|
28758
|
+
return {
|
|
28759
|
+
playbackRate: currentPlaybackRate,
|
|
28760
|
+
setPlaybackRate: setCurrentPlaybackRate
|
|
28761
|
+
};
|
|
28762
|
+
}, [currentPlaybackRate]);
|
|
28561
28763
|
const setTimelineContextValue = useMemo142(() => {
|
|
28562
28764
|
return {
|
|
28563
28765
|
setFrame,
|
|
@@ -28578,6 +28780,7 @@ var PlayerFn = ({
|
|
|
28578
28780
|
return /* @__PURE__ */ jsx143(Internals.IsPlayerContextProvider, {
|
|
28579
28781
|
children: /* @__PURE__ */ jsx143(SharedPlayerContexts, {
|
|
28580
28782
|
timelineContext: timelineContextValue,
|
|
28783
|
+
playbackRateContext: playbackRateContextValue,
|
|
28581
28784
|
component,
|
|
28582
28785
|
compositionHeight,
|
|
28583
28786
|
compositionWidth,
|
|
@@ -28655,7 +28858,7 @@ var useThumbnail = () => {
|
|
|
28655
28858
|
}, [emitter]);
|
|
28656
28859
|
return returnValue;
|
|
28657
28860
|
};
|
|
28658
|
-
var reactVersion2 =
|
|
28861
|
+
var reactVersion2 = React133.version.split(".")[0];
|
|
28659
28862
|
if (reactVersion2 === "0") {
|
|
28660
28863
|
throw new Error(`Version ${reactVersion2} of "react" is not supported by Remotion`);
|
|
28661
28864
|
}
|
|
@@ -28809,14 +29012,18 @@ var ThumbnailFn = ({
|
|
|
28809
29012
|
imperativePlaying: {
|
|
28810
29013
|
current: false
|
|
28811
29014
|
},
|
|
28812
|
-
playbackRate: 1,
|
|
28813
|
-
setPlaybackRate: () => {
|
|
28814
|
-
throw new Error("thumbnail");
|
|
28815
|
-
},
|
|
28816
29015
|
audioAndVideoTags: { current: [] }
|
|
28817
29016
|
};
|
|
28818
29017
|
return value;
|
|
28819
29018
|
}, [frameToDisplay, thumbnailId]);
|
|
29019
|
+
const playbackRateContext = useMemo172(() => {
|
|
29020
|
+
return {
|
|
29021
|
+
playbackRate: 1,
|
|
29022
|
+
setPlaybackRate: () => {
|
|
29023
|
+
throw new Error("thumbnail");
|
|
29024
|
+
}
|
|
29025
|
+
};
|
|
29026
|
+
}, []);
|
|
28820
29027
|
useImperativeHandle42(ref, () => rootRef.current, []);
|
|
28821
29028
|
const Component = Internals.useLazyComponent({
|
|
28822
29029
|
compProps: componentProps,
|
|
@@ -28830,6 +29037,7 @@ var ThumbnailFn = ({
|
|
|
28830
29037
|
return /* @__PURE__ */ jsx163(Internals.IsPlayerContextProvider, {
|
|
28831
29038
|
children: /* @__PURE__ */ jsx163(SharedPlayerContexts, {
|
|
28832
29039
|
timelineContext: timelineState,
|
|
29040
|
+
playbackRateContext,
|
|
28833
29041
|
component: Component,
|
|
28834
29042
|
compositionHeight,
|
|
28835
29043
|
compositionWidth,
|
|
@@ -28865,7 +29073,7 @@ var Thumbnail = forward2(ThumbnailFn);
|
|
|
28865
29073
|
import {
|
|
28866
29074
|
useCallback as useCallback49,
|
|
28867
29075
|
useEffect as useEffect58,
|
|
28868
|
-
useMemo as
|
|
29076
|
+
useMemo as useMemo64,
|
|
28869
29077
|
useRef as useRef53,
|
|
28870
29078
|
useState as useState56
|
|
28871
29079
|
} from "react";
|
|
@@ -29616,7 +29824,7 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
|
|
|
29616
29824
|
var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
|
|
29617
29825
|
|
|
29618
29826
|
// src/components/homepage/layout/use-color-mode.tsx
|
|
29619
|
-
import React57, { useContext as useContext46, useMemo as
|
|
29827
|
+
import React57, { useContext as useContext46, useMemo as useMemo53 } from "react";
|
|
29620
29828
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
29621
29829
|
var Context = React57.createContext(undefined);
|
|
29622
29830
|
var ColorModeProvider = ({
|
|
@@ -29624,7 +29832,7 @@ var ColorModeProvider = ({
|
|
|
29624
29832
|
colorMode,
|
|
29625
29833
|
setColorMode
|
|
29626
29834
|
}) => {
|
|
29627
|
-
const value =
|
|
29835
|
+
const value = useMemo53(() => {
|
|
29628
29836
|
return { colorMode, setColorMode };
|
|
29629
29837
|
}, [colorMode, setColorMode]);
|
|
29630
29838
|
return /* @__PURE__ */ jsx57(Context.Provider, {
|
|
@@ -29642,8 +29850,8 @@ function useColorMode() {
|
|
|
29642
29850
|
|
|
29643
29851
|
// ../media/dist/esm/index.mjs
|
|
29644
29852
|
import { useState as useState312 } from "react";
|
|
29645
|
-
import { useMemo as
|
|
29646
|
-
import { useContext as useContext212, useEffect as useEffect44, useMemo as
|
|
29853
|
+
import { useMemo as useMemo311 } from "react";
|
|
29854
|
+
import { useContext as useContext212, useEffect as useEffect44, useMemo as useMemo55, useRef as useRef44, useState as useState41 } from "react";
|
|
29647
29855
|
import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
|
|
29648
29856
|
import { AudioBufferSink, InputDisposedError } from "mediabunny";
|
|
29649
29857
|
import { CanvasSink } from "mediabunny";
|
|
@@ -29676,7 +29884,7 @@ import { jsx as jsx412 } from "react/jsx-runtime";
|
|
|
29676
29884
|
import {
|
|
29677
29885
|
useContext as useContext53,
|
|
29678
29886
|
useLayoutEffect as useLayoutEffect43,
|
|
29679
|
-
useMemo as
|
|
29887
|
+
useMemo as useMemo54,
|
|
29680
29888
|
useRef as useRef312,
|
|
29681
29889
|
useState as useState53
|
|
29682
29890
|
} from "react";
|
|
@@ -30471,65 +30679,90 @@ var makeNonceManager = () => {
|
|
|
30471
30679
|
createAsyncOperation
|
|
30472
30680
|
};
|
|
30473
30681
|
};
|
|
30682
|
+
var BUFFER_SIZE = 3;
|
|
30474
30683
|
var canvasesAheadOfTime = (videoSink, startTimestamp) => {
|
|
30475
30684
|
const iterator = videoSink.canvases(startTimestamp);
|
|
30476
|
-
|
|
30477
|
-
let
|
|
30478
|
-
|
|
30479
|
-
|
|
30480
|
-
|
|
30481
|
-
|
|
30482
|
-
|
|
30685
|
+
const buffer = [];
|
|
30686
|
+
let chaining = false;
|
|
30687
|
+
let reachedEnd = false;
|
|
30688
|
+
let closed = false;
|
|
30689
|
+
let inFlight = null;
|
|
30690
|
+
const closeFrame = (frame) => {
|
|
30691
|
+
frame.close?.();
|
|
30692
|
+
};
|
|
30693
|
+
const fillNext = () => {
|
|
30694
|
+
if (chaining || reachedEnd || closed)
|
|
30695
|
+
return;
|
|
30696
|
+
if (buffer.length >= BUFFER_SIZE)
|
|
30697
|
+
return;
|
|
30698
|
+
chaining = true;
|
|
30699
|
+
const slot = { promise: iterator.next(), resolved: null };
|
|
30700
|
+
buffer.push(slot);
|
|
30701
|
+
inFlight = slot.promise.then((result) => {
|
|
30702
|
+
slot.resolved = result;
|
|
30703
|
+
chaining = false;
|
|
30704
|
+
inFlight = null;
|
|
30705
|
+
if (result.done) {
|
|
30706
|
+
reachedEnd = true;
|
|
30707
|
+
return;
|
|
30708
|
+
}
|
|
30709
|
+
if (closed) {
|
|
30710
|
+
closeFrame(result.value);
|
|
30711
|
+
return;
|
|
30483
30712
|
}
|
|
30713
|
+
fillNext();
|
|
30484
30714
|
}, () => {
|
|
30485
|
-
|
|
30715
|
+
chaining = false;
|
|
30716
|
+
inFlight = null;
|
|
30486
30717
|
});
|
|
30487
30718
|
};
|
|
30488
|
-
|
|
30489
|
-
const advance2 = () => {
|
|
30490
|
-
inFlight = iterator.next();
|
|
30491
|
-
resolved = null;
|
|
30492
|
-
trackResolution();
|
|
30493
|
-
};
|
|
30719
|
+
fillNext();
|
|
30494
30720
|
const next = () => {
|
|
30495
|
-
|
|
30496
|
-
|
|
30721
|
+
const slot = buffer.shift();
|
|
30722
|
+
fillNext();
|
|
30723
|
+
if (!slot) {
|
|
30724
|
+
if (reachedEnd || closed) {
|
|
30497
30725
|
return { type: "ready", frame: null };
|
|
30498
30726
|
}
|
|
30499
|
-
const
|
|
30500
|
-
|
|
30501
|
-
|
|
30727
|
+
const chain = inFlight;
|
|
30728
|
+
return {
|
|
30729
|
+
type: "pending",
|
|
30730
|
+
wait: async () => {
|
|
30731
|
+
await chain;
|
|
30732
|
+
const next2 = buffer.shift();
|
|
30733
|
+
fillNext();
|
|
30734
|
+
if (!next2)
|
|
30735
|
+
return null;
|
|
30736
|
+
if (next2.resolved) {
|
|
30737
|
+
return next2.resolved.done ? null : next2.resolved.value;
|
|
30738
|
+
}
|
|
30739
|
+
const result = await next2.promise;
|
|
30740
|
+
return result.done ? null : result.value;
|
|
30741
|
+
}
|
|
30742
|
+
};
|
|
30743
|
+
}
|
|
30744
|
+
if (slot.resolved) {
|
|
30745
|
+
if (slot.resolved.done) {
|
|
30746
|
+
return { type: "ready", frame: null };
|
|
30747
|
+
}
|
|
30748
|
+
return { type: "ready", frame: slot.resolved.value };
|
|
30502
30749
|
}
|
|
30503
|
-
const captured = inFlight;
|
|
30504
30750
|
return {
|
|
30505
30751
|
type: "pending",
|
|
30506
30752
|
wait: async () => {
|
|
30507
|
-
const result = await
|
|
30508
|
-
if (captured === inFlight && !result.done) {
|
|
30509
|
-
advance2();
|
|
30510
|
-
}
|
|
30753
|
+
const result = await slot.promise;
|
|
30511
30754
|
return result.done ? null : result.value;
|
|
30512
30755
|
}
|
|
30513
30756
|
};
|
|
30514
30757
|
};
|
|
30515
|
-
const closeFrame = (frame) => {
|
|
30516
|
-
frame.close?.();
|
|
30517
|
-
};
|
|
30518
30758
|
const closeIterator = async () => {
|
|
30519
|
-
|
|
30520
|
-
|
|
30521
|
-
|
|
30759
|
+
closed = true;
|
|
30760
|
+
for (const slot of buffer) {
|
|
30761
|
+
if (slot.resolved && !slot.resolved.done) {
|
|
30762
|
+
closeFrame(slot.resolved.value);
|
|
30522
30763
|
}
|
|
30523
|
-
} else {
|
|
30524
|
-
const captured = inFlight;
|
|
30525
|
-
captured.then((result) => {
|
|
30526
|
-
if (!result.done) {
|
|
30527
|
-
closeFrame(result.value);
|
|
30528
|
-
}
|
|
30529
|
-
}, () => {
|
|
30530
|
-
return;
|
|
30531
|
-
});
|
|
30532
30764
|
}
|
|
30765
|
+
buffer.length = 0;
|
|
30533
30766
|
await iterator.return();
|
|
30534
30767
|
};
|
|
30535
30768
|
return { next, closeIterator };
|
|
@@ -31555,8 +31788,7 @@ var AudioForPreviewAssertedShowing = ({
|
|
|
31555
31788
|
const [mediaPlayerReady, setMediaPlayerReady] = useState41(false);
|
|
31556
31789
|
const [shouldFallbackToNativeAudio, setShouldFallbackToNativeAudio] = useState41(false);
|
|
31557
31790
|
const [playing] = Timeline.usePlayingState();
|
|
31558
|
-
const
|
|
31559
|
-
const globalPlaybackRate = timelineContext.playbackRate;
|
|
31791
|
+
const { playbackRate: globalPlaybackRate } = Internals.usePlaybackRate();
|
|
31560
31792
|
const sharedAudioContext = useContext212(SharedAudioContext2);
|
|
31561
31793
|
const buffer = useBufferState();
|
|
31562
31794
|
const [mediaMuted] = useMediaMutedState2();
|
|
@@ -31807,7 +32039,7 @@ var AudioForPreview2 = ({
|
|
|
31807
32039
|
const frame = useCurrentFrame();
|
|
31808
32040
|
const videoConfig = useVideoConfig();
|
|
31809
32041
|
const currentTime = frame / videoConfig.fps;
|
|
31810
|
-
const showShow =
|
|
32042
|
+
const showShow = useMemo55(() => {
|
|
31811
32043
|
return getTimeInSeconds({
|
|
31812
32044
|
unloopedTimeInSeconds: currentTime,
|
|
31813
32045
|
playbackRate,
|
|
@@ -33895,7 +34127,7 @@ var AudioInner = (props) => {
|
|
|
33895
34127
|
loop: props.loop ?? false
|
|
33896
34128
|
});
|
|
33897
34129
|
const [mediaDurationInSeconds, setMediaDurationInSeconds] = useState312(null);
|
|
33898
|
-
const loopDisplay =
|
|
34130
|
+
const loopDisplay = useMemo311(() => getLoopDisplay({
|
|
33899
34131
|
loop: props.loop ?? false,
|
|
33900
34132
|
mediaDurationInSeconds,
|
|
33901
34133
|
playbackRate: props.playbackRate ?? 1,
|
|
@@ -33912,7 +34144,7 @@ var AudioInner = (props) => {
|
|
|
33912
34144
|
sequenceDurationInFrames,
|
|
33913
34145
|
videoConfig.fps
|
|
33914
34146
|
]);
|
|
33915
|
-
const isMedia =
|
|
34147
|
+
const isMedia = useMemo311(() => ({
|
|
33916
34148
|
type: "audio",
|
|
33917
34149
|
data: basicInfo
|
|
33918
34150
|
}), [basicInfo]);
|
|
@@ -34034,8 +34266,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
34034
34266
|
const [mediaPlayerReady, setMediaPlayerReady] = useState43(false);
|
|
34035
34267
|
const [shouldFallbackToNativeVideo, setShouldFallbackToNativeVideo] = useState43(false);
|
|
34036
34268
|
const [playing] = Timeline2.usePlayingState();
|
|
34037
|
-
const
|
|
34038
|
-
const globalPlaybackRate = timelineContext.playbackRate;
|
|
34269
|
+
const { playbackRate: globalPlaybackRate } = Internals.usePlaybackRate();
|
|
34039
34270
|
const sharedAudioContext = useContext47(SharedAudioContext22);
|
|
34040
34271
|
const buffer = useBufferState();
|
|
34041
34272
|
const [mediaMuted] = useMediaMutedState22();
|
|
@@ -34397,7 +34628,7 @@ var VideoForRendering2 = ({
|
|
|
34397
34628
|
const { registerRenderAsset, unregisterRenderAsset } = useContext53(Internals.RenderAssetManager);
|
|
34398
34629
|
const startsAt = Internals.useMediaStartsAt();
|
|
34399
34630
|
const sequenceContext = useContext53(Internals.SequenceContext);
|
|
34400
|
-
const id =
|
|
34631
|
+
const id = useMemo54(() => `media-video-${random(src)}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
34401
34632
|
src,
|
|
34402
34633
|
sequenceContext?.cumulatedFrom,
|
|
34403
34634
|
sequenceContext?.relativeFrom,
|
|
@@ -34590,10 +34821,10 @@ var VideoForRendering2 = ({
|
|
|
34590
34821
|
credentials
|
|
34591
34822
|
]);
|
|
34592
34823
|
warnAboutObjectFitInStyleOrClassName({ style: style2, className: className2, logLevel });
|
|
34593
|
-
const classNameValue =
|
|
34824
|
+
const classNameValue = useMemo54(() => {
|
|
34594
34825
|
return [Internals.OBJECTFIT_CONTAIN_CLASS_NAME, className2].filter(Internals.truthy).join(" ");
|
|
34595
34826
|
}, [className2]);
|
|
34596
|
-
const styleWithObjectFit =
|
|
34827
|
+
const styleWithObjectFit = useMemo54(() => {
|
|
34597
34828
|
return {
|
|
34598
34829
|
...style2,
|
|
34599
34830
|
objectFit: objectFitProp
|
|
@@ -34678,34 +34909,7 @@ var videoSchema = {
|
|
|
34678
34909
|
description: "Playback Rate"
|
|
34679
34910
|
},
|
|
34680
34911
|
loop: { type: "boolean", default: false, description: "Loop" },
|
|
34681
|
-
|
|
34682
|
-
type: "translate",
|
|
34683
|
-
step: 1,
|
|
34684
|
-
default: "0px 0px",
|
|
34685
|
-
description: "Position"
|
|
34686
|
-
},
|
|
34687
|
-
"style.scale": {
|
|
34688
|
-
type: "number",
|
|
34689
|
-
min: 0.05,
|
|
34690
|
-
max: 100,
|
|
34691
|
-
step: 0.01,
|
|
34692
|
-
default: 1,
|
|
34693
|
-
description: "Scale"
|
|
34694
|
-
},
|
|
34695
|
-
"style.rotate": {
|
|
34696
|
-
type: "rotation",
|
|
34697
|
-
step: 1,
|
|
34698
|
-
default: "0deg",
|
|
34699
|
-
description: "Rotation"
|
|
34700
|
-
},
|
|
34701
|
-
"style.opacity": {
|
|
34702
|
-
type: "number",
|
|
34703
|
-
min: 0,
|
|
34704
|
-
max: 1,
|
|
34705
|
-
step: 0.01,
|
|
34706
|
-
default: 1,
|
|
34707
|
-
description: "Opacity"
|
|
34708
|
-
}
|
|
34912
|
+
...Internals.sequenceStyleSchema
|
|
34709
34913
|
};
|
|
34710
34914
|
var InnerVideo = ({
|
|
34711
34915
|
src,
|
|
@@ -34934,7 +35138,7 @@ var Video = Internals.wrapInSchema(VideoInner, videoSchema);
|
|
|
34934
35138
|
Internals.addSequenceStackTraces(Video);
|
|
34935
35139
|
|
|
34936
35140
|
// src/components/homepage/Demo/Comp.tsx
|
|
34937
|
-
import { useCallback as useCallback41, useEffect as useEffect50, useMemo as
|
|
35141
|
+
import { useCallback as useCallback41, useEffect as useEffect50, useMemo as useMemo58, useState as useState48 } from "react";
|
|
34938
35142
|
|
|
34939
35143
|
// src/components/homepage/Demo/Cards.tsx
|
|
34940
35144
|
import {
|
|
@@ -35486,14 +35690,14 @@ var Lottie = ({
|
|
|
35486
35690
|
};
|
|
35487
35691
|
|
|
35488
35692
|
// src/components/homepage/Demo/DisplayedEmoji.tsx
|
|
35489
|
-
import { useEffect as useEffect47, useMemo as
|
|
35693
|
+
import { useEffect as useEffect47, useMemo as useMemo56, useState as useState46 } from "react";
|
|
35490
35694
|
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
35491
35695
|
var DisplayedEmoji = ({ emoji }) => {
|
|
35492
35696
|
const [data, setData] = useState46(null);
|
|
35493
35697
|
const { durationInFrames, fps } = useVideoConfig();
|
|
35494
35698
|
const [browser, setBrowser] = useState46(typeof document !== "undefined");
|
|
35495
35699
|
const { delayRender: delayRender2, continueRender, cancelRender: cancelRender2 } = useDelayRender();
|
|
35496
|
-
const src =
|
|
35700
|
+
const src = useMemo56(() => {
|
|
35497
35701
|
if (emoji === "melting") {
|
|
35498
35702
|
return "https://fonts.gstatic.com/s/e/notoemoji/latest/1fae0/lottie.json";
|
|
35499
35703
|
}
|
|
@@ -35920,7 +36124,7 @@ var Temperature = ({ theme, city, temperatureInCelsius }) => {
|
|
|
35920
36124
|
};
|
|
35921
36125
|
|
|
35922
36126
|
// src/components/homepage/Demo/TrendingRepos.tsx
|
|
35923
|
-
import { useMemo as
|
|
36127
|
+
import { useMemo as useMemo57 } from "react";
|
|
35924
36128
|
import { jsx as jsx80, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
35925
36129
|
var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
35926
36130
|
const frame = useCurrentFrame();
|
|
@@ -35933,7 +36137,7 @@ var TrendingRepoItem = ({ repo, theme, number }) => {
|
|
|
35933
36137
|
},
|
|
35934
36138
|
delay: number * 10 + 20
|
|
35935
36139
|
});
|
|
35936
|
-
const item =
|
|
36140
|
+
const item = useMemo57(() => {
|
|
35937
36141
|
return {
|
|
35938
36142
|
lineHeight: 1.1,
|
|
35939
36143
|
fontFamily: "GTPlanar",
|
|
@@ -36140,7 +36344,7 @@ var HomepageVideoComp = ({
|
|
|
36140
36344
|
setRerenders(rerenders + 1);
|
|
36141
36345
|
updateCardOrder(newIndices);
|
|
36142
36346
|
}, [rerenders, updateCardOrder]);
|
|
36143
|
-
const emoji =
|
|
36347
|
+
const emoji = useMemo58(() => {
|
|
36144
36348
|
if ((emojiIndex + 1e4 * 3) % 3 === 1) {
|
|
36145
36349
|
return "melting";
|
|
36146
36350
|
}
|
|
@@ -36149,7 +36353,7 @@ var HomepageVideoComp = ({
|
|
|
36149
36353
|
}
|
|
36150
36354
|
return "partying-face";
|
|
36151
36355
|
}, [emojiIndex]);
|
|
36152
|
-
const audioSrc =
|
|
36356
|
+
const audioSrc = useMemo58(() => {
|
|
36153
36357
|
if (emoji === "fire") {
|
|
36154
36358
|
return fireAudio;
|
|
36155
36359
|
}
|
|
@@ -36234,7 +36438,7 @@ import {
|
|
|
36234
36438
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
36235
36439
|
|
|
36236
36440
|
// ../core/dist/esm/version.mjs
|
|
36237
|
-
var VERSION2 = "4.0.
|
|
36441
|
+
var VERSION2 = "4.0.459";
|
|
36238
36442
|
|
|
36239
36443
|
// ../web-renderer/dist/esm/index.mjs
|
|
36240
36444
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -37568,7 +37772,7 @@ var turnSvgIntoDrawable = (svg) => {
|
|
|
37568
37772
|
svg.style.color = originalColor;
|
|
37569
37773
|
return new Promise((resolve, reject) => {
|
|
37570
37774
|
const image = new Image;
|
|
37571
|
-
const url = `data:image/svg+xml;
|
|
37775
|
+
const url = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgData)}`;
|
|
37572
37776
|
image.onload = function() {
|
|
37573
37777
|
resolve(image);
|
|
37574
37778
|
};
|
|
@@ -40970,7 +41174,7 @@ var Progress = ({ progress }) => {
|
|
|
40970
41174
|
};
|
|
40971
41175
|
|
|
40972
41176
|
// src/components/homepage/Demo/Spinner.tsx
|
|
40973
|
-
import { useMemo as
|
|
41177
|
+
import { useMemo as useMemo59 } from "react";
|
|
40974
41178
|
import { jsx as jsx95, jsxs as jsxs29, Fragment as Fragment14 } from "react/jsx-runtime";
|
|
40975
41179
|
var viewBox2 = 100;
|
|
40976
41180
|
var lines2 = 8;
|
|
@@ -40978,7 +41182,7 @@ var className2 = "__remotion_spinner_line";
|
|
|
40978
41182
|
var remotionSpinnerAnimation = "__remotion_spinner_animation";
|
|
40979
41183
|
var translated3 = "M 44 0 L 50 0 a 6 6 0 0 1 6 6 L 56 26 a 6 6 0 0 1 -6 6 L 50 32 a 6 6 0 0 1 -6 -6 L 44 6 a 6 6 0 0 1 6 -6 Z";
|
|
40980
41184
|
var Spinner2 = ({ size: size4, duration }) => {
|
|
40981
|
-
const style2 =
|
|
41185
|
+
const style2 = useMemo59(() => {
|
|
40982
41186
|
return {
|
|
40983
41187
|
width: size4,
|
|
40984
41188
|
height: size4
|
|
@@ -41240,13 +41444,13 @@ var DragAndDropNudge = () => {
|
|
|
41240
41444
|
};
|
|
41241
41445
|
|
|
41242
41446
|
// src/components/homepage/Demo/PlayerSeekBar.tsx
|
|
41243
|
-
import { useCallback as useCallback46, useEffect as useEffect53, useMemo as
|
|
41447
|
+
import { useCallback as useCallback46, useEffect as useEffect53, useMemo as useMemo61, useRef as useRef50, useState as useState51 } from "react";
|
|
41244
41448
|
|
|
41245
41449
|
// src/components/homepage/layout/use-el-size.ts
|
|
41246
|
-
import { useCallback as useCallback45, useEffect as useEffect51, useMemo as
|
|
41450
|
+
import { useCallback as useCallback45, useEffect as useEffect51, useMemo as useMemo60, useState as useState50 } from "react";
|
|
41247
41451
|
var useElementSize2 = (ref) => {
|
|
41248
41452
|
const [size4, setSize] = useState50(null);
|
|
41249
|
-
const observer =
|
|
41453
|
+
const observer = useMemo60(() => {
|
|
41250
41454
|
if (typeof ResizeObserver === "undefined") {
|
|
41251
41455
|
return;
|
|
41252
41456
|
}
|
|
@@ -41460,7 +41664,7 @@ var PlayerSeekBar2 = ({
|
|
|
41460
41664
|
body.removeEventListener("pointerup", onPointerUp);
|
|
41461
41665
|
};
|
|
41462
41666
|
}, [dragging.dragging, onPointerMove, onPointerUp]);
|
|
41463
|
-
const knobStyle =
|
|
41667
|
+
const knobStyle = useMemo61(() => {
|
|
41464
41668
|
return {
|
|
41465
41669
|
height: KNOB_SIZE3,
|
|
41466
41670
|
width: KNOB_SIZE3,
|
|
@@ -41474,7 +41678,7 @@ var PlayerSeekBar2 = ({
|
|
|
41474
41678
|
transition: "opacity 0.s ease"
|
|
41475
41679
|
};
|
|
41476
41680
|
}, [barHovered, durationInFrames, frame, width2]);
|
|
41477
|
-
const fillStyle =
|
|
41681
|
+
const fillStyle = useMemo61(() => {
|
|
41478
41682
|
return {
|
|
41479
41683
|
height: BAR_HEIGHT3,
|
|
41480
41684
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -41483,7 +41687,7 @@ var PlayerSeekBar2 = ({
|
|
|
41483
41687
|
borderRadius: BAR_HEIGHT3 / 2
|
|
41484
41688
|
};
|
|
41485
41689
|
}, [durationInFrames, frame, inFrame]);
|
|
41486
|
-
const active =
|
|
41690
|
+
const active = useMemo61(() => {
|
|
41487
41691
|
return {
|
|
41488
41692
|
height: BAR_HEIGHT3,
|
|
41489
41693
|
backgroundColor: "var(--ifm-font-color-base)",
|
|
@@ -41896,7 +42100,7 @@ var Demo = () => {
|
|
|
41896
42100
|
const updateCardOrder = useCallback49((newCardOrder) => {
|
|
41897
42101
|
setCardOrder(newCardOrder);
|
|
41898
42102
|
}, []);
|
|
41899
|
-
const props =
|
|
42103
|
+
const props = useMemo64(() => {
|
|
41900
42104
|
return {
|
|
41901
42105
|
theme: colorMode,
|
|
41902
42106
|
onToggle: () => {
|