@remotion/studio 4.0.403 → 4.0.405

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.
@@ -34,7 +34,7 @@ import { Internals as Internals65 } from "remotion";
34
34
 
35
35
  // src/components/Editor.tsx
36
36
  import { PlayerInternals as PlayerInternals19 } from "@remotion/player";
37
- import React178, { useCallback as useCallback135, useEffect as useEffect82, useMemo as useMemo137 } from "react";
37
+ import React178, { useCallback as useCallback135, useEffect as useEffect83, useMemo as useMemo136 } from "react";
38
38
  import { Internals as Internals61 } from "remotion";
39
39
 
40
40
  // src/helpers/colors.ts
@@ -42616,7 +42616,7 @@ import {
42616
42616
  renderMediaOnWeb,
42617
42617
  renderStillOnWeb
42618
42618
  } from "@remotion/web-renderer";
42619
- import { useCallback as useCallback131, useContext as useContext82, useMemo as useMemo134, useState as useState84 } from "react";
42619
+ import { useCallback as useCallback131, useContext as useContext82, useMemo as useMemo133, useState as useState85 } from "react";
42620
42620
 
42621
42621
  // src/icons/certificate.tsx
42622
42622
  import { jsx as jsx257 } from "react/jsx-runtime";
@@ -43324,8 +43324,119 @@ var WebRenderModalBasic = ({
43324
43324
  };
43325
43325
 
43326
43326
  // src/components/RenderModal/WebRenderModalLicense.tsx
43327
- import { useCallback as useCallback129, useMemo as useMemo132 } from "react";
43328
- import { jsx as jsx263, jsxs as jsxs139, Fragment as Fragment47 } from "react/jsx-runtime";
43327
+ import { useCallback as useCallback129, useEffect as useEffect81, useState as useState84 } from "react";
43328
+
43329
+ // src/icons/check-circle-filled.tsx
43330
+ import { jsx as jsx263 } from "react/jsx-runtime";
43331
+ var CheckCircleFilled = (props) => /* @__PURE__ */ jsx263("svg", {
43332
+ xmlns: "http://www.w3.org/2000/svg",
43333
+ style: { width: 14, height: 14 },
43334
+ viewBox: "0 0 512 512",
43335
+ ...props,
43336
+ children: /* @__PURE__ */ jsx263("path", {
43337
+ d: "M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zM374 145.7c-10.7-7.8-25.7-5.4-33.5 5.3L221.1 315.2 169 263.1c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c5 5 11.8 7.5 18.8 7s13.4-4.1 17.5-9.8L379.3 179.2c7.8-10.7 5.4-25.7-5.3-33.5z"
43338
+ })
43339
+ });
43340
+
43341
+ // src/components/RenderModal/WebRenderModalLicenseKeyDetails.tsx
43342
+ import { jsx as jsx264, jsxs as jsxs139 } from "react/jsx-runtime";
43343
+ var textStyle2 = {
43344
+ color: LIGHT_TEXT,
43345
+ fontSize: 14,
43346
+ fontFamily: "sans-serif",
43347
+ lineHeight: 1.5,
43348
+ display: "flex",
43349
+ alignItems: "center"
43350
+ };
43351
+ var linkStyle = {
43352
+ fontSize: 14,
43353
+ fontFamily: "sans-serif",
43354
+ lineHeight: 1.5,
43355
+ cursor: "pointer"
43356
+ };
43357
+ var bulletStyle = {
43358
+ display: "flex",
43359
+ alignItems: "center",
43360
+ gap: 6
43361
+ };
43362
+ var icon8 = {
43363
+ width: 14,
43364
+ height: 14,
43365
+ flexShrink: 0
43366
+ };
43367
+ var PRO_HOST = "https://remotion.pro";
43368
+ var fetchLicenseKeyDetails = async (licenseKey) => {
43369
+ const response = await fetch(`${PRO_HOST}/api/validate-license-key`, {
43370
+ method: "POST",
43371
+ body: JSON.stringify({
43372
+ licenseKey
43373
+ }),
43374
+ headers: {
43375
+ "Content-Type": "application/json"
43376
+ }
43377
+ });
43378
+ return response.json();
43379
+ };
43380
+ var WebRenderModalLicenseKeyDetails = ({ details }) => {
43381
+ return /* @__PURE__ */ jsxs139("div", {
43382
+ children: [
43383
+ /* @__PURE__ */ jsxs139("div", {
43384
+ style: bulletStyle,
43385
+ children: [
43386
+ /* @__PURE__ */ jsx264(CheckCircleFilled, {
43387
+ style: { ...icon8, fill: LIGHT_TEXT }
43388
+ }),
43389
+ /* @__PURE__ */ jsxs139("div", {
43390
+ style: textStyle2,
43391
+ children: [
43392
+ "Belongs to ",
43393
+ /* @__PURE__ */ jsx264("a", {
43394
+ href: `${PRO_HOST}/projects/${details.projectSlug}`,
43395
+ target: "_blank",
43396
+ style: linkStyle,
43397
+ children: details.projectName
43398
+ }),
43399
+ " - ",
43400
+ /* @__PURE__ */ jsx264("a", {
43401
+ href: `${PRO_HOST}/projects/${details.projectSlug}/usage#client-renders-usage`,
43402
+ target: "_blank",
43403
+ style: linkStyle,
43404
+ children: "View usage"
43405
+ })
43406
+ ]
43407
+ })
43408
+ ]
43409
+ }),
43410
+ details.hasActiveSubscription ? /* @__PURE__ */ jsxs139("div", {
43411
+ style: bulletStyle,
43412
+ children: [
43413
+ /* @__PURE__ */ jsx264(CheckCircleFilled, {
43414
+ style: { ...icon8, fill: LIGHT_TEXT }
43415
+ }),
43416
+ /* @__PURE__ */ jsx264("div", {
43417
+ style: textStyle2,
43418
+ children: "Active Company License"
43419
+ })
43420
+ ]
43421
+ }) : /* @__PURE__ */ jsxs139("div", {
43422
+ style: bulletStyle,
43423
+ children: [
43424
+ /* @__PURE__ */ jsx264(WarningTriangle, {
43425
+ type: "warning",
43426
+ style: { ...icon8, fill: WARNING_COLOR }
43427
+ }),
43428
+ /* @__PURE__ */ jsx264("div", {
43429
+ style: textStyle2,
43430
+ children: "No active Company License"
43431
+ })
43432
+ ]
43433
+ })
43434
+ ]
43435
+ });
43436
+ };
43437
+
43438
+ // src/components/RenderModal/WebRenderModalLicense.tsx
43439
+ import { jsx as jsx265, jsxs as jsxs140, Fragment as Fragment47 } from "react/jsx-runtime";
43329
43440
  var row9 = {
43330
43441
  display: "flex",
43331
43442
  flexDirection: "row",
@@ -43402,34 +43513,73 @@ var LICENSE_KEY_LENGTH = 55;
43402
43513
  var LICENSE_KEY_PREFIX = "rm_pub_";
43403
43514
  var validateLicenseKey = (key5) => {
43404
43515
  if (key5.length === 0) {
43405
- return { valid: false, message: null };
43516
+ return { valid: false, message: null, details: null };
43406
43517
  }
43407
43518
  if (!key5.startsWith(LICENSE_KEY_PREFIX)) {
43408
43519
  return {
43409
43520
  valid: false,
43410
- message: `License key must start with "${LICENSE_KEY_PREFIX}"`
43521
+ message: `License key must start with "${LICENSE_KEY_PREFIX}"`,
43522
+ details: null
43411
43523
  };
43412
43524
  }
43413
43525
  const afterPrefix = key5.slice(LICENSE_KEY_PREFIX.length);
43414
43526
  if (!/^[a-zA-Z0-9]*$/.test(afterPrefix)) {
43415
43527
  return {
43416
43528
  valid: false,
43417
- message: "License key must contain only alphanumeric characters after the prefix"
43529
+ message: "License key must contain only alphanumeric characters after the prefix",
43530
+ details: null
43418
43531
  };
43419
43532
  }
43420
43533
  if (key5.length !== LICENSE_KEY_LENGTH) {
43421
43534
  return {
43422
43535
  valid: false,
43423
- message: `License key must be ${LICENSE_KEY_LENGTH} characters long`
43536
+ message: `License key must be ${LICENSE_KEY_LENGTH} characters long`,
43537
+ details: null
43424
43538
  };
43425
43539
  }
43426
- return { valid: true, message: null };
43540
+ return { valid: true, message: null, details: null };
43427
43541
  };
43428
43542
  var WebRenderModalLicense = ({
43429
43543
  licenseKey,
43430
43544
  setLicenseKey,
43431
43545
  initialPublicLicenseKey
43432
43546
  }) => {
43547
+ const [licenseValidation, setLicenseValidation] = useState84({ valid: true, message: null, details: null });
43548
+ const [isLoading, setIsLoading] = useState84(false);
43549
+ useEffect81(() => {
43550
+ if (licenseKey === null || licenseKey === "free-license") {
43551
+ return setLicenseValidation({
43552
+ valid: true,
43553
+ message: null,
43554
+ details: null
43555
+ });
43556
+ }
43557
+ const validation = validateLicenseKey(licenseKey);
43558
+ if (!validation.valid) {
43559
+ return setLicenseValidation(validation);
43560
+ }
43561
+ setLicenseValidation({ valid: true, message: null, details: null });
43562
+ setIsLoading(true);
43563
+ fetchLicenseKeyDetails(licenseKey).then((details) => {
43564
+ setIsLoading(false);
43565
+ if (details.isValid) {
43566
+ setLicenseValidation({ valid: true, message: null, details });
43567
+ } else {
43568
+ setLicenseValidation({
43569
+ valid: false,
43570
+ message: "License key is invalid or has been reset",
43571
+ details: null
43572
+ });
43573
+ }
43574
+ }).catch(() => {
43575
+ setIsLoading(false);
43576
+ setLicenseValidation({
43577
+ valid: false,
43578
+ message: "Failed to fetch license key details",
43579
+ details: null
43580
+ });
43581
+ });
43582
+ }, [licenseKey]);
43433
43583
  const onFreeLicenseChange = useCallback129(() => {
43434
43584
  setLicenseKey("free-license");
43435
43585
  }, [setLicenseKey]);
@@ -43439,21 +43589,15 @@ var WebRenderModalLicense = ({
43439
43589
  const onLicenseKeyChange = useCallback129((e) => {
43440
43590
  setLicenseKey(e.target.value);
43441
43591
  }, [setLicenseKey]);
43442
- const licenseValidation = useMemo132(() => {
43443
- if (licenseKey === null || licenseKey === "free-license") {
43444
- return { valid: true, message: null };
43445
- }
43446
- return validateLicenseKey(licenseKey);
43447
- }, [licenseKey]);
43448
- return /* @__PURE__ */ jsxs139("div", {
43592
+ return /* @__PURE__ */ jsxs140("div", {
43449
43593
  style: tabContainer3,
43450
43594
  children: [
43451
- /* @__PURE__ */ jsxs139("div", {
43595
+ /* @__PURE__ */ jsxs140("div", {
43452
43596
  style: descriptionStyle,
43453
43597
  children: [
43454
43598
  "Remotion is free if you are an individual or company with a headcount of 3 or less. See",
43455
43599
  " ",
43456
- /* @__PURE__ */ jsx263("a", {
43600
+ /* @__PURE__ */ jsx265("a", {
43457
43601
  style: descriptionLink,
43458
43602
  href: "https://remotion.dev/license",
43459
43603
  children: "LICENSE.md"
@@ -43461,18 +43605,18 @@ var WebRenderModalLicense = ({
43461
43605
  "."
43462
43606
  ]
43463
43607
  }),
43464
- /* @__PURE__ */ jsx263("div", {
43608
+ /* @__PURE__ */ jsx265("div", {
43465
43609
  style: row9,
43466
- children: /* @__PURE__ */ jsxs139("div", {
43610
+ children: /* @__PURE__ */ jsxs140("div", {
43467
43611
  style: justifyCenter,
43468
43612
  children: [
43469
- /* @__PURE__ */ jsx263(Checkbox, {
43613
+ /* @__PURE__ */ jsx265(Checkbox, {
43470
43614
  checked: licenseKey === "free-license",
43471
43615
  onChange: onFreeLicenseChange,
43472
43616
  name: "free-license",
43473
43617
  rounded: true
43474
43618
  }),
43475
- /* @__PURE__ */ jsxs139("div", {
43619
+ /* @__PURE__ */ jsxs140("div", {
43476
43620
  style: checkboxLabel,
43477
43621
  onClick: onFreeLicenseChange,
43478
43622
  children: [
@@ -43484,34 +43628,34 @@ var WebRenderModalLicense = ({
43484
43628
  ]
43485
43629
  })
43486
43630
  }),
43487
- licenseKey === "free-license" ? /* @__PURE__ */ jsxs139("div", {
43631
+ licenseKey === "free-license" ? /* @__PURE__ */ jsxs140("div", {
43488
43632
  style: paddedDescriptionStyle,
43489
43633
  children: [
43490
43634
  "Enjoy Remotion! Add the following to",
43491
43635
  " ",
43492
- /* @__PURE__ */ jsx263("code", {
43636
+ /* @__PURE__ */ jsx265("code", {
43493
43637
  style: codeStyle,
43494
43638
  children: "remotion.config.ts"
43495
43639
  }),
43496
43640
  " to persist this setting:",
43497
- /* @__PURE__ */ jsx263("div", {
43641
+ /* @__PURE__ */ jsx265("div", {
43498
43642
  style: codeLine,
43499
43643
  children: "Config.setPublicLicenseKey('free-license');"
43500
43644
  })
43501
43645
  ]
43502
43646
  }) : null,
43503
- /* @__PURE__ */ jsx263("div", {
43647
+ /* @__PURE__ */ jsx265("div", {
43504
43648
  style: row9,
43505
- children: /* @__PURE__ */ jsxs139("div", {
43649
+ children: /* @__PURE__ */ jsxs140("div", {
43506
43650
  style: justifyCenter,
43507
43651
  children: [
43508
- /* @__PURE__ */ jsx263(Checkbox, {
43652
+ /* @__PURE__ */ jsx265(Checkbox, {
43509
43653
  checked: licenseKey !== "free-license" && licenseKey !== null,
43510
43654
  onChange: onCompanyLicenseChange,
43511
43655
  name: "company-license",
43512
43656
  rounded: true
43513
43657
  }),
43514
- /* @__PURE__ */ jsx263("div", {
43658
+ /* @__PURE__ */ jsx265("div", {
43515
43659
  style: checkboxLabel,
43516
43660
  onClick: onCompanyLicenseChange,
43517
43661
  children: "I have a Company License"
@@ -43519,12 +43663,12 @@ var WebRenderModalLicense = ({
43519
43663
  ]
43520
43664
  })
43521
43665
  }),
43522
- licenseKey !== "free-license" && licenseKey !== null ? /* @__PURE__ */ jsxs139("div", {
43666
+ licenseKey !== "free-license" && licenseKey !== null ? /* @__PURE__ */ jsxs140("div", {
43523
43667
  style: paddedDescriptionStyle,
43524
43668
  children: [
43525
43669
  "Add your public license from",
43526
43670
  " ",
43527
- /* @__PURE__ */ jsx263("a", {
43671
+ /* @__PURE__ */ jsx265("a", {
43528
43672
  href: "https://remotion.pro/dashboard",
43529
43673
  target: "_blank",
43530
43674
  style: descriptionLink,
@@ -43532,11 +43676,11 @@ var WebRenderModalLicense = ({
43532
43676
  }),
43533
43677
  " ",
43534
43678
  "key below.",
43535
- /* @__PURE__ */ jsx263(Spacing, {
43679
+ /* @__PURE__ */ jsx265(Spacing, {
43536
43680
  y: 1,
43537
43681
  block: true
43538
43682
  }),
43539
- /* @__PURE__ */ jsx263(RemotionInput, {
43683
+ /* @__PURE__ */ jsx265(RemotionInput, {
43540
43684
  value: licenseKey,
43541
43685
  onChange: onLicenseKeyChange,
43542
43686
  placeholder: "remotion.pro public license key (starts with rm_pub_)",
@@ -43545,46 +43689,66 @@ var WebRenderModalLicense = ({
43545
43689
  style: inputStyle2,
43546
43690
  autoFocus: true
43547
43691
  }),
43548
- licenseValidation.message ? /* @__PURE__ */ jsxs139(Fragment47, {
43692
+ licenseValidation.message ? /* @__PURE__ */ jsxs140(Fragment47, {
43549
43693
  children: [
43550
- /* @__PURE__ */ jsx263(Spacing, {
43694
+ /* @__PURE__ */ jsx265(Spacing, {
43551
43695
  y: 1,
43552
43696
  block: true
43553
43697
  }),
43554
- /* @__PURE__ */ jsx263(ValidationMessage, {
43698
+ /* @__PURE__ */ jsx265(ValidationMessage, {
43555
43699
  message: licenseValidation.message,
43556
43700
  align: "flex-start",
43557
43701
  type: "error"
43558
43702
  })
43559
43703
  ]
43560
43704
  }) : null,
43561
- licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs139(Fragment47, {
43705
+ licenseValidation.valid && licenseKey.length > 0 ? /* @__PURE__ */ jsxs140(Fragment47, {
43562
43706
  children: [
43563
- /* @__PURE__ */ jsx263(Spacing, {
43707
+ /* @__PURE__ */ jsx265(Spacing, {
43564
43708
  y: 1,
43565
43709
  block: true
43566
43710
  }),
43567
43711
  "Add the following to",
43568
43712
  " ",
43569
- /* @__PURE__ */ jsx263("code", {
43713
+ /* @__PURE__ */ jsx265("code", {
43570
43714
  style: codeStyle,
43571
43715
  children: "remotion.config.ts"
43572
43716
  }),
43573
43717
  " to persist this setting:",
43574
- /* @__PURE__ */ jsx263("div", {
43718
+ /* @__PURE__ */ jsx265("div", {
43575
43719
  style: codeLineSmall,
43576
43720
  children: "Config.setPublicLicenseKey('" + licenseKey + "');"
43577
43721
  })
43578
43722
  ]
43579
- }) : null
43723
+ }) : null,
43724
+ isLoading && /* @__PURE__ */ jsxs140(Fragment47, {
43725
+ children: [
43726
+ /* @__PURE__ */ jsx265(Spacing, {
43727
+ y: 1,
43728
+ block: true
43729
+ }),
43730
+ "Loading license key details..."
43731
+ ]
43732
+ }),
43733
+ licenseValidation.details && /* @__PURE__ */ jsxs140(Fragment47, {
43734
+ children: [
43735
+ /* @__PURE__ */ jsx265(Spacing, {
43736
+ y: 1,
43737
+ block: true
43738
+ }),
43739
+ /* @__PURE__ */ jsx265(WebRenderModalLicenseKeyDetails, {
43740
+ details: licenseValidation.details
43741
+ })
43742
+ ]
43743
+ })
43580
43744
  ]
43581
43745
  }) : null,
43582
- licenseKey === null ? /* @__PURE__ */ jsxs139("div", {
43746
+ licenseKey === null ? /* @__PURE__ */ jsxs140("div", {
43583
43747
  style: descriptionStyle,
43584
43748
  children: [
43585
43749
  "If you are not eligible for the free license, you need to obtain a",
43586
43750
  " ",
43587
- /* @__PURE__ */ jsx263("a", {
43751
+ /* @__PURE__ */ jsx265("a", {
43588
43752
  style: descriptionLink,
43589
43753
  target: "_blank",
43590
43754
  href: "https://remotion.pro/license",
@@ -43598,8 +43762,8 @@ var WebRenderModalLicense = ({
43598
43762
  };
43599
43763
 
43600
43764
  // src/components/RenderModal/WebRenderModalPicture.tsx
43601
- import { useCallback as useCallback130, useMemo as useMemo133 } from "react";
43602
- import { jsx as jsx264, jsxs as jsxs140 } from "react/jsx-runtime";
43765
+ import { useCallback as useCallback130, useMemo as useMemo132 } from "react";
43766
+ import { jsx as jsx266, jsxs as jsxs141 } from "react/jsx-runtime";
43603
43767
  var tabContainer4 = {
43604
43768
  flex: 1
43605
43769
  };
@@ -43612,26 +43776,26 @@ var WebRenderModalPicture = ({
43612
43776
  transparent,
43613
43777
  setTransparent
43614
43778
  }) => {
43615
- const qualityOptions = useMemo133(() => getQualityOptions(videoBitrate, setVideoBitrate), [videoBitrate, setVideoBitrate]);
43779
+ const qualityOptions = useMemo132(() => getQualityOptions(videoBitrate, setVideoBitrate), [videoBitrate, setVideoBitrate]);
43616
43780
  const onTransparentChanged = useCallback130((e) => {
43617
43781
  setTransparent(e.target.checked);
43618
43782
  }, [setTransparent]);
43619
43783
  if (renderMode !== "video") {
43620
43784
  return null;
43621
43785
  }
43622
- return /* @__PURE__ */ jsxs140("div", {
43786
+ return /* @__PURE__ */ jsxs141("div", {
43623
43787
  style: tabContainer4,
43624
43788
  children: [
43625
- /* @__PURE__ */ jsxs140("div", {
43789
+ /* @__PURE__ */ jsxs141("div", {
43626
43790
  style: optionRow,
43627
43791
  children: [
43628
- /* @__PURE__ */ jsx264("div", {
43792
+ /* @__PURE__ */ jsx266("div", {
43629
43793
  style: label5,
43630
43794
  children: "Quality"
43631
43795
  }),
43632
- /* @__PURE__ */ jsx264("div", {
43796
+ /* @__PURE__ */ jsx266("div", {
43633
43797
  style: rightRow,
43634
- children: /* @__PURE__ */ jsx264(Combobox, {
43798
+ children: /* @__PURE__ */ jsx266(Combobox, {
43635
43799
  values: qualityOptions,
43636
43800
  selectedId: videoBitrate,
43637
43801
  title: "Quality"
@@ -43639,7 +43803,7 @@ var WebRenderModalPicture = ({
43639
43803
  })
43640
43804
  ]
43641
43805
  }),
43642
- /* @__PURE__ */ jsx264(NumberSetting, {
43806
+ /* @__PURE__ */ jsx266(NumberSetting, {
43643
43807
  name: "Keyframe Interval",
43644
43808
  formatter: (v) => `${v}s`,
43645
43809
  min: 1,
@@ -43648,16 +43812,16 @@ var WebRenderModalPicture = ({
43648
43812
  value: keyframeIntervalInSeconds,
43649
43813
  onValueChanged: setKeyframeIntervalInSeconds
43650
43814
  }),
43651
- /* @__PURE__ */ jsxs140("div", {
43815
+ /* @__PURE__ */ jsxs141("div", {
43652
43816
  style: optionRow,
43653
43817
  children: [
43654
- /* @__PURE__ */ jsx264("div", {
43818
+ /* @__PURE__ */ jsx266("div", {
43655
43819
  style: label5,
43656
43820
  children: "Transparent"
43657
43821
  }),
43658
- /* @__PURE__ */ jsx264("div", {
43822
+ /* @__PURE__ */ jsx266("div", {
43659
43823
  style: rightRow,
43660
- children: /* @__PURE__ */ jsx264(Checkbox, {
43824
+ children: /* @__PURE__ */ jsx266(Checkbox, {
43661
43825
  checked: transparent,
43662
43826
  onChange: onTransparentChanged,
43663
43827
  name: "transparent"
@@ -43670,7 +43834,7 @@ var WebRenderModalPicture = ({
43670
43834
  };
43671
43835
 
43672
43836
  // src/components/RenderModal/WebRenderModal.tsx
43673
- import { jsx as jsx265, jsxs as jsxs141 } from "react/jsx-runtime";
43837
+ import { jsx as jsx267, jsxs as jsxs142 } from "react/jsx-runtime";
43674
43838
  var invalidCharacters2 = ["?", "*", "+", ":", "%"];
43675
43839
  var isValidStillExtension2 = (extension, stillImageFormat) => {
43676
43840
  if (stillImageFormat === "jpeg" && extension === "jpg") {
@@ -43730,64 +43894,64 @@ var WebRenderModal = ({
43730
43894
  resolved: { result: resolvedComposition },
43731
43895
  unresolved: unresolvedComposition
43732
43896
  } = context;
43733
- const [isVideo] = useState84(() => {
43897
+ const [isVideo] = useState85(() => {
43734
43898
  return typeof resolvedComposition.durationInFrames === "undefined" ? true : resolvedComposition.durationInFrames > 1;
43735
43899
  });
43736
- const [renderMode, setRenderMode] = useState84(isVideo ? "video" : "still");
43737
- const [tab, setTab] = useState84("general");
43738
- const [imageFormat, setImageFormat] = useState84("png");
43739
- const [frame2, setFrame] = useState84(() => initialFrame);
43740
- const [logLevel, setLogLevel] = useState84(() => initialLogLevel);
43741
- const [inputProps, setInputProps] = useState84(() => defaultProps);
43742
- const [delayRenderTimeout, setDelayRenderTimeout] = useState84(30000);
43743
- const [mediaCacheSizeInBytes, setMediaCacheSizeInBytes] = useState84(null);
43744
- const [saving, setSaving] = useState84(false);
43745
- const [codec, setCodec] = useState84("h264");
43746
- const [container61, setContainer] = useState84("mp4");
43747
- const [audioCodec, setAudioCodec] = useState84("aac");
43748
- const [audioBitrate, setAudioBitrate] = useState84("medium");
43749
- const [videoBitrate, setVideoBitrate] = useState84("high");
43750
- const [hardwareAcceleration, setHardwareAcceleration] = useState84("no-preference");
43751
- const [keyframeIntervalInSeconds, setKeyframeIntervalInSeconds] = useState84(5);
43752
- const [startFrame, setStartFrame] = useState84(() => inFrameMark ?? null);
43753
- const [endFrame, setEndFrame] = useState84(() => outFrameMark ?? null);
43754
- const [renderProgress, setRenderProgress] = useState84(null);
43755
- const [transparent, setTransparent] = useState84(false);
43756
- const [muted, setMuted] = useState84(false);
43757
- const [licenseKey, setLicenseKey] = useState84(initialLicenseKey);
43900
+ const [renderMode, setRenderMode] = useState85(isVideo ? "video" : "still");
43901
+ const [tab, setTab] = useState85("general");
43902
+ const [imageFormat, setImageFormat] = useState85("png");
43903
+ const [frame2, setFrame] = useState85(() => initialFrame);
43904
+ const [logLevel, setLogLevel] = useState85(() => initialLogLevel);
43905
+ const [inputProps, setInputProps] = useState85(() => defaultProps);
43906
+ const [delayRenderTimeout, setDelayRenderTimeout] = useState85(30000);
43907
+ const [mediaCacheSizeInBytes, setMediaCacheSizeInBytes] = useState85(null);
43908
+ const [saving, setSaving] = useState85(false);
43909
+ const [codec, setCodec] = useState85("h264");
43910
+ const [container61, setContainer] = useState85("mp4");
43911
+ const [audioCodec, setAudioCodec] = useState85("aac");
43912
+ const [audioBitrate, setAudioBitrate] = useState85("medium");
43913
+ const [videoBitrate, setVideoBitrate] = useState85("high");
43914
+ const [hardwareAcceleration, setHardwareAcceleration] = useState85("no-preference");
43915
+ const [keyframeIntervalInSeconds, setKeyframeIntervalInSeconds] = useState85(5);
43916
+ const [startFrame, setStartFrame] = useState85(() => inFrameMark ?? null);
43917
+ const [endFrame, setEndFrame] = useState85(() => outFrameMark ?? null);
43918
+ const [renderProgress, setRenderProgress] = useState85(null);
43919
+ const [transparent, setTransparent] = useState85(false);
43920
+ const [muted, setMuted] = useState85(false);
43921
+ const [licenseKey, setLicenseKey] = useState85(initialLicenseKey);
43758
43922
  const encodableAudioCodecs = useEncodableAudioCodecs(container61);
43759
43923
  const encodableVideoCodecs = useEncodableVideoCodecs(container61);
43760
- const effectiveAudioCodec = useMemo134(() => {
43924
+ const effectiveAudioCodec = useMemo133(() => {
43761
43925
  if (encodableAudioCodecs.includes(audioCodec)) {
43762
43926
  return audioCodec;
43763
43927
  }
43764
43928
  return encodableAudioCodecs[0] ?? audioCodec;
43765
43929
  }, [audioCodec, encodableAudioCodecs]);
43766
- const effectiveVideoCodec = useMemo134(() => {
43930
+ const effectiveVideoCodec = useMemo133(() => {
43767
43931
  if (encodableVideoCodecs.includes(codec)) {
43768
43932
  return codec;
43769
43933
  }
43770
43934
  return encodableVideoCodecs[0] ?? codec;
43771
43935
  }, [codec, encodableVideoCodecs]);
43772
- const finalEndFrame = useMemo134(() => {
43936
+ const finalEndFrame = useMemo133(() => {
43773
43937
  if (endFrame === null) {
43774
43938
  return resolvedComposition.durationInFrames - 1;
43775
43939
  }
43776
43940
  return Math.max(0, Math.min(resolvedComposition.durationInFrames - 1, endFrame));
43777
43941
  }, [endFrame, resolvedComposition.durationInFrames]);
43778
- const finalStartFrame = useMemo134(() => {
43942
+ const finalStartFrame = useMemo133(() => {
43779
43943
  if (startFrame === null) {
43780
43944
  return 0;
43781
43945
  }
43782
43946
  return Math.max(0, Math.min(finalEndFrame, startFrame));
43783
43947
  }, [finalEndFrame, startFrame]);
43784
- const frameRange = useMemo134(() => {
43948
+ const frameRange = useMemo133(() => {
43785
43949
  if (startFrame === null && endFrame === null) {
43786
43950
  return null;
43787
43951
  }
43788
43952
  return [finalStartFrame, finalEndFrame];
43789
43953
  }, [endFrame, finalEndFrame, finalStartFrame, startFrame]);
43790
- const [initialOutName] = useState84(() => {
43954
+ const [initialOutName] = useState85(() => {
43791
43955
  return getDefaultOutLocation2({
43792
43956
  compositionName: resolvedComposition.id,
43793
43957
  defaultExtension: renderMode === "still" ? imageFormat : isVideo ? container61 : imageFormat,
@@ -43796,7 +43960,7 @@ var WebRenderModal = ({
43796
43960
  clientSideRender: true
43797
43961
  });
43798
43962
  });
43799
- const [outName, setOutName] = useState84(() => initialOutName);
43963
+ const [outName, setOutName] = useState85(() => initialOutName);
43800
43964
  const setStillFormat = useCallback131((format) => {
43801
43965
  setImageFormat(format);
43802
43966
  setOutName((prev) => {
@@ -43826,7 +43990,7 @@ var WebRenderModal = ({
43826
43990
  });
43827
43991
  }
43828
43992
  }, [container61, imageFormat]);
43829
- const renderTabOptions = useMemo134(() => {
43993
+ const renderTabOptions = useMemo133(() => {
43830
43994
  const options = [
43831
43995
  {
43832
43996
  label: "Still",
@@ -43864,7 +44028,7 @@ var WebRenderModal = ({
43864
44028
  const onOutNameChange = useCallback131((e) => {
43865
44029
  setOutName(e.target.value);
43866
44030
  }, []);
43867
- const outnameValidation = useMemo134(() => {
44031
+ const outnameValidation = useMemo133(() => {
43868
44032
  if (renderMode === "still") {
43869
44033
  return validateOutnameForStill({
43870
44034
  outName,
@@ -44023,30 +44187,30 @@ var WebRenderModal = ({
44023
44187
  await onRenderVideo();
44024
44188
  }
44025
44189
  }, [renderMode, onRenderStill, onRenderVideo]);
44026
- return /* @__PURE__ */ jsxs141("div", {
44190
+ return /* @__PURE__ */ jsxs142("div", {
44027
44191
  style: outerModalStyle,
44028
44192
  children: [
44029
- /* @__PURE__ */ jsx265(ModalHeader, {
44193
+ /* @__PURE__ */ jsx267(ModalHeader, {
44030
44194
  title: `Render ${resolvedComposition.id}`
44031
44195
  }),
44032
- /* @__PURE__ */ jsxs141("div", {
44196
+ /* @__PURE__ */ jsxs142("div", {
44033
44197
  style: container59,
44034
44198
  children: [
44035
- /* @__PURE__ */ jsx265(SegmentedControl, {
44199
+ /* @__PURE__ */ jsx267(SegmentedControl, {
44036
44200
  items: renderTabOptions,
44037
44201
  needsWrapping: false
44038
44202
  }),
44039
- /* @__PURE__ */ jsx265("div", {
44203
+ /* @__PURE__ */ jsx267("div", {
44040
44204
  style: flexer
44041
44205
  }),
44042
- /* @__PURE__ */ jsxs141(Button, {
44206
+ /* @__PURE__ */ jsxs142(Button, {
44043
44207
  autoFocus: true,
44044
44208
  onClick: onRender,
44045
44209
  style: buttonStyle7,
44046
44210
  disabled: !outnameValidation.valid,
44047
44211
  children: [
44048
44212
  renderProgress ? `Rendering... ${renderProgress.renderedFrames}/${finalEndFrame}` : `Render ${renderMode}`,
44049
- /* @__PURE__ */ jsx265(ShortcutHint, {
44213
+ /* @__PURE__ */ jsx267(ShortcutHint, {
44050
44214
  keyToPress: "↵",
44051
44215
  cmdOrCtrl: true
44052
44216
  })
@@ -44054,94 +44218,94 @@ var WebRenderModal = ({
44054
44218
  })
44055
44219
  ]
44056
44220
  }),
44057
- /* @__PURE__ */ jsx265("div", {
44221
+ /* @__PURE__ */ jsx267("div", {
44058
44222
  style: container59,
44059
- children: /* @__PURE__ */ jsx265(WebRendererExperimentalBadge, {})
44223
+ children: /* @__PURE__ */ jsx267(WebRendererExperimentalBadge, {})
44060
44224
  }),
44061
- /* @__PURE__ */ jsxs141("div", {
44225
+ /* @__PURE__ */ jsxs142("div", {
44062
44226
  style: horizontalLayout,
44063
44227
  children: [
44064
- /* @__PURE__ */ jsxs141("div", {
44228
+ /* @__PURE__ */ jsxs142("div", {
44065
44229
  style: leftSidebar,
44066
44230
  children: [
44067
- /* @__PURE__ */ jsxs141(VerticalTab, {
44231
+ /* @__PURE__ */ jsxs142(VerticalTab, {
44068
44232
  style: horizontalTab,
44069
44233
  selected: tab === "general",
44070
44234
  onClick: () => setTab("general"),
44071
44235
  children: [
44072
- /* @__PURE__ */ jsx265("div", {
44236
+ /* @__PURE__ */ jsx267("div", {
44073
44237
  style: iconContainer,
44074
- children: /* @__PURE__ */ jsx265(FileIcon, {
44238
+ children: /* @__PURE__ */ jsx267(FileIcon, {
44075
44239
  style: icon6
44076
44240
  })
44077
44241
  }),
44078
44242
  "General"
44079
44243
  ]
44080
44244
  }),
44081
- /* @__PURE__ */ jsxs141(VerticalTab, {
44245
+ /* @__PURE__ */ jsxs142(VerticalTab, {
44082
44246
  style: horizontalTab,
44083
44247
  selected: tab === "data",
44084
44248
  onClick: () => setTab("data"),
44085
44249
  children: [
44086
- /* @__PURE__ */ jsx265("div", {
44250
+ /* @__PURE__ */ jsx267("div", {
44087
44251
  style: iconContainer,
44088
- children: /* @__PURE__ */ jsx265(DataIcon, {
44252
+ children: /* @__PURE__ */ jsx267(DataIcon, {
44089
44253
  style: icon6
44090
44254
  })
44091
44255
  }),
44092
44256
  "Input Props"
44093
44257
  ]
44094
44258
  }),
44095
- renderMode === "video" ? /* @__PURE__ */ jsxs141(VerticalTab, {
44259
+ renderMode === "video" ? /* @__PURE__ */ jsxs142(VerticalTab, {
44096
44260
  style: horizontalTab,
44097
44261
  selected: tab === "picture",
44098
44262
  onClick: () => setTab("picture"),
44099
44263
  children: [
44100
- /* @__PURE__ */ jsx265("div", {
44264
+ /* @__PURE__ */ jsx267("div", {
44101
44265
  style: iconContainer,
44102
- children: /* @__PURE__ */ jsx265(PicIcon, {
44266
+ children: /* @__PURE__ */ jsx267(PicIcon, {
44103
44267
  style: icon6
44104
44268
  })
44105
44269
  }),
44106
44270
  "Picture"
44107
44271
  ]
44108
44272
  }) : null,
44109
- renderMode === "video" ? /* @__PURE__ */ jsxs141(VerticalTab, {
44273
+ renderMode === "video" ? /* @__PURE__ */ jsxs142(VerticalTab, {
44110
44274
  style: horizontalTab,
44111
44275
  selected: tab === "audio",
44112
44276
  onClick: () => setTab("audio"),
44113
44277
  children: [
44114
- /* @__PURE__ */ jsx265("div", {
44278
+ /* @__PURE__ */ jsx267("div", {
44115
44279
  style: iconContainer,
44116
- children: /* @__PURE__ */ jsx265(AudioIcon, {
44280
+ children: /* @__PURE__ */ jsx267(AudioIcon, {
44117
44281
  style: icon6
44118
44282
  })
44119
44283
  }),
44120
44284
  "Audio"
44121
44285
  ]
44122
44286
  }) : null,
44123
- /* @__PURE__ */ jsxs141(VerticalTab, {
44287
+ /* @__PURE__ */ jsxs142(VerticalTab, {
44124
44288
  style: horizontalTab,
44125
44289
  selected: tab === "advanced",
44126
44290
  onClick: () => setTab("advanced"),
44127
44291
  children: [
44128
- /* @__PURE__ */ jsx265("div", {
44292
+ /* @__PURE__ */ jsx267("div", {
44129
44293
  style: iconContainer,
44130
- children: /* @__PURE__ */ jsx265(GearIcon, {
44294
+ children: /* @__PURE__ */ jsx267(GearIcon, {
44131
44295
  style: icon6
44132
44296
  })
44133
44297
  }),
44134
44298
  "Other"
44135
44299
  ]
44136
44300
  }),
44137
- /* @__PURE__ */ jsxs141(VerticalTab, {
44301
+ /* @__PURE__ */ jsxs142(VerticalTab, {
44138
44302
  style: horizontalTab,
44139
44303
  selected: tab === "license",
44140
44304
  onClick: () => setTab("license"),
44141
44305
  children: [
44142
- /* @__PURE__ */ jsx265("div", {
44306
+ /* @__PURE__ */ jsx267("div", {
44143
44307
  style: iconContainer,
44144
- children: /* @__PURE__ */ jsx265(CertificateIcon, {
44308
+ children: /* @__PURE__ */ jsx267(CertificateIcon, {
44145
44309
  style: icon6
44146
44310
  })
44147
44311
  }),
@@ -44150,10 +44314,10 @@ var WebRenderModal = ({
44150
44314
  })
44151
44315
  ]
44152
44316
  }),
44153
- /* @__PURE__ */ jsx265("div", {
44317
+ /* @__PURE__ */ jsx267("div", {
44154
44318
  style: optionsPanel,
44155
44319
  className: VERTICAL_SCROLLBAR_CLASSNAME,
44156
- children: tab === "general" ? /* @__PURE__ */ jsx265(WebRenderModalBasic, {
44320
+ children: tab === "general" ? /* @__PURE__ */ jsx267(WebRenderModalBasic, {
44157
44321
  renderMode,
44158
44322
  resolvedComposition,
44159
44323
  imageFormat,
@@ -44175,7 +44339,7 @@ var WebRenderModal = ({
44175
44339
  validationMessage: outnameValidation.valid ? null : outnameValidation.error.message,
44176
44340
  logLevel,
44177
44341
  setLogLevel
44178
- }) : tab === "data" ? /* @__PURE__ */ jsx265(DataEditor, {
44342
+ }) : tab === "data" ? /* @__PURE__ */ jsx267(DataEditor, {
44179
44343
  defaultProps: inputProps,
44180
44344
  setDefaultProps: setInputProps,
44181
44345
  unresolvedComposition,
@@ -44184,7 +44348,7 @@ var WebRenderModal = ({
44184
44348
  saving,
44185
44349
  setSaving,
44186
44350
  readOnlyStudio: false
44187
- }) : tab === "picture" ? /* @__PURE__ */ jsx265(WebRenderModalPicture, {
44351
+ }) : tab === "picture" ? /* @__PURE__ */ jsx267(WebRenderModalPicture, {
44188
44352
  renderMode,
44189
44353
  videoBitrate,
44190
44354
  setVideoBitrate,
@@ -44192,7 +44356,7 @@ var WebRenderModal = ({
44192
44356
  setKeyframeIntervalInSeconds,
44193
44357
  transparent,
44194
44358
  setTransparent
44195
- }) : tab === "audio" ? /* @__PURE__ */ jsx265(WebRenderModalAudio, {
44359
+ }) : tab === "audio" ? /* @__PURE__ */ jsx267(WebRenderModalAudio, {
44196
44360
  muted,
44197
44361
  setMuted,
44198
44362
  audioCodec,
@@ -44202,7 +44366,7 @@ var WebRenderModal = ({
44202
44366
  container: container61,
44203
44367
  encodableCodecs: encodableAudioCodecs,
44204
44368
  effectiveAudioCodec
44205
- }) : tab === "advanced" ? /* @__PURE__ */ jsx265(WebRenderModalAdvanced, {
44369
+ }) : tab === "advanced" ? /* @__PURE__ */ jsx267(WebRenderModalAdvanced, {
44206
44370
  renderMode,
44207
44371
  delayRenderTimeout,
44208
44372
  setDelayRenderTimeout,
@@ -44210,7 +44374,7 @@ var WebRenderModal = ({
44210
44374
  setMediaCacheSizeInBytes,
44211
44375
  hardwareAcceleration,
44212
44376
  setHardwareAcceleration
44213
- }) : /* @__PURE__ */ jsx265(WebRenderModalLicense, {
44377
+ }) : /* @__PURE__ */ jsx267(WebRenderModalLicense, {
44214
44378
  licenseKey,
44215
44379
  setLicenseKey,
44216
44380
  initialPublicLicenseKey: initialLicenseKey
@@ -44222,10 +44386,10 @@ var WebRenderModal = ({
44222
44386
  });
44223
44387
  };
44224
44388
  var WebRenderModalWithLoader = (props) => {
44225
- return /* @__PURE__ */ jsx265(DismissableModal, {
44226
- children: /* @__PURE__ */ jsx265(ResolveCompositionBeforeModal, {
44389
+ return /* @__PURE__ */ jsx267(DismissableModal, {
44390
+ children: /* @__PURE__ */ jsx267(ResolveCompositionBeforeModal, {
44227
44391
  compositionId: props.compositionId,
44228
- children: /* @__PURE__ */ jsx265(WebRenderModal, {
44392
+ children: /* @__PURE__ */ jsx267(WebRenderModal, {
44229
44393
  ...props
44230
44394
  })
44231
44395
  })
@@ -44233,11 +44397,11 @@ var WebRenderModalWithLoader = (props) => {
44233
44397
  };
44234
44398
 
44235
44399
  // src/components/UpdateModal/UpdateModal.tsx
44236
- import { useCallback as useCallback134, useMemo as useMemo136 } from "react";
44400
+ import { useCallback as useCallback134, useMemo as useMemo135 } from "react";
44237
44401
 
44238
44402
  // src/components/CopyButton.tsx
44239
- import { useCallback as useCallback132, useEffect as useEffect81, useState as useState85 } from "react";
44240
- import { jsx as jsx266, jsxs as jsxs142 } from "react/jsx-runtime";
44403
+ import { useCallback as useCallback132, useEffect as useEffect82, useState as useState86 } from "react";
44404
+ import { jsx as jsx268, jsxs as jsxs143 } from "react/jsx-runtime";
44241
44405
  var iconStyle8 = {
44242
44406
  width: 16,
44243
44407
  height: 16,
@@ -44247,7 +44411,7 @@ var buttonContainerStyle = {
44247
44411
  display: "flex",
44248
44412
  minWidth: "114px"
44249
44413
  };
44250
- var copyIcon = /* @__PURE__ */ jsx266("svg", {
44414
+ var copyIcon = /* @__PURE__ */ jsx268("svg", {
44251
44415
  "aria-hidden": "true",
44252
44416
  focusable: "false",
44253
44417
  "data-prefix": "far",
@@ -44257,7 +44421,7 @@ var copyIcon = /* @__PURE__ */ jsx266("svg", {
44257
44421
  xmlns: "http://www.w3.org/2000/svg",
44258
44422
  viewBox: "0 0 384 512",
44259
44423
  style: iconStyle8,
44260
- children: /* @__PURE__ */ jsx266("path", {
44424
+ children: /* @__PURE__ */ jsx268("path", {
44261
44425
  fill: "currentColor",
44262
44426
  d: "M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z"
44263
44427
  })
@@ -44266,7 +44430,7 @@ var labelStyle5 = {
44266
44430
  fontSize: 14
44267
44431
  };
44268
44432
  var CopyButton = ({ textToCopy, label: label11, labelWhenCopied }) => {
44269
- const [copied, setCopied] = useState85(false);
44433
+ const [copied, setCopied] = useState86(false);
44270
44434
  const onClick = useCallback132(() => {
44271
44435
  copyText(textToCopy).then(() => {
44272
44436
  setCopied(Date.now());
@@ -44274,23 +44438,23 @@ var CopyButton = ({ textToCopy, label: label11, labelWhenCopied }) => {
44274
44438
  showNotification(`Could not copy: ${err.message}`, 2000);
44275
44439
  });
44276
44440
  }, [textToCopy]);
44277
- useEffect81(() => {
44441
+ useEffect82(() => {
44278
44442
  if (!copied) {
44279
44443
  return;
44280
44444
  }
44281
44445
  const to = setTimeout(() => setCopied(false), 2000);
44282
44446
  return () => clearTimeout(to);
44283
44447
  }, [copied]);
44284
- return /* @__PURE__ */ jsxs142(Button, {
44448
+ return /* @__PURE__ */ jsxs143(Button, {
44285
44449
  onClick,
44286
44450
  buttonContainerStyle,
44287
44451
  children: [
44288
44452
  copyIcon,
44289
- /* @__PURE__ */ jsx266(Spacing, {
44453
+ /* @__PURE__ */ jsx268(Spacing, {
44290
44454
  x: 1.5
44291
44455
  }),
44292
44456
  " ",
44293
- /* @__PURE__ */ jsx266("span", {
44457
+ /* @__PURE__ */ jsx268("span", {
44294
44458
  style: labelStyle5,
44295
44459
  children: copied ? labelWhenCopied : label11
44296
44460
  })
@@ -44299,8 +44463,8 @@ var CopyButton = ({ textToCopy, label: label11, labelWhenCopied }) => {
44299
44463
  };
44300
44464
 
44301
44465
  // src/components/UpdateModal/OpenIssueButton.tsx
44302
- import { useCallback as useCallback133, useMemo as useMemo135, useState as useState86 } from "react";
44303
- import { jsx as jsx267 } from "react/jsx-runtime";
44466
+ import { useCallback as useCallback133, useMemo as useMemo134, useState as useState87 } from "react";
44467
+ import { jsx as jsx269 } from "react/jsx-runtime";
44304
44468
  var svgStyle3 = {
44305
44469
  width: "11px",
44306
44470
  height: "11px"
@@ -44314,18 +44478,18 @@ var buttonStyle8 = {
44314
44478
  alignItems: "center"
44315
44479
  };
44316
44480
  var OpenIssueButton = ({ link: link4 }) => {
44317
- const [hovered, setHovered] = useState86(false);
44481
+ const [hovered, setHovered] = useState87(false);
44318
44482
  const buttonTooltip = `Open GitHub issue in new Tab`;
44319
44483
  const handleClick = useCallback133(() => {
44320
44484
  window.open(link4, "_blank");
44321
44485
  }, [link4]);
44322
- const svgFillColor = useMemo135(() => {
44486
+ const svgFillColor = useMemo134(() => {
44323
44487
  return hovered ? "white" : LIGHT_TEXT;
44324
44488
  }, [hovered]);
44325
- const openInEditorSvg = /* @__PURE__ */ jsx267("svg", {
44489
+ const openInEditorSvg = /* @__PURE__ */ jsx269("svg", {
44326
44490
  viewBox: "0 0 512 512",
44327
44491
  style: svgStyle3,
44328
- children: /* @__PURE__ */ jsx267("path", {
44492
+ children: /* @__PURE__ */ jsx269("path", {
44329
44493
  fill: svgFillColor,
44330
44494
  d: "M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z"
44331
44495
  })
@@ -44336,7 +44500,7 @@ var OpenIssueButton = ({ link: link4 }) => {
44336
44500
  const onPointerLeave = useCallback133(() => {
44337
44501
  setHovered(false);
44338
44502
  }, []);
44339
- return /* @__PURE__ */ jsx267("button", {
44503
+ return /* @__PURE__ */ jsx269("button", {
44340
44504
  title: buttonTooltip,
44341
44505
  type: "button",
44342
44506
  onPointerEnter,
@@ -44348,7 +44512,7 @@ var OpenIssueButton = ({ link: link4 }) => {
44348
44512
  };
44349
44513
 
44350
44514
  // src/components/KnownBugs.tsx
44351
- import { jsx as jsx268, jsxs as jsxs143 } from "react/jsx-runtime";
44515
+ import { jsx as jsx270, jsxs as jsxs144 } from "react/jsx-runtime";
44352
44516
  var container61 = {
44353
44517
  display: "flex",
44354
44518
  flexDirection: "row",
@@ -44360,29 +44524,29 @@ var text4 = {
44360
44524
  };
44361
44525
  var KnownBugs = ({ bugs }) => {
44362
44526
  const bugElements = bugs.map((bug) => {
44363
- return /* @__PURE__ */ jsxs143("div", {
44527
+ return /* @__PURE__ */ jsxs144("div", {
44364
44528
  style: container61,
44365
44529
  children: [
44366
- /* @__PURE__ */ jsxs143("div", {
44530
+ /* @__PURE__ */ jsxs144("div", {
44367
44531
  style: text4,
44368
44532
  children: [
44369
44533
  "\uD83E\uDEB2 ",
44370
44534
  bug.title
44371
44535
  ]
44372
44536
  }),
44373
- /* @__PURE__ */ jsx268(OpenIssueButton, {
44537
+ /* @__PURE__ */ jsx270(OpenIssueButton, {
44374
44538
  link: bug.link
44375
44539
  })
44376
44540
  ]
44377
44541
  }, bug.description + bug.link);
44378
44542
  });
44379
- return /* @__PURE__ */ jsx268("div", {
44543
+ return /* @__PURE__ */ jsx270("div", {
44380
44544
  children: bugElements
44381
44545
  });
44382
44546
  };
44383
44547
 
44384
44548
  // src/components/UpdateModal/UpdateModal.tsx
44385
- import { jsx as jsx269, jsxs as jsxs144, Fragment as Fragment48 } from "react/jsx-runtime";
44549
+ import { jsx as jsx271, jsxs as jsxs145, Fragment as Fragment48 } from "react/jsx-runtime";
44386
44550
  var container62 = {
44387
44551
  padding: 20,
44388
44552
  paddingTop: 0
@@ -44416,7 +44580,7 @@ var commands = {
44416
44580
  unknown: "npx remotion upgrade"
44417
44581
  };
44418
44582
  var UpdateModal = ({ info, knownBugs }) => {
44419
- const hasKnownBugs = useMemo136(() => {
44583
+ const hasKnownBugs = useMemo135(() => {
44420
44584
  return knownBugs && knownBugs?.length > 0;
44421
44585
  }, [knownBugs]);
44422
44586
  const command = commands[info.packageManager];
@@ -44425,17 +44589,17 @@ var UpdateModal = ({ info, knownBugs }) => {
44425
44589
  showNotification(`Could not copy: ${err.message}`, 2000);
44426
44590
  });
44427
44591
  }, [command]);
44428
- return /* @__PURE__ */ jsxs144(DismissableModal, {
44592
+ return /* @__PURE__ */ jsxs145(DismissableModal, {
44429
44593
  children: [
44430
- /* @__PURE__ */ jsx269(ModalHeader, {
44594
+ /* @__PURE__ */ jsx271(ModalHeader, {
44431
44595
  title: "Update available"
44432
44596
  }),
44433
- /* @__PURE__ */ jsxs144("div", {
44597
+ /* @__PURE__ */ jsxs145("div", {
44434
44598
  style: container62,
44435
44599
  children: [
44436
- hasKnownBugs ? /* @__PURE__ */ jsxs144(Fragment48, {
44600
+ hasKnownBugs ? /* @__PURE__ */ jsxs145(Fragment48, {
44437
44601
  children: [
44438
- /* @__PURE__ */ jsxs144("div", {
44602
+ /* @__PURE__ */ jsxs145("div", {
44439
44603
  style: title7,
44440
44604
  children: [
44441
44605
  "The currently installed version ",
@@ -44443,42 +44607,42 @@ var UpdateModal = ({ info, knownBugs }) => {
44443
44607
  " has the following known bugs:"
44444
44608
  ]
44445
44609
  }),
44446
- /* @__PURE__ */ jsx269(KnownBugs, {
44610
+ /* @__PURE__ */ jsx271(KnownBugs, {
44447
44611
  bugs: knownBugs
44448
44612
  }),
44449
- /* @__PURE__ */ jsx269("div", {
44613
+ /* @__PURE__ */ jsx271("div", {
44450
44614
  style: { height: "20px" }
44451
44615
  }),
44452
- /* @__PURE__ */ jsx269("div", {
44616
+ /* @__PURE__ */ jsx271("div", {
44453
44617
  style: text5,
44454
44618
  children: "To upgrade, run the following command:"
44455
44619
  })
44456
44620
  ]
44457
- }) : /* @__PURE__ */ jsx269("div", {
44621
+ }) : /* @__PURE__ */ jsx271("div", {
44458
44622
  style: title7,
44459
44623
  children: "A new update for Remotion is available! Run the following command:"
44460
44624
  }),
44461
- /* @__PURE__ */ jsxs144(Row, {
44625
+ /* @__PURE__ */ jsxs145(Row, {
44462
44626
  align: "center",
44463
44627
  children: [
44464
- /* @__PURE__ */ jsx269(Flex, {
44465
- children: /* @__PURE__ */ jsx269("pre", {
44628
+ /* @__PURE__ */ jsx271(Flex, {
44629
+ children: /* @__PURE__ */ jsx271("pre", {
44466
44630
  onClick,
44467
44631
  style: code,
44468
44632
  children: command
44469
44633
  })
44470
44634
  }),
44471
- /* @__PURE__ */ jsx269(Spacing, {
44635
+ /* @__PURE__ */ jsx271(Spacing, {
44472
44636
  x: 1
44473
44637
  }),
44474
- /* @__PURE__ */ jsx269(CopyButton, {
44638
+ /* @__PURE__ */ jsx271(CopyButton, {
44475
44639
  textToCopy: command,
44476
44640
  label: "Copy",
44477
44641
  labelWhenCopied: "Copied!"
44478
44642
  })
44479
44643
  ]
44480
44644
  }),
44481
- /* @__PURE__ */ jsxs144("div", {
44645
+ /* @__PURE__ */ jsxs145("div", {
44482
44646
  style: text5,
44483
44647
  children: [
44484
44648
  "This will upgrade Remotion from ",
@@ -44489,12 +44653,12 @@ var UpdateModal = ({ info, knownBugs }) => {
44489
44653
  "."
44490
44654
  ]
44491
44655
  }),
44492
- /* @__PURE__ */ jsxs144("div", {
44656
+ /* @__PURE__ */ jsxs145("div", {
44493
44657
  style: text5,
44494
44658
  children: [
44495
44659
  "Read the",
44496
44660
  " ",
44497
- /* @__PURE__ */ jsx269("a", {
44661
+ /* @__PURE__ */ jsx271("a", {
44498
44662
  style: link4,
44499
44663
  target: "_blank",
44500
44664
  href: "https://github.com/remotion-dev/remotion/releases",
@@ -44513,24 +44677,24 @@ var UpdateModal = ({ info, knownBugs }) => {
44513
44677
  };
44514
44678
 
44515
44679
  // src/components/Modals.tsx
44516
- import { jsx as jsx270, jsxs as jsxs145, Fragment as Fragment49 } from "react/jsx-runtime";
44680
+ import { jsx as jsx272, jsxs as jsxs146, Fragment as Fragment49 } from "react/jsx-runtime";
44517
44681
  var Modals = ({ readOnlyStudio }) => {
44518
44682
  const { selectedModal: modalContextType } = useContext83(ModalsContext);
44519
44683
  const canRender = useContext83(StudioServerConnectionCtx).previewServerState.type === "connected";
44520
- return /* @__PURE__ */ jsxs145(Fragment49, {
44684
+ return /* @__PURE__ */ jsxs146(Fragment49, {
44521
44685
  children: [
44522
- modalContextType && modalContextType.type === "duplicate-comp" && /* @__PURE__ */ jsx270(DuplicateComposition, {
44686
+ modalContextType && modalContextType.type === "duplicate-comp" && /* @__PURE__ */ jsx272(DuplicateComposition, {
44523
44687
  compositionType: modalContextType.compositionType,
44524
44688
  compositionId: modalContextType.compositionId
44525
44689
  }),
44526
- modalContextType && modalContextType.type === "delete-comp" && /* @__PURE__ */ jsx270(DeleteComposition, {
44690
+ modalContextType && modalContextType.type === "delete-comp" && /* @__PURE__ */ jsx272(DeleteComposition, {
44527
44691
  compositionId: modalContextType.compositionId
44528
44692
  }),
44529
- modalContextType && modalContextType.type === "rename-comp" && /* @__PURE__ */ jsx270(RenameComposition, {
44693
+ modalContextType && modalContextType.type === "rename-comp" && /* @__PURE__ */ jsx272(RenameComposition, {
44530
44694
  compositionId: modalContextType.compositionId
44531
44695
  }),
44532
- modalContextType && modalContextType.type === "input-props-override" && /* @__PURE__ */ jsx270(OverrideInputPropsModal, {}),
44533
- modalContextType && modalContextType.type === "web-render" && /* @__PURE__ */ jsx270(WebRenderModalWithLoader, {
44696
+ modalContextType && modalContextType.type === "input-props-override" && /* @__PURE__ */ jsx272(OverrideInputPropsModal, {}),
44697
+ modalContextType && modalContextType.type === "web-render" && /* @__PURE__ */ jsx272(WebRenderModalWithLoader, {
44534
44698
  type: "web-render",
44535
44699
  initialFrame: modalContextType.initialFrame,
44536
44700
  compositionId: modalContextType.compositionId,
@@ -44540,7 +44704,7 @@ var Modals = ({ readOnlyStudio }) => {
44540
44704
  initialLogLevel: modalContextType.initialLogLevel,
44541
44705
  initialLicenseKey: modalContextType.initialLicenseKey
44542
44706
  }),
44543
- modalContextType && canRender && modalContextType.type === "server-render" && /* @__PURE__ */ jsx270(RenderModalWithLoader, {
44707
+ modalContextType && canRender && modalContextType.type === "server-render" && /* @__PURE__ */ jsx272(RenderModalWithLoader, {
44544
44708
  initialFrame: modalContextType.initialFrame,
44545
44709
  initialDarkMode: modalContextType.initialDarkMode,
44546
44710
  compositionId: modalContextType.compositionId,
@@ -44589,28 +44753,28 @@ var Modals = ({ readOnlyStudio }) => {
44589
44753
  initialChromeMode: modalContextType.initialChromeMode,
44590
44754
  renderDefaults: modalContextType.renderDefaults
44591
44755
  }),
44592
- modalContextType && canRender && modalContextType.type === "render-progress" && /* @__PURE__ */ jsx270(RenderStatusModal, {
44756
+ modalContextType && canRender && modalContextType.type === "render-progress" && /* @__PURE__ */ jsx272(RenderStatusModal, {
44593
44757
  jobId: modalContextType.jobId
44594
44758
  }),
44595
- modalContextType && modalContextType.type === "update" && /* @__PURE__ */ jsx270(UpdateModal, {
44759
+ modalContextType && modalContextType.type === "update" && /* @__PURE__ */ jsx272(UpdateModal, {
44596
44760
  info: modalContextType.info,
44597
44761
  knownBugs: modalContextType.knownBugs
44598
44762
  }),
44599
- modalContextType && modalContextType.type === "install-packages" && /* @__PURE__ */ jsx270(InstallPackageModal, {
44763
+ modalContextType && modalContextType.type === "install-packages" && /* @__PURE__ */ jsx272(InstallPackageModal, {
44600
44764
  packageManager: modalContextType.packageManager
44601
44765
  }),
44602
- modalContextType && modalContextType.type === "quick-switcher" && /* @__PURE__ */ jsx270(QuickSwitcher_default, {
44766
+ modalContextType && modalContextType.type === "quick-switcher" && /* @__PURE__ */ jsx272(QuickSwitcher_default, {
44603
44767
  readOnlyStudio,
44604
44768
  invocationTimestamp: modalContextType.invocationTimestamp,
44605
44769
  initialMode: modalContextType.mode
44606
44770
  }),
44607
- /* @__PURE__ */ jsx270(AskAiModal, {})
44771
+ /* @__PURE__ */ jsx272(AskAiModal, {})
44608
44772
  ]
44609
44773
  });
44610
44774
  };
44611
44775
 
44612
44776
  // src/components/Editor.tsx
44613
- import { jsx as jsx271, jsxs as jsxs146 } from "react/jsx-runtime";
44777
+ import { jsx as jsx273, jsxs as jsxs147 } from "react/jsx-runtime";
44614
44778
  var background2 = {
44615
44779
  backgroundColor: BACKGROUND,
44616
44780
  display: "flex",
@@ -44626,7 +44790,7 @@ var Editor = ({ Root, readOnlyStudio }) => {
44626
44790
  triggerOnWindowResize: false,
44627
44791
  shouldApplyCssTransforms: true
44628
44792
  });
44629
- useEffect82(() => {
44793
+ useEffect83(() => {
44630
44794
  if (readOnlyStudio) {
44631
44795
  return;
44632
44796
  }
@@ -44644,7 +44808,7 @@ var Editor = ({ Root, readOnlyStudio }) => {
44644
44808
  const onMounted = useCallback135(() => {
44645
44809
  setCanvasMounted(true);
44646
44810
  }, []);
44647
- const value = useMemo137(() => {
44811
+ const value = useMemo136(() => {
44648
44812
  if (!size4) {
44649
44813
  return null;
44650
44814
  }
@@ -44653,41 +44817,41 @@ var Editor = ({ Root, readOnlyStudio }) => {
44653
44817
  canvasSize: size4
44654
44818
  };
44655
44819
  }, [size4]);
44656
- const MemoRoot = useMemo137(() => {
44820
+ const MemoRoot = useMemo136(() => {
44657
44821
  return React178.memo(Root);
44658
44822
  }, [Root]);
44659
- return /* @__PURE__ */ jsx271(HigherZIndex, {
44823
+ return /* @__PURE__ */ jsx273(HigherZIndex, {
44660
44824
  onEscape: noop,
44661
44825
  onOutsideClick: noop,
44662
- children: /* @__PURE__ */ jsxs146(TimelineZoomContext, {
44826
+ children: /* @__PURE__ */ jsxs147(TimelineZoomContext, {
44663
44827
  children: [
44664
- /* @__PURE__ */ jsx271(Internals61.CurrentScaleContext.Provider, {
44828
+ /* @__PURE__ */ jsx273(Internals61.CurrentScaleContext.Provider, {
44665
44829
  value,
44666
- children: /* @__PURE__ */ jsxs146("div", {
44830
+ children: /* @__PURE__ */ jsxs147("div", {
44667
44831
  style: background2,
44668
44832
  children: [
44669
- canvasMounted ? /* @__PURE__ */ jsx271(MemoRoot, {}) : null,
44670
- /* @__PURE__ */ jsxs146(Internals61.CanUseRemotionHooksProvider, {
44833
+ canvasMounted ? /* @__PURE__ */ jsx273(MemoRoot, {}) : null,
44834
+ /* @__PURE__ */ jsxs147(Internals61.CanUseRemotionHooksProvider, {
44671
44835
  children: [
44672
- /* @__PURE__ */ jsx271(EditorContent, {
44836
+ /* @__PURE__ */ jsx273(EditorContent, {
44673
44837
  readOnlyStudio,
44674
- children: /* @__PURE__ */ jsx271(TopPanel, {
44838
+ children: /* @__PURE__ */ jsx273(TopPanel, {
44675
44839
  drawRef,
44676
44840
  bufferStateDelayInMilliseconds: BUFFER_STATE_DELAY_IN_MILLISECONDS,
44677
44841
  onMounted,
44678
44842
  readOnlyStudio
44679
44843
  })
44680
44844
  }),
44681
- /* @__PURE__ */ jsx271(GlobalKeybindings, {})
44845
+ /* @__PURE__ */ jsx273(GlobalKeybindings, {})
44682
44846
  ]
44683
44847
  })
44684
44848
  ]
44685
44849
  })
44686
44850
  }),
44687
- /* @__PURE__ */ jsx271(Modals, {
44851
+ /* @__PURE__ */ jsx273(Modals, {
44688
44852
  readOnlyStudio
44689
44853
  }),
44690
- /* @__PURE__ */ jsx271(NotificationCenter, {})
44854
+ /* @__PURE__ */ jsx273(NotificationCenter, {})
44691
44855
  ]
44692
44856
  })
44693
44857
  });
@@ -44697,9 +44861,9 @@ var Editor = ({ Root, readOnlyStudio }) => {
44697
44861
  import { PlayerInternals as PlayerInternals20 } from "@remotion/player";
44698
44862
 
44699
44863
  // src/state/preview-size.tsx
44700
- import { useCallback as useCallback136, useContext as useContext84, useMemo as useMemo138, useState as useState87 } from "react";
44864
+ import { useCallback as useCallback136, useContext as useContext84, useMemo as useMemo137, useState as useState88 } from "react";
44701
44865
  import { Internals as Internals62 } from "remotion";
44702
- import { jsx as jsx272 } from "react/jsx-runtime";
44866
+ import { jsx as jsx274 } from "react/jsx-runtime";
44703
44867
  var key5 = "remotion.previewSize";
44704
44868
  var persistPreviewSizeOption = (option) => {
44705
44869
  localStorage.setItem(key5, JSON.stringify(option));
@@ -44718,8 +44882,8 @@ var loadPreviewSizeOption = () => {
44718
44882
  return JSON.parse(item2);
44719
44883
  };
44720
44884
  var PreviewSizeProvider = ({ children }) => {
44721
- const [size4, setSizeState] = useState87(() => loadPreviewSizeOption());
44722
- const [translation, setTranslation] = useState87(() => {
44885
+ const [size4, setSizeState] = useState88(() => loadPreviewSizeOption());
44886
+ const [translation, setTranslation] = useState88(() => {
44723
44887
  return {
44724
44888
  x: 0,
44725
44889
  y: 0
@@ -44733,7 +44897,7 @@ var PreviewSizeProvider = ({ children }) => {
44733
44897
  return newVal;
44734
44898
  });
44735
44899
  }, []);
44736
- const previewSizeCtx = useMemo138(() => {
44900
+ const previewSizeCtx = useMemo137(() => {
44737
44901
  return {
44738
44902
  size: editorZoomGestures ? size4 : {
44739
44903
  size: size4.size,
@@ -44747,17 +44911,17 @@ var PreviewSizeProvider = ({ children }) => {
44747
44911
  setTranslation
44748
44912
  };
44749
44913
  }, [editorZoomGestures, size4, setSize, translation]);
44750
- return /* @__PURE__ */ jsx272(Internals62.PreviewSizeContext.Provider, {
44914
+ return /* @__PURE__ */ jsx274(Internals62.PreviewSizeContext.Provider, {
44751
44915
  value: previewSizeCtx,
44752
44916
  children
44753
44917
  });
44754
44918
  };
44755
44919
 
44756
44920
  // src/components/CheckerboardProvider.tsx
44757
- import { useCallback as useCallback137, useMemo as useMemo139, useState as useState88 } from "react";
44758
- import { jsx as jsx273 } from "react/jsx-runtime";
44921
+ import { useCallback as useCallback137, useMemo as useMemo138, useState as useState89 } from "react";
44922
+ import { jsx as jsx275 } from "react/jsx-runtime";
44759
44923
  var CheckerboardProvider = ({ children }) => {
44760
- const [checkerboard, setCheckerboardState] = useState88(() => loadCheckerboardOption());
44924
+ const [checkerboard, setCheckerboardState] = useState89(() => loadCheckerboardOption());
44761
44925
  const setCheckerboard = useCallback137((newValue) => {
44762
44926
  setCheckerboardState((prevState) => {
44763
44927
  const newVal = newValue(prevState);
@@ -44765,40 +44929,40 @@ var CheckerboardProvider = ({ children }) => {
44765
44929
  return newVal;
44766
44930
  });
44767
44931
  }, []);
44768
- const checkerboardCtx = useMemo139(() => {
44932
+ const checkerboardCtx = useMemo138(() => {
44769
44933
  return {
44770
44934
  checkerboard,
44771
44935
  setCheckerboard
44772
44936
  };
44773
44937
  }, [checkerboard, setCheckerboard]);
44774
- return /* @__PURE__ */ jsx273(CheckerboardContext.Provider, {
44938
+ return /* @__PURE__ */ jsx275(CheckerboardContext.Provider, {
44775
44939
  value: checkerboardCtx,
44776
44940
  children
44777
44941
  });
44778
44942
  };
44779
44943
 
44780
44944
  // src/components/MediaVolumeProvider.tsx
44781
- import { useMemo as useMemo140, useState as useState89 } from "react";
44945
+ import { useMemo as useMemo139, useState as useState90 } from "react";
44782
44946
  import { Internals as Internals63 } from "remotion";
44783
- import { jsx as jsx274 } from "react/jsx-runtime";
44947
+ import { jsx as jsx276 } from "react/jsx-runtime";
44784
44948
  var MediaVolumeProvider = ({ children }) => {
44785
- const [mediaMuted, setMediaMuted] = useState89(() => loadMuteOption());
44786
- const [mediaVolume, setMediaVolume] = useState89(1);
44787
- const mediaVolumeContextValue = useMemo140(() => {
44949
+ const [mediaMuted, setMediaMuted] = useState90(() => loadMuteOption());
44950
+ const [mediaVolume, setMediaVolume] = useState90(1);
44951
+ const mediaVolumeContextValue = useMemo139(() => {
44788
44952
  return {
44789
44953
  mediaMuted,
44790
44954
  mediaVolume
44791
44955
  };
44792
44956
  }, [mediaMuted, mediaVolume]);
44793
- const setMediaVolumeContextValue = useMemo140(() => {
44957
+ const setMediaVolumeContextValue = useMemo139(() => {
44794
44958
  return {
44795
44959
  setMediaMuted,
44796
44960
  setMediaVolume
44797
44961
  };
44798
44962
  }, []);
44799
- return /* @__PURE__ */ jsx274(Internals63.MediaVolumeContext.Provider, {
44963
+ return /* @__PURE__ */ jsx276(Internals63.MediaVolumeContext.Provider, {
44800
44964
  value: mediaVolumeContextValue,
44801
- children: /* @__PURE__ */ jsx274(Internals63.SetMediaVolumeContext.Provider, {
44965
+ children: /* @__PURE__ */ jsx276(Internals63.SetMediaVolumeContext.Provider, {
44802
44966
  value: setMediaVolumeContextValue,
44803
44967
  children
44804
44968
  })
@@ -44806,24 +44970,24 @@ var MediaVolumeProvider = ({ children }) => {
44806
44970
  };
44807
44971
 
44808
44972
  // src/components/ModalsProvider.tsx
44809
- import { useMemo as useMemo141, useState as useState90 } from "react";
44810
- import { jsx as jsx275 } from "react/jsx-runtime";
44973
+ import { useMemo as useMemo140, useState as useState91 } from "react";
44974
+ import { jsx as jsx277 } from "react/jsx-runtime";
44811
44975
  var ModalsProvider = ({ children }) => {
44812
- const [modalContextType, setModalContextType] = useState90(null);
44813
- const modalsContext = useMemo141(() => {
44976
+ const [modalContextType, setModalContextType] = useState91(null);
44977
+ const modalsContext = useMemo140(() => {
44814
44978
  return {
44815
44979
  selectedModal: modalContextType,
44816
44980
  setSelectedModal: setModalContextType
44817
44981
  };
44818
44982
  }, [modalContextType]);
44819
- return /* @__PURE__ */ jsx275(ModalsContext.Provider, {
44983
+ return /* @__PURE__ */ jsx277(ModalsContext.Provider, {
44820
44984
  value: modalsContext,
44821
44985
  children
44822
44986
  });
44823
44987
  };
44824
44988
 
44825
44989
  // src/components/SetTimelineInOutProvider.tsx
44826
- import { useEffect as useEffect83, useMemo as useMemo142, useState as useState91 } from "react";
44990
+ import { useEffect as useEffect84, useMemo as useMemo141, useState as useState92 } from "react";
44827
44991
 
44828
44992
  // src/state/marks.ts
44829
44993
  var localStorageKey5 = () => `remotion.editor.marksv2`;
@@ -44839,20 +45003,20 @@ var loadMarks = () => {
44839
45003
  };
44840
45004
 
44841
45005
  // src/components/SetTimelineInOutProvider.tsx
44842
- import { jsx as jsx276 } from "react/jsx-runtime";
45006
+ import { jsx as jsx278 } from "react/jsx-runtime";
44843
45007
  var SetTimelineInOutProvider = ({ children }) => {
44844
- const [inAndOutFrames, setInAndOutFrames] = useState91(() => loadMarks());
44845
- const setTimelineInOutContextValue = useMemo142(() => {
45008
+ const [inAndOutFrames, setInAndOutFrames] = useState92(() => loadMarks());
45009
+ const setTimelineInOutContextValue = useMemo141(() => {
44846
45010
  return {
44847
45011
  setInAndOutFrames
44848
45012
  };
44849
45013
  }, []);
44850
- useEffect83(() => {
45014
+ useEffect84(() => {
44851
45015
  persistMarks(inAndOutFrames);
44852
45016
  }, [inAndOutFrames]);
44853
- return /* @__PURE__ */ jsx276(TimelineInOutContext.Provider, {
45017
+ return /* @__PURE__ */ jsx278(TimelineInOutContext.Provider, {
44854
45018
  value: inAndOutFrames,
44855
- children: /* @__PURE__ */ jsx276(SetTimelineInOutContext.Provider, {
45019
+ children: /* @__PURE__ */ jsx278(SetTimelineInOutContext.Provider, {
44856
45020
  value: setTimelineInOutContextValue,
44857
45021
  children
44858
45022
  })
@@ -44860,13 +45024,13 @@ var SetTimelineInOutProvider = ({ children }) => {
44860
45024
  };
44861
45025
 
44862
45026
  // src/components/ShowGuidesProvider.tsx
44863
- import { useCallback as useCallback138, useMemo as useMemo143, useRef as useRef46, useState as useState92 } from "react";
44864
- import { jsx as jsx277 } from "react/jsx-runtime";
45027
+ import { useCallback as useCallback138, useMemo as useMemo142, useRef as useRef46, useState as useState93 } from "react";
45028
+ import { jsx as jsx279 } from "react/jsx-runtime";
44865
45029
  var ShowGuidesProvider = ({ children }) => {
44866
- const [guidesList, setGuidesList] = useState92(() => loadGuidesList());
44867
- const [selectedGuideId, setSelectedGuideId] = useState92(null);
44868
- const [hoveredGuideId, setHoveredGuideId] = useState92(null);
44869
- const [editorShowGuides, setEditorShowGuidesState] = useState92(() => loadEditorShowGuidesOption());
45030
+ const [guidesList, setGuidesList] = useState93(() => loadGuidesList());
45031
+ const [selectedGuideId, setSelectedGuideId] = useState93(null);
45032
+ const [hoveredGuideId, setHoveredGuideId] = useState93(null);
45033
+ const [editorShowGuides, setEditorShowGuidesState] = useState93(() => loadEditorShowGuidesOption());
44870
45034
  const shouldCreateGuideRef = useRef46(false);
44871
45035
  const shouldDeleteGuideRef = useRef46(false);
44872
45036
  const setEditorShowGuides = useCallback138((newValue) => {
@@ -44876,7 +45040,7 @@ var ShowGuidesProvider = ({ children }) => {
44876
45040
  return newVal;
44877
45041
  });
44878
45042
  }, []);
44879
- const editorShowGuidesCtx = useMemo143(() => {
45043
+ const editorShowGuidesCtx = useMemo142(() => {
44880
45044
  return {
44881
45045
  editorShowGuides,
44882
45046
  setEditorShowGuides,
@@ -44896,17 +45060,17 @@ var ShowGuidesProvider = ({ children }) => {
44896
45060
  selectedGuideId,
44897
45061
  hoveredGuideId
44898
45062
  ]);
44899
- return /* @__PURE__ */ jsx277(EditorShowGuidesContext.Provider, {
45063
+ return /* @__PURE__ */ jsx279(EditorShowGuidesContext.Provider, {
44900
45064
  value: editorShowGuidesCtx,
44901
45065
  children
44902
45066
  });
44903
45067
  };
44904
45068
 
44905
45069
  // src/components/ShowRulersProvider.tsx
44906
- import { useCallback as useCallback139, useMemo as useMemo144, useState as useState93 } from "react";
44907
- import { jsx as jsx278 } from "react/jsx-runtime";
45070
+ import { useCallback as useCallback139, useMemo as useMemo143, useState as useState94 } from "react";
45071
+ import { jsx as jsx280 } from "react/jsx-runtime";
44908
45072
  var ShowRulersProvider = ({ children }) => {
44909
- const [editorShowRulers, setEditorShowRulersState] = useState93(() => loadEditorShowRulersOption());
45073
+ const [editorShowRulers, setEditorShowRulersState] = useState94(() => loadEditorShowRulersOption());
44910
45074
  const setEditorShowRulers = useCallback139((newValue) => {
44911
45075
  setEditorShowRulersState((prevState) => {
44912
45076
  const newVal = newValue(prevState);
@@ -44914,23 +45078,23 @@ var ShowRulersProvider = ({ children }) => {
44914
45078
  return newVal;
44915
45079
  });
44916
45080
  }, []);
44917
- const editorShowRulersCtx = useMemo144(() => {
45081
+ const editorShowRulersCtx = useMemo143(() => {
44918
45082
  return {
44919
45083
  editorShowRulers,
44920
45084
  setEditorShowRulers
44921
45085
  };
44922
45086
  }, [editorShowRulers, setEditorShowRulers]);
44923
- return /* @__PURE__ */ jsx278(EditorShowRulersContext.Provider, {
45087
+ return /* @__PURE__ */ jsx280(EditorShowRulersContext.Provider, {
44924
45088
  value: editorShowRulersCtx,
44925
45089
  children
44926
45090
  });
44927
45091
  };
44928
45092
 
44929
45093
  // src/components/ZoomGesturesProvider.tsx
44930
- import { useCallback as useCallback140, useMemo as useMemo145, useState as useState94 } from "react";
44931
- import { jsx as jsx279 } from "react/jsx-runtime";
45094
+ import { useCallback as useCallback140, useMemo as useMemo144, useState as useState95 } from "react";
45095
+ import { jsx as jsx281 } from "react/jsx-runtime";
44932
45096
  var ZoomGesturesProvider = ({ children }) => {
44933
- const [editorZoomGestures, setEditorZoomGesturesState] = useState94(() => loadEditorZoomGesturesOption());
45097
+ const [editorZoomGestures, setEditorZoomGesturesState] = useState95(() => loadEditorZoomGesturesOption());
44934
45098
  const setEditorZoomGestures = useCallback140((newValue) => {
44935
45099
  setEditorZoomGesturesState((prevState) => {
44936
45100
  const newVal = newValue(prevState);
@@ -44938,40 +45102,40 @@ var ZoomGesturesProvider = ({ children }) => {
44938
45102
  return newVal;
44939
45103
  });
44940
45104
  }, []);
44941
- const editorZoomGesturesCtx = useMemo145(() => {
45105
+ const editorZoomGesturesCtx = useMemo144(() => {
44942
45106
  return {
44943
45107
  editorZoomGestures,
44944
45108
  setEditorZoomGestures
44945
45109
  };
44946
45110
  }, [editorZoomGestures, setEditorZoomGestures]);
44947
- return /* @__PURE__ */ jsx279(EditorZoomGesturesContext.Provider, {
45111
+ return /* @__PURE__ */ jsx281(EditorZoomGesturesContext.Provider, {
44948
45112
  value: editorZoomGesturesCtx,
44949
45113
  children
44950
45114
  });
44951
45115
  };
44952
45116
 
44953
45117
  // src/components/EditorContexts.tsx
44954
- import { jsx as jsx280 } from "react/jsx-runtime";
45118
+ import { jsx as jsx282 } from "react/jsx-runtime";
44955
45119
  var EditorContexts = ({ children, readOnlyStudio }) => {
44956
- return /* @__PURE__ */ jsx280(ZodProvider, {
44957
- children: /* @__PURE__ */ jsx280(VisualControlsProvider, {
44958
- children: /* @__PURE__ */ jsx280(PreviewServerConnection, {
45120
+ return /* @__PURE__ */ jsx282(ZodProvider, {
45121
+ children: /* @__PURE__ */ jsx282(VisualControlsProvider, {
45122
+ children: /* @__PURE__ */ jsx282(PreviewServerConnection, {
44959
45123
  readOnlyStudio,
44960
- children: /* @__PURE__ */ jsx280(RenderQueueContextProvider, {
44961
- children: /* @__PURE__ */ jsx280(KeybindingContextProvider, {
44962
- children: /* @__PURE__ */ jsx280(CheckerboardProvider, {
44963
- children: /* @__PURE__ */ jsx280(ZoomGesturesProvider, {
44964
- children: /* @__PURE__ */ jsx280(ShowRulersProvider, {
44965
- children: /* @__PURE__ */ jsx280(ShowGuidesProvider, {
44966
- children: /* @__PURE__ */ jsx280(PreviewSizeProvider, {
44967
- children: /* @__PURE__ */ jsx280(ModalsProvider, {
44968
- children: /* @__PURE__ */ jsx280(MediaVolumeProvider, {
44969
- children: /* @__PURE__ */ jsx280(PlayerInternals20.PlayerEmitterProvider, {
45124
+ children: /* @__PURE__ */ jsx282(RenderQueueContextProvider, {
45125
+ children: /* @__PURE__ */ jsx282(KeybindingContextProvider, {
45126
+ children: /* @__PURE__ */ jsx282(CheckerboardProvider, {
45127
+ children: /* @__PURE__ */ jsx282(ZoomGesturesProvider, {
45128
+ children: /* @__PURE__ */ jsx282(ShowRulersProvider, {
45129
+ children: /* @__PURE__ */ jsx282(ShowGuidesProvider, {
45130
+ children: /* @__PURE__ */ jsx282(PreviewSizeProvider, {
45131
+ children: /* @__PURE__ */ jsx282(ModalsProvider, {
45132
+ children: /* @__PURE__ */ jsx282(MediaVolumeProvider, {
45133
+ children: /* @__PURE__ */ jsx282(PlayerInternals20.PlayerEmitterProvider, {
44970
45134
  currentPlaybackRate: null,
44971
- children: /* @__PURE__ */ jsx280(SidebarContextProvider, {
44972
- children: /* @__PURE__ */ jsx280(FolderContextProvider, {
44973
- children: /* @__PURE__ */ jsx280(HighestZIndexProvider, {
44974
- children: /* @__PURE__ */ jsx280(SetTimelineInOutProvider, {
45135
+ children: /* @__PURE__ */ jsx282(SidebarContextProvider, {
45136
+ children: /* @__PURE__ */ jsx282(FolderContextProvider, {
45137
+ children: /* @__PURE__ */ jsx282(HighestZIndexProvider, {
45138
+ children: /* @__PURE__ */ jsx282(SetTimelineInOutProvider, {
44975
45139
  children
44976
45140
  })
44977
45141
  })
@@ -44994,7 +45158,7 @@ var EditorContexts = ({ children, readOnlyStudio }) => {
44994
45158
 
44995
45159
  // src/components/Notifications/ServerDisconnected.tsx
44996
45160
  import { useContext as useContext85 } from "react";
44997
- import { jsx as jsx281, jsxs as jsxs147 } from "react/jsx-runtime";
45161
+ import { jsx as jsx283, jsxs as jsxs148 } from "react/jsx-runtime";
44998
45162
  var container63 = {
44999
45163
  position: "fixed",
45000
45164
  justifyContent: "flex-end",
@@ -45039,26 +45203,26 @@ var ServerDisconnected = () => {
45039
45203
  }
45040
45204
  const base64Favicon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARiSURBVHgB7d1NThRBFAfw/2tGgru5gXMD8QZ4AmVjAi6kN0TiAm8gnkBcGARNumcx4E48Ae0JaE9gewLHlQSZelaNgyHGL/RVd1X3+y10RQL58+rVx1QBKKWUUkoppZRSSimllFJKKVUjQs32stEiJcktZiwxzKL9Fvqzb6S0/44JVBKbtwa9aj29U6JjagtkJzsYzBEyBi9d5utsQIULCcxvelgo03R5jBarJZCXw/17E+bt82r4Hy4gtuEQekUbK8h7IHvDV5vMZht+VAlRfmYw3EhXKrSA10Ce2X7RIzpGDVzlgM1wPb2bI2JeA9nN99/b/waoV+XCmTAex1g13gLZyUZrdjjJ0CAbTB5bMN4C2ctHxwxaRABiCsZLIG6KmxC/R2BiCCaBBwn4NgJk10B2GOWj3Wz/IQLlpUL28oOjyy4AG1AZppuhVYt4hWRZ1o8gDGc6rL4YHjxCQMQDOcNCEI38bxnmLTc9d30PARAPZAITZP/4A1ctx3bjcw0NEw8koeQ64tRnu25qeggTb+q2/BmRcyv9K7yw3MTOsmiFuLMOtICblJzS5+Mm+opoIBOgFYHMuL5yVHcoooFQuwJxag9FNJCIG/rv1BqKaCDfzshbqbZQxAJxK3SJI9qATUPJstdef0axQGJbof+jwRc6eQ2PxAIx4DZXx3duSrybv3oCTyR7yACdYR762sIXDKQbFfId4ZGPJi8YCA3QLf05YvF+IhYIEV1Dx9hNu8XdbLQFQV6OcDuFaFNyKiwWiJ19DNBN/VN8XoMQrRABDFqCEJ32CiBisT08rRAZAwjRQAKjgcgQO+rVQARMb3gJ0UAkML+DEA1EwAQkdkNMcnOx1Zcxf8V9ol7y88GSm4tdDKRy1xsgSIes/0BM4ndN5HZ7OzZkMePperqSQ5jkkFWhO6r76WrYJ4b2N+YTumF60QeeSG6/d2DI4rHvW1eCPaT9Q9YZw/sVOMlZVoUWM8zpg/Su97dVJGdZFVrKhbFR05MdYoFcwWmF1rF9kbG8UeP7KaI3qBp628QTHrueUccwdZHw/ZDWNHY7tU1u1B2GIxqIYSO2Dd0Ud79wnq/eaOpBgR4EMVDW/oijINu87d7U6hYaJBrInA0k0iu4bvVtZ1KrBRrm4Vr06GNkF3cO7RCVhvK4pmiFOISkjOStk1lVrBQIiPh5SAyN3fWKWeMuEBjxCmEkh3bVvokAzd5idL2iQqDEA1nASXmK+XFIfeTCo5gFAudllvo8G20TUeNVElMQ58QrxLHD1jbB3GumSnhsz7qHE9BhTEGc87aOm16KJHi7rfqj8yfI53E1j/l9eK8L651stJUQeXx/iuzU1QztZLGIsRp+xvtOh3Qo3/qCedumEC6qZetpJztwz7O6UAa4FNsP7ELTfXbWbskUdjgq9M9VCJoFcwvTlfyPDd9t3XNJjA+2IZcGpmxi+7tpjW3OupurJziZhtKWPzWhlFJKKaWUUkoppZRSSiml/uwrgZ/Bfwo/wccAAAAASUVORK5CYII=";
45041
45205
  fav.setAttribute("href", base64Favicon);
45042
- return /* @__PURE__ */ jsx281("div", {
45206
+ return /* @__PURE__ */ jsx283("div", {
45043
45207
  style: container63,
45044
45208
  className: "css-reset",
45045
- children: /* @__PURE__ */ jsxs147("div", {
45209
+ children: /* @__PURE__ */ jsxs148("div", {
45046
45210
  style: message,
45047
45211
  children: [
45048
45212
  "The studio server has disconnected. ",
45049
- /* @__PURE__ */ jsx281("br", {}),
45050
- window.remotion_studioServerCommand ? /* @__PURE__ */ jsxs147("span", {
45213
+ /* @__PURE__ */ jsx283("br", {}),
45214
+ window.remotion_studioServerCommand ? /* @__PURE__ */ jsxs148("span", {
45051
45215
  children: [
45052
45216
  "Run",
45053
45217
  " ",
45054
- /* @__PURE__ */ jsx281("code", {
45218
+ /* @__PURE__ */ jsx283("code", {
45055
45219
  style: inlineCode,
45056
45220
  children: window.remotion_studioServerCommand
45057
45221
  }),
45058
45222
  " ",
45059
45223
  "to run it again."
45060
45224
  ]
45061
- }) : /* @__PURE__ */ jsx281("span", {
45225
+ }) : /* @__PURE__ */ jsx283("span", {
45062
45226
  children: "Fast refresh will not work."
45063
45227
  })
45064
45228
  ]
@@ -45223,7 +45387,7 @@ var injectCSS = () => {
45223
45387
  };
45224
45388
 
45225
45389
  // src/Studio.tsx
45226
- import { jsx as jsx282, jsxs as jsxs148 } from "react/jsx-runtime";
45390
+ import { jsx as jsx284, jsxs as jsxs149 } from "react/jsx-runtime";
45227
45391
  var getServerDisconnectedDomElement = () => {
45228
45392
  return document.getElementById("server-disconnected-overlay");
45229
45393
  };
@@ -45231,27 +45395,27 @@ var Studio = ({ rootComponent, readOnly }) => {
45231
45395
  useLayoutEffect2(() => {
45232
45396
  injectCSS();
45233
45397
  }, []);
45234
- return /* @__PURE__ */ jsx282(Internals65.CompositionManagerProvider, {
45398
+ return /* @__PURE__ */ jsx284(Internals65.CompositionManagerProvider, {
45235
45399
  onlyRenderComposition: null,
45236
45400
  currentCompositionMetadata: null,
45237
45401
  initialCompositions: [],
45238
45402
  initialCanvasContent: null,
45239
- children: /* @__PURE__ */ jsx282(Internals65.RemotionRootContexts, {
45403
+ children: /* @__PURE__ */ jsx284(Internals65.RemotionRootContexts, {
45240
45404
  frameState: null,
45241
45405
  audioEnabled: window.remotion_audioEnabled,
45242
45406
  videoEnabled: window.remotion_videoEnabled,
45243
45407
  logLevel: window.remotion_logLevel,
45244
45408
  numberOfAudioTags: window.remotion_numberOfAudioTags,
45245
45409
  audioLatencyHint: window.remotion_audioLatencyHint ?? "interactive",
45246
- children: /* @__PURE__ */ jsx282(Internals65.ResolveCompositionConfigInStudio, {
45247
- children: /* @__PURE__ */ jsxs148(EditorContexts, {
45410
+ children: /* @__PURE__ */ jsx284(Internals65.ResolveCompositionConfigInStudio, {
45411
+ children: /* @__PURE__ */ jsxs149(EditorContexts, {
45248
45412
  readOnlyStudio: readOnly,
45249
45413
  children: [
45250
- /* @__PURE__ */ jsx282(Editor, {
45414
+ /* @__PURE__ */ jsx284(Editor, {
45251
45415
  readOnlyStudio: readOnly,
45252
45416
  Root: rootComponent
45253
45417
  }),
45254
- readOnly ? null : createPortal(/* @__PURE__ */ jsx282(ServerDisconnected, {}), getServerDisconnectedDomElement())
45418
+ readOnly ? null : createPortal(/* @__PURE__ */ jsx284(ServerDisconnected, {}), getServerDisconnectedDomElement())
45255
45419
  ]
45256
45420
  })
45257
45421
  })
@@ -45260,9 +45424,9 @@ var Studio = ({ rootComponent, readOnly }) => {
45260
45424
  };
45261
45425
 
45262
45426
  // src/components/NoRegisterRoot.tsx
45263
- import { useEffect as useEffect84, useState as useState95 } from "react";
45427
+ import { useEffect as useEffect85, useState as useState96 } from "react";
45264
45428
  import { AbsoluteFill as AbsoluteFill6 } from "remotion";
45265
- import { jsx as jsx283, jsxs as jsxs149 } from "react/jsx-runtime";
45429
+ import { jsx as jsx285, jsxs as jsxs150 } from "react/jsx-runtime";
45266
45430
  var label11 = {
45267
45431
  fontSize: 13,
45268
45432
  color: "white",
@@ -45281,8 +45445,8 @@ var link5 = {
45281
45445
  borderBottom: "1px solid"
45282
45446
  };
45283
45447
  var NoRegisterRoot = () => {
45284
- const [show, setShow] = useState95(() => false);
45285
- useEffect84(() => {
45448
+ const [show, setShow] = useState96(() => false);
45449
+ useEffect85(() => {
45286
45450
  const timeout = setTimeout(() => {
45287
45451
  setShow(true);
45288
45452
  }, 2000);
@@ -45293,19 +45457,19 @@ var NoRegisterRoot = () => {
45293
45457
  if (!show) {
45294
45458
  return null;
45295
45459
  }
45296
- return /* @__PURE__ */ jsxs149(AbsoluteFill6, {
45460
+ return /* @__PURE__ */ jsxs150(AbsoluteFill6, {
45297
45461
  style: container64,
45298
45462
  children: [
45299
- /* @__PURE__ */ jsx283("div", {
45463
+ /* @__PURE__ */ jsx285("div", {
45300
45464
  style: label11,
45301
45465
  children: "Waiting for registerRoot() to get called."
45302
45466
  }),
45303
- /* @__PURE__ */ jsxs149("div", {
45467
+ /* @__PURE__ */ jsxs150("div", {
45304
45468
  style: label11,
45305
45469
  children: [
45306
45470
  "Learn more:",
45307
45471
  " ",
45308
- /* @__PURE__ */ jsx283("a", {
45472
+ /* @__PURE__ */ jsx285("a", {
45309
45473
  target: "_blank",
45310
45474
  style: link5,
45311
45475
  href: "https://www.remotion.dev/docs/register-root",
@@ -45319,12 +45483,12 @@ var NoRegisterRoot = () => {
45319
45483
 
45320
45484
  // src/error-overlay/remotion-overlay/index.tsx
45321
45485
  import ReactDOM9 from "react-dom/client";
45322
- import { jsx as jsx284 } from "react/jsx-runtime";
45486
+ import { jsx as jsx286 } from "react/jsx-runtime";
45323
45487
  var mountRemotionOverlay = () => {
45324
45488
  if (ReactDOM9.createRoot) {
45325
- ReactDOM9.createRoot(document.getElementById("remotion-error-overlay")).render(/* @__PURE__ */ jsx284(Overlay, {}));
45489
+ ReactDOM9.createRoot(document.getElementById("remotion-error-overlay")).render(/* @__PURE__ */ jsx286(Overlay, {}));
45326
45490
  } else {
45327
- ReactDOM9.render(/* @__PURE__ */ jsx284(Overlay, {}), document.getElementById("remotion-error-overlay"));
45491
+ ReactDOM9.render(/* @__PURE__ */ jsx286(Overlay, {}), document.getElementById("remotion-error-overlay"));
45328
45492
  }
45329
45493
  };
45330
45494
 
@@ -45629,7 +45793,7 @@ var enableHotMiddleware = () => {
45629
45793
  };
45630
45794
 
45631
45795
  // src/previewEntry.tsx
45632
- import { jsx as jsx285 } from "react/jsx-runtime";
45796
+ import { jsx as jsx287 } from "react/jsx-runtime";
45633
45797
  Internals66.CSSUtils.injectCSS(Internals66.CSSUtils.makeDefaultPreviewCSS(null, "#1f2428"));
45634
45798
  var root = null;
45635
45799
  var getRootForElement = () => {
@@ -45649,10 +45813,10 @@ var renderToDOM = (content7) => {
45649
45813
  }
45650
45814
  getRootForElement().render(content7);
45651
45815
  };
45652
- renderToDOM(/* @__PURE__ */ jsx285(NoRegisterRoot, {}));
45816
+ renderToDOM(/* @__PURE__ */ jsx287(NoRegisterRoot, {}));
45653
45817
  Internals66.waitForRoot((NewRoot) => {
45654
45818
  Internals66.enableSequenceStackTraces();
45655
- renderToDOM(/* @__PURE__ */ jsx285(Studio, {
45819
+ renderToDOM(/* @__PURE__ */ jsx287(Studio, {
45656
45820
  readOnly: false,
45657
45821
  rootComponent: NewRoot
45658
45822
  }));