@remotion/promo-pages 4.0.471 → 4.0.473
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 +1632 -738
- package/dist/design.js +1357 -804
- package/dist/experts.js +1259 -706
- package/dist/homepage/Pricing.js +1357 -804
- package/dist/prompts/PromptsGallery.js +1357 -804
- package/dist/prompts/PromptsShow.js +1206 -653
- package/dist/prompts/PromptsSubmit.js +1206 -653
- package/dist/team.js +1357 -804
- package/dist/template-modal-content.js +1357 -804
- package/dist/templates.js +1357 -804
- 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/Homepage.js
CHANGED
|
@@ -967,10 +967,12 @@ import { jsx as jsx9 } from "react/jsx-runtime";
|
|
|
967
967
|
import { createContext as createContext14 } from "react";
|
|
968
968
|
import React11, { useCallback as useCallback5, useMemo as useMemo12, useRef as useRef4, useState as useState3 } from "react";
|
|
969
969
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
970
|
-
import React12, {
|
|
971
|
-
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
972
|
-
import { createContext as createContext15 } from "react";
|
|
970
|
+
import React12, { createContext as createContext15 } from "react";
|
|
973
971
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
972
|
+
import React13, { forwardRef as forwardRef2, useContext as useContext16, useMemo as useMemo13, useState as useState4 } from "react";
|
|
973
|
+
import { useContext as useContext15, useRef as useRef5 } from "react";
|
|
974
|
+
import { createContext as createContext16 } from "react";
|
|
975
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
974
976
|
import {
|
|
975
977
|
forwardRef as forwardRef4,
|
|
976
978
|
useEffect as useEffect5,
|
|
@@ -979,13 +981,13 @@ import {
|
|
|
979
981
|
useRef as useRef9,
|
|
980
982
|
useState as useState6
|
|
981
983
|
} from "react";
|
|
982
|
-
import
|
|
984
|
+
import React15, { useCallback as useCallback6, useImperativeHandle, useMemo as useMemo16, useRef as useRef8 } from "react";
|
|
983
985
|
import { useEffect as useEffect4, useMemo as useMemo15, useRef as useRef7 } from "react";
|
|
984
|
-
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
985
986
|
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
987
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
986
988
|
import { useContext as useContext18, useLayoutEffect as useLayoutEffect4, useState as useState8 } from "react";
|
|
987
989
|
import {
|
|
988
|
-
createContext as
|
|
990
|
+
createContext as createContext17,
|
|
989
991
|
useCallback as useCallback7,
|
|
990
992
|
useImperativeHandle as useImperativeHandle3,
|
|
991
993
|
useLayoutEffect as useLayoutEffect3,
|
|
@@ -993,17 +995,17 @@ import {
|
|
|
993
995
|
useRef as useRef10,
|
|
994
996
|
useState as useState7
|
|
995
997
|
} from "react";
|
|
996
|
-
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
997
|
-
import { forwardRef as forwardRef7, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
998
|
-
import React15, { createContext as createContext17, useMemo as useMemo18 } from "react";
|
|
999
998
|
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1000
|
-
import { useContext as
|
|
1001
|
-
import { createContext as createContext18,
|
|
999
|
+
import { forwardRef as forwardRef7, useCallback as useCallback13, useContext as useContext30 } from "react";
|
|
1000
|
+
import React16, { createContext as createContext18, useMemo as useMemo18 } from "react";
|
|
1002
1001
|
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1003
|
-
import {
|
|
1002
|
+
import { useContext as useContext19 } from "react";
|
|
1003
|
+
import { createContext as createContext19, useEffect as useEffect6, useState as useState9 } from "react";
|
|
1004
1004
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1005
|
+
import { createContext as createContext20, useMemo as useMemo19, useReducer } from "react";
|
|
1006
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1005
1007
|
import { useCallback as useCallback12 } from "react";
|
|
1006
|
-
import
|
|
1008
|
+
import React22, {
|
|
1007
1009
|
forwardRef as forwardRef5,
|
|
1008
1010
|
useContext as useContext28,
|
|
1009
1011
|
useEffect as useEffect14,
|
|
@@ -1013,8 +1015,8 @@ import React21, {
|
|
|
1013
1015
|
useState as useState14
|
|
1014
1016
|
} from "react";
|
|
1015
1017
|
import { useContext as useContext21, useLayoutEffect as useLayoutEffect5, useRef as useRef14 } from "react";
|
|
1016
|
-
import
|
|
1017
|
-
createContext as
|
|
1018
|
+
import React19, {
|
|
1019
|
+
createContext as createContext21,
|
|
1018
1020
|
createRef as createRef2,
|
|
1019
1021
|
useCallback as useCallback8,
|
|
1020
1022
|
useContext as useContext20,
|
|
@@ -1024,7 +1026,7 @@ import React18, {
|
|
|
1024
1026
|
useState as useState10
|
|
1025
1027
|
} from "react";
|
|
1026
1028
|
import { useMemo as useMemo20, useRef as useRef11 } from "react";
|
|
1027
|
-
import { jsx as
|
|
1029
|
+
import { jsx as jsx19, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1028
1030
|
import { useRef as useRef13 } from "react";
|
|
1029
1031
|
import { useContext as useContext23, useEffect as useEffect8, useMemo as useMemo22, useState as useState11 } from "react";
|
|
1030
1032
|
import { useContext as useContext22 } from "react";
|
|
@@ -1037,7 +1039,7 @@ import {
|
|
|
1037
1039
|
} from "react";
|
|
1038
1040
|
import { useCallback as useCallback10, useMemo as useMemo25, useRef as useRef16 } from "react";
|
|
1039
1041
|
import { useContext as useContext25, useMemo as useMemo24 } from "react";
|
|
1040
|
-
import
|
|
1042
|
+
import React20, {
|
|
1041
1043
|
useCallback as useCallback9,
|
|
1042
1044
|
useContext as useContext24,
|
|
1043
1045
|
useEffect as useEffect9,
|
|
@@ -1046,13 +1048,13 @@ import React19, {
|
|
|
1046
1048
|
useRef as useRef15,
|
|
1047
1049
|
useState as useState12
|
|
1048
1050
|
} from "react";
|
|
1049
|
-
import { jsx as
|
|
1050
|
-
import
|
|
1051
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1052
|
+
import React21 from "react";
|
|
1051
1053
|
import { useEffect as useEffect10, useState as useState13 } from "react";
|
|
1052
1054
|
import { useEffect as useEffect11, useRef as useRef17 } from "react";
|
|
1053
1055
|
import { useEffect as useEffect13 } from "react";
|
|
1054
|
-
import { createContext as
|
|
1055
|
-
import { jsx as
|
|
1056
|
+
import { createContext as createContext22, useContext as useContext27, useMemo as useMemo26 } from "react";
|
|
1057
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1056
1058
|
import {
|
|
1057
1059
|
forwardRef as forwardRef6,
|
|
1058
1060
|
useContext as useContext29,
|
|
@@ -1062,8 +1064,8 @@ import {
|
|
|
1062
1064
|
useMemo as useMemo28,
|
|
1063
1065
|
useRef as useRef20
|
|
1064
1066
|
} from "react";
|
|
1065
|
-
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1066
1067
|
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
1068
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1067
1069
|
import {
|
|
1068
1070
|
forwardRef as forwardRef8,
|
|
1069
1071
|
useCallback as useCallback14,
|
|
@@ -1073,9 +1075,9 @@ import {
|
|
|
1073
1075
|
useRef as useRef21,
|
|
1074
1076
|
useState as useState15
|
|
1075
1077
|
} from "react";
|
|
1076
|
-
import { jsx as
|
|
1078
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
1077
1079
|
import {
|
|
1078
|
-
createContext as
|
|
1080
|
+
createContext as createContext23,
|
|
1079
1081
|
forwardRef as forwardRef9,
|
|
1080
1082
|
useCallback as useCallback15,
|
|
1081
1083
|
useContext as useContext31,
|
|
@@ -1083,7 +1085,7 @@ import {
|
|
|
1083
1085
|
useMemo as useMemo30,
|
|
1084
1086
|
useRef as useRef22
|
|
1085
1087
|
} from "react";
|
|
1086
|
-
import { jsx as
|
|
1088
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1087
1089
|
import {
|
|
1088
1090
|
forwardRef as forwardRef10,
|
|
1089
1091
|
useCallback as useCallback16,
|
|
@@ -1094,13 +1096,13 @@ import {
|
|
|
1094
1096
|
useRef as useRef23,
|
|
1095
1097
|
useState as useState16
|
|
1096
1098
|
} from "react";
|
|
1097
|
-
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
1098
|
-
import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
|
|
1099
1099
|
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
1100
|
-
import {
|
|
1100
|
+
import { forwardRef as forwardRef11, useCallback as useCallback17, useState as useState17 } from "react";
|
|
1101
1101
|
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
1102
|
+
import { useCallback as useCallback18, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
|
|
1103
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1102
1104
|
import { createRef as createRef3 } from "react";
|
|
1103
|
-
import
|
|
1105
|
+
import React29 from "react";
|
|
1104
1106
|
import {
|
|
1105
1107
|
useCallback as useCallback19,
|
|
1106
1108
|
useImperativeHandle as useImperativeHandle8,
|
|
@@ -1108,49 +1110,52 @@ import {
|
|
|
1108
1110
|
useRef as useRef25,
|
|
1109
1111
|
useState as useState18
|
|
1110
1112
|
} from "react";
|
|
1111
|
-
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
1112
|
-
import React29 from "react";
|
|
1113
|
-
import { useMemo as useMemo34 } from "react";
|
|
1114
|
-
import { createContext as createContext23, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
1115
1113
|
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
1114
|
+
import React30 from "react";
|
|
1115
|
+
import { useMemo as useMemo34 } from "react";
|
|
1116
|
+
import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
|
|
1116
1117
|
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1117
|
-
import
|
|
1118
|
-
import React32
|
|
1118
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
1119
|
+
import React32 from "react";
|
|
1120
|
+
import React33, { createContext as createContext25 } from "react";
|
|
1121
|
+
import React34, { useContext as useContext35 } from "react";
|
|
1119
1122
|
import { useCallback as useCallback22 } from "react";
|
|
1120
1123
|
import {
|
|
1121
1124
|
useCallback as useCallback20,
|
|
1122
|
-
useContext as
|
|
1125
|
+
useContext as useContext36,
|
|
1123
1126
|
useEffect as useEffect18,
|
|
1124
1127
|
useLayoutEffect as useLayoutEffect11,
|
|
1125
1128
|
useMemo as useMemo35,
|
|
1126
1129
|
useState as useState19
|
|
1127
1130
|
} from "react";
|
|
1128
|
-
import { jsx as
|
|
1129
|
-
import
|
|
1131
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1132
|
+
import React36, {
|
|
1130
1133
|
forwardRef as forwardRef12,
|
|
1131
|
-
|
|
1134
|
+
useCallback as useCallback21,
|
|
1135
|
+
useContext as useContext37,
|
|
1132
1136
|
useEffect as useEffect20,
|
|
1133
1137
|
useImperativeHandle as useImperativeHandle9,
|
|
1134
1138
|
useMemo as useMemo36,
|
|
1135
1139
|
useRef as useRef26,
|
|
1136
|
-
useState as useState20
|
|
1137
|
-
useCallback as useCallback21
|
|
1140
|
+
useState as useState20
|
|
1138
1141
|
} from "react";
|
|
1139
1142
|
import { useEffect as useEffect19 } from "react";
|
|
1140
|
-
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1141
1143
|
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
1142
|
-
import React36, { useMemo as useMemo37 } from "react";
|
|
1143
1144
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
1144
|
-
import
|
|
1145
|
-
import React37 from "react";
|
|
1146
|
-
import React38, { createContext as createContext25 } from "react";
|
|
1145
|
+
import React38, { useMemo as useMemo37 } from "react";
|
|
1147
1146
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
1147
|
+
import {
|
|
1148
|
+
Children,
|
|
1149
|
+
forwardRef as forwardRef13,
|
|
1150
|
+
useMemo as useMemo38
|
|
1151
|
+
} from "react";
|
|
1152
|
+
import React39 from "react";
|
|
1148
1153
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1149
|
-
import
|
|
1150
|
-
import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as
|
|
1154
|
+
import React41 from "react";
|
|
1155
|
+
import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as useContext39 } from "react";
|
|
1151
1156
|
import {
|
|
1152
1157
|
forwardRef as forwardRef14,
|
|
1153
|
-
useContext as
|
|
1158
|
+
useContext as useContext38,
|
|
1154
1159
|
useEffect as useEffect21,
|
|
1155
1160
|
useImperativeHandle as useImperativeHandle10,
|
|
1156
1161
|
useLayoutEffect as useLayoutEffect12,
|
|
@@ -1328,11 +1333,57 @@ function truthy(value) {
|
|
|
1328
1333
|
return Boolean(value);
|
|
1329
1334
|
}
|
|
1330
1335
|
var getRegex = () => /^([a-zA-Z0-9-\u4E00-\u9FFF])+$/g;
|
|
1336
|
+
var isFolderNameValid = (name) => name.match(getRegex());
|
|
1337
|
+
var validateFolderName = (name) => {
|
|
1338
|
+
if (name === undefined || name === null) {
|
|
1339
|
+
throw new TypeError("You must pass a name to a <Folder />.");
|
|
1340
|
+
}
|
|
1341
|
+
if (typeof name !== "string") {
|
|
1342
|
+
throw new TypeError(`The "name" you pass into <Folder /> must be a string. Got: ${typeof name}`);
|
|
1343
|
+
}
|
|
1344
|
+
if (!isFolderNameValid(name)) {
|
|
1345
|
+
throw new Error(`Folder name can only contain a-z, A-Z, 0-9 and -. You passed ${name}`);
|
|
1346
|
+
}
|
|
1347
|
+
};
|
|
1331
1348
|
var invalidFolderNameErrorMessage = `Folder name must match ${String(getRegex())}`;
|
|
1332
1349
|
var FolderContext = createContext6({
|
|
1333
1350
|
folderName: null,
|
|
1334
1351
|
parentName: null
|
|
1335
1352
|
});
|
|
1353
|
+
var Folder = (props) => {
|
|
1354
|
+
const { name, children } = props;
|
|
1355
|
+
const parent = useContext2(FolderContext);
|
|
1356
|
+
const { registerFolder, unregisterFolder } = useContext2(CompositionSetters);
|
|
1357
|
+
const nonce = useNonce();
|
|
1358
|
+
const stack = props.stack ?? null;
|
|
1359
|
+
validateFolderName(name);
|
|
1360
|
+
const parentNameArr = [parent.parentName, parent.folderName].filter(truthy);
|
|
1361
|
+
const parentName = parentNameArr.length === 0 ? null : parentNameArr.join("/");
|
|
1362
|
+
const value = useMemo2(() => {
|
|
1363
|
+
return {
|
|
1364
|
+
folderName: name,
|
|
1365
|
+
parentName
|
|
1366
|
+
};
|
|
1367
|
+
}, [name, parentName]);
|
|
1368
|
+
useEffect(() => {
|
|
1369
|
+
registerFolder(name, parentName, nonce.get(), stack);
|
|
1370
|
+
return () => {
|
|
1371
|
+
unregisterFolder(name, parentName);
|
|
1372
|
+
};
|
|
1373
|
+
}, [
|
|
1374
|
+
name,
|
|
1375
|
+
parent.folderName,
|
|
1376
|
+
parentName,
|
|
1377
|
+
registerFolder,
|
|
1378
|
+
unregisterFolder,
|
|
1379
|
+
nonce,
|
|
1380
|
+
stack
|
|
1381
|
+
]);
|
|
1382
|
+
return /* @__PURE__ */ jsx22(FolderContext.Provider, {
|
|
1383
|
+
value,
|
|
1384
|
+
children
|
|
1385
|
+
});
|
|
1386
|
+
};
|
|
1336
1387
|
function getNodeEnvString() {
|
|
1337
1388
|
return ["NOD", "E_EN", "V"].join("");
|
|
1338
1389
|
}
|
|
@@ -2281,7 +2332,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
|
|
|
2281
2332
|
var addSequenceStackTraces = (component) => {
|
|
2282
2333
|
componentsToAddStacksTo.push(component);
|
|
2283
2334
|
};
|
|
2284
|
-
var VERSION = "4.0.
|
|
2335
|
+
var VERSION = "4.0.473";
|
|
2285
2336
|
var checkMultipleRemotionVersions = () => {
|
|
2286
2337
|
if (typeof globalThis === "undefined") {
|
|
2287
2338
|
return;
|
|
@@ -2320,7 +2371,8 @@ __export2(exports_timeline_position_state, {
|
|
|
2320
2371
|
useAbsoluteTimelinePosition: () => useAbsoluteTimelinePosition,
|
|
2321
2372
|
persistCurrentFrame: () => persistCurrentFrame,
|
|
2322
2373
|
getInitialFrameState: () => getInitialFrameState,
|
|
2323
|
-
getFrameForComposition: () => getFrameForComposition
|
|
2374
|
+
getFrameForComposition: () => getFrameForComposition,
|
|
2375
|
+
clampFrameToCompositionRange: () => clampFrameToCompositionRange
|
|
2324
2376
|
});
|
|
2325
2377
|
function mulberry32(a) {
|
|
2326
2378
|
let t = a + 1831565813;
|
|
@@ -2457,6 +2509,9 @@ var getFrameForComposition = (composition) => {
|
|
|
2457
2509
|
}
|
|
2458
2510
|
return window.remotion_initialFrame ?? 0;
|
|
2459
2511
|
};
|
|
2512
|
+
var clampFrameToCompositionRange = (frame, durationInFrames) => {
|
|
2513
|
+
return Math.max(0, Math.min(Math.max(0, durationInFrames - 1), frame));
|
|
2514
|
+
};
|
|
2460
2515
|
var useTimelinePositionFromContext = (state) => {
|
|
2461
2516
|
const videoConfig = useVideo();
|
|
2462
2517
|
const env = useRemotionEnvironment();
|
|
@@ -2464,7 +2519,7 @@ var useTimelinePositionFromContext = (state) => {
|
|
|
2464
2519
|
return typeof window === "undefined" ? 0 : window.remotion_initialFrame ?? 0;
|
|
2465
2520
|
}
|
|
2466
2521
|
const unclamped = state.frame[videoConfig.id] ?? (env.isPlayer ? 0 : getFrameForComposition(videoConfig.id));
|
|
2467
|
-
return
|
|
2522
|
+
return clampFrameToCompositionRange(unclamped, videoConfig.durationInFrames);
|
|
2468
2523
|
};
|
|
2469
2524
|
var useTimelineContext = () => {
|
|
2470
2525
|
const state = useContext10(TimelineContext);
|
|
@@ -2651,15 +2706,14 @@ var sequenceVisualStyleSchema = {
|
|
|
2651
2706
|
description: "Offset"
|
|
2652
2707
|
},
|
|
2653
2708
|
"style.scale": {
|
|
2654
|
-
type: "
|
|
2655
|
-
min: 0.05,
|
|
2709
|
+
type: "scale",
|
|
2656
2710
|
max: 100,
|
|
2657
2711
|
step: 0.01,
|
|
2658
2712
|
default: 1,
|
|
2659
2713
|
description: "Scale"
|
|
2660
2714
|
},
|
|
2661
2715
|
"style.rotate": {
|
|
2662
|
-
type: "rotation",
|
|
2716
|
+
type: "rotation-css",
|
|
2663
2717
|
step: 1,
|
|
2664
2718
|
default: "0deg",
|
|
2665
2719
|
description: "Rotation"
|
|
@@ -2670,7 +2724,8 @@ var sequenceVisualStyleSchema = {
|
|
|
2670
2724
|
max: 1,
|
|
2671
2725
|
step: 0.01,
|
|
2672
2726
|
default: 1,
|
|
2673
|
-
description: "Opacity"
|
|
2727
|
+
description: "Opacity",
|
|
2728
|
+
hiddenFromList: false
|
|
2674
2729
|
}
|
|
2675
2730
|
};
|
|
2676
2731
|
var sequencePremountSchema = {
|
|
@@ -2679,10 +2734,15 @@ var sequencePremountSchema = {
|
|
|
2679
2734
|
default: 0,
|
|
2680
2735
|
description: "Premount For",
|
|
2681
2736
|
min: 0,
|
|
2682
|
-
step: 1
|
|
2737
|
+
step: 1,
|
|
2738
|
+
hiddenFromList: false
|
|
2683
2739
|
},
|
|
2684
2740
|
postmountFor: {
|
|
2685
|
-
type: "
|
|
2741
|
+
type: "number",
|
|
2742
|
+
default: 0,
|
|
2743
|
+
min: 0,
|
|
2744
|
+
step: 1,
|
|
2745
|
+
hiddenFromList: true
|
|
2686
2746
|
},
|
|
2687
2747
|
styleWhilePremounted: {
|
|
2688
2748
|
type: "hidden"
|
|
@@ -2700,8 +2760,23 @@ var hiddenField = {
|
|
|
2700
2760
|
default: false,
|
|
2701
2761
|
description: "Hidden"
|
|
2702
2762
|
};
|
|
2763
|
+
var durationInFramesField = {
|
|
2764
|
+
type: "number",
|
|
2765
|
+
default: undefined,
|
|
2766
|
+
min: 1,
|
|
2767
|
+
step: 1,
|
|
2768
|
+
hiddenFromList: true
|
|
2769
|
+
};
|
|
2770
|
+
var fromField = {
|
|
2771
|
+
type: "number",
|
|
2772
|
+
default: 0,
|
|
2773
|
+
step: 1,
|
|
2774
|
+
hiddenFromList: true
|
|
2775
|
+
};
|
|
2703
2776
|
var sequenceSchema = {
|
|
2704
2777
|
hidden: hiddenField,
|
|
2778
|
+
from: fromField,
|
|
2779
|
+
durationInFrames: durationInFramesField,
|
|
2705
2780
|
layout: {
|
|
2706
2781
|
type: "enum",
|
|
2707
2782
|
default: "absolute-fill",
|
|
@@ -2712,6 +2787,11 @@ var sequenceSchema = {
|
|
|
2712
2787
|
}
|
|
2713
2788
|
}
|
|
2714
2789
|
};
|
|
2790
|
+
var sequenceSchemaWithoutFrom = {
|
|
2791
|
+
hidden: hiddenField,
|
|
2792
|
+
durationInFrames: durationInFramesField,
|
|
2793
|
+
layout: sequenceSchema.layout
|
|
2794
|
+
};
|
|
2715
2795
|
var sequenceSchemaDefaultLayoutNone = {
|
|
2716
2796
|
...sequenceSchema,
|
|
2717
2797
|
layout: {
|
|
@@ -2882,6 +2962,25 @@ var SequenceManagerProvider = ({ children }) => {
|
|
|
2882
2962
|
})
|
|
2883
2963
|
});
|
|
2884
2964
|
};
|
|
2965
|
+
var IsInsideSeriesContext = createContext15(false);
|
|
2966
|
+
var IsInsideSeriesContainer = ({ children }) => {
|
|
2967
|
+
return /* @__PURE__ */ jsx11(IsInsideSeriesContext.Provider, {
|
|
2968
|
+
value: true,
|
|
2969
|
+
children
|
|
2970
|
+
});
|
|
2971
|
+
};
|
|
2972
|
+
var IsNotInsideSeriesProvider = ({ children }) => {
|
|
2973
|
+
return /* @__PURE__ */ jsx11(IsInsideSeriesContext.Provider, {
|
|
2974
|
+
value: false,
|
|
2975
|
+
children
|
|
2976
|
+
});
|
|
2977
|
+
};
|
|
2978
|
+
var useRequireToBeInsideSeries = () => {
|
|
2979
|
+
const isInsideSeries = React12.useContext(IsInsideSeriesContext);
|
|
2980
|
+
if (!isInsideSeries) {
|
|
2981
|
+
throw new Error("This component must be inside a <Series /> component.");
|
|
2982
|
+
}
|
|
2983
|
+
};
|
|
2885
2984
|
var ENABLE_V5_BREAKING_CHANGES = false;
|
|
2886
2985
|
var deleteNestedKey = (obj, keysToRemove) => {
|
|
2887
2986
|
for (const key of keysToRemove) {
|
|
@@ -2914,229 +3013,6 @@ var deleteNestedKey = (obj, keysToRemove) => {
|
|
|
2914
3013
|
}
|
|
2915
3014
|
return obj;
|
|
2916
3015
|
};
|
|
2917
|
-
var OverrideIdsToNodePathsGettersContext = createContext15({
|
|
2918
|
-
overrideIdToNodePathMappings: {}
|
|
2919
|
-
});
|
|
2920
|
-
var OverrideIdsToNodePathsSettersContext = createContext15({
|
|
2921
|
-
setOverrideIdToNodePath: () => {
|
|
2922
|
-
throw new Error("OverrideIdsToNodePathsSettersContext not initialized");
|
|
2923
|
-
}
|
|
2924
|
-
});
|
|
2925
|
-
var mergeOverrides = ({
|
|
2926
|
-
descriptor,
|
|
2927
|
-
codeOverrides,
|
|
2928
|
-
dragOverrides
|
|
2929
|
-
}) => {
|
|
2930
|
-
if (!codeOverrides && !dragOverrides) {
|
|
2931
|
-
return { params: descriptor.params, effectKey: descriptor.effectKey };
|
|
2932
|
-
}
|
|
2933
|
-
const merged = {
|
|
2934
|
-
...descriptor.params
|
|
2935
|
-
};
|
|
2936
|
-
if (codeOverrides) {
|
|
2937
|
-
for (const [key, value] of Object.entries(codeOverrides)) {
|
|
2938
|
-
if (value !== undefined) {
|
|
2939
|
-
merged[key] = value;
|
|
2940
|
-
}
|
|
2941
|
-
}
|
|
2942
|
-
}
|
|
2943
|
-
if (dragOverrides) {
|
|
2944
|
-
for (const [key, value] of Object.entries(dragOverrides)) {
|
|
2945
|
-
merged[key] = value;
|
|
2946
|
-
}
|
|
2947
|
-
}
|
|
2948
|
-
return {
|
|
2949
|
-
params: merged,
|
|
2950
|
-
effectKey: descriptor.definition.calculateKey(merged)
|
|
2951
|
-
};
|
|
2952
|
-
};
|
|
2953
|
-
var extractCodeOverrides = (propStatus) => {
|
|
2954
|
-
if (!propStatus) {
|
|
2955
|
-
return null;
|
|
2956
|
-
}
|
|
2957
|
-
const out = {};
|
|
2958
|
-
let hasAny = false;
|
|
2959
|
-
for (const [key, status] of Object.entries(propStatus)) {
|
|
2960
|
-
if (status.canUpdate) {
|
|
2961
|
-
out[key] = status.codeValue;
|
|
2962
|
-
hasAny = true;
|
|
2963
|
-
}
|
|
2964
|
-
}
|
|
2965
|
-
return hasAny ? out : null;
|
|
2966
|
-
};
|
|
2967
|
-
var useMemoizedEffectDefinitions = (effects) => {
|
|
2968
|
-
const previousRef = useRef5(null);
|
|
2969
|
-
const definitions = effects.map((descriptor) => descriptor.definition);
|
|
2970
|
-
const previous = previousRef.current;
|
|
2971
|
-
const isSame = previous !== null && previous.length === definitions.length && previous.every((def, i) => def === definitions[i]);
|
|
2972
|
-
if (isSame) {
|
|
2973
|
-
return previous;
|
|
2974
|
-
}
|
|
2975
|
-
previousRef.current = definitions;
|
|
2976
|
-
return definitions;
|
|
2977
|
-
};
|
|
2978
|
-
var getEffectCodeValuesCtx = ({
|
|
2979
|
-
codeValues,
|
|
2980
|
-
nodePath,
|
|
2981
|
-
effectIndex
|
|
2982
|
-
}) => {
|
|
2983
|
-
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
2984
|
-
if (!status) {
|
|
2985
|
-
return { type: "cannot-update-sequence", reason: "not-found" };
|
|
2986
|
-
}
|
|
2987
|
-
if (!status.canUpdate) {
|
|
2988
|
-
return { type: "cannot-update-sequence", reason: status.reason };
|
|
2989
|
-
}
|
|
2990
|
-
const effect = status.effects.find((e) => e.effectIndex === effectIndex);
|
|
2991
|
-
if (!effect) {
|
|
2992
|
-
return { type: "cannot-update-effect", reason: "not-found" };
|
|
2993
|
-
}
|
|
2994
|
-
if (!effect.canUpdate) {
|
|
2995
|
-
return { type: "cannot-update-effect", reason: effect.reason };
|
|
2996
|
-
}
|
|
2997
|
-
return { type: "can-update-effect", props: effect.props };
|
|
2998
|
-
};
|
|
2999
|
-
var getCodeValuesCtx = (codeValues, nodePath) => {
|
|
3000
|
-
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
3001
|
-
if (!status) {
|
|
3002
|
-
return;
|
|
3003
|
-
}
|
|
3004
|
-
if (!status.canUpdate) {
|
|
3005
|
-
return;
|
|
3006
|
-
}
|
|
3007
|
-
return status.props;
|
|
3008
|
-
};
|
|
3009
|
-
var useMemoizedEffects = ({
|
|
3010
|
-
effects,
|
|
3011
|
-
overrideId
|
|
3012
|
-
}) => {
|
|
3013
|
-
const previousRef = useRef5(null);
|
|
3014
|
-
const { codeValues } = useContext15(VisualModeCodeValuesContext);
|
|
3015
|
-
const { getEffectDragOverrides } = useContext15(VisualModeDragOverridesContext);
|
|
3016
|
-
const { overrideIdToNodePathMappings } = useContext15(OverrideIdsToNodePathsGettersContext);
|
|
3017
|
-
const previous = previousRef.current;
|
|
3018
|
-
const nodePath = overrideId ? overrideIdToNodePathMappings[overrideId] ?? null : null;
|
|
3019
|
-
const resolved = effects.map((descriptor, index) => {
|
|
3020
|
-
if (nodePath === null) {
|
|
3021
|
-
return {
|
|
3022
|
-
descriptor,
|
|
3023
|
-
params: descriptor.params,
|
|
3024
|
-
effectKey: descriptor.effectKey
|
|
3025
|
-
};
|
|
3026
|
-
}
|
|
3027
|
-
const effectStatus = getEffectCodeValuesCtx({
|
|
3028
|
-
codeValues,
|
|
3029
|
-
nodePath,
|
|
3030
|
-
effectIndex: index
|
|
3031
|
-
});
|
|
3032
|
-
const codeOverrides = effectStatus.type === "can-update-effect" ? extractCodeOverrides(effectStatus.props) : null;
|
|
3033
|
-
const dragOverridesMap = getEffectDragOverrides(nodePath, index);
|
|
3034
|
-
const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
|
|
3035
|
-
const { params, effectKey } = mergeOverrides({
|
|
3036
|
-
descriptor,
|
|
3037
|
-
codeOverrides,
|
|
3038
|
-
dragOverrides
|
|
3039
|
-
});
|
|
3040
|
-
return { descriptor, params, effectKey };
|
|
3041
|
-
});
|
|
3042
|
-
const isSame = previous !== null && previous.length === resolved.length && previous.every((p, i) => p.definition === resolved[i].descriptor.definition && p.effectKey === resolved[i].effectKey);
|
|
3043
|
-
if (isSame) {
|
|
3044
|
-
return previous;
|
|
3045
|
-
}
|
|
3046
|
-
const next = resolved.map(({ descriptor, params, effectKey }) => ({
|
|
3047
|
-
definition: descriptor.definition,
|
|
3048
|
-
effectKey,
|
|
3049
|
-
params,
|
|
3050
|
-
memoized: true
|
|
3051
|
-
}));
|
|
3052
|
-
previousRef.current = next;
|
|
3053
|
-
return next;
|
|
3054
|
-
};
|
|
3055
|
-
var flattenActiveSchema = (schema, resolve) => {
|
|
3056
|
-
const out = {};
|
|
3057
|
-
for (const key of Object.keys(schema)) {
|
|
3058
|
-
const field = schema[key];
|
|
3059
|
-
if (field.type === "hidden") {
|
|
3060
|
-
continue;
|
|
3061
|
-
} else if (field.type === "enum") {
|
|
3062
|
-
out[key] = field;
|
|
3063
|
-
const current = resolve(key) ?? field.default;
|
|
3064
|
-
const variant = field.variants[current];
|
|
3065
|
-
if (variant) {
|
|
3066
|
-
Object.assign(out, flattenActiveSchema(variant, resolve));
|
|
3067
|
-
}
|
|
3068
|
-
} else {
|
|
3069
|
-
out[key] = field;
|
|
3070
|
-
}
|
|
3071
|
-
}
|
|
3072
|
-
return out;
|
|
3073
|
-
};
|
|
3074
|
-
var getFlatSchemaWithAllKeys = (schema) => {
|
|
3075
|
-
const out = {};
|
|
3076
|
-
const addKey = (key, field) => {
|
|
3077
|
-
if (key in out) {
|
|
3078
|
-
throw new Error(`Duplicate key "${key}" in schema: discriminated union variants must not share keys`);
|
|
3079
|
-
}
|
|
3080
|
-
out[key] = field;
|
|
3081
|
-
};
|
|
3082
|
-
for (const key of Object.keys(schema)) {
|
|
3083
|
-
const field = schema[key];
|
|
3084
|
-
addKey(key, field);
|
|
3085
|
-
if (field.type === "enum") {
|
|
3086
|
-
for (const variant of Object.values(field.variants)) {
|
|
3087
|
-
const flatVariant = getFlatSchemaWithAllKeys(variant);
|
|
3088
|
-
for (const variantKey of Object.keys(flatVariant)) {
|
|
3089
|
-
addKey(variantKey, flatVariant[variantKey]);
|
|
3090
|
-
}
|
|
3091
|
-
}
|
|
3092
|
-
}
|
|
3093
|
-
}
|
|
3094
|
-
return out;
|
|
3095
|
-
};
|
|
3096
|
-
var findPropsToDelete = ({
|
|
3097
|
-
schema,
|
|
3098
|
-
key,
|
|
3099
|
-
value
|
|
3100
|
-
}) => {
|
|
3101
|
-
const fieldSchema = schema[key];
|
|
3102
|
-
if (!fieldSchema) {
|
|
3103
|
-
throw new Error("Key " + JSON.stringify(key) + " not found in schema");
|
|
3104
|
-
}
|
|
3105
|
-
if (typeof value !== "string") {
|
|
3106
|
-
throw new Error("Value must be a string, but is " + JSON.stringify(value));
|
|
3107
|
-
}
|
|
3108
|
-
if (fieldSchema.type !== "enum") {
|
|
3109
|
-
throw new Error("Key " + JSON.stringify(key) + " is not an enum");
|
|
3110
|
-
}
|
|
3111
|
-
const currentVariant = fieldSchema.variants[value];
|
|
3112
|
-
if (!currentVariant) {
|
|
3113
|
-
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));
|
|
3114
|
-
}
|
|
3115
|
-
const otherVariants = Object.keys(fieldSchema.variants).filter((v) => v !== value);
|
|
3116
|
-
const otherKeys = new Set;
|
|
3117
|
-
for (const variant of otherVariants) {
|
|
3118
|
-
const otherVariant = fieldSchema.variants[variant];
|
|
3119
|
-
const keys = Object.keys(otherVariant);
|
|
3120
|
-
for (const k of keys) {
|
|
3121
|
-
otherKeys.add(k);
|
|
3122
|
-
}
|
|
3123
|
-
}
|
|
3124
|
-
return [...otherKeys];
|
|
3125
|
-
};
|
|
3126
|
-
var getEffectiveVisualModeValue = ({
|
|
3127
|
-
codeValue,
|
|
3128
|
-
dragOverrideValue,
|
|
3129
|
-
defaultValue,
|
|
3130
|
-
shouldResortToDefaultValueIfUndefined = false
|
|
3131
|
-
}) => {
|
|
3132
|
-
if (dragOverrideValue !== undefined) {
|
|
3133
|
-
return dragOverrideValue;
|
|
3134
|
-
}
|
|
3135
|
-
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
3136
|
-
return defaultValue;
|
|
3137
|
-
}
|
|
3138
|
-
return codeValue.codeValue;
|
|
3139
|
-
};
|
|
3140
3016
|
var NEWTON_ITERATIONS = 4;
|
|
3141
3017
|
var NEWTON_MIN_SLOPE = 0.001;
|
|
3142
3018
|
var SUBDIVISION_PRECISION = 0.0000001;
|
|
@@ -3318,6 +3194,123 @@ class Easing {
|
|
|
3318
3194
|
};
|
|
3319
3195
|
}
|
|
3320
3196
|
}
|
|
3197
|
+
var normalizeNumber = (value) => {
|
|
3198
|
+
return Math.round(value * 1e6) / 1e6;
|
|
3199
|
+
};
|
|
3200
|
+
var angleUnits = new Set(["deg", "rad", "grad", "turn"]);
|
|
3201
|
+
var lengthUnits = new Set([
|
|
3202
|
+
"%",
|
|
3203
|
+
"cap",
|
|
3204
|
+
"ch",
|
|
3205
|
+
"cm",
|
|
3206
|
+
"cqb",
|
|
3207
|
+
"cqh",
|
|
3208
|
+
"cqi",
|
|
3209
|
+
"cqmax",
|
|
3210
|
+
"cqmin",
|
|
3211
|
+
"cqw",
|
|
3212
|
+
"dvh",
|
|
3213
|
+
"dvw",
|
|
3214
|
+
"em",
|
|
3215
|
+
"ex",
|
|
3216
|
+
"ic",
|
|
3217
|
+
"in",
|
|
3218
|
+
"lh",
|
|
3219
|
+
"lvh",
|
|
3220
|
+
"lvw",
|
|
3221
|
+
"mm",
|
|
3222
|
+
"pc",
|
|
3223
|
+
"pt",
|
|
3224
|
+
"px",
|
|
3225
|
+
"q",
|
|
3226
|
+
"rem",
|
|
3227
|
+
"rlh",
|
|
3228
|
+
"svh",
|
|
3229
|
+
"svw",
|
|
3230
|
+
"vb",
|
|
3231
|
+
"vh",
|
|
3232
|
+
"vi",
|
|
3233
|
+
"vmax",
|
|
3234
|
+
"vmin",
|
|
3235
|
+
"vw"
|
|
3236
|
+
]);
|
|
3237
|
+
var cssNumberRegex = /^([+-]?(?:\d+\.?\d*|\.\d+))([a-zA-Z%]+)?$/;
|
|
3238
|
+
var stringifyNumber = (value) => {
|
|
3239
|
+
return String(normalizeNumber(value));
|
|
3240
|
+
};
|
|
3241
|
+
var parseStringInterpolationComponent = (component, value) => {
|
|
3242
|
+
const match = cssNumberRegex.exec(component);
|
|
3243
|
+
if (match === null) {
|
|
3244
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported scale, translate, or rotate value`);
|
|
3245
|
+
}
|
|
3246
|
+
const unit = match[2] ?? null;
|
|
3247
|
+
const numberValue = Number(match[1]);
|
|
3248
|
+
if (!Number.isFinite(numberValue)) {
|
|
3249
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not finite`);
|
|
3250
|
+
}
|
|
3251
|
+
if (unit === null) {
|
|
3252
|
+
return { kind: "scale", value: numberValue, unit: null };
|
|
3253
|
+
}
|
|
3254
|
+
if (angleUnits.has(unit)) {
|
|
3255
|
+
return { kind: "rotate", value: numberValue, unit };
|
|
3256
|
+
}
|
|
3257
|
+
if (lengthUnits.has(unit)) {
|
|
3258
|
+
return { kind: "translate", value: numberValue, unit };
|
|
3259
|
+
}
|
|
3260
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${unit}" is not a supported translate or rotate unit`);
|
|
3261
|
+
};
|
|
3262
|
+
var parseStringInterpolationValue = (output) => {
|
|
3263
|
+
if (typeof output === "number") {
|
|
3264
|
+
if (!Number.isFinite(output)) {
|
|
3265
|
+
throw new Error(`outputRange must contain only finite numbers, but got [${output}]`);
|
|
3266
|
+
}
|
|
3267
|
+
return {
|
|
3268
|
+
kind: "scale",
|
|
3269
|
+
values: [output, output, 1],
|
|
3270
|
+
units: [null, null, null],
|
|
3271
|
+
dimensions: 1
|
|
3272
|
+
};
|
|
3273
|
+
}
|
|
3274
|
+
const parts = output.trim().split(/\s+/);
|
|
3275
|
+
if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
|
|
3276
|
+
throw new TypeError(`String outputRange values must contain 1 to 3 components, but got "${output}"`);
|
|
3277
|
+
}
|
|
3278
|
+
const parsed = parts.map((part) => parseStringInterpolationComponent(part, output));
|
|
3279
|
+
const [{ kind }] = parsed;
|
|
3280
|
+
for (const part of parsed) {
|
|
3281
|
+
if (part.kind !== kind) {
|
|
3282
|
+
throw new TypeError(`Cannot interpolate "${output}" because it mixes ${kind} and ${part.kind} values`);
|
|
3283
|
+
}
|
|
3284
|
+
}
|
|
3285
|
+
if (kind === "scale") {
|
|
3286
|
+
const x = parsed[0].value;
|
|
3287
|
+
const y = parsed[1]?.value ?? x;
|
|
3288
|
+
const z = parsed[2]?.value ?? 1;
|
|
3289
|
+
return {
|
|
3290
|
+
kind,
|
|
3291
|
+
values: [x, y, z],
|
|
3292
|
+
units: [null, null, null],
|
|
3293
|
+
dimensions: parsed.length
|
|
3294
|
+
};
|
|
3295
|
+
}
|
|
3296
|
+
return {
|
|
3297
|
+
kind,
|
|
3298
|
+
values: [parsed[0].value, parsed[1]?.value ?? 0, parsed[2]?.value ?? 0],
|
|
3299
|
+
units: [parsed[0].unit, parsed[1]?.unit ?? null, parsed[2]?.unit ?? null],
|
|
3300
|
+
dimensions: parsed.length
|
|
3301
|
+
};
|
|
3302
|
+
};
|
|
3303
|
+
var serializeStringInterpolationValue = ({
|
|
3304
|
+
kind,
|
|
3305
|
+
values,
|
|
3306
|
+
units,
|
|
3307
|
+
dimensions
|
|
3308
|
+
}) => {
|
|
3309
|
+
if (kind === "scale") {
|
|
3310
|
+
return values.slice(0, dimensions).map((value) => stringifyNumber(value)).join(" ");
|
|
3311
|
+
}
|
|
3312
|
+
return values.slice(0, dimensions).map((value, index) => `${stringifyNumber(value)}${units[index]}`).join(" ");
|
|
3313
|
+
};
|
|
3321
3314
|
function interpolateFunction(input, inputRange, outputRange, options) {
|
|
3322
3315
|
const { extrapolateLeft, extrapolateRight, easing } = options;
|
|
3323
3316
|
let result = input;
|
|
@@ -3362,6 +3355,130 @@ function findRange(input, inputRange) {
|
|
|
3362
3355
|
}
|
|
3363
3356
|
return i - 1;
|
|
3364
3357
|
}
|
|
3358
|
+
var defaultEasing = (num) => num;
|
|
3359
|
+
var interpolateNumber = ({
|
|
3360
|
+
input,
|
|
3361
|
+
inputRange,
|
|
3362
|
+
outputRange,
|
|
3363
|
+
options
|
|
3364
|
+
}) => {
|
|
3365
|
+
if (inputRange.length === 1) {
|
|
3366
|
+
return outputRange[0];
|
|
3367
|
+
}
|
|
3368
|
+
const easingOption = options?.easing;
|
|
3369
|
+
const resolveEasingForSegment = (segmentIndex) => {
|
|
3370
|
+
if (easingOption === undefined) {
|
|
3371
|
+
return defaultEasing;
|
|
3372
|
+
}
|
|
3373
|
+
if (typeof easingOption === "function") {
|
|
3374
|
+
return easingOption;
|
|
3375
|
+
}
|
|
3376
|
+
return easingOption[segmentIndex];
|
|
3377
|
+
};
|
|
3378
|
+
let extrapolateLeft = "extend";
|
|
3379
|
+
if (options?.extrapolateLeft !== undefined) {
|
|
3380
|
+
extrapolateLeft = options.extrapolateLeft;
|
|
3381
|
+
}
|
|
3382
|
+
let extrapolateRight = "extend";
|
|
3383
|
+
if (options?.extrapolateRight !== undefined) {
|
|
3384
|
+
extrapolateRight = options.extrapolateRight;
|
|
3385
|
+
}
|
|
3386
|
+
const posterizedInput = options?.posterize === undefined ? input : Math.floor(input / options.posterize) * options.posterize;
|
|
3387
|
+
const range = findRange(posterizedInput, inputRange);
|
|
3388
|
+
return interpolateFunction(posterizedInput, [inputRange[range], inputRange[range + 1]], [outputRange[range], outputRange[range + 1]], {
|
|
3389
|
+
easing: resolveEasingForSegment(range),
|
|
3390
|
+
extrapolateLeft,
|
|
3391
|
+
extrapolateRight
|
|
3392
|
+
});
|
|
3393
|
+
};
|
|
3394
|
+
var interpolateString = ({
|
|
3395
|
+
input,
|
|
3396
|
+
inputRange,
|
|
3397
|
+
outputRange,
|
|
3398
|
+
options
|
|
3399
|
+
}) => {
|
|
3400
|
+
const parsedOutputRange = outputRange.map(parseStringInterpolationValue);
|
|
3401
|
+
const kind = parsedOutputRange[0]?.kind;
|
|
3402
|
+
if (kind === undefined) {
|
|
3403
|
+
throw new Error("outputRange must have at least 1 element");
|
|
3404
|
+
}
|
|
3405
|
+
for (const parsed of parsedOutputRange) {
|
|
3406
|
+
if (parsed.kind !== kind) {
|
|
3407
|
+
throw new TypeError(`Cannot interpolate ${kind} values with ${parsed.kind} values`);
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3410
|
+
const dimensions = Math.max(...parsedOutputRange.map((parsed) => parsed.dimensions));
|
|
3411
|
+
const units = [
|
|
3412
|
+
null,
|
|
3413
|
+
null,
|
|
3414
|
+
null
|
|
3415
|
+
];
|
|
3416
|
+
if (kind !== "scale") {
|
|
3417
|
+
for (let axis = 0;axis < dimensions; axis++) {
|
|
3418
|
+
for (const parsed of parsedOutputRange) {
|
|
3419
|
+
const unit = parsed.units[axis];
|
|
3420
|
+
if (unit === null) {
|
|
3421
|
+
continue;
|
|
3422
|
+
}
|
|
3423
|
+
if (units[axis] === null) {
|
|
3424
|
+
units[axis] = unit;
|
|
3425
|
+
continue;
|
|
3426
|
+
}
|
|
3427
|
+
if (units[axis] !== unit) {
|
|
3428
|
+
throw new TypeError(`Cannot interpolate ${kind} values with different units on axis ${axis + 1}: ${units[axis]} and ${unit}`);
|
|
3429
|
+
}
|
|
3430
|
+
}
|
|
3431
|
+
if (units[axis] === null) {
|
|
3432
|
+
throw new TypeError(`Cannot interpolate ${kind} values because axis ${axis + 1} has no unit`);
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3436
|
+
return serializeStringInterpolationValue({
|
|
3437
|
+
kind,
|
|
3438
|
+
values: [0, 0, 0].map((_, axis) => interpolateNumber({
|
|
3439
|
+
input,
|
|
3440
|
+
inputRange,
|
|
3441
|
+
outputRange: parsedOutputRange.map((parsed) => parsed.values[axis]),
|
|
3442
|
+
options
|
|
3443
|
+
})),
|
|
3444
|
+
units,
|
|
3445
|
+
dimensions
|
|
3446
|
+
});
|
|
3447
|
+
};
|
|
3448
|
+
var validateTupleOutputRange = (outputRange) => {
|
|
3449
|
+
const dimensions = outputRange[0]?.length;
|
|
3450
|
+
if (dimensions === undefined) {
|
|
3451
|
+
throw new Error("outputRange must have at least 1 element");
|
|
3452
|
+
}
|
|
3453
|
+
if (dimensions === 0) {
|
|
3454
|
+
throw new TypeError("outputRange tuples must contain at least 1 number");
|
|
3455
|
+
}
|
|
3456
|
+
for (const output of outputRange) {
|
|
3457
|
+
if (output.length !== dimensions) {
|
|
3458
|
+
throw new TypeError(`outputRange tuples must all have the same length, but got ${dimensions} and ${output.length}`);
|
|
3459
|
+
}
|
|
3460
|
+
for (const value of output) {
|
|
3461
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
3462
|
+
throw new TypeError(`outputRange tuples must contain only finite numbers, but got [${output.join(",")}]`);
|
|
3463
|
+
}
|
|
3464
|
+
}
|
|
3465
|
+
}
|
|
3466
|
+
return dimensions;
|
|
3467
|
+
};
|
|
3468
|
+
var interpolateTuple = ({
|
|
3469
|
+
input,
|
|
3470
|
+
inputRange,
|
|
3471
|
+
outputRange,
|
|
3472
|
+
options
|
|
3473
|
+
}) => {
|
|
3474
|
+
const dimensions = validateTupleOutputRange(outputRange);
|
|
3475
|
+
return new Array(dimensions).fill(true).map((_, axis) => interpolateNumber({
|
|
3476
|
+
input,
|
|
3477
|
+
inputRange,
|
|
3478
|
+
outputRange: outputRange.map((output) => output[axis]),
|
|
3479
|
+
options
|
|
3480
|
+
}));
|
|
3481
|
+
};
|
|
3365
3482
|
function checkValidInputRange(arr) {
|
|
3366
3483
|
for (let i = 1;i < arr.length; ++i) {
|
|
3367
3484
|
if (!(arr[i] > arr[i - 1])) {
|
|
@@ -3421,42 +3538,30 @@ function interpolate(input, inputRange, outputRange, options) {
|
|
|
3421
3538
|
throw new Error("inputRange (" + inputRange.length + ") and outputRange (" + outputRange.length + ") must have the same length");
|
|
3422
3539
|
}
|
|
3423
3540
|
checkInfiniteRange("inputRange", inputRange);
|
|
3424
|
-
checkInfiniteRange("outputRange", outputRange);
|
|
3425
3541
|
checkValidInputRange(inputRange);
|
|
3426
3542
|
assertValidInterpolateEasingOption(options?.easing, inputRange.length);
|
|
3427
3543
|
assertValidInterpolatePosterizeOption(options?.posterize);
|
|
3428
|
-
const easingOption = options?.easing;
|
|
3429
|
-
const defaultEasing = (num) => num;
|
|
3430
|
-
const resolveEasingForSegment = (segmentIndex) => {
|
|
3431
|
-
if (easingOption === undefined) {
|
|
3432
|
-
return defaultEasing;
|
|
3433
|
-
}
|
|
3434
|
-
if (typeof easingOption === "function") {
|
|
3435
|
-
return easingOption;
|
|
3436
|
-
}
|
|
3437
|
-
return easingOption[segmentIndex];
|
|
3438
|
-
};
|
|
3439
|
-
let extrapolateLeft = "extend";
|
|
3440
|
-
if (options?.extrapolateLeft !== undefined) {
|
|
3441
|
-
extrapolateLeft = options.extrapolateLeft;
|
|
3442
|
-
}
|
|
3443
|
-
let extrapolateRight = "extend";
|
|
3444
|
-
if (options?.extrapolateRight !== undefined) {
|
|
3445
|
-
extrapolateRight = options.extrapolateRight;
|
|
3446
|
-
}
|
|
3447
3544
|
if (typeof input !== "number") {
|
|
3448
3545
|
throw new TypeError("Cannot interpolate an input which is not a number");
|
|
3449
3546
|
}
|
|
3450
|
-
if (
|
|
3451
|
-
|
|
3547
|
+
if (!Array.isArray(outputRange)) {
|
|
3548
|
+
throw new Error("outputRange must contain only numbers");
|
|
3452
3549
|
}
|
|
3453
|
-
const
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
}
|
|
3550
|
+
const hasStringOutput = outputRange.some((output) => typeof output === "string");
|
|
3551
|
+
if (hasStringOutput) {
|
|
3552
|
+
if (!outputRange.every((output) => typeof output === "string" || typeof output === "number")) {
|
|
3553
|
+
throw new TypeError("outputRange must contain only numbers, or supported scale, translate, and rotate strings");
|
|
3554
|
+
}
|
|
3555
|
+
return interpolateString({ input, inputRange, outputRange, options });
|
|
3556
|
+
}
|
|
3557
|
+
if (outputRange.every((output) => Array.isArray(output))) {
|
|
3558
|
+
return interpolateTuple({ input, inputRange, outputRange, options });
|
|
3559
|
+
}
|
|
3560
|
+
if (!outputRange.every((output) => typeof output === "number")) {
|
|
3561
|
+
throw new TypeError("outputRange must contain only numbers, numeric tuples, or supported scale, translate, and rotate strings");
|
|
3562
|
+
}
|
|
3563
|
+
checkInfiniteRange("outputRange", outputRange);
|
|
3564
|
+
return interpolateNumber({ input, inputRange, outputRange, options });
|
|
3460
3565
|
}
|
|
3461
3566
|
var NUMBER = "[-+]?\\d*\\.?\\d+";
|
|
3462
3567
|
var PERCENTAGE = NUMBER + "%";
|
|
@@ -3966,8 +4071,9 @@ var interpolateKeyframedStatus = ({
|
|
|
3966
4071
|
if (keyframes.length === 0) {
|
|
3967
4072
|
return null;
|
|
3968
4073
|
}
|
|
3969
|
-
const
|
|
3970
|
-
const
|
|
4074
|
+
const sortedKeyframes = [...keyframes].sort((a2, b2) => a2.frame - b2.frame);
|
|
4075
|
+
const inputRange = sortedKeyframes.map((k) => k.frame);
|
|
4076
|
+
const outputs = sortedKeyframes.map((k) => k.value);
|
|
3971
4077
|
if (interpolationFunction === "interpolateColors") {
|
|
3972
4078
|
if (!outputs.every((v) => typeof v === "string")) {
|
|
3973
4079
|
return null;
|
|
@@ -3986,12 +4092,6 @@ var interpolateKeyframedStatus = ({
|
|
|
3986
4092
|
if (interpolationFunction !== "interpolate") {
|
|
3987
4093
|
return null;
|
|
3988
4094
|
}
|
|
3989
|
-
if (!outputs.every((v) => typeof v === "number")) {
|
|
3990
|
-
return null;
|
|
3991
|
-
}
|
|
3992
|
-
if (keyframes.length === 1) {
|
|
3993
|
-
return outputs[0];
|
|
3994
|
-
}
|
|
3995
4095
|
try {
|
|
3996
4096
|
return interpolate(frame, inputRange, outputs, {
|
|
3997
4097
|
easing: easing.map(easingToFn),
|
|
@@ -4003,6 +4103,306 @@ var interpolateKeyframedStatus = ({
|
|
|
4003
4103
|
return null;
|
|
4004
4104
|
}
|
|
4005
4105
|
};
|
|
4106
|
+
var resolveDragOverrideValue = ({
|
|
4107
|
+
dragOverrideValue,
|
|
4108
|
+
frame
|
|
4109
|
+
}) => {
|
|
4110
|
+
if (dragOverrideValue === undefined) {
|
|
4111
|
+
return { type: "none" };
|
|
4112
|
+
}
|
|
4113
|
+
if (dragOverrideValue.type === "static") {
|
|
4114
|
+
return { type: "resolved", value: dragOverrideValue.value };
|
|
4115
|
+
}
|
|
4116
|
+
if (frame === null) {
|
|
4117
|
+
return { type: "none" };
|
|
4118
|
+
}
|
|
4119
|
+
const interpolated = interpolateKeyframedStatus({
|
|
4120
|
+
frame,
|
|
4121
|
+
status: dragOverrideValue.status
|
|
4122
|
+
});
|
|
4123
|
+
if (interpolated === null) {
|
|
4124
|
+
return { type: "none" };
|
|
4125
|
+
}
|
|
4126
|
+
return { type: "resolved", value: interpolated };
|
|
4127
|
+
};
|
|
4128
|
+
var getEffectiveVisualModeValue = ({
|
|
4129
|
+
codeValue,
|
|
4130
|
+
dragOverrideValue,
|
|
4131
|
+
defaultValue,
|
|
4132
|
+
frame = null,
|
|
4133
|
+
shouldResortToDefaultValueIfUndefined = false
|
|
4134
|
+
}) => {
|
|
4135
|
+
const dragOverride = resolveDragOverrideValue({
|
|
4136
|
+
dragOverrideValue,
|
|
4137
|
+
frame
|
|
4138
|
+
});
|
|
4139
|
+
if (dragOverride.type === "resolved" && dragOverride.value !== undefined) {
|
|
4140
|
+
return dragOverride.value;
|
|
4141
|
+
}
|
|
4142
|
+
if (codeValue.status === "keyframed" && frame !== null) {
|
|
4143
|
+
return interpolateKeyframedStatus({
|
|
4144
|
+
frame,
|
|
4145
|
+
status: codeValue
|
|
4146
|
+
});
|
|
4147
|
+
}
|
|
4148
|
+
if (codeValue.codeValue === undefined && shouldResortToDefaultValueIfUndefined) {
|
|
4149
|
+
return defaultValue;
|
|
4150
|
+
}
|
|
4151
|
+
return codeValue.codeValue;
|
|
4152
|
+
};
|
|
4153
|
+
var OverrideIdsToNodePathsGettersContext = createContext16({
|
|
4154
|
+
overrideIdToNodePathMappings: {}
|
|
4155
|
+
});
|
|
4156
|
+
var OverrideIdsToNodePathsSettersContext = createContext16({
|
|
4157
|
+
setOverrideIdToNodePath: () => {
|
|
4158
|
+
throw new Error("OverrideIdsToNodePathsSettersContext not initialized");
|
|
4159
|
+
}
|
|
4160
|
+
});
|
|
4161
|
+
var mergeOverrides = ({
|
|
4162
|
+
descriptor,
|
|
4163
|
+
codeOverrides,
|
|
4164
|
+
dragOverrides,
|
|
4165
|
+
frame
|
|
4166
|
+
}) => {
|
|
4167
|
+
if (!codeOverrides && !dragOverrides) {
|
|
4168
|
+
return { params: descriptor.params, effectKey: descriptor.effectKey };
|
|
4169
|
+
}
|
|
4170
|
+
const merged = {
|
|
4171
|
+
...descriptor.params
|
|
4172
|
+
};
|
|
4173
|
+
if (codeOverrides) {
|
|
4174
|
+
for (const [key, value] of Object.entries(codeOverrides)) {
|
|
4175
|
+
if (value !== undefined) {
|
|
4176
|
+
merged[key] = value;
|
|
4177
|
+
}
|
|
4178
|
+
}
|
|
4179
|
+
}
|
|
4180
|
+
if (dragOverrides) {
|
|
4181
|
+
for (const [key, value] of Object.entries(dragOverrides)) {
|
|
4182
|
+
const resolved = resolveDragOverrideValue({
|
|
4183
|
+
dragOverrideValue: value,
|
|
4184
|
+
frame
|
|
4185
|
+
});
|
|
4186
|
+
if (resolved.type === "resolved") {
|
|
4187
|
+
merged[key] = resolved.value;
|
|
4188
|
+
}
|
|
4189
|
+
}
|
|
4190
|
+
}
|
|
4191
|
+
return {
|
|
4192
|
+
params: merged,
|
|
4193
|
+
effectKey: descriptor.definition.calculateKey(merged)
|
|
4194
|
+
};
|
|
4195
|
+
};
|
|
4196
|
+
var extractCodeOverrides = (propStatus) => {
|
|
4197
|
+
if (!propStatus) {
|
|
4198
|
+
return null;
|
|
4199
|
+
}
|
|
4200
|
+
const out = {};
|
|
4201
|
+
let hasAny = false;
|
|
4202
|
+
for (const [key, status] of Object.entries(propStatus)) {
|
|
4203
|
+
if (status.status !== "computed") {
|
|
4204
|
+
out[key] = status.codeValue;
|
|
4205
|
+
hasAny = true;
|
|
4206
|
+
}
|
|
4207
|
+
}
|
|
4208
|
+
return hasAny ? out : null;
|
|
4209
|
+
};
|
|
4210
|
+
var useMemoizedEffectDefinitions = (effects) => {
|
|
4211
|
+
const previousRef = useRef5(null);
|
|
4212
|
+
const definitions = effects.map((descriptor) => descriptor.definition);
|
|
4213
|
+
const previous = previousRef.current;
|
|
4214
|
+
const isSame = previous !== null && previous.length === definitions.length && previous.every((def, i) => def === definitions[i]);
|
|
4215
|
+
if (isSame) {
|
|
4216
|
+
return previous;
|
|
4217
|
+
}
|
|
4218
|
+
previousRef.current = definitions;
|
|
4219
|
+
return definitions;
|
|
4220
|
+
};
|
|
4221
|
+
var getEffectCodeValuesCtx = ({
|
|
4222
|
+
codeValues,
|
|
4223
|
+
nodePath,
|
|
4224
|
+
effectIndex
|
|
4225
|
+
}) => {
|
|
4226
|
+
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
4227
|
+
if (!status) {
|
|
4228
|
+
return { type: "cannot-update-sequence", reason: "not-found" };
|
|
4229
|
+
}
|
|
4230
|
+
if (!status.canUpdate) {
|
|
4231
|
+
return { type: "cannot-update-sequence", reason: status.reason };
|
|
4232
|
+
}
|
|
4233
|
+
const effect = status.effects.find((e) => e.effectIndex === effectIndex);
|
|
4234
|
+
if (!effect) {
|
|
4235
|
+
return { type: "cannot-update-effect", reason: "not-found" };
|
|
4236
|
+
}
|
|
4237
|
+
if (!effect.canUpdate) {
|
|
4238
|
+
return { type: "cannot-update-effect", reason: effect.reason };
|
|
4239
|
+
}
|
|
4240
|
+
return { type: "can-update-effect", props: effect.props };
|
|
4241
|
+
};
|
|
4242
|
+
var getCodeValuesCtx = (codeValues, nodePath) => {
|
|
4243
|
+
const status = codeValues[makeSequencePropsSubscriptionKey(nodePath)];
|
|
4244
|
+
if (!status) {
|
|
4245
|
+
return;
|
|
4246
|
+
}
|
|
4247
|
+
if (!status.canUpdate) {
|
|
4248
|
+
return;
|
|
4249
|
+
}
|
|
4250
|
+
return status.props;
|
|
4251
|
+
};
|
|
4252
|
+
var useMemoizedEffects = ({
|
|
4253
|
+
effects,
|
|
4254
|
+
overrideId
|
|
4255
|
+
}) => {
|
|
4256
|
+
const previousRef = useRef5(null);
|
|
4257
|
+
const { codeValues } = useContext15(VisualModeCodeValuesContext);
|
|
4258
|
+
const { getEffectDragOverrides } = useContext15(VisualModeDragOverridesContext);
|
|
4259
|
+
const frame = useCurrentFrame();
|
|
4260
|
+
const { overrideIdToNodePathMappings } = useContext15(OverrideIdsToNodePathsGettersContext);
|
|
4261
|
+
const previous = previousRef.current;
|
|
4262
|
+
const nodePath = overrideId ? overrideIdToNodePathMappings[overrideId] ?? null : null;
|
|
4263
|
+
const resolved = effects.map((descriptor, index) => {
|
|
4264
|
+
if (nodePath === null) {
|
|
4265
|
+
return {
|
|
4266
|
+
descriptor,
|
|
4267
|
+
params: descriptor.params,
|
|
4268
|
+
effectKey: descriptor.effectKey
|
|
4269
|
+
};
|
|
4270
|
+
}
|
|
4271
|
+
const effectStatus = getEffectCodeValuesCtx({
|
|
4272
|
+
codeValues,
|
|
4273
|
+
nodePath,
|
|
4274
|
+
effectIndex: index
|
|
4275
|
+
});
|
|
4276
|
+
const codeOverrides = effectStatus.type === "can-update-effect" ? extractCodeOverrides(effectStatus.props) : null;
|
|
4277
|
+
const dragOverridesMap = getEffectDragOverrides(nodePath, index);
|
|
4278
|
+
const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
|
|
4279
|
+
const { params, effectKey } = mergeOverrides({
|
|
4280
|
+
descriptor,
|
|
4281
|
+
codeOverrides,
|
|
4282
|
+
dragOverrides,
|
|
4283
|
+
frame
|
|
4284
|
+
});
|
|
4285
|
+
return { descriptor, params, effectKey };
|
|
4286
|
+
});
|
|
4287
|
+
const isSame = previous !== null && previous.length === resolved.length && previous.every((p, i) => p.definition === resolved[i].descriptor.definition && p.effectKey === resolved[i].effectKey);
|
|
4288
|
+
if (isSame) {
|
|
4289
|
+
return previous;
|
|
4290
|
+
}
|
|
4291
|
+
const next = resolved.map(({ descriptor, params, effectKey }) => ({
|
|
4292
|
+
definition: descriptor.definition,
|
|
4293
|
+
effectKey,
|
|
4294
|
+
params,
|
|
4295
|
+
memoized: true
|
|
4296
|
+
}));
|
|
4297
|
+
previousRef.current = next;
|
|
4298
|
+
return next;
|
|
4299
|
+
};
|
|
4300
|
+
var flattenActiveSchema = (schema, resolve) => {
|
|
4301
|
+
const out = {};
|
|
4302
|
+
for (const key of Object.keys(schema)) {
|
|
4303
|
+
const field = schema[key];
|
|
4304
|
+
if (field.type === "hidden") {
|
|
4305
|
+
continue;
|
|
4306
|
+
} else if (field.type === "enum") {
|
|
4307
|
+
out[key] = field;
|
|
4308
|
+
const current = resolve(key) ?? field.default;
|
|
4309
|
+
const variant = field.variants[current];
|
|
4310
|
+
if (variant) {
|
|
4311
|
+
Object.assign(out, flattenActiveSchema(variant, resolve));
|
|
4312
|
+
}
|
|
4313
|
+
} else {
|
|
4314
|
+
out[key] = field;
|
|
4315
|
+
}
|
|
4316
|
+
}
|
|
4317
|
+
return out;
|
|
4318
|
+
};
|
|
4319
|
+
var getFlatSchemaWithAllKeys = (schema) => {
|
|
4320
|
+
const out = {};
|
|
4321
|
+
const addKey = (key, field) => {
|
|
4322
|
+
if (key in out) {
|
|
4323
|
+
throw new Error(`Duplicate key "${key}" in schema: discriminated union variants must not share keys`);
|
|
4324
|
+
}
|
|
4325
|
+
out[key] = field;
|
|
4326
|
+
};
|
|
4327
|
+
for (const key of Object.keys(schema)) {
|
|
4328
|
+
const field = schema[key];
|
|
4329
|
+
addKey(key, field);
|
|
4330
|
+
if (field.type === "enum") {
|
|
4331
|
+
for (const variant of Object.values(field.variants)) {
|
|
4332
|
+
const flatVariant = getFlatSchemaWithAllKeys(variant);
|
|
4333
|
+
for (const variantKey of Object.keys(flatVariant)) {
|
|
4334
|
+
addKey(variantKey, flatVariant[variantKey]);
|
|
4335
|
+
}
|
|
4336
|
+
}
|
|
4337
|
+
}
|
|
4338
|
+
}
|
|
4339
|
+
return out;
|
|
4340
|
+
};
|
|
4341
|
+
var findPropsToDelete = ({
|
|
4342
|
+
schema,
|
|
4343
|
+
key,
|
|
4344
|
+
value
|
|
4345
|
+
}) => {
|
|
4346
|
+
const fieldSchema = schema[key];
|
|
4347
|
+
if (!fieldSchema) {
|
|
4348
|
+
throw new Error("Key " + JSON.stringify(key) + " not found in schema");
|
|
4349
|
+
}
|
|
4350
|
+
if (typeof value !== "string") {
|
|
4351
|
+
throw new Error("Value must be a string, but is " + JSON.stringify(value));
|
|
4352
|
+
}
|
|
4353
|
+
if (fieldSchema.type !== "enum") {
|
|
4354
|
+
throw new Error("Key " + JSON.stringify(key) + " is not an enum");
|
|
4355
|
+
}
|
|
4356
|
+
const currentVariant = fieldSchema.variants[value];
|
|
4357
|
+
if (!currentVariant) {
|
|
4358
|
+
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));
|
|
4359
|
+
}
|
|
4360
|
+
const otherVariants = Object.keys(fieldSchema.variants).filter((v) => v !== value);
|
|
4361
|
+
const otherKeys = new Set;
|
|
4362
|
+
for (const variant of otherVariants) {
|
|
4363
|
+
const otherVariant = fieldSchema.variants[variant];
|
|
4364
|
+
const keys = Object.keys(otherVariant);
|
|
4365
|
+
for (const k of keys) {
|
|
4366
|
+
otherKeys.add(k);
|
|
4367
|
+
}
|
|
4368
|
+
}
|
|
4369
|
+
return [...otherKeys];
|
|
4370
|
+
};
|
|
4371
|
+
var makeStaticDragOverride = (value) => {
|
|
4372
|
+
return { type: "static", value };
|
|
4373
|
+
};
|
|
4374
|
+
var makeKeyframedDragOverride = ({
|
|
4375
|
+
status,
|
|
4376
|
+
frame,
|
|
4377
|
+
value
|
|
4378
|
+
}) => {
|
|
4379
|
+
const existingIndex = status.keyframes.findIndex((keyframe) => keyframe.frame === frame);
|
|
4380
|
+
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);
|
|
4381
|
+
const easing = [...status.easing];
|
|
4382
|
+
while (easing.length < keyframes.length - 1) {
|
|
4383
|
+
easing.push("linear");
|
|
4384
|
+
}
|
|
4385
|
+
if (easing.length > keyframes.length - 1) {
|
|
4386
|
+
easing.length = keyframes.length - 1;
|
|
4387
|
+
}
|
|
4388
|
+
return {
|
|
4389
|
+
type: "keyframed",
|
|
4390
|
+
status: {
|
|
4391
|
+
...status,
|
|
4392
|
+
keyframes,
|
|
4393
|
+
easing
|
|
4394
|
+
}
|
|
4395
|
+
};
|
|
4396
|
+
};
|
|
4397
|
+
var getStaticDragOverrideValue = (dragOverrideValue) => {
|
|
4398
|
+
if (dragOverrideValue?.type !== "static") {
|
|
4399
|
+
return;
|
|
4400
|
+
}
|
|
4401
|
+
return dragOverrideValue.value;
|
|
4402
|
+
};
|
|
4403
|
+
var isKeyframedStatus = (status) => {
|
|
4404
|
+
return status !== null && status.status === "keyframed";
|
|
4405
|
+
};
|
|
4006
4406
|
var findFieldInSchema = (schema, key) => {
|
|
4007
4407
|
if (key in schema) {
|
|
4008
4408
|
return schema[key];
|
|
@@ -4038,21 +4438,34 @@ var computeEffectiveSchemaValuesDotNotation = ({
|
|
|
4038
4438
|
let value;
|
|
4039
4439
|
if (codeValueStatus === null) {
|
|
4040
4440
|
value = currentValue[key];
|
|
4041
|
-
} else if (codeValueStatus
|
|
4042
|
-
if (
|
|
4043
|
-
const interpolated = interpolateKeyframedStatus({
|
|
4044
|
-
frame,
|
|
4045
|
-
status: codeValueStatus
|
|
4046
|
-
});
|
|
4047
|
-
value = interpolated ?? currentValue[key];
|
|
4048
|
-
} else {
|
|
4441
|
+
} else if (isKeyframedStatus(codeValueStatus)) {
|
|
4442
|
+
if (field?.type === "array" || field?.keyframable === false) {
|
|
4049
4443
|
value = currentValue[key];
|
|
4444
|
+
} else {
|
|
4445
|
+
const dragOverride = resolveDragOverrideValue({
|
|
4446
|
+
dragOverrideValue: overrideValues[key],
|
|
4447
|
+
frame
|
|
4448
|
+
});
|
|
4449
|
+
if (dragOverride.type === "resolved") {
|
|
4450
|
+
value = dragOverride.value;
|
|
4451
|
+
} else if (frame !== null) {
|
|
4452
|
+
const interpolated = interpolateKeyframedStatus({
|
|
4453
|
+
frame,
|
|
4454
|
+
status: codeValueStatus
|
|
4455
|
+
});
|
|
4456
|
+
value = interpolated ?? currentValue[key];
|
|
4457
|
+
} else {
|
|
4458
|
+
value = currentValue[key];
|
|
4459
|
+
}
|
|
4050
4460
|
}
|
|
4461
|
+
} else if (codeValueStatus.status === "computed") {
|
|
4462
|
+
value = currentValue[key];
|
|
4051
4463
|
} else {
|
|
4052
4464
|
value = getEffectiveVisualModeValue({
|
|
4053
4465
|
codeValue: codeValueStatus,
|
|
4054
4466
|
dragOverrideValue: overrideValues[key],
|
|
4055
4467
|
defaultValue: field?.default,
|
|
4468
|
+
frame,
|
|
4056
4469
|
shouldResortToDefaultValueIfUndefined: false
|
|
4057
4470
|
});
|
|
4058
4471
|
}
|
|
@@ -4125,13 +4538,17 @@ var mergeValues = ({
|
|
|
4125
4538
|
return merged;
|
|
4126
4539
|
};
|
|
4127
4540
|
var stackToOverrideMap = {};
|
|
4128
|
-
var wrapInSchema = (
|
|
4541
|
+
var wrapInSchema = ({
|
|
4542
|
+
Component,
|
|
4543
|
+
schema,
|
|
4544
|
+
supportsEffects
|
|
4545
|
+
}) => {
|
|
4129
4546
|
const flatSchema = getFlatSchemaWithAllKeys(schema);
|
|
4130
4547
|
const flatKeys = Object.keys(flatSchema);
|
|
4131
4548
|
const Wrapped = forwardRef2((props, ref) => {
|
|
4132
4549
|
const env = useRemotionEnvironment();
|
|
4133
4550
|
if (!env.isStudio || env.isReadOnlyStudio || env.isRendering) {
|
|
4134
|
-
return
|
|
4551
|
+
return React13.createElement(Component, {
|
|
4135
4552
|
...props,
|
|
4136
4553
|
_experimentalControls: null,
|
|
4137
4554
|
ref
|
|
@@ -4142,7 +4559,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
4142
4559
|
const nodePathMapping = useContext16(OverrideIdsToNodePathsGettersContext);
|
|
4143
4560
|
const frame = useCurrentFrame();
|
|
4144
4561
|
if (props._experimentalControls) {
|
|
4145
|
-
return
|
|
4562
|
+
return React13.createElement(Component, {
|
|
4146
4563
|
...props,
|
|
4147
4564
|
ref
|
|
4148
4565
|
});
|
|
@@ -4167,7 +4584,8 @@ var wrapInSchema = (Component, schema) => {
|
|
|
4167
4584
|
return {
|
|
4168
4585
|
schema,
|
|
4169
4586
|
currentRuntimeValueDotNotation,
|
|
4170
|
-
overrideId
|
|
4587
|
+
overrideId,
|
|
4588
|
+
supportsEffects
|
|
4171
4589
|
};
|
|
4172
4590
|
}, [currentRuntimeValueDotNotation, overrideId]);
|
|
4173
4591
|
const { merged: valuesDotNotation, propsToDelete } = useMemo13(() => {
|
|
@@ -4192,7 +4610,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
4192
4610
|
schemaKeys: activeKeys,
|
|
4193
4611
|
propsToDelete
|
|
4194
4612
|
});
|
|
4195
|
-
return
|
|
4613
|
+
return React13.createElement(Component, {
|
|
4196
4614
|
...mergedProps,
|
|
4197
4615
|
_experimentalControls: controls,
|
|
4198
4616
|
ref
|
|
@@ -4201,6 +4619,7 @@ var wrapInSchema = (Component, schema) => {
|
|
|
4201
4619
|
Wrapped.displayName = `wrapInSchema(${Component.displayName || Component.name || "Component"})`;
|
|
4202
4620
|
return Wrapped;
|
|
4203
4621
|
};
|
|
4622
|
+
var EMPTY_EFFECTS = [];
|
|
4204
4623
|
var RegularSequenceRefForwardingFunction = ({
|
|
4205
4624
|
from = 0,
|
|
4206
4625
|
durationInFrames = Infinity,
|
|
@@ -4295,6 +4714,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4295
4714
|
}, [name]);
|
|
4296
4715
|
const resolvedDocumentationLink = documentationLink ?? (name === undefined ? "https://www.remotion.dev/docs/sequence" : null);
|
|
4297
4716
|
const env = useRemotionEnvironment();
|
|
4717
|
+
const isInsideSeries = useContext17(IsInsideSeriesContext);
|
|
4298
4718
|
const inheritedStack = other?.stack ?? null;
|
|
4299
4719
|
const stackRef = useRef6(null);
|
|
4300
4720
|
stackRef.current = stack ?? inheritedStack;
|
|
@@ -4307,7 +4727,7 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4307
4727
|
registerSequence({
|
|
4308
4728
|
type: "image",
|
|
4309
4729
|
controls: controls ?? null,
|
|
4310
|
-
effects: _remotionInternalEffects ??
|
|
4730
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
4311
4731
|
displayName: timelineClipName,
|
|
4312
4732
|
documentationLink: resolvedDocumentationLink,
|
|
4313
4733
|
duration: actualDurationInFrames,
|
|
@@ -4322,13 +4742,14 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4322
4742
|
showInTimeline,
|
|
4323
4743
|
src: isMedia.src,
|
|
4324
4744
|
getStack: () => stackRef.current,
|
|
4325
|
-
refForOutline: refForOutline ?? null
|
|
4745
|
+
refForOutline: refForOutline ?? null,
|
|
4746
|
+
isInsideSeries
|
|
4326
4747
|
});
|
|
4327
4748
|
} else {
|
|
4328
4749
|
registerSequence({
|
|
4329
4750
|
type: isMedia.type,
|
|
4330
4751
|
controls: controls ?? null,
|
|
4331
|
-
effects: _remotionInternalEffects ??
|
|
4752
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
4332
4753
|
displayName: timelineClipName,
|
|
4333
4754
|
documentationLink: resolvedDocumentationLink,
|
|
4334
4755
|
doesVolumeChange: isMedia.data.doesVolumeChange,
|
|
@@ -4347,7 +4768,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4347
4768
|
getStack: () => stackRef.current,
|
|
4348
4769
|
startMediaFrom: isMedia.data.startMediaFrom,
|
|
4349
4770
|
volume: isMedia.data.volumes,
|
|
4350
|
-
refForOutline: refForOutline ?? null
|
|
4771
|
+
refForOutline: refForOutline ?? null,
|
|
4772
|
+
isInsideSeries
|
|
4351
4773
|
});
|
|
4352
4774
|
}
|
|
4353
4775
|
return () => {
|
|
@@ -4370,8 +4792,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4370
4792
|
premountDisplay: premountDisplay ?? null,
|
|
4371
4793
|
postmountDisplay: postmountDisplay ?? null,
|
|
4372
4794
|
controls: controls ?? null,
|
|
4373
|
-
effects: _remotionInternalEffects ??
|
|
4374
|
-
refForOutline: refForOutline ?? null
|
|
4795
|
+
effects: _remotionInternalEffects ?? EMPTY_EFFECTS,
|
|
4796
|
+
refForOutline: refForOutline ?? null,
|
|
4797
|
+
isInsideSeries
|
|
4375
4798
|
});
|
|
4376
4799
|
return () => {
|
|
4377
4800
|
unregisterSequence(id);
|
|
@@ -4397,7 +4820,8 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4397
4820
|
_remotionInternalEffects,
|
|
4398
4821
|
isMedia,
|
|
4399
4822
|
resolvedDocumentationLink,
|
|
4400
|
-
refForOutline
|
|
4823
|
+
refForOutline,
|
|
4824
|
+
isInsideSeries
|
|
4401
4825
|
]);
|
|
4402
4826
|
const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
|
|
4403
4827
|
const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
|
|
@@ -4416,9 +4840,9 @@ var RegularSequenceRefForwardingFunction = ({
|
|
|
4416
4840
|
if (hidden) {
|
|
4417
4841
|
return null;
|
|
4418
4842
|
}
|
|
4419
|
-
return /* @__PURE__ */
|
|
4843
|
+
return /* @__PURE__ */ jsx12(SequenceContext.Provider, {
|
|
4420
4844
|
value: contextValue,
|
|
4421
|
-
children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */
|
|
4845
|
+
children: content === null ? null : other.layout === "none" ? content : /* @__PURE__ */ jsx12(AbsoluteFill, {
|
|
4422
4846
|
ref,
|
|
4423
4847
|
style: defaultStyle,
|
|
4424
4848
|
className: other.className,
|
|
@@ -4463,10 +4887,10 @@ var PremountedPostmountedSequenceRefForwardingFunction = (props, ref) => {
|
|
|
4463
4887
|
styleWhilePremounted,
|
|
4464
4888
|
styleWhilePostmounted
|
|
4465
4889
|
]);
|
|
4466
|
-
return /* @__PURE__ */
|
|
4890
|
+
return /* @__PURE__ */ jsx12(Freeze, {
|
|
4467
4891
|
frame: freezeFrame,
|
|
4468
4892
|
active: isFreezingActive,
|
|
4469
|
-
children: /* @__PURE__ */
|
|
4893
|
+
children: /* @__PURE__ */ jsx12(SequenceInner, {
|
|
4470
4894
|
ref,
|
|
4471
4895
|
from,
|
|
4472
4896
|
durationInFrames,
|
|
@@ -4486,20 +4910,30 @@ var SequenceRefForwardingFunction = (props, ref) => {
|
|
|
4486
4910
|
if (props.layout !== "none" && !env.isRendering) {
|
|
4487
4911
|
const effectivePremountFor = ENABLE_V5_BREAKING_CHANGES ? props.premountFor ?? fps : props.premountFor;
|
|
4488
4912
|
if (effectivePremountFor || props.postmountFor) {
|
|
4489
|
-
return /* @__PURE__ */
|
|
4913
|
+
return /* @__PURE__ */ jsx12(PremountedPostmountedSequence, {
|
|
4490
4914
|
ref,
|
|
4491
4915
|
...props,
|
|
4492
4916
|
premountFor: effectivePremountFor
|
|
4493
4917
|
});
|
|
4494
4918
|
}
|
|
4495
4919
|
}
|
|
4496
|
-
return /* @__PURE__ */
|
|
4920
|
+
return /* @__PURE__ */ jsx12(RegularSequence, {
|
|
4497
4921
|
...props,
|
|
4498
4922
|
ref
|
|
4499
4923
|
});
|
|
4500
4924
|
};
|
|
4501
4925
|
var SequenceInner = forwardRef3(SequenceRefForwardingFunction);
|
|
4502
|
-
var
|
|
4926
|
+
var SequenceWithoutSchema = SequenceInner;
|
|
4927
|
+
var Sequence = wrapInSchema({
|
|
4928
|
+
Component: SequenceInner,
|
|
4929
|
+
schema: sequenceSchema,
|
|
4930
|
+
supportsEffects: false
|
|
4931
|
+
});
|
|
4932
|
+
var SequenceWithoutFrom = wrapInSchema({
|
|
4933
|
+
Component: SequenceInner,
|
|
4934
|
+
schema: sequenceSchemaWithoutFrom,
|
|
4935
|
+
supportsEffects: false
|
|
4936
|
+
});
|
|
4503
4937
|
var calculateImageFit = (fit, imageSize, canvasSize) => {
|
|
4504
4938
|
switch (fit) {
|
|
4505
4939
|
case "fill": {
|
|
@@ -4866,13 +5300,13 @@ var CanvasRefForwardingFunction = ({ width, height, fit, className, style, effec
|
|
|
4866
5300
|
}
|
|
4867
5301
|
};
|
|
4868
5302
|
}, [draw]);
|
|
4869
|
-
return /* @__PURE__ */
|
|
5303
|
+
return /* @__PURE__ */ jsx13("canvas", {
|
|
4870
5304
|
ref: canvasRef,
|
|
4871
5305
|
className,
|
|
4872
5306
|
style
|
|
4873
5307
|
});
|
|
4874
5308
|
};
|
|
4875
|
-
var Canvas =
|
|
5309
|
+
var Canvas = React15.forwardRef(CanvasRefForwardingFunction);
|
|
4876
5310
|
var CACHE_SIZE = 5;
|
|
4877
5311
|
var getActualTime = ({
|
|
4878
5312
|
loopBehavior,
|
|
@@ -5033,13 +5467,17 @@ var resolveAnimatedImageSource = (src) => {
|
|
|
5033
5467
|
return new URL(src, window.origin).href;
|
|
5034
5468
|
};
|
|
5035
5469
|
var animatedImageSchema = {
|
|
5470
|
+
durationInFrames: durationInFramesField,
|
|
5471
|
+
from: fromField,
|
|
5036
5472
|
playbackRate: {
|
|
5037
5473
|
type: "number",
|
|
5038
5474
|
min: 0,
|
|
5039
5475
|
max: 10,
|
|
5040
5476
|
step: 0.1,
|
|
5041
5477
|
default: 1,
|
|
5042
|
-
description: "Playback Rate"
|
|
5478
|
+
description: "Playback Rate",
|
|
5479
|
+
hiddenFromList: false,
|
|
5480
|
+
keyframable: false
|
|
5043
5481
|
},
|
|
5044
5482
|
...sequenceVisualStyleSchema,
|
|
5045
5483
|
hidden: hiddenField
|
|
@@ -5163,7 +5601,7 @@ var AnimatedImageContent = forwardRef4(({
|
|
|
5163
5601
|
width,
|
|
5164
5602
|
height
|
|
5165
5603
|
]);
|
|
5166
|
-
return /* @__PURE__ */
|
|
5604
|
+
return /* @__PURE__ */ jsx14(Canvas, {
|
|
5167
5605
|
ref,
|
|
5168
5606
|
width,
|
|
5169
5607
|
height,
|
|
@@ -5211,7 +5649,7 @@ var AnimatedImageInner = ({
|
|
|
5211
5649
|
style,
|
|
5212
5650
|
requestInit
|
|
5213
5651
|
};
|
|
5214
|
-
return /* @__PURE__ */
|
|
5652
|
+
return /* @__PURE__ */ jsx14(Sequence, {
|
|
5215
5653
|
layout: "none",
|
|
5216
5654
|
durationInFrames: resolvedDuration,
|
|
5217
5655
|
name: "<AnimatedImage>",
|
|
@@ -5220,7 +5658,7 @@ var AnimatedImageInner = ({
|
|
|
5220
5658
|
_remotionInternalEffects: memoizedEffectDefinitions,
|
|
5221
5659
|
...sequenceProps,
|
|
5222
5660
|
_remotionInternalRefForOutline: actualRef,
|
|
5223
|
-
children: /* @__PURE__ */
|
|
5661
|
+
children: /* @__PURE__ */ jsx14(AnimatedImageContent, {
|
|
5224
5662
|
...animatedImageProps,
|
|
5225
5663
|
ref: actualRef,
|
|
5226
5664
|
effects,
|
|
@@ -5228,7 +5666,11 @@ var AnimatedImageInner = ({
|
|
|
5228
5666
|
})
|
|
5229
5667
|
});
|
|
5230
5668
|
};
|
|
5231
|
-
var AnimatedImage = wrapInSchema(
|
|
5669
|
+
var AnimatedImage = wrapInSchema({
|
|
5670
|
+
Component: AnimatedImageInner,
|
|
5671
|
+
schema: animatedImageSchema,
|
|
5672
|
+
supportsEffects: true
|
|
5673
|
+
});
|
|
5232
5674
|
AnimatedImage.displayName = "AnimatedImage";
|
|
5233
5675
|
addSequenceStackTraces(AnimatedImage);
|
|
5234
5676
|
var validateArtifactFilename = (filename) => {
|
|
@@ -5260,7 +5702,7 @@ var validateRenderAsset = (artifact) => {
|
|
|
5260
5702
|
}
|
|
5261
5703
|
validateContent(artifact.content);
|
|
5262
5704
|
};
|
|
5263
|
-
var RenderAssetManager =
|
|
5705
|
+
var RenderAssetManager = createContext17({
|
|
5264
5706
|
registerRenderAsset: () => {
|
|
5265
5707
|
return;
|
|
5266
5708
|
},
|
|
@@ -5310,7 +5752,7 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
|
|
|
5310
5752
|
renderAssets
|
|
5311
5753
|
};
|
|
5312
5754
|
}, [renderAssets, registerRenderAsset, unregisterRenderAsset]);
|
|
5313
|
-
return /* @__PURE__ */
|
|
5755
|
+
return /* @__PURE__ */ jsx15(RenderAssetManager.Provider, {
|
|
5314
5756
|
value: contextValue,
|
|
5315
5757
|
children
|
|
5316
5758
|
});
|
|
@@ -5398,9 +5840,9 @@ var calculateMediaDuration = ({
|
|
|
5398
5840
|
const actualDuration = duration / playbackRate;
|
|
5399
5841
|
return Math.floor(actualDuration);
|
|
5400
5842
|
};
|
|
5401
|
-
var LoopContext =
|
|
5843
|
+
var LoopContext = createContext18(null);
|
|
5402
5844
|
var useLoop = () => {
|
|
5403
|
-
return
|
|
5845
|
+
return React16.useContext(LoopContext);
|
|
5404
5846
|
};
|
|
5405
5847
|
var Loop = ({
|
|
5406
5848
|
durationInFrames,
|
|
@@ -5445,9 +5887,9 @@ var Loop = ({
|
|
|
5445
5887
|
durationInFrames
|
|
5446
5888
|
};
|
|
5447
5889
|
}, [currentFrame, durationInFrames]);
|
|
5448
|
-
return /* @__PURE__ */
|
|
5890
|
+
return /* @__PURE__ */ jsx16(LoopContext.Provider, {
|
|
5449
5891
|
value: loopContext,
|
|
5450
|
-
children: /* @__PURE__ */
|
|
5892
|
+
children: /* @__PURE__ */ jsx16(Sequence, {
|
|
5451
5893
|
durationInFrames,
|
|
5452
5894
|
from,
|
|
5453
5895
|
name: name ?? "<Loop>",
|
|
@@ -5470,7 +5912,7 @@ var playbackLogging = ({
|
|
|
5470
5912
|
const tags = [mountTime ? Date.now() - mountTime + "ms " : null, tag].filter(Boolean).join(" ");
|
|
5471
5913
|
Log.trace({ logLevel, tag: null }, `[${tags}]`, message);
|
|
5472
5914
|
};
|
|
5473
|
-
var PreloadContext =
|
|
5915
|
+
var PreloadContext = createContext19({});
|
|
5474
5916
|
var preloads = {};
|
|
5475
5917
|
var updaters = [];
|
|
5476
5918
|
var setPreloads = (updater) => {
|
|
@@ -5488,7 +5930,7 @@ var PrefetchProvider = ({ children }) => {
|
|
|
5488
5930
|
updaters = updaters.filter((u) => u !== updaterFunction);
|
|
5489
5931
|
};
|
|
5490
5932
|
}, []);
|
|
5491
|
-
return /* @__PURE__ */
|
|
5933
|
+
return /* @__PURE__ */ jsx17(PreloadContext.Provider, {
|
|
5492
5934
|
value: _preloads,
|
|
5493
5935
|
children
|
|
5494
5936
|
});
|
|
@@ -5794,7 +6236,7 @@ var durationReducer = (state, action) => {
|
|
|
5794
6236
|
return state;
|
|
5795
6237
|
}
|
|
5796
6238
|
};
|
|
5797
|
-
var DurationsContext =
|
|
6239
|
+
var DurationsContext = createContext20({
|
|
5798
6240
|
durations: {},
|
|
5799
6241
|
setDurations: () => {
|
|
5800
6242
|
throw new Error("context missing");
|
|
@@ -5808,7 +6250,7 @@ var DurationsContextProvider = ({ children }) => {
|
|
|
5808
6250
|
setDurations
|
|
5809
6251
|
};
|
|
5810
6252
|
}, [durations]);
|
|
5811
|
-
return /* @__PURE__ */
|
|
6253
|
+
return /* @__PURE__ */ jsx18(DurationsContext.Provider, {
|
|
5812
6254
|
value,
|
|
5813
6255
|
children
|
|
5814
6256
|
});
|
|
@@ -6047,8 +6489,8 @@ var didPropChange = (key, newProp, prevProp) => {
|
|
|
6047
6489
|
}
|
|
6048
6490
|
return true;
|
|
6049
6491
|
};
|
|
6050
|
-
var SharedAudioContext =
|
|
6051
|
-
var SharedAudioTagsContext =
|
|
6492
|
+
var SharedAudioContext = createContext21(null);
|
|
6493
|
+
var SharedAudioTagsContext = createContext21(null);
|
|
6052
6494
|
var shouldSaveForLater = (state) => {
|
|
6053
6495
|
if (state === "suspended" || state === "running-to-suspended" || state === "interrupted") {
|
|
6054
6496
|
return true;
|
|
@@ -6211,7 +6653,7 @@ var SharedAudioContextProvider = ({ children, audioLatencyHint, audioEnabled, pr
|
|
|
6211
6653
|
getIsResumingAudioContext,
|
|
6212
6654
|
unscheduleAudioNode
|
|
6213
6655
|
]);
|
|
6214
|
-
return /* @__PURE__ */
|
|
6656
|
+
return /* @__PURE__ */ jsx19(SharedAudioContext.Provider, {
|
|
6215
6657
|
value: audioContextValue,
|
|
6216
6658
|
children
|
|
6217
6659
|
});
|
|
@@ -6241,7 +6683,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
6241
6683
|
};
|
|
6242
6684
|
});
|
|
6243
6685
|
}, [audioContext, numberOfAudioTags]);
|
|
6244
|
-
const effectToUse =
|
|
6686
|
+
const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
|
|
6245
6687
|
effectToUse(() => {
|
|
6246
6688
|
return () => {
|
|
6247
6689
|
requestAnimationFrame(() => {
|
|
@@ -6384,7 +6826,7 @@ var SharedAudioTagsContextProvider = ({ children, numberOfAudioTags }) => {
|
|
|
6384
6826
|
value: audioTagsValue,
|
|
6385
6827
|
children: [
|
|
6386
6828
|
refs.map(({ id, ref }) => {
|
|
6387
|
-
return /* @__PURE__ */
|
|
6829
|
+
return /* @__PURE__ */ jsx19("audio", {
|
|
6388
6830
|
ref,
|
|
6389
6831
|
preload: "metadata",
|
|
6390
6832
|
src: EMPTY_AUDIO
|
|
@@ -6406,7 +6848,7 @@ var useSharedAudio = ({
|
|
|
6406
6848
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
6407
6849
|
return tagsCtx.registerAudio({ aud, audioId, premounting, postmounting });
|
|
6408
6850
|
}
|
|
6409
|
-
const el =
|
|
6851
|
+
const el = React19.createRef();
|
|
6410
6852
|
const mediaElementSourceNode = audioCtx?.audioContext ? makeSharedElementSourceNode({
|
|
6411
6853
|
audioContext: audioCtx.audioContext,
|
|
6412
6854
|
ref: el
|
|
@@ -6425,7 +6867,7 @@ var useSharedAudio = ({
|
|
|
6425
6867
|
}
|
|
6426
6868
|
};
|
|
6427
6869
|
});
|
|
6428
|
-
const effectToUse =
|
|
6870
|
+
const effectToUse = React19.useInsertionEffect ?? React19.useLayoutEffect;
|
|
6429
6871
|
if (typeof document !== "undefined") {
|
|
6430
6872
|
effectToUse(() => {
|
|
6431
6873
|
if (tagsCtx && tagsCtx.numberOfAudioTags > 0) {
|
|
@@ -6857,7 +7299,8 @@ var useMediaInTimeline = ({
|
|
|
6857
7299
|
postmountDisplay,
|
|
6858
7300
|
controls: null,
|
|
6859
7301
|
effects: [],
|
|
6860
|
-
refForOutline
|
|
7302
|
+
refForOutline,
|
|
7303
|
+
isInsideSeries: false
|
|
6861
7304
|
});
|
|
6862
7305
|
return () => {
|
|
6863
7306
|
unregisterSequence(id);
|
|
@@ -6970,11 +7413,11 @@ var useBufferManager = (logLevel, mountTime) => {
|
|
|
6970
7413
|
return { addBlock, listenForBuffering, listenForResume, buffering };
|
|
6971
7414
|
}, [addBlock, buffering, listenForBuffering, listenForResume]);
|
|
6972
7415
|
};
|
|
6973
|
-
var BufferingContextReact =
|
|
7416
|
+
var BufferingContextReact = React20.createContext(null);
|
|
6974
7417
|
var BufferingProvider = ({ children }) => {
|
|
6975
7418
|
const { logLevel, mountTime } = useContext24(LogLevelContext);
|
|
6976
7419
|
const bufferManager = useBufferManager(logLevel ?? "info", mountTime);
|
|
6977
|
-
return /* @__PURE__ */
|
|
7420
|
+
return /* @__PURE__ */ jsx20(BufferingContextReact.Provider, {
|
|
6978
7421
|
value: bufferManager,
|
|
6979
7422
|
children
|
|
6980
7423
|
});
|
|
@@ -7121,7 +7564,7 @@ var useBufferUntilFirstFrame = ({
|
|
|
7121
7564
|
}, [bufferUntilFirstFrame]);
|
|
7122
7565
|
};
|
|
7123
7566
|
var useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
|
|
7124
|
-
const lastUpdate =
|
|
7567
|
+
const lastUpdate = React21.useRef({
|
|
7125
7568
|
time: mediaRef.current?.currentTime ?? 0,
|
|
7126
7569
|
lastUpdate: performance.now()
|
|
7127
7570
|
});
|
|
@@ -7699,11 +8142,11 @@ var useMediaTag = ({
|
|
|
7699
8142
|
env.isPlayer
|
|
7700
8143
|
]);
|
|
7701
8144
|
};
|
|
7702
|
-
var MediaVolumeContext =
|
|
8145
|
+
var MediaVolumeContext = createContext22({
|
|
7703
8146
|
mediaMuted: false,
|
|
7704
8147
|
mediaVolume: 1
|
|
7705
8148
|
});
|
|
7706
|
-
var SetMediaVolumeContext =
|
|
8149
|
+
var SetMediaVolumeContext = createContext22({
|
|
7707
8150
|
setMediaMuted: () => {
|
|
7708
8151
|
throw new Error("default");
|
|
7709
8152
|
},
|
|
@@ -7870,7 +8313,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7870
8313
|
volume: userPreferredVolume,
|
|
7871
8314
|
shouldUseWebAudioApi: useWebAudioApi ?? false
|
|
7872
8315
|
});
|
|
7873
|
-
const effectToUse =
|
|
8316
|
+
const effectToUse = React22.useInsertionEffect ?? React22.useLayoutEffect;
|
|
7874
8317
|
effectToUse(() => {
|
|
7875
8318
|
return () => {
|
|
7876
8319
|
requestAnimationFrame(() => {
|
|
@@ -7903,7 +8346,7 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
|
|
|
7903
8346
|
if (initialShouldPreMountAudioElements) {
|
|
7904
8347
|
return null;
|
|
7905
8348
|
}
|
|
7906
|
-
return /* @__PURE__ */
|
|
8349
|
+
return /* @__PURE__ */ jsx21("audio", {
|
|
7907
8350
|
ref: audioRef,
|
|
7908
8351
|
preload: "metadata",
|
|
7909
8352
|
crossOrigin: crossOriginValue,
|
|
@@ -8037,7 +8480,7 @@ var AudioForRenderingRefForwardingFunction = (props, ref) => {
|
|
|
8037
8480
|
if (!needsToRenderAudioTag) {
|
|
8038
8481
|
return null;
|
|
8039
8482
|
}
|
|
8040
|
-
return /* @__PURE__ */
|
|
8483
|
+
return /* @__PURE__ */ jsx222("audio", {
|
|
8041
8484
|
ref: audioRef,
|
|
8042
8485
|
...nativeProps,
|
|
8043
8486
|
onError: onNativeError
|
|
@@ -8096,14 +8539,14 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8096
8539
|
});
|
|
8097
8540
|
if (loop && durationFetched !== undefined) {
|
|
8098
8541
|
if (!Number.isFinite(durationFetched)) {
|
|
8099
|
-
return /* @__PURE__ */
|
|
8542
|
+
return /* @__PURE__ */ jsx23(Html5Audio, {
|
|
8100
8543
|
...propsOtherThanLoop,
|
|
8101
8544
|
ref,
|
|
8102
8545
|
_remotionInternalNativeLoopPassed: true
|
|
8103
8546
|
});
|
|
8104
8547
|
}
|
|
8105
8548
|
const duration = durationFetched * fps;
|
|
8106
|
-
return /* @__PURE__ */
|
|
8549
|
+
return /* @__PURE__ */ jsx23(Loop, {
|
|
8107
8550
|
layout: "none",
|
|
8108
8551
|
durationInFrames: calculateMediaDuration({
|
|
8109
8552
|
trimAfter: trimAfterValue,
|
|
@@ -8111,7 +8554,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8111
8554
|
playbackRate: props.playbackRate ?? 1,
|
|
8112
8555
|
trimBefore: trimBeforeValue
|
|
8113
8556
|
}),
|
|
8114
|
-
children: /* @__PURE__ */
|
|
8557
|
+
children: /* @__PURE__ */ jsx23(Html5Audio, {
|
|
8115
8558
|
...propsOtherThanLoop,
|
|
8116
8559
|
ref,
|
|
8117
8560
|
_remotionInternalNativeLoopPassed: true
|
|
@@ -8119,13 +8562,13 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8119
8562
|
});
|
|
8120
8563
|
}
|
|
8121
8564
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
8122
|
-
return /* @__PURE__ */
|
|
8565
|
+
return /* @__PURE__ */ jsx23(Sequence, {
|
|
8123
8566
|
layout: "none",
|
|
8124
8567
|
from: 0 - (trimBeforeValue ?? 0),
|
|
8125
8568
|
showInTimeline: false,
|
|
8126
8569
|
durationInFrames: trimAfterValue,
|
|
8127
8570
|
name,
|
|
8128
|
-
children: /* @__PURE__ */
|
|
8571
|
+
children: /* @__PURE__ */ jsx23(Html5Audio, {
|
|
8129
8572
|
_remotionInternalNeedsDurationCalculation: Boolean(loop),
|
|
8130
8573
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
8131
8574
|
...otherProps,
|
|
@@ -8139,7 +8582,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8139
8582
|
volume: props.volume
|
|
8140
8583
|
}, "Html5Audio");
|
|
8141
8584
|
if (environment.isRendering) {
|
|
8142
|
-
return /* @__PURE__ */
|
|
8585
|
+
return /* @__PURE__ */ jsx23(AudioForRendering, {
|
|
8143
8586
|
onDuration,
|
|
8144
8587
|
...props,
|
|
8145
8588
|
ref,
|
|
@@ -8147,7 +8590,7 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8147
8590
|
_remotionInternalNeedsDurationCalculation: Boolean(loop)
|
|
8148
8591
|
});
|
|
8149
8592
|
}
|
|
8150
|
-
return /* @__PURE__ */
|
|
8593
|
+
return /* @__PURE__ */ jsx23(AudioForPreview, {
|
|
8151
8594
|
_remotionInternalNativeLoopPassed: props._remotionInternalNativeLoopPassed ?? false,
|
|
8152
8595
|
_remotionInternalStack: stack ?? null,
|
|
8153
8596
|
shouldPreMountAudioTags: audioTagsContext !== null && audioTagsContext.numberOfAudioTags > 0,
|
|
@@ -8163,7 +8606,18 @@ var AudioRefForwardingFunction = (props, ref) => {
|
|
|
8163
8606
|
var Html5Audio = forwardRef7(AudioRefForwardingFunction);
|
|
8164
8607
|
addSequenceStackTraces(Html5Audio);
|
|
8165
8608
|
var Audio = Html5Audio;
|
|
8609
|
+
var resolveSolidPixelDensity = (pixelDensity) => {
|
|
8610
|
+
if (pixelDensity === undefined) {
|
|
8611
|
+
return 1;
|
|
8612
|
+
}
|
|
8613
|
+
if (typeof pixelDensity !== "number" || !Number.isFinite(pixelDensity) || pixelDensity <= 0) {
|
|
8614
|
+
throw new Error(`<Solid>: \`pixelDensity\` must be a positive finite number. Received: ${String(pixelDensity)}.`);
|
|
8615
|
+
}
|
|
8616
|
+
return pixelDensity;
|
|
8617
|
+
};
|
|
8166
8618
|
var solidSchema = {
|
|
8619
|
+
durationInFrames: durationInFramesField,
|
|
8620
|
+
from: fromField,
|
|
8167
8621
|
color: {
|
|
8168
8622
|
type: "color",
|
|
8169
8623
|
default: "transparent",
|
|
@@ -8174,14 +8628,16 @@ var solidSchema = {
|
|
|
8174
8628
|
min: 1,
|
|
8175
8629
|
step: 1,
|
|
8176
8630
|
default: 1920,
|
|
8177
|
-
description: "Width"
|
|
8631
|
+
description: "Width",
|
|
8632
|
+
hiddenFromList: false
|
|
8178
8633
|
},
|
|
8179
8634
|
height: {
|
|
8180
8635
|
type: "number",
|
|
8181
8636
|
min: 1,
|
|
8182
8637
|
step: 1,
|
|
8183
8638
|
default: 1080,
|
|
8184
|
-
description: "Height"
|
|
8639
|
+
description: "Height",
|
|
8640
|
+
hiddenFromList: false
|
|
8185
8641
|
},
|
|
8186
8642
|
...sequenceVisualStyleSchema,
|
|
8187
8643
|
hidden: hiddenField
|
|
@@ -8193,10 +8649,14 @@ var SolidInner = ({
|
|
|
8193
8649
|
effects = [],
|
|
8194
8650
|
className,
|
|
8195
8651
|
style,
|
|
8652
|
+
pixelDensity,
|
|
8196
8653
|
overrideId,
|
|
8197
8654
|
reference
|
|
8198
8655
|
}) => {
|
|
8199
8656
|
const { delayRender: delayRender2, continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
8657
|
+
const resolvedPixelDensity = resolveSolidPixelDensity(pixelDensity);
|
|
8658
|
+
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
8659
|
+
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
8200
8660
|
const [outputCanvas, setOutputCanvas] = useState15(null);
|
|
8201
8661
|
const memoizedEffects = useMemoizedEffects({
|
|
8202
8662
|
effects,
|
|
@@ -8242,12 +8702,12 @@ var SolidInner = ({
|
|
|
8242
8702
|
ctx.fillRect(0, 0, 1, 1);
|
|
8243
8703
|
}
|
|
8244
8704
|
runEffectChain({
|
|
8245
|
-
state: chainState.get(
|
|
8705
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
8246
8706
|
source: sourceCanvas,
|
|
8247
8707
|
effects: memoizedEffects,
|
|
8248
8708
|
output: outputCanvas,
|
|
8249
|
-
width,
|
|
8250
|
-
height
|
|
8709
|
+
width: canvasWidth,
|
|
8710
|
+
height: canvasHeight
|
|
8251
8711
|
}).then((completed) => {
|
|
8252
8712
|
if (completed) {
|
|
8253
8713
|
continueRender2(handle);
|
|
@@ -8263,19 +8723,26 @@ var SolidInner = ({
|
|
|
8263
8723
|
outputCanvas,
|
|
8264
8724
|
sourceCanvas,
|
|
8265
8725
|
chainState,
|
|
8266
|
-
|
|
8267
|
-
|
|
8726
|
+
canvasWidth,
|
|
8727
|
+
canvasHeight,
|
|
8268
8728
|
delayRender2,
|
|
8269
8729
|
continueRender2,
|
|
8270
8730
|
cancelRender2,
|
|
8271
8731
|
memoizedEffects
|
|
8272
8732
|
]);
|
|
8273
|
-
|
|
8733
|
+
const canvasStyle = useMemo29(() => {
|
|
8734
|
+
return {
|
|
8735
|
+
width,
|
|
8736
|
+
height,
|
|
8737
|
+
...style ?? {}
|
|
8738
|
+
};
|
|
8739
|
+
}, [height, style, width]);
|
|
8740
|
+
return /* @__PURE__ */ jsx24("canvas", {
|
|
8274
8741
|
ref: canvasRef,
|
|
8275
|
-
width,
|
|
8276
|
-
height,
|
|
8742
|
+
width: canvasWidth,
|
|
8743
|
+
height: canvasHeight,
|
|
8277
8744
|
className,
|
|
8278
|
-
style
|
|
8745
|
+
style: canvasStyle
|
|
8279
8746
|
});
|
|
8280
8747
|
};
|
|
8281
8748
|
var SolidOuter = forwardRef8(({
|
|
@@ -8291,6 +8758,7 @@ var SolidOuter = forwardRef8(({
|
|
|
8291
8758
|
from,
|
|
8292
8759
|
hidden,
|
|
8293
8760
|
showInTimeline,
|
|
8761
|
+
pixelDensity,
|
|
8294
8762
|
...props2
|
|
8295
8763
|
}, ref) => {
|
|
8296
8764
|
const memoizedEffectDefinitions = useMemoizedEffectDefinitions(effects);
|
|
@@ -8298,7 +8766,7 @@ var SolidOuter = forwardRef8(({
|
|
|
8298
8766
|
useImperativeHandle6(ref, () => {
|
|
8299
8767
|
return actualRef.current;
|
|
8300
8768
|
}, []);
|
|
8301
|
-
return /* @__PURE__ */
|
|
8769
|
+
return /* @__PURE__ */ jsx24(Sequence, {
|
|
8302
8770
|
layout: "none",
|
|
8303
8771
|
from,
|
|
8304
8772
|
hidden,
|
|
@@ -8310,7 +8778,7 @@ var SolidOuter = forwardRef8(({
|
|
|
8310
8778
|
_remotionInternalRefForOutline: actualRef,
|
|
8311
8779
|
_remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/solid" : undefined,
|
|
8312
8780
|
...props2,
|
|
8313
|
-
children: /* @__PURE__ */
|
|
8781
|
+
children: /* @__PURE__ */ jsx24(SolidInner, {
|
|
8314
8782
|
reference: actualRef,
|
|
8315
8783
|
overrideId: controls?.overrideId ?? null,
|
|
8316
8784
|
color,
|
|
@@ -8318,11 +8786,16 @@ var SolidOuter = forwardRef8(({
|
|
|
8318
8786
|
width,
|
|
8319
8787
|
className,
|
|
8320
8788
|
style,
|
|
8321
|
-
effects
|
|
8789
|
+
effects,
|
|
8790
|
+
pixelDensity
|
|
8322
8791
|
})
|
|
8323
8792
|
});
|
|
8324
8793
|
});
|
|
8325
|
-
var Solid = wrapInSchema(
|
|
8794
|
+
var Solid = wrapInSchema({
|
|
8795
|
+
Component: SolidOuter,
|
|
8796
|
+
schema: solidSchema,
|
|
8797
|
+
supportsEffects: true
|
|
8798
|
+
});
|
|
8326
8799
|
Solid.displayName = "Solid";
|
|
8327
8800
|
addSequenceStackTraces(Solid);
|
|
8328
8801
|
var cachedSupport = null;
|
|
@@ -8350,6 +8823,27 @@ function assertHtmlInCanvasDimensions(width, height) {
|
|
|
8350
8823
|
throw new Error(`HtmlInCanvas: \`height\` must be a positive integer. Received: ${String(height)}.`);
|
|
8351
8824
|
}
|
|
8352
8825
|
}
|
|
8826
|
+
function resolveHtmlInCanvasPixelDensity(pixelDensity) {
|
|
8827
|
+
if (pixelDensity === undefined) {
|
|
8828
|
+
return 1;
|
|
8829
|
+
}
|
|
8830
|
+
if (typeof pixelDensity !== "number" || !Number.isFinite(pixelDensity) || pixelDensity <= 0) {
|
|
8831
|
+
throw new Error(`HtmlInCanvas: \`pixelDensity\` must be a positive finite number. Received: ${String(pixelDensity)}.`);
|
|
8832
|
+
}
|
|
8833
|
+
return pixelDensity;
|
|
8834
|
+
}
|
|
8835
|
+
var resizeOffscreenCanvas = ({
|
|
8836
|
+
offscreen,
|
|
8837
|
+
width,
|
|
8838
|
+
height
|
|
8839
|
+
}) => {
|
|
8840
|
+
if (offscreen.width !== width) {
|
|
8841
|
+
offscreen.width = width;
|
|
8842
|
+
}
|
|
8843
|
+
if (offscreen.height !== height) {
|
|
8844
|
+
offscreen.height = height;
|
|
8845
|
+
}
|
|
8846
|
+
};
|
|
8353
8847
|
var defaultOnPaint = ({
|
|
8354
8848
|
canvas,
|
|
8355
8849
|
element,
|
|
@@ -8363,10 +8857,23 @@ var defaultOnPaint = ({
|
|
|
8363
8857
|
const transform = ctx.drawElementImage(elementImage, 0, 0);
|
|
8364
8858
|
element.style.transform = transform.toString();
|
|
8365
8859
|
};
|
|
8366
|
-
var HtmlInCanvasAncestorContext =
|
|
8367
|
-
var HtmlInCanvasContent = forwardRef9(({
|
|
8860
|
+
var HtmlInCanvasAncestorContext = createContext23(false);
|
|
8861
|
+
var HtmlInCanvasContent = forwardRef9(({
|
|
8862
|
+
width,
|
|
8863
|
+
height,
|
|
8864
|
+
effects,
|
|
8865
|
+
children,
|
|
8866
|
+
onPaint,
|
|
8867
|
+
onInit,
|
|
8868
|
+
pixelDensity,
|
|
8869
|
+
controls,
|
|
8870
|
+
style
|
|
8871
|
+
}, ref) => {
|
|
8368
8872
|
const isInsideAncestorHtmlInCanvas = useContext31(HtmlInCanvasAncestorContext);
|
|
8369
8873
|
assertHtmlInCanvasDimensions(width, height);
|
|
8874
|
+
const resolvedPixelDensity = resolveHtmlInCanvasPixelDensity(pixelDensity);
|
|
8875
|
+
const canvasWidth = Math.ceil(width * resolvedPixelDensity);
|
|
8876
|
+
const canvasHeight = Math.ceil(height * resolvedPixelDensity);
|
|
8370
8877
|
const { continueRender: continueRender2, cancelRender: cancelRender2 } = useDelayRender();
|
|
8371
8878
|
if (!isHtmlInCanvasSupported()) {
|
|
8372
8879
|
cancelRender2(new Error(HTML_IN_CANVAS_UNSUPPORTED_MESSAGE));
|
|
@@ -8374,7 +8881,7 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8374
8881
|
const canvas2dRef = useRef22(null);
|
|
8375
8882
|
const offscreenRef = useRef22(null);
|
|
8376
8883
|
const divRef = useRef22(null);
|
|
8377
|
-
const canvasSizeKey = `${width}x${height}`;
|
|
8884
|
+
const canvasSizeKey = `${width}x${height}@${resolvedPixelDensity}`;
|
|
8378
8885
|
const setLayoutCanvasRef = useCallback15((node) => {
|
|
8379
8886
|
canvas2dRef.current = node;
|
|
8380
8887
|
if (typeof ref === "function") {
|
|
@@ -8406,8 +8913,11 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8406
8913
|
if (!offscreen) {
|
|
8407
8914
|
throw new Error("HtmlInCanvas: offscreen canvas not ready (transferControlToOffscreen failed or canvas is remounting)");
|
|
8408
8915
|
}
|
|
8409
|
-
|
|
8410
|
-
|
|
8916
|
+
resizeOffscreenCanvas({
|
|
8917
|
+
offscreen,
|
|
8918
|
+
width: canvasWidth,
|
|
8919
|
+
height: canvasHeight
|
|
8920
|
+
});
|
|
8411
8921
|
try {
|
|
8412
8922
|
const placeholderCanvas = canvas2dRef.current;
|
|
8413
8923
|
if (!placeholderCanvas) {
|
|
@@ -8426,7 +8936,8 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8426
8936
|
const cleanup = await currentOnInit({
|
|
8427
8937
|
canvas: offscreen,
|
|
8428
8938
|
element,
|
|
8429
|
-
elementImage: initImage
|
|
8939
|
+
elementImage: initImage,
|
|
8940
|
+
pixelDensity: resolvedPixelDensity
|
|
8430
8941
|
});
|
|
8431
8942
|
if (typeof cleanup !== "function") {
|
|
8432
8943
|
throw new Error("HtmlInCanvas: when `onInit` is provided, it must return a cleanup function, or a Promise that resolves to one.");
|
|
@@ -8443,21 +8954,29 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8443
8954
|
await handler({
|
|
8444
8955
|
canvas: offscreen,
|
|
8445
8956
|
element,
|
|
8446
|
-
elementImage: elImage
|
|
8957
|
+
elementImage: elImage,
|
|
8958
|
+
pixelDensity: resolvedPixelDensity
|
|
8447
8959
|
});
|
|
8448
8960
|
await runEffectChain({
|
|
8449
|
-
state: chainState.get(
|
|
8961
|
+
state: chainState.get(canvasWidth, canvasHeight),
|
|
8450
8962
|
source: offscreen,
|
|
8451
8963
|
effects: effectsRef.current,
|
|
8452
8964
|
output: offscreen,
|
|
8453
|
-
width,
|
|
8454
|
-
height
|
|
8965
|
+
width: canvasWidth,
|
|
8966
|
+
height: canvasHeight
|
|
8455
8967
|
});
|
|
8456
8968
|
continueRender2(handle);
|
|
8457
8969
|
} catch (error2) {
|
|
8458
8970
|
cancelRender2(error2);
|
|
8459
8971
|
}
|
|
8460
|
-
}, [
|
|
8972
|
+
}, [
|
|
8973
|
+
canvasHeight,
|
|
8974
|
+
canvasWidth,
|
|
8975
|
+
chainState,
|
|
8976
|
+
continueRender2,
|
|
8977
|
+
cancelRender2,
|
|
8978
|
+
resolvedPixelDensity
|
|
8979
|
+
]);
|
|
8461
8980
|
useLayoutEffect9(() => {
|
|
8462
8981
|
const placeholder = canvas2dRef.current;
|
|
8463
8982
|
if (!placeholder) {
|
|
@@ -8466,8 +8985,11 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8466
8985
|
placeholder.layoutSubtree = true;
|
|
8467
8986
|
const offscreen = placeholder.transferControlToOffscreen();
|
|
8468
8987
|
offscreenRef.current = offscreen;
|
|
8469
|
-
|
|
8470
|
-
|
|
8988
|
+
resizeOffscreenCanvas({
|
|
8989
|
+
offscreen,
|
|
8990
|
+
width: canvasWidth,
|
|
8991
|
+
height: canvasHeight
|
|
8992
|
+
});
|
|
8471
8993
|
initializedRef.current = false;
|
|
8472
8994
|
unmountedRef.current = false;
|
|
8473
8995
|
placeholder.addEventListener("paint", onPaintCb);
|
|
@@ -8479,7 +9001,7 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8479
9001
|
onInitCleanupRef.current?.();
|
|
8480
9002
|
onInitCleanupRef.current = null;
|
|
8481
9003
|
};
|
|
8482
|
-
}, [onPaintCb, cancelRender2,
|
|
9004
|
+
}, [onPaintCb, cancelRender2, canvasWidth, canvasHeight]);
|
|
8483
9005
|
const onPaintChangedRef = useRef22(false);
|
|
8484
9006
|
useLayoutEffect9(() => {
|
|
8485
9007
|
if (!onPaintChangedRef.current) {
|
|
@@ -8511,17 +9033,24 @@ var HtmlInCanvasContent = forwardRef9(({ width, height, effects, children, onPai
|
|
|
8511
9033
|
height
|
|
8512
9034
|
};
|
|
8513
9035
|
}, [width, height]);
|
|
9036
|
+
const canvasStyle = useMemo30(() => {
|
|
9037
|
+
return {
|
|
9038
|
+
width,
|
|
9039
|
+
height,
|
|
9040
|
+
...style ?? {}
|
|
9041
|
+
};
|
|
9042
|
+
}, [height, style, width]);
|
|
8514
9043
|
if (isInsideAncestorHtmlInCanvas) {
|
|
8515
9044
|
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.");
|
|
8516
9045
|
}
|
|
8517
|
-
return /* @__PURE__ */
|
|
9046
|
+
return /* @__PURE__ */ jsx25(HtmlInCanvasAncestorContext.Provider, {
|
|
8518
9047
|
value: true,
|
|
8519
|
-
children: /* @__PURE__ */
|
|
9048
|
+
children: /* @__PURE__ */ jsx25("canvas", {
|
|
8520
9049
|
ref: setLayoutCanvasRef,
|
|
8521
|
-
width,
|
|
8522
|
-
height,
|
|
8523
|
-
style,
|
|
8524
|
-
children: /* @__PURE__ */
|
|
9050
|
+
width: canvasWidth,
|
|
9051
|
+
height: canvasHeight,
|
|
9052
|
+
style: canvasStyle,
|
|
9053
|
+
children: /* @__PURE__ */ jsx25("div", {
|
|
8525
9054
|
ref: divRef,
|
|
8526
9055
|
style: innerStyle,
|
|
8527
9056
|
children
|
|
@@ -8537,6 +9066,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
8537
9066
|
children,
|
|
8538
9067
|
onPaint,
|
|
8539
9068
|
onInit,
|
|
9069
|
+
pixelDensity,
|
|
8540
9070
|
_experimentalControls: controls,
|
|
8541
9071
|
style,
|
|
8542
9072
|
durationInFrames,
|
|
@@ -8555,7 +9085,7 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
8555
9085
|
ref.current = node;
|
|
8556
9086
|
}
|
|
8557
9087
|
}, [ref]);
|
|
8558
|
-
return /* @__PURE__ */
|
|
9088
|
+
return /* @__PURE__ */ jsx25(Sequence, {
|
|
8559
9089
|
durationInFrames: resolvedDuration,
|
|
8560
9090
|
name: name ?? "<HtmlInCanvas>",
|
|
8561
9091
|
_remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/remotion/html-in-canvas" : undefined,
|
|
@@ -8564,13 +9094,14 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
8564
9094
|
_remotionInternalRefForOutline: actualRef,
|
|
8565
9095
|
layout: "none",
|
|
8566
9096
|
...sequenceProps,
|
|
8567
|
-
children: /* @__PURE__ */
|
|
9097
|
+
children: /* @__PURE__ */ jsx25(HtmlInCanvasContent, {
|
|
8568
9098
|
ref: setCanvasRef,
|
|
8569
9099
|
width,
|
|
8570
9100
|
height,
|
|
8571
9101
|
effects,
|
|
8572
9102
|
onPaint,
|
|
8573
9103
|
onInit,
|
|
9104
|
+
pixelDensity,
|
|
8574
9105
|
controls,
|
|
8575
9106
|
style,
|
|
8576
9107
|
children
|
|
@@ -8579,10 +9110,16 @@ var HtmlInCanvasInner = forwardRef9(({
|
|
|
8579
9110
|
});
|
|
8580
9111
|
HtmlInCanvasInner.displayName = "HtmlInCanvas";
|
|
8581
9112
|
var htmlInCanvasSchema = {
|
|
9113
|
+
durationInFrames: durationInFramesField,
|
|
9114
|
+
from: fromField,
|
|
8582
9115
|
...sequenceVisualStyleSchema,
|
|
8583
9116
|
hidden: hiddenField
|
|
8584
9117
|
};
|
|
8585
|
-
var HtmlInCanvasWrapped = wrapInSchema(
|
|
9118
|
+
var HtmlInCanvasWrapped = wrapInSchema({
|
|
9119
|
+
Component: HtmlInCanvasInner,
|
|
9120
|
+
schema: htmlInCanvasSchema,
|
|
9121
|
+
supportsEffects: true
|
|
9122
|
+
});
|
|
8586
9123
|
var HtmlInCanvas = Object.assign(HtmlInCanvasWrapped, {
|
|
8587
9124
|
isSupported: isHtmlInCanvasSupported
|
|
8588
9125
|
});
|
|
@@ -8595,6 +9132,8 @@ function truncateSrcForLabel(src) {
|
|
|
8595
9132
|
return src;
|
|
8596
9133
|
}
|
|
8597
9134
|
var canvasImageSchema = {
|
|
9135
|
+
durationInFrames: durationInFramesField,
|
|
9136
|
+
from: fromField,
|
|
8598
9137
|
fit: {
|
|
8599
9138
|
type: "enum",
|
|
8600
9139
|
default: "fill",
|
|
@@ -8820,7 +9359,7 @@ var CanvasImageContent = forwardRef10(({
|
|
|
8820
9359
|
sourceCanvas,
|
|
8821
9360
|
width
|
|
8822
9361
|
]);
|
|
8823
|
-
return /* @__PURE__ */
|
|
9362
|
+
return /* @__PURE__ */ jsx26("canvas", {
|
|
8824
9363
|
...canvasProps,
|
|
8825
9364
|
ref: canvasRef,
|
|
8826
9365
|
width,
|
|
@@ -8864,7 +9403,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
8864
9403
|
useImperativeHandle7(ref, () => {
|
|
8865
9404
|
return actualRef.current;
|
|
8866
9405
|
}, []);
|
|
8867
|
-
return /* @__PURE__ */
|
|
9406
|
+
return /* @__PURE__ */ jsx26(Sequence, {
|
|
8868
9407
|
layout: "none",
|
|
8869
9408
|
from: from ?? 0,
|
|
8870
9409
|
durationInFrames: durationInFrames ?? Infinity,
|
|
@@ -8877,7 +9416,7 @@ var CanvasImageInner = forwardRef10(({
|
|
|
8877
9416
|
_remotionInternalIsMedia: { type: "image", src },
|
|
8878
9417
|
_remotionInternalStack: stack,
|
|
8879
9418
|
_remotionInternalRefForOutline: _remotionInternalRefForOutline ?? actualRef,
|
|
8880
|
-
children: /* @__PURE__ */
|
|
9419
|
+
children: /* @__PURE__ */ jsx26(CanvasImageContent, {
|
|
8881
9420
|
ref: actualRef,
|
|
8882
9421
|
src,
|
|
8883
9422
|
width,
|
|
@@ -8898,7 +9437,11 @@ var CanvasImageInner = forwardRef10(({
|
|
|
8898
9437
|
})
|
|
8899
9438
|
});
|
|
8900
9439
|
});
|
|
8901
|
-
var CanvasImage = wrapInSchema(
|
|
9440
|
+
var CanvasImage = wrapInSchema({
|
|
9441
|
+
Component: CanvasImageInner,
|
|
9442
|
+
schema: canvasImageSchema,
|
|
9443
|
+
supportsEffects: true
|
|
9444
|
+
});
|
|
8902
9445
|
CanvasImage.displayName = "CanvasImage";
|
|
8903
9446
|
addSequenceStackTraces(CanvasImage);
|
|
8904
9447
|
var IFrameRefForwarding = ({
|
|
@@ -8925,7 +9468,7 @@ var IFrameRefForwarding = ({
|
|
|
8925
9468
|
console.error("Error loading iframe:", e, "Handle the event using the onError() prop to make this message disappear.");
|
|
8926
9469
|
}
|
|
8927
9470
|
}, [handle, onError, continueRender2]);
|
|
8928
|
-
return /* @__PURE__ */
|
|
9471
|
+
return /* @__PURE__ */ jsx27("iframe", {
|
|
8929
9472
|
referrerPolicy: "strict-origin-when-cross-origin",
|
|
8930
9473
|
...props2,
|
|
8931
9474
|
ref,
|
|
@@ -9081,7 +9624,7 @@ var ImgContent = ({
|
|
|
9081
9624
|
requestsVideoFrame: false,
|
|
9082
9625
|
isClientSideRendering
|
|
9083
9626
|
});
|
|
9084
|
-
return /* @__PURE__ */
|
|
9627
|
+
return /* @__PURE__ */ jsx28("img", {
|
|
9085
9628
|
...props2,
|
|
9086
9629
|
ref: imageCallbackRef,
|
|
9087
9630
|
crossOrigin: crossOriginValue,
|
|
@@ -9104,7 +9647,7 @@ var NativeImgInner = ({
|
|
|
9104
9647
|
if (!src) {
|
|
9105
9648
|
throw new Error('No "src" prop was passed to <Img>.');
|
|
9106
9649
|
}
|
|
9107
|
-
return /* @__PURE__ */
|
|
9650
|
+
return /* @__PURE__ */ jsx28(Sequence, {
|
|
9108
9651
|
layout: "none",
|
|
9109
9652
|
from: from ?? 0,
|
|
9110
9653
|
durationInFrames: durationInFrames ?? Infinity,
|
|
@@ -9116,7 +9659,7 @@ var NativeImgInner = ({
|
|
|
9116
9659
|
showInTimeline: showInTimeline ?? true,
|
|
9117
9660
|
hidden,
|
|
9118
9661
|
_remotionInternalRefForOutline: refForOutline,
|
|
9119
|
-
children: /* @__PURE__ */
|
|
9662
|
+
children: /* @__PURE__ */ jsx28(ImgContent, {
|
|
9120
9663
|
src,
|
|
9121
9664
|
refForOutline,
|
|
9122
9665
|
...props2
|
|
@@ -9125,6 +9668,8 @@ var NativeImgInner = ({
|
|
|
9125
9668
|
};
|
|
9126
9669
|
var CanvasImageWithPrivateProps = CanvasImage;
|
|
9127
9670
|
var imgSchema = {
|
|
9671
|
+
durationInFrames: durationInFramesField,
|
|
9672
|
+
from: fromField,
|
|
9128
9673
|
...sequenceVisualStyleSchema,
|
|
9129
9674
|
hidden: hiddenField
|
|
9130
9675
|
};
|
|
@@ -9194,7 +9739,7 @@ var ImgInner = ({
|
|
|
9194
9739
|
}) => {
|
|
9195
9740
|
const refForOutline = useRef24(null);
|
|
9196
9741
|
if (effects.length === 0) {
|
|
9197
|
-
return /* @__PURE__ */
|
|
9742
|
+
return /* @__PURE__ */ jsx28(NativeImgInner, {
|
|
9198
9743
|
...props2,
|
|
9199
9744
|
ref,
|
|
9200
9745
|
hidden,
|
|
@@ -9230,7 +9775,7 @@ var ImgInner = ({
|
|
|
9230
9775
|
const canvasHeight = typeof height === "number" ? height : undefined;
|
|
9231
9776
|
const canvasProps = props2;
|
|
9232
9777
|
const canvasFit = getFitFromObjectFit(style) ?? "fill";
|
|
9233
|
-
return /* @__PURE__ */
|
|
9778
|
+
return /* @__PURE__ */ jsx28(CanvasImageWithPrivateProps, {
|
|
9234
9779
|
src,
|
|
9235
9780
|
width: canvasWidth,
|
|
9236
9781
|
height: canvasHeight,
|
|
@@ -9255,9 +9800,13 @@ var ImgInner = ({
|
|
|
9255
9800
|
...canvasProps
|
|
9256
9801
|
});
|
|
9257
9802
|
};
|
|
9258
|
-
var Img = wrapInSchema(
|
|
9803
|
+
var Img = wrapInSchema({
|
|
9804
|
+
Component: ImgInner,
|
|
9805
|
+
schema: imgSchema,
|
|
9806
|
+
supportsEffects: true
|
|
9807
|
+
});
|
|
9259
9808
|
addSequenceStackTraces(Img);
|
|
9260
|
-
var compositionsRef =
|
|
9809
|
+
var compositionsRef = React29.createRef();
|
|
9261
9810
|
var CompositionManagerProvider = ({
|
|
9262
9811
|
children,
|
|
9263
9812
|
onlyRenderComposition,
|
|
@@ -9289,14 +9838,15 @@ var CompositionManagerProvider = ({
|
|
|
9289
9838
|
return comps.filter((c2) => c2.id !== id);
|
|
9290
9839
|
});
|
|
9291
9840
|
}, []);
|
|
9292
|
-
const registerFolder = useCallback19((name, parent, nonce) => {
|
|
9841
|
+
const registerFolder = useCallback19((name, parent, nonce, stack) => {
|
|
9293
9842
|
setFolders((prevFolders) => {
|
|
9294
9843
|
return [
|
|
9295
9844
|
...prevFolders,
|
|
9296
9845
|
{
|
|
9297
9846
|
name,
|
|
9298
9847
|
parent,
|
|
9299
|
-
nonce
|
|
9848
|
+
nonce,
|
|
9849
|
+
stack
|
|
9300
9850
|
}
|
|
9301
9851
|
];
|
|
9302
9852
|
});
|
|
@@ -9335,9 +9885,9 @@ var CompositionManagerProvider = ({
|
|
|
9335
9885
|
canvasContent
|
|
9336
9886
|
};
|
|
9337
9887
|
}, [compositions, folders, currentCompositionMetadata, canvasContent]);
|
|
9338
|
-
return /* @__PURE__ */
|
|
9888
|
+
return /* @__PURE__ */ jsx29(CompositionManager.Provider, {
|
|
9339
9889
|
value: compositionManagerContextValue,
|
|
9340
|
-
children: /* @__PURE__ */
|
|
9890
|
+
children: /* @__PURE__ */ jsx29(CompositionSetters.Provider, {
|
|
9341
9891
|
value: compositionManagerSetters,
|
|
9342
9892
|
children
|
|
9343
9893
|
})
|
|
@@ -9435,7 +9985,7 @@ var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
|
|
|
9435
9985
|
var getPreviewDomElement = () => {
|
|
9436
9986
|
return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
|
|
9437
9987
|
};
|
|
9438
|
-
var MaxMediaCacheSizeContext =
|
|
9988
|
+
var MaxMediaCacheSizeContext = React30.createContext(null);
|
|
9439
9989
|
var Root = null;
|
|
9440
9990
|
var listeners = [];
|
|
9441
9991
|
var getRoot = () => {
|
|
@@ -9453,7 +10003,7 @@ var waitForRoot = (fn) => {
|
|
|
9453
10003
|
listeners = listeners.filter((l) => l !== fn);
|
|
9454
10004
|
};
|
|
9455
10005
|
};
|
|
9456
|
-
var MediaEnabledContext =
|
|
10006
|
+
var MediaEnabledContext = createContext24(null);
|
|
9457
10007
|
var useVideoEnabled = () => {
|
|
9458
10008
|
const context = useContext34(MediaEnabledContext);
|
|
9459
10009
|
if (!context) {
|
|
@@ -9480,7 +10030,7 @@ var MediaEnabledProvider = ({
|
|
|
9480
10030
|
audioEnabled
|
|
9481
10031
|
}) => {
|
|
9482
10032
|
const value = useMemo33(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
|
|
9483
|
-
return /* @__PURE__ */
|
|
10033
|
+
return /* @__PURE__ */ jsx30(MediaEnabledContext.Provider, {
|
|
9484
10034
|
value,
|
|
9485
10035
|
children
|
|
9486
10036
|
});
|
|
@@ -9504,25 +10054,25 @@ var RemotionRootContexts = ({
|
|
|
9504
10054
|
const logging = useMemo34(() => {
|
|
9505
10055
|
return { logLevel, mountTime: Date.now() };
|
|
9506
10056
|
}, [logLevel]);
|
|
9507
|
-
return /* @__PURE__ */
|
|
10057
|
+
return /* @__PURE__ */ jsx31(LogLevelContext.Provider, {
|
|
9508
10058
|
value: logging,
|
|
9509
|
-
children: /* @__PURE__ */
|
|
10059
|
+
children: /* @__PURE__ */ jsx31(NonceContext.Provider, {
|
|
9510
10060
|
value: nonceContext,
|
|
9511
|
-
children: /* @__PURE__ */
|
|
10061
|
+
children: /* @__PURE__ */ jsx31(TimelineContextProvider, {
|
|
9512
10062
|
frameState,
|
|
9513
|
-
children: /* @__PURE__ */
|
|
10063
|
+
children: /* @__PURE__ */ jsx31(MediaEnabledProvider, {
|
|
9514
10064
|
videoEnabled,
|
|
9515
10065
|
audioEnabled,
|
|
9516
|
-
children: /* @__PURE__ */
|
|
9517
|
-
children: /* @__PURE__ */
|
|
9518
|
-
children: /* @__PURE__ */
|
|
9519
|
-
children: /* @__PURE__ */
|
|
9520
|
-
children: /* @__PURE__ */
|
|
9521
|
-
children: /* @__PURE__ */
|
|
10066
|
+
children: /* @__PURE__ */ jsx31(EditorPropsProvider, {
|
|
10067
|
+
children: /* @__PURE__ */ jsx31(PrefetchProvider, {
|
|
10068
|
+
children: /* @__PURE__ */ jsx31(SequenceManagerProvider, {
|
|
10069
|
+
children: /* @__PURE__ */ jsx31(DurationsContextProvider, {
|
|
10070
|
+
children: /* @__PURE__ */ jsx31(BufferingProvider, {
|
|
10071
|
+
children: /* @__PURE__ */ jsx31(SharedAudioContextProvider, {
|
|
9522
10072
|
audioLatencyHint,
|
|
9523
10073
|
audioEnabled,
|
|
9524
10074
|
previewSampleRate,
|
|
9525
|
-
children: /* @__PURE__ */
|
|
10075
|
+
children: /* @__PURE__ */ jsx31(SharedAudioTagsContextProvider, {
|
|
9526
10076
|
numberOfAudioTags,
|
|
9527
10077
|
children
|
|
9528
10078
|
})
|
|
@@ -9708,7 +10258,7 @@ var resolveVideoConfigOrCatch = (params) => {
|
|
|
9708
10258
|
};
|
|
9709
10259
|
}
|
|
9710
10260
|
};
|
|
9711
|
-
var SequenceStackTracesUpdateContext =
|
|
10261
|
+
var SequenceStackTracesUpdateContext = React32.createContext(() => {});
|
|
9712
10262
|
var getEnvVariables = () => {
|
|
9713
10263
|
if (getRemotionEnvironment().isRendering) {
|
|
9714
10264
|
const param = window.remotion_envVariables;
|
|
@@ -9734,8 +10284,8 @@ var setupEnvVariables = () => {
|
|
|
9734
10284
|
window.process.env[key] = env[key];
|
|
9735
10285
|
});
|
|
9736
10286
|
};
|
|
9737
|
-
var CurrentScaleContext =
|
|
9738
|
-
var PreviewSizeContext =
|
|
10287
|
+
var CurrentScaleContext = React33.createContext(null);
|
|
10288
|
+
var PreviewSizeContext = createContext25({
|
|
9739
10289
|
setSize: () => {
|
|
9740
10290
|
return;
|
|
9741
10291
|
},
|
|
@@ -9758,6 +10308,7 @@ var calculateScale = ({
|
|
|
9758
10308
|
}
|
|
9759
10309
|
return Number(previewSize);
|
|
9760
10310
|
};
|
|
10311
|
+
var PixelDensityContext = React34.createContext(null);
|
|
9761
10312
|
var getOffthreadVideoSource = ({
|
|
9762
10313
|
src,
|
|
9763
10314
|
transparent,
|
|
@@ -9790,9 +10341,9 @@ var OffthreadVideoForRendering = ({
|
|
|
9790
10341
|
const frame = useCurrentFrame();
|
|
9791
10342
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior);
|
|
9792
10343
|
const videoConfig = useUnsafeVideoConfig();
|
|
9793
|
-
const sequenceContext =
|
|
10344
|
+
const sequenceContext = useContext36(SequenceContext);
|
|
9794
10345
|
const mediaStartsAt = useMediaStartsAt();
|
|
9795
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
10346
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext36(RenderAssetManager);
|
|
9796
10347
|
if (!src) {
|
|
9797
10348
|
throw new TypeError("No `src` was passed to <OffthreadVideo>.");
|
|
9798
10349
|
}
|
|
@@ -9958,7 +10509,7 @@ var OffthreadVideoForRendering = ({
|
|
|
9958
10509
|
return null;
|
|
9959
10510
|
}
|
|
9960
10511
|
continueRender2(imageSrc.handle);
|
|
9961
|
-
return /* @__PURE__ */
|
|
10512
|
+
return /* @__PURE__ */ jsx32(Img, {
|
|
9962
10513
|
src: imageSrc.src,
|
|
9963
10514
|
delayRenderRetries,
|
|
9964
10515
|
delayRenderTimeoutInMilliseconds,
|
|
@@ -9981,16 +10532,22 @@ var useEmitVideoFrame = ({
|
|
|
9981
10532
|
return;
|
|
9982
10533
|
}
|
|
9983
10534
|
let handle = 0;
|
|
9984
|
-
const callback = () => {
|
|
10535
|
+
const callback = (_now, metadata) => {
|
|
9985
10536
|
if (!ref.current) {
|
|
9986
10537
|
return;
|
|
9987
10538
|
}
|
|
9988
|
-
onVideoFrame(ref.current);
|
|
10539
|
+
onVideoFrame(ref.current, _now, metadata);
|
|
9989
10540
|
handle = ref.current.requestVideoFrameCallback(callback);
|
|
9990
10541
|
};
|
|
9991
|
-
|
|
10542
|
+
onVideoFrame(current);
|
|
10543
|
+
if (!current.requestVideoFrameCallback) {
|
|
10544
|
+
return;
|
|
10545
|
+
}
|
|
10546
|
+
handle = current.requestVideoFrameCallback(callback);
|
|
9992
10547
|
return () => {
|
|
9993
|
-
|
|
10548
|
+
if (handle) {
|
|
10549
|
+
current.cancelVideoFrameCallback(handle);
|
|
10550
|
+
}
|
|
9994
10551
|
};
|
|
9995
10552
|
}, [onVideoFrame, ref]);
|
|
9996
10553
|
};
|
|
@@ -10004,7 +10561,7 @@ class MediaPlaybackError extends Error {
|
|
|
10004
10561
|
}
|
|
10005
10562
|
}
|
|
10006
10563
|
var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
10007
|
-
const context =
|
|
10564
|
+
const context = useContext37(SharedAudioContext);
|
|
10008
10565
|
if (!context) {
|
|
10009
10566
|
throw new Error("SharedAudioContext not found");
|
|
10010
10567
|
}
|
|
@@ -10018,7 +10575,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10018
10575
|
ref: videoRef
|
|
10019
10576
|
});
|
|
10020
10577
|
}, [context.audioContext]);
|
|
10021
|
-
const effectToUse =
|
|
10578
|
+
const effectToUse = React36.useInsertionEffect ?? React36.useLayoutEffect;
|
|
10022
10579
|
effectToUse(() => {
|
|
10023
10580
|
return () => {
|
|
10024
10581
|
requestAnimationFrame(() => {
|
|
@@ -10061,7 +10618,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10061
10618
|
}
|
|
10062
10619
|
const volumePropFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
10063
10620
|
const { fps, durationInFrames } = useVideoConfig();
|
|
10064
|
-
const parentSequence =
|
|
10621
|
+
const parentSequence = useContext37(SequenceContext);
|
|
10065
10622
|
const logLevel = useLogLevel();
|
|
10066
10623
|
const mountTime = useMountTime();
|
|
10067
10624
|
const [timelineId] = useState20(() => String(Math.random()));
|
|
@@ -10222,7 +10779,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
|
|
|
10222
10779
|
requestsVideoFrame: Boolean(onVideoFrame),
|
|
10223
10780
|
isClientSideRendering: false
|
|
10224
10781
|
});
|
|
10225
|
-
return /* @__PURE__ */
|
|
10782
|
+
return /* @__PURE__ */ jsx33("video", {
|
|
10226
10783
|
ref: videoRef,
|
|
10227
10784
|
muted: muted || mediaMuted || userPreferredVolume <= 0,
|
|
10228
10785
|
playsInline: true,
|
|
@@ -10265,13 +10822,13 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
10265
10822
|
trimAfter
|
|
10266
10823
|
});
|
|
10267
10824
|
if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
|
|
10268
|
-
return /* @__PURE__ */
|
|
10825
|
+
return /* @__PURE__ */ jsx34(Sequence, {
|
|
10269
10826
|
layout: "none",
|
|
10270
10827
|
from: 0 - (trimBeforeValue ?? 0),
|
|
10271
10828
|
showInTimeline: false,
|
|
10272
10829
|
durationInFrames: trimAfterValue,
|
|
10273
10830
|
name,
|
|
10274
|
-
children: /* @__PURE__ */
|
|
10831
|
+
children: /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
|
|
10275
10832
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
10276
10833
|
...otherProps,
|
|
10277
10834
|
trimAfter: undefined,
|
|
@@ -10286,7 +10843,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
10286
10843
|
}
|
|
10287
10844
|
validateMediaProps(props2, "Video");
|
|
10288
10845
|
if (environment.isRendering) {
|
|
10289
|
-
return /* @__PURE__ */
|
|
10846
|
+
return /* @__PURE__ */ jsx34(OffthreadVideoForRendering, {
|
|
10290
10847
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
10291
10848
|
...otherProps,
|
|
10292
10849
|
trimAfter: undefined,
|
|
@@ -10308,7 +10865,7 @@ var InnerOffthreadVideo = (props2) => {
|
|
|
10308
10865
|
delayRenderTimeoutInMilliseconds,
|
|
10309
10866
|
...propsForPreview
|
|
10310
10867
|
} = otherProps;
|
|
10311
|
-
return /* @__PURE__ */
|
|
10868
|
+
return /* @__PURE__ */ jsx34(VideoForPreview, {
|
|
10312
10869
|
_remotionInternalStack: stack ?? null,
|
|
10313
10870
|
onDuration,
|
|
10314
10871
|
onlyWarnForMediaSeekingError: true,
|
|
@@ -10326,11 +10883,9 @@ var OffthreadVideo = ({
|
|
|
10326
10883
|
acceptableTimeShiftInSeconds,
|
|
10327
10884
|
allowAmplificationDuringRender,
|
|
10328
10885
|
audioStreamIndex,
|
|
10329
|
-
className,
|
|
10330
10886
|
crossOrigin,
|
|
10331
10887
|
delayRenderRetries,
|
|
10332
10888
|
delayRenderTimeoutInMilliseconds,
|
|
10333
|
-
id,
|
|
10334
10889
|
loopVolumeCurveBehavior,
|
|
10335
10890
|
muted,
|
|
10336
10891
|
name,
|
|
@@ -10353,20 +10908,19 @@ var OffthreadVideo = ({
|
|
|
10353
10908
|
endAt,
|
|
10354
10909
|
stack,
|
|
10355
10910
|
startFrom,
|
|
10356
|
-
imageFormat
|
|
10911
|
+
imageFormat,
|
|
10912
|
+
...props2
|
|
10357
10913
|
}) => {
|
|
10358
10914
|
if (imageFormat) {
|
|
10359
10915
|
throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
|
|
10360
10916
|
}
|
|
10361
|
-
return /* @__PURE__ */
|
|
10917
|
+
return /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
|
|
10362
10918
|
acceptableTimeShiftInSeconds,
|
|
10363
10919
|
allowAmplificationDuringRender: allowAmplificationDuringRender ?? true,
|
|
10364
10920
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
10365
|
-
className,
|
|
10366
10921
|
crossOrigin,
|
|
10367
10922
|
delayRenderRetries,
|
|
10368
10923
|
delayRenderTimeoutInMilliseconds,
|
|
10369
|
-
id,
|
|
10370
10924
|
loopVolumeCurveBehavior: loopVolumeCurveBehavior ?? "repeat",
|
|
10371
10925
|
muted: muted ?? false,
|
|
10372
10926
|
name,
|
|
@@ -10389,24 +10943,25 @@ var OffthreadVideo = ({
|
|
|
10389
10943
|
trimAfter,
|
|
10390
10944
|
trimBefore,
|
|
10391
10945
|
useWebAudioApi: useWebAudioApi ?? false,
|
|
10392
|
-
volume
|
|
10946
|
+
volume,
|
|
10947
|
+
...props2
|
|
10393
10948
|
});
|
|
10394
10949
|
};
|
|
10395
10950
|
addSequenceStackTraces(OffthreadVideo);
|
|
10396
10951
|
var WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged";
|
|
10397
10952
|
function useRemotionContexts() {
|
|
10398
|
-
const compositionManagerCtx =
|
|
10399
|
-
const timelineContext =
|
|
10400
|
-
const setTimelineContext =
|
|
10401
|
-
const sequenceContext =
|
|
10402
|
-
const nonceContext =
|
|
10403
|
-
const canUseRemotionHooksContext =
|
|
10404
|
-
const preloadContext =
|
|
10405
|
-
const resolveCompositionContext =
|
|
10406
|
-
const renderAssetManagerContext =
|
|
10407
|
-
const sequenceManagerContext =
|
|
10408
|
-
const bufferManagerContext =
|
|
10409
|
-
const logLevelContext =
|
|
10953
|
+
const compositionManagerCtx = React38.useContext(CompositionManager);
|
|
10954
|
+
const timelineContext = React38.useContext(TimelineContext);
|
|
10955
|
+
const setTimelineContext = React38.useContext(SetTimelineContext);
|
|
10956
|
+
const sequenceContext = React38.useContext(SequenceContext);
|
|
10957
|
+
const nonceContext = React38.useContext(NonceContext);
|
|
10958
|
+
const canUseRemotionHooksContext = React38.useContext(CanUseRemotionHooks);
|
|
10959
|
+
const preloadContext = React38.useContext(PreloadContext);
|
|
10960
|
+
const resolveCompositionContext = React38.useContext(ResolveCompositionContext);
|
|
10961
|
+
const renderAssetManagerContext = React38.useContext(RenderAssetManager);
|
|
10962
|
+
const sequenceManagerContext = React38.useContext(SequenceManager);
|
|
10963
|
+
const bufferManagerContext = React38.useContext(BufferingContextReact);
|
|
10964
|
+
const logLevelContext = React38.useContext(LogLevelContext);
|
|
10410
10965
|
return useMemo37(() => ({
|
|
10411
10966
|
compositionManagerCtx,
|
|
10412
10967
|
timelineContext,
|
|
@@ -10437,29 +10992,29 @@ function useRemotionContexts() {
|
|
|
10437
10992
|
}
|
|
10438
10993
|
var RemotionContextProvider = (props2) => {
|
|
10439
10994
|
const { children, contexts } = props2;
|
|
10440
|
-
return /* @__PURE__ */
|
|
10995
|
+
return /* @__PURE__ */ jsx35(LogLevelContext.Provider, {
|
|
10441
10996
|
value: contexts.logLevelContext,
|
|
10442
|
-
children: /* @__PURE__ */
|
|
10997
|
+
children: /* @__PURE__ */ jsx35(CanUseRemotionHooks.Provider, {
|
|
10443
10998
|
value: contexts.canUseRemotionHooksContext,
|
|
10444
|
-
children: /* @__PURE__ */
|
|
10999
|
+
children: /* @__PURE__ */ jsx35(NonceContext.Provider, {
|
|
10445
11000
|
value: contexts.nonceContext,
|
|
10446
|
-
children: /* @__PURE__ */
|
|
11001
|
+
children: /* @__PURE__ */ jsx35(PreloadContext.Provider, {
|
|
10447
11002
|
value: contexts.preloadContext,
|
|
10448
|
-
children: /* @__PURE__ */
|
|
11003
|
+
children: /* @__PURE__ */ jsx35(CompositionManager.Provider, {
|
|
10449
11004
|
value: contexts.compositionManagerCtx,
|
|
10450
|
-
children: /* @__PURE__ */
|
|
11005
|
+
children: /* @__PURE__ */ jsx35(SequenceManager.Provider, {
|
|
10451
11006
|
value: contexts.sequenceManagerContext,
|
|
10452
|
-
children: /* @__PURE__ */
|
|
11007
|
+
children: /* @__PURE__ */ jsx35(RenderAssetManager.Provider, {
|
|
10453
11008
|
value: contexts.renderAssetManagerContext,
|
|
10454
|
-
children: /* @__PURE__ */
|
|
11009
|
+
children: /* @__PURE__ */ jsx35(ResolveCompositionContext.Provider, {
|
|
10455
11010
|
value: contexts.resolveCompositionContext,
|
|
10456
|
-
children: /* @__PURE__ */
|
|
11011
|
+
children: /* @__PURE__ */ jsx35(TimelineContext.Provider, {
|
|
10457
11012
|
value: contexts.timelineContext,
|
|
10458
|
-
children: /* @__PURE__ */
|
|
11013
|
+
children: /* @__PURE__ */ jsx35(SetTimelineContext.Provider, {
|
|
10459
11014
|
value: contexts.setTimelineContext,
|
|
10460
|
-
children: /* @__PURE__ */
|
|
11015
|
+
children: /* @__PURE__ */ jsx35(SequenceContext.Provider, {
|
|
10461
11016
|
value: contexts.sequenceContext,
|
|
10462
|
-
children: /* @__PURE__ */
|
|
11017
|
+
children: /* @__PURE__ */ jsx35(BufferingContextReact.Provider, {
|
|
10463
11018
|
value: contexts.bufferManagerContext,
|
|
10464
11019
|
children
|
|
10465
11020
|
})
|
|
@@ -10499,6 +11054,7 @@ var Internals = {
|
|
|
10499
11054
|
SequenceStackTracesUpdateContext,
|
|
10500
11055
|
wrapInSchema,
|
|
10501
11056
|
sequenceSchema,
|
|
11057
|
+
SequenceWithoutSchema,
|
|
10502
11058
|
sequenceStyleSchema,
|
|
10503
11059
|
sequenceVisualStyleSchema,
|
|
10504
11060
|
sequencePremountSchema,
|
|
@@ -10527,8 +11083,10 @@ var Internals = {
|
|
|
10527
11083
|
SharedAudioTagsContext,
|
|
10528
11084
|
SharedAudioTagsContextProvider,
|
|
10529
11085
|
invalidCompositionErrorMessage,
|
|
11086
|
+
invalidFolderNameErrorMessage,
|
|
10530
11087
|
calculateMediaDuration,
|
|
10531
11088
|
isCompositionIdValid,
|
|
11089
|
+
isFolderNameValid,
|
|
10532
11090
|
getPreviewDomElement,
|
|
10533
11091
|
compositionsRef,
|
|
10534
11092
|
portalNode,
|
|
@@ -10563,6 +11121,7 @@ var Internals = {
|
|
|
10563
11121
|
BufferingContextReact,
|
|
10564
11122
|
getComponentsToAddStacksTo,
|
|
10565
11123
|
CurrentScaleContext,
|
|
11124
|
+
PixelDensityContext,
|
|
10566
11125
|
PreviewSizeContext,
|
|
10567
11126
|
calculateScale,
|
|
10568
11127
|
validateRenderAsset,
|
|
@@ -10602,13 +11161,19 @@ var Internals = {
|
|
|
10602
11161
|
createWebGL2ContextError,
|
|
10603
11162
|
computeEffectiveSchemaValuesDotNotation,
|
|
10604
11163
|
interpolateKeyframedStatus,
|
|
11164
|
+
makeStaticDragOverride,
|
|
11165
|
+
makeKeyframedDragOverride,
|
|
11166
|
+
resolveDragOverrideValue,
|
|
11167
|
+
getStaticDragOverrideValue,
|
|
10605
11168
|
OverrideIdsToNodePathsGettersContext,
|
|
10606
11169
|
OverrideIdsToNodePathsSettersContext,
|
|
10607
11170
|
findPropsToDelete,
|
|
10608
11171
|
makeSequencePropsSubscriptionKey,
|
|
10609
11172
|
getCodeValuesCtx,
|
|
10610
11173
|
getEffectCodeValuesCtx,
|
|
10611
|
-
hiddenField
|
|
11174
|
+
hiddenField,
|
|
11175
|
+
durationInFramesField,
|
|
11176
|
+
fromField
|
|
10612
11177
|
};
|
|
10613
11178
|
var validateFrame = ({
|
|
10614
11179
|
allowFloats,
|
|
@@ -10635,34 +11200,15 @@ var validateFrame = ({
|
|
|
10635
11200
|
}
|
|
10636
11201
|
};
|
|
10637
11202
|
var flattenChildren = (children) => {
|
|
10638
|
-
const childrenArray =
|
|
11203
|
+
const childrenArray = React39.Children.toArray(children);
|
|
10639
11204
|
return childrenArray.reduce((flatChildren, child) => {
|
|
10640
|
-
if (child.type ===
|
|
11205
|
+
if (child.type === React39.Fragment) {
|
|
10641
11206
|
return flatChildren.concat(flattenChildren(child.props.children));
|
|
10642
11207
|
}
|
|
10643
11208
|
flatChildren.push(child);
|
|
10644
11209
|
return flatChildren;
|
|
10645
11210
|
}, []);
|
|
10646
11211
|
};
|
|
10647
|
-
var IsInsideSeriesContext = createContext25(false);
|
|
10648
|
-
var IsInsideSeriesContainer = ({ children }) => {
|
|
10649
|
-
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
10650
|
-
value: true,
|
|
10651
|
-
children
|
|
10652
|
-
});
|
|
10653
|
-
};
|
|
10654
|
-
var IsNotInsideSeriesProvider = ({ children }) => {
|
|
10655
|
-
return /* @__PURE__ */ jsx35(IsInsideSeriesContext.Provider, {
|
|
10656
|
-
value: false,
|
|
10657
|
-
children
|
|
10658
|
-
});
|
|
10659
|
-
};
|
|
10660
|
-
var useRequireToBeInsideSeries = () => {
|
|
10661
|
-
const isInsideSeries = React38.useContext(IsInsideSeriesContext);
|
|
10662
|
-
if (!isInsideSeries) {
|
|
10663
|
-
throw new Error("This component must be inside a <Series /> component.");
|
|
10664
|
-
}
|
|
10665
|
-
};
|
|
10666
11212
|
var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
10667
11213
|
useRequireToBeInsideSeries();
|
|
10668
11214
|
return /* @__PURE__ */ jsx36(IsNotInsideSeriesProvider, {
|
|
@@ -10670,6 +11216,7 @@ var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
|
|
|
10670
11216
|
});
|
|
10671
11217
|
};
|
|
10672
11218
|
var SeriesSequence = forwardRef13(SeriesSequenceRefForwardingFunction);
|
|
11219
|
+
var SequenceWithoutSchemaWithRef = SequenceWithoutSchema;
|
|
10673
11220
|
var SeriesInner = (props2) => {
|
|
10674
11221
|
const childrenValue = useMemo38(() => {
|
|
10675
11222
|
let startFrame = 0;
|
|
@@ -10712,13 +11259,13 @@ var SeriesInner = (props2) => {
|
|
|
10712
11259
|
}
|
|
10713
11260
|
const currentStartFrame = startFrame + offset;
|
|
10714
11261
|
startFrame += durationInFramesProp + offset;
|
|
10715
|
-
return /* @__PURE__ */ jsx36(
|
|
11262
|
+
return /* @__PURE__ */ jsx36(SequenceWithoutSchemaWithRef, {
|
|
11263
|
+
ref: castedChild.ref,
|
|
10716
11264
|
name: name || "<Series.Sequence>",
|
|
10717
11265
|
_remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
|
|
10718
11266
|
from: currentStartFrame,
|
|
10719
11267
|
durationInFrames: durationInFramesProp,
|
|
10720
11268
|
...passedProps,
|
|
10721
|
-
ref: castedChild.ref,
|
|
10722
11269
|
children: child
|
|
10723
11270
|
});
|
|
10724
11271
|
});
|
|
@@ -10733,11 +11280,14 @@ var SeriesInner = (props2) => {
|
|
|
10733
11280
|
})
|
|
10734
11281
|
});
|
|
10735
11282
|
};
|
|
10736
|
-
var Series = Object.assign(wrapInSchema(
|
|
11283
|
+
var Series = Object.assign(wrapInSchema({
|
|
11284
|
+
Component: SeriesInner,
|
|
11285
|
+
schema: sequenceSchemaDefaultLayoutNone,
|
|
11286
|
+
supportsEffects: false
|
|
11287
|
+
}), {
|
|
10737
11288
|
Sequence: SeriesSequence
|
|
10738
11289
|
});
|
|
10739
11290
|
addSequenceStackTraces(Series);
|
|
10740
|
-
addSequenceStackTraces(SeriesSequence);
|
|
10741
11291
|
var validateSpringDuration = (dur) => {
|
|
10742
11292
|
if (typeof dur === "undefined") {
|
|
10743
11293
|
return;
|
|
@@ -11204,13 +11754,13 @@ var VideoForRenderingForwardFunction = ({
|
|
|
11204
11754
|
const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
|
|
11205
11755
|
const videoConfig = useUnsafeVideoConfig();
|
|
11206
11756
|
const videoRef = useRef27(null);
|
|
11207
|
-
const sequenceContext =
|
|
11757
|
+
const sequenceContext = useContext38(SequenceContext);
|
|
11208
11758
|
const mediaStartsAt = useMediaStartsAt();
|
|
11209
11759
|
const environment = useRemotionEnvironment();
|
|
11210
11760
|
const logLevel = useLogLevel();
|
|
11211
11761
|
const mountTime = useMountTime();
|
|
11212
11762
|
const { delayRender: delayRender2, continueRender: continueRender2 } = useDelayRender();
|
|
11213
|
-
const { registerRenderAsset, unregisterRenderAsset } =
|
|
11763
|
+
const { registerRenderAsset, unregisterRenderAsset } = useContext38(RenderAssetManager);
|
|
11214
11764
|
const id = useMemo39(() => `video-${random(props2.src ?? "")}-${sequenceContext?.cumulatedFrom}-${sequenceContext?.relativeFrom}-${sequenceContext?.durationInFrames}`, [
|
|
11215
11765
|
props2.src,
|
|
11216
11766
|
sequenceContext?.cumulatedFrom,
|
|
@@ -11269,6 +11819,7 @@ var VideoForRenderingForwardFunction = ({
|
|
|
11269
11819
|
useImperativeHandle10(ref, () => {
|
|
11270
11820
|
return videoRef.current;
|
|
11271
11821
|
}, []);
|
|
11822
|
+
useEmitVideoFrame({ ref: videoRef, onVideoFrame });
|
|
11272
11823
|
useEffect21(() => {
|
|
11273
11824
|
if (!window.remotion_videoEnabled) {
|
|
11274
11825
|
return;
|
|
@@ -11412,6 +11963,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
11412
11963
|
_remotionInternalNativeLoopPassed,
|
|
11413
11964
|
showInTimeline,
|
|
11414
11965
|
onAutoPlayError,
|
|
11966
|
+
onVideoFrame,
|
|
11415
11967
|
...otherProps
|
|
11416
11968
|
} = props2;
|
|
11417
11969
|
const { loop, ...propsOtherThanLoop } = props2;
|
|
@@ -11420,7 +11972,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
11420
11972
|
if (environment.isClientSideRendering) {
|
|
11421
11973
|
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");
|
|
11422
11974
|
}
|
|
11423
|
-
const { durations, setDurations } =
|
|
11975
|
+
const { durations, setDurations } = useContext39(DurationsContext);
|
|
11424
11976
|
if (typeof ref === "string") {
|
|
11425
11977
|
throw new Error("string refs are not supported");
|
|
11426
11978
|
}
|
|
@@ -11431,7 +11983,6 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
11431
11983
|
const onDuration = useCallback23((src, durationInSeconds) => {
|
|
11432
11984
|
setDurations({ type: "got-duration", durationInSeconds, src });
|
|
11433
11985
|
}, [setDurations]);
|
|
11434
|
-
const onVideoFrame = useCallback23(() => {}, []);
|
|
11435
11986
|
const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
|
|
11436
11987
|
validateMediaTrimProps({ startFrom, endAt, trimBefore, trimAfter });
|
|
11437
11988
|
const { trimBeforeValue, trimAfterValue } = resolveTrimProps({
|
|
@@ -11477,6 +12028,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
11477
12028
|
name,
|
|
11478
12029
|
children: /* @__PURE__ */ jsx38(Html5Video, {
|
|
11479
12030
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
12031
|
+
onVideoFrame,
|
|
11480
12032
|
...otherProps,
|
|
11481
12033
|
ref,
|
|
11482
12034
|
stack
|
|
@@ -11500,7 +12052,7 @@ var VideoForwardingFunction = (props2, ref) => {
|
|
|
11500
12052
|
onlyWarnForMediaSeekingError: false,
|
|
11501
12053
|
...otherProps,
|
|
11502
12054
|
ref,
|
|
11503
|
-
onVideoFrame: null,
|
|
12055
|
+
onVideoFrame: onVideoFrame ?? null,
|
|
11504
12056
|
pauseWhenBuffering: pauseWhenBuffering ?? false,
|
|
11505
12057
|
onDuration,
|
|
11506
12058
|
_remotionInternalStack: stack ?? null,
|
|
@@ -11535,6 +12087,7 @@ var Config = new Proxy(proxyObj, {
|
|
|
11535
12087
|
Sequence.displayName = "Sequence";
|
|
11536
12088
|
addSequenceStackTraces(Sequence);
|
|
11537
12089
|
addSequenceStackTraces(Composition);
|
|
12090
|
+
addSequenceStackTraces(Folder);
|
|
11538
12091
|
|
|
11539
12092
|
// src/components/team/TeamCards.tsx
|
|
11540
12093
|
import { jsx as jsx39, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
@@ -11972,7 +12525,7 @@ var ExpertsPageContent = ({ Link }) => {
|
|
|
11972
12525
|
});
|
|
11973
12526
|
};
|
|
11974
12527
|
// ../design/dist/esm/index.mjs
|
|
11975
|
-
import * as
|
|
12528
|
+
import * as React23 from "react";
|
|
11976
12529
|
import * as React8 from "react";
|
|
11977
12530
|
import { Fragment as Fragment22, jsx as jsx45 } from "react/jsx-runtime";
|
|
11978
12531
|
import React52, { useCallback as useCallback25, useRef as useRef28, useState as useState22 } from "react";
|
|
@@ -13317,7 +13870,7 @@ var getDefaultConfig = () => {
|
|
|
13317
13870
|
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
13318
13871
|
|
|
13319
13872
|
// ../design/dist/esm/index.mjs
|
|
13320
|
-
import
|
|
13873
|
+
import React35, { useEffect as useEffect22, useMemo as useMemo43, useState as useState21 } from "react";
|
|
13321
13874
|
|
|
13322
13875
|
// ../paths/dist/esm/index.mjs
|
|
13323
13876
|
var cutLInstruction = ({
|
|
@@ -17680,15 +18233,15 @@ import { Fragment as Fragment5, jsx as jsx142 } from "react/jsx-runtime";
|
|
|
17680
18233
|
import { jsx as jsx152 } from "react/jsx-runtime";
|
|
17681
18234
|
import * as React122 from "react";
|
|
17682
18235
|
import { jsx as jsx162 } from "react/jsx-runtime";
|
|
17683
|
-
import * as
|
|
17684
|
-
import * as
|
|
18236
|
+
import * as React162 from "react";
|
|
18237
|
+
import * as React132 from "react";
|
|
17685
18238
|
import * as ReactDOM from "react-dom";
|
|
17686
18239
|
import { jsx as jsx172 } from "react/jsx-runtime";
|
|
17687
|
-
import * as
|
|
18240
|
+
import * as React14 from "react";
|
|
17688
18241
|
import * as React152 from "react";
|
|
17689
18242
|
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
17690
18243
|
import * as React17 from "react";
|
|
17691
|
-
import * as
|
|
18244
|
+
import * as React18 from "react";
|
|
17692
18245
|
import { jsx as jsx192 } from "react/jsx-runtime";
|
|
17693
18246
|
import * as React202 from "react";
|
|
17694
18247
|
import * as React192 from "react";
|
|
@@ -17698,41 +18251,41 @@ import { useLayoutEffect as useLayoutEffect32, useEffect as useEffect82 } from "
|
|
|
17698
18251
|
import * as ReactDOM2 from "react-dom";
|
|
17699
18252
|
import * as React222 from "react";
|
|
17700
18253
|
import { jsx as jsx202 } from "react/jsx-runtime";
|
|
17701
|
-
import * as
|
|
18254
|
+
import * as React232 from "react";
|
|
17702
18255
|
import { jsx as jsx213 } from "react/jsx-runtime";
|
|
17703
18256
|
import * as React25 from "react";
|
|
17704
18257
|
import ReactDOM3 from "react-dom";
|
|
17705
18258
|
import { jsx as jsx223 } from "react/jsx-runtime";
|
|
17706
18259
|
import * as React26 from "react";
|
|
17707
18260
|
import * as React27 from "react";
|
|
17708
|
-
import * as
|
|
18261
|
+
import * as React28 from "react";
|
|
17709
18262
|
import { jsx as jsx232 } from "react/jsx-runtime";
|
|
17710
|
-
import * as
|
|
17711
|
-
import * as
|
|
18263
|
+
import * as React352 from "react";
|
|
18264
|
+
import * as React31 from "react";
|
|
17712
18265
|
import { useState as useState112 } from "react";
|
|
17713
18266
|
import * as React292 from "react";
|
|
17714
|
-
import * as
|
|
18267
|
+
import * as React302 from "react";
|
|
17715
18268
|
import * as React342 from "react";
|
|
17716
18269
|
import * as React332 from "react";
|
|
17717
18270
|
import * as React322 from "react";
|
|
17718
18271
|
import { Fragment as Fragment8, jsx as jsx242, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
17719
18272
|
import { forwardRef as forwardRef142, createElement as createElement7 } from "react";
|
|
17720
18273
|
import { forwardRef as forwardRef132, createElement as createElement6 } from "react";
|
|
17721
|
-
import * as
|
|
18274
|
+
import * as React37 from "react";
|
|
17722
18275
|
import { jsx as jsx252, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
17723
18276
|
import { jsx as jsx262 } from "react/jsx-runtime";
|
|
17724
18277
|
import * as React49 from "react";
|
|
17725
18278
|
import * as React382 from "react";
|
|
17726
18279
|
import { jsx as jsx272 } from "react/jsx-runtime";
|
|
17727
18280
|
import * as React47 from "react";
|
|
17728
|
-
import
|
|
17729
|
-
import * as
|
|
18281
|
+
import React40 from "react";
|
|
18282
|
+
import * as React392 from "react";
|
|
17730
18283
|
import { Fragment as Fragment222, jsx as jsx282 } from "react/jsx-runtime";
|
|
17731
18284
|
import { jsx as jsx292 } from "react/jsx-runtime";
|
|
17732
18285
|
import React210 from "react";
|
|
17733
18286
|
import { jsx as jsx2102 } from "react/jsx-runtime";
|
|
17734
18287
|
import * as React42 from "react";
|
|
17735
|
-
import * as
|
|
18288
|
+
import * as React412 from "react";
|
|
17736
18289
|
import * as React43 from "react";
|
|
17737
18290
|
import * as ReactDOM5 from "react-dom";
|
|
17738
18291
|
import { jsx as jsx302 } from "react/jsx-runtime";
|
|
@@ -17785,7 +18338,7 @@ function useComposedRefs(...refs) {
|
|
|
17785
18338
|
return React8.useCallback(composeRefs(...refs), refs);
|
|
17786
18339
|
}
|
|
17787
18340
|
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
|
17788
|
-
var use =
|
|
18341
|
+
var use = React23[" use ".trim().toString()];
|
|
17789
18342
|
function isPromiseLike(value) {
|
|
17790
18343
|
return typeof value === "object" && value !== null && "then" in value;
|
|
17791
18344
|
}
|
|
@@ -17794,25 +18347,25 @@ function isLazyComponent(element) {
|
|
|
17794
18347
|
}
|
|
17795
18348
|
function createSlot(ownerName) {
|
|
17796
18349
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
17797
|
-
const Slot2 =
|
|
18350
|
+
const Slot2 = React23.forwardRef((props, forwardedRef) => {
|
|
17798
18351
|
let { children, ...slotProps } = props;
|
|
17799
18352
|
if (isLazyComponent(children) && typeof use === "function") {
|
|
17800
18353
|
children = use(children._payload);
|
|
17801
18354
|
}
|
|
17802
|
-
const childrenArray =
|
|
18355
|
+
const childrenArray = React23.Children.toArray(children);
|
|
17803
18356
|
const slottable = childrenArray.find(isSlottable);
|
|
17804
18357
|
if (slottable) {
|
|
17805
18358
|
const newElement = slottable.props.children;
|
|
17806
18359
|
const newChildren = childrenArray.map((child) => {
|
|
17807
18360
|
if (child === slottable) {
|
|
17808
|
-
if (
|
|
17809
|
-
return
|
|
17810
|
-
return
|
|
18361
|
+
if (React23.Children.count(newElement) > 1)
|
|
18362
|
+
return React23.Children.only(null);
|
|
18363
|
+
return React23.isValidElement(newElement) ? newElement.props.children : null;
|
|
17811
18364
|
} else {
|
|
17812
18365
|
return child;
|
|
17813
18366
|
}
|
|
17814
18367
|
});
|
|
17815
|
-
return /* @__PURE__ */ jsx45(SlotClone, { ...slotProps, ref: forwardedRef, children:
|
|
18368
|
+
return /* @__PURE__ */ jsx45(SlotClone, { ...slotProps, ref: forwardedRef, children: React23.isValidElement(newElement) ? React23.cloneElement(newElement, undefined, newChildren) : null });
|
|
17816
18369
|
}
|
|
17817
18370
|
return /* @__PURE__ */ jsx45(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
17818
18371
|
});
|
|
@@ -17821,20 +18374,20 @@ function createSlot(ownerName) {
|
|
|
17821
18374
|
}
|
|
17822
18375
|
var Slot = /* @__PURE__ */ createSlot("Slot");
|
|
17823
18376
|
function createSlotClone(ownerName) {
|
|
17824
|
-
const SlotClone =
|
|
18377
|
+
const SlotClone = React23.forwardRef((props, forwardedRef) => {
|
|
17825
18378
|
let { children, ...slotProps } = props;
|
|
17826
18379
|
if (isLazyComponent(children) && typeof use === "function") {
|
|
17827
18380
|
children = use(children._payload);
|
|
17828
18381
|
}
|
|
17829
|
-
if (
|
|
18382
|
+
if (React23.isValidElement(children)) {
|
|
17830
18383
|
const childrenRef = getElementRef(children);
|
|
17831
18384
|
const props2 = mergeProps(slotProps, children.props);
|
|
17832
|
-
if (children.type !==
|
|
18385
|
+
if (children.type !== React23.Fragment) {
|
|
17833
18386
|
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
17834
18387
|
}
|
|
17835
|
-
return
|
|
18388
|
+
return React23.cloneElement(children, props2);
|
|
17836
18389
|
}
|
|
17837
|
-
return
|
|
18390
|
+
return React23.Children.count(children) > 1 ? React23.Children.only(null) : null;
|
|
17838
18391
|
});
|
|
17839
18392
|
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
17840
18393
|
return SlotClone;
|
|
@@ -17850,7 +18403,7 @@ function createSlottable(ownerName) {
|
|
|
17850
18403
|
}
|
|
17851
18404
|
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
|
17852
18405
|
function isSlottable(child) {
|
|
17853
|
-
return
|
|
18406
|
+
return React23.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
17854
18407
|
}
|
|
17855
18408
|
function mergeProps(slotProps, childProps) {
|
|
17856
18409
|
const overrideProps = { ...childProps };
|
|
@@ -17907,7 +18460,7 @@ var getChildNodeFrom = (htmlElement) => {
|
|
|
17907
18460
|
return childNode;
|
|
17908
18461
|
};
|
|
17909
18462
|
var useHoverTransforms = (ref, disabled) => {
|
|
17910
|
-
const [state, setState] =
|
|
18463
|
+
const [state, setState] = React35.useState({
|
|
17911
18464
|
progress: 0,
|
|
17912
18465
|
isActive: false
|
|
17913
18466
|
});
|
|
@@ -17919,7 +18472,7 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
17919
18472
|
eventTarget.dispatchEvent(new Event("enabled"));
|
|
17920
18473
|
}
|
|
17921
18474
|
}, [disabled, eventTarget]);
|
|
17922
|
-
|
|
18475
|
+
React35.useEffect(() => {
|
|
17923
18476
|
const element = ref.current;
|
|
17924
18477
|
if (!element)
|
|
17925
18478
|
return;
|
|
@@ -17994,8 +18547,8 @@ var useHoverTransforms = (ref, disabled) => {
|
|
|
17994
18547
|
return state;
|
|
17995
18548
|
};
|
|
17996
18549
|
var useClickTransforms = (ref) => {
|
|
17997
|
-
const [hoverProgress, setHoverProgress] =
|
|
17998
|
-
|
|
18550
|
+
const [hoverProgress, setHoverProgress] = React35.useState(0);
|
|
18551
|
+
React35.useEffect(() => {
|
|
17999
18552
|
const element = getChildNodeFrom(ref.current);
|
|
18000
18553
|
if (!element) {
|
|
18001
18554
|
return;
|
|
@@ -18723,7 +19276,7 @@ var NODES = [
|
|
|
18723
19276
|
"ul"
|
|
18724
19277
|
];
|
|
18725
19278
|
var Primitive = NODES.reduce((primitive, node) => {
|
|
18726
|
-
const Node2 =
|
|
19279
|
+
const Node2 = React132.forwardRef((props, forwardedRef) => {
|
|
18727
19280
|
const { asChild, ...primitiveProps } = props;
|
|
18728
19281
|
const Comp = asChild ? Slot2 : node;
|
|
18729
19282
|
if (typeof window !== "undefined") {
|
|
@@ -18739,11 +19292,11 @@ function dispatchDiscreteCustomEvent(target, event) {
|
|
|
18739
19292
|
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
18740
19293
|
}
|
|
18741
19294
|
function useCallbackRef(callback) {
|
|
18742
|
-
const callbackRef =
|
|
18743
|
-
|
|
19295
|
+
const callbackRef = React14.useRef(callback);
|
|
19296
|
+
React14.useEffect(() => {
|
|
18744
19297
|
callbackRef.current = callback;
|
|
18745
19298
|
});
|
|
18746
|
-
return
|
|
19299
|
+
return React14.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
18747
19300
|
}
|
|
18748
19301
|
function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {
|
|
18749
19302
|
const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);
|
|
@@ -18762,12 +19315,12 @@ var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
|
18762
19315
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
18763
19316
|
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
|
18764
19317
|
var originalBodyPointerEvents;
|
|
18765
|
-
var DismissableLayerContext =
|
|
19318
|
+
var DismissableLayerContext = React162.createContext({
|
|
18766
19319
|
layers: /* @__PURE__ */ new Set,
|
|
18767
19320
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set,
|
|
18768
19321
|
branches: /* @__PURE__ */ new Set
|
|
18769
19322
|
});
|
|
18770
|
-
var DismissableLayer =
|
|
19323
|
+
var DismissableLayer = React162.forwardRef((props, forwardedRef) => {
|
|
18771
19324
|
const {
|
|
18772
19325
|
disableOutsidePointerEvents = false,
|
|
18773
19326
|
onEscapeKeyDown,
|
|
@@ -18777,10 +19330,10 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
18777
19330
|
onDismiss,
|
|
18778
19331
|
...layerProps
|
|
18779
19332
|
} = props;
|
|
18780
|
-
const context =
|
|
18781
|
-
const [node, setNode] =
|
|
19333
|
+
const context = React162.useContext(DismissableLayerContext);
|
|
19334
|
+
const [node, setNode] = React162.useState(null);
|
|
18782
19335
|
const ownerDocument = node?.ownerDocument ?? globalThis?.document;
|
|
18783
|
-
const [, force] =
|
|
19336
|
+
const [, force] = React162.useState({});
|
|
18784
19337
|
const composedRefs = useComposedRefs2(forwardedRef, (node2) => setNode(node2));
|
|
18785
19338
|
const layers = Array.from(context.layers);
|
|
18786
19339
|
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
|
@@ -18818,7 +19371,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
18818
19371
|
onDismiss();
|
|
18819
19372
|
}
|
|
18820
19373
|
}, ownerDocument);
|
|
18821
|
-
|
|
19374
|
+
React162.useEffect(() => {
|
|
18822
19375
|
if (!node)
|
|
18823
19376
|
return;
|
|
18824
19377
|
if (disableOutsidePointerEvents) {
|
|
@@ -18836,7 +19389,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
18836
19389
|
}
|
|
18837
19390
|
};
|
|
18838
19391
|
}, [node, ownerDocument, disableOutsidePointerEvents, context]);
|
|
18839
|
-
|
|
19392
|
+
React162.useEffect(() => {
|
|
18840
19393
|
return () => {
|
|
18841
19394
|
if (!node)
|
|
18842
19395
|
return;
|
|
@@ -18845,7 +19398,7 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
18845
19398
|
dispatchUpdate();
|
|
18846
19399
|
};
|
|
18847
19400
|
}, [node, context]);
|
|
18848
|
-
|
|
19401
|
+
React162.useEffect(() => {
|
|
18849
19402
|
const handleUpdate = () => force({});
|
|
18850
19403
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
18851
19404
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
@@ -18864,11 +19417,11 @@ var DismissableLayer = React16.forwardRef((props, forwardedRef) => {
|
|
|
18864
19417
|
});
|
|
18865
19418
|
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
|
|
18866
19419
|
var BRANCH_NAME = "DismissableLayerBranch";
|
|
18867
|
-
var DismissableLayerBranch =
|
|
18868
|
-
const context =
|
|
18869
|
-
const ref =
|
|
19420
|
+
var DismissableLayerBranch = React162.forwardRef((props, forwardedRef) => {
|
|
19421
|
+
const context = React162.useContext(DismissableLayerContext);
|
|
19422
|
+
const ref = React162.useRef(null);
|
|
18870
19423
|
const composedRefs = useComposedRefs2(forwardedRef, ref);
|
|
18871
|
-
|
|
19424
|
+
React162.useEffect(() => {
|
|
18872
19425
|
const node = ref.current;
|
|
18873
19426
|
if (node) {
|
|
18874
19427
|
context.branches.add(node);
|
|
@@ -18882,9 +19435,9 @@ var DismissableLayerBranch = React16.forwardRef((props, forwardedRef) => {
|
|
|
18882
19435
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
18883
19436
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
|
18884
19437
|
const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
|
|
18885
|
-
const isPointerInsideReactTreeRef =
|
|
18886
|
-
const handleClickRef =
|
|
18887
|
-
|
|
19438
|
+
const isPointerInsideReactTreeRef = React162.useRef(false);
|
|
19439
|
+
const handleClickRef = React162.useRef(() => {});
|
|
19440
|
+
React162.useEffect(() => {
|
|
18888
19441
|
const handlePointerDown = (event) => {
|
|
18889
19442
|
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
18890
19443
|
let handleAndDispatchPointerDownOutsideEvent2 = function() {
|
|
@@ -18919,8 +19472,8 @@ function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?
|
|
|
18919
19472
|
}
|
|
18920
19473
|
function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
|
|
18921
19474
|
const handleFocusOutside = useCallbackRef(onFocusOutside);
|
|
18922
|
-
const isFocusInsideReactTreeRef =
|
|
18923
|
-
|
|
19475
|
+
const isFocusInsideReactTreeRef = React162.useRef(false);
|
|
19476
|
+
React162.useEffect(() => {
|
|
18924
19477
|
const handleFocus = (event) => {
|
|
18925
19478
|
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
18926
19479
|
const eventDetail = { originalEvent: event };
|
|
@@ -18978,7 +19531,7 @@ var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
|
18978
19531
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
18979
19532
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
18980
19533
|
var FOCUS_SCOPE_NAME = "FocusScope";
|
|
18981
|
-
var FocusScope =
|
|
19534
|
+
var FocusScope = React18.forwardRef((props, forwardedRef) => {
|
|
18982
19535
|
const {
|
|
18983
19536
|
loop = false,
|
|
18984
19537
|
trapped = false,
|
|
@@ -18986,12 +19539,12 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
18986
19539
|
onUnmountAutoFocus: onUnmountAutoFocusProp,
|
|
18987
19540
|
...scopeProps
|
|
18988
19541
|
} = props;
|
|
18989
|
-
const [container22, setContainer] =
|
|
19542
|
+
const [container22, setContainer] = React18.useState(null);
|
|
18990
19543
|
const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);
|
|
18991
19544
|
const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);
|
|
18992
|
-
const lastFocusedElementRef =
|
|
19545
|
+
const lastFocusedElementRef = React18.useRef(null);
|
|
18993
19546
|
const composedRefs = useComposedRefs2(forwardedRef, (node) => setContainer(node));
|
|
18994
|
-
const focusScope =
|
|
19547
|
+
const focusScope = React18.useRef({
|
|
18995
19548
|
paused: false,
|
|
18996
19549
|
pause() {
|
|
18997
19550
|
this.paused = true;
|
|
@@ -19000,7 +19553,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
19000
19553
|
this.paused = false;
|
|
19001
19554
|
}
|
|
19002
19555
|
}).current;
|
|
19003
|
-
|
|
19556
|
+
React18.useEffect(() => {
|
|
19004
19557
|
if (trapped) {
|
|
19005
19558
|
let handleFocusIn2 = function(event) {
|
|
19006
19559
|
if (focusScope.paused || !container22)
|
|
@@ -19042,7 +19595,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
19042
19595
|
};
|
|
19043
19596
|
}
|
|
19044
19597
|
}, [trapped, container22, focusScope.paused]);
|
|
19045
|
-
|
|
19598
|
+
React18.useEffect(() => {
|
|
19046
19599
|
if (container22) {
|
|
19047
19600
|
focusScopesStack.add(focusScope);
|
|
19048
19601
|
const previouslyFocusedElement = document.activeElement;
|
|
@@ -19073,7 +19626,7 @@ var FocusScope = React182.forwardRef((props, forwardedRef) => {
|
|
|
19073
19626
|
};
|
|
19074
19627
|
}
|
|
19075
19628
|
}, [container22, onMountAutoFocus, onUnmountAutoFocus, focusScope]);
|
|
19076
|
-
const handleKeyDown =
|
|
19629
|
+
const handleKeyDown = React18.useCallback((event) => {
|
|
19077
19630
|
if (!loop && !trapped)
|
|
19078
19631
|
return;
|
|
19079
19632
|
if (focusScope.paused)
|
|
@@ -21003,7 +21556,7 @@ var Arrow = React222.forwardRef((props, forwardedRef) => {
|
|
|
21003
21556
|
Arrow.displayName = NAME;
|
|
21004
21557
|
var Root2 = Arrow;
|
|
21005
21558
|
function useSize(element) {
|
|
21006
|
-
const [size4, setSize] =
|
|
21559
|
+
const [size4, setSize] = React232.useState(undefined);
|
|
21007
21560
|
useLayoutEffect22(() => {
|
|
21008
21561
|
if (element) {
|
|
21009
21562
|
setSize({ width: element.offsetWidth, height: element.offsetHeight });
|
|
@@ -21325,7 +21878,7 @@ function usePrevious(value) {
|
|
|
21325
21878
|
}, [value]);
|
|
21326
21879
|
}
|
|
21327
21880
|
var NAME2 = "VisuallyHidden";
|
|
21328
|
-
var VisuallyHidden =
|
|
21881
|
+
var VisuallyHidden = React28.forwardRef((props, forwardedRef) => {
|
|
21329
21882
|
return /* @__PURE__ */ jsx232(Primitive.span, {
|
|
21330
21883
|
...props,
|
|
21331
21884
|
ref: forwardedRef,
|
|
@@ -21655,7 +22208,7 @@ var SideCar = function(_a) {
|
|
|
21655
22208
|
if (!Target) {
|
|
21656
22209
|
throw new Error("Sidecar medium not found");
|
|
21657
22210
|
}
|
|
21658
|
-
return
|
|
22211
|
+
return React302.createElement(Target, __assign({}, rest));
|
|
21659
22212
|
};
|
|
21660
22213
|
SideCar.isSideCarExport = true;
|
|
21661
22214
|
function exportSidecar(medium, exported) {
|
|
@@ -21666,9 +22219,9 @@ var effectCar = createSidecarMedium();
|
|
|
21666
22219
|
var nothing = function() {
|
|
21667
22220
|
return;
|
|
21668
22221
|
};
|
|
21669
|
-
var RemoveScroll =
|
|
21670
|
-
var ref =
|
|
21671
|
-
var _a =
|
|
22222
|
+
var RemoveScroll = React31.forwardRef(function(props, parentRef) {
|
|
22223
|
+
var ref = React31.useRef(null);
|
|
22224
|
+
var _a = React31.useState({
|
|
21672
22225
|
onScrollCapture: nothing,
|
|
21673
22226
|
onWheelCapture: nothing,
|
|
21674
22227
|
onTouchMoveCapture: nothing
|
|
@@ -21677,7 +22230,7 @@ var RemoveScroll = React312.forwardRef(function(props, parentRef) {
|
|
|
21677
22230
|
var SideCar2 = sideCar;
|
|
21678
22231
|
var containerRef = useMergeRefs([ref, parentRef]);
|
|
21679
22232
|
var containerProps = __assign(__assign({}, rest), callbacks);
|
|
21680
|
-
return
|
|
22233
|
+
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));
|
|
21681
22234
|
});
|
|
21682
22235
|
RemoveScroll.defaultProps = {
|
|
21683
22236
|
enabled: true,
|
|
@@ -22136,8 +22689,8 @@ function getOutermostShadowParent(node) {
|
|
|
22136
22689
|
return shadowParent;
|
|
22137
22690
|
}
|
|
22138
22691
|
var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar);
|
|
22139
|
-
var ReactRemoveScroll =
|
|
22140
|
-
return
|
|
22692
|
+
var ReactRemoveScroll = React352.forwardRef(function(props, ref) {
|
|
22693
|
+
return React352.createElement(RemoveScroll, __assign({}, props, { ref, sideCar: sidecar_default }));
|
|
22141
22694
|
});
|
|
22142
22695
|
ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
22143
22696
|
var Combination_default = ReactRemoveScroll;
|
|
@@ -23143,7 +23696,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
|
|
|
23143
23696
|
var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
|
|
23144
23697
|
var Select2 = Root222;
|
|
23145
23698
|
var SelectValue2 = Value;
|
|
23146
|
-
var SelectTrigger2 =
|
|
23699
|
+
var SelectTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Trigger, {
|
|
23147
23700
|
ref,
|
|
23148
23701
|
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),
|
|
23149
23702
|
...props,
|
|
@@ -23158,7 +23711,7 @@ var SelectTrigger2 = React372.forwardRef(({ className, children, ...props }, ref
|
|
|
23158
23711
|
]
|
|
23159
23712
|
}));
|
|
23160
23713
|
SelectTrigger2.displayName = Trigger.displayName;
|
|
23161
|
-
var SelectScrollUpButton2 =
|
|
23714
|
+
var SelectScrollUpButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollUpButton, {
|
|
23162
23715
|
ref,
|
|
23163
23716
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
23164
23717
|
...props,
|
|
@@ -23167,7 +23720,7 @@ var SelectScrollUpButton2 = React372.forwardRef(({ className, ...props }, ref) =
|
|
|
23167
23720
|
})
|
|
23168
23721
|
}));
|
|
23169
23722
|
SelectScrollUpButton2.displayName = ScrollUpButton.displayName;
|
|
23170
|
-
var SelectScrollDownButton2 =
|
|
23723
|
+
var SelectScrollDownButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollDownButton, {
|
|
23171
23724
|
ref,
|
|
23172
23725
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
23173
23726
|
...props,
|
|
@@ -23176,7 +23729,7 @@ var SelectScrollDownButton2 = React372.forwardRef(({ className, ...props }, ref)
|
|
|
23176
23729
|
})
|
|
23177
23730
|
}));
|
|
23178
23731
|
SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
|
|
23179
|
-
var SelectContent2 =
|
|
23732
|
+
var SelectContent2 = React37.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx252(Portal2, {
|
|
23180
23733
|
children: /* @__PURE__ */ jsxs52(Content2, {
|
|
23181
23734
|
ref,
|
|
23182
23735
|
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),
|
|
@@ -23193,13 +23746,13 @@ var SelectContent2 = React372.forwardRef(({ className, children, position = "pop
|
|
|
23193
23746
|
})
|
|
23194
23747
|
}));
|
|
23195
23748
|
SelectContent2.displayName = Content2.displayName;
|
|
23196
|
-
var SelectLabel2 =
|
|
23749
|
+
var SelectLabel2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Label, {
|
|
23197
23750
|
ref,
|
|
23198
23751
|
className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
|
|
23199
23752
|
...props
|
|
23200
23753
|
}));
|
|
23201
23754
|
SelectLabel2.displayName = Label.displayName;
|
|
23202
|
-
var SelectItem2 =
|
|
23755
|
+
var SelectItem2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Item, {
|
|
23203
23756
|
ref,
|
|
23204
23757
|
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),
|
|
23205
23758
|
...props,
|
|
@@ -23218,7 +23771,7 @@ var SelectItem2 = React372.forwardRef(({ className, children, ...props }, ref) =
|
|
|
23218
23771
|
]
|
|
23219
23772
|
}));
|
|
23220
23773
|
SelectItem2.displayName = Item.displayName;
|
|
23221
|
-
var SelectSeparator2 =
|
|
23774
|
+
var SelectSeparator2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Separator, {
|
|
23222
23775
|
ref,
|
|
23223
23776
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
23224
23777
|
...props
|
|
@@ -23307,22 +23860,22 @@ function composeContextScopes2(...scopes) {
|
|
|
23307
23860
|
}
|
|
23308
23861
|
function createSlot2(ownerName) {
|
|
23309
23862
|
const SlotClone2 = /* @__PURE__ */ createSlotClone2(ownerName);
|
|
23310
|
-
const Slot22 =
|
|
23863
|
+
const Slot22 = React392.forwardRef((props, forwardedRef) => {
|
|
23311
23864
|
const { children, ...slotProps } = props;
|
|
23312
|
-
const childrenArray =
|
|
23865
|
+
const childrenArray = React392.Children.toArray(children);
|
|
23313
23866
|
const slottable = childrenArray.find(isSlottable3);
|
|
23314
23867
|
if (slottable) {
|
|
23315
23868
|
const newElement = slottable.props.children;
|
|
23316
23869
|
const newChildren = childrenArray.map((child) => {
|
|
23317
23870
|
if (child === slottable) {
|
|
23318
|
-
if (
|
|
23319
|
-
return
|
|
23320
|
-
return
|
|
23871
|
+
if (React392.Children.count(newElement) > 1)
|
|
23872
|
+
return React392.Children.only(null);
|
|
23873
|
+
return React392.isValidElement(newElement) ? newElement.props.children : null;
|
|
23321
23874
|
} else {
|
|
23322
23875
|
return child;
|
|
23323
23876
|
}
|
|
23324
23877
|
});
|
|
23325
|
-
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children:
|
|
23878
|
+
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children: React392.isValidElement(newElement) ? React392.cloneElement(newElement, undefined, newChildren) : null });
|
|
23326
23879
|
}
|
|
23327
23880
|
return /* @__PURE__ */ jsx282(SlotClone2, { ...slotProps, ref: forwardedRef, children });
|
|
23328
23881
|
});
|
|
@@ -23330,24 +23883,24 @@ function createSlot2(ownerName) {
|
|
|
23330
23883
|
return Slot22;
|
|
23331
23884
|
}
|
|
23332
23885
|
function createSlotClone2(ownerName) {
|
|
23333
|
-
const SlotClone2 =
|
|
23886
|
+
const SlotClone2 = React392.forwardRef((props, forwardedRef) => {
|
|
23334
23887
|
const { children, ...slotProps } = props;
|
|
23335
|
-
if (
|
|
23888
|
+
if (React392.isValidElement(children)) {
|
|
23336
23889
|
const childrenRef = getElementRef3(children);
|
|
23337
23890
|
const props2 = mergeProps3(slotProps, children.props);
|
|
23338
|
-
if (children.type !==
|
|
23891
|
+
if (children.type !== React392.Fragment) {
|
|
23339
23892
|
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
23340
23893
|
}
|
|
23341
|
-
return
|
|
23894
|
+
return React392.cloneElement(children, props2);
|
|
23342
23895
|
}
|
|
23343
|
-
return
|
|
23896
|
+
return React392.Children.count(children) > 1 ? React392.Children.only(null) : null;
|
|
23344
23897
|
});
|
|
23345
23898
|
SlotClone2.displayName = `${ownerName}.SlotClone`;
|
|
23346
23899
|
return SlotClone2;
|
|
23347
23900
|
}
|
|
23348
23901
|
var SLOTTABLE_IDENTIFIER2 = Symbol("radix.slottable");
|
|
23349
23902
|
function isSlottable3(child) {
|
|
23350
|
-
return
|
|
23903
|
+
return React392.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER2;
|
|
23351
23904
|
}
|
|
23352
23905
|
function mergeProps3(slotProps, childProps) {
|
|
23353
23906
|
const overrideProps = { ...childProps };
|
|
@@ -23392,14 +23945,14 @@ function createCollection2(name) {
|
|
|
23392
23945
|
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map });
|
|
23393
23946
|
const CollectionProvider = (props) => {
|
|
23394
23947
|
const { scope, children } = props;
|
|
23395
|
-
const ref =
|
|
23396
|
-
const itemMap =
|
|
23948
|
+
const ref = React40.useRef(null);
|
|
23949
|
+
const itemMap = React40.useRef(/* @__PURE__ */ new Map).current;
|
|
23397
23950
|
return /* @__PURE__ */ jsx292(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
|
23398
23951
|
};
|
|
23399
23952
|
CollectionProvider.displayName = PROVIDER_NAME;
|
|
23400
23953
|
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
23401
23954
|
const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);
|
|
23402
|
-
const CollectionSlot =
|
|
23955
|
+
const CollectionSlot = React40.forwardRef((props, forwardedRef) => {
|
|
23403
23956
|
const { scope, children } = props;
|
|
23404
23957
|
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
23405
23958
|
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
@@ -23409,12 +23962,12 @@ function createCollection2(name) {
|
|
|
23409
23962
|
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
|
23410
23963
|
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
|
23411
23964
|
const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);
|
|
23412
|
-
const CollectionItemSlot =
|
|
23965
|
+
const CollectionItemSlot = React40.forwardRef((props, forwardedRef) => {
|
|
23413
23966
|
const { scope, children, ...itemData } = props;
|
|
23414
|
-
const ref =
|
|
23967
|
+
const ref = React40.useRef(null);
|
|
23415
23968
|
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
23416
23969
|
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
|
23417
|
-
|
|
23970
|
+
React40.useEffect(() => {
|
|
23418
23971
|
context.itemMap.set(ref, { ref, ...itemData });
|
|
23419
23972
|
return () => void context.itemMap.delete(ref);
|
|
23420
23973
|
});
|
|
@@ -23423,7 +23976,7 @@ function createCollection2(name) {
|
|
|
23423
23976
|
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
23424
23977
|
function useCollection2(scope) {
|
|
23425
23978
|
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
|
23426
|
-
const getItems =
|
|
23979
|
+
const getItems = React40.useCallback(() => {
|
|
23427
23980
|
const collectionNode = context.collectionRef.current;
|
|
23428
23981
|
if (!collectionNode)
|
|
23429
23982
|
return [];
|
|
@@ -23741,7 +24294,7 @@ function toSafeIndex(array, index2) {
|
|
|
23741
24294
|
function toSafeInteger(number) {
|
|
23742
24295
|
return number !== number || number === 0 ? 0 : Math.trunc(number);
|
|
23743
24296
|
}
|
|
23744
|
-
var useLayoutEffect222 = globalThis?.document ?
|
|
24297
|
+
var useLayoutEffect222 = globalThis?.document ? React412.useLayoutEffect : () => {};
|
|
23745
24298
|
var useReactId2 = React42[" useId ".trim().toString()] || (() => {
|
|
23746
24299
|
return;
|
|
23747
24300
|
});
|
|
@@ -27064,11 +27617,11 @@ import { jsx as jsx58, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
|
27064
27617
|
import { jsx as jsx214, jsxs as jsxs24, Fragment as Fragment12 } from "react/jsx-runtime";
|
|
27065
27618
|
import React56 from "react";
|
|
27066
27619
|
import { useContext as useContext210, useEffect as useEffect42, useState as useState38 } from "react";
|
|
27067
|
-
import { useContext as
|
|
27620
|
+
import { useContext as useContext46, useLayoutEffect as useLayoutEffect17 } from "react";
|
|
27068
27621
|
import { jsx as jsx314 } from "react/jsx-runtime";
|
|
27069
27622
|
import { useEffect as useEffect210, useState as useState210 } from "react";
|
|
27070
27623
|
import { useLayoutEffect as useLayoutEffect23 } from "react";
|
|
27071
|
-
import { useContext as
|
|
27624
|
+
import { useContext as useContext47, useEffect as useEffect52, useRef as useRef46 } from "react";
|
|
27072
27625
|
import { useEffect as useEffect310, useRef as useRef210 } from "react";
|
|
27073
27626
|
import { useCallback as useCallback36, useContext as useContext310, useMemo as useMemo53, useRef as useRef47, useState as useState39 } from "react";
|
|
27074
27627
|
import { useEffect as useEffect43, useRef as useRef310 } from "react";
|
|
@@ -27119,6 +27672,123 @@ import { useCallback as useCallback112, useMemo as useMemo132, useState as useSt
|
|
|
27119
27672
|
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
27120
27673
|
|
|
27121
27674
|
// ../core/dist/esm/no-react.mjs
|
|
27675
|
+
var normalizeNumber2 = (value) => {
|
|
27676
|
+
return Math.round(value * 1e6) / 1e6;
|
|
27677
|
+
};
|
|
27678
|
+
var angleUnits2 = new Set(["deg", "rad", "grad", "turn"]);
|
|
27679
|
+
var lengthUnits2 = new Set([
|
|
27680
|
+
"%",
|
|
27681
|
+
"cap",
|
|
27682
|
+
"ch",
|
|
27683
|
+
"cm",
|
|
27684
|
+
"cqb",
|
|
27685
|
+
"cqh",
|
|
27686
|
+
"cqi",
|
|
27687
|
+
"cqmax",
|
|
27688
|
+
"cqmin",
|
|
27689
|
+
"cqw",
|
|
27690
|
+
"dvh",
|
|
27691
|
+
"dvw",
|
|
27692
|
+
"em",
|
|
27693
|
+
"ex",
|
|
27694
|
+
"ic",
|
|
27695
|
+
"in",
|
|
27696
|
+
"lh",
|
|
27697
|
+
"lvh",
|
|
27698
|
+
"lvw",
|
|
27699
|
+
"mm",
|
|
27700
|
+
"pc",
|
|
27701
|
+
"pt",
|
|
27702
|
+
"px",
|
|
27703
|
+
"q",
|
|
27704
|
+
"rem",
|
|
27705
|
+
"rlh",
|
|
27706
|
+
"svh",
|
|
27707
|
+
"svw",
|
|
27708
|
+
"vb",
|
|
27709
|
+
"vh",
|
|
27710
|
+
"vi",
|
|
27711
|
+
"vmax",
|
|
27712
|
+
"vmin",
|
|
27713
|
+
"vw"
|
|
27714
|
+
]);
|
|
27715
|
+
var cssNumberRegex2 = /^([+-]?(?:\d+\.?\d*|\.\d+))([a-zA-Z%]+)?$/;
|
|
27716
|
+
var stringifyNumber2 = (value) => {
|
|
27717
|
+
return String(normalizeNumber2(value));
|
|
27718
|
+
};
|
|
27719
|
+
var parseStringInterpolationComponent2 = (component, value) => {
|
|
27720
|
+
const match = cssNumberRegex2.exec(component);
|
|
27721
|
+
if (match === null) {
|
|
27722
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported scale, translate, or rotate value`);
|
|
27723
|
+
}
|
|
27724
|
+
const unit = match[2] ?? null;
|
|
27725
|
+
const numberValue = Number(match[1]);
|
|
27726
|
+
if (!Number.isFinite(numberValue)) {
|
|
27727
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not finite`);
|
|
27728
|
+
}
|
|
27729
|
+
if (unit === null) {
|
|
27730
|
+
return { kind: "scale", value: numberValue, unit: null };
|
|
27731
|
+
}
|
|
27732
|
+
if (angleUnits2.has(unit)) {
|
|
27733
|
+
return { kind: "rotate", value: numberValue, unit };
|
|
27734
|
+
}
|
|
27735
|
+
if (lengthUnits2.has(unit)) {
|
|
27736
|
+
return { kind: "translate", value: numberValue, unit };
|
|
27737
|
+
}
|
|
27738
|
+
throw new TypeError(`Cannot interpolate "${value}" because "${unit}" is not a supported translate or rotate unit`);
|
|
27739
|
+
};
|
|
27740
|
+
var parseStringInterpolationValue2 = (output) => {
|
|
27741
|
+
if (typeof output === "number") {
|
|
27742
|
+
if (!Number.isFinite(output)) {
|
|
27743
|
+
throw new Error(`outputRange must contain only finite numbers, but got [${output}]`);
|
|
27744
|
+
}
|
|
27745
|
+
return {
|
|
27746
|
+
kind: "scale",
|
|
27747
|
+
values: [output, output, 1],
|
|
27748
|
+
units: [null, null, null],
|
|
27749
|
+
dimensions: 1
|
|
27750
|
+
};
|
|
27751
|
+
}
|
|
27752
|
+
const parts = output.trim().split(/\s+/);
|
|
27753
|
+
if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
|
|
27754
|
+
throw new TypeError(`String outputRange values must contain 1 to 3 components, but got "${output}"`);
|
|
27755
|
+
}
|
|
27756
|
+
const parsed = parts.map((part) => parseStringInterpolationComponent2(part, output));
|
|
27757
|
+
const [{ kind }] = parsed;
|
|
27758
|
+
for (const part of parsed) {
|
|
27759
|
+
if (part.kind !== kind) {
|
|
27760
|
+
throw new TypeError(`Cannot interpolate "${output}" because it mixes ${kind} and ${part.kind} values`);
|
|
27761
|
+
}
|
|
27762
|
+
}
|
|
27763
|
+
if (kind === "scale") {
|
|
27764
|
+
const x = parsed[0].value;
|
|
27765
|
+
const y = parsed[1]?.value ?? x;
|
|
27766
|
+
const z = parsed[2]?.value ?? 1;
|
|
27767
|
+
return {
|
|
27768
|
+
kind,
|
|
27769
|
+
values: [x, y, z],
|
|
27770
|
+
units: [null, null, null],
|
|
27771
|
+
dimensions: parsed.length
|
|
27772
|
+
};
|
|
27773
|
+
}
|
|
27774
|
+
return {
|
|
27775
|
+
kind,
|
|
27776
|
+
values: [parsed[0].value, parsed[1]?.value ?? 0, parsed[2]?.value ?? 0],
|
|
27777
|
+
units: [parsed[0].unit, parsed[1]?.unit ?? null, parsed[2]?.unit ?? null],
|
|
27778
|
+
dimensions: parsed.length
|
|
27779
|
+
};
|
|
27780
|
+
};
|
|
27781
|
+
var serializeStringInterpolationValue2 = ({
|
|
27782
|
+
kind,
|
|
27783
|
+
values,
|
|
27784
|
+
units,
|
|
27785
|
+
dimensions
|
|
27786
|
+
}) => {
|
|
27787
|
+
if (kind === "scale") {
|
|
27788
|
+
return values.slice(0, dimensions).map((value) => stringifyNumber2(value)).join(" ");
|
|
27789
|
+
}
|
|
27790
|
+
return values.slice(0, dimensions).map((value, index2) => `${stringifyNumber2(value)}${units[index2]}`).join(" ");
|
|
27791
|
+
};
|
|
27122
27792
|
function interpolateFunction2(input, inputRange, outputRange, options2) {
|
|
27123
27793
|
const { extrapolateLeft, extrapolateRight, easing } = options2;
|
|
27124
27794
|
let result = input;
|
|
@@ -27163,6 +27833,130 @@ function findRange2(input, inputRange) {
|
|
|
27163
27833
|
}
|
|
27164
27834
|
return i - 1;
|
|
27165
27835
|
}
|
|
27836
|
+
var defaultEasing2 = (num) => num;
|
|
27837
|
+
var interpolateNumber2 = ({
|
|
27838
|
+
input,
|
|
27839
|
+
inputRange,
|
|
27840
|
+
outputRange,
|
|
27841
|
+
options: options2
|
|
27842
|
+
}) => {
|
|
27843
|
+
if (inputRange.length === 1) {
|
|
27844
|
+
return outputRange[0];
|
|
27845
|
+
}
|
|
27846
|
+
const easingOption = options2?.easing;
|
|
27847
|
+
const resolveEasingForSegment = (segmentIndex) => {
|
|
27848
|
+
if (easingOption === undefined) {
|
|
27849
|
+
return defaultEasing2;
|
|
27850
|
+
}
|
|
27851
|
+
if (typeof easingOption === "function") {
|
|
27852
|
+
return easingOption;
|
|
27853
|
+
}
|
|
27854
|
+
return easingOption[segmentIndex];
|
|
27855
|
+
};
|
|
27856
|
+
let extrapolateLeft = "extend";
|
|
27857
|
+
if (options2?.extrapolateLeft !== undefined) {
|
|
27858
|
+
extrapolateLeft = options2.extrapolateLeft;
|
|
27859
|
+
}
|
|
27860
|
+
let extrapolateRight = "extend";
|
|
27861
|
+
if (options2?.extrapolateRight !== undefined) {
|
|
27862
|
+
extrapolateRight = options2.extrapolateRight;
|
|
27863
|
+
}
|
|
27864
|
+
const posterizedInput = options2?.posterize === undefined ? input : Math.floor(input / options2.posterize) * options2.posterize;
|
|
27865
|
+
const range = findRange2(posterizedInput, inputRange);
|
|
27866
|
+
return interpolateFunction2(posterizedInput, [inputRange[range], inputRange[range + 1]], [outputRange[range], outputRange[range + 1]], {
|
|
27867
|
+
easing: resolveEasingForSegment(range),
|
|
27868
|
+
extrapolateLeft,
|
|
27869
|
+
extrapolateRight
|
|
27870
|
+
});
|
|
27871
|
+
};
|
|
27872
|
+
var interpolateString2 = ({
|
|
27873
|
+
input,
|
|
27874
|
+
inputRange,
|
|
27875
|
+
outputRange,
|
|
27876
|
+
options: options2
|
|
27877
|
+
}) => {
|
|
27878
|
+
const parsedOutputRange = outputRange.map(parseStringInterpolationValue2);
|
|
27879
|
+
const kind = parsedOutputRange[0]?.kind;
|
|
27880
|
+
if (kind === undefined) {
|
|
27881
|
+
throw new Error("outputRange must have at least 1 element");
|
|
27882
|
+
}
|
|
27883
|
+
for (const parsed of parsedOutputRange) {
|
|
27884
|
+
if (parsed.kind !== kind) {
|
|
27885
|
+
throw new TypeError(`Cannot interpolate ${kind} values with ${parsed.kind} values`);
|
|
27886
|
+
}
|
|
27887
|
+
}
|
|
27888
|
+
const dimensions = Math.max(...parsedOutputRange.map((parsed) => parsed.dimensions));
|
|
27889
|
+
const units = [
|
|
27890
|
+
null,
|
|
27891
|
+
null,
|
|
27892
|
+
null
|
|
27893
|
+
];
|
|
27894
|
+
if (kind !== "scale") {
|
|
27895
|
+
for (let axis = 0;axis < dimensions; axis++) {
|
|
27896
|
+
for (const parsed of parsedOutputRange) {
|
|
27897
|
+
const unit = parsed.units[axis];
|
|
27898
|
+
if (unit === null) {
|
|
27899
|
+
continue;
|
|
27900
|
+
}
|
|
27901
|
+
if (units[axis] === null) {
|
|
27902
|
+
units[axis] = unit;
|
|
27903
|
+
continue;
|
|
27904
|
+
}
|
|
27905
|
+
if (units[axis] !== unit) {
|
|
27906
|
+
throw new TypeError(`Cannot interpolate ${kind} values with different units on axis ${axis + 1}: ${units[axis]} and ${unit}`);
|
|
27907
|
+
}
|
|
27908
|
+
}
|
|
27909
|
+
if (units[axis] === null) {
|
|
27910
|
+
throw new TypeError(`Cannot interpolate ${kind} values because axis ${axis + 1} has no unit`);
|
|
27911
|
+
}
|
|
27912
|
+
}
|
|
27913
|
+
}
|
|
27914
|
+
return serializeStringInterpolationValue2({
|
|
27915
|
+
kind,
|
|
27916
|
+
values: [0, 0, 0].map((_, axis) => interpolateNumber2({
|
|
27917
|
+
input,
|
|
27918
|
+
inputRange,
|
|
27919
|
+
outputRange: parsedOutputRange.map((parsed) => parsed.values[axis]),
|
|
27920
|
+
options: options2
|
|
27921
|
+
})),
|
|
27922
|
+
units,
|
|
27923
|
+
dimensions
|
|
27924
|
+
});
|
|
27925
|
+
};
|
|
27926
|
+
var validateTupleOutputRange2 = (outputRange) => {
|
|
27927
|
+
const dimensions = outputRange[0]?.length;
|
|
27928
|
+
if (dimensions === undefined) {
|
|
27929
|
+
throw new Error("outputRange must have at least 1 element");
|
|
27930
|
+
}
|
|
27931
|
+
if (dimensions === 0) {
|
|
27932
|
+
throw new TypeError("outputRange tuples must contain at least 1 number");
|
|
27933
|
+
}
|
|
27934
|
+
for (const output of outputRange) {
|
|
27935
|
+
if (output.length !== dimensions) {
|
|
27936
|
+
throw new TypeError(`outputRange tuples must all have the same length, but got ${dimensions} and ${output.length}`);
|
|
27937
|
+
}
|
|
27938
|
+
for (const value of output) {
|
|
27939
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
27940
|
+
throw new TypeError(`outputRange tuples must contain only finite numbers, but got [${output.join(",")}]`);
|
|
27941
|
+
}
|
|
27942
|
+
}
|
|
27943
|
+
}
|
|
27944
|
+
return dimensions;
|
|
27945
|
+
};
|
|
27946
|
+
var interpolateTuple2 = ({
|
|
27947
|
+
input,
|
|
27948
|
+
inputRange,
|
|
27949
|
+
outputRange,
|
|
27950
|
+
options: options2
|
|
27951
|
+
}) => {
|
|
27952
|
+
const dimensions = validateTupleOutputRange2(outputRange);
|
|
27953
|
+
return new Array(dimensions).fill(true).map((_, axis) => interpolateNumber2({
|
|
27954
|
+
input,
|
|
27955
|
+
inputRange,
|
|
27956
|
+
outputRange: outputRange.map((output) => output[axis]),
|
|
27957
|
+
options: options2
|
|
27958
|
+
}));
|
|
27959
|
+
};
|
|
27166
27960
|
function checkValidInputRange2(arr) {
|
|
27167
27961
|
for (let i = 1;i < arr.length; ++i) {
|
|
27168
27962
|
if (!(arr[i] > arr[i - 1])) {
|
|
@@ -27222,42 +28016,30 @@ function interpolate3(input, inputRange, outputRange, options2) {
|
|
|
27222
28016
|
throw new Error("inputRange (" + inputRange.length + ") and outputRange (" + outputRange.length + ") must have the same length");
|
|
27223
28017
|
}
|
|
27224
28018
|
checkInfiniteRange2("inputRange", inputRange);
|
|
27225
|
-
checkInfiniteRange2("outputRange", outputRange);
|
|
27226
28019
|
checkValidInputRange2(inputRange);
|
|
27227
28020
|
assertValidInterpolateEasingOption2(options2?.easing, inputRange.length);
|
|
27228
28021
|
assertValidInterpolatePosterizeOption2(options2?.posterize);
|
|
27229
|
-
const easingOption = options2?.easing;
|
|
27230
|
-
const defaultEasing = (num) => num;
|
|
27231
|
-
const resolveEasingForSegment = (segmentIndex) => {
|
|
27232
|
-
if (easingOption === undefined) {
|
|
27233
|
-
return defaultEasing;
|
|
27234
|
-
}
|
|
27235
|
-
if (typeof easingOption === "function") {
|
|
27236
|
-
return easingOption;
|
|
27237
|
-
}
|
|
27238
|
-
return easingOption[segmentIndex];
|
|
27239
|
-
};
|
|
27240
|
-
let extrapolateLeft = "extend";
|
|
27241
|
-
if (options2?.extrapolateLeft !== undefined) {
|
|
27242
|
-
extrapolateLeft = options2.extrapolateLeft;
|
|
27243
|
-
}
|
|
27244
|
-
let extrapolateRight = "extend";
|
|
27245
|
-
if (options2?.extrapolateRight !== undefined) {
|
|
27246
|
-
extrapolateRight = options2.extrapolateRight;
|
|
27247
|
-
}
|
|
27248
28022
|
if (typeof input !== "number") {
|
|
27249
28023
|
throw new TypeError("Cannot interpolate an input which is not a number");
|
|
27250
28024
|
}
|
|
27251
|
-
if (
|
|
27252
|
-
|
|
28025
|
+
if (!Array.isArray(outputRange)) {
|
|
28026
|
+
throw new Error("outputRange must contain only numbers");
|
|
27253
28027
|
}
|
|
27254
|
-
const
|
|
27255
|
-
|
|
27256
|
-
|
|
27257
|
-
|
|
27258
|
-
|
|
27259
|
-
|
|
27260
|
-
}
|
|
28028
|
+
const hasStringOutput = outputRange.some((output) => typeof output === "string");
|
|
28029
|
+
if (hasStringOutput) {
|
|
28030
|
+
if (!outputRange.every((output) => typeof output === "string" || typeof output === "number")) {
|
|
28031
|
+
throw new TypeError("outputRange must contain only numbers, or supported scale, translate, and rotate strings");
|
|
28032
|
+
}
|
|
28033
|
+
return interpolateString2({ input, inputRange, outputRange, options: options2 });
|
|
28034
|
+
}
|
|
28035
|
+
if (outputRange.every((output) => Array.isArray(output))) {
|
|
28036
|
+
return interpolateTuple2({ input, inputRange, outputRange, options: options2 });
|
|
28037
|
+
}
|
|
28038
|
+
if (!outputRange.every((output) => typeof output === "number")) {
|
|
28039
|
+
throw new TypeError("outputRange must contain only numbers, numeric tuples, or supported scale, translate, and rotate strings");
|
|
28040
|
+
}
|
|
28041
|
+
checkInfiniteRange2("outputRange", outputRange);
|
|
28042
|
+
return interpolateNumber2({ input, inputRange, outputRange, options: options2 });
|
|
27261
28043
|
}
|
|
27262
28044
|
function truthy3(value) {
|
|
27263
28045
|
return Boolean(value);
|
|
@@ -27808,6 +28590,45 @@ var proResProfileOptions = [
|
|
|
27808
28590
|
"light",
|
|
27809
28591
|
"proxy"
|
|
27810
28592
|
];
|
|
28593
|
+
var defaultScaleValue = [1, 1, 1];
|
|
28594
|
+
var parseScaleString = (value) => {
|
|
28595
|
+
const parts = value.trim().split(/\s+/);
|
|
28596
|
+
if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
|
|
28597
|
+
return null;
|
|
28598
|
+
}
|
|
28599
|
+
const parsed = parts.map((part) => Number(part));
|
|
28600
|
+
if (!parsed.every((part) => Number.isFinite(part))) {
|
|
28601
|
+
return null;
|
|
28602
|
+
}
|
|
28603
|
+
const x = parsed[0];
|
|
28604
|
+
const y = parsed[1] ?? x;
|
|
28605
|
+
const z = parsed[2] ?? 1;
|
|
28606
|
+
return [x, y, z];
|
|
28607
|
+
};
|
|
28608
|
+
var parseValidScaleValue = (value) => {
|
|
28609
|
+
if (typeof value === "number") {
|
|
28610
|
+
return Number.isFinite(value) ? [value, value, 1] : null;
|
|
28611
|
+
}
|
|
28612
|
+
if (typeof value === "string") {
|
|
28613
|
+
return parseScaleString(value);
|
|
28614
|
+
}
|
|
28615
|
+
return null;
|
|
28616
|
+
};
|
|
28617
|
+
var parseScaleValue = (value) => {
|
|
28618
|
+
return parseValidScaleValue(value) ?? defaultScaleValue;
|
|
28619
|
+
};
|
|
28620
|
+
var serializeScaleValue = ([x, y, z]) => {
|
|
28621
|
+
const normalizedX = normalizeNumber2(x);
|
|
28622
|
+
const normalizedY = normalizeNumber2(y);
|
|
28623
|
+
const normalizedZ = normalizeNumber2(z);
|
|
28624
|
+
if (normalizedX === normalizedY && normalizedZ === 1) {
|
|
28625
|
+
return normalizedX;
|
|
28626
|
+
}
|
|
28627
|
+
if (normalizedZ === 1) {
|
|
28628
|
+
return `${normalizedX} ${normalizedY}`;
|
|
28629
|
+
}
|
|
28630
|
+
return `${normalizedX} ${normalizedY} ${normalizedZ}`;
|
|
28631
|
+
};
|
|
27811
28632
|
var sequenceVisualStyleSchema2 = {
|
|
27812
28633
|
"style.translate": {
|
|
27813
28634
|
type: "translate",
|
|
@@ -27816,15 +28637,14 @@ var sequenceVisualStyleSchema2 = {
|
|
|
27816
28637
|
description: "Offset"
|
|
27817
28638
|
},
|
|
27818
28639
|
"style.scale": {
|
|
27819
|
-
type: "
|
|
27820
|
-
min: 0.05,
|
|
28640
|
+
type: "scale",
|
|
27821
28641
|
max: 100,
|
|
27822
28642
|
step: 0.01,
|
|
27823
28643
|
default: 1,
|
|
27824
28644
|
description: "Scale"
|
|
27825
28645
|
},
|
|
27826
28646
|
"style.rotate": {
|
|
27827
|
-
type: "rotation",
|
|
28647
|
+
type: "rotation-css",
|
|
27828
28648
|
step: 1,
|
|
27829
28649
|
default: "0deg",
|
|
27830
28650
|
description: "Rotation"
|
|
@@ -27835,7 +28655,8 @@ var sequenceVisualStyleSchema2 = {
|
|
|
27835
28655
|
max: 1,
|
|
27836
28656
|
step: 0.01,
|
|
27837
28657
|
default: 1,
|
|
27838
|
-
description: "Opacity"
|
|
28658
|
+
description: "Opacity",
|
|
28659
|
+
hiddenFromList: false
|
|
27839
28660
|
}
|
|
27840
28661
|
};
|
|
27841
28662
|
var sequencePremountSchema2 = {
|
|
@@ -27844,10 +28665,15 @@ var sequencePremountSchema2 = {
|
|
|
27844
28665
|
default: 0,
|
|
27845
28666
|
description: "Premount For",
|
|
27846
28667
|
min: 0,
|
|
27847
|
-
step: 1
|
|
28668
|
+
step: 1,
|
|
28669
|
+
hiddenFromList: false
|
|
27848
28670
|
},
|
|
27849
28671
|
postmountFor: {
|
|
27850
|
-
type: "
|
|
28672
|
+
type: "number",
|
|
28673
|
+
default: 0,
|
|
28674
|
+
min: 0,
|
|
28675
|
+
step: 1,
|
|
28676
|
+
hiddenFromList: true
|
|
27851
28677
|
},
|
|
27852
28678
|
styleWhilePremounted: {
|
|
27853
28679
|
type: "hidden"
|
|
@@ -27865,8 +28691,23 @@ var hiddenField2 = {
|
|
|
27865
28691
|
default: false,
|
|
27866
28692
|
description: "Hidden"
|
|
27867
28693
|
};
|
|
28694
|
+
var durationInFramesField2 = {
|
|
28695
|
+
type: "number",
|
|
28696
|
+
default: undefined,
|
|
28697
|
+
min: 1,
|
|
28698
|
+
step: 1,
|
|
28699
|
+
hiddenFromList: true
|
|
28700
|
+
};
|
|
28701
|
+
var fromField2 = {
|
|
28702
|
+
type: "number",
|
|
28703
|
+
default: 0,
|
|
28704
|
+
step: 1,
|
|
28705
|
+
hiddenFromList: true
|
|
28706
|
+
};
|
|
27868
28707
|
var sequenceSchema2 = {
|
|
27869
28708
|
hidden: hiddenField2,
|
|
28709
|
+
from: fromField2,
|
|
28710
|
+
durationInFrames: durationInFramesField2,
|
|
27870
28711
|
layout: {
|
|
27871
28712
|
type: "enum",
|
|
27872
28713
|
default: "absolute-fill",
|
|
@@ -27877,6 +28718,11 @@ var sequenceSchema2 = {
|
|
|
27877
28718
|
}
|
|
27878
28719
|
}
|
|
27879
28720
|
};
|
|
28721
|
+
var sequenceSchemaWithoutFrom2 = {
|
|
28722
|
+
hidden: hiddenField2,
|
|
28723
|
+
durationInFrames: durationInFramesField2,
|
|
28724
|
+
layout: sequenceSchema2.layout
|
|
28725
|
+
};
|
|
27880
28726
|
var sequenceSchemaDefaultLayoutNone2 = {
|
|
27881
28727
|
...sequenceSchema2,
|
|
27882
28728
|
layout: {
|
|
@@ -28048,7 +28894,9 @@ var NoReactInternals = {
|
|
|
28048
28894
|
validateCodec: validateCodec2,
|
|
28049
28895
|
proResProfileOptions,
|
|
28050
28896
|
findPropsToDelete: findPropsToDelete2,
|
|
28051
|
-
sequenceSchema: sequenceSchema2
|
|
28897
|
+
sequenceSchema: sequenceSchema2,
|
|
28898
|
+
parseScaleValue,
|
|
28899
|
+
serializeScaleValue
|
|
28052
28900
|
};
|
|
28053
28901
|
|
|
28054
28902
|
// ../player/dist/esm/index.mjs
|
|
@@ -28061,7 +28909,7 @@ import {
|
|
|
28061
28909
|
useRef as useRef132,
|
|
28062
28910
|
useState as useState142
|
|
28063
28911
|
} from "react";
|
|
28064
|
-
import
|
|
28912
|
+
import React133, {
|
|
28065
28913
|
forwardRef as forwardRef36,
|
|
28066
28914
|
Suspense as Suspense22,
|
|
28067
28915
|
useCallback as useCallback122,
|
|
@@ -28520,7 +29368,7 @@ class ThumbnailEmitter {
|
|
|
28520
29368
|
};
|
|
28521
29369
|
}
|
|
28522
29370
|
var useBufferStateEmitter = (emitter) => {
|
|
28523
|
-
const bufferManager =
|
|
29371
|
+
const bufferManager = useContext46(Internals.BufferingContextReact);
|
|
28524
29372
|
if (!bufferManager) {
|
|
28525
29373
|
throw new Error("BufferingContextReact not found");
|
|
28526
29374
|
}
|
|
@@ -28623,12 +29471,13 @@ var usePlayer = () => {
|
|
|
28623
29471
|
}
|
|
28624
29472
|
const { buffering } = bufferingContext;
|
|
28625
29473
|
const seek2 = useCallback36((newFrame) => {
|
|
29474
|
+
const frameToSeekTo = config ? Internals.TimelinePosition.clampFrameToCompositionRange(newFrame, config.durationInFrames) : Math.max(0, newFrame);
|
|
28626
29475
|
if (video?.id) {
|
|
28627
|
-
setTimelinePosition((c2) => ({ ...c2, [video.id]:
|
|
29476
|
+
setTimelinePosition((c2) => ({ ...c2, [video.id]: frameToSeekTo }));
|
|
28628
29477
|
}
|
|
28629
|
-
frameRef.current =
|
|
28630
|
-
emitter.dispatchSeek(
|
|
28631
|
-
}, [emitter, setTimelinePosition, video?.id]);
|
|
29478
|
+
frameRef.current = frameToSeekTo;
|
|
29479
|
+
emitter.dispatchSeek(frameToSeekTo);
|
|
29480
|
+
}, [config, emitter, setTimelinePosition, video?.id]);
|
|
28632
29481
|
const play = useCallback36((e) => {
|
|
28633
29482
|
if (imperativePlaying.current) {
|
|
28634
29483
|
return;
|
|
@@ -28977,11 +29826,11 @@ var usePlayback = ({
|
|
|
28977
29826
|
const frame = Internals.Timeline.useTimelinePosition();
|
|
28978
29827
|
const { playing, pause, emitter, isPlaying } = usePlayer();
|
|
28979
29828
|
const setFrame = Internals.Timeline.useTimelineSetFrame();
|
|
28980
|
-
const sharedAudioContext =
|
|
29829
|
+
const sharedAudioContext = useContext47(Internals.SharedAudioContext);
|
|
28981
29830
|
const logLevel = Internals.useLogLevel();
|
|
28982
29831
|
const isBackgroundedRef = useIsBackgrounded();
|
|
28983
29832
|
const lastTimeUpdateTimestamp = useRef46(0);
|
|
28984
|
-
const context =
|
|
29833
|
+
const context = useContext47(Internals.BufferingContextReact);
|
|
28985
29834
|
if (!context) {
|
|
28986
29835
|
throw new Error("Missing the buffering context. Most likely you have a Remotion version mismatch.");
|
|
28987
29836
|
}
|
|
@@ -29195,12 +30044,22 @@ var usePlayback = ({
|
|
|
29195
30044
|
}, [emitter, frame]);
|
|
29196
30045
|
};
|
|
29197
30046
|
var elementSizeHooks = [];
|
|
29198
|
-
var
|
|
30047
|
+
var getElement = (source) => {
|
|
30048
|
+
if (!source) {
|
|
30049
|
+
return null;
|
|
30050
|
+
}
|
|
30051
|
+
if ("current" in source) {
|
|
30052
|
+
return source.current;
|
|
30053
|
+
}
|
|
30054
|
+
return source;
|
|
30055
|
+
};
|
|
30056
|
+
var useElementSize = (source, options2) => {
|
|
29199
30057
|
const [size4, setSize] = useState42(() => {
|
|
29200
|
-
|
|
30058
|
+
const element = getElement(source);
|
|
30059
|
+
if (!element) {
|
|
29201
30060
|
return null;
|
|
29202
30061
|
}
|
|
29203
|
-
const rect =
|
|
30062
|
+
const rect = element.getClientRects();
|
|
29204
30063
|
if (!rect[0]) {
|
|
29205
30064
|
return null;
|
|
29206
30065
|
}
|
|
@@ -29249,10 +30108,11 @@ var useElementSize = (ref, options2) => {
|
|
|
29249
30108
|
});
|
|
29250
30109
|
}, [options2.shouldApplyCssTransforms]);
|
|
29251
30110
|
const updateSize = useCallback210(() => {
|
|
29252
|
-
|
|
30111
|
+
const element = getElement(source);
|
|
30112
|
+
if (!element) {
|
|
29253
30113
|
return;
|
|
29254
30114
|
}
|
|
29255
|
-
const rect =
|
|
30115
|
+
const rect = element.getClientRects();
|
|
29256
30116
|
if (!rect[0]) {
|
|
29257
30117
|
setSize(null);
|
|
29258
30118
|
return;
|
|
@@ -29273,21 +30133,24 @@ var useElementSize = (ref, options2) => {
|
|
|
29273
30133
|
}
|
|
29274
30134
|
};
|
|
29275
30135
|
});
|
|
29276
|
-
}, [
|
|
30136
|
+
}, [source]);
|
|
30137
|
+
useEffect62(() => {
|
|
30138
|
+
updateSize();
|
|
30139
|
+
}, [updateSize]);
|
|
29277
30140
|
useEffect62(() => {
|
|
29278
30141
|
if (!observer) {
|
|
29279
30142
|
return;
|
|
29280
30143
|
}
|
|
29281
|
-
const
|
|
29282
|
-
if (
|
|
29283
|
-
observer.observe(
|
|
30144
|
+
const element = getElement(source);
|
|
30145
|
+
if (element) {
|
|
30146
|
+
observer.observe(element);
|
|
29284
30147
|
}
|
|
29285
30148
|
return () => {
|
|
29286
|
-
if (
|
|
29287
|
-
observer.unobserve(
|
|
30149
|
+
if (element) {
|
|
30150
|
+
observer.unobserve(element);
|
|
29288
30151
|
}
|
|
29289
30152
|
};
|
|
29290
|
-
}, [observer,
|
|
30153
|
+
}, [observer, source]);
|
|
29291
30154
|
useEffect62(() => {
|
|
29292
30155
|
if (!options2.triggerOnWindowResize) {
|
|
29293
30156
|
return;
|
|
@@ -31441,7 +32304,7 @@ var useThumbnail = () => {
|
|
|
31441
32304
|
}, [emitter]);
|
|
31442
32305
|
return returnValue;
|
|
31443
32306
|
};
|
|
31444
|
-
var reactVersion2 =
|
|
32307
|
+
var reactVersion2 = React133.version.split(".")[0];
|
|
31445
32308
|
if (reactVersion2 === "0") {
|
|
31446
32309
|
throw new Error(`Version ${reactVersion2} of "react" is not supported by Remotion`);
|
|
31447
32310
|
}
|
|
@@ -32408,7 +33271,7 @@ var UNDERLAY_RED = curriedTransparentize$1(0.9, RED);
|
|
|
32408
33271
|
var BLUE_TEXT = curriedDarken$1(0.3, "#42e9f5");
|
|
32409
33272
|
|
|
32410
33273
|
// src/components/homepage/layout/use-color-mode.tsx
|
|
32411
|
-
import React57, { useContext as
|
|
33274
|
+
import React57, { useContext as useContext48, useMemo as useMemo55 } from "react";
|
|
32412
33275
|
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
32413
33276
|
var Context = React57.createContext(undefined);
|
|
32414
33277
|
var ColorModeProvider = ({
|
|
@@ -32425,7 +33288,7 @@ var ColorModeProvider = ({
|
|
|
32425
33288
|
});
|
|
32426
33289
|
};
|
|
32427
33290
|
function useColorMode() {
|
|
32428
|
-
const context =
|
|
33291
|
+
const context = useContext48(Context);
|
|
32429
33292
|
if (context === null || context === undefined) {
|
|
32430
33293
|
throw new Error("ColorModeProvider");
|
|
32431
33294
|
}
|
|
@@ -32433,13 +33296,12 @@ function useColorMode() {
|
|
|
32433
33296
|
}
|
|
32434
33297
|
|
|
32435
33298
|
// ../media/dist/esm/index.mjs
|
|
32436
|
-
import { useState as useState311 } from "react";
|
|
32437
|
-
import { useMemo as useMemo312 } from "react";
|
|
33299
|
+
import { useMemo as useMemo312, useState as useState311 } from "react";
|
|
32438
33300
|
import { useContext as useContext212, useEffect as useEffect44, useMemo as useMemo57, useRef as useRef49, useState as useState40 } from "react";
|
|
32439
33301
|
import { ALL_FORMATS, Input as Input2, UrlSource } from "mediabunny";
|
|
32440
33302
|
import { AudioBufferSink, InputDisposedError } from "mediabunny";
|
|
32441
33303
|
import { CanvasSink } from "mediabunny";
|
|
32442
|
-
import { useContext as
|
|
33304
|
+
import { useContext as useContext50, useLayoutEffect as useLayoutEffect18 } from "react";
|
|
32443
33305
|
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
32444
33306
|
import { useContext as useContext312, useLayoutEffect as useLayoutEffect24, useMemo as useMemo213, useState as useState212 } from "react";
|
|
32445
33307
|
import React211 from "react";
|
|
@@ -32455,10 +33317,10 @@ import {
|
|
|
32455
33317
|
} from "mediabunny";
|
|
32456
33318
|
import { jsx as jsx216 } from "react/jsx-runtime";
|
|
32457
33319
|
import { jsx as jsx316 } from "react/jsx-runtime";
|
|
32458
|
-
import
|
|
33320
|
+
import React63, { useMemo as useMemo63, useState as useState63 } from "react";
|
|
32459
33321
|
import {
|
|
32460
33322
|
useCallback as useCallback38,
|
|
32461
|
-
useContext as
|
|
33323
|
+
useContext as useContext49,
|
|
32462
33324
|
useEffect as useEffect212,
|
|
32463
33325
|
useLayoutEffect as useLayoutEffect34,
|
|
32464
33326
|
useMemo as useMemo412,
|
|
@@ -34375,7 +35237,7 @@ var useCommonEffects = ({
|
|
|
34375
35237
|
logLevel,
|
|
34376
35238
|
label: label3
|
|
34377
35239
|
}) => {
|
|
34378
|
-
const sharedAudioContext =
|
|
35240
|
+
const sharedAudioContext = useContext50(Internals.SharedAudioContext);
|
|
34379
35241
|
useLayoutEffect18(() => {
|
|
34380
35242
|
const mediaPlayer = mediaPlayerRef.current;
|
|
34381
35243
|
if (!mediaPlayer)
|
|
@@ -36870,14 +37732,17 @@ var audioSchema = {
|
|
|
36870
37732
|
max: 20,
|
|
36871
37733
|
step: 0.01,
|
|
36872
37734
|
default: 1,
|
|
36873
|
-
description: "Volume"
|
|
37735
|
+
description: "Volume",
|
|
37736
|
+
hiddenFromList: false
|
|
36874
37737
|
},
|
|
36875
37738
|
playbackRate: {
|
|
36876
37739
|
type: "number",
|
|
36877
37740
|
min: 0.1,
|
|
36878
37741
|
step: 0.01,
|
|
36879
37742
|
default: 1,
|
|
36880
|
-
description: "Playback Rate"
|
|
37743
|
+
description: "Playback Rate",
|
|
37744
|
+
hiddenFromList: false,
|
|
37745
|
+
keyframable: false
|
|
36881
37746
|
},
|
|
36882
37747
|
loop: { type: "boolean", default: false, description: "Loop" },
|
|
36883
37748
|
hidden: Internals.hiddenField
|
|
@@ -36962,7 +37827,11 @@ var AudioInner = (props) => {
|
|
|
36962
37827
|
})
|
|
36963
37828
|
});
|
|
36964
37829
|
};
|
|
36965
|
-
var Audio2 = Internals.wrapInSchema(
|
|
37830
|
+
var Audio2 = Internals.wrapInSchema({
|
|
37831
|
+
Component: AudioInner,
|
|
37832
|
+
schema: audioSchema,
|
|
37833
|
+
supportsEffects: false
|
|
37834
|
+
});
|
|
36966
37835
|
Internals.addSequenceStackTraces(Audio2);
|
|
36967
37836
|
var cache2 = new Map;
|
|
36968
37837
|
var cacheVideoFrame = (src, sourceCanvas) => {
|
|
@@ -37042,7 +37911,8 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37042
37911
|
_experimentalInitiallyDrawCachedFrame,
|
|
37043
37912
|
effects,
|
|
37044
37913
|
setMediaDurationInSeconds,
|
|
37045
|
-
refForOutline
|
|
37914
|
+
refForOutline,
|
|
37915
|
+
...props
|
|
37046
37916
|
}) => {
|
|
37047
37917
|
const src = usePreload22(unpreloadedSrc);
|
|
37048
37918
|
const canvasRef = useRef211(null);
|
|
@@ -37057,7 +37927,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37057
37927
|
const [shouldFallbackToNativeVideo, setShouldFallbackToNativeVideo] = useState43(false);
|
|
37058
37928
|
const [playing] = Timeline2.usePlayingState();
|
|
37059
37929
|
const { playbackRate: globalPlaybackRate } = Internals.usePlaybackRate();
|
|
37060
|
-
const sharedAudioContext =
|
|
37930
|
+
const sharedAudioContext = useContext49(SharedAudioContext22);
|
|
37061
37931
|
const buffer = useBufferState();
|
|
37062
37932
|
const canvasRefCallback = useCallback38((canvas) => {
|
|
37063
37933
|
canvasRef.current = canvas;
|
|
@@ -37083,7 +37953,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37083
37953
|
effectsRef.current = effects;
|
|
37084
37954
|
const effectChainStateRef = useRef211(effectChainState);
|
|
37085
37955
|
effectChainStateRef.current = effectChainState;
|
|
37086
|
-
const parentSequence =
|
|
37956
|
+
const parentSequence = useContext49(SequenceContext22);
|
|
37087
37957
|
const isPremounting = Boolean(parentSequence?.premounting);
|
|
37088
37958
|
const isPostmounting = Boolean(parentSequence?.postmounting);
|
|
37089
37959
|
const sequenceOffset = ((parentSequence?.cumulatedFrom ?? 0) + (parentSequence?.relativeFrom ?? 0)) / videoConfig.fps;
|
|
@@ -37091,7 +37961,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37091
37961
|
const currentTimeRef = useRef211(currentTime);
|
|
37092
37962
|
currentTimeRef.current = currentTime;
|
|
37093
37963
|
const preloadedSrc = usePreload22(src);
|
|
37094
|
-
const buffering =
|
|
37964
|
+
const buffering = useContext49(Internals.BufferingContextReact);
|
|
37095
37965
|
if (!buffering) {
|
|
37096
37966
|
throw new Error("useMediaPlayback must be used inside a <BufferingContext>");
|
|
37097
37967
|
}
|
|
@@ -37135,8 +38005,8 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37135
38005
|
if (!_experimentalInitiallyDrawCachedFrame) {
|
|
37136
38006
|
return;
|
|
37137
38007
|
}
|
|
37138
|
-
const canvas = canvasRef.current;
|
|
37139
38008
|
return () => {
|
|
38009
|
+
const canvas = canvasRef.current;
|
|
37140
38010
|
if (!canvas || !hasDrawnRealFrameRef.current || isPremountingRef.current) {
|
|
37141
38011
|
return;
|
|
37142
38012
|
}
|
|
@@ -37340,6 +38210,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37340
38210
|
}, [objectFitProp, style2]);
|
|
37341
38211
|
if (shouldFallbackToNativeVideo && !disallowFallbackToOffthreadVideo) {
|
|
37342
38212
|
return /* @__PURE__ */ jsx412(Html5Video, {
|
|
38213
|
+
...props,
|
|
37343
38214
|
ref: fallbackVideoRef,
|
|
37344
38215
|
src,
|
|
37345
38216
|
style: actualStyle,
|
|
@@ -37361,6 +38232,7 @@ var VideoForPreviewAssertedShowing = ({
|
|
|
37361
38232
|
return null;
|
|
37362
38233
|
}
|
|
37363
38234
|
return /* @__PURE__ */ jsx412("canvas", {
|
|
38235
|
+
...props,
|
|
37364
38236
|
ref: canvasRefCallback,
|
|
37365
38237
|
style: actualStyle,
|
|
37366
38238
|
className: classNameValue
|
|
@@ -37423,7 +38295,8 @@ var VideoForRendering2 = ({
|
|
|
37423
38295
|
credentials,
|
|
37424
38296
|
requestInit,
|
|
37425
38297
|
objectFit: objectFitProp,
|
|
37426
|
-
effects
|
|
38298
|
+
effects,
|
|
38299
|
+
...props
|
|
37427
38300
|
}) => {
|
|
37428
38301
|
if (!src) {
|
|
37429
38302
|
throw new TypeError("No `src` was passed to <Video>.");
|
|
@@ -37658,6 +38531,7 @@ var VideoForRendering2 = ({
|
|
|
37658
38531
|
}, [objectFitProp, style2]);
|
|
37659
38532
|
if (replaceWithOffthreadVideo) {
|
|
37660
38533
|
const fallback = /* @__PURE__ */ jsx510(Internals.InnerOffthreadVideo, {
|
|
38534
|
+
...props,
|
|
37661
38535
|
src,
|
|
37662
38536
|
playbackRate: playbackRate ?? 1,
|
|
37663
38537
|
muted: muted ?? false,
|
|
@@ -37713,6 +38587,7 @@ var VideoForRendering2 = ({
|
|
|
37713
38587
|
return null;
|
|
37714
38588
|
}
|
|
37715
38589
|
return /* @__PURE__ */ jsx510("canvas", {
|
|
38590
|
+
...props,
|
|
37716
38591
|
ref: canvasRef,
|
|
37717
38592
|
style: styleWithObjectFit,
|
|
37718
38593
|
className: classNameValue
|
|
@@ -37726,14 +38601,17 @@ var videoSchema = {
|
|
|
37726
38601
|
max: 20,
|
|
37727
38602
|
step: 0.01,
|
|
37728
38603
|
default: 1,
|
|
37729
|
-
description: "Volume"
|
|
38604
|
+
description: "Volume",
|
|
38605
|
+
hiddenFromList: false
|
|
37730
38606
|
},
|
|
37731
38607
|
playbackRate: {
|
|
37732
38608
|
type: "number",
|
|
37733
38609
|
min: 0.1,
|
|
37734
38610
|
step: 0.01,
|
|
37735
38611
|
default: 1,
|
|
37736
|
-
description: "Playback Rate"
|
|
38612
|
+
description: "Playback Rate",
|
|
38613
|
+
hiddenFromList: false,
|
|
38614
|
+
keyframable: false
|
|
37737
38615
|
},
|
|
37738
38616
|
hidden: {
|
|
37739
38617
|
type: "boolean",
|
|
@@ -37774,7 +38652,8 @@ var InnerVideo = ({
|
|
|
37774
38652
|
_experimentalInitiallyDrawCachedFrame,
|
|
37775
38653
|
effects,
|
|
37776
38654
|
setMediaDurationInSeconds,
|
|
37777
|
-
refForOutline
|
|
38655
|
+
refForOutline,
|
|
38656
|
+
...props
|
|
37778
38657
|
}) => {
|
|
37779
38658
|
const environment = useRemotionEnvironment();
|
|
37780
38659
|
if (typeof src !== "string") {
|
|
@@ -37795,6 +38674,7 @@ var InnerVideo = ({
|
|
|
37795
38674
|
validateMediaProps22({ playbackRate, volume }, "Video");
|
|
37796
38675
|
if (environment.isRendering) {
|
|
37797
38676
|
return /* @__PURE__ */ jsx65(VideoForRendering2, {
|
|
38677
|
+
...props,
|
|
37798
38678
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
37799
38679
|
className: className2,
|
|
37800
38680
|
delayRenderRetries: delayRenderRetries ?? null,
|
|
@@ -37823,6 +38703,7 @@ var InnerVideo = ({
|
|
|
37823
38703
|
});
|
|
37824
38704
|
}
|
|
37825
38705
|
return /* @__PURE__ */ jsx65(VideoForPreview2, {
|
|
38706
|
+
...props,
|
|
37826
38707
|
setMediaDurationInSeconds,
|
|
37827
38708
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
37828
38709
|
className: className2,
|
|
@@ -37886,7 +38767,8 @@ var VideoInner = ({
|
|
|
37886
38767
|
effects,
|
|
37887
38768
|
durationInFrames,
|
|
37888
38769
|
from,
|
|
37889
|
-
hidden
|
|
38770
|
+
hidden,
|
|
38771
|
+
...props
|
|
37890
38772
|
}) => {
|
|
37891
38773
|
const fallbackLogLevel = Internals.useLogLevel();
|
|
37892
38774
|
const [mediaVolume] = Internals.useMediaVolumeState();
|
|
@@ -37933,7 +38815,7 @@ var VideoInner = ({
|
|
|
37933
38815
|
overrideId: controls?.overrideId ?? null
|
|
37934
38816
|
});
|
|
37935
38817
|
const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects ?? []);
|
|
37936
|
-
const refForOutline =
|
|
38818
|
+
const refForOutline = React63.useRef(null);
|
|
37937
38819
|
if (sequenceDurationInFrames === 0) {
|
|
37938
38820
|
return null;
|
|
37939
38821
|
}
|
|
@@ -37952,6 +38834,7 @@ var VideoInner = ({
|
|
|
37952
38834
|
showInTimeline: showInTimeline ?? true,
|
|
37953
38835
|
hidden,
|
|
37954
38836
|
children: /* @__PURE__ */ jsx65(InnerVideo, {
|
|
38837
|
+
...props,
|
|
37955
38838
|
audioStreamIndex: audioStreamIndex ?? 0,
|
|
37956
38839
|
className: className2,
|
|
37957
38840
|
delayRenderRetries: delayRenderRetries ?? null,
|
|
@@ -37986,7 +38869,11 @@ var VideoInner = ({
|
|
|
37986
38869
|
})
|
|
37987
38870
|
});
|
|
37988
38871
|
};
|
|
37989
|
-
var Video = Internals.wrapInSchema(
|
|
38872
|
+
var Video = Internals.wrapInSchema({
|
|
38873
|
+
Component: VideoInner,
|
|
38874
|
+
schema: videoSchema,
|
|
38875
|
+
supportsEffects: true
|
|
38876
|
+
});
|
|
37990
38877
|
Internals.addSequenceStackTraces(Video);
|
|
37991
38878
|
|
|
37992
38879
|
// src/components/homepage/Demo/Comp.tsx
|
|
@@ -39290,7 +40177,7 @@ import {
|
|
|
39290
40177
|
import { BufferTarget, StreamTarget } from "mediabunny";
|
|
39291
40178
|
|
|
39292
40179
|
// ../core/dist/esm/version.mjs
|
|
39293
|
-
var VERSION2 = "4.0.
|
|
40180
|
+
var VERSION2 = "4.0.473";
|
|
39294
40181
|
|
|
39295
40182
|
// ../web-renderer/dist/esm/index.mjs
|
|
39296
40183
|
import { AudioSample, VideoSample } from "mediabunny";
|
|
@@ -40033,7 +40920,8 @@ function createScaffold({
|
|
|
40033
40920
|
videoEnabled,
|
|
40034
40921
|
defaultCodec,
|
|
40035
40922
|
defaultOutName,
|
|
40036
|
-
allowHtmlInCanvas
|
|
40923
|
+
allowHtmlInCanvas,
|
|
40924
|
+
pixelDensity
|
|
40037
40925
|
}) {
|
|
40038
40926
|
if (!ReactDOM6.createRoot) {
|
|
40039
40927
|
throw new Error("@remotion/web-renderer requires React 18 or higher");
|
|
@@ -40125,19 +41013,22 @@ function createScaffold({
|
|
|
40125
41013
|
},
|
|
40126
41014
|
folders: []
|
|
40127
41015
|
},
|
|
40128
|
-
children: /* @__PURE__ */ jsx217(Internals.
|
|
40129
|
-
|
|
40130
|
-
children: /* @__PURE__ */ jsx217(
|
|
40131
|
-
|
|
40132
|
-
|
|
40133
|
-
|
|
40134
|
-
|
|
40135
|
-
|
|
40136
|
-
|
|
40137
|
-
|
|
40138
|
-
|
|
40139
|
-
children: /* @__PURE__ */ jsx217(
|
|
40140
|
-
|
|
41016
|
+
children: /* @__PURE__ */ jsx217(Internals.PixelDensityContext.Provider, {
|
|
41017
|
+
value: pixelDensity,
|
|
41018
|
+
children: /* @__PURE__ */ jsx217(Internals.RenderAssetManagerProvider, {
|
|
41019
|
+
collectAssets,
|
|
41020
|
+
children: /* @__PURE__ */ jsx217(UpdateTime, {
|
|
41021
|
+
audioEnabled,
|
|
41022
|
+
videoEnabled,
|
|
41023
|
+
logLevel,
|
|
41024
|
+
compId: id,
|
|
41025
|
+
initialFrame,
|
|
41026
|
+
timeUpdater,
|
|
41027
|
+
children: /* @__PURE__ */ jsx217(Internals.CanUseRemotionHooks.Provider, {
|
|
41028
|
+
value: true,
|
|
41029
|
+
children: /* @__PURE__ */ jsx217(Component, {
|
|
41030
|
+
...resolvedProps
|
|
41031
|
+
})
|
|
40141
41032
|
})
|
|
40142
41033
|
})
|
|
40143
41034
|
})
|
|
@@ -43084,6 +43975,8 @@ var drawText = ({
|
|
|
43084
43975
|
span.textContent = transformedText;
|
|
43085
43976
|
const tokens = findWords(span);
|
|
43086
43977
|
const textShadows = parseTextShadow(textShadowValue);
|
|
43978
|
+
const ctm = contextToDraw.getTransform();
|
|
43979
|
+
const blurScale = Math.hypot(ctm.a, ctm.b);
|
|
43087
43980
|
const { strokeFirst } = parsePaintOrder(paintOrder);
|
|
43088
43981
|
for (const token of tokens) {
|
|
43089
43982
|
const measurements = contextToDraw.measureText(originalText);
|
|
@@ -43096,9 +43989,9 @@ var drawText = ({
|
|
|
43096
43989
|
for (let i = textShadows.length - 1;i >= 0; i--) {
|
|
43097
43990
|
const shadow = textShadows[i];
|
|
43098
43991
|
contextToDraw.shadowColor = shadow.color;
|
|
43099
|
-
contextToDraw.shadowBlur = shadow.blurRadius;
|
|
43100
|
-
contextToDraw.shadowOffsetX = shadow.offsetX;
|
|
43101
|
-
contextToDraw.shadowOffsetY = shadow.offsetY;
|
|
43992
|
+
contextToDraw.shadowBlur = shadow.blurRadius * blurScale;
|
|
43993
|
+
contextToDraw.shadowOffsetX = shadow.offsetX * ctm.a + shadow.offsetY * ctm.c;
|
|
43994
|
+
contextToDraw.shadowOffsetY = shadow.offsetX * ctm.b + shadow.offsetY * ctm.d;
|
|
43102
43995
|
contextToDraw.fillText(token.text, x, y);
|
|
43103
43996
|
}
|
|
43104
43997
|
contextToDraw.shadowColor = "transparent";
|
|
@@ -43603,7 +44496,8 @@ var internalRenderMediaOnWeb = async ({
|
|
|
43603
44496
|
initialFrame: 0,
|
|
43604
44497
|
defaultCodec: resolved.defaultCodec,
|
|
43605
44498
|
defaultOutName: resolved.defaultOutName,
|
|
43606
|
-
allowHtmlInCanvas
|
|
44499
|
+
allowHtmlInCanvas,
|
|
44500
|
+
pixelDensity: scale
|
|
43607
44501
|
}), 0);
|
|
43608
44502
|
const {
|
|
43609
44503
|
delayRenderScope,
|
|
@@ -43920,7 +44814,7 @@ var renderMediaOnWeb = (options2) => {
|
|
|
43920
44814
|
};
|
|
43921
44815
|
|
|
43922
44816
|
// src/components/homepage/Demo/DemoRender.tsx
|
|
43923
|
-
import
|
|
44817
|
+
import React69, { useCallback as useCallback47 } from "react";
|
|
43924
44818
|
import { z } from "zod";
|
|
43925
44819
|
|
|
43926
44820
|
// src/components/homepage/Demo/DemoErrorIcon.tsx
|
|
@@ -44118,7 +45012,7 @@ var style2 = {
|
|
|
44118
45012
|
justifyContent: "center"
|
|
44119
45013
|
};
|
|
44120
45014
|
var RenderButton = ({ renderData, onError, playerRef }) => {
|
|
44121
|
-
const [state, setState] =
|
|
45015
|
+
const [state, setState] = React69.useState({
|
|
44122
45016
|
type: "idle"
|
|
44123
45017
|
});
|
|
44124
45018
|
const triggerRender = useCallback47(async () => {
|
|
@@ -44693,7 +45587,7 @@ var PlayerVolume = ({ playerRef }) => {
|
|
|
44693
45587
|
};
|
|
44694
45588
|
|
|
44695
45589
|
// src/components/homepage/Demo/PlayPauseButton.tsx
|
|
44696
|
-
import
|
|
45590
|
+
import React73, { useCallback as useCallback51, useEffect as useEffect56 } from "react";
|
|
44697
45591
|
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
44698
45592
|
var playerButtonStyle2 = {
|
|
44699
45593
|
appearance: "none",
|
|
@@ -44710,7 +45604,7 @@ var playerButtonStyle2 = {
|
|
|
44710
45604
|
color: PALETTE.TEXT_COLOR
|
|
44711
45605
|
};
|
|
44712
45606
|
var PlayPauseButton = ({ playerRef }) => {
|
|
44713
|
-
const [playing, setPlaying] =
|
|
45607
|
+
const [playing, setPlaying] = React73.useState(true);
|
|
44714
45608
|
useEffect56(() => {
|
|
44715
45609
|
const { current } = playerRef;
|
|
44716
45610
|
if (!current) {
|
|
@@ -44748,7 +45642,7 @@ var PlayPauseButton = ({ playerRef }) => {
|
|
|
44748
45642
|
};
|
|
44749
45643
|
|
|
44750
45644
|
// src/components/homepage/Demo/TimeDisplay.tsx
|
|
44751
|
-
import
|
|
45645
|
+
import React75, { useEffect as useEffect57 } from "react";
|
|
44752
45646
|
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
44753
45647
|
var formatTime2 = (timeInSeconds) => {
|
|
44754
45648
|
const minutes = Math.floor(timeInSeconds / 60);
|
|
@@ -44756,7 +45650,7 @@ var formatTime2 = (timeInSeconds) => {
|
|
|
44756
45650
|
return `${String(minutes)}:${String(seconds).padStart(2, "0")}`;
|
|
44757
45651
|
};
|
|
44758
45652
|
var TimeDisplay = ({ fps, playerRef }) => {
|
|
44759
|
-
const [time, setTime] =
|
|
45653
|
+
const [time, setTime] = React75.useState(0);
|
|
44760
45654
|
useEffect57(() => {
|
|
44761
45655
|
const { current } = playerRef;
|
|
44762
45656
|
if (!current) {
|
|
@@ -44835,7 +45729,7 @@ var PlayerControls = ({ playerRef, durationInFrames, fps, children }) => {
|
|
|
44835
45729
|
};
|
|
44836
45730
|
|
|
44837
45731
|
// src/components/homepage/Demo/ThemeNudge.tsx
|
|
44838
|
-
import
|
|
45732
|
+
import React76 from "react";
|
|
44839
45733
|
import { jsx as jsx110, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
44840
45734
|
var origWidth3 = 37;
|
|
44841
45735
|
var scale3 = 0.4;
|
|
@@ -44858,7 +45752,7 @@ var Icon6 = () => {
|
|
|
44858
45752
|
};
|
|
44859
45753
|
var ThemeNudge = () => {
|
|
44860
45754
|
const { colorMode, setColorMode } = useColorMode();
|
|
44861
|
-
const toggleTheme =
|
|
45755
|
+
const toggleTheme = React76.useCallback((e) => {
|
|
44862
45756
|
e.preventDefault();
|
|
44863
45757
|
setColorMode(colorMode === "dark" ? "light" : "dark");
|
|
44864
45758
|
}, [colorMode, setColorMode]);
|