@remotion/promo-pages 4.0.471 → 4.0.472
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 +1524 -725
- package/dist/design.js +1298 -798
- package/dist/experts.js +1291 -791
- package/dist/homepage/Pricing.js +1298 -798
- package/dist/prompts/PromptsGallery.js +1298 -798
- package/dist/prompts/PromptsShow.js +1145 -645
- package/dist/prompts/PromptsSubmit.js +1145 -645
- package/dist/team.js +1298 -798
- package/dist/template-modal-content.js +1298 -798
- package/dist/templates.js +1298 -798
- package/package.json +13 -13
- package/dist/cn.d.ts +0 -2
- package/dist/cn.js +0 -5
- package/dist/components/3DEngine/ButtonDemo.d.ts +0 -2
- package/dist/components/3DEngine/ButtonDemo.js +0 -43
- package/dist/components/3DEngine/Faces.d.ts +0 -5
- package/dist/components/3DEngine/Faces.js +0 -7
- package/dist/components/3DEngine/Outer.d.ts +0 -8
- package/dist/components/3DEngine/Outer.js +0 -56
- package/dist/components/3DEngine/Switch.d.ts +0 -4
- package/dist/components/3DEngine/Switch.js +0 -4
- package/dist/components/3DEngine/get-child-node-from.d.ts +0 -1
- package/dist/components/3DEngine/get-child-node-from.js +0 -14
- package/dist/components/3DEngine/hover-transforms.d.ts +0 -9
- package/dist/components/3DEngine/hover-transforms.js +0 -177
- package/dist/components/BackButton.d.ts +0 -6
- package/dist/components/BackButton.js +0 -9
- package/dist/components/CommandCopyButton.d.ts +0 -5
- package/dist/components/CommandCopyButton.js +0 -4
- package/dist/components/Homepage.d.ts +0 -6
- package/dist/components/Homepage.js +0 -20
- package/dist/components/ManageTeamMembers.d.ts +0 -2
- package/dist/components/ManageTeamMembers.js +0 -42
- package/dist/components/Spinner.d.ts +0 -3
- package/dist/components/Spinner.js +0 -4
- package/dist/components/TeamPicture.d.ts +0 -1
- package/dist/components/TeamPicture.js +0 -4
- package/dist/components/design.d.ts +0 -1
- package/dist/components/design.js +0 -33
- package/dist/components/experts/ExpertsPage.d.ts +0 -11
- package/dist/components/experts/ExpertsPage.js +0 -50
- package/dist/components/experts/experts-data.d.ts +0 -19
- package/dist/components/experts/experts-data.js +0 -391
- package/dist/components/experts/experts-icons.d.ts +0 -8
- package/dist/components/experts/experts-icons.js +0 -42
- package/dist/components/experts.d.ts +0 -3
- package/dist/components/experts.js +0 -2
- package/dist/components/homepage/BackgroundAnimation.d.ts +0 -2
- package/dist/components/homepage/BackgroundAnimation.js +0 -66
- package/dist/components/homepage/ChooseTemplate.d.ts +0 -2
- package/dist/components/homepage/ChooseTemplate.js +0 -25
- package/dist/components/homepage/CommunityStats.d.ts +0 -3
- package/dist/components/homepage/CommunityStats.js +0 -6
- package/dist/components/homepage/CommunityStatsItems.d.ts +0 -7
- package/dist/components/homepage/CommunityStatsItems.js +0 -58
- package/dist/components/homepage/Demo/Card.d.ts +0 -15
- package/dist/components/homepage/Demo/Card.js +0 -174
- package/dist/components/homepage/Demo/Cards.d.ts +0 -15
- package/dist/components/homepage/Demo/Cards.js +0 -57
- package/dist/components/homepage/Demo/Comp.d.ts +0 -38
- package/dist/components/homepage/Demo/Comp.js +0 -72
- package/dist/components/homepage/Demo/CurrentCountry.d.ts +0 -9
- package/dist/components/homepage/Demo/CurrentCountry.js +0 -48
- package/dist/components/homepage/Demo/DemoError.d.ts +0 -2
- package/dist/components/homepage/Demo/DemoError.js +0 -10
- package/dist/components/homepage/Demo/DemoErrorIcon.d.ts +0 -2
- package/dist/components/homepage/Demo/DemoErrorIcon.js +0 -16
- package/dist/components/homepage/Demo/DemoRender.d.ts +0 -33
- package/dist/components/homepage/Demo/DemoRender.js +0 -107
- package/dist/components/homepage/Demo/DigitWheel.d.ts +0 -9
- package/dist/components/homepage/Demo/DigitWheel.js +0 -94
- package/dist/components/homepage/Demo/DisplayedEmoji.d.ts +0 -5
- package/dist/components/homepage/Demo/DisplayedEmoji.js +0 -59
- package/dist/components/homepage/Demo/DoneCheckmark.d.ts +0 -2
- package/dist/components/homepage/Demo/DoneCheckmark.js +0 -20
- package/dist/components/homepage/Demo/DownloadNudge.d.ts +0 -2
- package/dist/components/homepage/Demo/DownloadNudge.js +0 -27
- package/dist/components/homepage/Demo/DragAndDropNudge.d.ts +0 -3
- package/dist/components/homepage/Demo/DragAndDropNudge.js +0 -26
- package/dist/components/homepage/Demo/EmojiCard.d.ts +0 -10
- package/dist/components/homepage/Demo/EmojiCard.js +0 -120
- package/dist/components/homepage/Demo/Minus.d.ts +0 -5
- package/dist/components/homepage/Demo/Minus.js +0 -11
- package/dist/components/homepage/Demo/PlayPauseButton.d.ts +0 -5
- package/dist/components/homepage/Demo/PlayPauseButton.js +0 -47
- package/dist/components/homepage/Demo/PlayerControls.d.ts +0 -8
- package/dist/components/homepage/Demo/PlayerControls.js +0 -15
- package/dist/components/homepage/Demo/PlayerSeekBar.d.ts +0 -11
- package/dist/components/homepage/Demo/PlayerSeekBar.js +0 -216
- package/dist/components/homepage/Demo/PlayerVolume.d.ts +0 -5
- package/dist/components/homepage/Demo/PlayerVolume.js +0 -53
- package/dist/components/homepage/Demo/Progress.d.ts +0 -4
- package/dist/components/homepage/Demo/Progress.js +0 -14
- package/dist/components/homepage/Demo/Spinner.d.ts +0 -5
- package/dist/components/homepage/Demo/Spinner.js +0 -37
- package/dist/components/homepage/Demo/Switcher.d.ts +0 -6
- package/dist/components/homepage/Demo/Switcher.js +0 -25
- package/dist/components/homepage/Demo/Temperature.d.ts +0 -6
- package/dist/components/homepage/Demo/Temperature.js +0 -21
- package/dist/components/homepage/Demo/TemperatureNumber.d.ts +0 -5
- package/dist/components/homepage/Demo/TemperatureNumber.js +0 -36
- package/dist/components/homepage/Demo/ThemeNudge.d.ts +0 -3
- package/dist/components/homepage/Demo/ThemeNudge.js +0 -35
- package/dist/components/homepage/Demo/TimeDisplay.d.ts +0 -6
- package/dist/components/homepage/Demo/TimeDisplay.js +0 -27
- package/dist/components/homepage/Demo/TrendingRepos.d.ts +0 -6
- package/dist/components/homepage/Demo/TrendingRepos.js +0 -65
- package/dist/components/homepage/Demo/icons.d.ts +0 -10
- package/dist/components/homepage/Demo/icons.js +0 -22
- package/dist/components/homepage/Demo/index.d.ts +0 -2
- package/dist/components/homepage/Demo/index.js +0 -95
- package/dist/components/homepage/Demo/math.d.ts +0 -10
- package/dist/components/homepage/Demo/math.js +0 -29
- package/dist/components/homepage/Demo/types.d.ts +0 -6
- package/dist/components/homepage/Demo/types.js +0 -0
- package/dist/components/homepage/EditorStarterSection.d.ts +0 -3
- package/dist/components/homepage/EditorStarterSection.js +0 -8
- package/dist/components/homepage/EvaluateRemotion.d.ts +0 -3
- package/dist/components/homepage/EvaluateRemotion.js +0 -21
- package/dist/components/homepage/FreePricing.d.ts +0 -4
- package/dist/components/homepage/FreePricing.js +0 -133
- package/dist/components/homepage/GetStartedStrip.d.ts +0 -2
- package/dist/components/homepage/GetStartedStrip.js +0 -14
- package/dist/components/homepage/GitHubButton.d.ts +0 -2
- package/dist/components/homepage/GitHubButton.js +0 -7
- package/dist/components/homepage/IconForTemplate.d.ts +0 -6
- package/dist/components/homepage/IconForTemplate.js +0 -105
- package/dist/components/homepage/IfYouKnowReact.d.ts +0 -3
- package/dist/components/homepage/IfYouKnowReact.js +0 -23
- package/dist/components/homepage/MoreTemplatesButton.d.ts +0 -2
- package/dist/components/homepage/MoreTemplatesButton.js +0 -11
- package/dist/components/homepage/MuxVideo.d.ts +0 -7
- package/dist/components/homepage/MuxVideo.js +0 -45
- package/dist/components/homepage/NewsletterButton.d.ts +0 -2
- package/dist/components/homepage/NewsletterButton.js +0 -38
- package/dist/components/homepage/ParameterizeAndEdit.d.ts +0 -2
- package/dist/components/homepage/ParameterizeAndEdit.js +0 -22
- package/dist/components/homepage/Pricing.d.ts +0 -2
- package/dist/components/homepage/Pricing.js +0 -15
- package/dist/components/homepage/PricingBulletPoint.d.ts +0 -6
- package/dist/components/homepage/PricingBulletPoint.js +0 -19
- package/dist/components/homepage/RealMp4Videos.d.ts +0 -2
- package/dist/components/homepage/RealMp4Videos.js +0 -41
- package/dist/components/homepage/Spacer.d.ts +0 -2
- package/dist/components/homepage/Spacer.js +0 -4
- package/dist/components/homepage/TemplateIcon.d.ts +0 -5
- package/dist/components/homepage/TemplateIcon.js +0 -24
- package/dist/components/homepage/TextInput.d.ts +0 -7
- package/dist/components/homepage/TextInput.js +0 -34
- package/dist/components/homepage/TrustedByBanner.d.ts +0 -2
- package/dist/components/homepage/TrustedByBanner.js +0 -27
- package/dist/components/homepage/VideoApps.d.ts +0 -4
- package/dist/components/homepage/VideoApps.js +0 -72
- package/dist/components/homepage/VideoAppsShowcase.d.ts +0 -3
- package/dist/components/homepage/VideoAppsShowcase.js +0 -139
- package/dist/components/homepage/VideoAppsTitle.d.ts +0 -4
- package/dist/components/homepage/VideoAppsTitle.js +0 -4
- package/dist/components/homepage/VideoPlayerWithControls.d.ts +0 -20
- package/dist/components/homepage/VideoPlayerWithControls.js +0 -105
- package/dist/components/homepage/WriteInReact.d.ts +0 -2
- package/dist/components/homepage/WriteInReact.js +0 -10
- package/dist/components/homepage/YouAreHere.d.ts +0 -2
- package/dist/components/homepage/YouAreHere.js +0 -23
- package/dist/components/homepage/layout/Button.d.ts +0 -22
- package/dist/components/homepage/layout/Button.js +0 -30
- package/dist/components/homepage/layout/colors.d.ts +0 -13
- package/dist/components/homepage/layout/colors.js +0 -14
- package/dist/components/homepage/layout/use-color-mode.d.ts +0 -21
- package/dist/components/homepage/layout/use-color-mode.js +0 -22
- package/dist/components/homepage/layout/use-el-size.d.ts +0 -5
- package/dist/components/homepage/layout/use-el-size.js +0 -40
- package/dist/components/homepage/layout/use-mobile-layout.d.ts +0 -1
- package/dist/components/homepage/layout/use-mobile-layout.js +0 -6
- package/dist/components/icons/blank.d.ts +0 -3
- package/dist/components/icons/blank.js +0 -4
- package/dist/components/icons/brain.d.ts +0 -2
- package/dist/components/icons/brain.js +0 -4
- package/dist/components/icons/clone.d.ts +0 -2
- package/dist/components/icons/clone.js +0 -2
- package/dist/components/icons/code-hike.d.ts +0 -3
- package/dist/components/icons/code-hike.js +0 -4
- package/dist/components/icons/cubes.d.ts +0 -3
- package/dist/components/icons/cubes.js +0 -4
- package/dist/components/icons/editor.d.ts +0 -3
- package/dist/components/icons/editor.js +0 -4
- package/dist/components/icons/electron.d.ts +0 -4
- package/dist/components/icons/electron.js +0 -4
- package/dist/components/icons/js.d.ts +0 -3
- package/dist/components/icons/js.js +0 -4
- package/dist/components/icons/music.d.ts +0 -2
- package/dist/components/icons/music.js +0 -4
- package/dist/components/icons/next.d.ts +0 -4
- package/dist/components/icons/next.js +0 -4
- package/dist/components/icons/overlay.d.ts +0 -3
- package/dist/components/icons/overlay.js +0 -4
- package/dist/components/icons/prompt-to-video.d.ts +0 -2
- package/dist/components/icons/prompt-to-video.js +0 -4
- package/dist/components/icons/recorder.d.ts +0 -3
- package/dist/components/icons/recorder.js +0 -4
- package/dist/components/icons/remix.d.ts +0 -3
- package/dist/components/icons/remix.js +0 -4
- package/dist/components/icons/render-server.d.ts +0 -3
- package/dist/components/icons/render-server.js +0 -4
- package/dist/components/icons/skia.d.ts +0 -3
- package/dist/components/icons/skia.js +0 -4
- package/dist/components/icons/stargazer.d.ts +0 -3
- package/dist/components/icons/stargazer.js +0 -4
- package/dist/components/icons/still.d.ts +0 -3
- package/dist/components/icons/still.js +0 -4
- package/dist/components/icons/tailwind.d.ts +0 -3
- package/dist/components/icons/tailwind.js +0 -4
- package/dist/components/icons/tiktok.d.ts +0 -3
- package/dist/components/icons/tiktok.js +0 -4
- package/dist/components/icons/timeline.d.ts +0 -3
- package/dist/components/icons/timeline.js +0 -4
- package/dist/components/icons/ts.d.ts +0 -3
- package/dist/components/icons/ts.js +0 -4
- package/dist/components/icons/undo.d.ts +0 -3
- package/dist/components/icons/undo.js +0 -2
- package/dist/components/icons/vercel.d.ts +0 -4
- package/dist/components/icons/vercel.js +0 -4
- package/dist/components/icons/waveform.d.ts +0 -3
- package/dist/components/icons/waveform.js +0 -4
- package/dist/components/prompts/CardLikeButton.d.ts +0 -5
- package/dist/components/prompts/CardLikeButton.js +0 -49
- package/dist/components/prompts/ClipboardIcon.d.ts +0 -5
- package/dist/components/prompts/ClipboardIcon.js +0 -4
- package/dist/components/prompts/CopyPromptButton.d.ts +0 -4
- package/dist/components/prompts/CopyPromptButton.js +0 -13
- package/dist/components/prompts/LikeButton.d.ts +0 -5
- package/dist/components/prompts/LikeButton.js +0 -49
- package/dist/components/prompts/MuxPlayer.d.ts +0 -8
- package/dist/components/prompts/MuxPlayer.js +0 -21
- package/dist/components/prompts/NewBackButton.d.ts +0 -5
- package/dist/components/prompts/NewBackButton.js +0 -8
- package/dist/components/prompts/Page.d.ts +0 -8
- package/dist/components/prompts/Page.js +0 -7
- package/dist/components/prompts/PromptsGallery.d.ts +0 -7
- package/dist/components/prompts/PromptsGallery.js +0 -60
- package/dist/components/prompts/PromptsShow.d.ts +0 -5
- package/dist/components/prompts/PromptsShow.js +0 -17
- package/dist/components/prompts/PromptsSubmit.d.ts +0 -2
- package/dist/components/prompts/PromptsSubmit.js +0 -173
- package/dist/components/prompts/config.d.ts +0 -1
- package/dist/components/prompts/config.js +0 -1
- package/dist/components/prompts/prompt-helpers.d.ts +0 -8
- package/dist/components/prompts/prompt-helpers.js +0 -76
- package/dist/components/prompts/prompt-types.d.ts +0 -14
- package/dist/components/prompts/prompt-types.js +0 -0
- package/dist/components/prompts/use-heart-animation.d.ts +0 -5
- package/dist/components/prompts/use-heart-animation.js +0 -29
- package/dist/components/team/TeamCards.d.ts +0 -6
- package/dist/components/team/TeamCards.js +0 -19
- package/dist/components/team/TitleTeamCards.d.ts +0 -2
- package/dist/components/team/TitleTeamCards.js +0 -6
- package/dist/components/team/TrustSection.d.ts +0 -2
- package/dist/components/team/TrustSection.js +0 -59
- package/dist/components/team.d.ts +0 -3
- package/dist/components/team.js +0 -15
- package/dist/components/template-modal-content.d.ts +0 -5
- package/dist/components/template-modal-content.js +0 -73
- package/dist/components/templates.d.ts +0 -2
- package/dist/components/templates.js +0 -27
- package/dist/helpers/mobile-layout.d.ts +0 -1
- package/dist/helpers/mobile-layout.js +0 -6
- package/dist/helpers/use-el-size.d.ts +0 -5
- package/dist/helpers/use-el-size.js +0 -40
- package/dist/main.d.ts +0 -1
- package/dist/main.js +0 -6
- package/dist/prompts-show.d.ts +0 -1
- package/dist/prompts-show.js +0 -20
- package/dist/prompts-submit.d.ts +0 -1
- package/dist/prompts-submit.js +0 -6
- package/dist/prompts.d.ts +0 -1
- package/dist/prompts.js +0 -6
- package/dist/team.d.ts +0 -1
package/dist/design.js
CHANGED
|
@@ -33,7 +33,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
33
33
|
});
|
|
34
34
|
|
|
35
35
|
// ../design/dist/esm/index.mjs
|
|
36
|
-
import * as
|
|
36
|
+
import * as React23 from "react";
|
|
37
37
|
import * as React3 from "react";
|
|
38
38
|
import { Fragment as Fragment2, jsx as jsx39 } from "react/jsx-runtime";
|
|
39
39
|
import React52, { useCallback as useCallback25, useRef as useRef28, useState as useState22 } from "react";
|
|
@@ -1378,7 +1378,7 @@ var getDefaultConfig = () => {
|
|
|
1378
1378
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
1379
1379
|
|
|
1380
1380
|
// ../design/dist/esm/index.mjs
|
|
1381
|
-
import
|
|
1381
|
+
import React35, { useEffect as useEffect22, useMemo as useMemo40, useState as useState21 } from "react";
|
|
1382
1382
|
|
|
1383
1383
|
// ../paths/dist/esm/index.mjs
|
|
1384
1384
|
var cutLInstruction = ({
|
|
@@ -5769,10 +5769,12 @@ import { jsx as jsx92 } from "react/jsx-runtime";
|
|
|
5769
5769
|
import { createContext as createContext14 } from "react";
|
|
5770
5770
|
import React11, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
|
|
5771
5771
|
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
5772
|
-
import React12, {
|
|
5773
|
-
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
5774
|
-
import { createContext as createContext15 } from "react";
|
|
5772
|
+
import React12, { createContext as createContext15 } from "react";
|
|
5775
5773
|
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
5774
|
+
import React13, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
|
|
5775
|
+
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
5776
|
+
import { createContext as createContext16 } from "react";
|
|
5777
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
5776
5778
|
import {
|
|
5777
5779
|
forwardRef as forwardRef4,
|
|
5778
5780
|
useEffect as useEffect5,
|
|
@@ -5781,13 +5783,13 @@ import {
|
|
|
5781
5783
|
useRef as useRef9,
|
|
5782
5784
|
useState as useState6
|
|
5783
5785
|
} from "react";
|
|
5784
|
-
import
|
|
5786
|
+
import React15, { useCallback as useCallback6, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
5785
5787
|
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
5786
|
-
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
5787
5788
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
5789
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
5788
5790
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
|
|
5789
5791
|
import {
|
|
5790
|
-
createContext as
|
|
5792
|
+
createContext as createContext17,
|
|
5791
5793
|
useCallback as useCallback7,
|
|
5792
5794
|
useImperativeHandle as useImperativeHandle3,
|
|
5793
5795
|
useLayoutEffect as useLayoutEffect3,
|
|
@@ -5795,17 +5797,17 @@ import {
|
|
|
5795
5797
|
useRef as useRef10,
|
|
5796
5798
|
useState as useState7
|
|
5797
5799
|
} from "react";
|
|
5798
|
-
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
5799
|
-
import { forwardRef as forwardRef7, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
5800
|
-
import React15, { createContext as createContext17, useMemo as useMemo18 } from "react";
|
|
5801
5800
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
5802
|
-
import { useContext as
|
|
5803
|
-
import { createContext as createContext18,
|
|
5801
|
+
import { forwardRef as forwardRef7, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
5802
|
+
import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
|
|
5804
5803
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
5805
|
-
import {
|
|
5804
|
+
import { useContext as useContext19 } from "react";
|
|
5805
|
+
import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
|
|
5806
5806
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
5807
|
+
import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
|
|
5808
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
5807
5809
|
import { useCallback as useCallback12 } from "react";
|
|
5808
|
-
import
|
|
5810
|
+
import React22, {
|
|
5809
5811
|
forwardRef as forwardRef5,
|
|
5810
5812
|
useContext as useContext28,
|
|
5811
5813
|
useEffect as useEffect14,
|
|
@@ -5815,8 +5817,8 @@ import React21, {
|
|
|
5815
5817
|
useState as useState14
|
|
5816
5818
|
} from "react";
|
|
5817
5819
|
import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
|
|
5818
|
-
import
|
|
5819
|
-
createContext as
|
|
5820
|
+
import React19, {
|
|
5821
|
+
createContext as createContext21,
|
|
5820
5822
|
createRef as createRef2,
|
|
5821
5823
|
useCallback as useCallback8,
|
|
5822
5824
|
useContext as useContext20,
|
|
@@ -5826,7 +5828,7 @@ import React18, {
|
|
|
5826
5828
|
useState as useState10
|
|
5827
5829
|
} from "react";
|
|
5828
5830
|
import { useMemo as useMemo20, useRef as useRef11 } from "react";
|
|
5829
|
-
import { jsx as
|
|
5831
|
+
import { jsx as jsx19, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5830
5832
|
import { useRef as useRef13 } from "react";
|
|
5831
5833
|
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
|
|
5832
5834
|
import { useContext as useContext22 } from "react";
|
|
@@ -5839,7 +5841,7 @@ import {
|
|
|
5839
5841
|
} from "react";
|
|
5840
5842
|
import { useCallback as useCallback10, useMemo as useMemo25, useRef as useRef16 } from "react";
|
|
5841
5843
|
import { useContext as useContext25, useMemo as useMemo24 } from "react";
|
|
5842
|
-
import
|
|
5844
|
+
import React20, {
|
|
5843
5845
|
useCallback as useCallback9,
|
|
5844
5846
|
useContext as useContext24,
|
|
5845
5847
|
useEffect as useEffect9,
|
|
@@ -5848,13 +5850,13 @@ import React19, {
|
|
|
5848
5850
|
useRef as useRef15,
|
|
5849
5851
|
useState as useState12
|
|
5850
5852
|
} from "react";
|
|
5851
|
-
import { jsx as
|
|
5852
|
-
import
|
|
5853
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
5854
|
+
import React21 from "react";
|
|
5853
5855
|
import { useEffect as useEffect10, useState as useState13 } from "react";
|
|
5854
5856
|
import { useEffect as useEffect11, useRef as useRef17 } from "react";
|
|
5855
5857
|
import { useEffect as useEffect13 } from "react";
|
|
5856
|
-
import { createContext as
|
|
5857
|
-
import { jsx as
|
|
5858
|
+
import { createContext as createContext22, useContext as useContext27, useMemo as useMemo26 } from "react";
|
|
5859
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
5858
5860
|
import {
|
|
5859
5861
|
forwardRef as forwardRef6,
|
|
5860
5862
|
useContext as useContext29,
|
|
@@ -5864,8 +5866,8 @@ import {
|
|
|
5864
5866
|
useMemo as useMemo28,
|
|
5865
5867
|
useRef as useRef20
|
|
5866
5868
|
} from "react";
|
|
5867
|
-
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
5868
5869
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
5870
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
5869
5871
|
import {
|
|
5870
5872
|
forwardRef as forwardRef8,
|
|
5871
5873
|
useCallback as useCallback14,
|
|
@@ -5875,9 +5877,9 @@ import {
|
|
|
5875
5877
|
useRef as useRef21,
|
|
5876
5878
|
useState as useState15
|
|
5877
5879
|
} from "react";
|
|
5878
|
-
import { jsx as
|
|
5880
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
5879
5881
|
import {
|
|
5880
|
-
createContext as
|
|
5882
|
+
createContext as createContext23,
|
|
5881
5883
|
forwardRef as forwardRef9,
|
|
5882
5884
|
useCallback as useCallback15,
|
|
5883
5885
|
useContext as useContext31,
|
|
@@ -5885,7 +5887,7 @@ import {
|
|
|
5885
5887
|
useMemo as useMemo30,
|
|
5886
5888
|
useRef as useRef22
|
|
5887
5889
|
} from "react";
|
|
5888
|
-
import { jsx as
|
|
5890
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5889
5891
|
import {
|
|
5890
5892
|
forwardRef as forwardRef10,
|
|
5891
5893
|
useCallback as useCallback16,
|
|
@@ -5896,13 +5898,13 @@ import {
|
|
|
5896
5898
|
useRef as useRef23,
|
|
5897
5899
|
useState as useState16
|
|
5898
5900
|
} from "react";
|
|
5899
|
-
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
5900
|
-
import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
|
|
5901
5901
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
5902
|
-
import {
|
|
5902
|
+
import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
|
|
5903
5903
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
5904
|
+
import { useCallback as useCallback18, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
|
|
5905
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
5904
5906
|
import { createRef as createRef3 } from "react";
|
|
5905
|
-
import
|
|
5907
|
+
import React29 from "react";
|
|
5906
5908
|
import {
|
|
5907
5909
|
useCallback as useCallback19,
|
|
5908
5910
|
useImperativeHandle as useImperativeHandle8,
|
|
@@ -5910,49 +5912,52 @@ import {
|
|
|
5910
5912
|
useRef as useRef25,
|
|
5911
5913
|
useState as useState18
|
|
5912
5914
|
} from "react";
|
|
5913
|
-
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
5914
|
-
import React29 from "react";
|
|
5915
|
-
import { useMemo as useMemo34 } from "react";
|
|
5916
|
-
import { createContext as createContext23, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
5917
5915
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
5916
|
+
import React30 from "react";
|
|
5917
|
+
import { useMemo as useMemo34 } from "react";
|
|
5918
|
+
import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
5918
5919
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
5919
|
-
import
|
|
5920
|
-
import React32
|
|
5920
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
5921
|
+
import React32 from "react";
|
|
5922
|
+
import React33, { createContext as createContext25 } from "react";
|
|
5923
|
+
import React34, { useContext as useContext35 } from "react";
|
|
5921
5924
|
import { useCallback as useCallback22 } from "react";
|
|
5922
5925
|
import {
|
|
5923
5926
|
useCallback as useCallback20,
|
|
5924
|
-
useContext as
|
|
5927
|
+
useContext as useContext36,
|
|
5925
5928
|
useEffect as useEffect18,
|
|
5926
5929
|
useLayoutEffect as useLayoutEffect11,
|
|
5927
5930
|
useMemo as useMemo35,
|
|
5928
5931
|
useState as useState19
|
|
5929
5932
|
} from "react";
|
|
5930
|
-
import { jsx as
|
|
5931
|
-
import
|
|
5933
|
+
import { jsx as jsx322 } from "react/jsx-runtime";
|
|
5934
|
+
import React36, {
|
|
5932
5935
|
forwardRef as forwardRef12,
|
|
5933
|
-
|
|
5936
|
+
useCallback as useCallback21,
|
|
5937
|
+
useContext as useContext37,
|
|
5934
5938
|
useEffect as useEffect20,
|
|
5935
5939
|
useImperativeHandle as useImperativeHandle9,
|
|
5936
5940
|
useMemo as useMemo36,
|
|
5937
5941
|
useRef as useRef26,
|
|
5938
|
-
useState as useState20
|
|
5939
|
-
useCallback as useCallback21
|
|
5942
|
+
useState as useState20
|
|
5940
5943
|
} from "react";
|
|
5941
5944
|
import { useEffect as useEffect19 } from "react";
|
|
5942
|
-
import { jsx as jsx322 } from "react/jsx-runtime";
|
|
5943
5945
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
5944
|
-
import React36, { useMemo as useMemo37 } from "react";
|
|
5945
5946
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
5946
|
-
import
|
|
5947
|
-
import React37 from "react";
|
|
5948
|
-
import React38, { createContext as createContext25 } from "react";
|
|
5947
|
+
import React38, { useMemo as useMemo37 } from "react";
|
|
5949
5948
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
5949
|
+
import {
|
|
5950
|
+
Children,
|
|
5951
|
+
forwardRef as forwardRef13,
|
|
5952
|
+
useMemo as useMemo38
|
|
5953
|
+
} from "react";
|
|
5954
|
+
import React39 from "react";
|
|
5950
5955
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5951
|
-
import
|
|
5952
|
-
import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as
|
|
5956
|
+
import React41 from "react";
|
|
5957
|
+
import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as useContext39 } from "react";
|
|
5953
5958
|
import {
|
|
5954
5959
|
forwardRef as forwardRef14,
|
|
5955
|
-
useContext as
|
|
5960
|
+
useContext as useContext38,
|
|
5956
5961
|
useEffect as useEffect21,
|
|
5957
5962
|
useImperativeHandle as useImperativeHandle10,
|
|
5958
5963
|
useLayoutEffect as useLayoutEffect12,
|
|
@@ -6130,11 +6135,57 @@ function truthy2(value) {
|
|
|
6130
6135
|
return Boolean(value);
|
|
6131
6136
|
}
|
|
6132
6137
|
var getRegex = () => /^([a-zA-Z0-9-\u4E00-\u9FFF])+$/g;
|
|
6138
|
+
var isFolderNameValid = (name) => name.match(getRegex());
|
|
6139
|
+
var validateFolderName = (name) => {
|
|
6140
|
+
if (name === undefined || name === null) {
|
|
6141
|
+
throw new TypeError("You must pass a name to a <Folder />.");
|
|
6142
|
+
}
|
|
6143
|
+
if (typeof name !== "string") {
|
|
6144
|
+
throw new TypeError(`The "name" you pass into <Folder /> must be a string. Got: ${typeof name}`);
|
|
6145
|
+
}
|
|
6146
|
+
if (!isFolderNameValid(name)) {
|
|
6147
|
+
throw new Error(`Folder name can only contain a-z, A-Z, 0-9 and -. You passed ${name}`);
|
|
6148
|
+
}
|
|
6149
|
+
};
|
|
6133
6150
|
var invalidFolderNameErrorMessage = `Folder name must match ${String(getRegex())}`;
|
|
6134
6151
|
var FolderContext = createContext6({
|
|
6135
6152
|
folderName: null,
|
|
6136
6153
|
parentName: null
|
|
6137
6154
|
});
|
|
6155
|
+
var Folder = (props) => {
|
|
6156
|
+
const { name, children } = props;
|
|
6157
|
+
const parent = useContext2(FolderContext);
|
|
6158
|
+
const { registerFolder, unregisterFolder } = useContext2(CompositionSetters);
|
|
6159
|
+
const nonce = useNonce();
|
|
6160
|
+
const stack = props.stack ?? null;
|
|
6161
|
+
validateFolderName(name);
|
|
6162
|
+
const parentNameArr = [parent.parentName, parent.folderName].filter(truthy2);
|
|
6163
|
+
const parentName = parentNameArr.length === 0 ? null : parentNameArr.join("/");
|
|
6164
|
+
const value = useMemo2(() => {
|
|
6165
|
+
return {
|
|
6166
|
+
folderName: name,
|
|
6167
|
+
parentName
|
|
6168
|
+
};
|
|
6169
|
+
}, [name, parentName]);
|
|
6170
|
+
useEffect(() => {
|
|
6171
|
+
registerFolder(name, parentName, nonce.get(), stack);
|
|
6172
|
+
return () => {
|
|
6173
|
+
unregisterFolder(name, parentName);
|
|
6174
|
+
};
|
|
6175
|
+
}, [
|
|
6176
|
+
name,
|
|
6177
|
+
parent.folderName,
|
|
6178
|
+
parentName,
|
|
6179
|
+
registerFolder,
|
|
6180
|
+
unregisterFolder,
|
|
6181
|
+
nonce,
|
|
6182
|
+
stack
|
|
6183
|
+
]);
|
|
6184
|
+
return /* @__PURE__ */ jsx22(FolderContext.Provider, {
|
|
6185
|
+
value,
|
|
6186
|
+
children
|
|
6187
|
+
});
|
|
6188
|
+
};
|
|
6138
6189
|
function getNodeEnvString() {
|
|
6139
6190
|
return ["NOD", "E_EN", "V"].join("");
|
|
6140
6191
|
}
|
|
@@ -7083,7 +7134,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
7083
7134
|
var addSequenceStackTraces = (component) => {
|
|
7084
7135
|
componentsToAddStacksTo.push(component);
|
|
7085
7136
|
};
|
|
7086
|
-
var VERSION = "4.0.
|
|
7137
|
+
var VERSION = "4.0.472";
|
|
7087
7138
|
var checkMultipleRemotionVersions = () => {
|
|
7088
7139
|
if (typeof globalThis === "undefined") {
|
|
7089
7140
|
return;
|
|
@@ -7453,7 +7504,7 @@ var sequenceVisualStyleSchema = {
|
|
|
7453
7504
|
description: "Offset"
|
|
7454
7505
|
},
|
|
7455
7506
|
"style.scale": {
|
|
7456
|
-
type: "
|
|
7507
|
+
type: "scale",
|
|
7457
7508
|
min: 0.05,
|
|
7458
7509
|
max: 100,
|
|
7459
7510
|
step: 0.01,
|
|
@@ -7461,7 +7512,7 @@ var sequenceVisualStyleSchema = {
|
|
|
7461
7512
|
description: "Scale"
|
|
7462
7513
|
},
|
|
7463
7514
|
"style.rotate": {
|
|
7464
|
-
type: "rotation",
|
|
7515
|
+
type: "rotation-css",
|
|
7465
7516
|
step: 1,
|
|
7466
7517
|
default: "0deg",
|
|
7467
7518
|
description: "Rotation"
|
|
@@ -7472,7 +7523,8 @@ var sequenceVisualStyleSchema = {
|
|
|
7472
7523
|
max: 1,
|
|
7473
7524
|
step: 0.01,
|
|
7474
7525
|
default: 1,
|
|
7475
|
-
description: "Opacity"
|
|
7526
|
+
description: "Opacity",
|
|
7527
|
+
hiddenFromList: false
|
|
7476
7528
|
}
|
|
7477
7529
|
};
|
|
7478
7530
|
var sequencePremountSchema = {
|
|
@@ -7481,10 +7533,15 @@ var sequencePremountSchema = {
|
|
|
7481
7533
|
default: 0,
|
|
7482
7534
|
description: "Premount For",
|
|
7483
7535
|
min: 0,
|
|
7484
|
-
step: 1
|
|
7536
|
+
step: 1,
|
|
7537
|
+
hiddenFromList: false
|
|
7485
7538
|
},
|
|
7486
7539
|
postmountFor: {
|
|
7487
|
-
type: "
|
|
7540
|
+
type: "number",
|
|
7541
|
+
default: 0,
|
|
7542
|
+
min: 0,
|
|
7543
|
+
step: 1,
|
|
7544
|
+
hiddenFromList: true
|
|
7488
7545
|
},
|
|
7489
7546
|
styleWhilePremounted: {
|
|
7490
7547
|
type: "hidden"
|
|
@@ -7502,8 +7559,23 @@ var hiddenField = {
|
|
|
7502
7559
|
default: false,
|
|
7503
7560
|
description: "Hidden"
|
|
7504
7561
|
};
|
|
7562
|
+
var durationInFramesField = {
|
|
7563
|
+
type: "number",
|
|
7564
|
+
default: undefined,
|
|
7565
|
+
min: 1,
|
|
7566
|
+
step: 1,
|
|
7567
|
+
hiddenFromList: true
|
|
7568
|
+
};
|
|
7569
|
+
var fromField = {
|
|
7570
|
+
type: "number",
|
|
7571
|
+
default: 0,
|
|
7572
|
+
step: 1,
|
|
7573
|
+
hiddenFromList: true
|
|
7574
|
+
};
|
|
7505
7575
|
var sequenceSchema = {
|
|
7506
7576
|
hidden: hiddenField,
|
|
7577
|
+
from: fromField,
|
|
7578
|
+
durationInFrames: durationInFramesField,
|
|
7507
7579
|
layout: {
|
|
7508
7580
|
type: "enum",
|
|
7509
7581
|
default: "absolute-fill",
|
|
@@ -7684,6 +7756,25 @@ var SequenceManagerProvider = ({ children }) => {
|
|
|
7684
7756
|
})
|
|
7685
7757
|
});
|
|
7686
7758
|
};
|
|
7759
|
+
var IsInsideSeriesContext = createContext15(false);
|
|
7760
|
+
var IsInsideSeriesContainer = ({ children }) => {
|
|
7761
|
+
return /* @__PURE__ */ jsx112(IsInsideSeriesContext.Provider, {
|
|
7762
|
+
value: true,
|
|
7763
|
+
children
|
|
7764
|
+
});
|
|
7765
|
+
};
|
|
7766
|
+
var IsNotInsideSeriesProvider = ({ children }) => {
|
|
7767
|
+
return /* @__PURE__ */ jsx112(IsInsideSeriesContext.Provider, {
|
|
7768
|
+
value: false,
|
|
7769
|
+
children
|
|
7770
|
+
});
|
|
7771
|
+
};
|
|
7772
|
+
var useRequireToBeInsideSeries = () => {
|
|
7773
|
+
const isInsideSeries = React12.useContext(IsInsideSeriesContext);
|
|
7774
|
+
if (!isInsideSeries) {
|
|
7775
|
+
throw new Error("This component must be inside a <Series /> component.");
|
|
7776
|
+
}
|
|
7777
|
+
};
|
|
7687
7778
|
var ENABLE_V5_BREAKING_CHANGES = false;
|
|
7688
7779
|
var deleteNestedKey = (obj, keysToRemove) => {
|
|
7689
7780
|
for (const key of keysToRemove) {
|
|
@@ -7716,349 +7807,126 @@ var deleteNestedKey = (obj, keysToRemove) => {
|
|
|
7716
7807
|
}
|
|
7717
7808
|
return obj;
|
|
7718
7809
|
};
|
|
7719
|
-
var
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
var
|
|
7723
|
-
|
|
7724
|
-
|
|
7810
|
+
var NEWTON_ITERATIONS = 4;
|
|
7811
|
+
var NEWTON_MIN_SLOPE = 0.001;
|
|
7812
|
+
var SUBDIVISION_PRECISION = 0.0000001;
|
|
7813
|
+
var SUBDIVISION_MAX_ITERATIONS = 10;
|
|
7814
|
+
var kSplineTableSize = 11;
|
|
7815
|
+
var kSampleStepSize = 1 / (kSplineTableSize - 1);
|
|
7816
|
+
var float32ArraySupported = typeof Float32Array === "function";
|
|
7817
|
+
function a(aA1, aA2) {
|
|
7818
|
+
return 1 - 3 * aA2 + 3 * aA1;
|
|
7819
|
+
}
|
|
7820
|
+
function b(aA1, aA2) {
|
|
7821
|
+
return 3 * aA2 - 6 * aA1;
|
|
7822
|
+
}
|
|
7823
|
+
function c(aA1) {
|
|
7824
|
+
return 3 * aA1;
|
|
7825
|
+
}
|
|
7826
|
+
function calcBezier(aT, aA1, aA2) {
|
|
7827
|
+
return ((a(aA1, aA2) * aT + b(aA1, aA2)) * aT + c(aA1)) * aT;
|
|
7828
|
+
}
|
|
7829
|
+
function getSlope(aT, aA1, aA2) {
|
|
7830
|
+
return 3 * a(aA1, aA2) * aT * aT + 2 * b(aA1, aA2) * aT + c(aA1);
|
|
7831
|
+
}
|
|
7832
|
+
function binarySubdivide({
|
|
7833
|
+
aX,
|
|
7834
|
+
_aA,
|
|
7835
|
+
_aB,
|
|
7836
|
+
mX1,
|
|
7837
|
+
mX2
|
|
7838
|
+
}) {
|
|
7839
|
+
let currentX;
|
|
7840
|
+
let currentT;
|
|
7841
|
+
let i = 0;
|
|
7842
|
+
let aA = _aA;
|
|
7843
|
+
let aB = _aB;
|
|
7844
|
+
do {
|
|
7845
|
+
currentT = aA + (aB - aA) / 2;
|
|
7846
|
+
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
|
7847
|
+
if (currentX > 0) {
|
|
7848
|
+
aB = currentT;
|
|
7849
|
+
} else {
|
|
7850
|
+
aA = currentT;
|
|
7851
|
+
}
|
|
7852
|
+
} while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
|
|
7853
|
+
return currentT;
|
|
7854
|
+
}
|
|
7855
|
+
function newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {
|
|
7856
|
+
let aGuessT = _aGuessT;
|
|
7857
|
+
for (let i = 0;i < NEWTON_ITERATIONS; ++i) {
|
|
7858
|
+
const currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
7859
|
+
if (currentSlope === 0) {
|
|
7860
|
+
return aGuessT;
|
|
7861
|
+
}
|
|
7862
|
+
const currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
7863
|
+
aGuessT -= currentX / currentSlope;
|
|
7725
7864
|
}
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7729
|
-
|
|
7730
|
-
|
|
7731
|
-
}) => {
|
|
7732
|
-
if (!codeOverrides && !dragOverrides) {
|
|
7733
|
-
return { params: descriptor.params, effectKey: descriptor.effectKey };
|
|
7865
|
+
return aGuessT;
|
|
7866
|
+
}
|
|
7867
|
+
function bezier(mX1, mY1, mX2, mY2) {
|
|
7868
|
+
if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {
|
|
7869
|
+
throw new Error("bezier x values must be in [0, 1] range");
|
|
7734
7870
|
}
|
|
7735
|
-
const
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
for (const [key, value] of Object.entries(codeOverrides)) {
|
|
7740
|
-
if (value !== undefined) {
|
|
7741
|
-
merged[key] = value;
|
|
7742
|
-
}
|
|
7871
|
+
const sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
|
|
7872
|
+
if (mX1 !== mY1 || mX2 !== mY2) {
|
|
7873
|
+
for (let i = 0;i < kSplineTableSize; ++i) {
|
|
7874
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
7743
7875
|
}
|
|
7744
7876
|
}
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7877
|
+
function getTForX(aX) {
|
|
7878
|
+
let intervalStart = 0;
|
|
7879
|
+
let currentSample = 1;
|
|
7880
|
+
const lastSample = kSplineTableSize - 1;
|
|
7881
|
+
for (;currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
|
|
7882
|
+
intervalStart += kSampleStepSize;
|
|
7748
7883
|
}
|
|
7884
|
+
--currentSample;
|
|
7885
|
+
const dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
|
7886
|
+
const guessForT = intervalStart + dist * kSampleStepSize;
|
|
7887
|
+
const initialSlope = getSlope(guessForT, mX1, mX2);
|
|
7888
|
+
if (initialSlope >= NEWTON_MIN_SLOPE) {
|
|
7889
|
+
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
|
7890
|
+
}
|
|
7891
|
+
if (initialSlope === 0) {
|
|
7892
|
+
return guessForT;
|
|
7893
|
+
}
|
|
7894
|
+
return binarySubdivide({
|
|
7895
|
+
aX,
|
|
7896
|
+
_aA: intervalStart,
|
|
7897
|
+
_aB: intervalStart + kSampleStepSize,
|
|
7898
|
+
mX1,
|
|
7899
|
+
mX2
|
|
7900
|
+
});
|
|
7749
7901
|
}
|
|
7750
|
-
return {
|
|
7751
|
-
|
|
7752
|
-
|
|
7753
|
-
|
|
7754
|
-
}
|
|
7755
|
-
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
let hasAny = false;
|
|
7761
|
-
for (const [key, status] of Object.entries(propStatus)) {
|
|
7762
|
-
if (status.canUpdate) {
|
|
7763
|
-
out[key] = status.codeValue;
|
|
7764
|
-
hasAny = true;
|
|
7902
|
+
return function(x) {
|
|
7903
|
+
const clampedX = Math.min(1, Math.max(0, x));
|
|
7904
|
+
if (mX1 === mY1 && mX2 === mY2) {
|
|
7905
|
+
return clampedX;
|
|
7906
|
+
}
|
|
7907
|
+
if (clampedX === 0) {
|
|
7908
|
+
return 0;
|
|
7909
|
+
}
|
|
7910
|
+
if (clampedX === 1) {
|
|
7911
|
+
return 1;
|
|
7765
7912
|
}
|
|
7913
|
+
return calcBezier(getTForX(clampedX), mY1, mY2);
|
|
7914
|
+
};
|
|
7915
|
+
}
|
|
7916
|
+
var clampUnit = (t) => Math.min(1, Math.max(0, t));
|
|
7917
|
+
|
|
7918
|
+
class Easing {
|
|
7919
|
+
static step0(n) {
|
|
7920
|
+
return n > 0 ? 1 : 0;
|
|
7766
7921
|
}
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
var useMemoizedEffectDefinitions = (effects) => {
|
|
7770
|
-
const previousRef = useRef5(null);
|
|
7771
|
-
const definitions = effects.map((descriptor) => descriptor.definition);
|
|
7772
|
-
const previous = previousRef.current;
|
|
7773
|
-
const isSame = previous !== null && previous.length === definitions.length && previous.every((def, i) => def === definitions[i]);
|
|
7774
|
-
if (isSame) {
|
|
7775
|
-
return previous;
|
|
7922
|
+
static step1(n) {
|
|
7923
|
+
return n >= 1 ? 1 : 0;
|
|
7776
7924
|
}
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
};
|
|
7780
|
-
var getEffectCodeValuesCtx = ({
|
|
7781
|
-
codeValues,
|
|
7782
|
-
nodePath,
|
|
7783
|
-
effectIndex
|
|
7784
|
-
}) => {
|
|
7785
|
-
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
7786
|
-
if (!status) {
|
|
7787
|
-
return { type: "cannot-update-sequence", reason: "not-found" };
|
|
7925
|
+
static linear(t) {
|
|
7926
|
+
return t;
|
|
7788
7927
|
}
|
|
7789
|
-
|
|
7790
|
-
return
|
|
7791
|
-
}
|
|
7792
|
-
const effect = status.effects.find((e) => e.effectIndex === effectIndex);
|
|
7793
|
-
if (!effect) {
|
|
7794
|
-
return { type: "cannot-update-effect", reason: "not-found" };
|
|
7795
|
-
}
|
|
7796
|
-
if (!effect.canUpdate) {
|
|
7797
|
-
return { type: "cannot-update-effect", reason: effect.reason };
|
|
7798
|
-
}
|
|
7799
|
-
return { type: "can-update-effect", props: effect.props };
|
|
7800
|
-
};
|
|
7801
|
-
var getCodeValuesCtx = (codeValues, nodePath) => {
|
|
7802
|
-
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
7803
|
-
if (!status) {
|
|
7804
|
-
return;
|
|
7805
|
-
}
|
|
7806
|
-
if (!status.canUpdate) {
|
|
7807
|
-
return;
|
|
7808
|
-
}
|
|
7809
|
-
return status.props;
|
|
7810
|
-
};
|
|
7811
|
-
var useMemoizedEffects = ({
|
|
7812
|
-
effects,
|
|
7813
|
-
overrideId
|
|
7814
|
-
}) => {
|
|
7815
|
-
const previousRef = useRef5(null);
|
|
7816
|
-
const { codeValues } = useContext15(VisualModeCodeValuesContext);
|
|
7817
|
-
const { getEffectDragOverrides } = useContext15(VisualModeDragOverridesContext);
|
|
7818
|
-
const { overrideIdToNodePathMappings } = useContext15(OverrideIdsToNodePathsGettersContext);
|
|
7819
|
-
const previous = previousRef.current;
|
|
7820
|
-
const nodePath = overrideId ? overrideIdToNodePathMappings[overrideId] ?? null : null;
|
|
7821
|
-
const resolved = effects.map((descriptor, index) => {
|
|
7822
|
-
if (nodePath === null) {
|
|
7823
|
-
return {
|
|
7824
|
-
descriptor,
|
|
7825
|
-
params: descriptor.params,
|
|
7826
|
-
effectKey: descriptor.effectKey
|
|
7827
|
-
};
|
|
7828
|
-
}
|
|
7829
|
-
const effectStatus = getEffectCodeValuesCtx({
|
|
7830
|
-
codeValues,
|
|
7831
|
-
nodePath,
|
|
7832
|
-
effectIndex: index
|
|
7833
|
-
});
|
|
7834
|
-
const codeOverrides = effectStatus.type === "can-update-effect" ? extractCodeOverrides(effectStatus.props) : null;
|
|
7835
|
-
const dragOverridesMap = getEffectDragOverrides(nodePath, index);
|
|
7836
|
-
const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
|
|
7837
|
-
const { params, effectKey } = mergeOverrides({
|
|
7838
|
-
descriptor,
|
|
7839
|
-
codeOverrides,
|
|
7840
|
-
dragOverrides
|
|
7841
|
-
});
|
|
7842
|
-
return { descriptor, params, effectKey };
|
|
7843
|
-
});
|
|
7844
|
-
const isSame = previous !== null && previous.length === resolved.length && previous.every((p, i) => p.definition === resolved[i].descriptor.definition && p.effectKey === resolved[i].effectKey);
|
|
7845
|
-
if (isSame) {
|
|
7846
|
-
return previous;
|
|
7847
|
-
}
|
|
7848
|
-
const next = resolved.map(({ descriptor, params, effectKey }) => ({
|
|
7849
|
-
definition: descriptor.definition,
|
|
7850
|
-
effectKey,
|
|
7851
|
-
params,
|
|
7852
|
-
memoized: true
|
|
7853
|
-
}));
|
|
7854
|
-
previousRef.current = next;
|
|
7855
|
-
return next;
|
|
7856
|
-
};
|
|
7857
|
-
var flattenActiveSchema = (schema, resolve) => {
|
|
7858
|
-
const out = {};
|
|
7859
|
-
for (const key of Object.keys(schema)) {
|
|
7860
|
-
const field = schema[key];
|
|
7861
|
-
if (field.type === "hidden") {
|
|
7862
|
-
continue;
|
|
7863
|
-
} else if (field.type === "enum") {
|
|
7864
|
-
out[key] = field;
|
|
7865
|
-
const current = resolve(key) ?? field.default;
|
|
7866
|
-
const variant = field.variants[current];
|
|
7867
|
-
if (variant) {
|
|
7868
|
-
Object.assign(out, flattenActiveSchema(variant, resolve));
|
|
7869
|
-
}
|
|
7870
|
-
} else {
|
|
7871
|
-
out[key] = field;
|
|
7872
|
-
}
|
|
7873
|
-
}
|
|
7874
|
-
return out;
|
|
7875
|
-
};
|
|
7876
|
-
var getFlatSchemaWithAllKeys = (schema) => {
|
|
7877
|
-
const out = {};
|
|
7878
|
-
const addKey = (key, field) => {
|
|
7879
|
-
if (key in out) {
|
|
7880
|
-
throw new Error(`Duplicate key "${key}" in schema: discriminated union variants must not share keys`);
|
|
7881
|
-
}
|
|
7882
|
-
out[key] = field;
|
|
7883
|
-
};
|
|
7884
|
-
for (const key of Object.keys(schema)) {
|
|
7885
|
-
const field = schema[key];
|
|
7886
|
-
addKey(key, field);
|
|
7887
|
-
if (field.type === "enum") {
|
|
7888
|
-
for (const variant of Object.values(field.variants)) {
|
|
7889
|
-
const flatVariant = getFlatSchemaWithAllKeys(variant);
|
|
7890
|
-
for (const variantKey of Object.keys(flatVariant)) {
|
|
7891
|
-
addKey(variantKey, flatVariant[variantKey]);
|
|
7892
|
-
}
|
|
7893
|
-
}
|
|
7894
|
-
}
|
|
7895
|
-
}
|
|
7896
|
-
return out;
|
|
7897
|
-
};
|
|
7898
|
-
var findPropsToDelete = ({
|
|
7899
|
-
schema,
|
|
7900
|
-
key,
|
|
7901
|
-
value
|
|
7902
|
-
}) => {
|
|
7903
|
-
const fieldSchema = schema[key];
|
|
7904
|
-
if (!fieldSchema) {
|
|
7905
|
-
throw new Error("Key " + JSON.stringify(key) + " not found in schema");
|
|
7906
|
-
}
|
|
7907
|
-
if (typeof value !== "string") {
|
|
7908
|
-
throw new Error("Value must be a string, but is " + JSON.stringify(value));
|
|
7909
|
-
}
|
|
7910
|
-
if (fieldSchema.type !== "enum") {
|
|
7911
|
-
throw new Error("Key " + JSON.stringify(key) + " is not an enum");
|
|
7912
|
-
}
|
|
7913
|
-
const currentVariant = fieldSchema.variants[value];
|
|
7914
|
-
if (!currentVariant) {
|
|
7915
|
-
throw new Error("Value for " + JSON.stringify(key) + " must be one of " + Object.keys(fieldSchema.variants).map((v) => JSON.stringify(v)).join(", ") + ", got " + JSON.stringify(value));
|
|
7916
|
-
}
|
|
7917
|
-
const otherVariants = Object.keys(fieldSchema.variants).filter((v) => v !== value);
|
|
7918
|
-
const otherKeys = new Set;
|
|
7919
|
-
for (const variant of otherVariants) {
|
|
7920
|
-
const otherVariant = fieldSchema.variants[variant];
|
|
7921
|
-
const keys = Object.keys(otherVariant);
|
|
7922
|
-
for (const k of keys) {
|
|
7923
|
-
otherKeys.add(k);
|
|
7924
|
-
}
|
|
7925
|
-
}
|
|
7926
|
-
return [...otherKeys];
|
|
7927
|
-
};
|
|
7928
|
-
var getEffectiveVisualModeValue = ({
|
|
7929
|
-
codeValue,
|
|
7930
|
-
dragOverrideValue,
|
|
7931
|
-
defaultValue,
|
|
7932
|
-
shouldResortToDefaultValueIfUndefined = false
|
|
7933
|
-
}) => {
|
|
7934
|
-
if (dragOverrideValue !== undefined) {
|
|
7935
|
-
return dragOverrideValue;
|
|
7936
|
-
}
|
|
7937
|
-
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
7938
|
-
return defaultValue;
|
|
7939
|
-
}
|
|
7940
|
-
return codeValue.codeValue;
|
|
7941
|
-
};
|
|
7942
|
-
var NEWTON_ITERATIONS = 4;
|
|
7943
|
-
var NEWTON_MIN_SLOPE = 0.001;
|
|
7944
|
-
var SUBDIVISION_PRECISION = 0.0000001;
|
|
7945
|
-
var SUBDIVISION_MAX_ITERATIONS = 10;
|
|
7946
|
-
var kSplineTableSize = 11;
|
|
7947
|
-
var kSampleStepSize = 1 / (kSplineTableSize - 1);
|
|
7948
|
-
var float32ArraySupported = typeof Float32Array === "function";
|
|
7949
|
-
function a(aA1, aA2) {
|
|
7950
|
-
return 1 - 3 * aA2 + 3 * aA1;
|
|
7951
|
-
}
|
|
7952
|
-
function b(aA1, aA2) {
|
|
7953
|
-
return 3 * aA2 - 6 * aA1;
|
|
7954
|
-
}
|
|
7955
|
-
function c(aA1) {
|
|
7956
|
-
return 3 * aA1;
|
|
7957
|
-
}
|
|
7958
|
-
function calcBezier(aT, aA1, aA2) {
|
|
7959
|
-
return ((a(aA1, aA2) * aT + b(aA1, aA2)) * aT + c(aA1)) * aT;
|
|
7960
|
-
}
|
|
7961
|
-
function getSlope(aT, aA1, aA2) {
|
|
7962
|
-
return 3 * a(aA1, aA2) * aT * aT + 2 * b(aA1, aA2) * aT + c(aA1);
|
|
7963
|
-
}
|
|
7964
|
-
function binarySubdivide({
|
|
7965
|
-
aX,
|
|
7966
|
-
_aA,
|
|
7967
|
-
_aB,
|
|
7968
|
-
mX1,
|
|
7969
|
-
mX2
|
|
7970
|
-
}) {
|
|
7971
|
-
let currentX;
|
|
7972
|
-
let currentT;
|
|
7973
|
-
let i = 0;
|
|
7974
|
-
let aA = _aA;
|
|
7975
|
-
let aB = _aB;
|
|
7976
|
-
do {
|
|
7977
|
-
currentT = aA + (aB - aA) / 2;
|
|
7978
|
-
currentX = calcBezier(currentT, mX1, mX2) - aX;
|
|
7979
|
-
if (currentX > 0) {
|
|
7980
|
-
aB = currentT;
|
|
7981
|
-
} else {
|
|
7982
|
-
aA = currentT;
|
|
7983
|
-
}
|
|
7984
|
-
} while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
|
|
7985
|
-
return currentT;
|
|
7986
|
-
}
|
|
7987
|
-
function newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {
|
|
7988
|
-
let aGuessT = _aGuessT;
|
|
7989
|
-
for (let i = 0;i < NEWTON_ITERATIONS; ++i) {
|
|
7990
|
-
const currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
7991
|
-
if (currentSlope === 0) {
|
|
7992
|
-
return aGuessT;
|
|
7993
|
-
}
|
|
7994
|
-
const currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
7995
|
-
aGuessT -= currentX / currentSlope;
|
|
7996
|
-
}
|
|
7997
|
-
return aGuessT;
|
|
7998
|
-
}
|
|
7999
|
-
function bezier(mX1, mY1, mX2, mY2) {
|
|
8000
|
-
if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {
|
|
8001
|
-
throw new Error("bezier x values must be in [0, 1] range");
|
|
8002
|
-
}
|
|
8003
|
-
const sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
|
|
8004
|
-
if (mX1 !== mY1 || mX2 !== mY2) {
|
|
8005
|
-
for (let i = 0;i < kSplineTableSize; ++i) {
|
|
8006
|
-
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
8007
|
-
}
|
|
8008
|
-
}
|
|
8009
|
-
function getTForX(aX) {
|
|
8010
|
-
let intervalStart = 0;
|
|
8011
|
-
let currentSample = 1;
|
|
8012
|
-
const lastSample = kSplineTableSize - 1;
|
|
8013
|
-
for (;currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
|
|
8014
|
-
intervalStart += kSampleStepSize;
|
|
8015
|
-
}
|
|
8016
|
-
--currentSample;
|
|
8017
|
-
const dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
|
|
8018
|
-
const guessForT = intervalStart + dist * kSampleStepSize;
|
|
8019
|
-
const initialSlope = getSlope(guessForT, mX1, mX2);
|
|
8020
|
-
if (initialSlope >= NEWTON_MIN_SLOPE) {
|
|
8021
|
-
return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
|
|
8022
|
-
}
|
|
8023
|
-
if (initialSlope === 0) {
|
|
8024
|
-
return guessForT;
|
|
8025
|
-
}
|
|
8026
|
-
return binarySubdivide({
|
|
8027
|
-
aX,
|
|
8028
|
-
_aA: intervalStart,
|
|
8029
|
-
_aB: intervalStart + kSampleStepSize,
|
|
8030
|
-
mX1,
|
|
8031
|
-
mX2
|
|
8032
|
-
});
|
|
8033
|
-
}
|
|
8034
|
-
return function(x) {
|
|
8035
|
-
const clampedX = Math.min(1, Math.max(0, x));
|
|
8036
|
-
if (mX1 === mY1 && mX2 === mY2) {
|
|
8037
|
-
return clampedX;
|
|
8038
|
-
}
|
|
8039
|
-
if (clampedX === 0) {
|
|
8040
|
-
return 0;
|
|
8041
|
-
}
|
|
8042
|
-
if (clampedX === 1) {
|
|
8043
|
-
return 1;
|
|
8044
|
-
}
|
|
8045
|
-
return calcBezier(getTForX(clampedX), mY1, mY2);
|
|
8046
|
-
};
|
|
8047
|
-
}
|
|
8048
|
-
var clampUnit = (t) => Math.min(1, Math.max(0, t));
|
|
8049
|
-
|
|
8050
|
-
class Easing {
|
|
8051
|
-
static step0(n) {
|
|
8052
|
-
return n > 0 ? 1 : 0;
|
|
8053
|
-
}
|
|
8054
|
-
static step1(n) {
|
|
8055
|
-
return n >= 1 ? 1 : 0;
|
|
8056
|
-
}
|
|
8057
|
-
static linear(t) {
|
|
8058
|
-
return t;
|
|
8059
|
-
}
|
|
8060
|
-
static ease(t) {
|
|
8061
|
-
return Easing.bezier(0.42, 0, 1, 1)(t);
|
|
7928
|
+
static ease(t) {
|
|
7929
|
+
return Easing.bezier(0.42, 0, 1, 1)(t);
|
|
8062
7930
|
}
|
|
8063
7931
|
static quad(t) {
|
|
8064
7932
|
return t * t;
|
|
@@ -8120,6 +7988,123 @@ class Easing {
|
|
|
8120
7988
|
};
|
|
8121
7989
|
}
|
|
8122
7990
|
}
|
|
7991
|
+
var normalizeNumber = (value) => {
|
|
7992
|
+
return Math.round(value * 1e6) / 1e6;
|
|
7993
|
+
};
|
|
7994
|
+
var angleUnits = new Set(["deg", "rad", "grad", "turn"]);
|
|
7995
|
+
var lengthUnits = new Set([
|
|
7996
|
+
"%",
|
|
7997
|
+
"cap",
|
|
7998
|
+
"ch",
|
|
7999
|
+
"cm",
|
|
8000
|
+
"cqb",
|
|
8001
|
+
"cqh",
|
|
8002
|
+
"cqi",
|
|
8003
|
+
"cqmax",
|
|
8004
|
+
"cqmin",
|
|
8005
|
+
"cqw",
|
|
8006
|
+
"dvh",
|
|
8007
|
+
"dvw",
|
|
8008
|
+
"em",
|
|
8009
|
+
"ex",
|
|
8010
|
+
"ic",
|
|
8011
|
+
"in",
|
|
8012
|
+
"lh",
|
|
8013
|
+
"lvh",
|
|
8014
|
+
"lvw",
|
|
8015
|
+
"mm",
|
|
8016
|
+
"pc",
|
|
8017
|
+
"pt",
|
|
8018
|
+
"px",
|
|
8019
|
+
"q",
|
|
8020
|
+
"rem",
|
|
8021
|
+
"rlh",
|
|
8022
|
+
"svh",
|
|
8023
|
+
"svw",
|
|
8024
|
+
"vb",
|
|
8025
|
+
"vh",
|
|
8026
|
+
"vi",
|
|
8027
|
+
"vmax",
|
|
8028
|
+
"vmin",
|
|
8029
|
+
"vw"
|
|
8030
|
+
]);
|
|
8031
|
+
var cssNumberRegex = /^([+-]?(?:\d+\.?\d*|\.\d+))([a-zA-Z%]+)?$/;
|
|
8032
|
+
var stringifyNumber = (value) => {
|
|
8033
|
+
return String(normalizeNumber(value));
|
|
8034
|
+
};
|
|
8035
|
+
var parseStringInterpolationComponent = (component, value) => {
|
|
8036
|
+
const match = cssNumberRegex.exec(component);
|
|
8037
|
+
if (match === null) {
|
|
8038
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported scale, translate, or rotate value`);
|
|
8039
|
+
}
|
|
8040
|
+
const unit = match[2] ?? null;
|
|
8041
|
+
const numberValue = Number(match[1]);
|
|
8042
|
+
if (!Number.isFinite(numberValue)) {
|
|
8043
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not finite`);
|
|
8044
|
+
}
|
|
8045
|
+
if (unit === null) {
|
|
8046
|
+
return { kind: "scale", value: numberValue, unit: null };
|
|
8047
|
+
}
|
|
8048
|
+
if (angleUnits.has(unit)) {
|
|
8049
|
+
return { kind: "rotate", value: numberValue, unit };
|
|
8050
|
+
}
|
|
8051
|
+
if (lengthUnits.has(unit)) {
|
|
8052
|
+
return { kind: "translate", value: numberValue, unit };
|
|
8053
|
+
}
|
|
8054
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${unit}" is not a supported translate or rotate unit`);
|
|
8055
|
+
};
|
|
8056
|
+
var parseStringInterpolationValue = (output) => {
|
|
8057
|
+
if (typeof output === "number") {
|
|
8058
|
+
if (!Number.isFinite(output)) {
|
|
8059
|
+
throw new Error(`outputRange must contain only finite numbers, but got [${output}]`);
|
|
8060
|
+
}
|
|
8061
|
+
return {
|
|
8062
|
+
kind: "scale",
|
|
8063
|
+
values: [output, output, 1],
|
|
8064
|
+
units: [null, null, null],
|
|
8065
|
+
dimensions: 1
|
|
8066
|
+
};
|
|
8067
|
+
}
|
|
8068
|
+
const parts = output.trim().split(/\s+/);
|
|
8069
|
+
if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
|
|
8070
|
+
throw new TypeError(`String outputRange values must contain 1 to 3 components, but got "${output}"`);
|
|
8071
|
+
}
|
|
8072
|
+
const parsed = parts.map((part) => parseStringInterpolationComponent(part, output));
|
|
8073
|
+
const [{ kind }] = parsed;
|
|
8074
|
+
for (const part of parsed) {
|
|
8075
|
+
if (part.kind !== kind) {
|
|
8076
|
+
throw new TypeError(`Cannot interpolate "${output}" because it mixes ${kind} and ${part.kind} values`);
|
|
8077
|
+
}
|
|
8078
|
+
}
|
|
8079
|
+
if (kind === "scale") {
|
|
8080
|
+
const x = parsed[0].value;
|
|
8081
|
+
const y = parsed[1]?.value ?? x;
|
|
8082
|
+
const z = parsed[2]?.value ?? 1;
|
|
8083
|
+
return {
|
|
8084
|
+
kind,
|
|
8085
|
+
values: [x, y, z],
|
|
8086
|
+
units: [null, null, null],
|
|
8087
|
+
dimensions: parsed.length
|
|
8088
|
+
};
|
|
8089
|
+
}
|
|
8090
|
+
return {
|
|
8091
|
+
kind,
|
|
8092
|
+
values: [parsed[0].value, parsed[1]?.value ?? 0, parsed[2]?.value ?? 0],
|
|
8093
|
+
units: [parsed[0].unit, parsed[1]?.unit ?? null, parsed[2]?.unit ?? null],
|
|
8094
|
+
dimensions: parsed.length
|
|
8095
|
+
};
|
|
8096
|
+
};
|
|
8097
|
+
var serializeStringInterpolationValue = ({
|
|
8098
|
+
kind,
|
|
8099
|
+
values,
|
|
8100
|
+
units,
|
|
8101
|
+
dimensions
|
|
8102
|
+
}) => {
|
|
8103
|
+
if (kind === "scale") {
|
|
8104
|
+
return values.slice(0, dimensions).map((value) => stringifyNumber(value)).join(" ");
|
|
8105
|
+
}
|
|
8106
|
+
return values.slice(0, dimensions).map((value, index) => `${stringifyNumber(value)}${units[index]}`).join(" ");
|
|
8107
|
+
};
|
|
8123
8108
|
function interpolateFunction(input, inputRange, outputRange, options) {
|
|
8124
8109
|
const { extrapolateLeft, extrapolateRight, easing } = options;
|
|
8125
8110
|
let result = input;
|
|
@@ -8164,6 +8149,96 @@ function findRange(input, inputRange) {
|
|
|
8164
8149
|
}
|
|
8165
8150
|
return i - 1;
|
|
8166
8151
|
}
|
|
8152
|
+
var defaultEasing = (num) => num;
|
|
8153
|
+
var interpolateNumber = ({
|
|
8154
|
+
input,
|
|
8155
|
+
inputRange,
|
|
8156
|
+
outputRange,
|
|
8157
|
+
options
|
|
8158
|
+
}) => {
|
|
8159
|
+
if (inputRange.length === 1) {
|
|
8160
|
+
return outputRange[0];
|
|
8161
|
+
}
|
|
8162
|
+
const easingOption = options?.easing;
|
|
8163
|
+
const resolveEasingForSegment = (segmentIndex) => {
|
|
8164
|
+
if (easingOption === undefined) {
|
|
8165
|
+
return defaultEasing;
|
|
8166
|
+
}
|
|
8167
|
+
if (typeof easingOption === "function") {
|
|
8168
|
+
return easingOption;
|
|
8169
|
+
}
|
|
8170
|
+
return easingOption[segmentIndex];
|
|
8171
|
+
};
|
|
8172
|
+
let extrapolateLeft = "extend";
|
|
8173
|
+
if (options?.extrapolateLeft !== undefined) {
|
|
8174
|
+
extrapolateLeft = options.extrapolateLeft;
|
|
8175
|
+
}
|
|
8176
|
+
let extrapolateRight = "extend";
|
|
8177
|
+
if (options?.extrapolateRight !== undefined) {
|
|
8178
|
+
extrapolateRight = options.extrapolateRight;
|
|
8179
|
+
}
|
|
8180
|
+
const posterizedInput = options?.posterize === undefined ? input : Math.floor(input / options.posterize) * options.posterize;
|
|
8181
|
+
const range = findRange(posterizedInput, inputRange);
|
|
8182
|
+
return interpolateFunction(posterizedInput, [inputRange[range], inputRange[range + 1]], [outputRange[range], outputRange[range + 1]], {
|
|
8183
|
+
easing: resolveEasingForSegment(range),
|
|
8184
|
+
extrapolateLeft,
|
|
8185
|
+
extrapolateRight
|
|
8186
|
+
});
|
|
8187
|
+
};
|
|
8188
|
+
var interpolateString = ({
|
|
8189
|
+
input,
|
|
8190
|
+
inputRange,
|
|
8191
|
+
outputRange,
|
|
8192
|
+
options
|
|
8193
|
+
}) => {
|
|
8194
|
+
const parsedOutputRange = outputRange.map(parseStringInterpolationValue);
|
|
8195
|
+
const kind = parsedOutputRange[0]?.kind;
|
|
8196
|
+
if (kind === undefined) {
|
|
8197
|
+
throw new Error("outputRange must have at least 1 element");
|
|
8198
|
+
}
|
|
8199
|
+
for (const parsed of parsedOutputRange) {
|
|
8200
|
+
if (parsed.kind !== kind) {
|
|
8201
|
+
throw new TypeError(`Cannot interpolate ${kind} values with ${parsed.kind} values`);
|
|
8202
|
+
}
|
|
8203
|
+
}
|
|
8204
|
+
const dimensions = Math.max(...parsedOutputRange.map((parsed) => parsed.dimensions));
|
|
8205
|
+
const units = [
|
|
8206
|
+
null,
|
|
8207
|
+
null,
|
|
8208
|
+
null
|
|
8209
|
+
];
|
|
8210
|
+
if (kind !== "scale") {
|
|
8211
|
+
for (let axis = 0;axis < dimensions; axis++) {
|
|
8212
|
+
for (const parsed of parsedOutputRange) {
|
|
8213
|
+
const unit = parsed.units[axis];
|
|
8214
|
+
if (unit === null) {
|
|
8215
|
+
continue;
|
|
8216
|
+
}
|
|
8217
|
+
if (units[axis] === null) {
|
|
8218
|
+
units[axis] = unit;
|
|
8219
|
+
continue;
|
|
8220
|
+
}
|
|
8221
|
+
if (units[axis] !== unit) {
|
|
8222
|
+
throw new TypeError(`Cannot interpolate ${kind} values with different units on axis ${axis + 1}: ${units[axis]} and ${unit}`);
|
|
8223
|
+
}
|
|
8224
|
+
}
|
|
8225
|
+
if (units[axis] === null) {
|
|
8226
|
+
throw new TypeError(`Cannot interpolate ${kind} values because axis ${axis + 1} has no unit`);
|
|
8227
|
+
}
|
|
8228
|
+
}
|
|
8229
|
+
}
|
|
8230
|
+
return serializeStringInterpolationValue({
|
|
8231
|
+
kind,
|
|
8232
|
+
values: [0, 0, 0].map((_, axis) => interpolateNumber({
|
|
8233
|
+
input,
|
|
8234
|
+
inputRange,
|
|
8235
|
+
outputRange: parsedOutputRange.map((parsed) => parsed.values[axis]),
|
|
8236
|
+
options
|
|
8237
|
+
})),
|
|
8238
|
+
units,
|
|
8239
|
+
dimensions
|
|
8240
|
+
});
|
|
8241
|
+
};
|
|
8167
8242
|
function checkValidInputRange(arr) {
|
|
8168
8243
|
for (let i = 1;i < arr.length; ++i) {
|
|
8169
8244
|
if (!(arr[i] > arr[i - 1])) {
|
|
@@ -8223,42 +8298,27 @@ function interpolate2(input, inputRange, outputRange, options) {
|
|
|
8223
8298
|
throw new Error("inputRange (" + inputRange.length + ") and outputRange (" + outputRange.length + ") must have the same length");
|
|
8224
8299
|
}
|
|
8225
8300
|
checkInfiniteRange("inputRange", inputRange);
|
|
8226
|
-
checkInfiniteRange("outputRange", outputRange);
|
|
8227
8301
|
checkValidInputRange(inputRange);
|
|
8228
8302
|
assertValidInterpolateEasingOption(options?.easing, inputRange.length);
|
|
8229
8303
|
assertValidInterpolatePosterizeOption(options?.posterize);
|
|
8230
|
-
const easingOption = options?.easing;
|
|
8231
|
-
const defaultEasing = (num) => num;
|
|
8232
|
-
const resolveEasingForSegment = (segmentIndex) => {
|
|
8233
|
-
if (easingOption === undefined) {
|
|
8234
|
-
return defaultEasing;
|
|
8235
|
-
}
|
|
8236
|
-
if (typeof easingOption === "function") {
|
|
8237
|
-
return easingOption;
|
|
8238
|
-
}
|
|
8239
|
-
return easingOption[segmentIndex];
|
|
8240
|
-
};
|
|
8241
|
-
let extrapolateLeft = "extend";
|
|
8242
|
-
if (options?.extrapolateLeft !== undefined) {
|
|
8243
|
-
extrapolateLeft = options.extrapolateLeft;
|
|
8244
|
-
}
|
|
8245
|
-
let extrapolateRight = "extend";
|
|
8246
|
-
if (options?.extrapolateRight !== undefined) {
|
|
8247
|
-
extrapolateRight = options.extrapolateRight;
|
|
8248
|
-
}
|
|
8249
8304
|
if (typeof input !== "number") {
|
|
8250
8305
|
throw new TypeError("Cannot interpolate an input which is not a number");
|
|
8251
|
-
}
|
|
8252
|
-
if (
|
|
8253
|
-
|
|
8254
|
-
}
|
|
8255
|
-
const
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8261
|
-
}
|
|
8306
|
+
}
|
|
8307
|
+
if (!Array.isArray(outputRange)) {
|
|
8308
|
+
throw new Error("outputRange must contain only numbers");
|
|
8309
|
+
}
|
|
8310
|
+
const hasStringOutput = outputRange.some((output) => typeof output === "string");
|
|
8311
|
+
if (hasStringOutput) {
|
|
8312
|
+
if (!outputRange.every((output) => typeof output === "string" || typeof output === "number")) {
|
|
8313
|
+
throw new TypeError("outputRange must contain only numbers, or supported scale, translate, and rotate strings");
|
|
8314
|
+
}
|
|
8315
|
+
return interpolateString({ input, inputRange, outputRange, options });
|
|
8316
|
+
}
|
|
8317
|
+
if (!outputRange.every((output) => typeof output === "number")) {
|
|
8318
|
+
throw new TypeError("outputRange must contain only numbers, or supported scale, translate, and rotate strings");
|
|
8319
|
+
}
|
|
8320
|
+
checkInfiniteRange("outputRange", outputRange);
|
|
8321
|
+
return interpolateNumber({ input, inputRange, outputRange, options });
|
|
8262
8322
|
}
|
|
8263
8323
|
var NUMBER = "[-+]?\\d*\\.?\\d+";
|
|
8264
8324
|
var PERCENTAGE = NUMBER + "%";
|
|
@@ -8720,90 +8780,384 @@ var blue = (c2) => {
|
|
|
8720
8780
|
var rgbaColor = (r2, g, b2, alpha) => {
|
|
8721
8781
|
return `rgba(${r2}, ${g}, ${b2}, ${alpha})`;
|
|
8722
8782
|
};
|
|
8723
|
-
function processColor(color) {
|
|
8724
|
-
const normalizedColor = normalizeColor(color);
|
|
8725
|
-
return (normalizedColor << 24 | normalizedColor >>> 8) >>> 0;
|
|
8726
|
-
}
|
|
8727
|
-
var interpolateColorsRGB = (value, inputRange, colors, options) => {
|
|
8728
|
-
const [r2, g, b2, a2] = [red, green, blue, opacity].map((f) => {
|
|
8729
|
-
const unrounded = interpolate2(value, inputRange, colors.map((c2) => f(c2)), {
|
|
8730
|
-
extrapolateLeft: "clamp",
|
|
8731
|
-
extrapolateRight: "clamp",
|
|
8732
|
-
posterize: options?.posterize
|
|
8733
|
-
});
|
|
8734
|
-
if (f === opacity) {
|
|
8735
|
-
return Number(unrounded.toFixed(3));
|
|
8783
|
+
function processColor(color) {
|
|
8784
|
+
const normalizedColor = normalizeColor(color);
|
|
8785
|
+
return (normalizedColor << 24 | normalizedColor >>> 8) >>> 0;
|
|
8786
|
+
}
|
|
8787
|
+
var interpolateColorsRGB = (value, inputRange, colors, options) => {
|
|
8788
|
+
const [r2, g, b2, a2] = [red, green, blue, opacity].map((f) => {
|
|
8789
|
+
const unrounded = interpolate2(value, inputRange, colors.map((c2) => f(c2)), {
|
|
8790
|
+
extrapolateLeft: "clamp",
|
|
8791
|
+
extrapolateRight: "clamp",
|
|
8792
|
+
posterize: options?.posterize
|
|
8793
|
+
});
|
|
8794
|
+
if (f === opacity) {
|
|
8795
|
+
return Number(unrounded.toFixed(3));
|
|
8796
|
+
}
|
|
8797
|
+
return Math.round(unrounded);
|
|
8798
|
+
});
|
|
8799
|
+
return rgbaColor(r2, g, b2, a2);
|
|
8800
|
+
};
|
|
8801
|
+
var interpolateColors = (input, inputRange, outputRange, options) => {
|
|
8802
|
+
if (typeof input === "undefined") {
|
|
8803
|
+
throw new TypeError("input can not be undefined");
|
|
8804
|
+
}
|
|
8805
|
+
if (typeof inputRange === "undefined") {
|
|
8806
|
+
throw new TypeError("inputRange can not be undefined");
|
|
8807
|
+
}
|
|
8808
|
+
if (typeof outputRange === "undefined") {
|
|
8809
|
+
throw new TypeError("outputRange can not be undefined");
|
|
8810
|
+
}
|
|
8811
|
+
if (inputRange.length !== outputRange.length) {
|
|
8812
|
+
throw new TypeError("inputRange (" + inputRange.length + " values provided) and outputRange (" + outputRange.length + " values provided) must have the same length");
|
|
8813
|
+
}
|
|
8814
|
+
const processedOutputRange = outputRange.map((c2) => processColor(c2));
|
|
8815
|
+
return interpolateColorsRGB(input, inputRange, processedOutputRange, options);
|
|
8816
|
+
};
|
|
8817
|
+
var easingToFn = (e) => {
|
|
8818
|
+
if (e === "linear") {
|
|
8819
|
+
return Easing.linear;
|
|
8820
|
+
}
|
|
8821
|
+
return bezier(e[0], e[1], e[2], e[3]);
|
|
8822
|
+
};
|
|
8823
|
+
var interpolateKeyframedStatus = ({
|
|
8824
|
+
frame,
|
|
8825
|
+
status
|
|
8826
|
+
}) => {
|
|
8827
|
+
const { keyframes, easing, clamping, interpolationFunction } = status;
|
|
8828
|
+
if (keyframes.length === 0) {
|
|
8829
|
+
return null;
|
|
8830
|
+
}
|
|
8831
|
+
const inputRange = keyframes.map((k) => k.frame);
|
|
8832
|
+
const outputs = keyframes.map((k) => k.value);
|
|
8833
|
+
if (interpolationFunction === "interpolateColors") {
|
|
8834
|
+
if (!outputs.every((v) => typeof v === "string")) {
|
|
8835
|
+
return null;
|
|
8836
|
+
}
|
|
8837
|
+
if (keyframes.length === 1) {
|
|
8838
|
+
return outputs[0];
|
|
8839
|
+
}
|
|
8840
|
+
try {
|
|
8841
|
+
return interpolateColors(frame, inputRange, outputs, {
|
|
8842
|
+
posterize: status.posterize
|
|
8843
|
+
});
|
|
8844
|
+
} catch {
|
|
8845
|
+
return null;
|
|
8846
|
+
}
|
|
8847
|
+
}
|
|
8848
|
+
if (interpolationFunction !== "interpolate") {
|
|
8849
|
+
return null;
|
|
8850
|
+
}
|
|
8851
|
+
try {
|
|
8852
|
+
return interpolate2(frame, inputRange, outputs, {
|
|
8853
|
+
easing: easing.map(easingToFn),
|
|
8854
|
+
extrapolateLeft: clamping.left,
|
|
8855
|
+
extrapolateRight: clamping.right,
|
|
8856
|
+
posterize: status.posterize
|
|
8857
|
+
});
|
|
8858
|
+
} catch {
|
|
8859
|
+
return null;
|
|
8860
|
+
}
|
|
8861
|
+
};
|
|
8862
|
+
var resolveDragOverrideValue = ({
|
|
8863
|
+
dragOverrideValue,
|
|
8864
|
+
frame
|
|
8865
|
+
}) => {
|
|
8866
|
+
if (dragOverrideValue === undefined) {
|
|
8867
|
+
return { type: "none" };
|
|
8868
|
+
}
|
|
8869
|
+
if (dragOverrideValue.type === "static") {
|
|
8870
|
+
return { type: "resolved", value: dragOverrideValue.value };
|
|
8871
|
+
}
|
|
8872
|
+
if (frame === null) {
|
|
8873
|
+
return { type: "none" };
|
|
8874
|
+
}
|
|
8875
|
+
const interpolated = interpolateKeyframedStatus({
|
|
8876
|
+
frame,
|
|
8877
|
+
status: dragOverrideValue.status
|
|
8878
|
+
});
|
|
8879
|
+
if (interpolated === null) {
|
|
8880
|
+
return { type: "none" };
|
|
8881
|
+
}
|
|
8882
|
+
return { type: "resolved", value: interpolated };
|
|
8883
|
+
};
|
|
8884
|
+
var getEffectiveVisualModeValue = ({
|
|
8885
|
+
codeValue,
|
|
8886
|
+
dragOverrideValue,
|
|
8887
|
+
defaultValue,
|
|
8888
|
+
frame = null,
|
|
8889
|
+
shouldResortToDefaultValueIfUndefined = false
|
|
8890
|
+
}) => {
|
|
8891
|
+
const dragOverride = resolveDragOverrideValue({
|
|
8892
|
+
dragOverrideValue,
|
|
8893
|
+
frame
|
|
8894
|
+
});
|
|
8895
|
+
if (dragOverride.type === "resolved" && dragOverride.value !== undefined) {
|
|
8896
|
+
return dragOverride.value;
|
|
8897
|
+
}
|
|
8898
|
+
if (codeValue.status === "keyframed" && frame !== null) {
|
|
8899
|
+
return interpolateKeyframedStatus({
|
|
8900
|
+
frame,
|
|
8901
|
+
status: codeValue
|
|
8902
|
+
});
|
|
8903
|
+
}
|
|
8904
|
+
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
8905
|
+
return defaultValue;
|
|
8906
|
+
}
|
|
8907
|
+
return codeValue.codeValue;
|
|
8908
|
+
};
|
|
8909
|
+
var OverrideIdsToNodePathsGettersContext = createContext16({
|
|
8910
|
+
overrideIdToNodePathMappings: {}
|
|
8911
|
+
});
|
|
8912
|
+
var OverrideIdsToNodePathsSettersContext = createContext16({
|
|
8913
|
+
setOverrideIdToNodePath: () => {
|
|
8914
|
+
throw new Error("OverrideIdsToNodePathsSettersContext not initialized");
|
|
8915
|
+
}
|
|
8916
|
+
});
|
|
8917
|
+
var mergeOverrides = ({
|
|
8918
|
+
descriptor,
|
|
8919
|
+
codeOverrides,
|
|
8920
|
+
dragOverrides,
|
|
8921
|
+
frame
|
|
8922
|
+
}) => {
|
|
8923
|
+
if (!codeOverrides && !dragOverrides) {
|
|
8924
|
+
return { params: descriptor.params, effectKey: descriptor.effectKey };
|
|
8925
|
+
}
|
|
8926
|
+
const merged = {
|
|
8927
|
+
...descriptor.params
|
|
8928
|
+
};
|
|
8929
|
+
if (codeOverrides) {
|
|
8930
|
+
for (const [key, value] of Object.entries(codeOverrides)) {
|
|
8931
|
+
if (value !== undefined) {
|
|
8932
|
+
merged[key] = value;
|
|
8933
|
+
}
|
|
8934
|
+
}
|
|
8935
|
+
}
|
|
8936
|
+
if (dragOverrides) {
|
|
8937
|
+
for (const [key, value] of Object.entries(dragOverrides)) {
|
|
8938
|
+
const resolved = resolveDragOverrideValue({
|
|
8939
|
+
dragOverrideValue: value,
|
|
8940
|
+
frame
|
|
8941
|
+
});
|
|
8942
|
+
if (resolved.type === "resolved") {
|
|
8943
|
+
merged[key] = resolved.value;
|
|
8944
|
+
}
|
|
8945
|
+
}
|
|
8946
|
+
}
|
|
8947
|
+
return {
|
|
8948
|
+
params: merged,
|
|
8949
|
+
effectKey: descriptor.definition.calculateKey(merged)
|
|
8950
|
+
};
|
|
8951
|
+
};
|
|
8952
|
+
var extractCodeOverrides = (propStatus) => {
|
|
8953
|
+
if (!propStatus) {
|
|
8954
|
+
return null;
|
|
8955
|
+
}
|
|
8956
|
+
const out = {};
|
|
8957
|
+
let hasAny = false;
|
|
8958
|
+
for (const [key, status] of Object.entries(propStatus)) {
|
|
8959
|
+
if (status.status !== "computed") {
|
|
8960
|
+
out[key] = status.codeValue;
|
|
8961
|
+
hasAny = true;
|
|
8962
|
+
}
|
|
8963
|
+
}
|
|
8964
|
+
return hasAny ? out : null;
|
|
8965
|
+
};
|
|
8966
|
+
var useMemoizedEffectDefinitions = (effects) => {
|
|
8967
|
+
const previousRef = useRef5(null);
|
|
8968
|
+
const definitions = effects.map((descriptor) => descriptor.definition);
|
|
8969
|
+
const previous = previousRef.current;
|
|
8970
|
+
const isSame = previous !== null && previous.length === definitions.length && previous.every((def, i) => def === definitions[i]);
|
|
8971
|
+
if (isSame) {
|
|
8972
|
+
return previous;
|
|
8973
|
+
}
|
|
8974
|
+
previousRef.current = definitions;
|
|
8975
|
+
return definitions;
|
|
8976
|
+
};
|
|
8977
|
+
var getEffectCodeValuesCtx = ({
|
|
8978
|
+
codeValues,
|
|
8979
|
+
nodePath,
|
|
8980
|
+
effectIndex
|
|
8981
|
+
}) => {
|
|
8982
|
+
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
8983
|
+
if (!status) {
|
|
8984
|
+
return { type: "cannot-update-sequence", reason: "not-found" };
|
|
8985
|
+
}
|
|
8986
|
+
if (!status.canUpdate) {
|
|
8987
|
+
return { type: "cannot-update-sequence", reason: status.reason };
|
|
8988
|
+
}
|
|
8989
|
+
const effect = status.effects.find((e) => e.effectIndex === effectIndex);
|
|
8990
|
+
if (!effect) {
|
|
8991
|
+
return { type: "cannot-update-effect", reason: "not-found" };
|
|
8992
|
+
}
|
|
8993
|
+
if (!effect.canUpdate) {
|
|
8994
|
+
return { type: "cannot-update-effect", reason: effect.reason };
|
|
8995
|
+
}
|
|
8996
|
+
return { type: "can-update-effect", props: effect.props };
|
|
8997
|
+
};
|
|
8998
|
+
var getCodeValuesCtx = (codeValues, nodePath) => {
|
|
8999
|
+
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
9000
|
+
if (!status) {
|
|
9001
|
+
return;
|
|
9002
|
+
}
|
|
9003
|
+
if (!status.canUpdate) {
|
|
9004
|
+
return;
|
|
9005
|
+
}
|
|
9006
|
+
return status.props;
|
|
9007
|
+
};
|
|
9008
|
+
var useMemoizedEffects = ({
|
|
9009
|
+
effects,
|
|
9010
|
+
overrideId
|
|
9011
|
+
}) => {
|
|
9012
|
+
const previousRef = useRef5(null);
|
|
9013
|
+
const { codeValues } = useContext15(VisualModeCodeValuesContext);
|
|
9014
|
+
const { getEffectDragOverrides } = useContext15(VisualModeDragOverridesContext);
|
|
9015
|
+
const frame = useCurrentFrame();
|
|
9016
|
+
const { overrideIdToNodePathMappings } = useContext15(OverrideIdsToNodePathsGettersContext);
|
|
9017
|
+
const previous = previousRef.current;
|
|
9018
|
+
const nodePath = overrideId ? overrideIdToNodePathMappings[overrideId] ?? null : null;
|
|
9019
|
+
const resolved = effects.map((descriptor, index) => {
|
|
9020
|
+
if (nodePath === null) {
|
|
9021
|
+
return {
|
|
9022
|
+
descriptor,
|
|
9023
|
+
params: descriptor.params,
|
|
9024
|
+
effectKey: descriptor.effectKey
|
|
9025
|
+
};
|
|
9026
|
+
}
|
|
9027
|
+
const effectStatus = getEffectCodeValuesCtx({
|
|
9028
|
+
codeValues,
|
|
9029
|
+
nodePath,
|
|
9030
|
+
effectIndex: index
|
|
9031
|
+
});
|
|
9032
|
+
const codeOverrides = effectStatus.type === "can-update-effect" ? extractCodeOverrides(effectStatus.props) : null;
|
|
9033
|
+
const dragOverridesMap = getEffectDragOverrides(nodePath, index);
|
|
9034
|
+
const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
|
|
9035
|
+
const { params, effectKey } = mergeOverrides({
|
|
9036
|
+
descriptor,
|
|
9037
|
+
codeOverrides,
|
|
9038
|
+
dragOverrides,
|
|
9039
|
+
frame
|
|
9040
|
+
});
|
|
9041
|
+
return { descriptor, params, effectKey };
|
|
9042
|
+
});
|
|
9043
|
+
const isSame = previous !== null && previous.length === resolved.length && previous.every((p, i) => p.definition === resolved[i].descriptor.definition && p.effectKey === resolved[i].effectKey);
|
|
9044
|
+
if (isSame) {
|
|
9045
|
+
return previous;
|
|
9046
|
+
}
|
|
9047
|
+
const next = resolved.map(({ descriptor, params, effectKey }) => ({
|
|
9048
|
+
definition: descriptor.definition,
|
|
9049
|
+
effectKey,
|
|
9050
|
+
params,
|
|
9051
|
+
memoized: true
|
|
9052
|
+
}));
|
|
9053
|
+
previousRef.current = next;
|
|
9054
|
+
return next;
|
|
9055
|
+
};
|
|
9056
|
+
var flattenActiveSchema = (schema, resolve) => {
|
|
9057
|
+
const out = {};
|
|
9058
|
+
for (const key of Object.keys(schema)) {
|
|
9059
|
+
const field = schema[key];
|
|
9060
|
+
if (field.type === "hidden") {
|
|
9061
|
+
continue;
|
|
9062
|
+
} else if (field.type === "enum") {
|
|
9063
|
+
out[key] = field;
|
|
9064
|
+
const current = resolve(key) ?? field.default;
|
|
9065
|
+
const variant = field.variants[current];
|
|
9066
|
+
if (variant) {
|
|
9067
|
+
Object.assign(out, flattenActiveSchema(variant, resolve));
|
|
9068
|
+
}
|
|
9069
|
+
} else {
|
|
9070
|
+
out[key] = field;
|
|
9071
|
+
}
|
|
9072
|
+
}
|
|
9073
|
+
return out;
|
|
9074
|
+
};
|
|
9075
|
+
var getFlatSchemaWithAllKeys = (schema) => {
|
|
9076
|
+
const out = {};
|
|
9077
|
+
const addKey = (key, field) => {
|
|
9078
|
+
if (key in out) {
|
|
9079
|
+
throw new Error(`Duplicate key "${key}" in schema: discriminated union variants must not share keys`);
|
|
8736
9080
|
}
|
|
8737
|
-
|
|
8738
|
-
}
|
|
8739
|
-
|
|
9081
|
+
out[key] = field;
|
|
9082
|
+
};
|
|
9083
|
+
for (const key of Object.keys(schema)) {
|
|
9084
|
+
const field = schema[key];
|
|
9085
|
+
addKey(key, field);
|
|
9086
|
+
if (field.type === "enum") {
|
|
9087
|
+
for (const variant of Object.values(field.variants)) {
|
|
9088
|
+
const flatVariant = getFlatSchemaWithAllKeys(variant);
|
|
9089
|
+
for (const variantKey of Object.keys(flatVariant)) {
|
|
9090
|
+
addKey(variantKey, flatVariant[variantKey]);
|
|
9091
|
+
}
|
|
9092
|
+
}
|
|
9093
|
+
}
|
|
9094
|
+
}
|
|
9095
|
+
return out;
|
|
8740
9096
|
};
|
|
8741
|
-
var
|
|
8742
|
-
|
|
8743
|
-
|
|
9097
|
+
var findPropsToDelete = ({
|
|
9098
|
+
schema,
|
|
9099
|
+
key,
|
|
9100
|
+
value
|
|
9101
|
+
}) => {
|
|
9102
|
+
const fieldSchema = schema[key];
|
|
9103
|
+
if (!fieldSchema) {
|
|
9104
|
+
throw new Error("Key " + JSON.stringify(key) + " not found in schema");
|
|
8744
9105
|
}
|
|
8745
|
-
if (typeof
|
|
8746
|
-
throw new
|
|
9106
|
+
if (typeof value !== "string") {
|
|
9107
|
+
throw new Error("Value must be a string, but is " + JSON.stringify(value));
|
|
8747
9108
|
}
|
|
8748
|
-
if (
|
|
8749
|
-
throw new
|
|
9109
|
+
if (fieldSchema.type !== "enum") {
|
|
9110
|
+
throw new Error("Key " + JSON.stringify(key) + " is not an enum");
|
|
8750
9111
|
}
|
|
8751
|
-
|
|
8752
|
-
|
|
9112
|
+
const currentVariant = fieldSchema.variants[value];
|
|
9113
|
+
if (!currentVariant) {
|
|
9114
|
+
throw new Error("Value for " + JSON.stringify(key) + " must be one of " + Object.keys(fieldSchema.variants).map((v) => JSON.stringify(v)).join(", ") + ", got " + JSON.stringify(value));
|
|
8753
9115
|
}
|
|
8754
|
-
const
|
|
8755
|
-
|
|
8756
|
-
|
|
8757
|
-
|
|
8758
|
-
|
|
8759
|
-
|
|
9116
|
+
const otherVariants = Object.keys(fieldSchema.variants).filter((v) => v !== value);
|
|
9117
|
+
const otherKeys = new Set;
|
|
9118
|
+
for (const variant of otherVariants) {
|
|
9119
|
+
const otherVariant = fieldSchema.variants[variant];
|
|
9120
|
+
const keys = Object.keys(otherVariant);
|
|
9121
|
+
for (const k of keys) {
|
|
9122
|
+
otherKeys.add(k);
|
|
9123
|
+
}
|
|
8760
9124
|
}
|
|
8761
|
-
return
|
|
9125
|
+
return [...otherKeys];
|
|
8762
9126
|
};
|
|
8763
|
-
var
|
|
9127
|
+
var makeStaticDragOverride = (value) => {
|
|
9128
|
+
return { type: "static", value };
|
|
9129
|
+
};
|
|
9130
|
+
var makeKeyframedDragOverride = ({
|
|
9131
|
+
status,
|
|
8764
9132
|
frame,
|
|
8765
|
-
|
|
9133
|
+
value
|
|
8766
9134
|
}) => {
|
|
8767
|
-
const
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
const outputs = keyframes.map((k) => k.value);
|
|
8773
|
-
if (interpolationFunction === "interpolateColors") {
|
|
8774
|
-
if (!outputs.every((v) => typeof v === "string")) {
|
|
8775
|
-
return null;
|
|
8776
|
-
}
|
|
8777
|
-
if (keyframes.length === 1) {
|
|
8778
|
-
return outputs[0];
|
|
8779
|
-
}
|
|
8780
|
-
try {
|
|
8781
|
-
return interpolateColors(frame, inputRange, outputs, {
|
|
8782
|
-
posterize: status.posterize
|
|
8783
|
-
});
|
|
8784
|
-
} catch {
|
|
8785
|
-
return null;
|
|
8786
|
-
}
|
|
9135
|
+
const existingIndex = status.keyframes.findIndex((keyframe) => keyframe.frame === frame);
|
|
9136
|
+
const keyframes = existingIndex === -1 ? [...status.keyframes, { frame, value }].sort((first, second) => first.frame - second.frame) : status.keyframes.map((keyframe, index) => index === existingIndex ? { frame, value } : keyframe);
|
|
9137
|
+
const easing = [...status.easing];
|
|
9138
|
+
while (easing.length < keyframes.length - 1) {
|
|
9139
|
+
easing.push("linear");
|
|
8787
9140
|
}
|
|
8788
|
-
if (
|
|
8789
|
-
|
|
8790
|
-
}
|
|
8791
|
-
if (!outputs.every((v) => typeof v === "number")) {
|
|
8792
|
-
return null;
|
|
9141
|
+
if (easing.length > keyframes.length - 1) {
|
|
9142
|
+
easing.length = keyframes.length - 1;
|
|
8793
9143
|
}
|
|
8794
|
-
|
|
8795
|
-
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
easing
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
return
|
|
9144
|
+
return {
|
|
9145
|
+
type: "keyframed",
|
|
9146
|
+
status: {
|
|
9147
|
+
...status,
|
|
9148
|
+
keyframes,
|
|
9149
|
+
easing
|
|
9150
|
+
}
|
|
9151
|
+
};
|
|
9152
|
+
};
|
|
9153
|
+
var getStaticDragOverrideValue = (dragOverrideValue) => {
|
|
9154
|
+
if (dragOverrideValue?.type !== "static") {
|
|
9155
|
+
return;
|
|
8806
9156
|
}
|
|
9157
|
+
return dragOverrideValue.value;
|
|
9158
|
+
};
|
|
9159
|
+
var isKeyframedStatus = (status) => {
|
|
9160
|
+
return status !== null && status.status === "keyframed";
|
|
8807
9161
|
};
|
|
8808
9162
|
var findFieldInSchema = (schema, key) => {
|
|
8809
9163
|
if (key in schema) {
|
|
@@ -8840,21 +9194,34 @@ var computeEffectiveSchemaValuesDotNotation = ({
|
|
|
8840
9194
|
let value;
|
|
8841
9195
|
if (codeValueStatus === null) {
|
|
8842
9196
|
value = currentValue[key];
|
|
8843
|
-
} else if (codeValueStatus
|
|
8844
|
-
if (
|
|
8845
|
-
const interpolated = interpolateKeyframedStatus({
|
|
8846
|
-
frame,
|
|
8847
|
-
status: codeValueStatus
|
|
8848
|
-
});
|
|
8849
|
-
value = interpolated ?? currentValue[key];
|
|
8850
|
-
} else {
|
|
9197
|
+
} else if (isKeyframedStatus(codeValueStatus)) {
|
|
9198
|
+
if (field?.type === "array" || field?.keyframable === false) {
|
|
8851
9199
|
value = currentValue[key];
|
|
9200
|
+
} else {
|
|
9201
|
+
const dragOverride = resolveDragOverrideValue({
|
|
9202
|
+
dragOverrideValue: overrideValues[key],
|
|
9203
|
+
frame
|
|
9204
|
+
});
|
|
9205
|
+
if (dragOverride.type === "resolved") {
|
|
9206
|
+
value = dragOverride.value;
|
|
9207
|
+
} else if (frame !== null) {
|
|
9208
|
+
const interpolated = interpolateKeyframedStatus({
|
|
9209
|
+
frame,
|
|
9210
|
+
status: codeValueStatus
|
|
9211
|
+
});
|
|
9212
|
+
value = interpolated ?? currentValue[key];
|
|
9213
|
+
} else {
|
|
9214
|
+
value = currentValue[key];
|
|
9215
|
+
}
|
|
8852
9216
|
}
|
|
9217
|
+
} else if (codeValueStatus.status === "computed") {
|
|
9218
|
+
value = currentValue[key];
|
|
8853
9219
|
} else {
|
|
8854
9220
|
value = getEffectiveVisualModeValue({
|
|
8855
9221
|
codeValue: codeValueStatus,
|
|
8856
9222
|
dragOverrideValue: overrideValues[key],
|
|
8857
9223
|
defaultValue: field?.default,
|
|
9224
|
+
frame,
|
|
8858
9225
|
shouldResortToDefaultValueIfUndefined: false
|
|
8859
9226
|
});
|
|
8860
9227
|
}
|
|
@@ -8927,13 +9294,17 @@ var mergeValues = ({
|
|
|
8927
9294
|
return merged;
|
|
8928
9295
|
};
|
|
8929
9296
|
var stackToOverrideMap = {};
|
|
8930
|
-
var wrapInSchema = (
|
|
9297
|
+
var wrapInSchema = ({
|
|
9298
|
+
Component,
|
|
9299
|
+
schema,
|
|
9300
|
+
supportsEffects
|
|
9301
|
+
}) => {
|
|
8931
9302
|
const flatSchema = getFlatSchemaWithAllKeys(schema);
|
|
8932
9303
|
const flatKeys = Object.keys(flatSchema);
|
|
8933
9304
|
const Wrapped = forwardRef2((props, ref) => {
|
|
8934
9305
|
const env = useRemotionEnvironment();
|
|
8935
9306
|
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering) {
|
|
8936
|
-
return
|
|
9307
|
+
return React13.createElement(Component, {
|
|
8937
9308
|
...props,
|
|
8938
9309
|
_experimentalControls: null,
|
|
8939
9310
|
ref
|
|
@@ -8944,7 +9315,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
8944
9315
|
const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
|
|
8945
9316
|
const frame = useCurrentFrame();
|
|
8946
9317
|
if (props._experimentalControls) {
|
|
8947
|
-
return
|
|
9318
|
+
return React13.createElement(Component, {
|
|
8948
9319
|
...props,
|
|
8949
9320
|
ref
|
|
8950
9321
|
});
|
|
@@ -8969,7 +9340,8 @@ var wrapInSchema = (Component, schema) => {
|
|
|
8969
9340
|
return {
|
|
8970
9341
|
schema,
|
|
8971
9342
|
currentRuntimeValueDotNotation,
|
|
8972
|
-
overrideId
|
|
9343
|
+
overrideId,
|
|
9344
|
+
supportsEffects
|
|
8973
9345
|
};
|
|
8974
9346
|
}, [currentRuntimeValueDotNotation, overrideId]);
|
|
8975
9347
|
const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
|
|
@@ -8994,7 +9366,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
8994
9366
|
schemaKeys: activeKeys,
|
|
8995
9367
|
propsToDelete
|
|
8996
9368
|
});
|
|
8997
|
-
return
|
|
9369
|
+
return React13.createElement(Component, {
|
|
8998
9370
|
...mergedProps,
|
|
8999
9371
|
_experimentalControls: controls,
|
|
9000
9372
|
ref
|
|
@@ -9003,6 +9375,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
9003
9375
|
Wrapped.displayName = `wrapInSchema(${Component.displayName || Component.name || "Component"})`;
|
|
9004
9376
|
return Wrapped;
|
|
9005
9377
|
};
|
|
9378
|
+
var EMPTY_EFFECTS = [];
|
|
9006
9379
|
var RegularSequenceRefForwardingFunction = ({
|
|
9007
9380
|
from = 0,
|
|
9008
9381
|
durationInFrames = Infinity,
|
|
@@ -9097,6 +9470,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9097
9470
|
}, [name]);
|
|
9098
9471
|
const resolvedDocumentationLink = documentationLink ?? (name === undefined ? "https://www.remotion.dev/docs/sequence" : null);
|
|
9099
9472
|
const env = useRemotionEnvironment();
|
|
9473
|
+
const isInsideSeries = useContext17(IsInsideSeriesContext);
|
|
9100
9474
|
const inheritedStack = other?.stack ?? null;
|
|
9101
9475
|
const stackRef = useRef6(null);
|
|
9102
9476
|
stackRef.current = stack ?? inheritedStack;
|
|
@@ -9109,7 +9483,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9109
9483
|
registerSequence({
|
|
9110
9484
|
type: "image",
|
|
9111
9485
|
controls: controls ?? null,
|
|
9112
|
-
effects: _remotionInternalEffects ??
|
|
9486
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
9113
9487
|
displayName: timelineClipName,
|
|
9114
9488
|
documentationLink: resolvedDocumentationLink,
|
|
9115
9489
|
duration: actualDurationInFrames,
|
|
@@ -9124,13 +9498,14 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9124
9498
|
showInTimeline,
|
|
9125
9499
|
src: isMedia.src,
|
|
9126
9500
|
getStack: () => stackRef.current,
|
|
9127
|
-
refForOutline: refForOutline ?? null
|
|
9501
|
+
refForOutline: refForOutline ?? null,
|
|
9502
|
+
isInsideSeries
|
|
9128
9503
|
});
|
|
9129
9504
|
} else {
|
|
9130
9505
|
registerSequence({
|
|
9131
9506
|
type: isMedia.type,
|
|
9132
9507
|
controls: controls ?? null,
|
|
9133
|
-
effects: _remotionInternalEffects ??
|
|
9508
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
9134
9509
|
displayName: timelineClipName,
|
|
9135
9510
|
documentationLink: resolvedDocumentationLink,
|
|
9136
9511
|
doesVolumeChange: isMedia.data.doesVolumeChange,
|
|
@@ -9149,7 +9524,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9149
9524
|
getStack: () => stackRef.current,
|
|
9150
9525
|
startMediaFrom: isMedia.data.startMediaFrom,
|
|
9151
9526
|
volume: isMedia.data.volumes,
|
|
9152
|
-
refForOutline: refForOutline ?? null
|
|
9527
|
+
refForOutline: refForOutline ?? null,
|
|
9528
|
+
isInsideSeries
|
|
9153
9529
|
});
|
|
9154
9530
|
}
|
|
9155
9531
|
return () => {
|
|
@@ -9172,8 +9548,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9172
9548
|
premountDisplay: premountDisplay ?? null,
|
|
9173
9549
|
postmountDisplay: postmountDisplay ?? null,
|
|
9174
9550
|
controls: controls ?? null,
|
|
9175
|
-
effects: _remotionInternalEffects ??
|
|
9176
|
-
refForOutline: refForOutline ?? null
|
|
9551
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
9552
|
+
refForOutline: refForOutline ?? null,
|
|
9553
|
+
isInsideSeries
|
|
9177
9554
|
});
|
|
9178
9555
|
return () => {
|
|
9179
9556
|
unregisterSequence(id);
|
|
@@ -9199,7 +9576,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9199
9576
|
_remotionInternalEffects,
|
|
9200
9577
|
isMedia,
|
|
9201
9578
|
resolvedDocumentationLink,
|
|
9202
|
-
refForOutline
|
|
9579
|
+
refForOutline,
|
|
9580
|
+
isInsideSeries
|
|
9203
9581
|
]);
|
|
9204
9582
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
9205
9583
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
@@ -9218,9 +9596,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
9218
9596
|
if (hidden) {
|
|
9219
9597
|
return null;
|
|
9220
9598
|
}
|
|
9221
|
-
return /* @__PURE__ */
|
|
9599
|
+
return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
|
|
9222
9600
|
value: contextValue,
|
|
9223
|
-
children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */
|
|
9601
|
+
children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx12(AbsoluteFill, {
|
|
9224
9602
|
ref,
|
|
9225
9603
|
style: defaultStyle,
|
|
9226
9604
|
className: other.className,
|
|
@@ -9265,10 +9643,10 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
|
9265
9643
|
styleWhilePremounted,
|
|
9266
9644
|
styleWhilePostmounted
|
|
9267
9645
|
]);
|
|
9268
|
-
return /* @__PURE__ */
|
|
9646
|
+
return /* @__PURE__ */ jsx12(Freeze, {
|
|
9269
9647
|
frame: freezeFrame,
|
|
9270
9648
|
active: isFreezingActive,
|
|
9271
|
-
children: /* @__PURE__ */
|
|
9649
|
+
children: /* @__PURE__ */ jsx12(SequenceInner, {
|
|
9272
9650
|
ref,
|
|
9273
9651
|
from,
|
|
9274
9652
|
durationInFrames,
|
|
@@ -9288,20 +9666,24 @@ var SequenceRefForwardingFunction = (props, ref) => {
|
|
|
9288
9666
|
if (props.layout !== "none" && !env.isRendering) {
|
|
9289
9667
|
const effectivePremountFor = ENABLE_V5_BREAKING_CHANGES ? props.premountFor ?? fps : props.premountFor;
|
|
9290
9668
|
if (effectivePremountFor || props.postmountFor) {
|
|
9291
|
-
return /* @__PURE__ */
|
|
9669
|
+
return /* @__PURE__ */ jsx12(PremountedPostmountedSequence, {
|
|
9292
9670
|
ref,
|
|
9293
9671
|
...props,
|
|
9294
9672
|
premountFor: effectivePremountFor
|
|
9295
9673
|
});
|
|
9296
9674
|
}
|
|
9297
9675
|
}
|
|
9298
|
-
return /* @__PURE__ */
|
|
9676
|
+
return /* @__PURE__ */ jsx12(RegularSequence, {
|
|
9299
9677
|
...props,
|
|
9300
9678
|
ref
|
|
9301
9679
|
});
|
|
9302
9680
|
};
|
|
9303
9681
|
var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
9304
|
-
var Sequence = wrapInSchema(
|
|
9682
|
+
var Sequence = wrapInSchema({
|
|
9683
|
+
Component: SequenceInner,
|
|
9684
|
+
schema: sequenceSchema,
|
|
9685
|
+
supportsEffects: false
|
|
9686
|
+
});
|
|
9305
9687
|
var calculateImageFit = (fit, imageSize, canvasSize) => {
|
|
9306
9688
|
switch (fit) {
|
|
9307
9689
|
case "fill": {
|
|
@@ -9668,13 +10050,13 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
9668
10050
|
}
|
|
9669
10051
|
};
|
|
9670
10052
|
}, [draw]);
|
|
9671
|
-
return /* @__PURE__ */
|
|
10053
|
+
return /* @__PURE__ */ jsx13("canvas", {
|
|
9672
10054
|
ref: canvasRef,
|
|
9673
10055
|
className,
|
|
9674
10056
|
style
|
|
9675
10057
|
});
|
|
9676
10058
|
};
|
|
9677
|
-
var Canvas =
|
|
10059
|
+
var Canvas = React15.forwardRef(CanvasRefForwardingFunction);
|
|
9678
10060
|
var CACHE_SIZE = 5;
|
|
9679
10061
|
var getActualTime = ({
|
|
9680
10062
|
loopBehavior,
|
|
@@ -9835,13 +10217,17 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
9835
10217
|
return new URL(src, window.origin).href;
|
|
9836
10218
|
};
|
|
9837
10219
|
var animatedImageSchema = {
|
|
10220
|
+
durationInFrames: durationInFramesField,
|
|
10221
|
+
from: fromField,
|
|
9838
10222
|
playbackRate: {
|
|
9839
10223
|
type: "number",
|
|
9840
10224
|
min: 0,
|
|
9841
10225
|
max: 10,
|
|
9842
10226
|
step: 0.1,
|
|
9843
10227
|
default: 1,
|
|
9844
|
-
description: "Playback Rate"
|
|
10228
|
+
description: "Playback Rate",
|
|
10229
|
+
hiddenFromList: false,
|
|
10230
|
+
keyframable: false
|
|
9845
10231
|
},
|
|
9846
10232
|
...sequenceVisualStyleSchema,
|
|
9847
10233
|
hidden: hiddenField
|
|
@@ -9965,7 +10351,7 @@ var AnimatedImageContent = forwardRef4(({
|
|
|
9965
10351
|
width,
|
|
9966
10352
|
height
|
|
9967
10353
|
]);
|
|
9968
|
-
return /* @__PURE__ */
|
|
10354
|
+
return /* @__PURE__ */ jsx14(Canvas, {
|
|
9969
10355
|
ref,
|
|
9970
10356
|
width,
|
|
9971
10357
|
height,
|
|
@@ -10013,7 +10399,7 @@ var AnimatedImageInner = ({
|
|
|
10013
10399
|
style,
|
|
10014
10400
|
requestInit
|
|
10015
10401
|
};
|
|
10016
|
-
return /* @__PURE__ */
|
|
10402
|
+
return /* @__PURE__ */ jsx14(Sequence, {
|
|
10017
10403
|
layout: "none",
|
|
10018
10404
|
durationInFrames: resolvedDuration,
|
|
10019
10405
|
name: "<AnimatedImage>",
|
|
@@ -10022,7 +10408,7 @@ var AnimatedImageInner = ({
|
|
|
10022
10408
|
_remotionInternalEffects: memoizedEffectDefinitions,
|
|
10023
10409
|
...sequenceProps,
|
|
10024
10410
|
_remotionInternalRefForOutline: actualRef,
|
|
10025
|
-
children: /* @__PURE__ */
|
|
10411
|
+
children: /* @__PURE__ */ jsx14(AnimatedImageContent, {
|
|
10026
10412
|
...animatedImageProps,
|
|
10027
10413
|
ref: actualRef,
|
|
10028
10414
|
effects,
|
|
@@ -10030,7 +10416,11 @@ var AnimatedImageInner = ({
|
|
|
10030
10416
|
})
|
|
10031
10417
|
});
|
|
10032
10418
|
};
|
|
10033
|
-
var AnimatedImage = wrapInSchema(
|
|
10419
|
+
var AnimatedImage = wrapInSchema({
|
|
10420
|
+
Component: AnimatedImageInner,
|
|
10421
|
+
schema: animatedImageSchema,
|
|
10422
|
+
supportsEffects: true
|
|
10423
|
+
});
|
|
10034
10424
|
AnimatedImage.displayName = "AnimatedImage";
|
|
10035
10425
|
addSequenceStackTraces(AnimatedImage);
|
|
10036
10426
|
var validateArtifactFilename = (filename) => {
|
|
@@ -10062,7 +10452,7 @@ var validateRenderAsset = (artifact) => {
|
|
|
10062
10452
|
}
|
|
10063
10453
|
validateContent(artifact.content);
|
|
10064
10454
|
};
|
|
10065
|
-
var RenderAssetManager =
|
|
10455
|
+
var RenderAssetManager = createContext17({
|
|
10066
10456
|
registerRenderAsset: () => {
|
|
10067
10457
|
return;
|
|
10068
10458
|
},
|
|
@@ -10112,7 +10502,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
10112
10502
|
renderAssets
|
|
10113
10503
|
};
|
|
10114
10504
|
}, [renderAssets, registerRenderAsset, unregisterRenderAsset]);
|
|
10115
|
-
return /* @__PURE__ */
|
|
10505
|
+
return /* @__PURE__ */ jsx15(RenderAssetManager.Provider, {
|
|
10116
10506
|
value: contextValue,
|
|
10117
10507
|
children
|
|
10118
10508
|
});
|
|
@@ -10200,9 +10590,9 @@ var calculateMediaDuration = ({
|
|
|
10200
10590
|
const actualDuration = duration / playbackRate;
|
|
10201
10591
|
return Math.floor(actualDuration);
|
|
10202
10592
|
};
|
|
10203
|
-
var LoopContext =
|
|
10593
|
+
var LoopContext = createContext18(null);
|
|
10204
10594
|
var useLoop = () => {
|
|
10205
|
-
return
|
|
10595
|
+
return React16.useContext(LoopContext);
|
|
10206
10596
|
};
|
|
10207
10597
|
var Loop = ({
|
|
10208
10598
|
durationInFrames,
|
|
@@ -10247,9 +10637,9 @@ var Loop = ({
|
|
|
10247
10637
|
durationInFrames
|
|
10248
10638
|
};
|
|
10249
10639
|
}, [currentFrame, durationInFrames]);
|
|
10250
|
-
return /* @__PURE__ */
|
|
10640
|
+
return /* @__PURE__ */ jsx16(LoopContext.Provider, {
|
|
10251
10641
|
value: loopContext,
|
|
10252
|
-
children: /* @__PURE__ */
|
|
10642
|
+
children: /* @__PURE__ */ jsx16(Sequence, {
|
|
10253
10643
|
durationInFrames,
|
|
10254
10644
|
from,
|
|
10255
10645
|
name: name ?? "<Loop>",
|
|
@@ -10272,7 +10662,7 @@ var playbackLogging = ({
|
|
|
10272
10662
|
const tags = [mountTime ? Date.now() - mountTime + "ms " : null, tag].filter(Boolean).join(" ");
|
|
10273
10663
|
Log.trace({ logLevel, tag: null }, `[${tags}]`, message);
|
|
10274
10664
|
};
|
|
10275
|
-
var PreloadContext =
|
|
10665
|
+
var PreloadContext = createContext19({});
|
|
10276
10666
|
var preloads = {};
|
|
10277
10667
|
var updaters = [];
|
|
10278
10668
|
var setPreloads = (updater) => {
|
|
@@ -10290,7 +10680,7 @@ var PrefetchProvider = ({ children }) => {
|
|
|
10290
10680
|
updaters = updaters.filter((u) => u !== updaterFunction);
|
|
10291
10681
|
};
|
|
10292
10682
|
}, []);
|
|
10293
|
-
return /* @__PURE__ */
|
|
10683
|
+
return /* @__PURE__ */ jsx17(PreloadContext.Provider, {
|
|
10294
10684
|
value: _preloads,
|
|
10295
10685
|
children
|
|
10296
10686
|
});
|
|
@@ -10596,7 +10986,7 @@ var durationReducer = (state, action) => {
|
|
|
10596
10986
|
return state;
|
|
10597
10987
|
}
|
|
10598
10988
|
};
|
|
10599
|
-
var DurationsContext =
|
|
10989
|
+
var DurationsContext = createContext20({
|
|
10600
10990
|
durations: {},
|
|
10601
10991
|
setDurations: () => {
|
|
10602
10992
|
throw new Error("context missing");
|
|
@@ -10610,7 +11000,7 @@ var DurationsContextProvider = ({ children }) => {
|
|
|
10610
11000
|
setDurations
|
|
10611
11001
|
};
|
|
10612
11002
|
}, [durations]);
|
|
10613
|
-
return /* @__PURE__ */
|
|
11003
|
+
return /* @__PURE__ */ jsx18(DurationsContext.Provider, {
|
|
10614
11004
|
value,
|
|
10615
11005
|
children
|
|
10616
11006
|
});
|
|
@@ -10849,8 +11239,8 @@ var didPropChange = (key, newProp, prevProp) => {
|
|
|
10849
11239
|
}
|
|
10850
11240
|
return true;
|
|
10851
11241
|
};
|
|
10852
|
-
var SharedAudioContext =
|
|
10853
|
-
var SharedAudioTagsContext =
|
|
11242
|
+
var SharedAudioContext = createContext21(null);
|
|
11243
|
+
var SharedAudioTagsContext = createContext21(null);
|
|
10854
11244
|
var shouldSaveForLater = (state) => {
|
|
10855
11245
|
if (state === "suspended" || state === "running-to-suspended" || state === "interrupted") {
|
|
10856
11246
|
return true;
|
|
@@ -11013,7 +11403,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
11013
11403
|
getIsResumingAudioContext,
|
|
11014
11404
|
unscheduleAudioNode
|
|
11015
11405
|
]);
|
|
11016
|
-
return /* @__PURE__ */
|
|
11406
|
+
return /* @__PURE__ */ jsx19(SharedAudioContext.Provider, {
|
|
11017
11407
|
value: audioContextValue,
|
|
11018
11408
|
children
|
|
11019
11409
|
});
|
|
@@ -11043,7 +11433,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
11043
11433
|
};
|
|
11044
11434
|
});
|
|
11045
11435
|
}, [audioContext, numberOfAudioTags]);
|
|
11046
|
-
const effectToUse =
|
|
11436
|
+
const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
|
|
11047
11437
|
effectToUse(() => {
|
|
11048
11438
|
return () => {
|
|
11049
11439
|
requestAnimationFrame(() => {
|
|
@@ -11186,7 +11576,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
11186
11576
|
value: audioTagsValue,
|
|
11187
11577
|
children: [
|
|
11188
11578
|
refs.map(({ id, ref }) => {
|
|
11189
|
-
return /* @__PURE__ */
|
|
11579
|
+
return /* @__PURE__ */ jsx19("audio", {
|
|
11190
11580
|
ref,
|
|
11191
11581
|
preload: "metadata",
|
|
11192
11582
|
src: EMPTY_AUDIO
|
|
@@ -11208,7 +11598,7 @@ var useSharedAudio = ({
|
|
|
11208
11598
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
11209
11599
|
return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
|
|
11210
11600
|
}
|
|
11211
|
-
const el =
|
|
11601
|
+
const el = React19.createRef();
|
|
11212
11602
|
const mediaElementSourceNode = audioCtx?.audioContext ? makeSharedElementSourceNode({
|
|
11213
11603
|
audioContext: audioCtx.audioContext,
|
|
11214
11604
|
ref: el
|
|
@@ -11227,7 +11617,7 @@ var useSharedAudio = ({
|
|
|
11227
11617
|
}
|
|
11228
11618
|
};
|
|
11229
11619
|
});
|
|
11230
|
-
const effectToUse =
|
|
11620
|
+
const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
|
|
11231
11621
|
if (typeof document !== "undefined") {
|
|
11232
11622
|
effectToUse(() => {
|
|
11233
11623
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
@@ -11659,7 +12049,8 @@ var useMediaInTimeline = ({
|
|
|
11659
12049
|
postmountDisplay,
|
|
11660
12050
|
controls: null,
|
|
11661
12051
|
effects: [],
|
|
11662
|
-
refForOutline
|
|
12052
|
+
refForOutline,
|
|
12053
|
+
isInsideSeries: false
|
|
11663
12054
|
});
|
|
11664
12055
|
return () => {
|
|
11665
12056
|
unregisterSequence(id);
|
|
@@ -11772,11 +12163,11 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
11772
12163
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
11773
12164
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
11774
12165
|
};
|
|
11775
|
-
var BufferingContextReact =
|
|
12166
|
+
var BufferingContextReact = React20.createContext(null);
|
|
11776
12167
|
var BufferingProvider = ({ children }) => {
|
|
11777
12168
|
const { logLevel, mountTime } = useContext24(LogLevelContext);
|
|
11778
12169
|
const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
|
|
11779
|
-
return /* @__PURE__ */
|
|
12170
|
+
return /* @__PURE__ */ jsx20(BufferingContextReact.Provider, {
|
|
11780
12171
|
value: bufferManager,
|
|
11781
12172
|
children
|
|
11782
12173
|
});
|
|
@@ -11923,7 +12314,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
11923
12314
|
}, [bufferUntilFirstFrame]);
|
|
11924
12315
|
};
|
|
11925
12316
|
var useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
|
|
11926
|
-
const lastUpdate =
|
|
12317
|
+
const lastUpdate = React21.useRef({
|
|
11927
12318
|
time: mediaRef.current?.currentTime ?? 0,
|
|
11928
12319
|
lastUpdate: performance.now()
|
|
11929
12320
|
});
|
|
@@ -12501,11 +12892,11 @@ var useMediaTag = ({
|
|
|
12501
12892
|
env.isPlayer
|
|
12502
12893
|
]);
|
|
12503
12894
|
};
|
|
12504
|
-
var MediaVolumeContext =
|
|
12895
|
+
var MediaVolumeContext = createContext22({
|
|
12505
12896
|
mediaMuted: false,
|
|
12506
12897
|
mediaVolume: 1
|
|
12507
12898
|
});
|
|
12508
|
-
var SetMediaVolumeContext =
|
|
12899
|
+
var SetMediaVolumeContext = createContext22({
|
|
12509
12900
|
setMediaMuted: () => {
|
|
12510
12901
|
throw new Error("default");
|
|
12511
12902
|
},
|
|
@@ -12672,7 +13063,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
12672
13063
|
volume: userPreferredVolume,
|
|
12673
13064
|
shouldUseWebAudioApi: useWebAudioApi ?? false
|
|
12674
13065
|
});
|
|
12675
|
-
const effectToUse =
|
|
13066
|
+
const effectToUse = React22.useInsertionEffect ?? React22.useLayoutEffect;
|
|
12676
13067
|
effectToUse(() => {
|
|
12677
13068
|
return () => {
|
|
12678
13069
|
requestAnimationFrame(() => {
|
|
@@ -12705,7 +13096,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
12705
13096
|
if (initialShouldPreMountAudioElements) {
|
|
12706
13097
|
return null;
|
|
12707
13098
|
}
|
|
12708
|
-
return /* @__PURE__ */
|
|
13099
|
+
return /* @__PURE__ */ jsx21("audio", {
|
|
12709
13100
|
ref: audioRef,
|
|
12710
13101
|
preload: "metadata",
|
|
12711
13102
|
crossOrigin: crossOriginValue,
|
|
@@ -12839,7 +13230,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
12839
13230
|
if (!needsToRenderAudioTag) {
|
|
12840
13231
|
return null;
|
|
12841
13232
|
}
|
|
12842
|
-
return /* @__PURE__ */
|
|
13233
|
+
return /* @__PURE__ */ jsx222("audio", {
|
|
12843
13234
|
ref: audioRef,
|
|
12844
13235
|
...nativeProps,
|
|
12845
13236
|
onError: onNativeError
|
|
@@ -12898,14 +13289,14 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12898
13289
|
});
|
|
12899
13290
|
if (loop && durationFetched !== undefined) {
|
|
12900
13291
|
if (!Number.isFinite(durationFetched)) {
|
|
12901
|
-
return /* @__PURE__ */
|
|
13292
|
+
return /* @__PURE__ */ jsx23(Html5Audio, {
|
|
12902
13293
|
...propsOtherThanLoop,
|
|
12903
13294
|
ref,
|
|
12904
13295
|
_remotionInternalNativeLoopPassed: true
|
|
12905
13296
|
});
|
|
12906
13297
|
}
|
|
12907
13298
|
const duration = durationFetched * fps;
|
|
12908
|
-
return /* @__PURE__ */
|
|
13299
|
+
return /* @__PURE__ */ jsx23(Loop, {
|
|
12909
13300
|
layout: "none",
|
|
12910
13301
|
durationInFrames: calculateMediaDuration({
|
|
12911
13302
|
trimAfter: trimAfterValue,
|
|
@@ -12913,7 +13304,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12913
13304
|
playbackRate: props.playbackRate ?? 1,
|
|
12914
13305
|
trimBefore: trimBeforeValue
|
|
12915
13306
|
}),
|
|
12916
|
-
children: /* @__PURE__ */
|
|
13307
|
+
children: /* @__PURE__ */ jsx23(Html5Audio, {
|
|
12917
13308
|
...propsOtherThanLoop,
|
|
12918
13309
|
ref,
|
|
12919
13310
|
_remotionInternalNativeLoopPassed: true
|
|
@@ -12921,13 +13312,13 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12921
13312
|
});
|
|
12922
13313
|
}
|
|
12923
13314
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
12924
|
-
return /* @__PURE__ */
|
|
13315
|
+
return /* @__PURE__ */ jsx23(Sequence, {
|
|
12925
13316
|
layout: "none",
|
|
12926
13317
|
from: 0 - (trimBeforeValue ?? 0),
|
|
12927
13318
|
showInTimeline: false,
|
|
12928
13319
|
durationInFrames: trimAfterValue,
|
|
12929
13320
|
name,
|
|
12930
|
-
children: /* @__PURE__ */
|
|
13321
|
+
children: /* @__PURE__ */ jsx23(Html5Audio, {
|
|
12931
13322
|
_remotionInternalNeedsDurationCalculation: Boolean(loop),
|
|
12932
13323
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
12933
13324
|
...otherProps,
|
|
@@ -12941,7 +13332,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12941
13332
|
volume: props.volume
|
|
12942
13333
|
}, "Html5Audio");
|
|
12943
13334
|
if (environment.isRendering) {
|
|
12944
|
-
return /* @__PURE__ */
|
|
13335
|
+
return /* @__PURE__ */ jsx23(AudioForRendering, {
|
|
12945
13336
|
onDuration,
|
|
12946
13337
|
...props,
|
|
12947
13338
|
ref,
|
|
@@ -12949,7 +13340,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12949
13340
|
_remotionInternalNeedsDurationCalculation: Boolean(loop)
|
|
12950
13341
|
});
|
|
12951
13342
|
}
|
|
12952
|
-
return /* @__PURE__ */
|
|
13343
|
+
return /* @__PURE__ */ jsx23(AudioForPreview, {
|
|
12953
13344
|
_remotionInternalNativeLoopPassed: props._remotionInternalNativeLoopPassed ?? false,
|
|
12954
13345
|
_remotionInternalStack: stack ?? null,
|
|
12955
13346
|
shouldPreMountAudioTags: audioTagsContext !== null && audioTagsContext.numberOfAudioTags > 0,
|
|
@@ -12965,7 +13356,18 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
12965
13356
|
var Html5Audio = forwardRef7(AudioRefForwardingFunction);
|
|
12966
13357
|
addSequenceStackTraces(Html5Audio);
|
|
12967
13358
|
var Audio = Html5Audio;
|
|
13359
|
+
var resolveSolidPixelDensity = (pixelDensity) => {
|
|
13360
|
+
if (pixelDensity === undefined) {
|
|
13361
|
+
return 1;
|
|
13362
|
+
}
|
|
13363
|
+
if (typeof pixelDensity !== "number" || !Number.isFinite(pixelDensity) || pixelDensity <= 0) {
|
|
13364
|
+
throw new Error(`<Solid>: \`pixelDensity\` must be a positive finite number. Received: ${String(pixelDensity)}.`);
|
|
13365
|
+
}
|
|
13366
|
+
return pixelDensity;
|
|
13367
|
+
};
|
|
12968
13368
|
var solidSchema = {
|
|
13369
|
+
durationInFrames: durationInFramesField,
|
|
13370
|
+
from: fromField,
|
|
12969
13371
|
color: {
|
|
12970
13372
|
type: "color",
|
|
12971
13373
|
default: "transparent",
|
|
@@ -12976,14 +13378,16 @@ var solidSchema = {
|
|
|
12976
13378
|
min: 1,
|
|
12977
13379
|
step: 1,
|
|
12978
13380
|
default: 1920,
|
|
12979
|
-
description: "Width"
|
|
13381
|
+
description: "Width",
|
|
13382
|
+
hiddenFromList: false
|
|
12980
13383
|
},
|
|
12981
13384
|
height: {
|
|
12982
13385
|
type: "number",
|
|
12983
13386
|
min: 1,
|
|
12984
13387
|
step: 1,
|
|
12985
13388
|
default: 1080,
|
|
12986
|
-
description: "Height"
|
|
13389
|
+
description: "Height",
|
|
13390
|
+
hiddenFromList: false
|
|
12987
13391
|
},
|
|
12988
13392
|
...sequenceVisualStyleSchema,
|
|
12989
13393
|
hidden: hiddenField
|
|
@@ -12995,10 +13399,14 @@ var SolidInner = ({
|
|
|
12995
13399
|
effects = [],
|
|
12996
13400
|
className,
|
|
12997
13401
|
style,
|
|
13402
|
+
pixelDensity,
|
|
12998
13403
|
overrideId,
|
|
12999
13404
|
reference
|
|
13000
13405
|
}) => {
|
|
13001
13406
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
13407
|
+
const resolvedPixelDensity = resolveSolidPixelDensity(pixelDensity);
|
|
13408
|
+
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
13409
|
+
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
13002
13410
|
const [outputCanvas, setOutputCanvas] = useState15(null);
|
|
13003
13411
|
const memoizedEffects = useMemoizedEffects({
|
|
13004
13412
|
effects,
|
|
@@ -13044,12 +13452,12 @@ var SolidInner = ({
|
|
|
13044
13452
|
ctx.fillRect(0, 0, 1, 1);
|
|
13045
13453
|
}
|
|
13046
13454
|
runEffectChain({
|
|
13047
|
-
state: chainState.get(
|
|
13455
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
13048
13456
|
source: sourceCanvas,
|
|
13049
13457
|
effects: memoizedEffects,
|
|
13050
13458
|
output: outputCanvas,
|
|
13051
|
-
width,
|
|
13052
|
-
height
|
|
13459
|
+
width: canvasWidth,
|
|
13460
|
+
height: canvasHeight
|
|
13053
13461
|
}).then((completed) => {
|
|
13054
13462
|
if (completed) {
|
|
13055
13463
|
continueRender2(handle);
|
|
@@ -13065,19 +13473,26 @@ var SolidInner = ({
|
|
|
13065
13473
|
outputCanvas,
|
|
13066
13474
|
sourceCanvas,
|
|
13067
13475
|
chainState,
|
|
13068
|
-
|
|
13069
|
-
|
|
13476
|
+
canvasWidth,
|
|
13477
|
+
canvasHeight,
|
|
13070
13478
|
delayRender2,
|
|
13071
13479
|
continueRender2,
|
|
13072
13480
|
cancelRender2,
|
|
13073
13481
|
memoizedEffects
|
|
13074
13482
|
]);
|
|
13075
|
-
|
|
13483
|
+
const canvasStyle = useMemo29(() => {
|
|
13484
|
+
return {
|
|
13485
|
+
width,
|
|
13486
|
+
height,
|
|
13487
|
+
...style ?? {}
|
|
13488
|
+
};
|
|
13489
|
+
}, [height, style, width]);
|
|
13490
|
+
return /* @__PURE__ */ jsx24("canvas", {
|
|
13076
13491
|
ref: canvasRef,
|
|
13077
|
-
width,
|
|
13078
|
-
height,
|
|
13492
|
+
width: canvasWidth,
|
|
13493
|
+
height: canvasHeight,
|
|
13079
13494
|
className,
|
|
13080
|
-
style
|
|
13495
|
+
style: canvasStyle
|
|
13081
13496
|
});
|
|
13082
13497
|
};
|
|
13083
13498
|
var SolidOuter = forwardRef8(({
|
|
@@ -13093,6 +13508,7 @@ var SolidOuter = forwardRef8(({
|
|
|
13093
13508
|
from,
|
|
13094
13509
|
hidden,
|
|
13095
13510
|
showInTimeline,
|
|
13511
|
+
pixelDensity,
|
|
13096
13512
|
...props2
|
|
13097
13513
|
}, ref) => {
|
|
13098
13514
|
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
@@ -13100,7 +13516,7 @@ var SolidOuter = forwardRef8(({
|
|
|
13100
13516
|
useImperativeHandle6(ref, () => {
|
|
13101
13517
|
return actualRef.current;
|
|
13102
13518
|
}, []);
|
|
13103
|
-
return /* @__PURE__ */
|
|
13519
|
+
return /* @__PURE__ */ jsx24(Sequence, {
|
|
13104
13520
|
layout: "none",
|
|
13105
13521
|
from,
|
|
13106
13522
|
hidden,
|
|
@@ -13112,7 +13528,7 @@ var SolidOuter = forwardRef8(({
|
|
|
13112
13528
|
_remotionInternalRefForOutline: actualRef,
|
|
13113
13529
|
_remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/solid" : undefined,
|
|
13114
13530
|
...props2,
|
|
13115
|
-
children: /* @__PURE__ */
|
|
13531
|
+
children: /* @__PURE__ */ jsx24(SolidInner, {
|
|
13116
13532
|
reference: actualRef,
|
|
13117
13533
|
overrideId: controls?.overrideId ?? null,
|
|
13118
13534
|
color,
|
|
@@ -13120,11 +13536,16 @@ var SolidOuter = forwardRef8(({
|
|
|
13120
13536
|
width,
|
|
13121
13537
|
className,
|
|
13122
13538
|
style,
|
|
13123
|
-
effects
|
|
13539
|
+
effects,
|
|
13540
|
+
pixelDensity
|
|
13124
13541
|
})
|
|
13125
13542
|
});
|
|
13126
13543
|
});
|
|
13127
|
-
var Solid = wrapInSchema(
|
|
13544
|
+
var Solid = wrapInSchema({
|
|
13545
|
+
Component: SolidOuter,
|
|
13546
|
+
schema: solidSchema,
|
|
13547
|
+
supportsEffects: true
|
|
13548
|
+
});
|
|
13128
13549
|
Solid.displayName = "Solid";
|
|
13129
13550
|
addSequenceStackTraces(Solid);
|
|
13130
13551
|
var cachedSupport = null;
|
|
@@ -13152,6 +13573,27 @@ function assertHtmlInCanvasDimensions(width, height) {
|
|
|
13152
13573
|
throw new Error(`HtmlInCanvas: \`height\` must be a positive integer. Received: ${String(height)}.`);
|
|
13153
13574
|
}
|
|
13154
13575
|
}
|
|
13576
|
+
function resolveHtmlInCanvasPixelDensity(pixelDensity) {
|
|
13577
|
+
if (pixelDensity === undefined) {
|
|
13578
|
+
return 1;
|
|
13579
|
+
}
|
|
13580
|
+
if (typeof pixelDensity !== "number" || !Number.isFinite(pixelDensity) || pixelDensity <= 0) {
|
|
13581
|
+
throw new Error(`HtmlInCanvas: \`pixelDensity\` must be a positive finite number. Received: ${String(pixelDensity)}.`);
|
|
13582
|
+
}
|
|
13583
|
+
return pixelDensity;
|
|
13584
|
+
}
|
|
13585
|
+
var resizeOffscreenCanvas = ({
|
|
13586
|
+
offscreen,
|
|
13587
|
+
width,
|
|
13588
|
+
height
|
|
13589
|
+
}) => {
|
|
13590
|
+
if (offscreen.width !== width) {
|
|
13591
|
+
offscreen.width = width;
|
|
13592
|
+
}
|
|
13593
|
+
if (offscreen.height !== height) {
|
|
13594
|
+
offscreen.height = height;
|
|
13595
|
+
}
|
|
13596
|
+
};
|
|
13155
13597
|
var defaultOnPaint = ({
|
|
13156
13598
|
canvas,
|
|
13157
13599
|
element,
|
|
@@ -13165,10 +13607,23 @@ var defaultOnPaint = ({
|
|
|
13165
13607
|
const transform = ctx.drawElementImage(elementImage, 0, 0);
|
|
13166
13608
|
element.style.transform = transform.toString();
|
|
13167
13609
|
};
|
|
13168
|
-
var HtmlInCanvasAncestorContext =
|
|
13169
|
-
var HtmlInCanvasContent = forwardRef9(({
|
|
13610
|
+
var HtmlInCanvasAncestorContext = createContext23(false);
|
|
13611
|
+
var HtmlInCanvasContent = forwardRef9(({
|
|
13612
|
+
width,
|
|
13613
|
+
height,
|
|
13614
|
+
effects,
|
|
13615
|
+
children,
|
|
13616
|
+
onPaint,
|
|
13617
|
+
onInit,
|
|
13618
|
+
pixelDensity,
|
|
13619
|
+
controls,
|
|
13620
|
+
style
|
|
13621
|
+
}, ref) => {
|
|
13170
13622
|
const isInsideAncestorHtmlInCanvas = useContext31(HtmlInCanvasAncestorContext);
|
|
13171
13623
|
assertHtmlInCanvasDimensions(width, height);
|
|
13624
|
+
const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
|
|
13625
|
+
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
13626
|
+
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
13172
13627
|
const { continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
13173
13628
|
if (!isHtmlInCanvasSupported()) {
|
|
13174
13629
|
cancelRender2(new Error(HTML_IN_CANVAS_UNSUPPORTED_MESSAGE));
|
|
@@ -13176,7 +13631,7 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13176
13631
|
const canvas2dRef = useRef22(null);
|
|
13177
13632
|
const offscreenRef = useRef22(null);
|
|
13178
13633
|
const divRef = useRef22(null);
|
|
13179
|
-
const canvasSizeKey = `${width}x${height}`;
|
|
13634
|
+
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
13180
13635
|
const setLayoutCanvasRef = useCallback15((node) => {
|
|
13181
13636
|
canvas2dRef.current = node;
|
|
13182
13637
|
if (typeof ref === "function") {
|
|
@@ -13208,8 +13663,11 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13208
13663
|
if (!offscreen) {
|
|
13209
13664
|
throw new Error("HtmlInCanvas: offscreen canvas not ready (transferControlToOffscreen failed or canvas is remounting)");
|
|
13210
13665
|
}
|
|
13211
|
-
|
|
13212
|
-
|
|
13666
|
+
resizeOffscreenCanvas({
|
|
13667
|
+
offscreen,
|
|
13668
|
+
width: canvasWidth,
|
|
13669
|
+
height: canvasHeight
|
|
13670
|
+
});
|
|
13213
13671
|
try {
|
|
13214
13672
|
const placeholderCanvas = canvas2dRef.current;
|
|
13215
13673
|
if (!placeholderCanvas) {
|
|
@@ -13228,7 +13686,8 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13228
13686
|
const cleanup = await currentOnInit({
|
|
13229
13687
|
canvas: offscreen,
|
|
13230
13688
|
element,
|
|
13231
|
-
elementImage: initImage
|
|
13689
|
+
elementImage: initImage,
|
|
13690
|
+
pixelDensity: resolvedPixelDensity
|
|
13232
13691
|
});
|
|
13233
13692
|
if (typeof cleanup !== "function") {
|
|
13234
13693
|
throw new Error("HtmlInCanvas: when `onInit` is provided, it must return a cleanup function, or a Promise that resolves to one.");
|
|
@@ -13245,21 +13704,29 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13245
13704
|
await handler({
|
|
13246
13705
|
canvas: offscreen,
|
|
13247
13706
|
element,
|
|
13248
|
-
elementImage: elImage
|
|
13707
|
+
elementImage: elImage,
|
|
13708
|
+
pixelDensity: resolvedPixelDensity
|
|
13249
13709
|
});
|
|
13250
13710
|
await runEffectChain({
|
|
13251
|
-
state: chainState.get(
|
|
13711
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
13252
13712
|
source: offscreen,
|
|
13253
13713
|
effects: effectsRef.current,
|
|
13254
13714
|
output: offscreen,
|
|
13255
|
-
width,
|
|
13256
|
-
height
|
|
13715
|
+
width: canvasWidth,
|
|
13716
|
+
height: canvasHeight
|
|
13257
13717
|
});
|
|
13258
13718
|
continueRender2(handle);
|
|
13259
13719
|
} catch (error2) {
|
|
13260
13720
|
cancelRender2(error2);
|
|
13261
13721
|
}
|
|
13262
|
-
}, [
|
|
13722
|
+
}, [
|
|
13723
|
+
canvasHeight,
|
|
13724
|
+
canvasWidth,
|
|
13725
|
+
chainState,
|
|
13726
|
+
continueRender2,
|
|
13727
|
+
cancelRender2,
|
|
13728
|
+
resolvedPixelDensity
|
|
13729
|
+
]);
|
|
13263
13730
|
useLayoutEffect9(() => {
|
|
13264
13731
|
const placeholder = canvas2dRef.current;
|
|
13265
13732
|
if (!placeholder) {
|
|
@@ -13268,8 +13735,11 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13268
13735
|
placeholder.layoutSubtree = true;
|
|
13269
13736
|
const offscreen = placeholder.transferControlToOffscreen();
|
|
13270
13737
|
offscreenRef.current = offscreen;
|
|
13271
|
-
|
|
13272
|
-
|
|
13738
|
+
resizeOffscreenCanvas({
|
|
13739
|
+
offscreen,
|
|
13740
|
+
width: canvasWidth,
|
|
13741
|
+
height: canvasHeight
|
|
13742
|
+
});
|
|
13273
13743
|
initializedRef.current = false;
|
|
13274
13744
|
unmountedRef.current = false;
|
|
13275
13745
|
placeholder.addEventListener("paint", onPaintCb);
|
|
@@ -13281,7 +13751,7 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13281
13751
|
onInitCleanupRef.current?.();
|
|
13282
13752
|
onInitCleanupRef.current = null;
|
|
13283
13753
|
};
|
|
13284
|
-
}, [onPaintCb, cancelRender2,
|
|
13754
|
+
}, [onPaintCb, cancelRender2, canvasWidth, canvasHeight]);
|
|
13285
13755
|
const onPaintChangedRef = useRef22(false);
|
|
13286
13756
|
useLayoutEffect9(() => {
|
|
13287
13757
|
if (!onPaintChangedRef.current) {
|
|
@@ -13313,17 +13783,24 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
13313
13783
|
height
|
|
13314
13784
|
};
|
|
13315
13785
|
}, [width, height]);
|
|
13786
|
+
const canvasStyle = useMemo30(() => {
|
|
13787
|
+
return {
|
|
13788
|
+
width,
|
|
13789
|
+
height,
|
|
13790
|
+
...style ?? {}
|
|
13791
|
+
};
|
|
13792
|
+
}, [height, style, width]);
|
|
13316
13793
|
if (isInsideAncestorHtmlInCanvas) {
|
|
13317
13794
|
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.");
|
|
13318
13795
|
}
|
|
13319
|
-
return /* @__PURE__ */
|
|
13796
|
+
return /* @__PURE__ */ jsx25(HtmlInCanvasAncestorContext.Provider, {
|
|
13320
13797
|
value: true,
|
|
13321
|
-
children: /* @__PURE__ */
|
|
13798
|
+
children: /* @__PURE__ */ jsx25("canvas", {
|
|
13322
13799
|
ref: setLayoutCanvasRef,
|
|
13323
|
-
width,
|
|
13324
|
-
height,
|
|
13325
|
-
style,
|
|
13326
|
-
children: /* @__PURE__ */
|
|
13800
|
+
width: canvasWidth,
|
|
13801
|
+
height: canvasHeight,
|
|
13802
|
+
style: canvasStyle,
|
|
13803
|
+
children: /* @__PURE__ */ jsx25("div", {
|
|
13327
13804
|
ref: divRef,
|
|
13328
13805
|
style: innerStyle,
|
|
13329
13806
|
children
|
|
@@ -13339,6 +13816,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
13339
13816
|
children,
|
|
13340
13817
|
onPaint,
|
|
13341
13818
|
onInit,
|
|
13819
|
+
pixelDensity,
|
|
13342
13820
|
_experimentalControls: controls,
|
|
13343
13821
|
style,
|
|
13344
13822
|
durationInFrames,
|
|
@@ -13357,7 +13835,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
13357
13835
|
ref.current = node;
|
|
13358
13836
|
}
|
|
13359
13837
|
}, [ref]);
|
|
13360
|
-
return /* @__PURE__ */
|
|
13838
|
+
return /* @__PURE__ */ jsx25(Sequence, {
|
|
13361
13839
|
durationInFrames: resolvedDuration,
|
|
13362
13840
|
name: name ?? "<HtmlInCanvas>",
|
|
13363
13841
|
_remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/remotion/html-in-canvas" : undefined,
|
|
@@ -13366,13 +13844,14 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
13366
13844
|
_remotionInternalRefForOutline: actualRef,
|
|
13367
13845
|
layout: "none",
|
|
13368
13846
|
...sequenceProps,
|
|
13369
|
-
children: /* @__PURE__ */
|
|
13847
|
+
children: /* @__PURE__ */ jsx25(HtmlInCanvasContent, {
|
|
13370
13848
|
ref: setCanvasRef,
|
|
13371
13849
|
width,
|
|
13372
13850
|
height,
|
|
13373
13851
|
effects,
|
|
13374
13852
|
onPaint,
|
|
13375
13853
|
onInit,
|
|
13854
|
+
pixelDensity,
|
|
13376
13855
|
controls,
|
|
13377
13856
|
style,
|
|
13378
13857
|
children
|
|
@@ -13381,10 +13860,16 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
13381
13860
|
});
|
|
13382
13861
|
HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
13383
13862
|
var htmlInCanvasSchema = {
|
|
13863
|
+
durationInFrames: durationInFramesField,
|
|
13864
|
+
from: fromField,
|
|
13384
13865
|
...sequenceVisualStyleSchema,
|
|
13385
13866
|
hidden: hiddenField
|
|
13386
13867
|
};
|
|
13387
|
-
var HtmlInCanvasWrapped = wrapInSchema(
|
|
13868
|
+
var HtmlInCanvasWrapped = wrapInSchema({
|
|
13869
|
+
Component: HtmlInCanvasInner,
|
|
13870
|
+
schema: htmlInCanvasSchema,
|
|
13871
|
+
supportsEffects: true
|
|
13872
|
+
});
|
|
13388
13873
|
var HtmlInCanvas = Object.assign(HtmlInCanvasWrapped, {
|
|
13389
13874
|
isSupported: isHtmlInCanvasSupported
|
|
13390
13875
|
});
|
|
@@ -13397,6 +13882,8 @@ function truncateSrcForLabel(src) {
|
|
|
13397
13882
|
return src;
|
|
13398
13883
|
}
|
|
13399
13884
|
var canvasImageSchema = {
|
|
13885
|
+
durationInFrames: durationInFramesField,
|
|
13886
|
+
from: fromField,
|
|
13400
13887
|
fit: {
|
|
13401
13888
|
type: "enum",
|
|
13402
13889
|
default: "fill",
|
|
@@ -13622,7 +14109,7 @@ var CanvasImageContent = forwardRef10(({
|
|
|
13622
14109
|
sourceCanvas,
|
|
13623
14110
|
width
|
|
13624
14111
|
]);
|
|
13625
|
-
return /* @__PURE__ */
|
|
14112
|
+
return /* @__PURE__ */ jsx26("canvas", {
|
|
13626
14113
|
...canvasProps,
|
|
13627
14114
|
ref: canvasRef,
|
|
13628
14115
|
width,
|
|
@@ -13666,7 +14153,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13666
14153
|
useImperativeHandle7(ref, () => {
|
|
13667
14154
|
return actualRef.current;
|
|
13668
14155
|
}, []);
|
|
13669
|
-
return /* @__PURE__ */
|
|
14156
|
+
return /* @__PURE__ */ jsx26(Sequence, {
|
|
13670
14157
|
layout: "none",
|
|
13671
14158
|
from: from ?? 0,
|
|
13672
14159
|
durationInFrames: durationInFrames ?? Infinity,
|
|
@@ -13679,7 +14166,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13679
14166
|
_remotionInternalIsMedia: { type: "image", src },
|
|
13680
14167
|
_remotionInternalStack: stack,
|
|
13681
14168
|
_remotionInternalRefForOutline: _remotionInternalRefForOutline ?? actualRef,
|
|
13682
|
-
children: /* @__PURE__ */
|
|
14169
|
+
children: /* @__PURE__ */ jsx26(CanvasImageContent, {
|
|
13683
14170
|
ref: actualRef,
|
|
13684
14171
|
src,
|
|
13685
14172
|
width,
|
|
@@ -13700,7 +14187,11 @@ var CanvasImageInner = forwardRef10(({
|
|
|
13700
14187
|
})
|
|
13701
14188
|
});
|
|
13702
14189
|
});
|
|
13703
|
-
var CanvasImage = wrapInSchema(
|
|
14190
|
+
var CanvasImage = wrapInSchema({
|
|
14191
|
+
Component: CanvasImageInner,
|
|
14192
|
+
schema: canvasImageSchema,
|
|
14193
|
+
supportsEffects: true
|
|
14194
|
+
});
|
|
13704
14195
|
CanvasImage.displayName = "CanvasImage";
|
|
13705
14196
|
addSequenceStackTraces(CanvasImage);
|
|
13706
14197
|
var IFrameRefForwarding = ({
|
|
@@ -13727,7 +14218,7 @@ var IFrameRefForwarding = ({
|
|
|
13727
14218
|
console.error("Error loading iframe:", e, "Handle the event using the onError() prop to make this message disappear.");
|
|
13728
14219
|
}
|
|
13729
14220
|
}, [handle, onError, continueRender2]);
|
|
13730
|
-
return /* @__PURE__ */
|
|
14221
|
+
return /* @__PURE__ */ jsx27("iframe", {
|
|
13731
14222
|
referrerPolicy: "strict-origin-when-cross-origin",
|
|
13732
14223
|
...props2,
|
|
13733
14224
|
ref,
|
|
@@ -13883,7 +14374,7 @@ var ImgContent = ({
|
|
|
13883
14374
|
requestsVideoFrame: false,
|
|
13884
14375
|
isClientSideRendering
|
|
13885
14376
|
});
|
|
13886
|
-
return /* @__PURE__ */
|
|
14377
|
+
return /* @__PURE__ */ jsx28("img", {
|
|
13887
14378
|
...props2,
|
|
13888
14379
|
ref: imageCallbackRef,
|
|
13889
14380
|
crossOrigin: crossOriginValue,
|
|
@@ -13906,7 +14397,7 @@ var NativeImgInner = ({
|
|
|
13906
14397
|
if (!src) {
|
|
13907
14398
|
throw new Error('No "src" prop was passed to <Img>.');
|
|
13908
14399
|
}
|
|
13909
|
-
return /* @__PURE__ */
|
|
14400
|
+
return /* @__PURE__ */ jsx28(Sequence, {
|
|
13910
14401
|
layout: "none",
|
|
13911
14402
|
from: from ?? 0,
|
|
13912
14403
|
durationInFrames: durationInFrames ?? Infinity,
|
|
@@ -13918,7 +14409,7 @@ var NativeImgInner = ({
|
|
|
13918
14409
|
showInTimeline: showInTimeline ?? true,
|
|
13919
14410
|
hidden,
|
|
13920
14411
|
_remotionInternalRefForOutline: refForOutline,
|
|
13921
|
-
children: /* @__PURE__ */
|
|
14412
|
+
children: /* @__PURE__ */ jsx28(ImgContent, {
|
|
13922
14413
|
src,
|
|
13923
14414
|
refForOutline,
|
|
13924
14415
|
...props2
|
|
@@ -13927,6 +14418,8 @@ var NativeImgInner = ({
|
|
|
13927
14418
|
};
|
|
13928
14419
|
var CanvasImageWithPrivateProps = CanvasImage;
|
|
13929
14420
|
var imgSchema = {
|
|
14421
|
+
durationInFrames: durationInFramesField,
|
|
14422
|
+
from: fromField,
|
|
13930
14423
|
...sequenceVisualStyleSchema,
|
|
13931
14424
|
hidden: hiddenField
|
|
13932
14425
|
};
|
|
@@ -13996,7 +14489,7 @@ var ImgInner = ({
|
|
|
13996
14489
|
}) => {
|
|
13997
14490
|
const refForOutline = useRef24(null);
|
|
13998
14491
|
if (effects.length === 0) {
|
|
13999
|
-
return /* @__PURE__ */
|
|
14492
|
+
return /* @__PURE__ */ jsx28(NativeImgInner, {
|
|
14000
14493
|
...props2,
|
|
14001
14494
|
ref,
|
|
14002
14495
|
hidden,
|
|
@@ -14032,7 +14525,7 @@ var ImgInner = ({
|
|
|
14032
14525
|
const canvasHeight = typeof height === "number" ? height : undefined;
|
|
14033
14526
|
const canvasProps = props2;
|
|
14034
14527
|
const canvasFit = getFitFromObjectFit(style) ?? "fill";
|
|
14035
|
-
return /* @__PURE__ */
|
|
14528
|
+
return /* @__PURE__ */ jsx28(CanvasImageWithPrivateProps, {
|
|
14036
14529
|
src,
|
|
14037
14530
|
width: canvasWidth,
|
|
14038
14531
|
height: canvasHeight,
|
|
@@ -14057,9 +14550,13 @@ var ImgInner = ({
|
|
|
14057
14550
|
...canvasProps
|
|
14058
14551
|
});
|
|
14059
14552
|
};
|
|
14060
|
-
var Img = wrapInSchema(
|
|
14553
|
+
var Img = wrapInSchema({
|
|
14554
|
+
Component: ImgInner,
|
|
14555
|
+
schema: imgSchema,
|
|
14556
|
+
supportsEffects: true
|
|
14557
|
+
});
|
|
14061
14558
|
addSequenceStackTraces(Img);
|
|
14062
|
-
var compositionsRef =
|
|
14559
|
+
var compositionsRef = React29.createRef();
|
|
14063
14560
|
var CompositionManagerProvider = ({
|
|
14064
14561
|
children,
|
|
14065
14562
|
onlyRenderComposition,
|
|
@@ -14091,14 +14588,15 @@ var CompositionManagerProvider = ({
|
|
|
14091
14588
|
return comps.filter((c2) => c2.id !== id);
|
|
14092
14589
|
});
|
|
14093
14590
|
}, []);
|
|
14094
|
-
const registerFolder = useCallback19((name, parent, nonce) => {
|
|
14591
|
+
const registerFolder = useCallback19((name, parent, nonce, stack) => {
|
|
14095
14592
|
setFolders((prevFolders) => {
|
|
14096
14593
|
return [
|
|
14097
14594
|
...prevFolders,
|
|
14098
14595
|
{
|
|
14099
14596
|
name,
|
|
14100
14597
|
parent,
|
|
14101
|
-
nonce
|
|
14598
|
+
nonce,
|
|
14599
|
+
stack
|
|
14102
14600
|
}
|
|
14103
14601
|
];
|
|
14104
14602
|
});
|
|
@@ -14137,9 +14635,9 @@ var CompositionManagerProvider = ({
|
|
|
14137
14635
|
canvasContent
|
|
14138
14636
|
};
|
|
14139
14637
|
}, [compositions, folders, currentCompositionMetadata, canvasContent]);
|
|
14140
|
-
return /* @__PURE__ */
|
|
14638
|
+
return /* @__PURE__ */ jsx29(CompositionManager.Provider, {
|
|
14141
14639
|
value: compositionManagerContextValue,
|
|
14142
|
-
children: /* @__PURE__ */
|
|
14640
|
+
children: /* @__PURE__ */ jsx29(CompositionSetters.Provider, {
|
|
14143
14641
|
value: compositionManagerSetters,
|
|
14144
14642
|
children
|
|
14145
14643
|
})
|
|
@@ -14237,7 +14735,7 @@ var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
|
|
|
14237
14735
|
var getPreviewDomElement = () => {
|
|
14238
14736
|
return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
|
|
14239
14737
|
};
|
|
14240
|
-
var MaxMediaCacheSizeContext =
|
|
14738
|
+
var MaxMediaCacheSizeContext = React30.createContext(null);
|
|
14241
14739
|
var Root = null;
|
|
14242
14740
|
var listeners = [];
|
|
14243
14741
|
var getRoot = () => {
|
|
@@ -14255,7 +14753,7 @@ var waitForRoot = (fn) => {
|
|
|
14255
14753
|
listeners = listeners.filter((l) => l !== fn);
|
|
14256
14754
|
};
|
|
14257
14755
|
};
|
|
14258
|
-
var MediaEnabledContext =
|
|
14756
|
+
var MediaEnabledContext = createContext24(null);
|
|
14259
14757
|
var useVideoEnabled = () => {
|
|
14260
14758
|
const context = useContext34(MediaEnabledContext);
|
|
14261
14759
|
if (!context) {
|
|
@@ -14282,7 +14780,7 @@ var MediaEnabledProvider = ({
|
|
|
14282
14780
|
audioEnabled
|
|
14283
14781
|
}) => {
|
|
14284
14782
|
const value = useMemo33(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
14285
|
-
return /* @__PURE__ */
|
|
14783
|
+
return /* @__PURE__ */ jsx30(MediaEnabledContext.Provider, {
|
|
14286
14784
|
value,
|
|
14287
14785
|
children
|
|
14288
14786
|
});
|
|
@@ -14306,25 +14804,25 @@ var RemotionRootContexts = ({
|
|
|
14306
14804
|
const logging = useMemo34(() => {
|
|
14307
14805
|
return { logLevel, mountTime: Date.now() };
|
|
14308
14806
|
}, [logLevel]);
|
|
14309
|
-
return /* @__PURE__ */
|
|
14807
|
+
return /* @__PURE__ */ jsx31(LogLevelContext.Provider, {
|
|
14310
14808
|
value: logging,
|
|
14311
|
-
children: /* @__PURE__ */
|
|
14809
|
+
children: /* @__PURE__ */ jsx31(NonceContext.Provider, {
|
|
14312
14810
|
value: nonceContext,
|
|
14313
|
-
children: /* @__PURE__ */
|
|
14811
|
+
children: /* @__PURE__ */ jsx31(TimelineContextProvider, {
|
|
14314
14812
|
frameState,
|
|
14315
|
-
children: /* @__PURE__ */
|
|
14813
|
+
children: /* @__PURE__ */ jsx31(MediaEnabledProvider, {
|
|
14316
14814
|
videoEnabled,
|
|
14317
14815
|
audioEnabled,
|
|
14318
|
-
children: /* @__PURE__ */
|
|
14319
|
-
children: /* @__PURE__ */
|
|
14320
|
-
children: /* @__PURE__ */
|
|
14321
|
-
children: /* @__PURE__ */
|
|
14322
|
-
children: /* @__PURE__ */
|
|
14323
|
-
children: /* @__PURE__ */
|
|
14816
|
+
children: /* @__PURE__ */ jsx31(EditorPropsProvider, {
|
|
14817
|
+
children: /* @__PURE__ */ jsx31(PrefetchProvider, {
|
|
14818
|
+
children: /* @__PURE__ */ jsx31(SequenceManagerProvider, {
|
|
14819
|
+
children: /* @__PURE__ */ jsx31(DurationsContextProvider, {
|
|
14820
|
+
children: /* @__PURE__ */ jsx31(BufferingProvider, {
|
|
14821
|
+
children: /* @__PURE__ */ jsx31(SharedAudioContextProvider, {
|
|
14324
14822
|
audioLatencyHint,
|
|
14325
14823
|
audioEnabled,
|
|
14326
14824
|
previewSampleRate,
|
|
14327
|
-
children: /* @__PURE__ */
|
|
14825
|
+
children: /* @__PURE__ */ jsx31(SharedAudioTagsContextProvider, {
|
|
14328
14826
|
numberOfAudioTags,
|
|
14329
14827
|
children
|
|
14330
14828
|
})
|
|
@@ -14510,7 +15008,7 @@ var resolveVideoConfigOrCatch = (params) => {
|
|
|
14510
15008
|
};
|
|
14511
15009
|
}
|
|
14512
15010
|
};
|
|
14513
|
-
var SequenceStackTracesUpdateContext =
|
|
15011
|
+
var SequenceStackTracesUpdateContext = React32.createContext(() => {});
|
|
14514
15012
|
var getEnvVariables = () => {
|
|
14515
15013
|
if (getRemotionEnvironment().isRendering) {
|
|
14516
15014
|
const param = window.remotion_envVariables;
|
|
@@ -14536,8 +15034,8 @@ var setupEnvVariables = () => {
|
|
|
14536
15034
|
window.process.env[key] = env[key];
|
|
14537
15035
|
});
|
|
14538
15036
|
};
|
|
14539
|
-
var CurrentScaleContext =
|
|
14540
|
-
var PreviewSizeContext =
|
|
15037
|
+
var CurrentScaleContext = React33.createContext(null);
|
|
15038
|
+
var PreviewSizeContext = createContext25({
|
|
14541
15039
|
setSize: () => {
|
|
14542
15040
|
return;
|
|
14543
15041
|
},
|
|
@@ -14560,6 +15058,7 @@ var calculateScale = ({
|
|
|
14560
15058
|
}
|
|
14561
15059
|
return Number(previewSize);
|
|
14562
15060
|
};
|
|
15061
|
+
var PixelDensityContext = React34.createContext(null);
|
|
14563
15062
|
var getOffthreadVideoSource = ({
|
|
14564
15063
|
src,
|
|
14565
15064
|
transparent,
|
|
@@ -14592,9 +15091,9 @@ var OffthreadVideoForRendering = ({
|
|
|
14592
15091
|
const frame = useCurrentFrame();
|
|
14593
15092
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
|
|
14594
15093
|
const videoConfig = useUnsafeVideoConfig();
|
|
14595
|
-
const sequenceContext =
|
|
15094
|
+
const sequenceContext = useContext36(SequenceContext);
|
|
14596
15095
|
const mediaStartsAt = useMediaStartsAt();
|
|
14597
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
15096
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
|
|
14598
15097
|
if (!src) {
|
|
14599
15098
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
14600
15099
|
}
|
|
@@ -14760,7 +15259,7 @@ var OffthreadVideoForRendering = ({
|
|
|
14760
15259
|
return null;
|
|
14761
15260
|
}
|
|
14762
15261
|
continueRender2(imageSrc.handle);
|
|
14763
|
-
return /* @__PURE__ */
|
|
15262
|
+
return /* @__PURE__ */ jsx322(Img, {
|
|
14764
15263
|
src: imageSrc.src,
|
|
14765
15264
|
delayRenderRetries,
|
|
14766
15265
|
delayRenderTimeoutInMilliseconds,
|
|
@@ -14783,16 +15282,22 @@ var useEmitVideoFrame = ({
|
|
|
14783
15282
|
return;
|
|
14784
15283
|
}
|
|
14785
15284
|
let handle = 0;
|
|
14786
|
-
const callback = () => {
|
|
15285
|
+
const callback = (_now, metadata) => {
|
|
14787
15286
|
if (!ref.current) {
|
|
14788
15287
|
return;
|
|
14789
15288
|
}
|
|
14790
|
-
onVideoFrame(ref.current);
|
|
15289
|
+
onVideoFrame(ref.current, _now, metadata);
|
|
14791
15290
|
handle = ref.current.requestVideoFrameCallback(callback);
|
|
14792
15291
|
};
|
|
14793
|
-
|
|
15292
|
+
onVideoFrame(current);
|
|
15293
|
+
if (!current.requestVideoFrameCallback) {
|
|
15294
|
+
return;
|
|
15295
|
+
}
|
|
15296
|
+
handle = current.requestVideoFrameCallback(callback);
|
|
14794
15297
|
return () => {
|
|
14795
|
-
|
|
15298
|
+
if (handle) {
|
|
15299
|
+
current.cancelVideoFrameCallback(handle);
|
|
15300
|
+
}
|
|
14796
15301
|
};
|
|
14797
15302
|
}, [onVideoFrame, ref]);
|
|
14798
15303
|
};
|
|
@@ -14806,7 +15311,7 @@ class MediaPlaybackError extends Error {
|
|
|
14806
15311
|
}
|
|
14807
15312
|
}
|
|
14808
15313
|
var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
14809
|
-
const context =
|
|
15314
|
+
const context = useContext37(SharedAudioContext);
|
|
14810
15315
|
if (!context) {
|
|
14811
15316
|
throw new Error("SharedAudioContext not found");
|
|
14812
15317
|
}
|
|
@@ -14820,7 +15325,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
14820
15325
|
ref: videoRef
|
|
14821
15326
|
});
|
|
14822
15327
|
}, [context.audioContext]);
|
|
14823
|
-
const effectToUse =
|
|
15328
|
+
const effectToUse = React36.useInsertionEffect ?? React36.useLayoutEffect;
|
|
14824
15329
|
effectToUse(() => {
|
|
14825
15330
|
return () => {
|
|
14826
15331
|
requestAnimationFrame(() => {
|
|
@@ -14863,7 +15368,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
14863
15368
|
}
|
|
14864
15369
|
const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
14865
15370
|
const { fps, durationInFrames } = useVideoConfig();
|
|
14866
|
-
const parentSequence =
|
|
15371
|
+
const parentSequence = useContext37(SequenceContext);
|
|
14867
15372
|
const logLevel = useLogLevel();
|
|
14868
15373
|
const mountTime = useMountTime();
|
|
14869
15374
|
const [timelineId] = useState20(() => String(Math.random()));
|
|
@@ -15024,7 +15529,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
15024
15529
|
requestsVideoFrame: Boolean(onVideoFrame),
|
|
15025
15530
|
isClientSideRendering: false
|
|
15026
15531
|
});
|
|
15027
|
-
return /* @__PURE__ */
|
|
15532
|
+
return /* @__PURE__ */ jsx33("video", {
|
|
15028
15533
|
ref: videoRef,
|
|
15029
15534
|
muted: muted || mediaMuted || userPreferredVolume <= 0,
|
|
15030
15535
|
playsInline: true,
|
|
@@ -15067,13 +15572,13 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
15067
15572
|
trimAfter
|
|
15068
15573
|
});
|
|
15069
15574
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
15070
|
-
return /* @__PURE__ */
|
|
15575
|
+
return /* @__PURE__ */ jsx34(Sequence, {
|
|
15071
15576
|
layout: "none",
|
|
15072
15577
|
from: 0 - (trimBeforeValue ?? 0),
|
|
15073
15578
|
showInTimeline: false,
|
|
15074
15579
|
durationInFrames: trimAfterValue,
|
|
15075
15580
|
name,
|
|
15076
|
-
children: /* @__PURE__ */
|
|
15581
|
+
children: /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
|
|
15077
15582
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
15078
15583
|
...otherProps,
|
|
15079
15584
|
trimAfter: undefined,
|
|
@@ -15088,7 +15593,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
15088
15593
|
}
|
|
15089
15594
|
validateMediaProps(props2, "Video");
|
|
15090
15595
|
if (environment.isRendering) {
|
|
15091
|
-
return /* @__PURE__ */
|
|
15596
|
+
return /* @__PURE__ */ jsx34(OffthreadVideoForRendering, {
|
|
15092
15597
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
15093
15598
|
...otherProps,
|
|
15094
15599
|
trimAfter: undefined,
|
|
@@ -15110,7 +15615,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
15110
15615
|
delayRenderTimeoutInMilliseconds,
|
|
15111
15616
|
...propsForPreview
|
|
15112
15617
|
} = otherProps;
|
|
15113
|
-
return /* @__PURE__ */
|
|
15618
|
+
return /* @__PURE__ */ jsx34(VideoForPreview, {
|
|
15114
15619
|
_remotionInternalStack: stack ?? null,
|
|
15115
15620
|
onDuration,
|
|
15116
15621
|
onlyWarnForMediaSeekingError: true,
|
|
@@ -15128,11 +15633,9 @@ var OffthreadVideo = ({
|
|
|
15128
15633
|
acceptableTimeShiftInSeconds,
|
|
15129
15634
|
allowAmplificationDuringRender,
|
|
15130
15635
|
audioStreamIndex,
|
|
15131
|
-
className,
|
|
15132
15636
|
crossOrigin,
|
|
15133
15637
|
delayRenderRetries,
|
|
15134
15638
|
delayRenderTimeoutInMilliseconds,
|
|
15135
|
-
id,
|
|
15136
15639
|
loopVolumeCurveBehavior,
|
|
15137
15640
|
muted,
|
|
15138
15641
|
name,
|
|
@@ -15155,20 +15658,19 @@ var OffthreadVideo = ({
|
|
|
15155
15658
|
endAt,
|
|
15156
15659
|
stack,
|
|
15157
15660
|
startFrom,
|
|
15158
|
-
imageFormat
|
|
15661
|
+
imageFormat,
|
|
15662
|
+
...props2
|
|
15159
15663
|
}) => {
|
|
15160
15664
|
if (imageFormat) {
|
|
15161
15665
|
throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
|
|
15162
15666
|
}
|
|
15163
|
-
return /* @__PURE__ */
|
|
15667
|
+
return /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
|
|
15164
15668
|
acceptableTimeShiftInSeconds,
|
|
15165
15669
|
allowAmplificationDuringRender: allowAmplificationDuringRender ?? true,
|
|
15166
15670
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
15167
|
-
className,
|
|
15168
15671
|
crossOrigin,
|
|
15169
15672
|
delayRenderRetries,
|
|
15170
15673
|
delayRenderTimeoutInMilliseconds,
|
|
15171
|
-
id,
|
|
15172
15674
|
loopVolumeCurveBehavior: loopVolumeCurveBehavior ?? "repeat",
|
|
15173
15675
|
muted: muted ?? false,
|
|
15174
15676
|
name,
|
|
@@ -15191,24 +15693,25 @@ var OffthreadVideo = ({
|
|
|
15191
15693
|
trimAfter,
|
|
15192
15694
|
trimBefore,
|
|
15193
15695
|
useWebAudioApi: useWebAudioApi ?? false,
|
|
15194
|
-
volume
|
|
15696
|
+
volume,
|
|
15697
|
+
...props2
|
|
15195
15698
|
});
|
|
15196
15699
|
};
|
|
15197
15700
|
addSequenceStackTraces(OffthreadVideo);
|
|
15198
15701
|
var WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged";
|
|
15199
15702
|
function useRemotionContexts() {
|
|
15200
|
-
const compositionManagerCtx =
|
|
15201
|
-
const timelineContext =
|
|
15202
|
-
const setTimelineContext =
|
|
15203
|
-
const sequenceContext =
|
|
15204
|
-
const nonceContext =
|
|
15205
|
-
const canUseRemotionHooksContext =
|
|
15206
|
-
const preloadContext =
|
|
15207
|
-
const resolveCompositionContext =
|
|
15208
|
-
const renderAssetManagerContext =
|
|
15209
|
-
const sequenceManagerContext =
|
|
15210
|
-
const bufferManagerContext =
|
|
15211
|
-
const logLevelContext =
|
|
15703
|
+
const compositionManagerCtx = React38.useContext(CompositionManager);
|
|
15704
|
+
const timelineContext = React38.useContext(TimelineContext);
|
|
15705
|
+
const setTimelineContext = React38.useContext(SetTimelineContext);
|
|
15706
|
+
const sequenceContext = React38.useContext(SequenceContext);
|
|
15707
|
+
const nonceContext = React38.useContext(NonceContext);
|
|
15708
|
+
const canUseRemotionHooksContext = React38.useContext(CanUseRemotionHooks);
|
|
15709
|
+
const preloadContext = React38.useContext(PreloadContext);
|
|
15710
|
+
const resolveCompositionContext = React38.useContext(ResolveCompositionContext);
|
|
15711
|
+
const renderAssetManagerContext = React38.useContext(RenderAssetManager);
|
|
15712
|
+
const sequenceManagerContext = React38.useContext(SequenceManager);
|
|
15713
|
+
const bufferManagerContext = React38.useContext(BufferingContextReact);
|
|
15714
|
+
const logLevelContext = React38.useContext(LogLevelContext);
|
|
15212
15715
|
return useMemo37(() => ({
|
|
15213
15716
|
compositionManagerCtx,
|
|
15214
15717
|
timelineContext,
|
|
@@ -15239,29 +15742,29 @@ function useRemotionContexts() {
|
|
|
15239
15742
|
}
|
|
15240
15743
|
var RemotionContextProvider = (props2) => {
|
|
15241
15744
|
const { children, contexts } = props2;
|
|
15242
|
-
return /* @__PURE__ */
|
|
15745
|
+
return /* @__PURE__ */ jsx35(LogLevelContext.Provider, {
|
|
15243
15746
|
value: contexts.logLevelContext,
|
|
15244
|
-
children: /* @__PURE__ */
|
|
15747
|
+
children: /* @__PURE__ */ jsx35(CanUseRemotionHooks.Provider, {
|
|
15245
15748
|
value: contexts.canUseRemotionHooksContext,
|
|
15246
|
-
children: /* @__PURE__ */
|
|
15749
|
+
children: /* @__PURE__ */ jsx35(NonceContext.Provider, {
|
|
15247
15750
|
value: contexts.nonceContext,
|
|
15248
|
-
children: /* @__PURE__ */
|
|
15751
|
+
children: /* @__PURE__ */ jsx35(PreloadContext.Provider, {
|
|
15249
15752
|
value: contexts.preloadContext,
|
|
15250
|
-
children: /* @__PURE__ */
|
|
15753
|
+
children: /* @__PURE__ */ jsx35(CompositionManager.Provider, {
|
|
15251
15754
|
value: contexts.compositionManagerCtx,
|
|
15252
|
-
children: /* @__PURE__ */
|
|
15755
|
+
children: /* @__PURE__ */ jsx35(SequenceManager.Provider, {
|
|
15253
15756
|
value: contexts.sequenceManagerContext,
|
|
15254
|
-
children: /* @__PURE__ */
|
|
15757
|
+
children: /* @__PURE__ */ jsx35(RenderAssetManager.Provider, {
|
|
15255
15758
|
value: contexts.renderAssetManagerContext,
|
|
15256
|
-
children: /* @__PURE__ */
|
|
15759
|
+
children: /* @__PURE__ */ jsx35(ResolveCompositionContext.Provider, {
|
|
15257
15760
|
value: contexts.resolveCompositionContext,
|
|
15258
|
-
children: /* @__PURE__ */
|
|
15761
|
+
children: /* @__PURE__ */ jsx35(TimelineContext.Provider, {
|
|
15259
15762
|
value: contexts.timelineContext,
|
|
15260
|
-
children: /* @__PURE__ */
|
|
15763
|
+
children: /* @__PURE__ */ jsx35(SetTimelineContext.Provider, {
|
|
15261
15764
|
value: contexts.setTimelineContext,
|
|
15262
|
-
children: /* @__PURE__ */
|
|
15765
|
+
children: /* @__PURE__ */ jsx35(SequenceContext.Provider, {
|
|
15263
15766
|
value: contexts.sequenceContext,
|
|
15264
|
-
children: /* @__PURE__ */
|
|
15767
|
+
children: /* @__PURE__ */ jsx35(BufferingContextReact.Provider, {
|
|
15265
15768
|
value: contexts.bufferManagerContext,
|
|
15266
15769
|
children
|
|
15267
15770
|
})
|
|
@@ -15329,8 +15832,10 @@ var Internals = {
|
|
|
15329
15832
|
SharedAudioTagsContext,
|
|
15330
15833
|
SharedAudioTagsContextProvider,
|
|
15331
15834
|
invalidCompositionErrorMessage,
|
|
15835
|
+
invalidFolderNameErrorMessage,
|
|
15332
15836
|
calculateMediaDuration,
|
|
15333
15837
|
isCompositionIdValid,
|
|
15838
|
+
isFolderNameValid,
|
|
15334
15839
|
getPreviewDomElement,
|
|
15335
15840
|
compositionsRef,
|
|
15336
15841
|
portalNode,
|
|
@@ -15365,6 +15870,7 @@ var Internals = {
|
|
|
15365
15870
|
BufferingContextReact,
|
|
15366
15871
|
getComponentsToAddStacksTo,
|
|
15367
15872
|
CurrentScaleContext,
|
|
15873
|
+
PixelDensityContext,
|
|
15368
15874
|
PreviewSizeContext,
|
|
15369
15875
|
calculateScale,
|
|
15370
15876
|
validateRenderAsset,
|
|
@@ -15404,13 +15910,19 @@ var Internals = {
|
|
|
15404
15910
|
createWebGL2ContextError,
|
|
15405
15911
|
computeEffectiveSchemaValuesDotNotation,
|
|
15406
15912
|
interpolateKeyframedStatus,
|
|
15913
|
+
makeStaticDragOverride,
|
|
15914
|
+
makeKeyframedDragOverride,
|
|
15915
|
+
resolveDragOverrideValue,
|
|
15916
|
+
getStaticDragOverrideValue,
|
|
15407
15917
|
OverrideIdsToNodePathsGettersContext,
|
|
15408
15918
|
OverrideIdsToNodePathsSettersContext,
|
|
15409
15919
|
findPropsToDelete,
|
|
15410
15920
|
makeSequencePropsSubscriptionKey,
|
|
15411
15921
|
getCodeValuesCtx,
|
|
15412
15922
|
getEffectCodeValuesCtx,
|
|
15413
|
-
hiddenField
|
|
15923
|
+
hiddenField,
|
|
15924
|
+
durationInFramesField,
|
|
15925
|
+
fromField
|
|
15414
15926
|
};
|
|
15415
15927
|
var validateFrame = ({
|
|
15416
15928
|
allowFloats,
|
|
@@ -15437,34 +15949,15 @@ var validateFrame = ({
|
|
|
15437
15949
|
}
|
|
15438
15950
|
};
|
|
15439
15951
|
var flattenChildren = (children) => {
|
|
15440
|
-
const childrenArray =
|
|
15952
|
+
const childrenArray = React39.Children.toArray(children);
|
|
15441
15953
|
return childrenArray.reduce((flatChildren, child) => {
|
|
15442
|
-
if (child.type ===
|
|
15954
|
+
if (child.type === React39.Fragment) {
|
|
15443
15955
|
return flatChildren.concat(flattenChildren(child.props.children));
|
|
15444
15956
|
}
|
|
15445
15957
|
flatChildren.push(child);
|
|
15446
15958
|
return flatChildren;
|
|
15447
15959
|
}, []);
|
|
15448
15960
|
};
|
|
15449
|
-
var IsInsideSeriesContext = createContext25(false);
|
|
15450
|
-
var IsInsideSeriesContainer = ({ children }) => {
|
|
15451
|
-
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
15452
|
-
value: true,
|
|
15453
|
-
children
|
|
15454
|
-
});
|
|
15455
|
-
};
|
|
15456
|
-
var IsNotInsideSeriesProvider = ({ children }) => {
|
|
15457
|
-
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
15458
|
-
value: false,
|
|
15459
|
-
children
|
|
15460
|
-
});
|
|
15461
|
-
};
|
|
15462
|
-
var useRequireToBeInsideSeries = () => {
|
|
15463
|
-
const isInsideSeries = React38.useContext(IsInsideSeriesContext);
|
|
15464
|
-
if (!isInsideSeries) {
|
|
15465
|
-
throw new Error("This component must be inside a <Series /> component.");
|
|
15466
|
-
}
|
|
15467
|
-
};
|
|
15468
15961
|
var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
15469
15962
|
useRequireToBeInsideSeries();
|
|
15470
15963
|
return /* @__PURE__ */ jsx36(IsNotInsideSeriesProvider, {
|
|
@@ -15535,7 +16028,11 @@ var SeriesInner = (props2) => {
|
|
|
15535
16028
|
})
|
|
15536
16029
|
});
|
|
15537
16030
|
};
|
|
15538
|
-
var Series = Object.assign(wrapInSchema(
|
|
16031
|
+
var Series = Object.assign(wrapInSchema({
|
|
16032
|
+
Component: SeriesInner,
|
|
16033
|
+
schema: sequenceSchemaDefaultLayoutNone,
|
|
16034
|
+
supportsEffects: false
|
|
16035
|
+
}), {
|
|
15539
16036
|
Sequence: SeriesSequence
|
|
15540
16037
|
});
|
|
15541
16038
|
addSequenceStackTraces(Series);
|
|
@@ -16006,13 +16503,13 @@ var VideoForRenderingForwardFunction = ({
|
|
|
16006
16503
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
16007
16504
|
const videoConfig = useUnsafeVideoConfig();
|
|
16008
16505
|
const videoRef = useRef27(null);
|
|
16009
|
-
const sequenceContext =
|
|
16506
|
+
const sequenceContext = useContext38(SequenceContext);
|
|
16010
16507
|
const mediaStartsAt = useMediaStartsAt();
|
|
16011
16508
|
const environment = useRemotionEnvironment();
|
|
16012
16509
|
const logLevel = useLogLevel();
|
|
16013
16510
|
const mountTime = useMountTime();
|
|
16014
16511
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
16015
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
16512
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext38(RenderAssetManager);
|
|
16016
16513
|
const id = useMemo39(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
16017
16514
|
props2.src,
|
|
16018
16515
|
sequenceContext?.cumulatedFrom,
|
|
@@ -16071,6 +16568,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
16071
16568
|
useImperativeHandle10(ref, () => {
|
|
16072
16569
|
return videoRef.current;
|
|
16073
16570
|
}, []);
|
|
16571
|
+
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
16074
16572
|
useEffect21(() => {
|
|
16075
16573
|
if (!window.remotion_videoEnabled) {
|
|
16076
16574
|
return;
|
|
@@ -16214,6 +16712,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
16214
16712
|
_remotionInternalNativeLoopPassed,
|
|
16215
16713
|
showInTimeline,
|
|
16216
16714
|
onAutoPlayError,
|
|
16715
|
+
onVideoFrame,
|
|
16217
16716
|
...otherProps
|
|
16218
16717
|
} = props2;
|
|
16219
16718
|
const { loop, ...propsOtherThanLoop } = props2;
|
|
@@ -16222,7 +16721,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
16222
16721
|
if (environment.isClientSideRendering) {
|
|
16223
16722
|
throw new Error("<Html5Video> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
|
|
16224
16723
|
}
|
|
16225
|
-
const { durations, setDurations } =
|
|
16724
|
+
const { durations, setDurations } = useContext39(DurationsContext);
|
|
16226
16725
|
if (typeof ref === "string") {
|
|
16227
16726
|
throw new Error("string refs are not supported");
|
|
16228
16727
|
}
|
|
@@ -16233,7 +16732,6 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
16233
16732
|
const onDuration = useCallback23((src, durationInSeconds) => {
|
|
16234
16733
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
16235
16734
|
}, [setDurations]);
|
|
16236
|
-
const onVideoFrame = useCallback23(() => {}, []);
|
|
16237
16735
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
16238
16736
|
validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
|
|
16239
16737
|
const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
|
|
@@ -16279,6 +16777,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
16279
16777
|
name,
|
|
16280
16778
|
children: /* @__PURE__ */ jsx38(Html5Video, {
|
|
16281
16779
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
16780
|
+
onVideoFrame,
|
|
16282
16781
|
...otherProps,
|
|
16283
16782
|
ref,
|
|
16284
16783
|
stack
|
|
@@ -16302,7 +16801,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
16302
16801
|
onlyWarnForMediaSeekingError: false,
|
|
16303
16802
|
...otherProps,
|
|
16304
16803
|
ref,
|
|
16305
|
-
onVideoFrame: null,
|
|
16804
|
+
onVideoFrame: onVideoFrame ?? null,
|
|
16306
16805
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
16307
16806
|
onDuration,
|
|
16308
16807
|
_remotionInternalStack: stack ?? null,
|
|
@@ -16337,6 +16836,7 @@ var Config = new Proxy(proxyObj, {
|
|
|
16337
16836
|
Sequence.displayName = "Sequence";
|
|
16338
16837
|
addSequenceStackTraces(Sequence);
|
|
16339
16838
|
addSequenceStackTraces(Composition);
|
|
16839
|
+
addSequenceStackTraces(Folder);
|
|
16340
16840
|
|
|
16341
16841
|
// ../design/dist/esm/index.mjs
|
|
16342
16842
|
import { jsx as jsx210, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
@@ -16364,15 +16864,15 @@ import { Fragment as Fragment5, jsx as jsx142 } from "react/jsx-runtime";
|
|
|
16364
16864
|
import { jsx as jsx152 } from "react/jsx-runtime";
|
|
16365
16865
|
import * as React122 from "react";
|
|
16366
16866
|
import { jsx as jsx162 } from "react/jsx-runtime";
|
|
16367
|
-
import * as
|
|
16368
|
-
import * as
|
|
16867
|
+
import * as React162 from "react";
|
|
16868
|
+
import * as React132 from "react";
|
|
16369
16869
|
import * as ReactDOM from "react-dom";
|
|
16370
16870
|
import { jsx as jsx172 } from "react/jsx-runtime";
|
|
16371
|
-
import * as
|
|
16871
|
+
import * as React14 from "react";
|
|
16372
16872
|
import * as React152 from "react";
|
|
16373
16873
|
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
16374
16874
|
import * as React17 from "react";
|
|
16375
|
-
import * as
|
|
16875
|
+
import * as React18 from "react";
|
|
16376
16876
|
import { jsx as jsx192 } from "react/jsx-runtime";
|
|
16377
16877
|
import * as React202 from "react";
|
|
16378
16878
|
import * as React192 from "react";
|
|
@@ -16382,41 +16882,41 @@ import { useLayoutEffect as useLayoutEffect32, useEffect as useEffect82 } from "
|
|
|
16382
16882
|
import * as ReactDOM2 from "react-dom";
|
|
16383
16883
|
import * as React222 from "react";
|
|
16384
16884
|
import { jsx as jsx202 } from "react/jsx-runtime";
|
|
16385
|
-
import * as
|
|
16885
|
+
import * as React232 from "react";
|
|
16386
16886
|
import { jsx as jsx212 } from "react/jsx-runtime";
|
|
16387
16887
|
import * as React25 from "react";
|
|
16388
16888
|
import ReactDOM3 from "react-dom";
|
|
16389
16889
|
import { jsx as jsx223 } from "react/jsx-runtime";
|
|
16390
16890
|
import * as React26 from "react";
|
|
16391
16891
|
import * as React27 from "react";
|
|
16392
|
-
import * as
|
|
16892
|
+
import * as React28 from "react";
|
|
16393
16893
|
import { jsx as jsx232 } from "react/jsx-runtime";
|
|
16394
|
-
import * as
|
|
16395
|
-
import * as
|
|
16894
|
+
import * as React352 from "react";
|
|
16895
|
+
import * as React31 from "react";
|
|
16396
16896
|
import { useState as useState112 } from "react";
|
|
16397
16897
|
import * as React292 from "react";
|
|
16398
|
-
import * as
|
|
16898
|
+
import * as React302 from "react";
|
|
16399
16899
|
import * as React342 from "react";
|
|
16400
16900
|
import * as React332 from "react";
|
|
16401
16901
|
import * as React322 from "react";
|
|
16402
16902
|
import { Fragment as Fragment8, jsx as jsx242, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
16403
16903
|
import { forwardRef as forwardRef142, createElement as createElement7 } from "react";
|
|
16404
16904
|
import { forwardRef as forwardRef132, createElement as createElement6 } from "react";
|
|
16405
|
-
import * as
|
|
16905
|
+
import * as React37 from "react";
|
|
16406
16906
|
import { jsx as jsx252, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
16407
16907
|
import { jsx as jsx262 } from "react/jsx-runtime";
|
|
16408
16908
|
import * as React49 from "react";
|
|
16409
16909
|
import * as React382 from "react";
|
|
16410
16910
|
import { jsx as jsx272 } from "react/jsx-runtime";
|
|
16411
16911
|
import * as React47 from "react";
|
|
16412
|
-
import
|
|
16413
|
-
import * as
|
|
16912
|
+
import React40 from "react";
|
|
16913
|
+
import * as React392 from "react";
|
|
16414
16914
|
import { Fragment as Fragment22, jsx as jsx282 } from "react/jsx-runtime";
|
|
16415
16915
|
import { jsx as jsx292 } from "react/jsx-runtime";
|
|
16416
16916
|
import React210 from "react";
|
|
16417
16917
|
import { jsx as jsx2102 } from "react/jsx-runtime";
|
|
16418
16918
|
import * as React42 from "react";
|
|
16419
|
-
import * as
|
|
16919
|
+
import * as React412 from "react";
|
|
16420
16920
|
import * as React43 from "react";
|
|
16421
16921
|
import * as ReactDOM5 from "react-dom";
|
|
16422
16922
|
import { jsx as jsx302 } from "react/jsx-runtime";
|
|
@@ -16469,7 +16969,7 @@ function useComposedRefs(...refs) {
|
|
|
16469
16969
|
return React3.useCallback(composeRefs(...refs), refs);
|
|
16470
16970
|
}
|
|
16471
16971
|
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
|
16472
|
-
var use =
|
|
16972
|
+
var use = React23[" use ".trim().toString()];
|
|
16473
16973
|
function isPromiseLike(value) {
|
|
16474
16974
|
return typeof value === "object" && value !== null && "then" in value;
|
|
16475
16975
|
}
|
|
@@ -16478,25 +16978,25 @@ function isLazyComponent(element) {
|
|
|
16478
16978
|
}
|
|
16479
16979
|
function createSlot(ownerName) {
|
|
16480
16980
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
16481
|
-
const Slot2 =
|
|
16981
|
+
const Slot2 = React23.forwardRef((props, forwardedRef) => {
|
|
16482
16982
|
let { children, ...slotProps } = props;
|
|
16483
16983
|
if (isLazyComponent(children) && typeof use === "function") {
|
|
16484
16984
|
children = use(children._payload);
|
|
16485
16985
|
}
|
|
16486
|
-
const childrenArray =
|
|
16986
|
+
const childrenArray = React23.Children.toArray(children);
|
|
16487
16987
|
const slottable = childrenArray.find(isSlottable);
|
|
16488
16988
|
if (slottable) {
|
|
16489
16989
|
const newElement = slottable.props.children;
|
|
16490
16990
|
const newChildren = childrenArray.map((child) => {
|
|
16491
16991
|
if (child === slottable) {
|
|
16492
|
-
if (
|
|
16493
|
-
return
|
|
16494
|
-
return
|
|
16992
|
+
if (React23.Children.count(newElement) > 1)
|
|
16993
|
+
return React23.Children.only(null);
|
|
16994
|
+
return React23.isValidElement(newElement) ? newElement.props.children : null;
|
|
16495
16995
|
} else {
|
|
16496
16996
|
return child;
|
|
16497
16997
|
}
|
|
16498
16998
|
});
|
|
16499
|
-
return /* @__PURE__ */ jsx39(SlotClone, { ...slotProps, ref: forwardedRef, children:
|
|
16999
|
+
return /* @__PURE__ */ jsx39(SlotClone, { ...slotProps, ref: forwardedRef, children: React23.isValidElement(newElement) ? React23.cloneElement(newElement, undefined, newChildren) : null });
|
|
16500
17000
|
}
|
|
16501
17001
|
return /* @__PURE__ */ jsx39(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
16502
17002
|
});
|
|
@@ -16505,20 +17005,20 @@ function createSlot(ownerName) {
|
|
|
16505
17005
|
}
|
|
16506
17006
|
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
16507
17007
|
function createSlotClone(ownerName) {
|
|
16508
|
-
const SlotClone =
|
|
17008
|
+
const SlotClone = React23.forwardRef((props, forwardedRef) => {
|
|
16509
17009
|
let { children, ...slotProps } = props;
|
|
16510
17010
|
if (isLazyComponent(children) && typeof use === "function") {
|
|
16511
17011
|
children = use(children._payload);
|
|
16512
17012
|
}
|
|
16513
|
-
if (
|
|
17013
|
+
if (React23.isValidElement(children)) {
|
|
16514
17014
|
const childrenRef = getElementRef(children);
|
|
16515
17015
|
const props2 = mergeProps(slotProps, children.props);
|
|
16516
|
-
if (children.type !==
|
|
17016
|
+
if (children.type !== React23.Fragment) {
|
|
16517
17017
|
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
16518
17018
|
}
|
|
16519
|
-
return
|
|
17019
|
+
return React23.cloneElement(children, props2);
|
|
16520
17020
|
}
|
|
16521
|
-
return
|
|
17021
|
+
return React23.Children.count(children) > 1 ? React23.Children.only(null) : null;
|
|
16522
17022
|
});
|
|
16523
17023
|
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
16524
17024
|
return SlotClone;
|
|
@@ -16534,7 +17034,7 @@ function createSlottable(ownerName) {
|
|
|
16534
17034
|
}
|
|
16535
17035
|
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
|
16536
17036
|
function isSlottable(child) {
|
|
16537
|
-
return
|
|
17037
|
+
return React23.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
16538
17038
|
}
|
|
16539
17039
|
function mergeProps(slotProps, childProps) {
|
|
16540
17040
|
const overrideProps = { ...childProps };
|
|
@@ -16591,7 +17091,7 @@ var getChildNodeFrom = (htmlElement) => {
|
|
|
16591
17091
|
return childNode;
|
|
16592
17092
|
};
|
|
16593
17093
|
var useHoverTransforms = (ref, disabled) => {
|
|
16594
|
-
const [state, setState] =
|
|
17094
|
+
const [state, setState] = React35.useState({
|
|
16595
17095
|
progress: 0,
|
|
16596
17096
|
isActive: false
|
|
16597
17097
|
});
|
|
@@ -16603,7 +17103,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
16603
17103
|
eventTarget.dispatchEvent(new Event("enabled"));
|
|
16604
17104
|
}
|
|
16605
17105
|
}, [disabled, eventTarget]);
|
|
16606
|
-
|
|
17106
|
+
React35.useEffect(() => {
|
|
16607
17107
|
const element = ref.current;
|
|
16608
17108
|
if (!element)
|
|
16609
17109
|
return;
|
|
@@ -16678,8 +17178,8 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
16678
17178
|
return state;
|
|
16679
17179
|
};
|
|
16680
17180
|
var useClickTransforms = (ref) => {
|
|
16681
|
-
const [hoverProgress, setHoverProgress] =
|
|
16682
|
-
|
|
17181
|
+
const [hoverProgress, setHoverProgress] = React35.useState(0);
|
|
17182
|
+
React35.useEffect(() => {
|
|
16683
17183
|
const element = getChildNodeFrom(ref.current);
|
|
16684
17184
|
if (!element) {
|
|
16685
17185
|
return;
|
|
@@ -17407,7 +17907,7 @@ var NODES = [
|
|
|
17407
17907
|
"ul"
|
|
17408
17908
|
];
|
|
17409
17909
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
17410
|
-
const Node2 =
|
|
17910
|
+
const Node2 = React132.forwardRef((props, forwardedRef) => {
|
|
17411
17911
|
const { asChild, ...primitiveProps } = props;
|
|
17412
17912
|
const Comp = asChild ? Slot2 : node;
|
|
17413
17913
|
if (typeof window !== "undefined") {
|
|
@@ -17423,11 +17923,11 @@ function dispatchDiscreteCustomEvent(target, event) {
|
|
|
17423
17923
|
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
17424
17924
|
}
|
|
17425
17925
|
function useCallbackRef(callback) {
|
|
17426
|
-
const callbackRef =
|
|
17427
|
-
|
|
17926
|
+
const callbackRef = React14.useRef(callback);
|
|
17927
|
+
React14.useEffect(() => {
|
|
17428
17928
|
callbackRef.current = callback;
|
|
17429
17929
|
});
|
|
17430
|
-
return
|
|
17930
|
+
return React14.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
17431
17931
|
}
|
|
17432
17932
|
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
|
|
17433
17933
|
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
|
|
@@ -17446,12 +17946,12 @@ var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
|
17446
17946
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
17447
17947
|
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
|
17448
17948
|
var originalBodyPointerEvents;
|
|
17449
|
-
var DismissableLayerContext =
|
|
17949
|
+
var DismissableLayerContext = React162.createContext({
|
|
17450
17950
|
layers: /* @__PURE__ */ new Set,
|
|
17451
17951
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set,
|
|
17452
17952
|
branches: /* @__PURE__ */ new Set
|
|
17453
17953
|
});
|
|
17454
|
-
var DismissableLayer =
|
|
17954
|
+
var DismissableLayer = React162.forwardRef((props, forwardedRef) => {
|
|
17455
17955
|
const {
|
|
17456
17956
|
disableOutsidePointerEvents = false,
|
|
17457
17957
|
onEscapeKeyDown,
|
|
@@ -17461,10 +17961,10 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
17461
17961
|
onDismiss,
|
|
17462
17962
|
...layerProps
|
|
17463
17963
|
} = props;
|
|
17464
|
-
const context =
|
|
17465
|
-
const [node, setNode] =
|
|
17964
|
+
const context = React162.useContext(DismissableLayerContext);
|
|
17965
|
+
const [node, setNode] = React162.useState(null);
|
|
17466
17966
|
const ownerDocument = node?.ownerDocument ?? globalThis?.document;
|
|
17467
|
-
const [, force] =
|
|
17967
|
+
const [, force] = React162.useState({});
|
|
17468
17968
|
const composedRefs = useComposedRefs2(forwardedRef, (node2) => setNode(node2));
|
|
17469
17969
|
const layers = Array.from(context.layers);
|
|
17470
17970
|
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
|
@@ -17502,7 +18002,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
17502
18002
|
onDismiss();
|
|
17503
18003
|
}
|
|
17504
18004
|
}, ownerDocument);
|
|
17505
|
-
|
|
18005
|
+
React162.useEffect(() => {
|
|
17506
18006
|
if (!node)
|
|
17507
18007
|
return;
|
|
17508
18008
|
if (disableOutsidePointerEvents) {
|
|
@@ -17520,7 +18020,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
17520
18020
|
}
|
|
17521
18021
|
};
|
|
17522
18022
|
}, [node, ownerDocument, disableOutsidePointerEvents, context]);
|
|
17523
|
-
|
|
18023
|
+
React162.useEffect(() => {
|
|
17524
18024
|
return () => {
|
|
17525
18025
|
if (!node)
|
|
17526
18026
|
return;
|
|
@@ -17529,7 +18029,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
17529
18029
|
dispatchUpdate();
|
|
17530
18030
|
};
|
|
17531
18031
|
}, [node, context]);
|
|
17532
|
-
|
|
18032
|
+
React162.useEffect(() => {
|
|
17533
18033
|
const handleUpdate = () => force({});
|
|
17534
18034
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
17535
18035
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
@@ -17548,11 +18048,11 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
17548
18048
|
});
|
|
17549
18049
|
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
|
|
17550
18050
|
var BRANCH_NAME = "DismissableLayerBranch";
|
|
17551
|
-
var DismissableLayerBranch =
|
|
17552
|
-
const context =
|
|
17553
|
-
const ref =
|
|
18051
|
+
var DismissableLayerBranch = React162.forwardRef((props, forwardedRef) => {
|
|
18052
|
+
const context = React162.useContext(DismissableLayerContext);
|
|
18053
|
+
const ref = React162.useRef(null);
|
|
17554
18054
|
const composedRefs = useComposedRefs2(forwardedRef, ref);
|
|
17555
|
-
|
|
18055
|
+
React162.useEffect(() => {
|
|
17556
18056
|
const node = ref.current;
|
|
17557
18057
|
if (node) {
|
|
17558
18058
|
context.branches.add(node);
|
|
@@ -17566,9 +18066,9 @@ var DismissableLayerBranch = React16.forwardRef((props, forwardedRef) => {
|
|
|
17566
18066
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
17567
18067
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
|
17568
18068
|
const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
|
|
17569
|
-
const isPointerInsideReactTreeRef =
|
|
17570
|
-
const handleClickRef =
|
|
17571
|
-
|
|
18069
|
+
const isPointerInsideReactTreeRef = React162.useRef(false);
|
|
18070
|
+
const handleClickRef = React162.useRef(() => {});
|
|
18071
|
+
React162.useEffect(() => {
|
|
17572
18072
|
const handlePointerDown = (event) => {
|
|
17573
18073
|
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
17574
18074
|
let handleAndDispatchPointerDownOutsideEvent2 = function() {
|
|
@@ -17603,8 +18103,8 @@ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?
|
|
|
17603
18103
|
}
|
|
17604
18104
|
function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
|
|
17605
18105
|
const handleFocusOutside = useCallbackRef(onFocusOutside);
|
|
17606
|
-
const isFocusInsideReactTreeRef =
|
|
17607
|
-
|
|
18106
|
+
const isFocusInsideReactTreeRef = React162.useRef(false);
|
|
18107
|
+
React162.useEffect(() => {
|
|
17608
18108
|
const handleFocus = (event) => {
|
|
17609
18109
|
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
17610
18110
|
const eventDetail = { originalEvent: event };
|
|
@@ -17662,7 +18162,7 @@ var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
|
17662
18162
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
17663
18163
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
17664
18164
|
var FOCUS_SCOPE_NAME = "FocusScope";
|
|
17665
|
-
var FocusScope =
|
|
18165
|
+
var FocusScope = React18.forwardRef((props, forwardedRef) => {
|
|
17666
18166
|
const {
|
|
17667
18167
|
loop = false,
|
|
17668
18168
|
trapped = false,
|
|
@@ -17670,12 +18170,12 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
17670
18170
|
onUnmountAutoFocus: onUnmountAutoFocusProp,
|
|
17671
18171
|
...scopeProps
|
|
17672
18172
|
} = props;
|
|
17673
|
-
const [container22, setContainer] =
|
|
18173
|
+
const [container22, setContainer] = React18.useState(null);
|
|
17674
18174
|
const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
|
|
17675
18175
|
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
|
17676
|
-
const lastFocusedElementRef =
|
|
18176
|
+
const lastFocusedElementRef = React18.useRef(null);
|
|
17677
18177
|
const composedRefs = useComposedRefs2(forwardedRef, (node) => setContainer(node));
|
|
17678
|
-
const focusScope =
|
|
18178
|
+
const focusScope = React18.useRef({
|
|
17679
18179
|
paused: false,
|
|
17680
18180
|
pause() {
|
|
17681
18181
|
this.paused = true;
|
|
@@ -17684,7 +18184,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
17684
18184
|
this.paused = false;
|
|
17685
18185
|
}
|
|
17686
18186
|
}).current;
|
|
17687
|
-
|
|
18187
|
+
React18.useEffect(() => {
|
|
17688
18188
|
if (trapped) {
|
|
17689
18189
|
let handleFocusIn2 = function(event) {
|
|
17690
18190
|
if (focusScope.paused || !container22)
|
|
@@ -17726,7 +18226,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
17726
18226
|
};
|
|
17727
18227
|
}
|
|
17728
18228
|
}, [trapped, container22, focusScope.paused]);
|
|
17729
|
-
|
|
18229
|
+
React18.useEffect(() => {
|
|
17730
18230
|
if (container22) {
|
|
17731
18231
|
focusScopesStack.add(focusScope);
|
|
17732
18232
|
const previouslyFocusedElement = document.activeElement;
|
|
@@ -17757,7 +18257,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
17757
18257
|
};
|
|
17758
18258
|
}
|
|
17759
18259
|
}, [container22, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
|
|
17760
|
-
const handleKeyDown =
|
|
18260
|
+
const handleKeyDown = React18.useCallback((event) => {
|
|
17761
18261
|
if (!loop && !trapped)
|
|
17762
18262
|
return;
|
|
17763
18263
|
if (focusScope.paused)
|
|
@@ -19687,7 +20187,7 @@ var Arrow = React222.forwardRef((props, forwardedRef) => {
|
|
|
19687
20187
|
Arrow.displayName = NAME;
|
|
19688
20188
|
var Root2 = Arrow;
|
|
19689
20189
|
function useSize(element) {
|
|
19690
|
-
const [size4, setSize] =
|
|
20190
|
+
const [size4, setSize] = React232.useState(undefined);
|
|
19691
20191
|
useLayoutEffect22(() => {
|
|
19692
20192
|
if (element) {
|
|
19693
20193
|
setSize({ width: element.offsetWidth, height: element.offsetHeight });
|
|
@@ -20009,7 +20509,7 @@ function usePrevious(value) {
|
|
|
20009
20509
|
}, [value]);
|
|
20010
20510
|
}
|
|
20011
20511
|
var NAME2 = "VisuallyHidden";
|
|
20012
|
-
var VisuallyHidden =
|
|
20512
|
+
var VisuallyHidden = React28.forwardRef((props, forwardedRef) => {
|
|
20013
20513
|
return /* @__PURE__ */ jsx232(Primitive.span, {
|
|
20014
20514
|
...props,
|
|
20015
20515
|
ref: forwardedRef,
|
|
@@ -20339,7 +20839,7 @@ var SideCar = function(_a) {
|
|
|
20339
20839
|
if (!Target) {
|
|
20340
20840
|
throw new Error("Sidecar medium not found");
|
|
20341
20841
|
}
|
|
20342
|
-
return
|
|
20842
|
+
return React302.createElement(Target, __assign({}, rest));
|
|
20343
20843
|
};
|
|
20344
20844
|
SideCar.isSideCarExport = true;
|
|
20345
20845
|
function exportSidecar(medium, exported) {
|
|
@@ -20350,9 +20850,9 @@ var effectCar = createSidecarMedium();
|
|
|
20350
20850
|
var nothing = function() {
|
|
20351
20851
|
return;
|
|
20352
20852
|
};
|
|
20353
|
-
var RemoveScroll =
|
|
20354
|
-
var ref =
|
|
20355
|
-
var _a =
|
|
20853
|
+
var RemoveScroll = React31.forwardRef(function(props, parentRef) {
|
|
20854
|
+
var ref = React31.useRef(null);
|
|
20855
|
+
var _a = React31.useState({
|
|
20356
20856
|
onScrollCapture: nothing,
|
|
20357
20857
|
onWheelCapture: nothing,
|
|
20358
20858
|
onTouchMoveCapture: nothing
|
|
@@ -20361,7 +20861,7 @@ var RemoveScroll = React312.forwardRef(function(props, parentRef) {
|
|
|
20361
20861
|
var SideCar2 = sideCar;
|
|
20362
20862
|
var containerRef = useMergeRefs([ref, parentRef]);
|
|
20363
20863
|
var containerProps = __assign(__assign({}, rest), callbacks);
|
|
20364
|
-
return
|
|
20864
|
+
return React31.createElement(React31.Fragment, null, enabled && React31.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React31.cloneElement(React31.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React31.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children));
|
|
20365
20865
|
});
|
|
20366
20866
|
RemoveScroll.defaultProps = {
|
|
20367
20867
|
enabled: true,
|
|
@@ -20820,8 +21320,8 @@ function getOutermostShadowParent(node) {
|
|
|
20820
21320
|
return shadowParent;
|
|
20821
21321
|
}
|
|
20822
21322
|
var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
|
|
20823
|
-
var ReactRemoveScroll =
|
|
20824
|
-
return
|
|
21323
|
+
var ReactRemoveScroll = React352.forwardRef(function(props, ref) {
|
|
21324
|
+
return React352.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
|
|
20825
21325
|
});
|
|
20826
21326
|
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
20827
21327
|
var Combination_default = ReactRemoveScroll;
|
|
@@ -21827,7 +22327,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
|
|
|
21827
22327
|
var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
|
|
21828
22328
|
var Select2 = Root222;
|
|
21829
22329
|
var SelectValue2 = Value;
|
|
21830
|
-
var SelectTrigger2 =
|
|
22330
|
+
var SelectTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Trigger, {
|
|
21831
22331
|
ref,
|
|
21832
22332
|
className: cn("flex h-10 w-full items-center justify-between rounded-md border-black border-2 border-b-4 bg-card-bg px-3 py-5 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 font-brand", className),
|
|
21833
22333
|
...props,
|
|
@@ -21842,7 +22342,7 @@ var SelectTrigger2 = React372.forwardRef(({ className, children, ...props }, ref
|
|
|
21842
22342
|
]
|
|
21843
22343
|
}));
|
|
21844
22344
|
SelectTrigger2.displayName = Trigger.displayName;
|
|
21845
|
-
var SelectScrollUpButton2 =
|
|
22345
|
+
var SelectScrollUpButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollUpButton, {
|
|
21846
22346
|
ref,
|
|
21847
22347
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
21848
22348
|
...props,
|
|
@@ -21851,7 +22351,7 @@ var SelectScrollUpButton2 = React372.forwardRef(({ className, ...props }, ref) =
|
|
|
21851
22351
|
})
|
|
21852
22352
|
}));
|
|
21853
22353
|
SelectScrollUpButton2.displayName = ScrollUpButton.displayName;
|
|
21854
|
-
var SelectScrollDownButton2 =
|
|
22354
|
+
var SelectScrollDownButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollDownButton, {
|
|
21855
22355
|
ref,
|
|
21856
22356
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
21857
22357
|
...props,
|
|
@@ -21860,7 +22360,7 @@ var SelectScrollDownButton2 = React372.forwardRef(({ className, ...props }, ref)
|
|
|
21860
22360
|
})
|
|
21861
22361
|
}));
|
|
21862
22362
|
SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
|
|
21863
|
-
var SelectContent2 =
|
|
22363
|
+
var SelectContent2 = React37.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx252(Portal2, {
|
|
21864
22364
|
children: /* @__PURE__ */ jsxs5(Content2, {
|
|
21865
22365
|
ref,
|
|
21866
22366
|
className: cn(" border-2 border-black relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md font-brand bg-card-bg text-text shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
@@ -21877,13 +22377,13 @@ var SelectContent2 = React372.forwardRef(({ className, children, position = "pop
|
|
|
21877
22377
|
})
|
|
21878
22378
|
}));
|
|
21879
22379
|
SelectContent2.displayName = Content2.displayName;
|
|
21880
|
-
var SelectLabel2 =
|
|
22380
|
+
var SelectLabel2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Label, {
|
|
21881
22381
|
ref,
|
|
21882
22382
|
className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
|
|
21883
22383
|
...props
|
|
21884
22384
|
}));
|
|
21885
22385
|
SelectLabel2.displayName = Label.displayName;
|
|
21886
|
-
var SelectItem2 =
|
|
22386
|
+
var SelectItem2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(Item, {
|
|
21887
22387
|
ref,
|
|
21888
22388
|
className: cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-slate-200 dark:focus:bg-white/10 data-disabled:pointer-events-none data-disabled:opacity-50 font-brand", className),
|
|
21889
22389
|
...props,
|
|
@@ -21902,7 +22402,7 @@ var SelectItem2 = React372.forwardRef(({ className, children, ...props }, ref) =
|
|
|
21902
22402
|
]
|
|
21903
22403
|
}));
|
|
21904
22404
|
SelectItem2.displayName = Item.displayName;
|
|
21905
|
-
var SelectSeparator2 =
|
|
22405
|
+
var SelectSeparator2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Separator, {
|
|
21906
22406
|
ref,
|
|
21907
22407
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
21908
22408
|
...props
|
|
@@ -21991,22 +22491,22 @@ function composeContextScopes2(...scopes) {
|
|
|
21991
22491
|
}
|
|
21992
22492
|
function createSlot2(ownerName) {
|
|
21993
22493
|
const SlotClone2 = /* @__PURE__ */ createSlotClone2(ownerName);
|
|
21994
|
-
const Slot22 =
|
|
22494
|
+
const Slot22 = React392.forwardRef((props, forwardedRef) => {
|
|
21995
22495
|
const { children, ...slotProps } = props;
|
|
21996
|
-
const childrenArray =
|
|
22496
|
+
const childrenArray = React392.Children.toArray(children);
|
|
21997
22497
|
const slottable = childrenArray.find(isSlottable3);
|
|
21998
22498
|
if (slottable) {
|
|
21999
22499
|
const newElement = slottable.props.children;
|
|
22000
22500
|
const newChildren = childrenArray.map((child) => {
|
|
22001
22501
|
if (child === slottable) {
|
|
22002
|
-
if (
|
|
22003
|
-
return
|
|
22004
|
-
return
|
|
22502
|
+
if (React392.Children.count(newElement) > 1)
|
|
22503
|
+
return React392.Children.only(null);
|
|
22504
|
+
return React392.isValidElement(newElement) ? newElement.props.children : null;
|
|
22005
22505
|
} else {
|
|
22006
22506
|
return child;
|
|
22007
22507
|
}
|
|
22008
22508
|
});
|
|
22009
|
-
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children:
|
|
22509
|
+
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children: React392.isValidElement(newElement) ? React392.cloneElement(newElement, undefined, newChildren) : null });
|
|
22010
22510
|
}
|
|
22011
22511
|
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children });
|
|
22012
22512
|
});
|
|
@@ -22014,24 +22514,24 @@ function createSlot2(ownerName) {
|
|
|
22014
22514
|
return Slot22;
|
|
22015
22515
|
}
|
|
22016
22516
|
function createSlotClone2(ownerName) {
|
|
22017
|
-
const SlotClone2 =
|
|
22517
|
+
const SlotClone2 = React392.forwardRef((props, forwardedRef) => {
|
|
22018
22518
|
const { children, ...slotProps } = props;
|
|
22019
|
-
if (
|
|
22519
|
+
if (React392.isValidElement(children)) {
|
|
22020
22520
|
const childrenRef = getElementRef3(children);
|
|
22021
22521
|
const props2 = mergeProps3(slotProps, children.props);
|
|
22022
|
-
if (children.type !==
|
|
22522
|
+
if (children.type !== React392.Fragment) {
|
|
22023
22523
|
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
22024
22524
|
}
|
|
22025
|
-
return
|
|
22525
|
+
return React392.cloneElement(children, props2);
|
|
22026
22526
|
}
|
|
22027
|
-
return
|
|
22527
|
+
return React392.Children.count(children) > 1 ? React392.Children.only(null) : null;
|
|
22028
22528
|
});
|
|
22029
22529
|
SlotClone2.displayName = `${ownerName}.SlotClone`;
|
|
22030
22530
|
return SlotClone2;
|
|
22031
22531
|
}
|
|
22032
22532
|
var SLOTTABLE_IDENTIFIER2 = Symbol("radix.slottable");
|
|
22033
22533
|
function isSlottable3(child) {
|
|
22034
|
-
return
|
|
22534
|
+
return React392.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER2;
|
|
22035
22535
|
}
|
|
22036
22536
|
function mergeProps3(slotProps, childProps) {
|
|
22037
22537
|
const overrideProps = { ...childProps };
|
|
@@ -22076,14 +22576,14 @@ function createCollection2(name) {
|
|
|
22076
22576
|
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map });
|
|
22077
22577
|
const CollectionProvider = (props) => {
|
|
22078
22578
|
const { scope, children } = props;
|
|
22079
|
-
const ref =
|
|
22080
|
-
const itemMap =
|
|
22579
|
+
const ref = React40.useRef(null);
|
|
22580
|
+
const itemMap = React40.useRef(/* @__PURE__ */ new Map).current;
|
|
22081
22581
|
return /* @__PURE__ */ jsx292(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
|
22082
22582
|
};
|
|
22083
22583
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
22084
22584
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
22085
22585
|
const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);
|
|
22086
|
-
const CollectionSlot =
|
|
22586
|
+
const CollectionSlot = React40.forwardRef((props, forwardedRef) => {
|
|
22087
22587
|
const { scope, children } = props;
|
|
22088
22588
|
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
22089
22589
|
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
@@ -22093,12 +22593,12 @@ function createCollection2(name) {
|
|
|
22093
22593
|
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
|
22094
22594
|
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
|
22095
22595
|
const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);
|
|
22096
|
-
const CollectionItemSlot =
|
|
22596
|
+
const CollectionItemSlot = React40.forwardRef((props, forwardedRef) => {
|
|
22097
22597
|
const { scope, children, ...itemData } = props;
|
|
22098
|
-
const ref =
|
|
22598
|
+
const ref = React40.useRef(null);
|
|
22099
22599
|
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
22100
22600
|
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
|
22101
|
-
|
|
22601
|
+
React40.useEffect(() => {
|
|
22102
22602
|
context.itemMap.set(ref, { ref, ...itemData });
|
|
22103
22603
|
return () => void context.itemMap.delete(ref);
|
|
22104
22604
|
});
|
|
@@ -22107,7 +22607,7 @@ function createCollection2(name) {
|
|
|
22107
22607
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
22108
22608
|
function useCollection2(scope) {
|
|
22109
22609
|
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
|
22110
|
-
const getItems =
|
|
22610
|
+
const getItems = React40.useCallback(() => {
|
|
22111
22611
|
const collectionNode = context.collectionRef.current;
|
|
22112
22612
|
if (!collectionNode)
|
|
22113
22613
|
return [];
|
|
@@ -22425,7 +22925,7 @@ function toSafeIndex(array, index2) {
|
|
|
22425
22925
|
function toSafeInteger(number) {
|
|
22426
22926
|
return number !== number || number === 0 ? 0 : Math.trunc(number);
|
|
22427
22927
|
}
|
|
22428
|
-
var useLayoutEffect222 = globalThis?.document ?
|
|
22928
|
+
var useLayoutEffect222 = globalThis?.document ? React412.useLayoutEffect : () => {};
|
|
22429
22929
|
var useReactId2 = React42[" useId ".trim().toString()] || (() => {
|
|
22430
22930
|
return;
|
|
22431
22931
|
});
|