@remotion/studio 4.0.523 → 4.0.524
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/components/ActionTooltip.d.ts +9 -0
- package/dist/components/ActionTooltip.js +143 -0
- package/dist/components/Canvas.js +3 -2
- package/dist/components/CheckboardToggle.js +7 -10
- package/dist/components/ElementInstallConfirmation.js +6 -41
- package/dist/components/FullscreenToggle.js +5 -8
- package/dist/components/GlobalKeybindings.js +57 -0
- package/dist/components/InspectorSequenceSection.js +5 -5
- package/dist/components/LazySyntaxHighlightedSource.d.ts +4 -0
- package/dist/components/LazySyntaxHighlightedSource.js +43 -0
- package/dist/components/LoopToggle.js +8 -2
- package/dist/components/MenuToolbar.js +6 -4
- package/dist/components/MuteToggle.d.ts +1 -0
- package/dist/components/MuteToggle.js +16 -6
- package/dist/components/NewComposition/NewComposition.d.ts +1 -0
- package/dist/components/NewComposition/NewComposition.js +5 -4
- package/dist/components/NewComposition/NewFolder.js +2 -4
- package/dist/components/NewComposition/RenameComposition.js +3 -2
- package/dist/components/NewComposition/RenameFolder.js +2 -4
- package/dist/components/NewComposition/SlugPreview.d.ts +7 -0
- package/dist/components/NewComposition/SlugPreview.js +18 -0
- package/dist/components/OutlineToggle.js +16 -10
- package/dist/components/PlayPause.js +7 -1
- package/dist/components/PlaybackKeyboardShortcutsManager.d.ts +2 -0
- package/dist/components/PlaybackKeyboardShortcutsManager.js +36 -1
- package/dist/components/PlaybackRateSelector.js +2 -2
- package/dist/components/PreviewToolbar.js +1 -1
- package/dist/components/PreviewToolbarOverflowButton.js +8 -2
- package/dist/components/RenderQueue/CaptionQueueItem.js +2 -1
- package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +2 -1
- package/dist/components/RenderQueue/RenderQueueDownloadItem.js +2 -1
- package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +2 -1
- package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +2 -1
- package/dist/components/RenderQueue/RenderQueueRemoveItem.js +2 -1
- package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -1
- package/dist/components/RenderQueue/VideoMattingQueueItem.js +2 -1
- package/dist/components/RulersAndGuidesToggle.js +7 -1
- package/dist/components/SettingsButton.js +8 -6
- package/dist/components/SettingsModal.js +1 -1
- package/dist/components/SidebarCollapserControls.js +13 -16
- package/dist/components/SizeSelector.js +2 -2
- package/dist/components/SnappingToggle.js +6 -8
- package/dist/components/StudioSettings.js +32 -18
- package/dist/components/SyntaxHighlightedSource.d.ts +5 -0
- package/dist/components/{HighlightedElementSource.js → SyntaxHighlightedSource.js} +2 -2
- package/dist/components/Timeline/Timeline.js +47 -39
- package/dist/components/Timeline/TimelineLayerChildren.js +12 -9
- package/dist/components/Timeline/TimelineZoomControls.js +2 -1
- package/dist/components/Timeline/timeline-field-display-utils.js +8 -5
- package/dist/components/TimelineCombobox.d.ts +1 -0
- package/dist/components/TimelineCombobox.js +8 -4
- package/dist/components/TimelineInOutToggle.js +8 -15
- package/dist/components/handle-drop.js +3 -2
- package/dist/components/keyboard-shortcuts.d.ts +4 -4
- package/dist/components/keyboard-shortcuts.js +23 -9
- package/dist/error-overlay/remotion-overlay/CodeFrame.js +29 -18
- package/dist/esm/LazyModels-hc33szyn.mjs +11 -0
- package/dist/esm/LazyModels-sg40rjw6.mjs +11 -0
- package/dist/esm/{HighlightedElementSource-jfc66k4p.mjs → SyntaxHighlightedSource-3xks91rz.mjs} +4 -4
- package/dist/esm/{TranscriptionModal-916jqhry.mjs → TranscriptionModal-3ctnxpt6.mjs} +7 -7
- package/dist/esm/{VideoMattingModal-2tm79s9b.mjs → VideoMattingModal-b0r7e60n.mjs} +7 -7
- package/dist/esm/{index-te66vvrp.mjs → index-1b9skrrd.mjs} +4 -4
- package/dist/esm/{index-1x7bsdh6.mjs → index-2j3d1g81.mjs} +2 -2
- package/dist/esm/{index-hy4xcgty.mjs → index-9qtvmwtx.mjs} +1 -1
- package/dist/esm/{index-6cvm9a65.mjs → index-c37kme2v.mjs} +842 -556
- package/dist/esm/{index-5qddp5h7.mjs → index-e3zwf3e7.mjs} +1 -1
- package/dist/esm/{index-x7t2y7ws.mjs → index-er3mh6em.mjs} +3584 -3090
- package/dist/esm/{index-jg13hf2g.mjs → index-k426ye99.mjs} +2 -1
- package/dist/esm/{index-sgtmgc4h.mjs → index-q2epbw93.mjs} +3 -3
- package/dist/esm/{index-3hgr6gjx.mjs → index-q5xv20xx.mjs} +1 -1
- package/dist/esm/{index-czwvnn9g.mjs → index-wbmp5srk.mjs} +1 -1
- package/dist/esm/{index-xhe2m2qr.mjs → index-yfrysr5f.mjs} +18 -10
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/internals.mjs +8 -8
- package/dist/esm/previewEntry.mjs +8 -8
- package/dist/esm/renderEntry.mjs +3 -3
- package/dist/helpers/colors.d.ts +1 -0
- package/dist/helpers/colors.js +4 -3
- package/dist/helpers/inject-css.js +2 -2
- package/dist/helpers/prism-vsc-dark-plus.d.ts +1 -0
- package/dist/helpers/prism-vsc-dark-plus.js +305 -0
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/use-create-composition.d.ts +1 -0
- package/dist/helpers/use-create-composition.js +12 -7
- package/dist/helpers/use-keybinding.d.ts +1 -1
- package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
- package/dist/helpers/use-menu-structure.js +1 -1
- package/dist/helpers/use-rename-composition.d.ts +1 -0
- package/dist/helpers/use-rename-composition.js +11 -5
- package/dist/icons/skills.js +1 -1
- package/dist/renderEntry.js +2 -2
- package/package.json +20 -20
- package/dist/components/HighlightedElementSource.d.ts +0 -5
- package/dist/esm/LazyModels-2trdm224.mjs +0 -11
- package/dist/esm/LazyModels-fjb5ckaq.mjs +0 -11
- package/dist/helpers/prism-tomorrow.d.ts +0 -1
- package/dist/helpers/prism-tomorrow.js +0 -151
- /package/dist/esm/{resolve-composition-component-location-14148845.mjs → resolve-composition-component-location-bt2d6qxq.mjs} +0 -0
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
useZodTypesIfPossible,
|
|
59
59
|
watchPublicFolder,
|
|
60
60
|
zodSafeParse
|
|
61
|
-
} from "./index-
|
|
61
|
+
} from "./index-9qtvmwtx.mjs";
|
|
62
62
|
import {
|
|
63
63
|
BROWSER_STUDIO_OPERATIONS_READY_EVENT,
|
|
64
64
|
canUseEffectOperations,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
startCapturedPointerSession,
|
|
95
95
|
useKeybinding,
|
|
96
96
|
useZIndex
|
|
97
|
-
} from "./index-
|
|
97
|
+
} from "./index-yfrysr5f.mjs";
|
|
98
98
|
import {
|
|
99
99
|
getStudioKeyboardShortcutsEnabled
|
|
100
100
|
} from "./index-5zrb1ft4.mjs";
|
|
@@ -158,10 +158,11 @@ import {
|
|
|
158
158
|
WHITE_ALPHA_50,
|
|
159
159
|
WHITE_ALPHA_72,
|
|
160
160
|
WHITE_ALPHA_80,
|
|
161
|
+
WHITE_ALPHA_90,
|
|
161
162
|
WHITE_FULL_HEX,
|
|
162
163
|
WHITE_HEX,
|
|
163
164
|
getBackgroundFromHoverState
|
|
164
|
-
} from "./index-
|
|
165
|
+
} from "./index-k426ye99.mjs";
|
|
165
166
|
import {
|
|
166
167
|
__require,
|
|
167
168
|
__toESM
|
|
@@ -2362,17 +2363,17 @@ var Checkbox = ({ checked, onChange, disabled, inputId, name, variant = "default
|
|
|
2362
2363
|
|
|
2363
2364
|
// src/components/OptionsPanel.tsx
|
|
2364
2365
|
import {
|
|
2365
|
-
useCallback as
|
|
2366
|
+
useCallback as useCallback132,
|
|
2366
2367
|
useContext as useContext82,
|
|
2367
2368
|
useImperativeHandle as useImperativeHandle5,
|
|
2368
2369
|
useMemo as useMemo126,
|
|
2369
|
-
useState as
|
|
2370
|
+
useState as useState73
|
|
2370
2371
|
} from "react";
|
|
2371
|
-
import { Internals as
|
|
2372
|
+
import { Internals as Internals62 } from "remotion";
|
|
2372
2373
|
|
|
2373
2374
|
// src/components/InspectorPanel.tsx
|
|
2374
2375
|
import { useContext as useContext70, useMemo as useMemo112 } from "react";
|
|
2375
|
-
import { Internals as
|
|
2376
|
+
import { Internals as Internals58 } from "remotion";
|
|
2376
2377
|
|
|
2377
2378
|
// src/components/CurrentAsset.tsx
|
|
2378
2379
|
import { formatBytes } from "@remotion/studio-shared";
|
|
@@ -10548,7 +10549,7 @@ var loadCompositionComponentInfo = async ({
|
|
|
10548
10549
|
if (files === null) {
|
|
10549
10550
|
throw new Error(`Could not find source map contents for ${compositionFile}`);
|
|
10550
10551
|
}
|
|
10551
|
-
const { resolveCompositionComponentLocation } = await import("./resolve-composition-component-location-
|
|
10552
|
+
const { resolveCompositionComponentLocation } = await import("./resolve-composition-component-location-bt2d6qxq.mjs");
|
|
10552
10553
|
return {
|
|
10553
10554
|
canAddSequence: false,
|
|
10554
10555
|
location: resolveCompositionComponentLocation({
|
|
@@ -11105,7 +11106,7 @@ import {
|
|
|
11105
11106
|
useEffect as useEffect28,
|
|
11106
11107
|
useMemo as useMemo59
|
|
11107
11108
|
} from "react";
|
|
11108
|
-
import { Internals as
|
|
11109
|
+
import { Internals as Internals9 } from "remotion";
|
|
11109
11110
|
|
|
11110
11111
|
// src/helpers/get-git-menu-item.ts
|
|
11111
11112
|
var getGitSourceName = (gitSource) => {
|
|
@@ -11232,11 +11233,17 @@ var resolvedStackToSymbolicated = (location) => {
|
|
|
11232
11233
|
// src/helpers/use-rename-composition.ts
|
|
11233
11234
|
import { useCallback as useCallback48, useMemo as useMemo53 } from "react";
|
|
11234
11235
|
|
|
11235
|
-
// src/helpers/
|
|
11236
|
+
// src/helpers/slugify-name.ts
|
|
11236
11237
|
import { Internals as Internals6 } from "remotion";
|
|
11238
|
+
var slugifyName = (name) => {
|
|
11239
|
+
return Internals6.isFolderNameValid(name) ? name : name.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-zA-Z0-9\u4E00-\u9FFF-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
11240
|
+
};
|
|
11241
|
+
|
|
11242
|
+
// src/helpers/validate-new-comp-data.ts
|
|
11243
|
+
import { Internals as Internals7 } from "remotion";
|
|
11237
11244
|
var validateCompositionName = (compName, compositions) => {
|
|
11238
|
-
if (!
|
|
11239
|
-
return
|
|
11245
|
+
if (!Internals7.isCompositionIdValid(compName)) {
|
|
11246
|
+
return Internals7.invalidCompositionErrorMessage;
|
|
11240
11247
|
}
|
|
11241
11248
|
if (compositions.find((c) => c.id === compName)) {
|
|
11242
11249
|
return `A composition with that name already exists.`;
|
|
@@ -11275,25 +11282,27 @@ var useRenameComposition = ({
|
|
|
11275
11282
|
newId
|
|
11276
11283
|
}) => {
|
|
11277
11284
|
const getValidationMessage = useCallback48((value) => {
|
|
11278
|
-
|
|
11285
|
+
const slug = slugifyName(value);
|
|
11286
|
+
if (slug === currentId) {
|
|
11279
11287
|
return null;
|
|
11280
11288
|
}
|
|
11281
|
-
return validateCompositionName(
|
|
11289
|
+
return slug ? validateCompositionName(slug, compositions) : "Enter an ID containing letters or numbers.";
|
|
11282
11290
|
}, [compositions, currentId]);
|
|
11283
11291
|
const getCodemod = useCallback48((value) => {
|
|
11284
11292
|
return {
|
|
11285
11293
|
type: "rename-composition",
|
|
11286
11294
|
idToRename: currentId,
|
|
11287
|
-
newId: value
|
|
11295
|
+
newId: slugifyName(value)
|
|
11288
11296
|
};
|
|
11289
11297
|
}, [currentId]);
|
|
11298
|
+
const compositionId = slugifyName(newId);
|
|
11290
11299
|
const validationMessage = useMemo53(() => {
|
|
11291
11300
|
return getValidationMessage(newId);
|
|
11292
11301
|
}, [getValidationMessage, newId]);
|
|
11293
11302
|
const codemod = useMemo53(() => {
|
|
11294
11303
|
return getCodemod(newId);
|
|
11295
11304
|
}, [getCodemod, newId]);
|
|
11296
|
-
const valid = validationMessage === null && currentId !==
|
|
11305
|
+
const valid = validationMessage === null && currentId !== compositionId;
|
|
11297
11306
|
const renameComposition = useCallback48(async ({
|
|
11298
11307
|
newCompositionId,
|
|
11299
11308
|
signal,
|
|
@@ -11306,12 +11315,13 @@ var useRenameComposition = ({
|
|
|
11306
11315
|
symbolicatedStack
|
|
11307
11316
|
});
|
|
11308
11317
|
if (result.success) {
|
|
11309
|
-
pushUrl(`/${newCompositionId}`);
|
|
11318
|
+
pushUrl(`/${slugifyName(newCompositionId)}`);
|
|
11310
11319
|
}
|
|
11311
11320
|
return result;
|
|
11312
11321
|
}, [getCodemod]);
|
|
11313
11322
|
return {
|
|
11314
11323
|
codemod,
|
|
11324
|
+
compositionId,
|
|
11315
11325
|
getValidationMessage,
|
|
11316
11326
|
renameComposition,
|
|
11317
11327
|
valid,
|
|
@@ -11321,7 +11331,7 @@ var useRenameComposition = ({
|
|
|
11321
11331
|
|
|
11322
11332
|
// src/components/Timeline/use-resolved-stack.ts
|
|
11323
11333
|
import { useContext as useContext19, useEffect as useEffect26, useState as useState32 } from "react";
|
|
11324
|
-
import { Internals as
|
|
11334
|
+
import { Internals as Internals8 } from "remotion";
|
|
11325
11335
|
var resolvedCache = new Map;
|
|
11326
11336
|
var hasResolvedStack = (stack) => {
|
|
11327
11337
|
if (!stack) {
|
|
@@ -11332,7 +11342,7 @@ var hasResolvedStack = (stack) => {
|
|
|
11332
11342
|
var inFlight = new Set;
|
|
11333
11343
|
var subscribers = new Map;
|
|
11334
11344
|
var useResolvedStack = (stack) => {
|
|
11335
|
-
const updateResolvedStackTrace = useContext19(
|
|
11345
|
+
const updateResolvedStackTrace = useContext19(Internals8.SequenceStackTracesUpdateContext);
|
|
11336
11346
|
const [value, setValue] = useState32(() => {
|
|
11337
11347
|
if (!stack) {
|
|
11338
11348
|
return null;
|
|
@@ -12466,8 +12476,8 @@ var renderReactIcon = (color) => {
|
|
|
12466
12476
|
});
|
|
12467
12477
|
};
|
|
12468
12478
|
var CompositionInspectorHeader = () => {
|
|
12469
|
-
const video =
|
|
12470
|
-
const { compositions } = useContext22(
|
|
12479
|
+
const video = Internals9.useVideo();
|
|
12480
|
+
const { compositions } = useContext22(Internals9.CompositionManager);
|
|
12471
12481
|
const { previewServerState } = useContext22(StudioServerConnectionCtx);
|
|
12472
12482
|
const { canOpenInEditor: canOpenInEditor2, defaultEditorId } = useEditorOpening(previewServerState.type === "connected");
|
|
12473
12483
|
const canOpenInGitHub = hasReadOnlyGitSource();
|
|
@@ -12574,7 +12584,7 @@ var CompositionInspectorHeader = () => {
|
|
|
12574
12584
|
|
|
12575
12585
|
// src/components/InspectorPanel/CompositionMetadata.tsx
|
|
12576
12586
|
import { useCallback as useCallback58, useEffect as useEffect29, useMemo as useMemo61, useRef as useRef20, useState as useState38 } from "react";
|
|
12577
|
-
import { Internals as
|
|
12587
|
+
import { Internals as Internals10 } from "remotion";
|
|
12578
12588
|
|
|
12579
12589
|
// src/components/InlineDropdown.tsx
|
|
12580
12590
|
import { PlayerInternals as PlayerInternals6 } from "@remotion/player";
|
|
@@ -12929,8 +12939,8 @@ var CompositionMetadataValue = ({ computed, disabled, field, onSave, pendingValu
|
|
|
12929
12939
|
});
|
|
12930
12940
|
};
|
|
12931
12941
|
var CompositionMetadata = ({ compositionId, disabled, stack }) => {
|
|
12932
|
-
const video =
|
|
12933
|
-
const resolvedVideoConfig =
|
|
12942
|
+
const video = Internals10.useVideo();
|
|
12943
|
+
const resolvedVideoConfig = Internals10.useResolvedVideoConfig(compositionId);
|
|
12934
12944
|
const resolvedConfig = resolvedVideoConfig?.type === "success" || resolvedVideoConfig?.type === "success-and-refreshing" ? resolvedVideoConfig.result : null;
|
|
12935
12945
|
const resolvedConfigRef = useRef20(resolvedConfig);
|
|
12936
12946
|
resolvedConfigRef.current = resolvedConfig;
|
|
@@ -13317,7 +13327,7 @@ var ElementLibraryButton = () => {
|
|
|
13317
13327
|
|
|
13318
13328
|
// src/components/InspectorPanel/use-composition-actions.ts
|
|
13319
13329
|
import { useCallback as useCallback60, useContext as useContext24, useMemo as useMemo63, useState as useState39 } from "react";
|
|
13320
|
-
import { Internals as
|
|
13330
|
+
import { Internals as Internals12 } from "remotion";
|
|
13321
13331
|
|
|
13322
13332
|
// src/components/import-assets.ts
|
|
13323
13333
|
import {
|
|
@@ -13325,7 +13335,7 @@ import {
|
|
|
13325
13335
|
getRequiredPackageForInsertableElement,
|
|
13326
13336
|
isUrl
|
|
13327
13337
|
} from "@remotion/studio-shared";
|
|
13328
|
-
import { Internals as
|
|
13338
|
+
import { Internals as Internals11, staticFile as staticFile3 } from "remotion";
|
|
13329
13339
|
import { NoReactInternals as NoReactInternals8 } from "remotion/no-react";
|
|
13330
13340
|
|
|
13331
13341
|
// src/helpers/clipboard-figma.ts
|
|
@@ -13715,7 +13725,7 @@ var getMediaAssetMetadata = async (src) => {
|
|
|
13715
13725
|
};
|
|
13716
13726
|
};
|
|
13717
13727
|
var getAnimatedImageAssetDuration = (src, contentType) => {
|
|
13718
|
-
return
|
|
13728
|
+
return Internals11.getAnimatedImageDurationInSeconds({
|
|
13719
13729
|
resolvedSrc: src,
|
|
13720
13730
|
signal: new AbortController().signal,
|
|
13721
13731
|
contentType
|
|
@@ -14282,7 +14292,7 @@ var insertComposition = async ({
|
|
|
14282
14292
|
return;
|
|
14283
14293
|
}
|
|
14284
14294
|
try {
|
|
14285
|
-
const resolver =
|
|
14295
|
+
const resolver = Internals11.resolveCompositionsRef.current;
|
|
14286
14296
|
if (!resolver) {
|
|
14287
14297
|
throw new Error("No composition resolver available");
|
|
14288
14298
|
}
|
|
@@ -14360,8 +14370,8 @@ var insertElement = async ({
|
|
|
14360
14370
|
|
|
14361
14371
|
// src/components/InspectorPanel/use-composition-actions.ts
|
|
14362
14372
|
var useCompositionActions = () => {
|
|
14363
|
-
const { compositions, canvasContent } = useContext24(
|
|
14364
|
-
const videoConfig =
|
|
14373
|
+
const { compositions, canvasContent } = useContext24(Internals12.CompositionManager);
|
|
14374
|
+
const videoConfig = Internals12.useUnsafeVideoConfig();
|
|
14365
14375
|
const [isAddingSolid, setIsAddingSolid] = useState39(false);
|
|
14366
14376
|
const [isAddingAsset, setIsAddingAsset] = useState39(false);
|
|
14367
14377
|
const [isAddingComposition, setIsAddingComposition] = useState39(false);
|
|
@@ -14869,7 +14879,7 @@ import {
|
|
|
14869
14879
|
useState as useState43
|
|
14870
14880
|
} from "react";
|
|
14871
14881
|
import {
|
|
14872
|
-
Internals as
|
|
14882
|
+
Internals as Internals29
|
|
14873
14883
|
} from "remotion";
|
|
14874
14884
|
|
|
14875
14885
|
// src/helpers/timeline-node-path-key.ts
|
|
@@ -15042,7 +15052,7 @@ var ExpandedTracksProvider = ({ children }) => {
|
|
|
15042
15052
|
|
|
15043
15053
|
// src/components/Timeline/get-node-keyframes.ts
|
|
15044
15054
|
import {
|
|
15045
|
-
Internals as
|
|
15055
|
+
Internals as Internals13
|
|
15046
15056
|
} from "remotion";
|
|
15047
15057
|
|
|
15048
15058
|
// src/components/Timeline/get-timeline-keyframes.ts
|
|
@@ -15114,14 +15124,14 @@ var getNodeKeyframes = ({
|
|
|
15114
15124
|
if (node.field.kind === "sequence-field") {
|
|
15115
15125
|
const dragOverrides = getDragOverrides(nodePath);
|
|
15116
15126
|
return withDragOverrideKeyframe({
|
|
15117
|
-
propStatus:
|
|
15127
|
+
propStatus: Internals13.getPropStatusesCtx(propStatuses, nodePath)?.[node.field.key],
|
|
15118
15128
|
keyframeDisplayOffset,
|
|
15119
15129
|
timelinePosition,
|
|
15120
15130
|
dragOverrideValue: dragOverrides[node.field.key],
|
|
15121
15131
|
hasDragOverride: hasOverride(dragOverrides, node.field.key)
|
|
15122
15132
|
});
|
|
15123
15133
|
}
|
|
15124
|
-
const effectStatus =
|
|
15134
|
+
const effectStatus = Internals13.getEffectPropStatusesCtx({
|
|
15125
15135
|
propStatuses,
|
|
15126
15136
|
nodePath,
|
|
15127
15137
|
effectIndex: node.field.effectIndex
|
|
@@ -15150,13 +15160,13 @@ var getNodeHasKeyframes = ({
|
|
|
15150
15160
|
if (dragOverrides[node.field.key]?.type === "keyframed") {
|
|
15151
15161
|
return true;
|
|
15152
15162
|
}
|
|
15153
|
-
return
|
|
15163
|
+
return Internals13.getPropStatusesCtx(propStatuses, nodePath)?.[node.field.key]?.status === "keyframed";
|
|
15154
15164
|
}
|
|
15155
15165
|
const effectDragOverrides = getEffectDragOverrides(nodePath, node.field.effectIndex);
|
|
15156
15166
|
if (effectDragOverrides[node.field.key]?.type === "keyframed") {
|
|
15157
15167
|
return true;
|
|
15158
15168
|
}
|
|
15159
|
-
const effectStatus =
|
|
15169
|
+
const effectStatus = Internals13.getEffectPropStatusesCtx({
|
|
15160
15170
|
propStatuses,
|
|
15161
15171
|
nodePath,
|
|
15162
15172
|
effectIndex: node.field.effectIndex
|
|
@@ -15289,7 +15299,7 @@ import {
|
|
|
15289
15299
|
useLayoutEffect,
|
|
15290
15300
|
useRef as useRef21
|
|
15291
15301
|
} from "react";
|
|
15292
|
-
import { Internals as
|
|
15302
|
+
import { Internals as Internals16, useVideoConfig } from "remotion";
|
|
15293
15303
|
|
|
15294
15304
|
// src/helpers/get-left-of-timeline-slider.ts
|
|
15295
15305
|
var getXPositionOfItemInTimelineImperatively = (frame, duration, width) => {
|
|
@@ -15303,7 +15313,7 @@ import { flushSync } from "react-dom";
|
|
|
15303
15313
|
|
|
15304
15314
|
// src/components/ZoomPersistor.tsx
|
|
15305
15315
|
import { useContext as useContext26, useEffect as useEffect31 } from "react";
|
|
15306
|
-
import { Internals as
|
|
15316
|
+
import { Internals as Internals14 } from "remotion";
|
|
15307
15317
|
|
|
15308
15318
|
// src/components/load-canvas-content-from-url.ts
|
|
15309
15319
|
var deriveCanvasContentFromRoute = (route) => {
|
|
@@ -15348,9 +15358,9 @@ var getZoomFromLocalStorage = () => {
|
|
|
15348
15358
|
return zoom ? JSON.parse(zoom) : {};
|
|
15349
15359
|
};
|
|
15350
15360
|
var ZoomPersistor = () => {
|
|
15351
|
-
const playing =
|
|
15361
|
+
const playing = Internals14.usePlaying();
|
|
15352
15362
|
const { zoom } = useContext26(TimelineZoomCtx);
|
|
15353
|
-
const { canvasContent } = useContext26(
|
|
15363
|
+
const { canvasContent } = useContext26(Internals14.CompositionManager);
|
|
15354
15364
|
const urlState = deriveCanvasContentFromUrl();
|
|
15355
15365
|
const isActive = urlState && canvasContent && (urlState.type === "composition" && canvasContent.type === "composition" && urlState.compositionId === canvasContent.compositionId || urlState.type === "asset" && canvasContent.type === "asset" && urlState.asset === canvasContent.asset);
|
|
15356
15366
|
useEffect31(() => {
|
|
@@ -15435,7 +15445,7 @@ var TimelineSliderHandle = () => {
|
|
|
15435
15445
|
// src/components/Timeline/TimelineWidthProvider.tsx
|
|
15436
15446
|
import { PlayerInternals as PlayerInternals7 } from "@remotion/player";
|
|
15437
15447
|
import { createContext as createContext12, useContext as useContext27, useMemo as useMemo67 } from "react";
|
|
15438
|
-
import { Internals as
|
|
15448
|
+
import { Internals as Internals15 } from "remotion";
|
|
15439
15449
|
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
15440
15450
|
var TimelineWidthContext = createContext12(null);
|
|
15441
15451
|
var TimelineWidthProvider = ({ children }) => {
|
|
@@ -15444,7 +15454,7 @@ var TimelineWidthProvider = ({ children }) => {
|
|
|
15444
15454
|
shouldApplyCssTransforms: true
|
|
15445
15455
|
});
|
|
15446
15456
|
const { zoom: zoomMap } = useContext27(TimelineZoomCtx);
|
|
15447
|
-
const videoConfig =
|
|
15457
|
+
const videoConfig = Internals15.useUnsafeVideoConfig();
|
|
15448
15458
|
const width = useMemo67(() => {
|
|
15449
15459
|
const scrollableWidth = size?.width ?? scrollableRef.current?.clientWidth;
|
|
15450
15460
|
if (scrollableWidth === undefined) {
|
|
@@ -15500,7 +15510,7 @@ var getTimelineSliderTransform = ({
|
|
|
15500
15510
|
};
|
|
15501
15511
|
var redrawTimelineSliderFast = createRef3();
|
|
15502
15512
|
var TimelineSlider = () => {
|
|
15503
|
-
const videoConfig =
|
|
15513
|
+
const videoConfig = Internals16.useUnsafeVideoConfig();
|
|
15504
15514
|
const timelineWidth = useContext28(TimelineWidthContext);
|
|
15505
15515
|
if (videoConfig === null || timelineWidth === null) {
|
|
15506
15516
|
return null;
|
|
@@ -15509,7 +15519,7 @@ var TimelineSlider = () => {
|
|
|
15509
15519
|
};
|
|
15510
15520
|
var TimelineSliderInner = () => {
|
|
15511
15521
|
const videoConfig = useVideoConfig();
|
|
15512
|
-
const timelinePosition =
|
|
15522
|
+
const timelinePosition = Internals16.Timeline.useTimelinePosition();
|
|
15513
15523
|
const ref2 = useRef21(null);
|
|
15514
15524
|
const timelineWidth = useContext28(TimelineWidthContext);
|
|
15515
15525
|
const { zoom: zoomMap } = useContext28(TimelineZoomCtx);
|
|
@@ -15959,7 +15969,7 @@ import {
|
|
|
15959
15969
|
} from "@remotion/studio-shared";
|
|
15960
15970
|
import { useContext as useContext29, useEffect as useEffect32 } from "react";
|
|
15961
15971
|
import {
|
|
15962
|
-
Internals as
|
|
15972
|
+
Internals as Internals23
|
|
15963
15973
|
} from "remotion";
|
|
15964
15974
|
|
|
15965
15975
|
// src/helpers/clipboard-images.ts
|
|
@@ -16116,10 +16126,10 @@ var applyEffectResponseToPropStatuses = ({
|
|
|
16116
16126
|
};
|
|
16117
16127
|
|
|
16118
16128
|
// src/components/Timeline/save-prop-queue.ts
|
|
16119
|
-
import { Internals as
|
|
16129
|
+
import { Internals as Internals17 } from "remotion";
|
|
16120
16130
|
var queues = new Map;
|
|
16121
16131
|
var getQueue = (nodePath) => {
|
|
16122
|
-
const key =
|
|
16132
|
+
const key = Internals17.makeSequencePropsSubscriptionKey(nodePath);
|
|
16123
16133
|
let q = queues.get(key);
|
|
16124
16134
|
if (!q) {
|
|
16125
16135
|
q = { chain: Promise.resolve(), cancelled: false };
|
|
@@ -16128,7 +16138,7 @@ var getQueue = (nodePath) => {
|
|
|
16128
16138
|
return q;
|
|
16129
16139
|
};
|
|
16130
16140
|
var dropQueue = (nodePath, q) => {
|
|
16131
|
-
const key =
|
|
16141
|
+
const key = Internals17.makeSequencePropsSubscriptionKey(nodePath);
|
|
16132
16142
|
if (queues.get(key) === q) {
|
|
16133
16143
|
queues.delete(key);
|
|
16134
16144
|
}
|
|
@@ -16622,7 +16632,7 @@ var callBatchUpdateKeyframeSettings = ({
|
|
|
16622
16632
|
};
|
|
16623
16633
|
|
|
16624
16634
|
// src/components/Timeline/delete-selected-timeline-item.ts
|
|
16625
|
-
import { Internals as
|
|
16635
|
+
import { Internals as Internals20 } from "remotion";
|
|
16626
16636
|
|
|
16627
16637
|
// src/components/delete-jsx-node-api.ts
|
|
16628
16638
|
var deleteJsxNode = (request) => {
|
|
@@ -16631,7 +16641,7 @@ var deleteJsxNode = (request) => {
|
|
|
16631
16641
|
};
|
|
16632
16642
|
|
|
16633
16643
|
// src/components/Timeline/delete-selected-keyframe.ts
|
|
16634
|
-
import { Internals as
|
|
16644
|
+
import { Internals as Internals18 } from "remotion";
|
|
16635
16645
|
|
|
16636
16646
|
// src/components/Timeline/find-track-for-node-path-info.ts
|
|
16637
16647
|
import { stringifySequenceExpandedRowKey as stringifySequenceExpandedRowKey3 } from "@remotion/studio-shared";
|
|
@@ -16657,7 +16667,7 @@ var getValueWhenLastKeyframeDeleted = ({
|
|
|
16657
16667
|
if (propStatus?.status !== "keyframed") {
|
|
16658
16668
|
return null;
|
|
16659
16669
|
}
|
|
16660
|
-
return
|
|
16670
|
+
return Internals18.interpolateKeyframedStatus({
|
|
16661
16671
|
forceSpringAllowTail: null,
|
|
16662
16672
|
frame: playheadSourceFrame,
|
|
16663
16673
|
status: propStatus
|
|
@@ -16691,7 +16701,7 @@ var getSelectedKeyframeDeletion = ({
|
|
|
16691
16701
|
if (!effect) {
|
|
16692
16702
|
return null;
|
|
16693
16703
|
}
|
|
16694
|
-
const effectStatus =
|
|
16704
|
+
const effectStatus = Internals18.getEffectPropStatusesCtx({
|
|
16695
16705
|
propStatuses,
|
|
16696
16706
|
nodePath,
|
|
16697
16707
|
effectIndex: field.effectIndex
|
|
@@ -16718,7 +16728,7 @@ var getSelectedKeyframeDeletion = ({
|
|
|
16718
16728
|
valueWhenLastKeyframeDeleted: effectValueWhenLastKeyframeDeleted
|
|
16719
16729
|
};
|
|
16720
16730
|
}
|
|
16721
|
-
const sequencePropStatus =
|
|
16731
|
+
const sequencePropStatus = Internals18.getPropStatusesCtx(propStatuses, nodePath)?.[field.fieldKey];
|
|
16722
16732
|
const keyframeDisplayOffset = getKeyframeDisplayOffset({
|
|
16723
16733
|
propStatus: sequencePropStatus,
|
|
16724
16734
|
keyframeDisplayOffset: track?.keyframeDisplayOffset ?? 0
|
|
@@ -16808,7 +16818,7 @@ import {
|
|
|
16808
16818
|
LINEAR_KEYFRAME_EASING
|
|
16809
16819
|
} from "@remotion/studio-shared";
|
|
16810
16820
|
import { canEditEasingForInterpolationFunction as canEditEasingForInterpolationFunction2 } from "@remotion/studio-shared";
|
|
16811
|
-
import { Internals as
|
|
16821
|
+
import { Internals as Internals19 } from "remotion";
|
|
16812
16822
|
var isEasingSelection = (selection) => selection.type === "easing";
|
|
16813
16823
|
var getSelectedEasingUpdate = ({
|
|
16814
16824
|
selection,
|
|
@@ -16835,7 +16845,7 @@ var getSelectedEasingUpdate = ({
|
|
|
16835
16845
|
if (!sequence.controls) {
|
|
16836
16846
|
return null;
|
|
16837
16847
|
}
|
|
16838
|
-
const sequencePropStatus =
|
|
16848
|
+
const sequencePropStatus = Internals19.getPropStatusesCtx(propStatuses, nodePath)?.[field.fieldKey];
|
|
16839
16849
|
if (sequencePropStatus?.status !== "keyframed" || isSchemaFieldHoldOnly({
|
|
16840
16850
|
schema: sequence.controls.schema,
|
|
16841
16851
|
key: field.fieldKey
|
|
@@ -16857,7 +16867,7 @@ var getSelectedEasingUpdate = ({
|
|
|
16857
16867
|
if (!effect) {
|
|
16858
16868
|
return null;
|
|
16859
16869
|
}
|
|
16860
|
-
const effectStatus =
|
|
16870
|
+
const effectStatus = Internals19.getEffectPropStatusesCtx({
|
|
16861
16871
|
propStatuses,
|
|
16862
16872
|
nodePath,
|
|
16863
16873
|
effectIndex: field.effectIndex
|
|
@@ -17100,7 +17110,7 @@ var getEasingSelectionAfterDeletingKeyframes = ({
|
|
|
17100
17110
|
}
|
|
17101
17111
|
const nodePath = selection.nodePathInfo.sequenceSubscriptionKey;
|
|
17102
17112
|
if (field.type === "sequence") {
|
|
17103
|
-
const sequencePropStatus =
|
|
17113
|
+
const sequencePropStatus = Internals20.getPropStatusesCtx(propStatuses, nodePath)?.[field.fieldKey];
|
|
17104
17114
|
if (sequencePropStatus?.status !== "keyframed" || !canEditEasingForInterpolationFunction2(sequencePropStatus.interpolationFunction)) {
|
|
17105
17115
|
return null;
|
|
17106
17116
|
}
|
|
@@ -17117,7 +17127,7 @@ var getEasingSelectionAfterDeletingKeyframes = ({
|
|
|
17117
17127
|
timelinePosition
|
|
17118
17128
|
});
|
|
17119
17129
|
}
|
|
17120
|
-
const effectStatus =
|
|
17130
|
+
const effectStatus = Internals20.getEffectPropStatusesCtx({
|
|
17121
17131
|
propStatuses,
|
|
17122
17132
|
nodePath,
|
|
17123
17133
|
effectIndex: field.effectIndex
|
|
@@ -17303,13 +17313,13 @@ import {
|
|
|
17303
17313
|
LINEAR_KEYFRAME_EASING as LINEAR_KEYFRAME_EASING2
|
|
17304
17314
|
} from "@remotion/studio-shared";
|
|
17305
17315
|
import {
|
|
17306
|
-
Internals as
|
|
17316
|
+
Internals as Internals21
|
|
17307
17317
|
} from "remotion";
|
|
17308
17318
|
var getKeyframeClipboardFieldType = ({
|
|
17309
17319
|
schema,
|
|
17310
17320
|
fieldKey
|
|
17311
17321
|
}) => {
|
|
17312
|
-
const field =
|
|
17322
|
+
const field = Internals21.getFlatSchemaWithAllKeys(schema)[fieldKey];
|
|
17313
17323
|
if (!field) {
|
|
17314
17324
|
return null;
|
|
17315
17325
|
}
|
|
@@ -17357,7 +17367,7 @@ var resolveKeyframeField = ({
|
|
|
17357
17367
|
if (!track.sequence.controls) {
|
|
17358
17368
|
return null;
|
|
17359
17369
|
}
|
|
17360
|
-
const sequencePropStatus =
|
|
17370
|
+
const sequencePropStatus = Internals21.getPropStatusesCtx(propStatuses, nodePath)?.[identity.fieldKey];
|
|
17361
17371
|
if (!sequencePropStatus || sequencePropStatus.status === "computed") {
|
|
17362
17372
|
return null;
|
|
17363
17373
|
}
|
|
@@ -17379,7 +17389,7 @@ var resolveKeyframeField = ({
|
|
|
17379
17389
|
};
|
|
17380
17390
|
}
|
|
17381
17391
|
const effect = track.sequence.effects[identity.effectIndex];
|
|
17382
|
-
const effectStatus =
|
|
17392
|
+
const effectStatus = Internals21.getEffectPropStatusesCtx({
|
|
17383
17393
|
propStatuses,
|
|
17384
17394
|
nodePath,
|
|
17385
17395
|
effectIndex: identity.effectIndex
|
|
@@ -17405,7 +17415,7 @@ var resolveKeyframeField = ({
|
|
|
17405
17415
|
};
|
|
17406
17416
|
};
|
|
17407
17417
|
var areResolvedFieldsEqual = (first, second) => {
|
|
17408
|
-
if (
|
|
17418
|
+
if (Internals21.makeSequencePropsSubscriptionKey(first.nodePath) !== Internals21.makeSequencePropsSubscriptionKey(second.nodePath)) {
|
|
17409
17419
|
return false;
|
|
17410
17420
|
}
|
|
17411
17421
|
if (first.identity.type !== second.identity.type) {
|
|
@@ -18078,7 +18088,7 @@ import {
|
|
|
18078
18088
|
isKeyframeInterpolationFunction
|
|
18079
18089
|
} from "@remotion/studio-shared";
|
|
18080
18090
|
import {
|
|
18081
|
-
Internals as
|
|
18091
|
+
Internals as Internals22
|
|
18082
18092
|
} from "remotion";
|
|
18083
18093
|
var propStatusToClipboardParam = (prop) => {
|
|
18084
18094
|
if (prop.status === "computed") {
|
|
@@ -18120,11 +18130,11 @@ var getSequencePropClipboardDataFromSelection = ({
|
|
|
18120
18130
|
if (!track?.sequence.controls) {
|
|
18121
18131
|
return null;
|
|
18122
18132
|
}
|
|
18123
|
-
const field =
|
|
18133
|
+
const field = Internals22.getFlatSchemaWithAllKeys(track.sequence.controls.schema)[selection.key];
|
|
18124
18134
|
if (!field || !isKeyframeClipboardFieldType2(field.type)) {
|
|
18125
18135
|
return null;
|
|
18126
18136
|
}
|
|
18127
|
-
const propStatus =
|
|
18137
|
+
const propStatus = Internals22.getPropStatusesCtx(propStatuses, track.nodePathInfo?.sequenceSubscriptionKey ?? selection.nodePathInfo.sequenceSubscriptionKey)?.[selection.key];
|
|
18128
18138
|
if (!propStatus) {
|
|
18129
18139
|
return null;
|
|
18130
18140
|
}
|
|
@@ -18164,12 +18174,12 @@ var getPasteTargetForSelection = ({
|
|
|
18164
18174
|
return { type: "uncopyable" };
|
|
18165
18175
|
}
|
|
18166
18176
|
const { schema } = track.sequence.controls;
|
|
18167
|
-
const field =
|
|
18177
|
+
const field = Internals22.getFlatSchemaWithAllKeys(schema)[fieldKey];
|
|
18168
18178
|
if (!field || field.type !== payload.fieldType) {
|
|
18169
18179
|
return { type: "incompatible" };
|
|
18170
18180
|
}
|
|
18171
18181
|
const nodePath = track.nodePathInfo.sequenceSubscriptionKey;
|
|
18172
|
-
const propStatus =
|
|
18182
|
+
const propStatus = Internals22.getPropStatusesCtx(propStatuses, nodePath)?.[fieldKey];
|
|
18173
18183
|
if (!propStatus || propStatus.status === "computed") {
|
|
18174
18184
|
return { type: "uncopyable" };
|
|
18175
18185
|
}
|
|
@@ -18216,7 +18226,7 @@ var getPasteSequencePropTarget = ({
|
|
|
18216
18226
|
type: "valid",
|
|
18217
18227
|
targets: [
|
|
18218
18228
|
...new Map(targets.map((target) => [
|
|
18219
|
-
|
|
18229
|
+
Internals22.makeSequencePropsSubscriptionKey(target.nodePath),
|
|
18220
18230
|
target
|
|
18221
18231
|
])).values()
|
|
18222
18232
|
]
|
|
@@ -18299,7 +18309,7 @@ var getSnapshotsFromSelection = ({
|
|
|
18299
18309
|
return null;
|
|
18300
18310
|
}
|
|
18301
18311
|
const { sequenceSubscriptionKey } = selection.nodePathInfo;
|
|
18302
|
-
const sequenceStatus = propStatuses[
|
|
18312
|
+
const sequenceStatus = propStatuses[Internals23.makeSequencePropsSubscriptionKey(sequenceSubscriptionKey)];
|
|
18303
18313
|
if (!sequenceStatus || !sequenceStatus.canUpdate) {
|
|
18304
18314
|
return null;
|
|
18305
18315
|
}
|
|
@@ -18404,7 +18414,7 @@ var getEffectPropClipboardDataFromSelection = ({
|
|
|
18404
18414
|
if (selection.type !== "sequence-effect-prop") {
|
|
18405
18415
|
return null;
|
|
18406
18416
|
}
|
|
18407
|
-
const sequenceStatus = propStatuses[
|
|
18417
|
+
const sequenceStatus = propStatuses[Internals23.makeSequencePropsSubscriptionKey(selection.nodePathInfo.sequenceSubscriptionKey)];
|
|
18408
18418
|
if (!sequenceStatus || !sequenceStatus.canUpdate) {
|
|
18409
18419
|
return null;
|
|
18410
18420
|
}
|
|
@@ -18491,7 +18501,7 @@ var getPasteEffectPropTargetForSelection = ({
|
|
|
18491
18501
|
if (!effect || !isVisibleFieldSchema(fieldSchema)) {
|
|
18492
18502
|
return { type: "prop-mismatch" };
|
|
18493
18503
|
}
|
|
18494
|
-
const sequenceStatus = propStatuses[
|
|
18504
|
+
const sequenceStatus = propStatuses[Internals23.makeSequencePropsSubscriptionKey(selection.nodePathInfo.sequenceSubscriptionKey)];
|
|
18495
18505
|
if (!sequenceStatus?.canUpdate) {
|
|
18496
18506
|
return { type: "uncopyable" };
|
|
18497
18507
|
}
|
|
@@ -18557,10 +18567,10 @@ var TimelineClipboardKeybindings = () => {
|
|
|
18557
18567
|
const { previewServerState } = useContext29(StudioServerConnectionCtx);
|
|
18558
18568
|
const { canSelect } = useTimelineSelection();
|
|
18559
18569
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
18560
|
-
const propStatusesRef = useContext29(
|
|
18561
|
-
const { setPropStatuses } = useContext29(
|
|
18562
|
-
const sequencesRef = useContext29(
|
|
18563
|
-
const { overrideIdToNodePathMappings } = useContext29(
|
|
18570
|
+
const propStatusesRef = useContext29(Internals23.VisualModePropStatusesRefContext);
|
|
18571
|
+
const { setPropStatuses } = useContext29(Internals23.VisualModeSettersContext);
|
|
18572
|
+
const sequencesRef = useContext29(Internals23.SequenceManagerRefContext);
|
|
18573
|
+
const { overrideIdToNodePathMappings } = useContext29(Internals23.OverrideIdsToNodePathsGettersContext);
|
|
18564
18574
|
const confirm = useConfirmationDialog();
|
|
18565
18575
|
useEffect32(() => {
|
|
18566
18576
|
if (!canSelect || previewServerState.type !== "connected") {
|
|
@@ -19083,7 +19093,7 @@ var TimelineClipboardKeybindings = () => {
|
|
|
19083
19093
|
|
|
19084
19094
|
// src/components/Timeline/TimelineDeleteKeybindings.tsx
|
|
19085
19095
|
import { useContext as useContext31, useEffect as useEffect33 } from "react";
|
|
19086
|
-
import { Internals as
|
|
19096
|
+
import { Internals as Internals28 } from "remotion";
|
|
19087
19097
|
|
|
19088
19098
|
// src/components/duplicate-jsx-node-api.ts
|
|
19089
19099
|
var duplicateJsxNode = (request) => {
|
|
@@ -19172,7 +19182,7 @@ var duplicateSelectedTimelineItems = ({
|
|
|
19172
19182
|
|
|
19173
19183
|
// src/components/Timeline/split-selected-timeline-item.ts
|
|
19174
19184
|
import { hasSequenceTimingTraits } from "@remotion/studio-shared";
|
|
19175
|
-
import { Internals as
|
|
19185
|
+
import { Internals as Internals24 } from "remotion";
|
|
19176
19186
|
|
|
19177
19187
|
// src/components/split-jsx-sequence-api.ts
|
|
19178
19188
|
var splitJsxSequence = (request) => {
|
|
@@ -19305,7 +19315,7 @@ var splitSelectedTimelineItems = ({
|
|
|
19305
19315
|
overrideIdsToNodePaths,
|
|
19306
19316
|
nodePathInfo: selection.nodePathInfo
|
|
19307
19317
|
});
|
|
19308
|
-
const sequencePropStatuses = propStatuses ?
|
|
19318
|
+
const sequencePropStatuses = propStatuses ? Internals24.getPropStatusesCtx(propStatuses, selection.nodePathInfo.sequenceSubscriptionKey) : undefined;
|
|
19309
19319
|
const eligibility = getTimelineSequenceSplitEligibility({
|
|
19310
19320
|
selection,
|
|
19311
19321
|
sequence: track?.sequence ?? null,
|
|
@@ -19325,7 +19335,7 @@ var splitSelectedTimelineItems = ({
|
|
|
19325
19335
|
// src/components/Timeline/use-delete-timeline-items.ts
|
|
19326
19336
|
import { LINEAR_KEYFRAME_EASING as LINEAR_KEYFRAME_EASING3 } from "@remotion/studio-shared";
|
|
19327
19337
|
import { useCallback as useCallback64, useContext as useContext30 } from "react";
|
|
19328
|
-
import { Internals as
|
|
19338
|
+
import { Internals as Internals27 } from "remotion";
|
|
19329
19339
|
|
|
19330
19340
|
// src/state/editor-guides.ts
|
|
19331
19341
|
import { createContext as createContext13 } from "react";
|
|
@@ -19367,11 +19377,11 @@ var EditorShowGuidesContext = createContext13({
|
|
|
19367
19377
|
|
|
19368
19378
|
// src/components/Timeline/reset-selected-timeline-props.ts
|
|
19369
19379
|
import { getEffectFieldsToShow as getEffectFieldsToShow3 } from "@remotion/studio-shared";
|
|
19370
|
-
import { Internals as
|
|
19380
|
+
import { Internals as Internals26 } from "remotion";
|
|
19371
19381
|
|
|
19372
19382
|
// src/components/Timeline/get-sequence-prop-reset-changes.ts
|
|
19373
19383
|
import { getStylePropertyLonghandKeys } from "@remotion/studio-shared";
|
|
19374
|
-
import { Internals as
|
|
19384
|
+
import { Internals as Internals25 } from "remotion";
|
|
19375
19385
|
var isVisibleFieldSchema2 = (fieldSchema) => fieldSchema !== undefined && fieldSchema.type !== "hidden";
|
|
19376
19386
|
var getDefaultValue3 = (fieldSchema) => fieldSchema.default !== undefined ? JSON.stringify(fieldSchema.default) : null;
|
|
19377
19387
|
var getSequencePropResetChanges = ({
|
|
@@ -19382,7 +19392,7 @@ var getSequencePropResetChanges = ({
|
|
|
19382
19392
|
defaultValue,
|
|
19383
19393
|
schema
|
|
19384
19394
|
}) => {
|
|
19385
|
-
const flatSchema =
|
|
19395
|
+
const flatSchema = Internals25.getFlatSchemaWithAllKeys(schema);
|
|
19386
19396
|
const longhandChanges = getStylePropertyLonghandKeys(fieldKey).flatMap((longhandKey) => {
|
|
19387
19397
|
const fieldSchema = flatSchema[longhandKey];
|
|
19388
19398
|
if (!isVisibleFieldSchema2(fieldSchema)) {
|
|
@@ -19446,7 +19456,7 @@ var getActiveFieldSchema = ({
|
|
|
19446
19456
|
key,
|
|
19447
19457
|
resolveValue
|
|
19448
19458
|
}) => {
|
|
19449
|
-
return
|
|
19459
|
+
return Internals26.flattenActiveSchema(schema, resolveValue)[key];
|
|
19450
19460
|
};
|
|
19451
19461
|
var getTimelinePropResetTargets = ({
|
|
19452
19462
|
selections,
|
|
@@ -19478,8 +19488,8 @@ var getTimelinePropResetTargets = ({
|
|
|
19478
19488
|
if (!sequence.controls) {
|
|
19479
19489
|
continue;
|
|
19480
19490
|
}
|
|
19481
|
-
const sequencePropStatus =
|
|
19482
|
-
const { merged: sequenceValuesDotNotation } =
|
|
19491
|
+
const sequencePropStatus = Internals26.getPropStatusesCtx(propStatuses, nodePath);
|
|
19492
|
+
const { merged: sequenceValuesDotNotation } = Internals26.computeEffectiveSchemaValuesDotNotation({
|
|
19483
19493
|
schema: sequence.controls.schema,
|
|
19484
19494
|
currentValue: sequence.controls.runtimeValues.getSnapshot(),
|
|
19485
19495
|
overrideValues: {},
|
|
@@ -19518,7 +19528,7 @@ var getTimelinePropResetTargets = ({
|
|
|
19518
19528
|
getEffectDragOverrides: () => ({})
|
|
19519
19529
|
}).find((candidate) => candidate.key === selection.key) : null;
|
|
19520
19530
|
const fieldSchema = field?.fieldSchema;
|
|
19521
|
-
const effectStatus =
|
|
19531
|
+
const effectStatus = Internals26.getEffectPropStatusesCtx({
|
|
19522
19532
|
propStatuses,
|
|
19523
19533
|
nodePath,
|
|
19524
19534
|
effectIndex: selection.i
|
|
@@ -19600,10 +19610,10 @@ var resetSelectedTimelineProps = ({
|
|
|
19600
19610
|
// src/components/Timeline/use-delete-timeline-items.ts
|
|
19601
19611
|
var useDeleteTimelineItems = () => {
|
|
19602
19612
|
const { previewServerState } = useContext30(StudioServerConnectionCtx);
|
|
19603
|
-
const sequencesRef = useContext30(
|
|
19604
|
-
const { overrideIdToNodePathMappings } = useContext30(
|
|
19605
|
-
const propStatusesRef = useContext30(
|
|
19606
|
-
const { setPropStatuses } = useContext30(
|
|
19613
|
+
const sequencesRef = useContext30(Internals27.SequenceManagerRefContext);
|
|
19614
|
+
const { overrideIdToNodePathMappings } = useContext30(Internals27.OverrideIdsToNodePathsGettersContext);
|
|
19615
|
+
const propStatusesRef = useContext30(Internals27.VisualModePropStatusesRefContext);
|
|
19616
|
+
const { setPropStatuses } = useContext30(Internals27.VisualModeSettersContext);
|
|
19607
19617
|
const { setGuidesList } = useContext30(EditorShowGuidesContext);
|
|
19608
19618
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
19609
19619
|
const confirm = useConfirmationDialog();
|
|
@@ -19713,9 +19723,9 @@ var useDeleteTimelineItems = () => {
|
|
|
19713
19723
|
var TimelineDeleteKeybindings = () => {
|
|
19714
19724
|
const keybindings = useKeybinding();
|
|
19715
19725
|
const { previewServerState } = useContext31(StudioServerConnectionCtx);
|
|
19716
|
-
const sequencesRef = useContext31(
|
|
19717
|
-
const { overrideIdToNodePathMappings } = useContext31(
|
|
19718
|
-
const propStatusesRef = useContext31(
|
|
19726
|
+
const sequencesRef = useContext31(Internals28.SequenceManagerRefContext);
|
|
19727
|
+
const { overrideIdToNodePathMappings } = useContext31(Internals28.OverrideIdsToNodePathsGettersContext);
|
|
19728
|
+
const propStatusesRef = useContext31(Internals28.VisualModePropStatusesRefContext);
|
|
19719
19729
|
const { canSelect } = useTimelineSelection();
|
|
19720
19730
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
19721
19731
|
const confirm = useConfirmationDialog();
|
|
@@ -20070,10 +20080,10 @@ var getTimelineTreeNodeCanEditEasing = ({
|
|
|
20070
20080
|
return false;
|
|
20071
20081
|
}
|
|
20072
20082
|
if (node.field.kind === "sequence-field") {
|
|
20073
|
-
const sequencePropStatus =
|
|
20083
|
+
const sequencePropStatus = Internals29.getPropStatusesCtx(propStatuses, nodePathInfo.sequenceSubscriptionKey)?.[node.field.key];
|
|
20074
20084
|
return sequencePropStatus?.status === "keyframed" && canEditEasingForInterpolationFunction3(sequencePropStatus.interpolationFunction);
|
|
20075
20085
|
}
|
|
20076
|
-
const effectStatus =
|
|
20086
|
+
const effectStatus = Internals29.getEffectPropStatusesCtx({
|
|
20077
20087
|
propStatuses,
|
|
20078
20088
|
nodePath: nodePathInfo.sequenceSubscriptionKey,
|
|
20079
20089
|
effectIndex: node.field.effectIndex
|
|
@@ -20265,8 +20275,8 @@ var TimelineEscapeKeybindings = () => {
|
|
|
20265
20275
|
};
|
|
20266
20276
|
var TimelineSelectableItemsProvider = ({ children, timeline }) => {
|
|
20267
20277
|
const { getIsExpanded } = useContext32(ExpandedTracksGetterContext);
|
|
20268
|
-
const { propStatuses } = useContext32(
|
|
20269
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext32(
|
|
20278
|
+
const { propStatuses } = useContext32(Internals29.VisualModePropStatusesContext);
|
|
20279
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext32(Internals29.VisualModeDragOverridesContext);
|
|
20270
20280
|
const { selectedItems } = useTimelineSelection();
|
|
20271
20281
|
const selectableItems = useMemo68(() => getSelectableTimelineItems({
|
|
20272
20282
|
getDragOverrides,
|
|
@@ -20291,7 +20301,7 @@ var TimelineSelectableItemsProvider = ({ children, timeline }) => {
|
|
|
20291
20301
|
};
|
|
20292
20302
|
var TimelineSelectionProvider = ({ children }) => {
|
|
20293
20303
|
const { previewServerState } = useContext32(StudioServerConnectionCtx);
|
|
20294
|
-
const { canvasContent } = useContext32(
|
|
20304
|
+
const { canvasContent } = useContext32(Internals29.CompositionManager);
|
|
20295
20305
|
const timelineSelectionScope = canvasContent?.type === "composition" ? canvasContent.compositionId : null;
|
|
20296
20306
|
const { expandParentTracks } = useContext32(ExpandedTracksSetterContext);
|
|
20297
20307
|
const canSelect = isStudioSelectionEnabled() && (previewServerState.type === "connected" || window.remotion_isReadOnlyStudio);
|
|
@@ -20811,7 +20821,7 @@ var getSameSequenceInspectorSelection = (selections) => {
|
|
|
20811
20821
|
// src/components/InspectorPanel/MultiSequenceInspector.tsx
|
|
20812
20822
|
import { stringifySequenceExpandedRowKey as stringifySequenceExpandedRowKey5 } from "@remotion/studio-shared";
|
|
20813
20823
|
import { useContext as useContext43, useMemo as useMemo84, useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
20814
|
-
import { Internals as
|
|
20824
|
+
import { Internals as Internals32 } from "remotion";
|
|
20815
20825
|
|
|
20816
20826
|
// src/components/Timeline/TimelineRowLayoutContext.ts
|
|
20817
20827
|
import { createContext as createContext15 } from "react";
|
|
@@ -20859,7 +20869,7 @@ var TimelineRowLayoutContext = createContext15({
|
|
|
20859
20869
|
|
|
20860
20870
|
// src/components/InspectorPanel/MultiSequenceField.tsx
|
|
20861
20871
|
import { useCallback as useCallback84, useContext as useContext42, useEffect as useEffect36, useState as useState53 } from "react";
|
|
20862
|
-
import { Internals as
|
|
20872
|
+
import { Internals as Internals31 } from "remotion";
|
|
20863
20873
|
|
|
20864
20874
|
// src/components/Timeline/TimelineExpandArrowButton.tsx
|
|
20865
20875
|
import React70, { useMemo as useMemo69 } from "react";
|
|
@@ -21881,11 +21891,8 @@ var formatNumberTimelineFieldValueForDisplay = ({
|
|
|
21881
21891
|
const digits = getDecimalPlaces2(numericValue);
|
|
21882
21892
|
return digits === 0 ? String(numericValue) : numericValue.toFixed(digits);
|
|
21883
21893
|
}
|
|
21884
|
-
|
|
21885
|
-
|
|
21886
|
-
fixed: true,
|
|
21887
|
-
value: numericValue
|
|
21888
|
-
});
|
|
21894
|
+
const normalizedValue = getDecimalPlaces2(numericValue) > stepDecimals ? Number(numericValue.toPrecision(15)) : numericValue;
|
|
21895
|
+
return getDecimalPlaces2(normalizedValue) > stepDecimals ? String(normalizedValue) : normalizedValue.toFixed(stepDecimals);
|
|
21889
21896
|
};
|
|
21890
21897
|
var formatRotationTimelineFieldValueForDisplay = ({
|
|
21891
21898
|
fieldSchema,
|
|
@@ -24836,12 +24843,12 @@ import { NoReactInternals as NoReactInternals10 } from "remotion/no-react";
|
|
|
24836
24843
|
|
|
24837
24844
|
// src/state/scale-lock.tsx
|
|
24838
24845
|
import React84, { useCallback as useCallback76, useMemo as useMemo78, useState as useState47 } from "react";
|
|
24839
|
-
import { Internals as
|
|
24846
|
+
import { Internals as Internals30 } from "remotion";
|
|
24840
24847
|
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
24841
24848
|
var makeScaleLockKey = ({
|
|
24842
24849
|
fieldKey,
|
|
24843
24850
|
nodePath
|
|
24844
|
-
}) => `${
|
|
24851
|
+
}) => `${Internals30.makeSequencePropsSubscriptionKey(nodePath)}.${fieldKey}`;
|
|
24845
24852
|
var ScaleLockContext = React84.createContext({
|
|
24846
24853
|
getScaleLockState: ({ defaultValue }) => defaultValue,
|
|
24847
24854
|
setScaleLockState: () => {
|
|
@@ -26768,12 +26775,12 @@ var MultiSequenceNumberField = (props) => {
|
|
|
26768
26775
|
// src/components/InspectorPanel/MultiSequenceField.tsx
|
|
26769
26776
|
import { jsx as jsx143, jsxs as jsxs69, Fragment as Fragment23 } from "react/jsx-runtime";
|
|
26770
26777
|
var MultiSequenceField = ({ field, targets, readOnlyStudio }) => {
|
|
26771
|
-
const { propStatuses } = useContext42(
|
|
26772
|
-
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext42(
|
|
26778
|
+
const { propStatuses } = useContext42(Internals31.VisualModePropStatusesContext);
|
|
26779
|
+
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext42(Internals31.VisualModeSettersContext);
|
|
26773
26780
|
const { previewServerState } = useContext42(StudioServerConnectionCtx);
|
|
26774
26781
|
const [editingMixed, setEditingMixed] = useState53(false);
|
|
26775
|
-
const statuses = targets.map((target) =>
|
|
26776
|
-
const values = statuses.map((status) => status?.status === "static" ?
|
|
26782
|
+
const statuses = targets.map((target) => Internals31.getPropStatusesCtx(propStatuses, target.nodePath)?.[field.key]);
|
|
26783
|
+
const values = statuses.map((status) => status?.status === "static" ? Internals31.getEffectiveVisualModeValue({
|
|
26777
26784
|
propStatus: status,
|
|
26778
26785
|
dragOverrideValue: undefined,
|
|
26779
26786
|
defaultValue: field.fieldSchema.default,
|
|
@@ -26793,7 +26800,7 @@ var MultiSequenceField = ({ field, targets, readOnlyStudio }) => {
|
|
|
26793
26800
|
return;
|
|
26794
26801
|
}
|
|
26795
26802
|
for (const [index, target] of targets.entries()) {
|
|
26796
|
-
setDragOverrides(target.nodePath, field.key,
|
|
26803
|
+
setDragOverrides(target.nodePath, field.key, Internals31.makeStaticDragOverride(nextValues[index]));
|
|
26797
26804
|
}
|
|
26798
26805
|
}, [editable, field.key, setDragOverrides, targets]);
|
|
26799
26806
|
const save = useCallback84(async (nextValues, options) => {
|
|
@@ -26911,10 +26918,10 @@ var selectionCountStyle = {
|
|
|
26911
26918
|
whiteSpace: "nowrap"
|
|
26912
26919
|
};
|
|
26913
26920
|
var MultiSequenceInspector = ({ selections, readOnlyStudio }) => {
|
|
26914
|
-
const { sequences } = useContext43(
|
|
26915
|
-
const { overrideIdToNodePathMappings } = useContext43(
|
|
26916
|
-
const { propStatuses } = useContext43(
|
|
26917
|
-
const { getDragOverrides } = useContext43(
|
|
26921
|
+
const { sequences } = useContext43(Internals32.SequenceManager);
|
|
26922
|
+
const { overrideIdToNodePathMappings } = useContext43(Internals32.OverrideIdsToNodePathsGettersContext);
|
|
26923
|
+
const { propStatuses } = useContext43(Internals32.VisualModePropStatusesContext);
|
|
26924
|
+
const { getDragOverrides } = useContext43(Internals32.VisualModeDragOverridesContext);
|
|
26918
26925
|
const targets = useMemo84(() => {
|
|
26919
26926
|
const tracks = calculateTimeline({
|
|
26920
26927
|
sequences,
|
|
@@ -27010,7 +27017,7 @@ var MultiSequenceInspector = ({ selections, readOnlyStudio }) => {
|
|
|
27010
27017
|
|
|
27011
27018
|
// src/components/InspectorPanel/EasingInspector.tsx
|
|
27012
27019
|
import { useCallback as useCallback100, useContext as useContext57, useMemo as useMemo99 } from "react";
|
|
27013
|
-
import { Internals as
|
|
27020
|
+
import { Internals as Internals43, useVideoConfig as useVideoConfig5 } from "remotion";
|
|
27014
27021
|
|
|
27015
27022
|
// src/helpers/use-runtime-values.ts
|
|
27016
27023
|
import { useCallback as useCallback85, useMemo as useMemo85 } from "react";
|
|
@@ -27120,7 +27127,7 @@ import {
|
|
|
27120
27127
|
useRef as useRef28,
|
|
27121
27128
|
useState as useState54
|
|
27122
27129
|
} from "react";
|
|
27123
|
-
import { Easing, Internals as
|
|
27130
|
+
import { Easing, Internals as Internals33 } from "remotion";
|
|
27124
27131
|
import { jsx as jsx145, jsxs as jsxs71, Fragment as Fragment24 } from "react/jsx-runtime";
|
|
27125
27132
|
var SVG_WIDTH = 560;
|
|
27126
27133
|
var SVG_HEIGHT = 320;
|
|
@@ -27358,14 +27365,14 @@ var areEasingsEqual = (first, second) => {
|
|
|
27358
27365
|
}
|
|
27359
27366
|
};
|
|
27360
27367
|
var getEasingUpdateTargetKey = (update) => {
|
|
27361
|
-
const nodePathKey =
|
|
27368
|
+
const nodePathKey = Internals33.makeSequencePropsSubscriptionKey(update.nodePath);
|
|
27362
27369
|
if (update.type === "sequence") {
|
|
27363
27370
|
return `sequence:${nodePathKey}:${update.fieldKey}:${update.segmentIndex}`;
|
|
27364
27371
|
}
|
|
27365
27372
|
return `effect:${nodePathKey}:${update.effectIndex}:${update.fieldKey}:${update.segmentIndex}`;
|
|
27366
27373
|
};
|
|
27367
27374
|
var getBuiltInVisualStyleFieldSchema = (fieldKey) => {
|
|
27368
|
-
const transformSchema =
|
|
27375
|
+
const transformSchema = Internals33.transformSchema;
|
|
27369
27376
|
const directField = transformSchema[fieldKey];
|
|
27370
27377
|
if (directField) {
|
|
27371
27378
|
return directField;
|
|
@@ -27578,16 +27585,16 @@ var EasingPresetButton = ({ currentEasing, disabled, onClick, preset }) => {
|
|
|
27578
27585
|
};
|
|
27579
27586
|
var EasingEditor = ({ state, renderHeader }) => {
|
|
27580
27587
|
const { previewServerState } = useContext44(StudioServerConnectionCtx);
|
|
27581
|
-
const sequencesRef = useContext44(
|
|
27582
|
-
const propStatusesRef = useContext44(
|
|
27588
|
+
const sequencesRef = useContext44(Internals33.SequenceManagerRefContext);
|
|
27589
|
+
const propStatusesRef = useContext44(Internals33.VisualModePropStatusesRefContext);
|
|
27583
27590
|
const {
|
|
27584
27591
|
setDragOverrides,
|
|
27585
27592
|
clearDragOverrides,
|
|
27586
27593
|
setEffectDragOverrides,
|
|
27587
27594
|
clearEffectDragOverrides,
|
|
27588
27595
|
setPropStatuses
|
|
27589
|
-
} = useContext44(
|
|
27590
|
-
const { overrideIdToNodePathMappings } = useContext44(
|
|
27596
|
+
} = useContext44(Internals33.VisualModeSettersContext);
|
|
27597
|
+
const { overrideIdToNodePathMappings } = useContext44(Internals33.OverrideIdsToNodePathsGettersContext);
|
|
27591
27598
|
const svgRef = useRef28(null);
|
|
27592
27599
|
const [mode, setMode] = useState54(() => easingToMode(state.initialEasing));
|
|
27593
27600
|
const [bezier, setBezier] = useState54(() => easingToBezier(state.initialEasing));
|
|
@@ -27622,7 +27629,7 @@ var EasingEditor = ({ state, renderHeader }) => {
|
|
|
27622
27629
|
const sequenceTargets = new Set;
|
|
27623
27630
|
const effectTargets = new Set;
|
|
27624
27631
|
for (const update of updates) {
|
|
27625
|
-
const key =
|
|
27632
|
+
const key = Internals33.makeSequencePropsSubscriptionKey(update.nodePath);
|
|
27626
27633
|
if (update.type === "sequence") {
|
|
27627
27634
|
if (!sequenceTargets.has(key)) {
|
|
27628
27635
|
sequenceTargets.add(key);
|
|
@@ -28402,7 +28409,7 @@ var getEasingSelectionFromCurrentKeyframes = ({
|
|
|
28402
28409
|
|
|
28403
28410
|
// src/components/InspectorPanel/KeyframeEasingNavigator.tsx
|
|
28404
28411
|
import { useCallback as useCallback91, useMemo as useMemo90 } from "react";
|
|
28405
|
-
import { Internals as
|
|
28412
|
+
import { Internals as Internals36, useVideoConfig as useVideoConfig4 } from "remotion";
|
|
28406
28413
|
|
|
28407
28414
|
// src/components/Timeline/TimelineKeyframeDiamondIcon.tsx
|
|
28408
28415
|
import { jsx as jsx146, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
@@ -28443,7 +28450,7 @@ import {
|
|
|
28443
28450
|
LINEAR_KEYFRAME_EASING as LINEAR_KEYFRAME_EASING5
|
|
28444
28451
|
} from "@remotion/studio-shared";
|
|
28445
28452
|
import React98, { useCallback as useCallback90, useContext as useContext47, useMemo as useMemo89, useRef as useRef30 } from "react";
|
|
28446
|
-
import { Internals as
|
|
28453
|
+
import { Internals as Internals35, useVideoConfig as useVideoConfig3 } from "remotion";
|
|
28447
28454
|
|
|
28448
28455
|
// src/components/ContextMenu.tsx
|
|
28449
28456
|
import { PlayerInternals as PlayerInternals9 } from "@remotion/player";
|
|
@@ -28782,7 +28789,7 @@ import {
|
|
|
28782
28789
|
moveKeyframesInPropStatus
|
|
28783
28790
|
} from "@remotion/studio-shared";
|
|
28784
28791
|
import { useCallback as useCallback89, useContext as useContext46 } from "react";
|
|
28785
|
-
import { Internals as
|
|
28792
|
+
import { Internals as Internals34, useVideoConfig as useVideoConfig2 } from "remotion";
|
|
28786
28793
|
|
|
28787
28794
|
// src/components/Timeline/get-bounded-keyframe-drag-delta.ts
|
|
28788
28795
|
var getBoundedKeyframeDragDelta = ({
|
|
@@ -28938,7 +28945,7 @@ var getTimelineSelectionsAfterEasingKeyframeDrag = ({
|
|
|
28938
28945
|
var getCodeValueForTarget = ({
|
|
28939
28946
|
propStatuses,
|
|
28940
28947
|
nodePath
|
|
28941
|
-
}) => propStatuses[
|
|
28948
|
+
}) => propStatuses[Internals34.makeSequencePropsSubscriptionKey(nodePath)];
|
|
28942
28949
|
var getTimelineKeyframeDragTarget = ({
|
|
28943
28950
|
propStatuses,
|
|
28944
28951
|
displayFrame,
|
|
@@ -29144,16 +29151,16 @@ var useTimelineKeyframeDrag = ({
|
|
|
29144
29151
|
const videoConfig = useVideoConfig2();
|
|
29145
29152
|
const timelineWidth = useContext46(TimelineWidthContext);
|
|
29146
29153
|
const { previewServerState } = useContext46(StudioServerConnectionCtx);
|
|
29147
|
-
const sequencesRef = useContext46(
|
|
29148
|
-
const { overrideIdToNodePathMappings } = useContext46(
|
|
29149
|
-
const propStatusesRef = useContext46(
|
|
29154
|
+
const sequencesRef = useContext46(Internals34.SequenceManagerRefContext);
|
|
29155
|
+
const { overrideIdToNodePathMappings } = useContext46(Internals34.OverrideIdsToNodePathsGettersContext);
|
|
29156
|
+
const propStatusesRef = useContext46(Internals34.VisualModePropStatusesRefContext);
|
|
29150
29157
|
const {
|
|
29151
29158
|
clearDragOverrides,
|
|
29152
29159
|
clearEffectDragOverrides,
|
|
29153
29160
|
setPropStatuses,
|
|
29154
29161
|
setDragOverrides,
|
|
29155
29162
|
setEffectDragOverrides
|
|
29156
|
-
} = useContext46(
|
|
29163
|
+
} = useContext46(Internals34.VisualModeSettersContext);
|
|
29157
29164
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
29158
29165
|
const { clearDraggedKeyframes, setDraggedKeyframes } = useTimelineKeyframeDragState();
|
|
29159
29166
|
return useCallback89((e) => {
|
|
@@ -29352,16 +29359,16 @@ var useTimelineEasingKeyframeDrag = ({
|
|
|
29352
29359
|
const videoConfig = useVideoConfig2();
|
|
29353
29360
|
const timelineWidth = useContext46(TimelineWidthContext);
|
|
29354
29361
|
const { previewServerState } = useContext46(StudioServerConnectionCtx);
|
|
29355
|
-
const sequencesRef = useContext46(
|
|
29356
|
-
const { overrideIdToNodePathMappings } = useContext46(
|
|
29357
|
-
const propStatusesRef = useContext46(
|
|
29362
|
+
const sequencesRef = useContext46(Internals34.SequenceManagerRefContext);
|
|
29363
|
+
const { overrideIdToNodePathMappings } = useContext46(Internals34.OverrideIdsToNodePathsGettersContext);
|
|
29364
|
+
const propStatusesRef = useContext46(Internals34.VisualModePropStatusesRefContext);
|
|
29358
29365
|
const {
|
|
29359
29366
|
clearDragOverrides,
|
|
29360
29367
|
clearEffectDragOverrides,
|
|
29361
29368
|
setPropStatuses,
|
|
29362
29369
|
setDragOverrides,
|
|
29363
29370
|
setEffectDragOverrides
|
|
29364
|
-
} = useContext46(
|
|
29371
|
+
} = useContext46(Internals34.VisualModeSettersContext);
|
|
29365
29372
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
29366
29373
|
const { clearDraggedKeyframes } = useTimelineKeyframeDragState();
|
|
29367
29374
|
return useCallback89((e) => {
|
|
@@ -29601,10 +29608,10 @@ var TimelineKeyframeEasingLineInteraction = ({ fromFrame, toFrame, nodePathInfo,
|
|
|
29601
29608
|
pointerEvents: selectable ? "auto" : "none"
|
|
29602
29609
|
}), [selectable, style4]);
|
|
29603
29610
|
const { previewServerState } = useContext47(StudioServerConnectionCtx);
|
|
29604
|
-
const sequencesRef = useContext47(
|
|
29605
|
-
const propStatusesRef = useContext47(
|
|
29606
|
-
const { setPropStatuses } = useContext47(
|
|
29607
|
-
const { overrideIdToNodePathMappings } = useContext47(
|
|
29611
|
+
const sequencesRef = useContext47(Internals35.SequenceManagerRefContext);
|
|
29612
|
+
const propStatusesRef = useContext47(Internals35.VisualModePropStatusesRefContext);
|
|
29613
|
+
const { setPropStatuses } = useContext47(Internals35.VisualModeSettersContext);
|
|
29614
|
+
const { overrideIdToNodePathMappings } = useContext47(Internals35.OverrideIdsToNodePathsGettersContext);
|
|
29608
29615
|
const currentSelection = useCurrentTimelineSelectionStateAsRef();
|
|
29609
29616
|
const getTargetSelections = useCallback90(() => {
|
|
29610
29617
|
const selectedEasings = getEasingSelections(currentSelection.current.selectedItems);
|
|
@@ -29913,7 +29920,7 @@ var TimelineNavigatorItem = ({ extendLineLeft, extendLineRight, item: item2, onS
|
|
|
29913
29920
|
};
|
|
29914
29921
|
var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, nodePathInfo }) => {
|
|
29915
29922
|
const { isSelected, selectItems } = useTimelineSelection();
|
|
29916
|
-
const setFrame =
|
|
29923
|
+
const setFrame = Internals36.useTimelineSetFrame();
|
|
29917
29924
|
const videoConfig = useVideoConfig4();
|
|
29918
29925
|
const items = useMemo90(() => getKeyframeEasingNavigatorItems({
|
|
29919
29926
|
includeEasings,
|
|
@@ -29932,7 +29939,7 @@ var KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes, no
|
|
|
29932
29939
|
const frame = getNavigatorItemPlayheadFrame(item2);
|
|
29933
29940
|
setFrame((current) => {
|
|
29934
29941
|
const next = { ...current, [videoConfig.id]: frame };
|
|
29935
|
-
|
|
29942
|
+
Internals36.persistCurrentFrame(next);
|
|
29936
29943
|
return next;
|
|
29937
29944
|
});
|
|
29938
29945
|
ensureFrameIsInViewport({
|
|
@@ -30019,7 +30026,7 @@ import {
|
|
|
30019
30026
|
useMemo as useMemo91,
|
|
30020
30027
|
useState as useState57
|
|
30021
30028
|
} from "react";
|
|
30022
|
-
import { Internals as
|
|
30029
|
+
import { Internals as Internals37 } from "remotion";
|
|
30023
30030
|
import { jsx as jsx151, jsxs as jsxs76, Fragment as Fragment27 } from "react/jsx-runtime";
|
|
30024
30031
|
var comboStyle = {
|
|
30025
30032
|
minWidth: 120
|
|
@@ -30071,7 +30078,7 @@ var getOutputValues = (onSelect, disabled) => {
|
|
|
30071
30078
|
}));
|
|
30072
30079
|
};
|
|
30073
30080
|
var KeyframeSettings = ({ update }) => {
|
|
30074
|
-
const { setPropStatuses } = useContext48(
|
|
30081
|
+
const { setPropStatuses } = useContext48(Internals37.VisualModeSettersContext);
|
|
30075
30082
|
const { previewServerState } = useContext48(StudioServerConnectionCtx);
|
|
30076
30083
|
const { propStatus } = update;
|
|
30077
30084
|
const [posterize, setPosterize] = useState57(propStatus.posterize ?? 0);
|
|
@@ -30363,7 +30370,7 @@ var useOpenSequenceInApps = (sequence) => {
|
|
|
30363
30370
|
|
|
30364
30371
|
// src/components/Timeline/use-rename-sequence.ts
|
|
30365
30372
|
import { useCallback as useCallback94, useContext as useContext51, useMemo as useMemo93 } from "react";
|
|
30366
|
-
import { Internals as
|
|
30373
|
+
import { Internals as Internals38 } from "remotion";
|
|
30367
30374
|
var getSequenceNameSaveAction = ({
|
|
30368
30375
|
editedName,
|
|
30369
30376
|
currentDisplayName,
|
|
@@ -30387,11 +30394,11 @@ var useRenameSequence = ({
|
|
|
30387
30394
|
sequence,
|
|
30388
30395
|
validatedLocation
|
|
30389
30396
|
}) => {
|
|
30390
|
-
const { propStatuses } = useContext51(
|
|
30391
|
-
const { setPropStatuses } = useContext51(
|
|
30397
|
+
const { propStatuses } = useContext51(Internals38.VisualModePropStatusesContext);
|
|
30398
|
+
const { setPropStatuses } = useContext51(Internals38.VisualModeSettersContext);
|
|
30392
30399
|
const nodePath = nodePathInfo?.sequenceSubscriptionKey ?? null;
|
|
30393
30400
|
const propStatusesForOverride = useMemo93(() => {
|
|
30394
|
-
return nodePath ?
|
|
30401
|
+
return nodePath ? Internals38.getPropStatusesCtx(propStatuses, nodePath) : undefined;
|
|
30395
30402
|
}, [propStatuses, nodePath]);
|
|
30396
30403
|
const codeNameStatus = propStatusesForOverride?.name;
|
|
30397
30404
|
const fallbackDisplayName = sequence.controls?.componentName ?? "<Sequence>";
|
|
@@ -30467,7 +30474,7 @@ var useRenameSequence = ({
|
|
|
30467
30474
|
|
|
30468
30475
|
// src/components/InspectorPanel/ConnectedCompositionsSection.tsx
|
|
30469
30476
|
import { useCallback as useCallback98, useContext as useContext54, useMemo as useMemo96 } from "react";
|
|
30470
|
-
import { Internals as
|
|
30477
|
+
import { Internals as Internals41 } from "remotion";
|
|
30471
30478
|
|
|
30472
30479
|
// src/helpers/get-connected-compositions.ts
|
|
30473
30480
|
import { getConnectedCompositions } from "@remotion/canvas";
|
|
@@ -30742,7 +30749,7 @@ var CompositionOrStillIcon = ({ color, composition, style: style4 }) => {
|
|
|
30742
30749
|
|
|
30743
30750
|
// src/components/InitialCompositionLoader.tsx
|
|
30744
30751
|
import { useCallback as useCallback97, useContext as useContext53, useEffect as useEffect41 } from "react";
|
|
30745
|
-
import { Internals as
|
|
30752
|
+
import { Internals as Internals40 } from "remotion";
|
|
30746
30753
|
|
|
30747
30754
|
// src/helpers/create-folder-tree.ts
|
|
30748
30755
|
import { sortItemsByCommitOrder } from "@remotion/canvas";
|
|
@@ -31026,9 +31033,9 @@ var explorerSidebarTabs = createRef4();
|
|
|
31026
31033
|
|
|
31027
31034
|
// src/components/use-select-asset.ts
|
|
31028
31035
|
import { useCallback as useCallback96, useContext as useContext52 } from "react";
|
|
31029
|
-
import { Internals as
|
|
31036
|
+
import { Internals as Internals39 } from "remotion";
|
|
31030
31037
|
var useSelectAsset = () => {
|
|
31031
|
-
const { setCanvasContent } = useContext52(
|
|
31038
|
+
const { setCanvasContent } = useContext52(Internals39.CompositionSetters);
|
|
31032
31039
|
const { setAssetFoldersExpanded } = useContext52(FolderContext);
|
|
31033
31040
|
return useCallback96((asset) => {
|
|
31034
31041
|
setCanvasContent({ type: "asset", asset });
|
|
@@ -31052,8 +31059,8 @@ var useSelectAsset = () => {
|
|
|
31052
31059
|
// src/components/InitialCompositionLoader.tsx
|
|
31053
31060
|
var useSelectComposition = () => {
|
|
31054
31061
|
const { setCompositionFoldersExpanded } = useContext53(FolderContext);
|
|
31055
|
-
const { setCanvasContent } = useContext53(
|
|
31056
|
-
const setFrame =
|
|
31062
|
+
const { setCanvasContent } = useContext53(Internals40.CompositionSetters);
|
|
31063
|
+
const setFrame = Internals40.useTimelineSetFrame();
|
|
31057
31064
|
return useCallback97((c, push, frame = null) => {
|
|
31058
31065
|
if (push) {
|
|
31059
31066
|
pushUrl(`/${c.id}`);
|
|
@@ -31080,8 +31087,8 @@ var useSelectComposition = () => {
|
|
|
31080
31087
|
}, [setCanvasContent, setCompositionFoldersExpanded, setFrame]);
|
|
31081
31088
|
};
|
|
31082
31089
|
var InitialCompositionLoader = () => {
|
|
31083
|
-
const { compositions, canvasContent } = useContext53(
|
|
31084
|
-
const { setCanvasContent } = useContext53(
|
|
31090
|
+
const { compositions, canvasContent } = useContext53(Internals40.CompositionManager);
|
|
31091
|
+
const { setCanvasContent } = useContext53(Internals40.CompositionSetters);
|
|
31085
31092
|
const { setCompositionListState } = useContext53(CompositionListContext);
|
|
31086
31093
|
const selectComposition = useSelectComposition();
|
|
31087
31094
|
const selectAsset = useSelectAsset();
|
|
@@ -31188,7 +31195,7 @@ var compositionContextMenuStyle = {
|
|
|
31188
31195
|
var useConnectedCompositions = ({
|
|
31189
31196
|
track
|
|
31190
31197
|
}) => {
|
|
31191
|
-
const { compositions } = useContext54(
|
|
31198
|
+
const { compositions } = useContext54(Internals41.CompositionManager);
|
|
31192
31199
|
return useMemo96(() => getConnectedCompositions({
|
|
31193
31200
|
compositions,
|
|
31194
31201
|
singleChildComponent: track.sequence.singleChildComponent
|
|
@@ -31434,10 +31441,10 @@ var SequenceInspectorSections = ({ track }) => {
|
|
|
31434
31441
|
|
|
31435
31442
|
// src/components/InspectorPanel/use-track-for-selection.ts
|
|
31436
31443
|
import { useContext as useContext56, useMemo as useMemo98 } from "react";
|
|
31437
|
-
import { Internals as
|
|
31444
|
+
import { Internals as Internals42 } from "remotion";
|
|
31438
31445
|
var useTrackForSelection = (selection) => {
|
|
31439
|
-
const { sequences } = useContext56(
|
|
31440
|
-
const { overrideIdToNodePathMappings } = useContext56(
|
|
31446
|
+
const { sequences } = useContext56(Internals42.SequenceManager);
|
|
31447
|
+
const { overrideIdToNodePathMappings } = useContext56(Internals42.OverrideIdsToNodePathsGettersContext);
|
|
31441
31448
|
return useMemo98(() => {
|
|
31442
31449
|
if (selection.type === "guide") {
|
|
31443
31450
|
return null;
|
|
@@ -31461,12 +31468,12 @@ var EasingInspector = ({ selection }) => {
|
|
|
31461
31468
|
const track = useTrackForSelection(selection);
|
|
31462
31469
|
const runtimeValues = useRuntimeValues(track?.sequence.controls ?? null);
|
|
31463
31470
|
const videoConfig = useVideoConfig5();
|
|
31464
|
-
const timelinePosition =
|
|
31465
|
-
const { sequences } = useContext57(
|
|
31466
|
-
const { overrideIdToNodePathMappings } = useContext57(
|
|
31467
|
-
const { propStatuses } = useContext57(
|
|
31468
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext57(
|
|
31469
|
-
const { setPropStatuses } = useContext57(
|
|
31471
|
+
const timelinePosition = Internals43.Timeline.useTimelinePosition();
|
|
31472
|
+
const { sequences } = useContext57(Internals43.SequenceManager);
|
|
31473
|
+
const { overrideIdToNodePathMappings } = useContext57(Internals43.OverrideIdsToNodePathsGettersContext);
|
|
31474
|
+
const { propStatuses } = useContext57(Internals43.VisualModePropStatusesContext);
|
|
31475
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext57(Internals43.VisualModeDragOverridesContext);
|
|
31476
|
+
const { setPropStatuses } = useContext57(Internals43.VisualModeSettersContext);
|
|
31470
31477
|
const { previewServerState } = useContext57(StudioServerConnectionCtx);
|
|
31471
31478
|
const { selectItems } = useTimelineSelection();
|
|
31472
31479
|
const parentSelection = useMemo99(() => getTimelineSelectionFromNodePathInfo(selection.nodePathInfo), [selection.nodePathInfo]);
|
|
@@ -31575,7 +31582,7 @@ var EasingInspector = ({ selection }) => {
|
|
|
31575
31582
|
return;
|
|
31576
31583
|
}
|
|
31577
31584
|
const sourceFrame = timelinePosition - easingKeyframeDisplayOffset;
|
|
31578
|
-
const value =
|
|
31585
|
+
const value = Internals43.getEffectiveVisualModeValue({
|
|
31579
31586
|
propStatus: easingUpdate.propStatus,
|
|
31580
31587
|
dragOverrideValue: easingDetails.dragOverrideValue,
|
|
31581
31588
|
defaultValue: easingDetails.defaultValue,
|
|
@@ -31786,7 +31793,7 @@ import {
|
|
|
31786
31793
|
useMemo as useMemo104,
|
|
31787
31794
|
useState as useState61
|
|
31788
31795
|
} from "react";
|
|
31789
|
-
import { Internals as
|
|
31796
|
+
import { Internals as Internals48, useVideoConfig as useVideoConfig7 } from "remotion";
|
|
31790
31797
|
|
|
31791
31798
|
// src/components/Timeline/TimelineEffectPropItem.tsx
|
|
31792
31799
|
import {
|
|
@@ -31795,7 +31802,7 @@ import {
|
|
|
31795
31802
|
optimisticUpdateForEffectPropStatuses as optimisticUpdateForEffectPropStatuses2
|
|
31796
31803
|
} from "@remotion/studio-shared";
|
|
31797
31804
|
import { useCallback as useCallback104, useContext as useContext61, useMemo as useMemo102 } from "react";
|
|
31798
|
-
import { Internals as
|
|
31805
|
+
import { Internals as Internals46 } from "remotion";
|
|
31799
31806
|
|
|
31800
31807
|
// src/components/Timeline/get-copy-context-for-agents-menu-item.ts
|
|
31801
31808
|
var getCopyContextForAgentsMenuItem = ({
|
|
@@ -31825,7 +31832,7 @@ var getCopyContextForAgentsMenuItem = ({
|
|
|
31825
31832
|
// src/components/Timeline/TimelineKeyframeControls.tsx
|
|
31826
31833
|
import { isSchemaFieldKeyframable } from "@remotion/studio-shared";
|
|
31827
31834
|
import { useCallback as useCallback102, useContext as useContext60, useMemo as useMemo100 } from "react";
|
|
31828
|
-
import { Internals as
|
|
31835
|
+
import { Internals as Internals44, useVideoConfig as useVideoConfig6 } from "remotion";
|
|
31829
31836
|
|
|
31830
31837
|
// src/components/Timeline/get-keyframe-navigation.ts
|
|
31831
31838
|
var isKeyframeInTimelineRange = (frame, durationInFrames) => {
|
|
@@ -31992,7 +31999,7 @@ var resolveKeyframeControlTarget = ({
|
|
|
31992
31999
|
}
|
|
31993
32000
|
const nodePath = nodePathInfo.sequenceSubscriptionKey;
|
|
31994
32001
|
if (fieldNode.field.kind === "sequence-field") {
|
|
31995
|
-
const sequencePropStatuses =
|
|
32002
|
+
const sequencePropStatuses = Internals44.getPropStatusesCtx(propStatuses, nodePath);
|
|
31996
32003
|
const sequenceSelectedPropStatus = sequencePropStatuses?.[fieldNode.field.key] ?? null;
|
|
31997
32004
|
if (sequenceSelectedPropStatus === null) {
|
|
31998
32005
|
return null;
|
|
@@ -32017,7 +32024,7 @@ var resolveKeyframeControlTarget = ({
|
|
|
32017
32024
|
effectIndex: null
|
|
32018
32025
|
};
|
|
32019
32026
|
}
|
|
32020
|
-
const effectStatus =
|
|
32027
|
+
const effectStatus = Internals44.getEffectPropStatusesCtx({
|
|
32021
32028
|
propStatuses,
|
|
32022
32029
|
nodePath,
|
|
32023
32030
|
effectIndex: fieldNode.field.effectIndex
|
|
@@ -32111,7 +32118,7 @@ function getCurrentKeyframeValue({
|
|
|
32111
32118
|
dragOverrideValue
|
|
32112
32119
|
}) {
|
|
32113
32120
|
if (isKeyframedStatus(propStatus)) {
|
|
32114
|
-
return
|
|
32121
|
+
return Internals44.getEffectiveVisualModeValue({
|
|
32115
32122
|
propStatus,
|
|
32116
32123
|
dragOverrideValue,
|
|
32117
32124
|
frame: jsxFrame,
|
|
@@ -32120,7 +32127,7 @@ function getCurrentKeyframeValue({
|
|
|
32120
32127
|
});
|
|
32121
32128
|
}
|
|
32122
32129
|
if (propStatus.status === "static") {
|
|
32123
|
-
return
|
|
32130
|
+
return Internals44.getEffectiveVisualModeValue({
|
|
32124
32131
|
propStatus,
|
|
32125
32132
|
dragOverrideValue,
|
|
32126
32133
|
frame: jsxFrame,
|
|
@@ -32172,11 +32179,11 @@ var TimelineKeyframeControls = ({
|
|
|
32172
32179
|
mode = "timeline"
|
|
32173
32180
|
}) => {
|
|
32174
32181
|
const videoConfig = useVideoConfig6();
|
|
32175
|
-
const timelinePosition =
|
|
32176
|
-
const setFrame =
|
|
32177
|
-
const { setPropStatuses } = useContext60(
|
|
32178
|
-
const { propStatuses } = useContext60(
|
|
32179
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext60(
|
|
32182
|
+
const timelinePosition = Internals44.Timeline.useTimelinePosition();
|
|
32183
|
+
const setFrame = Internals44.useTimelineSetFrame();
|
|
32184
|
+
const { setPropStatuses } = useContext60(Internals44.VisualModeSettersContext);
|
|
32185
|
+
const { propStatuses } = useContext60(Internals44.VisualModePropStatusesContext);
|
|
32186
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext60(Internals44.VisualModeDragOverridesContext);
|
|
32180
32187
|
const { previewServerState } = useContext60(StudioServerConnectionCtx);
|
|
32181
32188
|
const { selectedItems, selectItems } = useTimelineSelection();
|
|
32182
32189
|
const tracks = useTimelineKeyframeTracks();
|
|
@@ -32271,7 +32278,7 @@ var TimelineKeyframeControls = ({
|
|
|
32271
32278
|
const seekToDisplayFrame = useCallback102((frame, direction) => {
|
|
32272
32279
|
setFrame((current) => {
|
|
32273
32280
|
const next = { ...current, [videoConfig.id]: frame };
|
|
32274
|
-
|
|
32281
|
+
Internals44.persistCurrentFrame(next);
|
|
32275
32282
|
return next;
|
|
32276
32283
|
});
|
|
32277
32284
|
ensureFrameIsInViewport({
|
|
@@ -32432,7 +32439,7 @@ var TimelineKeyframeControls = ({
|
|
|
32432
32439
|
|
|
32433
32440
|
// src/components/Timeline/TimelineKeyframedValue.tsx
|
|
32434
32441
|
import { useCallback as useCallback103, useMemo as useMemo101 } from "react";
|
|
32435
|
-
import { Internals as
|
|
32442
|
+
import { Internals as Internals45 } from "remotion";
|
|
32436
32443
|
import { jsx as jsx161 } from "react/jsx-runtime";
|
|
32437
32444
|
var valuesEqual2 = (left, right) => {
|
|
32438
32445
|
return JSON.stringify(left) === JSON.stringify(right);
|
|
@@ -32448,7 +32455,7 @@ var TimelineKeyframedValue = ({
|
|
|
32448
32455
|
scaleLockNodePath
|
|
32449
32456
|
}) => {
|
|
32450
32457
|
const computedValue2 = useMemo101(() => {
|
|
32451
|
-
const raw =
|
|
32458
|
+
const raw = Internals45.interpolateKeyframedStatus({
|
|
32452
32459
|
forceSpringAllowTail: false,
|
|
32453
32460
|
frame: sourceFrame,
|
|
32454
32461
|
status: propStatus
|
|
@@ -32464,7 +32471,7 @@ var TimelineKeyframedValue = ({
|
|
|
32464
32471
|
codeValue: computedValue2
|
|
32465
32472
|
}), [computedValue2]);
|
|
32466
32473
|
const effectiveValue = useMemo101(() => {
|
|
32467
|
-
return
|
|
32474
|
+
return Internals45.getEffectiveVisualModeValue({
|
|
32468
32475
|
propStatus: fakeStatus,
|
|
32469
32476
|
dragOverrideValue,
|
|
32470
32477
|
frame: sourceFrame,
|
|
@@ -32525,19 +32532,19 @@ var TimelineComputedEffectPropValue = ({ field, propStatus, runtimeValueStore, v
|
|
|
32525
32532
|
});
|
|
32526
32533
|
};
|
|
32527
32534
|
var TimelineEffectPropValue = ({ field, nodePath, validatedLocation, sourceFrame, runtimeValueStore }) => {
|
|
32528
|
-
const { setEffectDragOverrides, clearEffectDragOverrides, setPropStatuses } = useContext61(
|
|
32529
|
-
const { getEffectDragOverrides } = useContext61(
|
|
32530
|
-
const { propStatuses: visualModePropStatuses } = useContext61(
|
|
32535
|
+
const { setEffectDragOverrides, clearEffectDragOverrides, setPropStatuses } = useContext61(Internals46.VisualModeSettersContext);
|
|
32536
|
+
const { getEffectDragOverrides } = useContext61(Internals46.VisualModeDragOverridesContext);
|
|
32537
|
+
const { propStatuses: visualModePropStatuses } = useContext61(Internals46.VisualModePropStatusesContext);
|
|
32531
32538
|
const { previewServerState } = useContext61(StudioServerConnectionCtx);
|
|
32532
32539
|
const clientId = previewServerState.type === "connected" ? previewServerState.clientId : null;
|
|
32533
|
-
const effectStatus =
|
|
32540
|
+
const effectStatus = Internals46.getEffectPropStatusesCtx({
|
|
32534
32541
|
propStatuses: visualModePropStatuses,
|
|
32535
32542
|
nodePath,
|
|
32536
32543
|
effectIndex: field.effectIndex
|
|
32537
32544
|
});
|
|
32538
32545
|
const propStatus = effectStatus.type === "can-update-effect" ? effectStatus.props?.[field.key] ?? null : null;
|
|
32539
32546
|
const onDragValueChange = useCallback104((value) => {
|
|
32540
|
-
const nextDragOverrideValue = propStatus !== null && isKeyframedStatus2(propStatus) ?
|
|
32547
|
+
const nextDragOverrideValue = propStatus !== null && isKeyframedStatus2(propStatus) ? Internals46.makeKeyframedDragOverride({
|
|
32541
32548
|
status: propStatus,
|
|
32542
32549
|
frame: sourceFrame,
|
|
32543
32550
|
value,
|
|
@@ -32545,7 +32552,7 @@ var TimelineEffectPropValue = ({ field, nodePath, validatedLocation, sourceFrame
|
|
|
32545
32552
|
schema: field.effectSchema,
|
|
32546
32553
|
key: field.key
|
|
32547
32554
|
}) ? { type: "step1" } : undefined
|
|
32548
|
-
}) :
|
|
32555
|
+
}) : Internals46.makeStaticDragOverride(value);
|
|
32549
32556
|
setEffectDragOverrides(nodePath, field.effectIndex, field.key, nextDragOverrideValue);
|
|
32550
32557
|
}, [
|
|
32551
32558
|
field.effectIndex,
|
|
@@ -32715,7 +32722,7 @@ var TimelineEffectPropValue = ({ field, nodePath, validatedLocation, sourceFrame
|
|
|
32715
32722
|
validatedLocation
|
|
32716
32723
|
});
|
|
32717
32724
|
}
|
|
32718
|
-
const effectiveValue =
|
|
32725
|
+
const effectiveValue = Internals46.getEffectiveVisualModeValue({
|
|
32719
32726
|
propStatus,
|
|
32720
32727
|
dragOverrideValue,
|
|
32721
32728
|
defaultValue: field.fieldSchema.default,
|
|
@@ -32739,7 +32746,7 @@ var TimelineEffectPropValueAtCurrentFrame = ({
|
|
|
32739
32746
|
keyframeDisplayOffset,
|
|
32740
32747
|
runtimeValueStore
|
|
32741
32748
|
}) => {
|
|
32742
|
-
const timelinePosition =
|
|
32749
|
+
const timelinePosition = Internals46.Timeline.useTimelinePosition();
|
|
32743
32750
|
return /* @__PURE__ */ jsx162(TimelineEffectPropValue, {
|
|
32744
32751
|
field,
|
|
32745
32752
|
nodePath,
|
|
@@ -32760,14 +32767,14 @@ var TimelineEffectPropItem = ({
|
|
|
32760
32767
|
}) => {
|
|
32761
32768
|
const { previewServerState } = useContext61(StudioServerConnectionCtx);
|
|
32762
32769
|
const { canOpenInEditor: canOpenInEditor2, defaultEditorId } = useEditorOpening(previewServerState.type === "connected");
|
|
32763
|
-
const { setPropStatuses } = useContext61(
|
|
32764
|
-
const { propStatuses } = useContext61(
|
|
32765
|
-
const { getEffectDragOverrides } = useContext61(
|
|
32770
|
+
const { setPropStatuses } = useContext61(Internals46.VisualModeSettersContext);
|
|
32771
|
+
const { propStatuses } = useContext61(Internals46.VisualModePropStatusesContext);
|
|
32772
|
+
const { getEffectDragOverrides } = useContext61(Internals46.VisualModeDragOverridesContext);
|
|
32766
32773
|
const selection = useTimelineRowSelection(nodePathInfo);
|
|
32767
32774
|
const style4 = useMemo102(() => {
|
|
32768
32775
|
return field.typeName === "text-content" ? fieldRowBase : { ...fieldRowBase, height: field.rowHeight };
|
|
32769
32776
|
}, [field.rowHeight, field.typeName]);
|
|
32770
|
-
const effectStatus = useMemo102(() =>
|
|
32777
|
+
const effectStatus = useMemo102(() => Internals46.getEffectPropStatusesCtx({
|
|
32771
32778
|
propStatuses,
|
|
32772
32779
|
nodePath,
|
|
32773
32780
|
effectIndex: field.effectIndex
|
|
@@ -32923,7 +32930,7 @@ import {
|
|
|
32923
32930
|
isSchemaFieldKeyframable as isSchemaFieldKeyframable3
|
|
32924
32931
|
} from "@remotion/studio-shared";
|
|
32925
32932
|
import React111, { useCallback as useCallback105, useContext as useContext62, useMemo as useMemo103 } from "react";
|
|
32926
|
-
import { Internals as
|
|
32933
|
+
import { Internals as Internals47 } from "remotion";
|
|
32927
32934
|
import { jsx as jsx163 } from "react/jsx-runtime";
|
|
32928
32935
|
var fieldRowBase2 = {};
|
|
32929
32936
|
var inlineSourceFieldRow = {
|
|
@@ -32956,18 +32963,18 @@ var isResettableStatus2 = ({
|
|
|
32956
32963
|
return JSON.stringify(effectiveCodeValue) !== JSON.stringify(defaultValue);
|
|
32957
32964
|
};
|
|
32958
32965
|
var Value = ({ field, nodePath, validatedLocation, schema, propStatus }) => {
|
|
32959
|
-
const { getDragOverrides } = useContext62(
|
|
32960
|
-
const { setDragOverrides, clearDragOverrides } = useContext62(
|
|
32966
|
+
const { getDragOverrides } = useContext62(Internals47.VisualModeDragOverridesContext);
|
|
32967
|
+
const { setDragOverrides, clearDragOverrides } = useContext62(Internals47.VisualModeSettersContext);
|
|
32961
32968
|
const dragOverrideValue = useMemo103(() => {
|
|
32962
32969
|
return nodePath === null ? undefined : (getDragOverrides(nodePath) ?? {})[field.key];
|
|
32963
32970
|
}, [getDragOverrides, nodePath, field.key]);
|
|
32964
|
-
const effectiveValue =
|
|
32971
|
+
const effectiveValue = Internals47.getEffectiveVisualModeValue({
|
|
32965
32972
|
propStatus,
|
|
32966
32973
|
dragOverrideValue,
|
|
32967
32974
|
defaultValue: field.fieldSchema.default,
|
|
32968
32975
|
shouldResortToDefaultValueIfUndefined: true
|
|
32969
32976
|
});
|
|
32970
|
-
const { setPropStatuses } = useContext62(
|
|
32977
|
+
const { setPropStatuses } = useContext62(Internals47.VisualModeSettersContext);
|
|
32971
32978
|
const { previewServerState } = useContext62(StudioServerConnectionCtx);
|
|
32972
32979
|
const clientId = previewServerState.type === "connected" ? previewServerState.clientId : null;
|
|
32973
32980
|
const onSave = useCallback105((value, options) => {
|
|
@@ -33018,7 +33025,7 @@ var Value = ({ field, nodePath, validatedLocation, schema, propStatus }) => {
|
|
|
33018
33025
|
if (nodePath === null) {
|
|
33019
33026
|
throw new Error("Cannot drag value");
|
|
33020
33027
|
}
|
|
33021
|
-
setDragOverrides(nodePath, field.key,
|
|
33028
|
+
setDragOverrides(nodePath, field.key, Internals47.makeStaticDragOverride(value));
|
|
33022
33029
|
}, [setDragOverrides, nodePath, field.key]);
|
|
33023
33030
|
const onDragEnd = useCallback105(() => {
|
|
33024
33031
|
if (nodePath === null) {
|
|
@@ -33059,7 +33066,7 @@ var TimelineSequenceKeyframedValueAtSourceFrame = ({
|
|
|
33059
33066
|
});
|
|
33060
33067
|
};
|
|
33061
33068
|
var TimelineSequenceKeyframedValueAtCurrentFrame = ({ keyframeDisplayOffset, ...props }) => {
|
|
33062
|
-
const timelinePosition =
|
|
33069
|
+
const timelinePosition = Internals47.Timeline.useTimelinePosition();
|
|
33063
33070
|
const resolvedKeyframeDisplayOffset = getKeyframeDisplayOffset({
|
|
33064
33071
|
propStatus: props.propStatus,
|
|
33065
33072
|
keyframeDisplayOffset
|
|
@@ -33071,8 +33078,8 @@ var TimelineSequenceKeyframedValueAtCurrentFrame = ({ keyframeDisplayOffset, ...
|
|
|
33071
33078
|
};
|
|
33072
33079
|
var TimelineSequenceKeyframedValueUnmemoized = (props) => {
|
|
33073
33080
|
const { field, fileName, nodePath, schema, propStatus } = props;
|
|
33074
|
-
const { getDragOverrides } = useContext62(
|
|
33075
|
-
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext62(
|
|
33081
|
+
const { getDragOverrides } = useContext62(Internals47.VisualModeDragOverridesContext);
|
|
33082
|
+
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext62(Internals47.VisualModeSettersContext);
|
|
33076
33083
|
const { previewServerState } = useContext62(StudioServerConnectionCtx);
|
|
33077
33084
|
const clientId = previewServerState.type === "connected" ? previewServerState.clientId : null;
|
|
33078
33085
|
const dragOverrideValue = useMemo103(() => {
|
|
@@ -33094,7 +33101,7 @@ var TimelineSequenceKeyframedValueUnmemoized = (props) => {
|
|
|
33094
33101
|
});
|
|
33095
33102
|
}, [clientId, field.key, fileName, nodePath, schema, setPropStatuses]);
|
|
33096
33103
|
const onKeyframedDragValueChangeAtFrame = useCallback105((value, sourceFrame) => {
|
|
33097
|
-
setDragOverrides(nodePath, field.key,
|
|
33104
|
+
setDragOverrides(nodePath, field.key, Internals47.makeKeyframedDragOverride({
|
|
33098
33105
|
status: propStatus,
|
|
33099
33106
|
frame: sourceFrame,
|
|
33100
33107
|
value,
|
|
@@ -33136,14 +33143,14 @@ var TimelineSequencePropItem = ({
|
|
|
33136
33143
|
keyframeControlsMode,
|
|
33137
33144
|
runtimeValue
|
|
33138
33145
|
}) => {
|
|
33139
|
-
const { propStatuses: visualModePropStatuses } = useContext62(
|
|
33140
|
-
const { getDragOverrides } = useContext62(
|
|
33141
|
-
const { setPropStatuses } = useContext62(
|
|
33146
|
+
const { propStatuses: visualModePropStatuses } = useContext62(Internals47.VisualModePropStatusesContext);
|
|
33147
|
+
const { getDragOverrides } = useContext62(Internals47.VisualModeDragOverridesContext);
|
|
33148
|
+
const { setPropStatuses } = useContext62(Internals47.VisualModeSettersContext);
|
|
33142
33149
|
const { previewServerState } = useContext62(StudioServerConnectionCtx);
|
|
33143
33150
|
const { canOpenInEditor: canOpenInEditor2, defaultEditorId } = useEditorOpening(previewServerState.type === "connected");
|
|
33144
33151
|
const selection = useTimelineRowSelection(nodePathInfo);
|
|
33145
33152
|
const transform3DMode = useContext62(Transform3DModeContext);
|
|
33146
|
-
const propStatusesForOverride =
|
|
33153
|
+
const propStatusesForOverride = Internals47.getPropStatusesCtx(visualModePropStatuses, nodePath);
|
|
33147
33154
|
const propStatus = propStatusesForOverride?.[field.key] ?? null;
|
|
33148
33155
|
const dragOverrideValue = useMemo103(() => {
|
|
33149
33156
|
return (getDragOverrides(nodePath) ?? {})[field.key];
|
|
@@ -33380,15 +33387,15 @@ var KeyframeInspector = ({ selection }) => {
|
|
|
33380
33387
|
const track = useTrackForSelection(selection);
|
|
33381
33388
|
const runtimeValues = useRuntimeValues(track?.sequence.controls ?? null);
|
|
33382
33389
|
const videoConfig = useVideoConfig7();
|
|
33383
|
-
const { propStatuses } = useContext63(
|
|
33390
|
+
const { propStatuses } = useContext63(Internals48.VisualModePropStatusesContext);
|
|
33384
33391
|
const {
|
|
33385
33392
|
clearDragOverrides,
|
|
33386
33393
|
clearEffectDragOverrides,
|
|
33387
33394
|
setDragOverrides,
|
|
33388
33395
|
setEffectDragOverrides,
|
|
33389
33396
|
setPropStatuses
|
|
33390
|
-
} = useContext63(
|
|
33391
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext63(
|
|
33397
|
+
} = useContext63(Internals48.VisualModeSettersContext);
|
|
33398
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext63(Internals48.VisualModeDragOverridesContext);
|
|
33392
33399
|
const { previewServerState } = useContext63(StudioServerConnectionCtx);
|
|
33393
33400
|
const { selectItems } = useTimelineSelection();
|
|
33394
33401
|
const [draftFrame, setDraftFrame] = useState61(selection.frame);
|
|
@@ -33416,7 +33423,7 @@ var KeyframeInspector = ({ selection }) => {
|
|
|
33416
33423
|
includeTextContent: false
|
|
33417
33424
|
});
|
|
33418
33425
|
const sequenceField = sequenceFields?.find((candidate) => candidate.key === keyframeField.fieldKey) ?? null;
|
|
33419
|
-
const sequencePropStatus =
|
|
33426
|
+
const sequencePropStatus = Internals48.getPropStatusesCtx(propStatuses, nodePath)?.[keyframeField.fieldKey] ?? null;
|
|
33420
33427
|
if (!sequenceField || sequencePropStatus?.status !== "keyframed") {
|
|
33421
33428
|
return null;
|
|
33422
33429
|
}
|
|
@@ -33450,7 +33457,7 @@ var KeyframeInspector = ({ selection }) => {
|
|
|
33450
33457
|
getEffectDragOverrides
|
|
33451
33458
|
});
|
|
33452
33459
|
const effectField = effectFields.find((candidate) => candidate.key === keyframeField.fieldKey) ?? null;
|
|
33453
|
-
const effectStatus =
|
|
33460
|
+
const effectStatus = Internals48.getEffectPropStatusesCtx({
|
|
33454
33461
|
propStatuses,
|
|
33455
33462
|
nodePath,
|
|
33456
33463
|
effectIndex: keyframeField.effectIndex
|
|
@@ -33751,7 +33758,7 @@ var KeyframeInspector = ({ selection }) => {
|
|
|
33751
33758
|
|
|
33752
33759
|
// src/components/InspectorPanel/SequenceSelectionInspector.tsx
|
|
33753
33760
|
import { useCallback as useCallback115, useContext as useContext69, useMemo as useMemo111 } from "react";
|
|
33754
|
-
import { Internals as
|
|
33761
|
+
import { Internals as Internals57 } from "remotion";
|
|
33755
33762
|
|
|
33756
33763
|
// src/icons/audio.tsx
|
|
33757
33764
|
import { jsx as jsx165 } from "react/jsx-runtime";
|
|
@@ -33828,7 +33835,7 @@ import {
|
|
|
33828
33835
|
useRef as useRef35,
|
|
33829
33836
|
useState as useState66
|
|
33830
33837
|
} from "react";
|
|
33831
|
-
import { Internals as
|
|
33838
|
+
import { Internals as Internals53 } from "remotion";
|
|
33832
33839
|
|
|
33833
33840
|
// src/icons/border-radius.tsx
|
|
33834
33841
|
import { jsx as jsx169 } from "react/jsx-runtime";
|
|
@@ -33985,7 +33992,7 @@ import {
|
|
|
33985
33992
|
useRef as useRef34,
|
|
33986
33993
|
useState as useState64
|
|
33987
33994
|
} from "react";
|
|
33988
|
-
import { Internals as
|
|
33995
|
+
import { Internals as Internals49 } from "remotion";
|
|
33989
33996
|
|
|
33990
33997
|
// src/components/CaptionInspector.tsx
|
|
33991
33998
|
import React115, { useCallback as useCallback109, useRef as useRef33, useState as useState63 } from "react";
|
|
@@ -34501,9 +34508,9 @@ var InlineCaptionInspector = ({
|
|
|
34501
34508
|
validatedLocation
|
|
34502
34509
|
}) => {
|
|
34503
34510
|
const { previewServerState } = useContext64(StudioServerConnectionCtx);
|
|
34504
|
-
const { propStatuses } = useContext64(
|
|
34505
|
-
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext64(
|
|
34506
|
-
const captionStatus =
|
|
34511
|
+
const { propStatuses } = useContext64(Internals49.VisualModePropStatusesContext);
|
|
34512
|
+
const { setPropStatuses, setDragOverrides, clearDragOverrides } = useContext64(Internals49.VisualModeSettersContext);
|
|
34513
|
+
const captionStatus = Internals49.getPropStatusesCtx(propStatuses, nodePath)?.captions;
|
|
34507
34514
|
const clientId = previewServerState.type === "connected" ? previewServerState.clientId : null;
|
|
34508
34515
|
const canSave = !readOnlyStudio && clientId !== null && captionStatus?.status === "static";
|
|
34509
34516
|
const [draftCaptions, setDraftCaptions] = useState64(captions);
|
|
@@ -34521,7 +34528,7 @@ var InlineCaptionInspector = ({
|
|
|
34521
34528
|
}, [captions, clearDragOverrides, nodePath, runtimeSignature]);
|
|
34522
34529
|
const updateCaptions = useCallback110((nextCaptions) => {
|
|
34523
34530
|
setDraftCaptions(nextCaptions);
|
|
34524
|
-
setDragOverrides(nodePath, "captions",
|
|
34531
|
+
setDragOverrides(nodePath, "captions", Internals49.makeStaticDragOverride(nextCaptions));
|
|
34525
34532
|
}, [nodePath, setDragOverrides]);
|
|
34526
34533
|
const cancelCaptions = useCallback110(() => {
|
|
34527
34534
|
setDraftCaptions(savedCaptions.current);
|
|
@@ -34564,7 +34571,7 @@ var InlineCaptionInspector = ({
|
|
|
34564
34571
|
return;
|
|
34565
34572
|
}
|
|
34566
34573
|
setDraftCaptions(nextCaptions);
|
|
34567
|
-
setDragOverrides(nodePath, "captions",
|
|
34574
|
+
setDragOverrides(nodePath, "captions", Internals49.makeStaticDragOverride(nextCaptions));
|
|
34568
34575
|
savedCaptions.current = nextCaptions;
|
|
34569
34576
|
saveSequenceProps2({
|
|
34570
34577
|
changes: [
|
|
@@ -34610,7 +34617,7 @@ var InlineCaptionInspector = ({
|
|
|
34610
34617
|
};
|
|
34611
34618
|
|
|
34612
34619
|
// src/components/InspectorPanel/inspector-section-collapse.ts
|
|
34613
|
-
import { Internals as
|
|
34620
|
+
import { Internals as Internals50 } from "remotion";
|
|
34614
34621
|
var BORDER_KEYS = [
|
|
34615
34622
|
"style.borderWidth",
|
|
34616
34623
|
"style.borderStyle",
|
|
@@ -34696,7 +34703,7 @@ var isLayoutInactive = ({
|
|
|
34696
34703
|
if (!schema) {
|
|
34697
34704
|
return false;
|
|
34698
34705
|
}
|
|
34699
|
-
const flatSchema =
|
|
34706
|
+
const flatSchema = Internals50.getFlatSchemaWithAllKeys(schema);
|
|
34700
34707
|
const layoutKeys = LAYOUT_KEYS.filter((key) => flatSchema[key] !== undefined);
|
|
34701
34708
|
if (layoutKeys.length === 0) {
|
|
34702
34709
|
return false;
|
|
@@ -34760,7 +34767,7 @@ var getInspectorSectionActivity = ({
|
|
|
34760
34767
|
} else if (group === "crop") {
|
|
34761
34768
|
resolved = hasEveryStatus({ keys: CROP_KEYS, propStatuses });
|
|
34762
34769
|
} else if (group === "layout") {
|
|
34763
|
-
const flatSchema = schema ?
|
|
34770
|
+
const flatSchema = schema ? Internals50.getFlatSchemaWithAllKeys(schema) : undefined;
|
|
34764
34771
|
const layoutKeys = LAYOUT_KEYS.filter((key) => flatSchema?.[key] !== undefined);
|
|
34765
34772
|
resolved = layoutKeys.length > 0 && hasEveryStatus({ keys: layoutKeys, propStatuses });
|
|
34766
34773
|
} else {
|
|
@@ -34900,7 +34907,7 @@ import React118 from "react";
|
|
|
34900
34907
|
|
|
34901
34908
|
// src/components/Timeline/TimelineEffectItem.tsx
|
|
34902
34909
|
import { useCallback as useCallback111, useContext as useContext65, useMemo as useMemo107, useState as useState65 } from "react";
|
|
34903
|
-
import { Internals as
|
|
34910
|
+
import { Internals as Internals51 } from "remotion";
|
|
34904
34911
|
import { jsx as jsx183, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
34905
34912
|
var EFFECT_REORDER_MIME_TYPE = "application/remotion-effect-reorder";
|
|
34906
34913
|
var currentEffectDrag = null;
|
|
@@ -34976,12 +34983,12 @@ var TimelineEffectItem = ({
|
|
|
34976
34983
|
const { previewServerState } = useContext65(StudioServerConnectionCtx);
|
|
34977
34984
|
const previewConnected = previewServerState.type === "connected";
|
|
34978
34985
|
const canMutateEffects = canUseEffectOperations();
|
|
34979
|
-
const { propStatuses } = useContext65(
|
|
34980
|
-
const { setPropStatuses } = useContext65(
|
|
34986
|
+
const { propStatuses } = useContext65(Internals51.VisualModePropStatusesContext);
|
|
34987
|
+
const { setPropStatuses } = useContext65(Internals51.VisualModeSettersContext);
|
|
34981
34988
|
const selection = useTimelineRowSelection(nodePathInfo);
|
|
34982
34989
|
const containsSelection = useTimelineRowContainsSelection(nodePathInfo);
|
|
34983
34990
|
const [dropIndicator, setDropIndicator] = useState65(null);
|
|
34984
|
-
const effectStatus = useMemo107(() =>
|
|
34991
|
+
const effectStatus = useMemo107(() => Internals51.getEffectPropStatusesCtx({
|
|
34985
34992
|
propStatuses,
|
|
34986
34993
|
nodePath,
|
|
34987
34994
|
effectIndex
|
|
@@ -34996,7 +35003,7 @@ var TimelineEffectItem = ({
|
|
|
34996
35003
|
const canToggle = previewConnected && canMutateEffects && disabledStatus?.status === "static";
|
|
34997
35004
|
const deleteDisabled = !previewConnected || !canMutateEffects || effectStatus.type !== "can-update-effect" || !validatedLocation.source;
|
|
34998
35005
|
const canReorder = previewConnected && canMutateEffects && effectStatus.type === "can-update-effect" && Boolean(validatedLocation.source);
|
|
34999
|
-
const nodePathKey = useMemo107(() =>
|
|
35006
|
+
const nodePathKey = useMemo107(() => Internals51.makeSequencePropsSubscriptionKey(nodePath), [nodePath]);
|
|
35000
35007
|
const onDeleteEffectFromSource = useCallback111(async () => {
|
|
35001
35008
|
if (deleteDisabled) {
|
|
35002
35009
|
return;
|
|
@@ -35445,13 +35452,13 @@ var propStatusHas3DTransformValue = ({
|
|
|
35445
35452
|
|
|
35446
35453
|
// src/components/Timeline/use-timeline-expanded-tree.ts
|
|
35447
35454
|
import { useCallback as useCallback112, useContext as useContext66, useMemo as useMemo108 } from "react";
|
|
35448
|
-
import { Internals as
|
|
35455
|
+
import { Internals as Internals52 } from "remotion";
|
|
35449
35456
|
var useTimelineSequenceHasExpandableContent = ({
|
|
35450
35457
|
sequence,
|
|
35451
35458
|
nodePathInfo
|
|
35452
35459
|
}) => {
|
|
35453
|
-
const { propStatuses: visualModePropStatuses } = useContext66(
|
|
35454
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext66(
|
|
35460
|
+
const { propStatuses: visualModePropStatuses } = useContext66(Internals52.VisualModePropStatusesContext);
|
|
35461
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext66(Internals52.VisualModeDragOverridesContext);
|
|
35455
35462
|
const { selectedItems } = useTimelineSelection();
|
|
35456
35463
|
const selectedRowKeys = useMemo108(() => getSelectedTimelineExpandedRowKeys(selectedItems), [selectedItems]);
|
|
35457
35464
|
const selectHasExpandableContent = useCallback112((runtimeValues) => {
|
|
@@ -35499,8 +35506,8 @@ var useTimelineExpandedTree = ({
|
|
|
35499
35506
|
}) => {
|
|
35500
35507
|
const { getIsExpanded } = useContext66(ExpandedTracksGetterContext);
|
|
35501
35508
|
const { toggleTrack } = useContext66(ExpandedTracksSetterContext);
|
|
35502
|
-
const { propStatuses: visualModePropStatuses } = useContext66(
|
|
35503
|
-
const { getDragOverrides, getEffectDragOverrides } = useContext66(
|
|
35509
|
+
const { propStatuses: visualModePropStatuses } = useContext66(Internals52.VisualModePropStatusesContext);
|
|
35510
|
+
const { getDragOverrides, getEffectDragOverrides } = useContext66(Internals52.VisualModeDragOverridesContext);
|
|
35504
35511
|
const { selectedItems } = useTimelineSelection();
|
|
35505
35512
|
const runtimeValues = useRuntimeValues(sequence.controls);
|
|
35506
35513
|
const tree = useMemo108(() => buildTimelineTree({
|
|
@@ -35743,8 +35750,8 @@ var InspectorSequenceSection = ({
|
|
|
35743
35750
|
const sequenceKey = getTimelineSequenceSelectionKey(nodePathInfo);
|
|
35744
35751
|
const manuallyEnabled3DTransform = manuallyEnabledSequenceKeys.has(sequenceKey);
|
|
35745
35752
|
const { previewServerState } = useContext67(StudioServerConnectionCtx);
|
|
35746
|
-
const { getDragOverrides } = useContext67(
|
|
35747
|
-
const { setPropStatuses } = useContext67(
|
|
35753
|
+
const { getDragOverrides } = useContext67(Internals53.VisualModeDragOverridesContext);
|
|
35754
|
+
const { setPropStatuses } = useContext67(Internals53.VisualModeSettersContext);
|
|
35748
35755
|
const { setSelectedModal } = useContext67(SetSelectedModalContext);
|
|
35749
35756
|
const selectAsset = useSelectAsset();
|
|
35750
35757
|
const mediaSrc = getTimelineAssetSrcFromSchema(sequence.controls, runtimeValues);
|
|
@@ -35881,7 +35888,7 @@ var InspectorSequenceSection = ({
|
|
|
35881
35888
|
const controlGroups = useMemo109(() => getInspectorControlGroups(controlRows), [controlRows]);
|
|
35882
35889
|
const layoutGroup = controlGroups.find((group) => group.id === "layout");
|
|
35883
35890
|
const controlGroupsWithoutLayout = controlGroups.filter((group) => group.id !== "layout");
|
|
35884
|
-
const sequencePropStatuses =
|
|
35891
|
+
const sequencePropStatuses = Internals53.getPropStatusesCtx(propStatuses, nodePathInfo.sequenceSubscriptionKey);
|
|
35885
35892
|
const automaticallyEnabled3DTransform = useMemo109(() => {
|
|
35886
35893
|
return [
|
|
35887
35894
|
"style.translate",
|
|
@@ -35995,8 +36002,8 @@ var InspectorSequenceSection = ({
|
|
|
35995
36002
|
const borderRadiusGroup = controlGroups.find((group) => group.id === "border-radius");
|
|
35996
36003
|
const borderRadiusUsesShorthand = borderRadiusGroup?.rows.some(({ node }) => node.kind === "field" && node.field?.key === BORDER_RADIUS_SHORTHAND_KEY2);
|
|
35997
36004
|
const borderRadiusConversion = getBorderRadiusConversion(sequencePropStatuses, getDragOverrides(nodePathInfo.sequenceSubscriptionKey));
|
|
35998
|
-
const
|
|
35999
|
-
const inlineCaptions = Array.isArray(
|
|
36005
|
+
const hasCaptionsSchema = schema.captions?.type === "remotion-captions";
|
|
36006
|
+
const inlineCaptions = hasCaptionsSchema ? Array.isArray(runtimeValues.captions) ? runtimeValues.captions : [] : null;
|
|
36000
36007
|
const showEffectsSection = nodePathInfo.supportsEffects || effectRows.length > 0;
|
|
36001
36008
|
const canAddEffect = nodePathInfo.supportsEffects && previewServerState.type === "connected" && isStudioInteractivityEnabled() && Boolean(validatedLocation.source);
|
|
36002
36009
|
const onAddEffect = useCallback113(() => {
|
|
@@ -36264,7 +36271,7 @@ var getSequenceFreezeFrameMenuItem = ({
|
|
|
36264
36271
|
|
|
36265
36272
|
// src/components/InspectorPanel/AlignmentControls.tsx
|
|
36266
36273
|
import { useCallback as useCallback114, useContext as useContext68, useMemo as useMemo110 } from "react";
|
|
36267
|
-
import { Internals as
|
|
36274
|
+
import { Internals as Internals56 } from "remotion";
|
|
36268
36275
|
|
|
36269
36276
|
// src/icons/align-right.tsx
|
|
36270
36277
|
import { jsx as jsx186, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
@@ -36406,7 +36413,7 @@ var AlignTopIcon = (props) => {
|
|
|
36406
36413
|
};
|
|
36407
36414
|
|
|
36408
36415
|
// src/components/selected-outline-drag.ts
|
|
36409
|
-
import { Internals as
|
|
36416
|
+
import { Internals as Internals55 } from "remotion";
|
|
36410
36417
|
import { NoReactInternals as NoReactInternals14 } from "remotion/no-react";
|
|
36411
36418
|
|
|
36412
36419
|
// src/components/selected-outline-geometry.ts
|
|
@@ -38061,7 +38068,7 @@ var transformOriginFieldKey = "style.transformOrigin";
|
|
|
38061
38068
|
var selectedOutlineDragThresholdPx = 4;
|
|
38062
38069
|
|
|
38063
38070
|
// src/components/selected-outline-uv.ts
|
|
38064
|
-
import { Internals as
|
|
38071
|
+
import { Internals as Internals54 } from "remotion";
|
|
38065
38072
|
var parseUvCoordinate2 = (value) => {
|
|
38066
38073
|
if (Array.isArray(value) && value.length === 2 && value.every((item2) => typeof item2 === "number" && Number.isFinite(item2))) {
|
|
38067
38074
|
return [value[0], value[1]];
|
|
@@ -38542,7 +38549,7 @@ var getSelectedUvHandles = ({
|
|
|
38542
38549
|
if (!effect) {
|
|
38543
38550
|
continue;
|
|
38544
38551
|
}
|
|
38545
|
-
const effectStatus =
|
|
38552
|
+
const effectStatus = Internals54.getEffectPropStatusesCtx({
|
|
38546
38553
|
propStatuses,
|
|
38547
38554
|
nodePath,
|
|
38548
38555
|
effectIndex
|
|
@@ -38555,12 +38562,12 @@ var getSelectedUvHandles = ({
|
|
|
38555
38562
|
continue;
|
|
38556
38563
|
}
|
|
38557
38564
|
const dragOverrides = getEffectDragOverrides(nodePath, effectIndex);
|
|
38558
|
-
const activeSchema =
|
|
38565
|
+
const activeSchema = Internals54.flattenActiveSchema(effect.schema, (key) => {
|
|
38559
38566
|
const propStatus = effectStatus.props[key];
|
|
38560
38567
|
if (propStatus?.status !== "static" && propStatus?.status !== "keyframed") {
|
|
38561
38568
|
return;
|
|
38562
38569
|
}
|
|
38563
|
-
return
|
|
38570
|
+
return Internals54.getEffectiveVisualModeValue({
|
|
38564
38571
|
propStatus,
|
|
38565
38572
|
dragOverrideValue: dragOverrides[key],
|
|
38566
38573
|
defaultValue: undefined,
|
|
@@ -38577,7 +38584,7 @@ var getSelectedUvHandles = ({
|
|
|
38577
38584
|
if (propStatus?.status !== "static" && propStatus?.status !== "keyframed") {
|
|
38578
38585
|
continue;
|
|
38579
38586
|
}
|
|
38580
|
-
effectValues[fieldKey] =
|
|
38587
|
+
effectValues[fieldKey] = Internals54.getEffectiveVisualModeValue({
|
|
38581
38588
|
propStatus,
|
|
38582
38589
|
dragOverrideValue: dragOverrides[fieldKey],
|
|
38583
38590
|
defaultValue: fieldSchema.default,
|
|
@@ -39068,14 +39075,14 @@ var getSelectedOutlineActiveSchema = ({
|
|
|
39068
39075
|
propStatus,
|
|
39069
39076
|
frame
|
|
39070
39077
|
}) => {
|
|
39071
|
-
const { merged: valuesDotNotation } =
|
|
39078
|
+
const { merged: valuesDotNotation } = Internals55.computeEffectiveSchemaValuesDotNotation({
|
|
39072
39079
|
schema,
|
|
39073
39080
|
currentValue: currentRuntimeValueDotNotation,
|
|
39074
39081
|
overrideValues: dragOverrides,
|
|
39075
39082
|
propStatus,
|
|
39076
39083
|
frame
|
|
39077
39084
|
});
|
|
39078
|
-
return
|
|
39085
|
+
return Internals55.flattenActiveSchema(schema, (key) => valuesDotNotation[key]);
|
|
39079
39086
|
};
|
|
39080
39087
|
var getSelectedOutlineDragStates = ({
|
|
39081
39088
|
dragTargets,
|
|
@@ -39085,7 +39092,7 @@ var getSelectedOutlineDragStates = ({
|
|
|
39085
39092
|
return dragTargets.map((target) => {
|
|
39086
39093
|
const dragOverrideValue = (getDragOverrides(target.nodePath) ?? {})[translateFieldKey];
|
|
39087
39094
|
const sourceFrame = timelinePosition - target.keyframeDisplayOffset;
|
|
39088
|
-
const effectiveValue =
|
|
39095
|
+
const effectiveValue = Internals55.getEffectiveVisualModeValue({
|
|
39089
39096
|
propStatus: target.propStatus,
|
|
39090
39097
|
dragOverrideValue,
|
|
39091
39098
|
defaultValue: target.fieldDefault,
|
|
@@ -39095,7 +39102,7 @@ var getSelectedOutlineDragStates = ({
|
|
|
39095
39102
|
const [startX, startY, startZ] = parseTranslate(String(effectiveValue ?? "0px 0px"));
|
|
39096
39103
|
return {
|
|
39097
39104
|
defaultValue: target.fieldDefault !== undefined ? JSON.stringify(target.fieldDefault) : null,
|
|
39098
|
-
key:
|
|
39105
|
+
key: Internals55.makeSequencePropsSubscriptionKey(target.nodePath),
|
|
39099
39106
|
sourceFrame,
|
|
39100
39107
|
startX,
|
|
39101
39108
|
startY,
|
|
@@ -39387,7 +39394,7 @@ var getSelectedOutlineScaleDragStates = ({
|
|
|
39387
39394
|
return dragTargets.map((target) => {
|
|
39388
39395
|
const dragOverrideValue = (getDragOverrides(target.nodePath) ?? {})[scaleFieldKey];
|
|
39389
39396
|
const sourceFrame = timelinePosition - target.keyframeDisplayOffset;
|
|
39390
|
-
const effectiveValue =
|
|
39397
|
+
const effectiveValue = Internals55.getEffectiveVisualModeValue({
|
|
39391
39398
|
propStatus: target.propStatus,
|
|
39392
39399
|
dragOverrideValue,
|
|
39393
39400
|
defaultValue: target.fieldDefault,
|
|
@@ -39397,7 +39404,7 @@ var getSelectedOutlineScaleDragStates = ({
|
|
|
39397
39404
|
const [startX, startY, startZ] = NoReactInternals14.parseScaleValue(effectiveValue);
|
|
39398
39405
|
return {
|
|
39399
39406
|
defaultValue: target.fieldDefault !== undefined ? JSON.stringify(target.fieldDefault) : null,
|
|
39400
|
-
key:
|
|
39407
|
+
key: Internals55.makeSequencePropsSubscriptionKey(target.nodePath),
|
|
39401
39408
|
sourceFrame,
|
|
39402
39409
|
startX,
|
|
39403
39410
|
startY,
|
|
@@ -39493,7 +39500,7 @@ var getSelectedOutlineRotationDragStates = ({
|
|
|
39493
39500
|
return dragTargets.map((target) => {
|
|
39494
39501
|
const dragOverrideValue = (getDragOverrides(target.nodePath) ?? {})[rotateFieldKey];
|
|
39495
39502
|
const sourceFrame = timelinePosition - target.keyframeDisplayOffset;
|
|
39496
|
-
const effectiveValue =
|
|
39503
|
+
const effectiveValue = Internals55.getEffectiveVisualModeValue({
|
|
39497
39504
|
propStatus: target.propStatus,
|
|
39498
39505
|
dragOverrideValue,
|
|
39499
39506
|
defaultValue: target.fieldDefault,
|
|
@@ -39503,7 +39510,7 @@ var getSelectedOutlineRotationDragStates = ({
|
|
|
39503
39510
|
const startValue = String(effectiveValue ?? "0deg");
|
|
39504
39511
|
return {
|
|
39505
39512
|
defaultValue: target.fieldDefault !== undefined ? JSON.stringify(target.fieldDefault) : null,
|
|
39506
|
-
key:
|
|
39513
|
+
key: Internals55.makeSequencePropsSubscriptionKey(target.nodePath),
|
|
39507
39514
|
sourceFrame,
|
|
39508
39515
|
startDegrees: parseCssRotationToDegrees(startValue),
|
|
39509
39516
|
startRotation: parseCssRotationToEuler(startValue),
|
|
@@ -39954,16 +39961,16 @@ var AlignmentButton = ({ onClick, title, Icon, disabled }) => {
|
|
|
39954
39961
|
var AlignmentControls = ({ track }) => {
|
|
39955
39962
|
const runtimeValues = useRuntimeValues(track.sequence.controls);
|
|
39956
39963
|
const { previewServerState } = useContext68(StudioServerConnectionCtx);
|
|
39957
|
-
const { propStatuses } = useContext68(
|
|
39958
|
-
const { getDragOverrides } = useContext68(
|
|
39959
|
-
const { setPropStatuses } = useContext68(
|
|
39960
|
-
const { canvasContent, compositions } = useContext68(
|
|
39964
|
+
const { propStatuses } = useContext68(Internals56.VisualModePropStatusesContext);
|
|
39965
|
+
const { getDragOverrides } = useContext68(Internals56.VisualModeDragOverridesContext);
|
|
39966
|
+
const { setPropStatuses } = useContext68(Internals56.VisualModeSettersContext);
|
|
39967
|
+
const { canvasContent, compositions } = useContext68(Internals56.CompositionManager);
|
|
39961
39968
|
const currentCompositionMetadata = useMemo110(() => {
|
|
39962
39969
|
if (canvasContent?.type !== "composition")
|
|
39963
39970
|
return null;
|
|
39964
39971
|
return compositions.find((c) => c.id === canvasContent.compositionId) ?? null;
|
|
39965
39972
|
}, [canvasContent, compositions]);
|
|
39966
|
-
const timelinePosition =
|
|
39973
|
+
const timelinePosition = Internals56.Timeline.useTimelinePosition();
|
|
39967
39974
|
const handleAlign = useCallback114((direction) => {
|
|
39968
39975
|
if (!isStudioInteractivityEnabled() || previewServerState.type !== "connected" || !track.nodePathInfo || !track.sequence.controls) {
|
|
39969
39976
|
return;
|
|
@@ -39973,7 +39980,7 @@ var AlignmentControls = ({ track }) => {
|
|
|
39973
39980
|
return;
|
|
39974
39981
|
}
|
|
39975
39982
|
const nodePath = track.nodePathInfo.sequenceSubscriptionKey;
|
|
39976
|
-
const nodePropStatuses =
|
|
39983
|
+
const nodePropStatuses = Internals56.getPropStatusesCtx(propStatuses, nodePath);
|
|
39977
39984
|
const firstKeyframedStatus = Object.values(nodePropStatuses ?? {}).find((status) => status.status === "keyframed");
|
|
39978
39985
|
const sourceFrame = timelinePosition - getKeyframeDisplayOffset({
|
|
39979
39986
|
propStatus: firstKeyframedStatus,
|
|
@@ -40004,12 +40011,12 @@ var AlignmentControls = ({ track }) => {
|
|
|
40004
40011
|
if (!currentCompositionMetadata?.width) {
|
|
40005
40012
|
return;
|
|
40006
40013
|
}
|
|
40007
|
-
const compositionRect =
|
|
40014
|
+
const compositionRect = Internals56.portalNode().getBoundingClientRect();
|
|
40008
40015
|
if (compositionRect.width === 0 || compositionRect.height === 0) {
|
|
40009
40016
|
return;
|
|
40010
40017
|
}
|
|
40011
40018
|
const scale = compositionRect.width / currentCompositionMetadata.width;
|
|
40012
|
-
const currentTranslate = propStatus ? String(
|
|
40019
|
+
const currentTranslate = propStatus ? String(Internals56.getEffectiveVisualModeValue({
|
|
40013
40020
|
propStatus,
|
|
40014
40021
|
dragOverrideValue: dragOverrides[translateFieldKey],
|
|
40015
40022
|
defaultValue: fieldSchema.default,
|
|
@@ -40080,7 +40087,7 @@ var AlignmentControls = ({ track }) => {
|
|
|
40080
40087
|
return null;
|
|
40081
40088
|
}
|
|
40082
40089
|
const renderNodePath = track.nodePathInfo.sequenceSubscriptionKey;
|
|
40083
|
-
const renderNodePropStatuses =
|
|
40090
|
+
const renderNodePropStatuses = Internals56.getPropStatusesCtx(propStatuses, renderNodePath);
|
|
40084
40091
|
const firstRenderKeyframedStatus = Object.values(renderNodePropStatuses ?? {}).find((status) => status.status === "keyframed");
|
|
40085
40092
|
const renderSourceFrame = timelinePosition - getKeyframeDisplayOffset({
|
|
40086
40093
|
propStatus: firstRenderKeyframedStatus,
|
|
@@ -40159,9 +40166,9 @@ var largeActionIconStyle = {
|
|
|
40159
40166
|
width: 20
|
|
40160
40167
|
};
|
|
40161
40168
|
var SplitSequenceQuickAction = ({ selection, track }) => {
|
|
40162
|
-
const timelinePosition =
|
|
40163
|
-
const { propStatuses } = useContext69(
|
|
40164
|
-
const sequencePropStatuses = useMemo111(() =>
|
|
40169
|
+
const timelinePosition = Internals57.Timeline.useTimelinePosition();
|
|
40170
|
+
const { propStatuses } = useContext69(Internals57.VisualModePropStatusesContext);
|
|
40171
|
+
const sequencePropStatuses = useMemo111(() => Internals57.getPropStatusesCtx(propStatuses, selection.nodePathInfo.sequenceSubscriptionKey), [propStatuses, selection]);
|
|
40165
40172
|
const eligibility = useMemo111(() => getTimelineSequenceSplitEligibility({
|
|
40166
40173
|
selection,
|
|
40167
40174
|
sequence: track.sequence,
|
|
@@ -40193,13 +40200,13 @@ var SplitSequenceQuickAction = ({ selection, track }) => {
|
|
|
40193
40200
|
});
|
|
40194
40201
|
};
|
|
40195
40202
|
var SequenceSourceQuickActions = ({ selection, track, validatedSource }) => {
|
|
40196
|
-
const timelinePosition =
|
|
40203
|
+
const timelinePosition = Internals57.Timeline.useTimelinePosition();
|
|
40197
40204
|
const { previewServerState } = useContext69(StudioServerConnectionCtx);
|
|
40198
|
-
const { propStatuses } = useContext69(
|
|
40199
|
-
const { setPropStatuses } = useContext69(
|
|
40205
|
+
const { propStatuses } = useContext69(Internals57.VisualModePropStatusesContext);
|
|
40206
|
+
const { setPropStatuses } = useContext69(Internals57.VisualModeSettersContext);
|
|
40200
40207
|
const confirm = useConfirmationDialog();
|
|
40201
40208
|
const deleteTimelineItems = useDeleteTimelineItems();
|
|
40202
|
-
const propStatusesForOverride = useMemo111(() =>
|
|
40209
|
+
const propStatusesForOverride = useMemo111(() => Internals57.getPropStatusesCtx(propStatuses, selection.nodePathInfo.sequenceSubscriptionKey), [propStatuses, selection.nodePathInfo.sequenceSubscriptionKey]);
|
|
40203
40210
|
const freezeFrameMenuItem = getSequenceFreezeFrameMenuItem({
|
|
40204
40211
|
clientId: previewServerState.type === "connected" && isStudioInteractivityEnabled() ? previewServerState.clientId : null,
|
|
40205
40212
|
nodePath: selection.nodePathInfo.sequenceSubscriptionKey,
|
|
@@ -40421,7 +40428,7 @@ var SelectedInspector = ({ selection, readOnlyStudio }) => {
|
|
|
40421
40428
|
// src/components/InspectorPanel.tsx
|
|
40422
40429
|
import { jsx as jsx195, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
40423
40430
|
var InspectorPanel = ({ composition, currentDefaultProps, readOnlyStudio, setDefaultProps }) => {
|
|
40424
|
-
const { canvasContent } = useContext70(
|
|
40431
|
+
const { canvasContent } = useContext70(Internals58.CompositionManager);
|
|
40425
40432
|
const { selectedItems } = useTimelineSelection();
|
|
40426
40433
|
const sameSequenceInspectorSelection = useMemo112(() => getSameSequenceInspectorSelection(selectedItems), [selectedItems]);
|
|
40427
40434
|
if (selectedItems.length === 0) {
|
|
@@ -40503,8 +40510,8 @@ var SchemaResetButton = ({ onClick }) => {
|
|
|
40503
40510
|
};
|
|
40504
40511
|
|
|
40505
40512
|
// src/components/RenderQueue/index.tsx
|
|
40506
|
-
import
|
|
40507
|
-
import { Internals as
|
|
40513
|
+
import React137, { useContext as useContext80, useEffect as useEffect50, useMemo as useMemo123 } from "react";
|
|
40514
|
+
import { Internals as Internals61 } from "remotion";
|
|
40508
40515
|
|
|
40509
40516
|
// src/components/RenderQueue/caption-job-types.ts
|
|
40510
40517
|
var isCaptionJob = (job) => {
|
|
@@ -40513,15 +40520,177 @@ var isCaptionJob = (job) => {
|
|
|
40513
40520
|
|
|
40514
40521
|
// src/components/RenderQueue/CaptionQueueItem.tsx
|
|
40515
40522
|
import {
|
|
40516
|
-
useCallback as
|
|
40523
|
+
useCallback as useCallback118,
|
|
40517
40524
|
useContext as useContext71,
|
|
40518
|
-
useEffect as
|
|
40525
|
+
useEffect as useEffect47,
|
|
40519
40526
|
useMemo as useMemo113,
|
|
40527
|
+
useState as useState68
|
|
40528
|
+
} from "react";
|
|
40529
|
+
|
|
40530
|
+
// src/components/ActionTooltip.tsx
|
|
40531
|
+
import {
|
|
40532
|
+
useCallback as useCallback117,
|
|
40533
|
+
useEffect as useEffect46,
|
|
40534
|
+
useLayoutEffect as useLayoutEffect2,
|
|
40535
|
+
useRef as useRef36,
|
|
40520
40536
|
useState as useState67
|
|
40521
40537
|
} from "react";
|
|
40538
|
+
import { createPortal } from "react-dom";
|
|
40539
|
+
import { jsx as jsx197, jsxs as jsxs94, Fragment as Fragment33 } from "react/jsx-runtime";
|
|
40540
|
+
var triggerStyle2 = { display: "inline-flex" };
|
|
40541
|
+
var tooltipStyle = {
|
|
40542
|
+
position: "fixed",
|
|
40543
|
+
display: "flex",
|
|
40544
|
+
alignItems: "center",
|
|
40545
|
+
gap: 6,
|
|
40546
|
+
backgroundColor: TIMELINE_BACKGROUND_COLOR,
|
|
40547
|
+
color: WHITE_ALPHA_90,
|
|
40548
|
+
borderRadius: 6,
|
|
40549
|
+
padding: "6px 8px",
|
|
40550
|
+
fontSize: 12,
|
|
40551
|
+
lineHeight: "16px",
|
|
40552
|
+
whiteSpace: "pre-wrap",
|
|
40553
|
+
overflowWrap: "anywhere",
|
|
40554
|
+
maxWidth: "calc(100vw - 16px)",
|
|
40555
|
+
boxShadow: SHADOW_TOWARDS_TOP,
|
|
40556
|
+
pointerEvents: "none"
|
|
40557
|
+
};
|
|
40558
|
+
var labelStyle4 = {
|
|
40559
|
+
font: "inherit",
|
|
40560
|
+
color: "inherit",
|
|
40561
|
+
minWidth: 0
|
|
40562
|
+
};
|
|
40563
|
+
var shortcutStyle = {
|
|
40564
|
+
...labelStyle4,
|
|
40565
|
+
backgroundColor: WHITE_ALPHA_10,
|
|
40566
|
+
borderRadius: 3,
|
|
40567
|
+
padding: "0 4px",
|
|
40568
|
+
minWidth: 16,
|
|
40569
|
+
textAlign: "center",
|
|
40570
|
+
whiteSpace: "nowrap",
|
|
40571
|
+
flexShrink: 0
|
|
40572
|
+
};
|
|
40573
|
+
var visibleTooltipCount = 0;
|
|
40574
|
+
var lastTooltipHiddenAt = null;
|
|
40575
|
+
var TOOLTIP_SKIP_DELAY_WINDOW = 300;
|
|
40576
|
+
var ActionTooltip = ({ label: label3, shortcut, delay, dismissOnClick, children }) => {
|
|
40577
|
+
const triggerRef = useRef36(null);
|
|
40578
|
+
const tooltipRef = useRef36(null);
|
|
40579
|
+
const timer = useRef36(null);
|
|
40580
|
+
const [visible, setVisible] = useState67(false);
|
|
40581
|
+
const [position, setPosition] = useState67(null);
|
|
40582
|
+
const { currentZIndex } = useZIndex();
|
|
40583
|
+
useLayoutEffect2(() => {
|
|
40584
|
+
if (!visible) {
|
|
40585
|
+
return;
|
|
40586
|
+
}
|
|
40587
|
+
visibleTooltipCount++;
|
|
40588
|
+
return () => {
|
|
40589
|
+
visibleTooltipCount--;
|
|
40590
|
+
lastTooltipHiddenAt = Date.now();
|
|
40591
|
+
};
|
|
40592
|
+
}, [visible]);
|
|
40593
|
+
const hide = useCallback117(() => {
|
|
40594
|
+
if (timer.current !== null) {
|
|
40595
|
+
clearTimeout(timer.current);
|
|
40596
|
+
timer.current = null;
|
|
40597
|
+
}
|
|
40598
|
+
setVisible(false);
|
|
40599
|
+
setPosition(null);
|
|
40600
|
+
}, []);
|
|
40601
|
+
const show = useCallback117(() => {
|
|
40602
|
+
if (timer.current !== null) {
|
|
40603
|
+
clearTimeout(timer.current);
|
|
40604
|
+
timer.current = null;
|
|
40605
|
+
}
|
|
40606
|
+
setVisible(true);
|
|
40607
|
+
}, []);
|
|
40608
|
+
const onPointerEnter = useCallback117((event) => {
|
|
40609
|
+
if (event.pointerType === "touch" || timer.current !== null || !event.currentTarget.contains(event.target)) {
|
|
40610
|
+
return;
|
|
40611
|
+
}
|
|
40612
|
+
if (!delay || visibleTooltipCount > 0 || lastTooltipHiddenAt !== null && Date.now() - lastTooltipHiddenAt < TOOLTIP_SKIP_DELAY_WINDOW) {
|
|
40613
|
+
show();
|
|
40614
|
+
return;
|
|
40615
|
+
}
|
|
40616
|
+
timer.current = setTimeout(show, delay);
|
|
40617
|
+
}, [delay, show]);
|
|
40618
|
+
useEffect46(() => {
|
|
40619
|
+
const onKeyDown = (event) => {
|
|
40620
|
+
if (event.key === "Escape") {
|
|
40621
|
+
hide();
|
|
40622
|
+
}
|
|
40623
|
+
};
|
|
40624
|
+
window.addEventListener("keydown", onKeyDown);
|
|
40625
|
+
window.addEventListener("blur", hide);
|
|
40626
|
+
window.addEventListener("resize", hide);
|
|
40627
|
+
window.addEventListener("scroll", hide, true);
|
|
40628
|
+
return () => {
|
|
40629
|
+
if (timer.current !== null) {
|
|
40630
|
+
clearTimeout(timer.current);
|
|
40631
|
+
}
|
|
40632
|
+
window.removeEventListener("keydown", onKeyDown);
|
|
40633
|
+
window.removeEventListener("blur", hide);
|
|
40634
|
+
window.removeEventListener("resize", hide);
|
|
40635
|
+
window.removeEventListener("scroll", hide, true);
|
|
40636
|
+
};
|
|
40637
|
+
}, [hide]);
|
|
40638
|
+
useLayoutEffect2(() => {
|
|
40639
|
+
if (!visible || !triggerRef.current || !tooltipRef.current) {
|
|
40640
|
+
return;
|
|
40641
|
+
}
|
|
40642
|
+
const trigger = triggerRef.current.getBoundingClientRect();
|
|
40643
|
+
const tooltip = tooltipRef.current.getBoundingClientRect();
|
|
40644
|
+
const above = trigger.top - tooltip.height - 4;
|
|
40645
|
+
setPosition({
|
|
40646
|
+
left: Math.max(8, Math.min(trigger.left + (trigger.width - tooltip.width) / 2, window.innerWidth - tooltip.width - 8)),
|
|
40647
|
+
top: Math.max(8, Math.min(above >= 8 ? above : trigger.bottom + 4, window.innerHeight - tooltip.height - 8))
|
|
40648
|
+
});
|
|
40649
|
+
}, [label3, shortcut, visible]);
|
|
40650
|
+
return /* @__PURE__ */ jsxs94(Fragment33, {
|
|
40651
|
+
children: [
|
|
40652
|
+
/* @__PURE__ */ jsx197("span", {
|
|
40653
|
+
ref: triggerRef,
|
|
40654
|
+
style: triggerStyle2,
|
|
40655
|
+
onPointerEnter,
|
|
40656
|
+
onPointerLeave: hide,
|
|
40657
|
+
onPointerDownCapture: dismissOnClick ? hide : undefined,
|
|
40658
|
+
onClickCapture: dismissOnClick ? hide : undefined,
|
|
40659
|
+
onFocus: (event) => {
|
|
40660
|
+
if (event.currentTarget.contains(event.target)) {
|
|
40661
|
+
show();
|
|
40662
|
+
}
|
|
40663
|
+
},
|
|
40664
|
+
onBlur: hide,
|
|
40665
|
+
children
|
|
40666
|
+
}),
|
|
40667
|
+
visible ? createPortal(/* @__PURE__ */ jsxs94("div", {
|
|
40668
|
+
ref: tooltipRef,
|
|
40669
|
+
role: "tooltip",
|
|
40670
|
+
className: "css-reset",
|
|
40671
|
+
style: {
|
|
40672
|
+
...tooltipStyle,
|
|
40673
|
+
left: position?.left ?? 0,
|
|
40674
|
+
top: position?.top ?? 0,
|
|
40675
|
+
visibility: position ? "visible" : "hidden"
|
|
40676
|
+
},
|
|
40677
|
+
children: [
|
|
40678
|
+
/* @__PURE__ */ jsx197("span", {
|
|
40679
|
+
style: labelStyle4,
|
|
40680
|
+
children: label3
|
|
40681
|
+
}),
|
|
40682
|
+
shortcut ? /* @__PURE__ */ jsx197("kbd", {
|
|
40683
|
+
style: shortcutStyle,
|
|
40684
|
+
children: shortcut
|
|
40685
|
+
}) : null
|
|
40686
|
+
]
|
|
40687
|
+
}), getPortal(currentZIndex)) : null
|
|
40688
|
+
]
|
|
40689
|
+
});
|
|
40690
|
+
};
|
|
40522
40691
|
|
|
40523
40692
|
// src/components/RenderQueue/CircularProgress.tsx
|
|
40524
|
-
import { jsx as
|
|
40693
|
+
import { jsx as jsx198 } from "react/jsx-runtime";
|
|
40525
40694
|
var RENDER_STATUS_INDICATOR_SIZE = 16;
|
|
40526
40695
|
var STROKE_WIDTH = 3;
|
|
40527
40696
|
var container21 = {
|
|
@@ -40532,10 +40701,10 @@ var container21 = {
|
|
|
40532
40701
|
var CircularProgress = ({ progress }) => {
|
|
40533
40702
|
const r = RENDER_STATUS_INDICATOR_SIZE / 2 - STROKE_WIDTH;
|
|
40534
40703
|
const circumference = r * Math.PI * 2;
|
|
40535
|
-
return /* @__PURE__ */
|
|
40704
|
+
return /* @__PURE__ */ jsx198("svg", {
|
|
40536
40705
|
style: container21,
|
|
40537
40706
|
viewBox: `0 0 ${RENDER_STATUS_INDICATOR_SIZE} ${RENDER_STATUS_INDICATOR_SIZE}`,
|
|
40538
|
-
children: /* @__PURE__ */
|
|
40707
|
+
children: /* @__PURE__ */ jsx198("circle", {
|
|
40539
40708
|
r: RENDER_STATUS_INDICATOR_SIZE / 2 - STROKE_WIDTH,
|
|
40540
40709
|
stroke: LIGHT_TEXT,
|
|
40541
40710
|
fill: "none",
|
|
@@ -40568,16 +40737,16 @@ var renderQueueItemSubtitleStyle = {
|
|
|
40568
40737
|
};
|
|
40569
40738
|
|
|
40570
40739
|
// src/components/RenderQueue/SuccessIcon.tsx
|
|
40571
|
-
import { jsx as
|
|
40740
|
+
import { jsx as jsx199 } from "react/jsx-runtime";
|
|
40572
40741
|
var iconStyle2 = {
|
|
40573
40742
|
height: RENDER_STATUS_INDICATOR_SIZE,
|
|
40574
40743
|
width: RENDER_STATUS_INDICATOR_SIZE
|
|
40575
40744
|
};
|
|
40576
40745
|
var SuccessIcon = () => {
|
|
40577
|
-
return /* @__PURE__ */
|
|
40746
|
+
return /* @__PURE__ */ jsx199("svg", {
|
|
40578
40747
|
style: iconStyle2,
|
|
40579
40748
|
viewBox: "0 0 512 512",
|
|
40580
|
-
children: /* @__PURE__ */
|
|
40749
|
+
children: /* @__PURE__ */ jsx199("path", {
|
|
40581
40750
|
fill: LIGHT_TEXT,
|
|
40582
40751
|
d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z"
|
|
40583
40752
|
})
|
|
@@ -40585,7 +40754,7 @@ var SuccessIcon = () => {
|
|
|
40585
40754
|
};
|
|
40586
40755
|
|
|
40587
40756
|
// src/components/RenderQueue/CaptionQueueItem.tsx
|
|
40588
|
-
import { jsx as
|
|
40757
|
+
import { jsx as jsx200, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
40589
40758
|
var container22 = {
|
|
40590
40759
|
padding: 12,
|
|
40591
40760
|
display: "flex",
|
|
@@ -40627,7 +40796,7 @@ var removeIcon = {
|
|
|
40627
40796
|
};
|
|
40628
40797
|
var CaptionJobStatus = ({ job }) => {
|
|
40629
40798
|
if (job.status === "running") {
|
|
40630
|
-
return /* @__PURE__ */
|
|
40799
|
+
return /* @__PURE__ */ jsx200("div", {
|
|
40631
40800
|
style: statusIcon,
|
|
40632
40801
|
role: "progressbar",
|
|
40633
40802
|
"aria-label": "Caption job progress",
|
|
@@ -40635,35 +40804,35 @@ var CaptionJobStatus = ({ job }) => {
|
|
|
40635
40804
|
"aria-valuemin": 0,
|
|
40636
40805
|
"aria-valuemax": 100,
|
|
40637
40806
|
"aria-valuenow": Math.round(job.progress.value * 100),
|
|
40638
|
-
children: /* @__PURE__ */
|
|
40807
|
+
children: /* @__PURE__ */ jsx200(CircularProgress, {
|
|
40639
40808
|
progress: Math.max(0.07, job.progress.value)
|
|
40640
40809
|
})
|
|
40641
40810
|
});
|
|
40642
40811
|
}
|
|
40643
40812
|
if (job.status === "done") {
|
|
40644
|
-
return /* @__PURE__ */
|
|
40813
|
+
return /* @__PURE__ */ jsx200(SuccessIcon, {});
|
|
40645
40814
|
}
|
|
40646
40815
|
if (job.status === "failed") {
|
|
40647
|
-
return /* @__PURE__ */
|
|
40816
|
+
return /* @__PURE__ */ jsx200("svg", {
|
|
40648
40817
|
style: statusIcon,
|
|
40649
40818
|
viewBox: "0 0 512 512",
|
|
40650
|
-
children: /* @__PURE__ */
|
|
40819
|
+
children: /* @__PURE__ */ jsx200("path", {
|
|
40651
40820
|
fill: FAIL_COLOR,
|
|
40652
40821
|
d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z"
|
|
40653
40822
|
})
|
|
40654
40823
|
});
|
|
40655
40824
|
}
|
|
40656
|
-
return /* @__PURE__ */
|
|
40825
|
+
return /* @__PURE__ */ jsx200("svg", {
|
|
40657
40826
|
style: statusIcon,
|
|
40658
40827
|
viewBox: "0 0 512 512",
|
|
40659
|
-
children: /* @__PURE__ */
|
|
40828
|
+
children: /* @__PURE__ */ jsx200("path", {
|
|
40660
40829
|
fill: LIGHT_TEXT,
|
|
40661
40830
|
d: "M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"
|
|
40662
40831
|
})
|
|
40663
40832
|
});
|
|
40664
40833
|
};
|
|
40665
40834
|
var CaptionQueueItem = ({ job, selected }) => {
|
|
40666
|
-
const [hovered, setHovered] =
|
|
40835
|
+
const [hovered, setHovered] = useState68(false);
|
|
40667
40836
|
const { removeCaptionJob } = useContext71(RenderQueueContext);
|
|
40668
40837
|
const selectAsset = useSelectAsset();
|
|
40669
40838
|
const isHoverable = job.status === "done";
|
|
@@ -40678,36 +40847,36 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
40678
40847
|
WebkitUserSelect: "none"
|
|
40679
40848
|
};
|
|
40680
40849
|
}, [hovered, isHoverable, selected]);
|
|
40681
|
-
const onPointerEnter =
|
|
40850
|
+
const onPointerEnter = useCallback118(() => {
|
|
40682
40851
|
setHovered(true);
|
|
40683
40852
|
}, []);
|
|
40684
|
-
const onPointerLeave =
|
|
40853
|
+
const onPointerLeave = useCallback118(() => {
|
|
40685
40854
|
setHovered(false);
|
|
40686
40855
|
}, []);
|
|
40687
|
-
const scrollCurrentIntoView =
|
|
40856
|
+
const scrollCurrentIntoView = useCallback118(() => {
|
|
40688
40857
|
document.querySelector(`.${RENDER_QUEUE_ITEM_SELECTED_CLASSNAME}`)?.scrollIntoView({ behavior: "smooth" });
|
|
40689
40858
|
}, []);
|
|
40690
|
-
const onClick =
|
|
40859
|
+
const onClick = useCallback118(() => {
|
|
40691
40860
|
if (job.status !== "done") {
|
|
40692
40861
|
return;
|
|
40693
40862
|
}
|
|
40694
40863
|
selectAsset(job.outName);
|
|
40695
40864
|
pushUrl(`/assets/${job.outName}`);
|
|
40696
40865
|
}, [job, selectAsset]);
|
|
40697
|
-
|
|
40866
|
+
useEffect47(() => {
|
|
40698
40867
|
if (selected) {
|
|
40699
40868
|
scrollCurrentIntoView();
|
|
40700
40869
|
}
|
|
40701
40870
|
}, [scrollCurrentIntoView, selected]);
|
|
40702
|
-
const onRemove =
|
|
40871
|
+
const onRemove = useCallback118((event) => {
|
|
40703
40872
|
event.stopPropagation();
|
|
40704
40873
|
removeCaptionJob(job.id);
|
|
40705
40874
|
}, [job.id, removeCaptionJob]);
|
|
40706
|
-
const renderRemoveAction =
|
|
40707
|
-
return /* @__PURE__ */
|
|
40875
|
+
const renderRemoveAction = useCallback118((color) => {
|
|
40876
|
+
return /* @__PURE__ */ jsx200("svg", {
|
|
40708
40877
|
style: removeIcon,
|
|
40709
40878
|
viewBox: "0 0 320 512",
|
|
40710
|
-
children: /* @__PURE__ */
|
|
40879
|
+
children: /* @__PURE__ */ jsx200("path", {
|
|
40711
40880
|
fill: color,
|
|
40712
40881
|
d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"
|
|
40713
40882
|
})
|
|
@@ -40725,7 +40894,7 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
40725
40894
|
}
|
|
40726
40895
|
return job.outName;
|
|
40727
40896
|
}, [job]);
|
|
40728
|
-
return /* @__PURE__ */
|
|
40897
|
+
return /* @__PURE__ */ jsxs95(Row, {
|
|
40729
40898
|
"data-render-queue-item": job.id,
|
|
40730
40899
|
style: containerStyle10,
|
|
40731
40900
|
align: "center",
|
|
@@ -40734,22 +40903,22 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
40734
40903
|
onPointerLeave,
|
|
40735
40904
|
className: selected ? RENDER_QUEUE_ITEM_SELECTED_CLASSNAME : undefined,
|
|
40736
40905
|
children: [
|
|
40737
|
-
/* @__PURE__ */
|
|
40906
|
+
/* @__PURE__ */ jsx200(CaptionJobStatus, {
|
|
40738
40907
|
job
|
|
40739
40908
|
}),
|
|
40740
|
-
/* @__PURE__ */
|
|
40909
|
+
/* @__PURE__ */ jsx200(Spacing, {
|
|
40741
40910
|
x: 1
|
|
40742
40911
|
}),
|
|
40743
|
-
/* @__PURE__ */
|
|
40912
|
+
/* @__PURE__ */ jsxs95("div", {
|
|
40744
40913
|
style: right,
|
|
40745
40914
|
children: [
|
|
40746
|
-
/* @__PURE__ */
|
|
40915
|
+
/* @__PURE__ */ jsx200("div", {
|
|
40747
40916
|
style: title,
|
|
40748
40917
|
children: job.displayName
|
|
40749
40918
|
}),
|
|
40750
|
-
/* @__PURE__ */
|
|
40919
|
+
/* @__PURE__ */ jsx200("div", {
|
|
40751
40920
|
style: subtitleContainer,
|
|
40752
|
-
children: /* @__PURE__ */
|
|
40921
|
+
children: /* @__PURE__ */ jsx200("span", {
|
|
40753
40922
|
style: subtitle2,
|
|
40754
40923
|
title: message,
|
|
40755
40924
|
children: message
|
|
@@ -40757,14 +40926,20 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
40757
40926
|
})
|
|
40758
40927
|
]
|
|
40759
40928
|
}),
|
|
40760
|
-
/* @__PURE__ */
|
|
40929
|
+
/* @__PURE__ */ jsx200(Spacing, {
|
|
40761
40930
|
x: 1
|
|
40762
40931
|
}),
|
|
40763
|
-
job.status === "running" ? null : /* @__PURE__ */
|
|
40764
|
-
|
|
40765
|
-
|
|
40766
|
-
|
|
40767
|
-
|
|
40932
|
+
job.status === "running" ? null : /* @__PURE__ */ jsx200(ActionTooltip, {
|
|
40933
|
+
label: "Clear",
|
|
40934
|
+
shortcut: null,
|
|
40935
|
+
delay: 800,
|
|
40936
|
+
dismissOnClick: true,
|
|
40937
|
+
children: /* @__PURE__ */ jsx200(InlineAction, {
|
|
40938
|
+
renderAction: renderRemoveAction,
|
|
40939
|
+
onClick: onRemove,
|
|
40940
|
+
"aria-label": "Clear",
|
|
40941
|
+
variant: null
|
|
40942
|
+
})
|
|
40768
40943
|
})
|
|
40769
40944
|
]
|
|
40770
40945
|
});
|
|
@@ -40772,13 +40947,13 @@ var CaptionQueueItem = ({ job, selected }) => {
|
|
|
40772
40947
|
|
|
40773
40948
|
// src/components/RenderQueue/RenderQueueItem.tsx
|
|
40774
40949
|
import {
|
|
40775
|
-
useCallback as
|
|
40950
|
+
useCallback as useCallback129,
|
|
40776
40951
|
useContext as useContext78,
|
|
40777
|
-
useEffect as
|
|
40952
|
+
useEffect as useEffect49,
|
|
40778
40953
|
useMemo as useMemo121,
|
|
40779
|
-
useState as
|
|
40954
|
+
useState as useState70
|
|
40780
40955
|
} from "react";
|
|
40781
|
-
import { Internals as
|
|
40956
|
+
import { Internals as Internals60 } from "remotion";
|
|
40782
40957
|
|
|
40783
40958
|
// src/components/RenderQueue/client-side-render-types.ts
|
|
40784
40959
|
var isRestoredClientJob = (job) => {
|
|
@@ -40786,21 +40961,21 @@ var isRestoredClientJob = (job) => {
|
|
|
40786
40961
|
};
|
|
40787
40962
|
|
|
40788
40963
|
// src/components/RenderQueue/RenderQueueCancelledMessage.tsx
|
|
40789
|
-
import { jsx as
|
|
40964
|
+
import { jsx as jsx201 } from "react/jsx-runtime";
|
|
40790
40965
|
var cancelledStyle = {
|
|
40791
40966
|
...renderQueueItemSubtitleStyle,
|
|
40792
40967
|
color: LIGHT_TEXT,
|
|
40793
40968
|
cursor: "default"
|
|
40794
40969
|
};
|
|
40795
40970
|
var RenderQueueCancelledMessage = () => {
|
|
40796
|
-
return /* @__PURE__ */
|
|
40971
|
+
return /* @__PURE__ */ jsx201("span", {
|
|
40797
40972
|
style: cancelledStyle,
|
|
40798
40973
|
children: "Cancelled"
|
|
40799
40974
|
});
|
|
40800
40975
|
};
|
|
40801
40976
|
|
|
40802
40977
|
// src/components/RenderQueue/RenderQueueCopyToClipboard.tsx
|
|
40803
|
-
import { useCallback as
|
|
40978
|
+
import { useCallback as useCallback119 } from "react";
|
|
40804
40979
|
|
|
40805
40980
|
// src/helpers/get-asset-metadata.ts
|
|
40806
40981
|
import { staticFile as staticFile5 } from "remotion";
|
|
@@ -40946,7 +41121,7 @@ var getAssetMetadata = async (canvasContent, addTime) => {
|
|
|
40946
41121
|
};
|
|
40947
41122
|
|
|
40948
41123
|
// src/components/RenderQueue/RenderQueueCopyToClipboard.tsx
|
|
40949
|
-
import { jsx as
|
|
41124
|
+
import { jsx as jsx202 } from "react/jsx-runtime";
|
|
40950
41125
|
var revealIconStyle = {
|
|
40951
41126
|
height: 12,
|
|
40952
41127
|
color: CURRENT_COLOR
|
|
@@ -40968,14 +41143,14 @@ var supportsCopyingToClipboard = (job) => {
|
|
|
40968
41143
|
};
|
|
40969
41144
|
var RenderQueueCopyToClipboard = ({ job }) => {
|
|
40970
41145
|
const { copied, markCopied } = useCopyFeedback();
|
|
40971
|
-
const renderCopyAction =
|
|
40972
|
-
return /* @__PURE__ */
|
|
41146
|
+
const renderCopyAction = useCallback119((color) => {
|
|
41147
|
+
return /* @__PURE__ */ jsx202(CopyIcon, {
|
|
40973
41148
|
copied,
|
|
40974
41149
|
style: revealIconStyle,
|
|
40975
41150
|
color
|
|
40976
41151
|
});
|
|
40977
41152
|
}, [copied]);
|
|
40978
|
-
const onClick =
|
|
41153
|
+
const onClick = useCallback119(async (e) => {
|
|
40979
41154
|
e.stopPropagation();
|
|
40980
41155
|
try {
|
|
40981
41156
|
const src = `${remotion_outputsBase}/${job.outName}`;
|
|
@@ -40996,19 +41171,25 @@ var RenderQueueCopyToClipboard = ({ job }) => {
|
|
|
40996
41171
|
showNotification(`Could not copy to clipboard: ${err.message}`, 2000);
|
|
40997
41172
|
}
|
|
40998
41173
|
}, [job.outName, markCopied]);
|
|
40999
|
-
return /* @__PURE__ */
|
|
41000
|
-
|
|
41001
|
-
|
|
41002
|
-
|
|
41003
|
-
|
|
41174
|
+
return /* @__PURE__ */ jsx202(ActionTooltip, {
|
|
41175
|
+
label: "Copy to clipboard",
|
|
41176
|
+
shortcut: null,
|
|
41177
|
+
delay: 800,
|
|
41178
|
+
dismissOnClick: true,
|
|
41179
|
+
children: /* @__PURE__ */ jsx202(InlineAction, {
|
|
41180
|
+
"aria-label": "Copy to clipboard",
|
|
41181
|
+
variant: null,
|
|
41182
|
+
renderAction: renderCopyAction,
|
|
41183
|
+
onClick
|
|
41184
|
+
})
|
|
41004
41185
|
});
|
|
41005
41186
|
};
|
|
41006
41187
|
|
|
41007
41188
|
// src/components/RenderQueue/RenderQueueDownloadItem.tsx
|
|
41008
|
-
import { useCallback as
|
|
41009
|
-
import { jsx as
|
|
41189
|
+
import { useCallback as useCallback120, useMemo as useMemo114 } from "react";
|
|
41190
|
+
import { jsx as jsx203 } from "react/jsx-runtime";
|
|
41010
41191
|
var RenderQueueDownloadItem = ({ job }) => {
|
|
41011
|
-
const onClick =
|
|
41192
|
+
const onClick = useCallback120((e) => {
|
|
41012
41193
|
e.stopPropagation();
|
|
41013
41194
|
if (job.status !== "done" || !job.getBlob) {
|
|
41014
41195
|
return;
|
|
@@ -41025,35 +41206,41 @@ var RenderQueueDownloadItem = ({ job }) => {
|
|
|
41025
41206
|
color: CURRENT_COLOR
|
|
41026
41207
|
};
|
|
41027
41208
|
}, []);
|
|
41028
|
-
const renderAction =
|
|
41029
|
-
return /* @__PURE__ */
|
|
41209
|
+
const renderAction = useCallback120((color) => {
|
|
41210
|
+
return /* @__PURE__ */ jsx203("svg", {
|
|
41030
41211
|
style: icon5,
|
|
41031
41212
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41032
41213
|
viewBox: "0 0 512 512",
|
|
41033
|
-
children: /* @__PURE__ */
|
|
41214
|
+
children: /* @__PURE__ */ jsx203("path", {
|
|
41034
41215
|
fill: color,
|
|
41035
41216
|
d: "M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"
|
|
41036
41217
|
})
|
|
41037
41218
|
});
|
|
41038
41219
|
}, [icon5]);
|
|
41039
|
-
return /* @__PURE__ */
|
|
41040
|
-
|
|
41041
|
-
|
|
41042
|
-
|
|
41043
|
-
|
|
41220
|
+
return /* @__PURE__ */ jsx203(ActionTooltip, {
|
|
41221
|
+
label: "Download",
|
|
41222
|
+
shortcut: null,
|
|
41223
|
+
delay: 800,
|
|
41224
|
+
dismissOnClick: true,
|
|
41225
|
+
children: /* @__PURE__ */ jsx203(InlineAction, {
|
|
41226
|
+
"aria-label": "Download",
|
|
41227
|
+
variant: null,
|
|
41228
|
+
renderAction,
|
|
41229
|
+
onClick
|
|
41230
|
+
})
|
|
41044
41231
|
});
|
|
41045
41232
|
};
|
|
41046
41233
|
|
|
41047
41234
|
// src/components/RenderQueue/RenderQueueError.tsx
|
|
41048
|
-
import { useCallback as
|
|
41049
|
-
import { jsx as
|
|
41235
|
+
import { useCallback as useCallback121, useContext as useContext72 } from "react";
|
|
41236
|
+
import { jsx as jsx204 } from "react/jsx-runtime";
|
|
41050
41237
|
var outputLocation = {
|
|
41051
41238
|
...renderQueueItemSubtitleStyle
|
|
41052
41239
|
};
|
|
41053
41240
|
var RenderQueueError = ({ job }) => {
|
|
41054
41241
|
const { setSelectedModal } = useContext72(SetSelectedModalContext);
|
|
41055
41242
|
const { tabIndex } = useZIndex();
|
|
41056
|
-
const onClick =
|
|
41243
|
+
const onClick = useCallback121(() => {
|
|
41057
41244
|
setSelectedModal({
|
|
41058
41245
|
type: "render-progress",
|
|
41059
41246
|
jobId: job.id
|
|
@@ -41062,7 +41249,7 @@ var RenderQueueError = ({ job }) => {
|
|
|
41062
41249
|
if (job.status !== "failed") {
|
|
41063
41250
|
throw new Error("should not have rendered this component");
|
|
41064
41251
|
}
|
|
41065
|
-
return /* @__PURE__ */
|
|
41252
|
+
return /* @__PURE__ */ jsx204("button", {
|
|
41066
41253
|
onClick,
|
|
41067
41254
|
type: "button",
|
|
41068
41255
|
style: outputLocation,
|
|
@@ -41073,12 +41260,12 @@ var RenderQueueError = ({ job }) => {
|
|
|
41073
41260
|
};
|
|
41074
41261
|
|
|
41075
41262
|
// src/components/RenderQueue/RenderQueueItemCancelButton.tsx
|
|
41076
|
-
import { useCallback as
|
|
41077
|
-
import { jsx as
|
|
41263
|
+
import { useCallback as useCallback122, useContext as useContext73, useMemo as useMemo115 } from "react";
|
|
41264
|
+
import { jsx as jsx205 } from "react/jsx-runtime";
|
|
41078
41265
|
var RenderQueueCancelButton = ({ job }) => {
|
|
41079
41266
|
const isClientJob = isClientRenderJob(job);
|
|
41080
41267
|
const { cancelClientJob } = useContext73(RenderQueueContext);
|
|
41081
|
-
const onClick =
|
|
41268
|
+
const onClick = useCallback122((e) => {
|
|
41082
41269
|
e.stopPropagation();
|
|
41083
41270
|
if (isClientJob) {
|
|
41084
41271
|
cancelClientJob(job.id);
|
|
@@ -41094,27 +41281,34 @@ var RenderQueueCancelButton = ({ job }) => {
|
|
|
41094
41281
|
color: CURRENT_COLOR
|
|
41095
41282
|
};
|
|
41096
41283
|
}, []);
|
|
41097
|
-
const renderAction =
|
|
41098
|
-
return /* @__PURE__ */
|
|
41284
|
+
const renderAction = useCallback122((color) => {
|
|
41285
|
+
return /* @__PURE__ */ jsx205("svg", {
|
|
41099
41286
|
style: icon5,
|
|
41100
41287
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41101
41288
|
viewBox: "0 0 512 512",
|
|
41102
|
-
children: /* @__PURE__ */
|
|
41289
|
+
children: /* @__PURE__ */ jsx205("path", {
|
|
41103
41290
|
fill: color,
|
|
41104
41291
|
d: "M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z"
|
|
41105
41292
|
})
|
|
41106
41293
|
});
|
|
41107
41294
|
}, [icon5]);
|
|
41108
|
-
return /* @__PURE__ */
|
|
41109
|
-
|
|
41110
|
-
|
|
41111
|
-
|
|
41295
|
+
return /* @__PURE__ */ jsx205(ActionTooltip, {
|
|
41296
|
+
label: "Cancel render",
|
|
41297
|
+
shortcut: null,
|
|
41298
|
+
delay: 800,
|
|
41299
|
+
dismissOnClick: true,
|
|
41300
|
+
children: /* @__PURE__ */ jsx205(InlineAction, {
|
|
41301
|
+
"aria-label": "Cancel render",
|
|
41302
|
+
renderAction,
|
|
41303
|
+
onClick,
|
|
41304
|
+
variant: null
|
|
41305
|
+
})
|
|
41112
41306
|
});
|
|
41113
41307
|
};
|
|
41114
41308
|
|
|
41115
41309
|
// src/components/RenderQueue/RenderQueueItemStatus.tsx
|
|
41116
|
-
import
|
|
41117
|
-
import { jsx as
|
|
41310
|
+
import React129, { useCallback as useCallback123, useContext as useContext74 } from "react";
|
|
41311
|
+
import { jsx as jsx206 } from "react/jsx-runtime";
|
|
41118
41312
|
var iconStyle3 = {
|
|
41119
41313
|
height: RENDER_STATUS_INDICATOR_SIZE,
|
|
41120
41314
|
width: RENDER_STATUS_INDICATOR_SIZE
|
|
@@ -41128,15 +41322,15 @@ var invisibleStyle = {
|
|
|
41128
41322
|
};
|
|
41129
41323
|
var RenderQueueItemStatus = ({ job }) => {
|
|
41130
41324
|
const { setSelectedModal } = useContext74(SetSelectedModalContext);
|
|
41131
|
-
const [hovered, setHovered] =
|
|
41325
|
+
const [hovered, setHovered] = React129.useState(false);
|
|
41132
41326
|
const isClientJob = isClientRenderJob(job);
|
|
41133
|
-
const onPointerEnter =
|
|
41327
|
+
const onPointerEnter = useCallback123(() => {
|
|
41134
41328
|
setHovered(true);
|
|
41135
41329
|
}, []);
|
|
41136
|
-
const onPointerLeave =
|
|
41330
|
+
const onPointerLeave = useCallback123(() => {
|
|
41137
41331
|
setHovered(false);
|
|
41138
41332
|
}, []);
|
|
41139
|
-
const onClick =
|
|
41333
|
+
const onClick = useCallback123((e) => {
|
|
41140
41334
|
e.stopPropagation();
|
|
41141
41335
|
setSelectedModal({
|
|
41142
41336
|
type: "render-progress",
|
|
@@ -41144,14 +41338,14 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
41144
41338
|
});
|
|
41145
41339
|
}, [job.id, setSelectedModal]);
|
|
41146
41340
|
if (job.status === "failed") {
|
|
41147
|
-
return /* @__PURE__ */
|
|
41341
|
+
return /* @__PURE__ */ jsx206("button", {
|
|
41148
41342
|
type: "button",
|
|
41149
41343
|
style: invisibleStyle,
|
|
41150
41344
|
onClick,
|
|
41151
|
-
children: /* @__PURE__ */
|
|
41345
|
+
children: /* @__PURE__ */ jsx206("svg", {
|
|
41152
41346
|
style: iconStyle3,
|
|
41153
41347
|
viewBox: "0 0 512 512",
|
|
41154
|
-
children: /* @__PURE__ */
|
|
41348
|
+
children: /* @__PURE__ */ jsx206("path", {
|
|
41155
41349
|
fill: FAIL_COLOR,
|
|
41156
41350
|
d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z"
|
|
41157
41351
|
})
|
|
@@ -41159,26 +41353,26 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
41159
41353
|
});
|
|
41160
41354
|
}
|
|
41161
41355
|
if (job.status === "idle") {
|
|
41162
|
-
return /* @__PURE__ */
|
|
41356
|
+
return /* @__PURE__ */ jsx206("svg", {
|
|
41163
41357
|
style: iconStyle3,
|
|
41164
41358
|
viewBox: "0 0 512 512",
|
|
41165
|
-
children: /* @__PURE__ */
|
|
41359
|
+
children: /* @__PURE__ */ jsx206("path", {
|
|
41166
41360
|
fill: LIGHT_TEXT,
|
|
41167
41361
|
d: "M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"
|
|
41168
41362
|
})
|
|
41169
41363
|
});
|
|
41170
41364
|
}
|
|
41171
41365
|
if (job.status === "done") {
|
|
41172
|
-
return /* @__PURE__ */
|
|
41366
|
+
return /* @__PURE__ */ jsx206("button", {
|
|
41173
41367
|
type: "button",
|
|
41174
41368
|
style: invisibleStyle,
|
|
41175
41369
|
onPointerEnter,
|
|
41176
41370
|
onPointerLeave,
|
|
41177
41371
|
onClick,
|
|
41178
|
-
children: /* @__PURE__ */
|
|
41372
|
+
children: /* @__PURE__ */ jsx206("svg", {
|
|
41179
41373
|
style: iconStyle3,
|
|
41180
41374
|
viewBox: "0 0 512 512",
|
|
41181
|
-
children: /* @__PURE__ */
|
|
41375
|
+
children: /* @__PURE__ */ jsx206("path", {
|
|
41182
41376
|
fill: hovered ? WHITE : LIGHT_TEXT,
|
|
41183
41377
|
d: "M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256S114.6 512 256 512zM369 209L241 337l-17 17-17-17-64-64-17-17L160 222.1l17 17 47 47L335 175l17-17L385.9 192l-17 17z"
|
|
41184
41378
|
})
|
|
@@ -41192,30 +41386,30 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
41192
41386
|
} else {
|
|
41193
41387
|
progressValue = job.progress.value;
|
|
41194
41388
|
}
|
|
41195
|
-
return /* @__PURE__ */
|
|
41389
|
+
return /* @__PURE__ */ jsx206("button", {
|
|
41196
41390
|
type: "button",
|
|
41197
41391
|
style: invisibleStyle,
|
|
41198
41392
|
onClick,
|
|
41199
|
-
children: /* @__PURE__ */
|
|
41393
|
+
children: /* @__PURE__ */ jsx206(CircularProgress, {
|
|
41200
41394
|
progress: Math.max(0.07, progressValue)
|
|
41201
41395
|
})
|
|
41202
41396
|
});
|
|
41203
41397
|
}
|
|
41204
41398
|
if (job.status === "saving") {
|
|
41205
|
-
return /* @__PURE__ */
|
|
41399
|
+
return /* @__PURE__ */ jsx206("button", {
|
|
41206
41400
|
type: "button",
|
|
41207
41401
|
style: invisibleStyle,
|
|
41208
41402
|
onClick,
|
|
41209
|
-
children: /* @__PURE__ */
|
|
41403
|
+
children: /* @__PURE__ */ jsx206(CircularProgress, {
|
|
41210
41404
|
progress: 0.95
|
|
41211
41405
|
})
|
|
41212
41406
|
});
|
|
41213
41407
|
}
|
|
41214
41408
|
if (job.status === "cancelled") {
|
|
41215
|
-
return /* @__PURE__ */
|
|
41409
|
+
return /* @__PURE__ */ jsx206("svg", {
|
|
41216
41410
|
style: iconStyle3,
|
|
41217
41411
|
viewBox: "0 0 512 512",
|
|
41218
|
-
children: /* @__PURE__ */
|
|
41412
|
+
children: /* @__PURE__ */ jsx206("path", {
|
|
41219
41413
|
fill: FAIL_COLOR,
|
|
41220
41414
|
d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32l-17 17-47 47 47 47 17 17L320 353.9l-17-17-47-47-47 47-17 17L158.1 320l17-17 47-47-47-47-17-17L192 158.1l17 17 47 47 47-47 17-17L353.9 192z"
|
|
41221
41415
|
})
|
|
@@ -41225,11 +41419,11 @@ var RenderQueueItemStatus = ({ job }) => {
|
|
|
41225
41419
|
};
|
|
41226
41420
|
|
|
41227
41421
|
// src/components/RenderQueue/RenderQueueOpenInFolder.tsx
|
|
41228
|
-
import { useCallback as
|
|
41229
|
-
import { jsx as
|
|
41422
|
+
import { useCallback as useCallback124, useMemo as useMemo116 } from "react";
|
|
41423
|
+
import { jsx as jsx207 } from "react/jsx-runtime";
|
|
41230
41424
|
var RenderQueueOpenInFinderItem = ({ job }) => {
|
|
41231
41425
|
const isBrowserStudio = getBrowserStudioOperations() !== null;
|
|
41232
|
-
const onClick =
|
|
41426
|
+
const onClick = useCallback124((e) => {
|
|
41233
41427
|
e.stopPropagation();
|
|
41234
41428
|
openInFileExplorer({ directory: job.outName }).catch((err) => {
|
|
41235
41429
|
showNotification(`Could not open file: ${err.message}`, 2000);
|
|
@@ -41241,22 +41435,29 @@ var RenderQueueOpenInFinderItem = ({ job }) => {
|
|
|
41241
41435
|
color: CURRENT_COLOR
|
|
41242
41436
|
};
|
|
41243
41437
|
}, []);
|
|
41244
|
-
const renderAction =
|
|
41245
|
-
return /* @__PURE__ */
|
|
41438
|
+
const renderAction = useCallback124((color) => {
|
|
41439
|
+
return /* @__PURE__ */ jsx207(ExpandedFolderIconSolid, {
|
|
41246
41440
|
style: icon5,
|
|
41247
41441
|
color
|
|
41248
41442
|
});
|
|
41249
41443
|
}, [icon5]);
|
|
41250
|
-
return isBrowserStudio ? null : /* @__PURE__ */
|
|
41251
|
-
|
|
41252
|
-
|
|
41253
|
-
|
|
41444
|
+
return isBrowserStudio ? null : /* @__PURE__ */ jsx207(ActionTooltip, {
|
|
41445
|
+
label: "Open in Folder",
|
|
41446
|
+
shortcut: null,
|
|
41447
|
+
delay: 800,
|
|
41448
|
+
dismissOnClick: true,
|
|
41449
|
+
children: /* @__PURE__ */ jsx207(InlineAction, {
|
|
41450
|
+
"aria-label": "Open in Folder",
|
|
41451
|
+
renderAction,
|
|
41452
|
+
onClick,
|
|
41453
|
+
variant: null
|
|
41454
|
+
})
|
|
41254
41455
|
});
|
|
41255
41456
|
};
|
|
41256
41457
|
|
|
41257
41458
|
// src/components/RenderQueue/RenderQueueOutputName.tsx
|
|
41258
41459
|
import { useMemo as useMemo117 } from "react";
|
|
41259
|
-
import { jsx as
|
|
41460
|
+
import { jsx as jsx208 } from "react/jsx-runtime";
|
|
41260
41461
|
var RenderQueueOutputName = ({ job }) => {
|
|
41261
41462
|
const deletedOutputLocation = "deletedOutputLocation" in job && job.deletedOutputLocation;
|
|
41262
41463
|
const style4 = useMemo117(() => {
|
|
@@ -41273,7 +41474,7 @@ var RenderQueueOutputName = ({ job }) => {
|
|
|
41273
41474
|
}
|
|
41274
41475
|
return job.outName;
|
|
41275
41476
|
};
|
|
41276
|
-
return /* @__PURE__ */
|
|
41477
|
+
return /* @__PURE__ */ jsx208("span", {
|
|
41277
41478
|
style: style4,
|
|
41278
41479
|
title: getTitle(),
|
|
41279
41480
|
children: job.outName
|
|
@@ -41281,7 +41482,7 @@ var RenderQueueOutputName = ({ job }) => {
|
|
|
41281
41482
|
};
|
|
41282
41483
|
|
|
41283
41484
|
// src/components/RenderQueue/RenderQueueProgressMessage.tsx
|
|
41284
|
-
import { useCallback as
|
|
41485
|
+
import { useCallback as useCallback125, useContext as useContext75 } from "react";
|
|
41285
41486
|
|
|
41286
41487
|
// src/components/RenderQueue/client-render-progress.ts
|
|
41287
41488
|
var formatEtaString = (timeRemainingInMilliseconds) => {
|
|
@@ -41310,7 +41511,7 @@ var getClientRenderProgressMessage = (progress) => {
|
|
|
41310
41511
|
};
|
|
41311
41512
|
|
|
41312
41513
|
// src/components/RenderQueue/RenderQueueProgressMessage.tsx
|
|
41313
|
-
import { jsx as
|
|
41514
|
+
import { jsx as jsx209 } from "react/jsx-runtime";
|
|
41314
41515
|
var outputLocation2 = {
|
|
41315
41516
|
...renderQueueItemSubtitleStyle
|
|
41316
41517
|
};
|
|
@@ -41321,14 +41522,14 @@ var RenderQueueProgressMessage = ({ job }) => {
|
|
|
41321
41522
|
const { setSelectedModal } = useContext75(SetSelectedModalContext);
|
|
41322
41523
|
const { tabIndex } = useZIndex();
|
|
41323
41524
|
const isClientJob = isClientRenderJob(job);
|
|
41324
|
-
const onClick =
|
|
41525
|
+
const onClick = useCallback125(() => {
|
|
41325
41526
|
setSelectedModal({
|
|
41326
41527
|
type: "render-progress",
|
|
41327
41528
|
jobId: job.id
|
|
41328
41529
|
});
|
|
41329
41530
|
}, [job.id, setSelectedModal]);
|
|
41330
41531
|
const message = isClientJob ? getClientRenderProgressMessage(job.progress) : job.progress.message;
|
|
41331
|
-
return /* @__PURE__ */
|
|
41532
|
+
return /* @__PURE__ */ jsx209("button", {
|
|
41332
41533
|
onClick,
|
|
41333
41534
|
type: "button",
|
|
41334
41535
|
style: outputLocation2,
|
|
@@ -41339,8 +41540,8 @@ var RenderQueueProgressMessage = ({ job }) => {
|
|
|
41339
41540
|
};
|
|
41340
41541
|
|
|
41341
41542
|
// src/components/RenderQueue/RenderQueueRemoveItem.tsx
|
|
41342
|
-
import { useCallback as
|
|
41343
|
-
import { Internals as
|
|
41543
|
+
import { useCallback as useCallback126, useContext as useContext76, useMemo as useMemo118 } from "react";
|
|
41544
|
+
import { Internals as Internals59 } from "remotion";
|
|
41344
41545
|
|
|
41345
41546
|
// src/api/save-render-output.ts
|
|
41346
41547
|
var throwIfNotOk = async (response) => {
|
|
@@ -41376,13 +41577,13 @@ var unregisterClientRender = async (id) => {
|
|
|
41376
41577
|
};
|
|
41377
41578
|
|
|
41378
41579
|
// src/components/RenderQueue/RenderQueueRemoveItem.tsx
|
|
41379
|
-
import { jsx as
|
|
41580
|
+
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
41380
41581
|
var RenderQueueRemoveItem = ({ job }) => {
|
|
41381
41582
|
const isClientJob = isClientRenderJob(job);
|
|
41382
41583
|
const { removeClientJob } = useContext76(RenderQueueContext);
|
|
41383
|
-
const { canvasContent } = useContext76(
|
|
41384
|
-
const { setCanvasContent } = useContext76(
|
|
41385
|
-
const onClick =
|
|
41584
|
+
const { canvasContent } = useContext76(Internals59.CompositionManager);
|
|
41585
|
+
const { setCanvasContent } = useContext76(Internals59.CompositionSetters);
|
|
41586
|
+
const onClick = useCallback126((e) => {
|
|
41386
41587
|
e.stopPropagation();
|
|
41387
41588
|
if (isClientJob) {
|
|
41388
41589
|
if (canvasContent && canvasContent.type === "output" && job.status === "done" && canvasContent.path === `/${job.outName}`) {
|
|
@@ -41402,27 +41603,33 @@ var RenderQueueRemoveItem = ({ job }) => {
|
|
|
41402
41603
|
color: CURRENT_COLOR
|
|
41403
41604
|
};
|
|
41404
41605
|
}, []);
|
|
41405
|
-
const renderAction =
|
|
41406
|
-
return /* @__PURE__ */
|
|
41606
|
+
const renderAction = useCallback126((color) => {
|
|
41607
|
+
return /* @__PURE__ */ jsx210("svg", {
|
|
41407
41608
|
style: icon5,
|
|
41408
41609
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41409
41610
|
viewBox: "0 0 320 512",
|
|
41410
|
-
children: /* @__PURE__ */
|
|
41611
|
+
children: /* @__PURE__ */ jsx210("path", {
|
|
41411
41612
|
fill: color,
|
|
41412
41613
|
d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z"
|
|
41413
41614
|
})
|
|
41414
41615
|
});
|
|
41415
41616
|
}, [icon5]);
|
|
41416
|
-
return /* @__PURE__ */
|
|
41417
|
-
|
|
41418
|
-
|
|
41419
|
-
|
|
41420
|
-
|
|
41617
|
+
return /* @__PURE__ */ jsx210(ActionTooltip, {
|
|
41618
|
+
label: "Clear",
|
|
41619
|
+
shortcut: null,
|
|
41620
|
+
delay: 800,
|
|
41621
|
+
dismissOnClick: true,
|
|
41622
|
+
children: /* @__PURE__ */ jsx210(InlineAction, {
|
|
41623
|
+
"aria-label": "Clear",
|
|
41624
|
+
renderAction,
|
|
41625
|
+
onClick,
|
|
41626
|
+
variant: null
|
|
41627
|
+
})
|
|
41421
41628
|
});
|
|
41422
41629
|
};
|
|
41423
41630
|
|
|
41424
41631
|
// src/components/RenderQueue/RenderQueueRepeat.tsx
|
|
41425
|
-
import { useCallback as
|
|
41632
|
+
import { useCallback as useCallback127, useContext as useContext77, useMemo as useMemo119 } from "react";
|
|
41426
41633
|
|
|
41427
41634
|
// src/helpers/retry-payload.ts
|
|
41428
41635
|
import { NoReactInternals as NoReactInternals15 } from "remotion/no-react";
|
|
@@ -41627,11 +41834,11 @@ var makeClientRetryPayload = (job) => {
|
|
|
41627
41834
|
};
|
|
41628
41835
|
|
|
41629
41836
|
// src/components/RenderQueue/RenderQueueRepeat.tsx
|
|
41630
|
-
import { jsx as
|
|
41837
|
+
import { jsx as jsx211 } from "react/jsx-runtime";
|
|
41631
41838
|
var RenderQueueRepeatItem = ({ job }) => {
|
|
41632
41839
|
const { setSelectedModal } = useContext77(SetSelectedModalContext);
|
|
41633
41840
|
const isClientJob = isClientRenderJob(job);
|
|
41634
|
-
const onClick =
|
|
41841
|
+
const onClick = useCallback127((e) => {
|
|
41635
41842
|
e.stopPropagation();
|
|
41636
41843
|
if (isClientJob) {
|
|
41637
41844
|
const retryPayload = makeClientRetryPayload(job);
|
|
@@ -41647,31 +41854,38 @@ var RenderQueueRepeatItem = ({ job }) => {
|
|
|
41647
41854
|
color: CURRENT_COLOR
|
|
41648
41855
|
};
|
|
41649
41856
|
}, []);
|
|
41650
|
-
const renderAction =
|
|
41651
|
-
return /* @__PURE__ */
|
|
41857
|
+
const renderAction = useCallback127((color) => {
|
|
41858
|
+
return /* @__PURE__ */ jsx211("svg", {
|
|
41652
41859
|
style: icon5,
|
|
41653
41860
|
viewBox: "0 0 512 512",
|
|
41654
|
-
children: /* @__PURE__ */
|
|
41861
|
+
children: /* @__PURE__ */ jsx211("path", {
|
|
41655
41862
|
fill: color,
|
|
41656
41863
|
d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z"
|
|
41657
41864
|
})
|
|
41658
41865
|
});
|
|
41659
41866
|
}, [icon5]);
|
|
41660
|
-
return /* @__PURE__ */
|
|
41661
|
-
|
|
41662
|
-
|
|
41663
|
-
|
|
41867
|
+
return /* @__PURE__ */ jsx211(ActionTooltip, {
|
|
41868
|
+
label: "Retry",
|
|
41869
|
+
shortcut: null,
|
|
41870
|
+
delay: 800,
|
|
41871
|
+
dismissOnClick: true,
|
|
41872
|
+
children: /* @__PURE__ */ jsx211(InlineAction, {
|
|
41873
|
+
"aria-label": "Retry",
|
|
41874
|
+
onClick,
|
|
41875
|
+
renderAction,
|
|
41876
|
+
variant: null
|
|
41877
|
+
})
|
|
41664
41878
|
});
|
|
41665
41879
|
};
|
|
41666
41880
|
|
|
41667
41881
|
// src/components/RenderQueue/RenderQueueSavingMessage.tsx
|
|
41668
|
-
import { jsx as
|
|
41882
|
+
import { jsx as jsx212 } from "react/jsx-runtime";
|
|
41669
41883
|
var savingStyle = {
|
|
41670
41884
|
...renderQueueItemSubtitleStyle,
|
|
41671
41885
|
cursor: "default"
|
|
41672
41886
|
};
|
|
41673
41887
|
var RenderQueueSavingMessage = () => {
|
|
41674
|
-
return /* @__PURE__ */
|
|
41888
|
+
return /* @__PURE__ */ jsx212("span", {
|
|
41675
41889
|
style: savingStyle,
|
|
41676
41890
|
children: "Saving to out/..."
|
|
41677
41891
|
});
|
|
@@ -41995,17 +42209,17 @@ function newError(Definition) {
|
|
|
41995
42209
|
}
|
|
41996
42210
|
function $constructor(name, initializer, proto, params) {
|
|
41997
42211
|
const zodProto = {};
|
|
41998
|
-
function
|
|
42212
|
+
function Internals60(def) {
|
|
41999
42213
|
this.def = def;
|
|
42000
42214
|
this.constr = _;
|
|
42001
42215
|
this.traits = new Set;
|
|
42002
42216
|
}
|
|
42003
|
-
|
|
42217
|
+
Internals60.prototype = zodProto;
|
|
42004
42218
|
const protoMembers = proto;
|
|
42005
42219
|
const initialized = protoMembers && new WeakSet;
|
|
42006
42220
|
function init(inst, def) {
|
|
42007
42221
|
if (!inst._zod) {
|
|
42008
|
-
_zodDesc.value = new
|
|
42222
|
+
_zodDesc.value = new Internals60(def);
|
|
42009
42223
|
try {
|
|
42010
42224
|
Object.defineProperty(inst, "_zod", _zodDesc);
|
|
42011
42225
|
} finally {
|
|
@@ -43907,6 +44121,7 @@ var makeElementDragData = ({
|
|
|
43907
44121
|
dimensions,
|
|
43908
44122
|
displayName,
|
|
43909
44123
|
durationInFrames,
|
|
44124
|
+
initialProps,
|
|
43910
44125
|
slug,
|
|
43911
44126
|
sourceCode,
|
|
43912
44127
|
installationMode
|
|
@@ -43922,6 +44137,7 @@ var makeElementDragData = ({
|
|
|
43922
44137
|
dimensions,
|
|
43923
44138
|
displayName,
|
|
43924
44139
|
...durationInFrames === undefined ? {} : { durationInFrames },
|
|
44140
|
+
initialProps,
|
|
43925
44141
|
...installationMode === undefined ? {} : { installationMode },
|
|
43926
44142
|
slug,
|
|
43927
44143
|
sourceCode
|
|
@@ -43937,12 +44153,48 @@ var elementInstallationModeSchema = union([
|
|
|
43937
44153
|
literal("component-owned-sequence")
|
|
43938
44154
|
]);
|
|
43939
44155
|
var durationSchema = number2().check(int(), _positive(), _lte(1e8));
|
|
44156
|
+
var elementInitialPropsSchema = record(string2(), unknown());
|
|
44157
|
+
var initialPropNameRegex = /^[A-Za-z_$][0-9A-Za-z_$]*$/;
|
|
44158
|
+
var componentOwnedInstallationProps = new Set([
|
|
44159
|
+
"durationInFrames",
|
|
44160
|
+
"from",
|
|
44161
|
+
"name"
|
|
44162
|
+
]);
|
|
44163
|
+
var isJsonCompatibleValue = (value, seen) => {
|
|
44164
|
+
if (value === null || typeof value === "string" || typeof value === "boolean") {
|
|
44165
|
+
return true;
|
|
44166
|
+
}
|
|
44167
|
+
if (typeof value === "number") {
|
|
44168
|
+
return Number.isFinite(value);
|
|
44169
|
+
}
|
|
44170
|
+
if (typeof value !== "object" || seen.has(value)) {
|
|
44171
|
+
return false;
|
|
44172
|
+
}
|
|
44173
|
+
seen.add(value);
|
|
44174
|
+
const valid = Array.isArray(value) ? value.every((item2) => isJsonCompatibleValue(item2, seen)) : Object.getPrototypeOf(value) === Object.prototype && Object.values(value).every((item2) => isJsonCompatibleValue(item2, seen));
|
|
44175
|
+
seen.delete(value);
|
|
44176
|
+
return valid;
|
|
44177
|
+
};
|
|
44178
|
+
var isElementInitialProps = (value) => value === null || !Array.isArray(value) && typeof value === "object" && value !== null && Object.keys(value).every((key) => initialPropNameRegex.test(key)) && isJsonCompatibleValue(value, new Set);
|
|
44179
|
+
var hasValidElementInitialPropsForInstallationMode = ({
|
|
44180
|
+
initialProps,
|
|
44181
|
+
installationMode
|
|
44182
|
+
}) => {
|
|
44183
|
+
if (installationMode !== "component-owned-sequence" || initialProps === null) {
|
|
44184
|
+
return true;
|
|
44185
|
+
}
|
|
44186
|
+
if (Object.keys(initialProps).some((name) => componentOwnedInstallationProps.has(name))) {
|
|
44187
|
+
return false;
|
|
44188
|
+
}
|
|
44189
|
+
return initialProps.style === undefined || initialProps.style !== null && typeof initialProps.style === "object" && !Array.isArray(initialProps.style);
|
|
44190
|
+
};
|
|
43940
44191
|
var elementDragDataSchema = object({
|
|
43941
44192
|
type: literal("remotion-element"),
|
|
43942
44193
|
version: literal(1),
|
|
43943
44194
|
element: object({
|
|
43944
44195
|
dependencies: array(unknown()).check(_maxLength(100)),
|
|
43945
44196
|
durationInFrames: optional(durationSchema),
|
|
44197
|
+
initialProps: optional(nullable(elementInitialPropsSchema)),
|
|
43946
44198
|
installationMode: optional(elementInstallationModeSchema),
|
|
43947
44199
|
slug: slugSchema,
|
|
43948
44200
|
displayName: string2().check(_minLength(1), _maxLength(119)),
|
|
@@ -43963,11 +44215,19 @@ var parseElementDragData = (value) => {
|
|
|
43963
44215
|
}
|
|
43964
44216
|
dependencies.push(dependency);
|
|
43965
44217
|
}
|
|
44218
|
+
const initialProps = parsed.data.element.initialProps ?? null;
|
|
44219
|
+
if (!isElementInitialProps(initialProps) || !hasValidElementInitialPropsForInstallationMode({
|
|
44220
|
+
initialProps,
|
|
44221
|
+
installationMode: parsed.data.element.installationMode
|
|
44222
|
+
})) {
|
|
44223
|
+
return null;
|
|
44224
|
+
}
|
|
43966
44225
|
return makeElementDragData({
|
|
43967
44226
|
dependencies,
|
|
43968
44227
|
dimensions: parsed.data.element.dimensions ?? null,
|
|
43969
44228
|
displayName: parsed.data.element.displayName,
|
|
43970
44229
|
durationInFrames: parsed.data.element.durationInFrames,
|
|
44230
|
+
initialProps,
|
|
43971
44231
|
slug: parsed.data.element.slug,
|
|
43972
44232
|
sourceCode: parsed.data.element.sourceCode,
|
|
43973
44233
|
installationMode: parsed.data.element.installationMode
|
|
@@ -44081,6 +44341,7 @@ var makeDragData = (input2) => {
|
|
|
44081
44341
|
dimensions: input2.dimensions,
|
|
44082
44342
|
displayName: input2.displayName,
|
|
44083
44343
|
durationInFrames: input2.durationInFrames,
|
|
44344
|
+
initialProps: input2.initialProps ?? null,
|
|
44084
44345
|
slug: input2.slug,
|
|
44085
44346
|
sourceCode: input2.sourceCode,
|
|
44086
44347
|
installationMode: input2.installationMode
|
|
@@ -44171,11 +44432,24 @@ var parseStudioElementPayload = (value) => {
|
|
|
44171
44432
|
if (!parsed.success) {
|
|
44172
44433
|
return null;
|
|
44173
44434
|
}
|
|
44174
|
-
|
|
44175
|
-
|
|
44176
|
-
|
|
44177
|
-
|
|
44178
|
-
|
|
44435
|
+
if (typeof parsed.data.element !== "object" || parsed.data.element === null || Array.isArray(parsed.data.element)) {
|
|
44436
|
+
return null;
|
|
44437
|
+
}
|
|
44438
|
+
const rawInitialProps = Object.hasOwn(parsed.data.element, "initialProps") ? parsed.data.element.initialProps : null;
|
|
44439
|
+
if (!isElementInitialProps(rawInitialProps)) {
|
|
44440
|
+
return null;
|
|
44441
|
+
}
|
|
44442
|
+
let serializedElement;
|
|
44443
|
+
try {
|
|
44444
|
+
serializedElement = JSON.stringify({
|
|
44445
|
+
type: parsed.data.type,
|
|
44446
|
+
version: parsed.data.version,
|
|
44447
|
+
element: parsed.data.element
|
|
44448
|
+
});
|
|
44449
|
+
} catch {
|
|
44450
|
+
return null;
|
|
44451
|
+
}
|
|
44452
|
+
const element = parseElementDragData(serializedElement);
|
|
44179
44453
|
if (element === null)
|
|
44180
44454
|
return null;
|
|
44181
44455
|
const payload = {
|
|
@@ -44885,7 +45159,7 @@ var StudioProtocolInternals = {
|
|
|
44885
45159
|
};
|
|
44886
45160
|
|
|
44887
45161
|
// src/components/RenderQueue/use-render-output-file-drag.ts
|
|
44888
|
-
import { useCallback as
|
|
45162
|
+
import { useCallback as useCallback128, useEffect as useEffect48, useMemo as useMemo120, useState as useState69 } from "react";
|
|
44889
45163
|
var MAXIMUM_SAFE_FILE_DRAG_SIZE = 500 * 1024 * 1024;
|
|
44890
45164
|
var getFilename = (outName) => {
|
|
44891
45165
|
return outName.split(/[/\\]/).at(-1) ?? outName;
|
|
@@ -44895,8 +45169,8 @@ var isChrome = () => {
|
|
|
44895
45169
|
};
|
|
44896
45170
|
var useRenderOutputFileDrag = (job) => {
|
|
44897
45171
|
const deletedOutputLocation = "deletedOutputLocation" in job && job.deletedOutputLocation;
|
|
44898
|
-
const [isDragging, setIsDragging] =
|
|
44899
|
-
const [clientFile, setClientFile] =
|
|
45172
|
+
const [isDragging, setIsDragging] = useState69(false);
|
|
45173
|
+
const [clientFile, setClientFile] = useState69(null);
|
|
44900
45174
|
const clientBlobInfo = useMemo120(() => {
|
|
44901
45175
|
if (!isClientRenderJob(job) || job.status !== "done" || job.getBlob === undefined) {
|
|
44902
45176
|
return null;
|
|
@@ -44907,7 +45181,7 @@ var useRenderOutputFileDrag = (job) => {
|
|
|
44907
45181
|
};
|
|
44908
45182
|
}, [job]);
|
|
44909
45183
|
const clientJobWithBlob = clientBlobInfo !== null;
|
|
44910
|
-
|
|
45184
|
+
useEffect48(() => {
|
|
44911
45185
|
if (!clientBlobInfo || clientBlobInfo.sizeInBytes <= 0 || clientBlobInfo.sizeInBytes > MAXIMUM_SAFE_FILE_DRAG_SIZE || typeof File === "undefined" || typeof URL.createObjectURL !== "function") {
|
|
44912
45186
|
setClientFile(null);
|
|
44913
45187
|
return;
|
|
@@ -44939,7 +45213,7 @@ var useRenderOutputFileDrag = (job) => {
|
|
|
44939
45213
|
}, [clientBlobInfo, job.outName]);
|
|
44940
45214
|
const canUseFileDrag = typeof DataTransfer !== "undefined" && typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(any-pointer: fine)").matches && navigator.maxTouchPoints === 0 && isChrome();
|
|
44941
45215
|
const canDrag = canUseFileDrag && job.status === "done" && job.type !== "sequence" && !deletedOutputLocation && (clientJobWithBlob ? clientFile !== null : true);
|
|
44942
|
-
const onDragStart =
|
|
45216
|
+
const onDragStart = useCallback128((event) => {
|
|
44943
45217
|
if (!canDrag) {
|
|
44944
45218
|
event.preventDefault();
|
|
44945
45219
|
return;
|
|
@@ -44970,14 +45244,14 @@ var useRenderOutputFileDrag = (job) => {
|
|
|
44970
45244
|
event.preventDefault();
|
|
44971
45245
|
}
|
|
44972
45246
|
}, [canDrag, clientFile, job.outName]);
|
|
44973
|
-
const onDragEnd =
|
|
45247
|
+
const onDragEnd = useCallback128(() => {
|
|
44974
45248
|
setIsDragging(false);
|
|
44975
45249
|
}, []);
|
|
44976
45250
|
return { canDrag, isDragging, onDragEnd, onDragStart };
|
|
44977
45251
|
};
|
|
44978
45252
|
|
|
44979
45253
|
// src/components/RenderQueue/RenderQueueItem.tsx
|
|
44980
|
-
import { jsx as
|
|
45254
|
+
import { jsx as jsx213, jsxs as jsxs96, Fragment as Fragment34 } from "react/jsx-runtime";
|
|
44981
45255
|
var container23 = {
|
|
44982
45256
|
padding: 12,
|
|
44983
45257
|
display: "flex",
|
|
@@ -45006,15 +45280,15 @@ var subtitle3 = {
|
|
|
45006
45280
|
overflow: "hidden"
|
|
45007
45281
|
};
|
|
45008
45282
|
var RenderQueueItem = ({ job, selected }) => {
|
|
45009
|
-
const [hovered, setHovered] =
|
|
45010
|
-
const { setCanvasContent } = useContext78(
|
|
45283
|
+
const [hovered, setHovered] = useState70(false);
|
|
45284
|
+
const { setCanvasContent } = useContext78(Internals60.CompositionSetters);
|
|
45011
45285
|
const isClientJob = isClientRenderJob(job);
|
|
45012
45286
|
const isBrowserStudio = getBrowserStudioOperations() !== null;
|
|
45013
45287
|
const { canDrag, isDragging, onDragEnd, onDragStart } = useRenderOutputFileDrag(job);
|
|
45014
|
-
const onPointerEnter =
|
|
45288
|
+
const onPointerEnter = useCallback129(() => {
|
|
45015
45289
|
setHovered(true);
|
|
45016
45290
|
}, []);
|
|
45017
|
-
const onPointerLeave =
|
|
45291
|
+
const onPointerLeave = useCallback129(() => {
|
|
45018
45292
|
setHovered(false);
|
|
45019
45293
|
}, []);
|
|
45020
45294
|
const isHoverable = job.status === "done" && (isClientJob || job.type !== "sequence");
|
|
@@ -45029,7 +45303,7 @@ var RenderQueueItem = ({ job, selected }) => {
|
|
|
45029
45303
|
WebkitUserSelect: "none"
|
|
45030
45304
|
};
|
|
45031
45305
|
}, [hovered, isHoverable, selected]);
|
|
45032
|
-
const scrollCurrentIntoView =
|
|
45306
|
+
const scrollCurrentIntoView = useCallback129(() => {
|
|
45033
45307
|
document.querySelector(`.${RENDER_QUEUE_ITEM_SELECTED_CLASSNAME}`)?.scrollIntoView({ behavior: "smooth" });
|
|
45034
45308
|
}, []);
|
|
45035
45309
|
const clientBlobInfo = useMemo121(() => {
|
|
@@ -45043,7 +45317,7 @@ var RenderQueueItem = ({ job, selected }) => {
|
|
|
45043
45317
|
sizeInBytes: job.metadata.sizeInBytes
|
|
45044
45318
|
};
|
|
45045
45319
|
}, [isClientJob, job]);
|
|
45046
|
-
const onClick =
|
|
45320
|
+
const onClick = useCallback129(() => {
|
|
45047
45321
|
if (job.status !== "done") {
|
|
45048
45322
|
return;
|
|
45049
45323
|
}
|
|
@@ -45085,14 +45359,14 @@ var RenderQueueItem = ({ job, selected }) => {
|
|
|
45085
45359
|
selected,
|
|
45086
45360
|
setCanvasContent
|
|
45087
45361
|
]);
|
|
45088
|
-
|
|
45362
|
+
useEffect49(() => {
|
|
45089
45363
|
if (selected) {
|
|
45090
45364
|
scrollCurrentIntoView();
|
|
45091
45365
|
}
|
|
45092
45366
|
}, [scrollCurrentIntoView, selected]);
|
|
45093
45367
|
const canCopyToClipboard = job.status === "done" && !isClientJob && supportsCopyingToClipboard(job);
|
|
45094
45368
|
const canRepeat = (job.status === "done" || job.status === "failed" || job.status === "cancelled") && !(isClientRenderJob(job) && isRestoredClientJob(job));
|
|
45095
|
-
return /* @__PURE__ */
|
|
45369
|
+
return /* @__PURE__ */ jsxs96(Row, {
|
|
45096
45370
|
"data-render-queue-item": job.id,
|
|
45097
45371
|
onPointerEnter,
|
|
45098
45372
|
onPointerLeave,
|
|
@@ -45104,50 +45378,50 @@ var RenderQueueItem = ({ job, selected }) => {
|
|
|
45104
45378
|
onDragEnd,
|
|
45105
45379
|
className: selected ? RENDER_QUEUE_ITEM_SELECTED_CLASSNAME : undefined,
|
|
45106
45380
|
children: [
|
|
45107
|
-
/* @__PURE__ */
|
|
45381
|
+
/* @__PURE__ */ jsx213(RenderQueueItemStatus, {
|
|
45108
45382
|
job
|
|
45109
45383
|
}),
|
|
45110
|
-
/* @__PURE__ */
|
|
45384
|
+
/* @__PURE__ */ jsx213(Spacing, {
|
|
45111
45385
|
x: 1
|
|
45112
45386
|
}),
|
|
45113
|
-
/* @__PURE__ */
|
|
45387
|
+
/* @__PURE__ */ jsxs96("div", {
|
|
45114
45388
|
style: right2,
|
|
45115
45389
|
children: [
|
|
45116
|
-
/* @__PURE__ */
|
|
45390
|
+
/* @__PURE__ */ jsx213("div", {
|
|
45117
45391
|
style: title2,
|
|
45118
45392
|
children: job.compositionId
|
|
45119
45393
|
}),
|
|
45120
|
-
/* @__PURE__ */
|
|
45394
|
+
/* @__PURE__ */ jsx213("div", {
|
|
45121
45395
|
style: subtitle3,
|
|
45122
|
-
children: job.status === "done" ? /* @__PURE__ */
|
|
45396
|
+
children: job.status === "done" ? /* @__PURE__ */ jsx213(RenderQueueOutputName, {
|
|
45123
45397
|
job
|
|
45124
|
-
}) : job.status === "failed" ? /* @__PURE__ */
|
|
45398
|
+
}) : job.status === "failed" ? /* @__PURE__ */ jsx213(RenderQueueError, {
|
|
45125
45399
|
job
|
|
45126
|
-
}) : job.status === "running" ? /* @__PURE__ */
|
|
45400
|
+
}) : job.status === "running" ? /* @__PURE__ */ jsx213(RenderQueueProgressMessage, {
|
|
45127
45401
|
job
|
|
45128
|
-
}) : job.status === "saving" ? /* @__PURE__ */
|
|
45402
|
+
}) : job.status === "saving" ? /* @__PURE__ */ jsx213(RenderQueueSavingMessage, {}) : job.status === "cancelled" ? /* @__PURE__ */ jsx213(RenderQueueCancelledMessage, {}) : null
|
|
45129
45403
|
})
|
|
45130
45404
|
]
|
|
45131
45405
|
}),
|
|
45132
|
-
/* @__PURE__ */
|
|
45406
|
+
/* @__PURE__ */ jsx213(Spacing, {
|
|
45133
45407
|
x: 1
|
|
45134
45408
|
}),
|
|
45135
|
-
!isDragging ? /* @__PURE__ */
|
|
45409
|
+
!isDragging ? /* @__PURE__ */ jsxs96(Fragment34, {
|
|
45136
45410
|
children: [
|
|
45137
|
-
canCopyToClipboard ? /* @__PURE__ */
|
|
45411
|
+
canCopyToClipboard ? /* @__PURE__ */ jsx213(RenderQueueCopyToClipboard, {
|
|
45138
45412
|
job
|
|
45139
45413
|
}) : null,
|
|
45140
|
-
canRepeat ? /* @__PURE__ */
|
|
45414
|
+
canRepeat ? /* @__PURE__ */ jsx213(RenderQueueRepeatItem, {
|
|
45141
45415
|
job
|
|
45142
45416
|
}) : null,
|
|
45143
|
-
job.status === "running" ? /* @__PURE__ */
|
|
45417
|
+
job.status === "running" ? /* @__PURE__ */ jsx213(RenderQueueCancelButton, {
|
|
45144
45418
|
job
|
|
45145
|
-
}) : isBrowserStudio ? null : /* @__PURE__ */
|
|
45419
|
+
}) : isBrowserStudio ? null : /* @__PURE__ */ jsx213(RenderQueueRemoveItem, {
|
|
45146
45420
|
job
|
|
45147
45421
|
}),
|
|
45148
|
-
job.status === "done" ? clientBlobInfo ? /* @__PURE__ */
|
|
45422
|
+
job.status === "done" ? clientBlobInfo ? /* @__PURE__ */ jsx213(RenderQueueDownloadItem, {
|
|
45149
45423
|
job
|
|
45150
|
-
}) : isBrowserStudio ? null : /* @__PURE__ */
|
|
45424
|
+
}) : isBrowserStudio ? null : /* @__PURE__ */ jsx213(RenderQueueOpenInFinderItem, {
|
|
45151
45425
|
job
|
|
45152
45426
|
}) : null
|
|
45153
45427
|
]
|
|
@@ -45160,15 +45434,15 @@ var RenderQueueItem = ({ job, selected }) => {
|
|
|
45160
45434
|
var isVideoMattingJob = (job) => job.type === "video-matting";
|
|
45161
45435
|
|
|
45162
45436
|
// src/components/RenderQueue/VideoMattingQueueItem.tsx
|
|
45163
|
-
import { useCallback as
|
|
45437
|
+
import { useCallback as useCallback130, useContext as useContext79, useMemo as useMemo122, useState as useState71 } from "react";
|
|
45164
45438
|
|
|
45165
45439
|
// src/icons/ellipsis.tsx
|
|
45166
|
-
import { jsx as
|
|
45440
|
+
import { jsx as jsx214 } from "react/jsx-runtime";
|
|
45167
45441
|
var EllipsisIcon = (props) => {
|
|
45168
|
-
return /* @__PURE__ */
|
|
45442
|
+
return /* @__PURE__ */ jsx214("svg", {
|
|
45169
45443
|
...props.svgProps,
|
|
45170
45444
|
viewBox: "0 0 448 512",
|
|
45171
|
-
children: /* @__PURE__ */
|
|
45445
|
+
children: /* @__PURE__ */ jsx214("path", {
|
|
45172
45446
|
fill: props.fill,
|
|
45173
45447
|
d: "M448 256a48 48 0 1 1-96 0 48 48 0 1 1 96 0zm-176 0a48 48 0 1 1-96 0 48 48 0 1 1 96 0zM48 304a48 48 0 1 1 0-96 48 48 0 1 1 0 96z"
|
|
45174
45448
|
})
|
|
@@ -45176,7 +45450,7 @@ var EllipsisIcon = (props) => {
|
|
|
45176
45450
|
};
|
|
45177
45451
|
|
|
45178
45452
|
// src/components/RenderQueue/VideoMattingQueueItem.tsx
|
|
45179
|
-
import { jsx as
|
|
45453
|
+
import { jsx as jsx215, jsxs as jsxs97 } from "react/jsx-runtime";
|
|
45180
45454
|
var container24 = {
|
|
45181
45455
|
borderRadius: 4,
|
|
45182
45456
|
display: "flex",
|
|
@@ -45213,7 +45487,7 @@ var ellipsisIconStyle = {
|
|
|
45213
45487
|
};
|
|
45214
45488
|
var Status = ({ job }) => {
|
|
45215
45489
|
if (job.status === "running") {
|
|
45216
|
-
return /* @__PURE__ */
|
|
45490
|
+
return /* @__PURE__ */ jsx215("div", {
|
|
45217
45491
|
style: statusIcon2,
|
|
45218
45492
|
role: "progressbar",
|
|
45219
45493
|
"aria-label": "Video matting progress",
|
|
@@ -45221,33 +45495,33 @@ var Status = ({ job }) => {
|
|
|
45221
45495
|
"aria-valuemax": 100,
|
|
45222
45496
|
"aria-valuenow": Math.round(job.progress.value * 100),
|
|
45223
45497
|
"aria-valuetext": job.progress.message,
|
|
45224
|
-
children: /* @__PURE__ */
|
|
45498
|
+
children: /* @__PURE__ */ jsx215(CircularProgress, {
|
|
45225
45499
|
progress: Math.max(0.07, job.progress.value)
|
|
45226
45500
|
})
|
|
45227
45501
|
});
|
|
45228
45502
|
}
|
|
45229
45503
|
if (job.status === "done")
|
|
45230
|
-
return /* @__PURE__ */
|
|
45504
|
+
return /* @__PURE__ */ jsx215(SuccessIcon, {});
|
|
45231
45505
|
if (job.status === "failed")
|
|
45232
|
-
return /* @__PURE__ */
|
|
45506
|
+
return /* @__PURE__ */ jsx215("svg", {
|
|
45233
45507
|
style: statusIcon2,
|
|
45234
45508
|
viewBox: "0 0 512 512",
|
|
45235
|
-
children: /* @__PURE__ */
|
|
45509
|
+
children: /* @__PURE__ */ jsx215("path", {
|
|
45236
45510
|
fill: FAIL_COLOR,
|
|
45237
45511
|
d: "M0 160V352L160 512H352L512 352V160L352 0H160L0 160zm353.9 32-64 64 64 64L320 353.9l-64-64-64 64L158.1 320l64-64-64-64L192 158.1l64 64 64-64z"
|
|
45238
45512
|
})
|
|
45239
45513
|
});
|
|
45240
|
-
return /* @__PURE__ */
|
|
45514
|
+
return /* @__PURE__ */ jsx215("svg", {
|
|
45241
45515
|
style: statusIcon2,
|
|
45242
45516
|
viewBox: "0 0 512 512",
|
|
45243
|
-
children: /* @__PURE__ */
|
|
45517
|
+
children: /* @__PURE__ */ jsx215("path", {
|
|
45244
45518
|
fill: LIGHT_TEXT,
|
|
45245
45519
|
d: "M256 512C114.6 512 0 397.4 0 256S114.6 0 256 0s256 114.6 256 256-114.6 256-256 256zM232 120v136c0 8 4 15.5 10.7 20l96 64 26.6-39.9-85.3-56.9V120z"
|
|
45246
45520
|
})
|
|
45247
45521
|
});
|
|
45248
45522
|
};
|
|
45249
45523
|
var VideoMattingQueueItem = ({ job, selected }) => {
|
|
45250
|
-
const [hovered, setHovered] =
|
|
45524
|
+
const [hovered, setHovered] = useState71(false);
|
|
45251
45525
|
const { removeVideoMattingJob } = useContext79(RenderQueueContext);
|
|
45252
45526
|
const selectAsset = useSelectAsset();
|
|
45253
45527
|
const done = job.status === "done";
|
|
@@ -45262,11 +45536,11 @@ var VideoMattingQueueItem = ({ job, selected }) => {
|
|
|
45262
45536
|
const messages = job.status === "idle" ? ["Queued for video matting"] : job.status === "running" ? [job.progress.message, job.progress.detail].filter((message) => message !== null) : job.status === "failed" ? [job.error.message] : [job.baseOutName, job.foregroundOutName];
|
|
45263
45537
|
const tooltip = messages.join(`
|
|
45264
45538
|
`);
|
|
45265
|
-
const revealAsset =
|
|
45539
|
+
const revealAsset = useCallback130((assetName) => {
|
|
45266
45540
|
selectAsset(assetName);
|
|
45267
45541
|
pushUrl(`/assets/${assetName}`);
|
|
45268
45542
|
}, [selectAsset]);
|
|
45269
|
-
const onClick =
|
|
45543
|
+
const onClick = useCallback130(() => {
|
|
45270
45544
|
if (!done)
|
|
45271
45545
|
return;
|
|
45272
45546
|
revealAsset(job.foregroundOutName);
|
|
@@ -45299,19 +45573,19 @@ var VideoMattingQueueItem = ({ job, selected }) => {
|
|
|
45299
45573
|
}
|
|
45300
45574
|
];
|
|
45301
45575
|
}, [job.baseOutName, job.foregroundOutName, revealAsset]);
|
|
45302
|
-
const onRemove =
|
|
45576
|
+
const onRemove = useCallback130((event) => {
|
|
45303
45577
|
event.stopPropagation();
|
|
45304
45578
|
removeVideoMattingJob(job.id);
|
|
45305
45579
|
}, [job.id, removeVideoMattingJob]);
|
|
45306
|
-
const renderRemove =
|
|
45580
|
+
const renderRemove = useCallback130((color) => /* @__PURE__ */ jsx215("svg", {
|
|
45307
45581
|
style: removeIcon2,
|
|
45308
45582
|
viewBox: "0 0 320 512",
|
|
45309
|
-
children: /* @__PURE__ */
|
|
45583
|
+
children: /* @__PURE__ */ jsx215("path", {
|
|
45310
45584
|
fill: color,
|
|
45311
45585
|
d: "M310.6 150.6 205.3 256l105.3 105.4-45.3 45.3L160 301.3 54.6 406.6 9.4 361.4 114.7 256 9.4 150.6l45.2-45.2L160 210.7l105.3-105.3z"
|
|
45312
45586
|
})
|
|
45313
45587
|
}), []);
|
|
45314
|
-
return /* @__PURE__ */
|
|
45588
|
+
return /* @__PURE__ */ jsxs97(Row, {
|
|
45315
45589
|
"data-render-queue-item": job.id,
|
|
45316
45590
|
style: style4,
|
|
45317
45591
|
align: "center",
|
|
@@ -45319,53 +45593,65 @@ var VideoMattingQueueItem = ({ job, selected }) => {
|
|
|
45319
45593
|
onPointerEnter: () => setHovered(true),
|
|
45320
45594
|
onPointerLeave: () => setHovered(false),
|
|
45321
45595
|
children: [
|
|
45322
|
-
/* @__PURE__ */
|
|
45596
|
+
/* @__PURE__ */ jsx215(Status, {
|
|
45323
45597
|
job
|
|
45324
45598
|
}),
|
|
45325
|
-
/* @__PURE__ */
|
|
45599
|
+
/* @__PURE__ */ jsx215(Spacing, {
|
|
45326
45600
|
x: 1
|
|
45327
45601
|
}),
|
|
45328
|
-
/* @__PURE__ */
|
|
45602
|
+
/* @__PURE__ */ jsxs97("div", {
|
|
45329
45603
|
style: right3,
|
|
45330
45604
|
children: [
|
|
45331
|
-
/* @__PURE__ */
|
|
45605
|
+
/* @__PURE__ */ jsx215("div", {
|
|
45332
45606
|
style: title3,
|
|
45333
45607
|
children: job.displayName
|
|
45334
45608
|
}),
|
|
45335
|
-
/* @__PURE__ */
|
|
45609
|
+
/* @__PURE__ */ jsx215("div", {
|
|
45336
45610
|
style: subtitles,
|
|
45337
45611
|
title: tooltip,
|
|
45338
|
-
children: messages.map((message) => /* @__PURE__ */
|
|
45612
|
+
children: messages.map((message) => /* @__PURE__ */ jsx215("span", {
|
|
45339
45613
|
style: subtitle4,
|
|
45340
45614
|
children: message
|
|
45341
45615
|
}, message))
|
|
45342
45616
|
})
|
|
45343
45617
|
]
|
|
45344
45618
|
}),
|
|
45345
|
-
/* @__PURE__ */
|
|
45619
|
+
/* @__PURE__ */ jsx215(Spacing, {
|
|
45346
45620
|
x: 1
|
|
45347
45621
|
}),
|
|
45348
|
-
done ? /* @__PURE__ */
|
|
45349
|
-
|
|
45350
|
-
|
|
45351
|
-
|
|
45352
|
-
|
|
45353
|
-
|
|
45354
|
-
|
|
45355
|
-
|
|
45622
|
+
done ? /* @__PURE__ */ jsx215(ActionTooltip, {
|
|
45623
|
+
label: "Reveal video layer",
|
|
45624
|
+
shortcut: null,
|
|
45625
|
+
delay: 800,
|
|
45626
|
+
dismissOnClick: true,
|
|
45627
|
+
children: /* @__PURE__ */ jsx215(InlineDropdown, {
|
|
45628
|
+
renderAction: (color) => /* @__PURE__ */ jsx215(EllipsisIcon, {
|
|
45629
|
+
fill: color,
|
|
45630
|
+
svgProps: ellipsisIconStyle
|
|
45631
|
+
}),
|
|
45632
|
+
"aria-label": "Reveal video layer",
|
|
45633
|
+
values: revealItems,
|
|
45634
|
+
variant: null
|
|
45635
|
+
})
|
|
45356
45636
|
}) : null,
|
|
45357
|
-
job.status === "running" ? null : /* @__PURE__ */
|
|
45358
|
-
|
|
45359
|
-
|
|
45360
|
-
|
|
45361
|
-
|
|
45637
|
+
job.status === "running" ? null : /* @__PURE__ */ jsx215(ActionTooltip, {
|
|
45638
|
+
label: "Clear",
|
|
45639
|
+
shortcut: null,
|
|
45640
|
+
delay: 800,
|
|
45641
|
+
dismissOnClick: true,
|
|
45642
|
+
children: /* @__PURE__ */ jsx215(InlineAction, {
|
|
45643
|
+
renderAction: renderRemove,
|
|
45644
|
+
onClick: onRemove,
|
|
45645
|
+
"aria-label": "Clear",
|
|
45646
|
+
variant: null
|
|
45647
|
+
})
|
|
45362
45648
|
})
|
|
45363
45649
|
]
|
|
45364
45650
|
});
|
|
45365
45651
|
};
|
|
45366
45652
|
|
|
45367
45653
|
// src/components/RenderQueue/index.tsx
|
|
45368
|
-
import { jsx as
|
|
45654
|
+
import { jsx as jsx216, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
45369
45655
|
var errorExplanation3 = {
|
|
45370
45656
|
fontSize: 13,
|
|
45371
45657
|
color: LIGHT_TEXT,
|
|
@@ -45391,12 +45677,12 @@ var renderQueue = {
|
|
|
45391
45677
|
};
|
|
45392
45678
|
var RenderQueue = () => {
|
|
45393
45679
|
const { jobs, captionJobs, videoMattingJobs } = useContext80(RenderQueueContext);
|
|
45394
|
-
const { canvasContent } = useContext80(
|
|
45680
|
+
const { canvasContent } = useContext80(Internals61.CompositionManager);
|
|
45395
45681
|
const allJobs = useMemo123(() => [...jobs, ...captionJobs, ...videoMattingJobs].sort((a, b) => a.startedAt - b.startedAt), [jobs, captionJobs, videoMattingJobs]);
|
|
45396
|
-
const previousJobCount =
|
|
45682
|
+
const previousJobCount = React137.useRef(allJobs.length);
|
|
45397
45683
|
const jobCount = allJobs.length;
|
|
45398
|
-
const divRef =
|
|
45399
|
-
|
|
45684
|
+
const divRef = React137.useRef(null);
|
|
45685
|
+
useEffect50(() => {
|
|
45400
45686
|
if (!divRef.current) {
|
|
45401
45687
|
return;
|
|
45402
45688
|
}
|
|
@@ -45437,35 +45723,35 @@ var RenderQueue = () => {
|
|
|
45437
45723
|
return -1;
|
|
45438
45724
|
}, [allJobs, canvasContent]);
|
|
45439
45725
|
if (jobCount === 0) {
|
|
45440
|
-
return /* @__PURE__ */
|
|
45726
|
+
return /* @__PURE__ */ jsxs98("div", {
|
|
45441
45727
|
style: explainer4,
|
|
45442
45728
|
children: [
|
|
45443
|
-
/* @__PURE__ */
|
|
45729
|
+
/* @__PURE__ */ jsx216(Spacing, {
|
|
45444
45730
|
y: 5
|
|
45445
45731
|
}),
|
|
45446
|
-
/* @__PURE__ */
|
|
45732
|
+
/* @__PURE__ */ jsx216("div", {
|
|
45447
45733
|
style: errorExplanation3,
|
|
45448
45734
|
children: "Renders, transcriptions and video matting jobs will show up here."
|
|
45449
45735
|
}),
|
|
45450
|
-
/* @__PURE__ */
|
|
45736
|
+
/* @__PURE__ */ jsx216(Spacing, {
|
|
45451
45737
|
y: 2,
|
|
45452
45738
|
block: true
|
|
45453
45739
|
})
|
|
45454
45740
|
]
|
|
45455
45741
|
});
|
|
45456
45742
|
}
|
|
45457
|
-
return /* @__PURE__ */
|
|
45743
|
+
return /* @__PURE__ */ jsx216("div", {
|
|
45458
45744
|
ref: divRef,
|
|
45459
45745
|
style: renderQueue,
|
|
45460
45746
|
className: ["css-reset", VERTICAL_SCROLLBAR_CLASSNAME].join(" "),
|
|
45461
45747
|
children: allJobs.map((job, index) => {
|
|
45462
|
-
return isCaptionJob(job) ? /* @__PURE__ */
|
|
45748
|
+
return isCaptionJob(job) ? /* @__PURE__ */ jsx216(CaptionQueueItem, {
|
|
45463
45749
|
job,
|
|
45464
45750
|
selected: selectedJob === index
|
|
45465
|
-
}, job.id) : isVideoMattingJob(job) ? /* @__PURE__ */
|
|
45751
|
+
}, job.id) : isVideoMattingJob(job) ? /* @__PURE__ */ jsx216(VideoMattingQueueItem, {
|
|
45466
45752
|
job,
|
|
45467
45753
|
selected: selectedJob === index
|
|
45468
|
-
}, job.id) : /* @__PURE__ */
|
|
45754
|
+
}, job.id) : /* @__PURE__ */ jsx216(RenderQueueItem, {
|
|
45469
45755
|
selected: selectedJob === index,
|
|
45470
45756
|
job
|
|
45471
45757
|
}, job.id);
|
|
@@ -45477,8 +45763,8 @@ var RenderQueue = () => {
|
|
|
45477
45763
|
import { useContext as useContext81, useMemo as useMemo125 } from "react";
|
|
45478
45764
|
|
|
45479
45765
|
// src/components/Tabs/index.tsx
|
|
45480
|
-
import { useCallback as
|
|
45481
|
-
import { jsx as
|
|
45766
|
+
import { useCallback as useCallback131, useMemo as useMemo124, useState as useState72 } from "react";
|
|
45767
|
+
import { jsx as jsx217 } from "react/jsx-runtime";
|
|
45482
45768
|
var tabsContainer = {
|
|
45483
45769
|
display: "flex",
|
|
45484
45770
|
flexDirection: "row"
|
|
@@ -45490,7 +45776,7 @@ var Tabs = ({ children, style: style4 }) => {
|
|
|
45490
45776
|
...style4
|
|
45491
45777
|
};
|
|
45492
45778
|
}, [style4]);
|
|
45493
|
-
return /* @__PURE__ */
|
|
45779
|
+
return /* @__PURE__ */ jsx217("div", {
|
|
45494
45780
|
style: definiteStyle,
|
|
45495
45781
|
children
|
|
45496
45782
|
});
|
|
@@ -45511,12 +45797,12 @@ var selectorButton = {
|
|
|
45511
45797
|
WebkitUserSelect: "none"
|
|
45512
45798
|
};
|
|
45513
45799
|
var Tab = ({ children, onClick, onDragEnter, onDragLeave, style: style4, selected }) => {
|
|
45514
|
-
const [hovered, setHovered] =
|
|
45800
|
+
const [hovered, setHovered] = useState72(false);
|
|
45515
45801
|
const { tabIndex } = useZIndex();
|
|
45516
|
-
const onPointerEnter =
|
|
45802
|
+
const onPointerEnter = useCallback131(() => {
|
|
45517
45803
|
setHovered(true);
|
|
45518
45804
|
}, []);
|
|
45519
|
-
const onPointerLeave =
|
|
45805
|
+
const onPointerLeave = useCallback131(() => {
|
|
45520
45806
|
setHovered(false);
|
|
45521
45807
|
}, []);
|
|
45522
45808
|
const definiteStyle = useMemo124(() => ({
|
|
@@ -45527,7 +45813,7 @@ var Tab = ({ children, onClick, onDragEnter, onDragLeave, style: style4, selecte
|
|
|
45527
45813
|
boxShadow: selected ? "none" : undefined,
|
|
45528
45814
|
...style4
|
|
45529
45815
|
}), [hovered, selected, style4]);
|
|
45530
|
-
return /* @__PURE__ */
|
|
45816
|
+
return /* @__PURE__ */ jsx217("div", {
|
|
45531
45817
|
style: definiteStyle,
|
|
45532
45818
|
role: "button",
|
|
45533
45819
|
onClick,
|
|
@@ -45541,7 +45827,7 @@ var Tab = ({ children, onClick, onDragEnter, onDragLeave, style: style4, selecte
|
|
|
45541
45827
|
};
|
|
45542
45828
|
|
|
45543
45829
|
// src/components/RendersTab.tsx
|
|
45544
|
-
import { jsx as
|
|
45830
|
+
import { jsx as jsx218, jsxs as jsxs99, Fragment as Fragment35 } from "react/jsx-runtime";
|
|
45545
45831
|
var row4 = {
|
|
45546
45832
|
display: "flex",
|
|
45547
45833
|
flexDirection: "row",
|
|
@@ -45573,17 +45859,17 @@ var RendersTab = ({ selected, onClick }) => {
|
|
|
45573
45859
|
borderColor: LIGHT_TEXT
|
|
45574
45860
|
};
|
|
45575
45861
|
}, [failedJobs]);
|
|
45576
|
-
return /* @__PURE__ */
|
|
45862
|
+
return /* @__PURE__ */ jsx218(Tab, {
|
|
45577
45863
|
selected,
|
|
45578
45864
|
onClick,
|
|
45579
|
-
children: /* @__PURE__ */
|
|
45865
|
+
children: /* @__PURE__ */ jsxs99("div", {
|
|
45580
45866
|
style: row4,
|
|
45581
45867
|
children: [
|
|
45582
45868
|
"Jobs",
|
|
45583
|
-
jobCount > 0 ? /* @__PURE__ */
|
|
45869
|
+
jobCount > 0 ? /* @__PURE__ */ jsxs99(Fragment35, {
|
|
45584
45870
|
children: [
|
|
45585
|
-
/* @__PURE__ */
|
|
45586
|
-
/* @__PURE__ */
|
|
45871
|
+
/* @__PURE__ */ jsx218(Flex, {}),
|
|
45872
|
+
/* @__PURE__ */ jsx218("div", {
|
|
45587
45873
|
style: badgeStyle,
|
|
45588
45874
|
children: jobCount
|
|
45589
45875
|
})
|
|
@@ -45595,7 +45881,7 @@ var RendersTab = ({ selected, onClick }) => {
|
|
|
45595
45881
|
};
|
|
45596
45882
|
|
|
45597
45883
|
// src/components/OptionsPanel.tsx
|
|
45598
|
-
import { jsx as
|
|
45884
|
+
import { jsx as jsx219, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
45599
45885
|
var localStorageKey = "remotion.sidebarPanel";
|
|
45600
45886
|
var getSelectedPanel = () => {
|
|
45601
45887
|
const panel = localStorage.getItem(localStorageKey);
|
|
@@ -45611,7 +45897,7 @@ var persistSelectedOptionsSidebarPanel = (panel) => {
|
|
|
45611
45897
|
localStorage.setItem(localStorageKey, panel);
|
|
45612
45898
|
};
|
|
45613
45899
|
var OptionsPanel = ({ readOnlyStudio }) => {
|
|
45614
|
-
const { props, updateProps } = useContext82(
|
|
45900
|
+
const { props, updateProps } = useContext82(Internals62.EditorPropsContext);
|
|
45615
45901
|
const isMobileLayout = useMobileLayout();
|
|
45616
45902
|
const container25 = useMemo126(() => ({
|
|
45617
45903
|
height: "100%",
|
|
@@ -45621,12 +45907,12 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45621
45907
|
flexDirection: "column",
|
|
45622
45908
|
flex: 1
|
|
45623
45909
|
}), [isMobileLayout]);
|
|
45624
|
-
const [panel, setPanel] =
|
|
45625
|
-
const onInspectorSelected =
|
|
45910
|
+
const [panel, setPanel] = useState73(getSelectedPanel);
|
|
45911
|
+
const onInspectorSelected = useCallback132(() => {
|
|
45626
45912
|
setPanel("inspector");
|
|
45627
45913
|
persistSelectedOptionsSidebarPanel("inspector");
|
|
45628
45914
|
}, []);
|
|
45629
|
-
const onRendersSelected =
|
|
45915
|
+
const onRendersSelected = useCallback132(() => {
|
|
45630
45916
|
setPanel("renders");
|
|
45631
45917
|
persistSelectedOptionsSidebarPanel("renders");
|
|
45632
45918
|
}, []);
|
|
@@ -45642,7 +45928,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45642
45928
|
}
|
|
45643
45929
|
};
|
|
45644
45930
|
}, []);
|
|
45645
|
-
const { compositions, canvasContent } = useContext82(
|
|
45931
|
+
const { compositions, canvasContent } = useContext82(Internals62.CompositionManager);
|
|
45646
45932
|
const composition = useMemo126(() => {
|
|
45647
45933
|
if (canvasContent === null || canvasContent.type !== "composition") {
|
|
45648
45934
|
return null;
|
|
@@ -45674,7 +45960,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45674
45960
|
}
|
|
45675
45961
|
return props[composition.id] ?? composition.defaultProps ?? {};
|
|
45676
45962
|
}, [composition, props]);
|
|
45677
|
-
const saveToFile =
|
|
45963
|
+
const saveToFile = useCallback132((updater) => {
|
|
45678
45964
|
if (readOnlyStudio) {
|
|
45679
45965
|
return;
|
|
45680
45966
|
}
|
|
@@ -45713,7 +45999,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45713
45999
|
}
|
|
45714
46000
|
return !deepEqual(composition.defaultProps, currentDefaultProps);
|
|
45715
46001
|
}, [readOnlyStudio, composition, currentDefaultProps]);
|
|
45716
|
-
const resetToOriginal =
|
|
46002
|
+
const resetToOriginal = useCallback132(() => {
|
|
45717
46003
|
if (!composition) {
|
|
45718
46004
|
return;
|
|
45719
46005
|
}
|
|
@@ -45723,7 +46009,7 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45723
46009
|
newProps: composition.defaultProps ?? {}
|
|
45724
46010
|
});
|
|
45725
46011
|
}, [composition, updateProps]);
|
|
45726
|
-
const setDefaultProps =
|
|
46012
|
+
const setDefaultProps = useCallback132((updater, { shouldSave }) => {
|
|
45727
46013
|
updateProps({
|
|
45728
46014
|
id: compositionId,
|
|
45729
46015
|
defaultProps: compositionDefaultProps,
|
|
@@ -45733,42 +46019,42 @@ var OptionsPanel = ({ readOnlyStudio }) => {
|
|
|
45733
46019
|
saveToFile(updater);
|
|
45734
46020
|
}
|
|
45735
46021
|
}, [compositionId, compositionDefaultProps, saveToFile, updateProps]);
|
|
45736
|
-
const onPointerDown =
|
|
46022
|
+
const onPointerDown = useCallback132((e) => {
|
|
45737
46023
|
e.stopPropagation();
|
|
45738
46024
|
}, []);
|
|
45739
|
-
return /* @__PURE__ */
|
|
46025
|
+
return /* @__PURE__ */ jsxs100("div", {
|
|
45740
46026
|
style: container25,
|
|
45741
46027
|
className: "css-reset",
|
|
45742
46028
|
onPointerDown,
|
|
45743
46029
|
children: [
|
|
45744
|
-
/* @__PURE__ */
|
|
46030
|
+
/* @__PURE__ */ jsx219("div", {
|
|
45745
46031
|
style: tabsContainer2,
|
|
45746
|
-
children: /* @__PURE__ */
|
|
46032
|
+
children: /* @__PURE__ */ jsxs100(Tabs, {
|
|
45747
46033
|
children: [
|
|
45748
|
-
/* @__PURE__ */
|
|
46034
|
+
/* @__PURE__ */ jsxs100(Tab, {
|
|
45749
46035
|
selected: panel === "inspector",
|
|
45750
46036
|
onClick: onInspectorSelected,
|
|
45751
46037
|
style: { justifyContent: "space-between" },
|
|
45752
46038
|
children: [
|
|
45753
46039
|
"Inspector",
|
|
45754
|
-
hasLocalModifications ? /* @__PURE__ */
|
|
46040
|
+
hasLocalModifications ? /* @__PURE__ */ jsx219(SchemaResetButton, {
|
|
45755
46041
|
onClick: resetToOriginal
|
|
45756
46042
|
}) : null
|
|
45757
46043
|
]
|
|
45758
46044
|
}),
|
|
45759
|
-
/* @__PURE__ */
|
|
46045
|
+
/* @__PURE__ */ jsx219(RendersTab, {
|
|
45760
46046
|
onClick: onRendersSelected,
|
|
45761
46047
|
selected: panel === "renders"
|
|
45762
46048
|
})
|
|
45763
46049
|
]
|
|
45764
46050
|
})
|
|
45765
46051
|
}),
|
|
45766
|
-
panel === "inspector" ? /* @__PURE__ */
|
|
46052
|
+
panel === "inspector" ? /* @__PURE__ */ jsx219(InspectorPanel, {
|
|
45767
46053
|
composition,
|
|
45768
46054
|
currentDefaultProps,
|
|
45769
46055
|
readOnlyStudio,
|
|
45770
46056
|
setDefaultProps
|
|
45771
|
-
}) : /* @__PURE__ */
|
|
46057
|
+
}) : /* @__PURE__ */ jsx219(RenderQueue, {})
|
|
45772
46058
|
]
|
|
45773
46059
|
});
|
|
45774
46060
|
};
|
|
@@ -45820,14 +46106,14 @@ var validatePublicOutputName = ({
|
|
|
45820
46106
|
};
|
|
45821
46107
|
|
|
45822
46108
|
// src/components/NewComposition/DismissableModal.tsx
|
|
45823
|
-
import { useCallback as
|
|
45824
|
-
import { jsx as
|
|
46109
|
+
import { useCallback as useCallback133, useContext as useContext83 } from "react";
|
|
46110
|
+
import { jsx as jsx220 } from "react/jsx-runtime";
|
|
45825
46111
|
var DismissableModal = ({ children, panelStyle, ariaLabel }) => {
|
|
45826
46112
|
const { setSelectedModal } = useContext83(SetSelectedModalContext);
|
|
45827
|
-
const onQuit =
|
|
46113
|
+
const onQuit = useCallback133(() => {
|
|
45828
46114
|
setSelectedModal(null);
|
|
45829
46115
|
}, [setSelectedModal]);
|
|
45830
|
-
return /* @__PURE__ */
|
|
46116
|
+
return /* @__PURE__ */ jsx220(ModalContainer, {
|
|
45831
46117
|
ariaLabel,
|
|
45832
46118
|
onOutsideClick: onQuit,
|
|
45833
46119
|
onEscape: onQuit,
|
|
@@ -45837,8 +46123,8 @@ var DismissableModal = ({ children, panelStyle, ariaLabel }) => {
|
|
|
45837
46123
|
};
|
|
45838
46124
|
|
|
45839
46125
|
// src/components/Tabs/vertical.tsx
|
|
45840
|
-
import { useCallback as
|
|
45841
|
-
import { jsxs as
|
|
46126
|
+
import { useCallback as useCallback134, useMemo as useMemo127, useState as useState74 } from "react";
|
|
46127
|
+
import { jsxs as jsxs101 } from "react/jsx-runtime";
|
|
45842
46128
|
var selectorButton2 = {
|
|
45843
46129
|
border: "none",
|
|
45844
46130
|
flex: 1,
|
|
@@ -45854,12 +46140,12 @@ var selectorButton2 = {
|
|
|
45854
46140
|
WebkitUserSelect: "none"
|
|
45855
46141
|
};
|
|
45856
46142
|
var VerticalTab = ({ children, onClick, renderIcon, style: style4, selected, autoFocus }) => {
|
|
45857
|
-
const [hovered, setHovered] =
|
|
46143
|
+
const [hovered, setHovered] = useState74(false);
|
|
45858
46144
|
const { tabIndex } = useZIndex();
|
|
45859
|
-
const onPointerEnter =
|
|
46145
|
+
const onPointerEnter = useCallback134(() => {
|
|
45860
46146
|
setHovered(true);
|
|
45861
46147
|
}, []);
|
|
45862
|
-
const onPointerLeave =
|
|
46148
|
+
const onPointerLeave = useCallback134(() => {
|
|
45863
46149
|
setHovered(false);
|
|
45864
46150
|
}, []);
|
|
45865
46151
|
const color = selected || hovered ? WHITE : LIGHT_TEXT;
|
|
@@ -45872,7 +46158,7 @@ var VerticalTab = ({ children, onClick, renderIcon, style: style4, selected, aut
|
|
|
45872
46158
|
...style4
|
|
45873
46159
|
};
|
|
45874
46160
|
}, [color, hovered, selected, style4]);
|
|
45875
|
-
return /* @__PURE__ */
|
|
46161
|
+
return /* @__PURE__ */ jsxs101("button", {
|
|
45876
46162
|
autoFocus,
|
|
45877
46163
|
style: definiteStyle,
|
|
45878
46164
|
type: "button",
|
|
@@ -45888,7 +46174,7 @@ var VerticalTab = ({ children, onClick, renderIcon, style: style4, selected, aut
|
|
|
45888
46174
|
};
|
|
45889
46175
|
|
|
45890
46176
|
// src/components/RenderModal/RenderModalHr.tsx
|
|
45891
|
-
import { jsx as
|
|
46177
|
+
import { jsx as jsx221 } from "react/jsx-runtime";
|
|
45892
46178
|
var hrStyle = {
|
|
45893
46179
|
margin: "0 0 0 0",
|
|
45894
46180
|
padding: "0 0 0 0",
|
|
@@ -45900,24 +46186,24 @@ var hrStyle = {
|
|
|
45900
46186
|
marginBottom: 8
|
|
45901
46187
|
};
|
|
45902
46188
|
var RenderModalHr = () => {
|
|
45903
|
-
return /* @__PURE__ */
|
|
46189
|
+
return /* @__PURE__ */ jsx221("div", {
|
|
45904
46190
|
style: hrStyle
|
|
45905
46191
|
});
|
|
45906
46192
|
};
|
|
45907
46193
|
|
|
45908
46194
|
// src/icons/models.tsx
|
|
45909
|
-
import { jsx as
|
|
46195
|
+
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
45910
46196
|
var ModelsIcon = ({
|
|
45911
46197
|
color,
|
|
45912
46198
|
...props
|
|
45913
|
-
}) => /* @__PURE__ */
|
|
46199
|
+
}) => /* @__PURE__ */ jsx222("svg", {
|
|
45914
46200
|
xmlns: "http://www.w3.org/2000/svg",
|
|
45915
46201
|
viewBox: "0 0 512 512",
|
|
45916
46202
|
...props,
|
|
45917
|
-
children: /* @__PURE__ */
|
|
46203
|
+
children: /* @__PURE__ */ jsx222("path", {
|
|
45918
46204
|
d: "M176 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-16c-35.3 0-64 28.7-64 64v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v16c0 35.3 28.7 64 64 64h16v48c0 8.8 7.2 16 16 16s16-7.2 16-16v-48h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16v-48h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16v-48h16c35.3 0 64-28.7 64-64v-16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48v-64h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48v-64h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48v-16c0-35.3-28.7-64-64-64h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-64V16ZM416 128v256c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32h256c17.7 0 32 14.3 32 32ZM192 160c-17.7 0-32 14.3-32 32v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H192Zm128 32v128H192V192h128Z",
|
|
45919
46205
|
fill: color ?? CURRENT_COLOR_LOWERCASE
|
|
45920
46206
|
})
|
|
45921
46207
|
});
|
|
45922
46208
|
|
|
45923
|
-
export { getPortal, showNotification, NotificationCenter, subscribeToPreviewServerEvents, getNavigationWindow, pushUrl, clearUrl, reloadUrl, StudioServerConnectionCtx, PreviewServerConnection, useStudioConfigRevision, noop, compositionListRenderedRef, CompositionListContext, CompositionListProvider, ScaleLockContext, ScaleLockProvider, getCurrentZoom, setCurrentZoom, getCurrentFrame, setCurrentFrame, getCurrentDuration, setCurrentDuration, getCurrentFps, setCurrentFps, sliderAreaRef, scrollableRef, timelineVerticalScroll, TIMELINE_PADDING, TIMELINE_BORDER, TIMELINE_ITEM_BORDER_BOTTOM, buildTimelineTree, flattenVisibleTreeNodes, getTreeRowHeight, TIMELINE_LAYER_FILMSTRIP_HEIGHT, TIMELINE_VIDEO_INFO_WAVEFORM_HEIGHT, TIMELINE_LAYER_HEIGHT_AUDIO, TIMELINE_LIST_ITEM_ROW_HEIGHT, getTimelineLayerHeight, getXPositionOfItemInTimelineImperatively, TIMELINE_FRAME_WIDTH_AT_MAX_ZOOM, getTimelineMinZoom, clampTimelineZoom, getTimelineZoom, getTimelineWidth, timelineZoomToNormalized, timelineZoomToSliderValue, normalizedToTimelineZoom, sliderValueToTimelineZoom, TIMELINE_ZOOM_SLIDER_PROPS, TimelineWidthContext, TimelineWidthProvider, redrawTimelineSliderFast, TimelineSlider, getTimelineContentWidth, EDGE_SCROLL_VERTICAL_INCREMENT, startTimelineEdgeAutoScroll, getFrameWhileScrollingLeft, isCursorInViewport, ensureFrameIsInViewport, scrollToTimelineXOffset, getScrollPositionForCursorOnLeftEdge, getScrollPositionForCursorOnRightEdge, getFrameIncrementFromWidth, getFrameWhileScrollingRight, getFrameFromX, getFrameFromTimelineDrop, viewportClientXToScrollContentX, ZoomPersistor, TimelineZoomCtx, TimelineZoomContext, SelectedModalContext, SetSelectedModalContext, StudioProtocolInternals, Transform3DModeStateContext, Transform3DModeStateProvider, calculateTimeline, timelineNodePathInfoToKey, timelineSequenceNodePathToKey, ModalHeader, toggleBooleanMapKey, openFolderKey, persistExpandedFolders, ExpandedFoldersContext, buildAssetFolderStructure, getKeysToExpand, createFolderTree, sortFolderTreeAlphabetically, FolderContext, FolderContextProvider, CollapsedFolderIcon, ExpandedFolderIcon, ExpandedFolderIconSolid, getRelativeFileLocation, formatFileLocation, formatContextForAgents, getOriginalPosition, getSourceMap, parseError, getOriginalLocationFromStack, openInEditor, openInCodingAgent, openOriginalPositionInEditor, useCachedCompositionComponentInfo, preloadCompositionComponentInfo, getOpenInNewWindowMenuItem, getCompositionMenuItems, getCompositionContextMenuItems, EllipsisIcon, useMobileLayout, menuContainerTowardsBottom, outerPortal, inlineCodeSnippet, MenuDivider, CaretDown, MenuContent, InlineDropdown, isCompositionStill, StillIcon, FilmIcon, CompositionOrStillIcon, ContextMenu, ContextMenuForTarget, hasResolvedStack, useResolvedStack, canShowUpdates, useUpdateStatus, SettingsProvider, useSettings, getPreferredEditorId, useEditorOpening, useDefaultCodingAgentInfo, explorerSidebarTabs, useSelectAsset, StaticFilesProvider, useStaticFiles, useSelectComposition, InitialCompositionLoader, Checkmark, ExpandedTracksGetterContext, ExpandedTracksSetterContext, ExpandedTracksProvider, optionsSidebarTabs, getKeyframeDisplayOffset, getNodeKeyframes, getNodeHasKeyframes, getTimelineEasingSegments, parseKeyframeFieldFromNodePath, filterTimelineExpandedTree, getSelectedTimelineExpandedRowKeys, isTimelineExpandedNodeSelected, getClipboardFigmaHtml, getClipboardImageFiles, getClipboardSvgMarkup, ShortcutHint, Button, ModalButton, ModalFooterContainer, useConfirmationDialog, ConfirmationDialog, addEffect, callAddKeyframes, callAddEffectKeyframe, findTrackForNodePathInfo, saveEffectProp, subscribeToSequenceProps, unsubscribeFromSequenceProps, saveSequenceProps2 as saveSequenceProps, duplicateSequencesFromSource, getTimelineSequenceSplitEligibility, splitTimelineSequenceFromSource,
|
|
46209
|
+
export { getPortal, showNotification, NotificationCenter, subscribeToPreviewServerEvents, getNavigationWindow, pushUrl, clearUrl, reloadUrl, StudioServerConnectionCtx, PreviewServerConnection, useStudioConfigRevision, noop, compositionListRenderedRef, CompositionListContext, CompositionListProvider, ScaleLockContext, ScaleLockProvider, getCurrentZoom, setCurrentZoom, getCurrentFrame, setCurrentFrame, getCurrentDuration, setCurrentDuration, getCurrentFps, setCurrentFps, sliderAreaRef, scrollableRef, timelineVerticalScroll, TIMELINE_PADDING, TIMELINE_BORDER, TIMELINE_ITEM_BORDER_BOTTOM, buildTimelineTree, flattenVisibleTreeNodes, getTreeRowHeight, TIMELINE_LAYER_FILMSTRIP_HEIGHT, TIMELINE_VIDEO_INFO_WAVEFORM_HEIGHT, TIMELINE_LAYER_HEIGHT_AUDIO, TIMELINE_LIST_ITEM_ROW_HEIGHT, getTimelineLayerHeight, getXPositionOfItemInTimelineImperatively, TIMELINE_FRAME_WIDTH_AT_MAX_ZOOM, getTimelineMinZoom, clampTimelineZoom, getTimelineZoom, getTimelineWidth, timelineZoomToNormalized, timelineZoomToSliderValue, normalizedToTimelineZoom, sliderValueToTimelineZoom, TIMELINE_ZOOM_SLIDER_PROPS, TimelineWidthContext, TimelineWidthProvider, redrawTimelineSliderFast, TimelineSlider, getTimelineContentWidth, EDGE_SCROLL_VERTICAL_INCREMENT, startTimelineEdgeAutoScroll, getFrameWhileScrollingLeft, isCursorInViewport, ensureFrameIsInViewport, scrollToTimelineXOffset, getScrollPositionForCursorOnLeftEdge, getScrollPositionForCursorOnRightEdge, getFrameIncrementFromWidth, getFrameWhileScrollingRight, getFrameFromX, getFrameFromTimelineDrop, viewportClientXToScrollContentX, ZoomPersistor, TimelineZoomCtx, TimelineZoomContext, SelectedModalContext, SetSelectedModalContext, StudioProtocolInternals, Transform3DModeStateContext, Transform3DModeStateProvider, calculateTimeline, getPreviewFileType, timelineNodePathInfoToKey, timelineSequenceNodePathToKey, persistEditorShowGuidesOption, loadEditorShowGuidesOption, persistGuidesList, loadGuidesList, EditorShowGuidesContext, ModalHeader, toggleBooleanMapKey, openFolderKey, persistExpandedFolders, ExpandedFoldersContext, buildAssetFolderStructure, getKeysToExpand, createFolderTree, sortFolderTreeAlphabetically, FolderContext, FolderContextProvider, CollapsedFolderIcon, ExpandedFolderIcon, ExpandedFolderIconSolid, getRelativeFileLocation, formatFileLocation, formatContextForAgents, getOriginalPosition, getSourceMap, parseError, getOriginalLocationFromStack, openInEditor, openInCodingAgent, openOriginalPositionInEditor, useCachedCompositionComponentInfo, preloadCompositionComponentInfo, getOpenInNewWindowMenuItem, getCompositionMenuItems, getCompositionContextMenuItems, EllipsisIcon, useMobileLayout, menuContainerTowardsBottom, outerPortal, inlineCodeSnippet, MenuDivider, CaretDown, MenuContent, InlineDropdown, isCompositionStill, StillIcon, FilmIcon, CompositionOrStillIcon, ContextMenu, ContextMenuForTarget, hasResolvedStack, useResolvedStack, canShowUpdates, useUpdateStatus, SettingsProvider, useSettings, getPreferredEditorId, useEditorOpening, useDefaultCodingAgentInfo, explorerSidebarTabs, useSelectAsset, StaticFilesProvider, useStaticFiles, useSelectComposition, InitialCompositionLoader, Checkmark, ExpandedTracksGetterContext, ExpandedTracksSetterContext, ExpandedTracksProvider, optionsSidebarTabs, getKeyframeDisplayOffset, getNodeKeyframes, getNodeHasKeyframes, getTimelineEasingSegments, parseKeyframeFieldFromNodePath, filterTimelineExpandedTree, getSelectedTimelineExpandedRowKeys, isTimelineExpandedNodeSelected, getClipboardFigmaHtml, getClipboardImageFiles, getClipboardSvgMarkup, ShortcutHint, Button, ModalButton, ModalFooterContainer, useConfirmationDialog, ConfirmationDialog, addEffect, callAddKeyframes, callAddEffectKeyframe, findTrackForNodePathInfo, saveEffectProp, subscribeToSequenceProps, unsubscribeFromSequenceProps, saveSequenceProps2 as saveSequenceProps, duplicateSequencesFromSource, getTimelineSequenceSplitEligibility, splitTimelineSequenceFromSource, useDeleteTimelineItems, TIMELINE_SELECTED_BACKGROUND, TIMELINE_EXPANDED_SELECTED_BACKGROUND, TIMELINE_SELECTED_LABEL_BACKGROUND, getTimelineSelectedLabelStyle, getTimelineColor, getTimelineSelectedTrackHighlightStyle, TIMELINE_BACKGROUND, TIMELINE_TICKS_BACKGROUND, isTimelineSelectionModifierEvent, shouldSelectTimelineRowOnPointerDown, getTimelineSelectionFromNodePathInfo, getTimelineSequenceSelectionKey, TimelineSelectAllKeybindings, TimelineSelectableItemsProvider, TimelineSelectionProvider, useTimelineSelection, TIMELINE_MARQUEE_ITEM_ATTR, TIMELINE_SCRUBBER_ATTR, useCurrentTimelineSelectionStateAsRef, useTimelineMarqueeSelection, useTimelineMarqueeSelectableItem, useTimelineRowSelection, useTimelineKeyframeSelection, useTimelineGuideSelection, useTimelineRowContainsSelection, useTimelineRowHighlightBackground, ActionTooltip, SegmentedButton, SidebarContext, SidebarContextProvider, getFileManagerName, getGitMenuItem, getConfigureDefaultAppsMenuItems, getOpenInMenuItems, useConfigureDefaultApps, InspectorOpenInEditor, addAssetCacheBust, getCachedMediaMetadata, useMediaMetadata, remotion_outputsBase, getAssetPreviewMetadata, getAssetMetadata, TRANSFORMERS_PACKAGE, withRequiredAuxiliaryPackages, installPackages, getMissingPackages, installRequiredPackages, prepareElementInstall, getFromForDrop, getAssetElementFromPath, hasSvgFile, getElementPositionForDrop, getCompositionPositionForDrop, pickFilesToImport, importAssets, importFigmaClipboard, insertSvgMarkup, importRemoteAsset, insertRemoteAudio, insertExistingAssets, insertComponent, insertComposition, insertElement, forceSpecificCursor, stopForcingSpecificCursor, ForceSpecificCursor, AudioIcon, AudioFileIcon, RightAlignInput, RemotionInput, RemTextarea, useRuntimeValue, useRuntimeValueSelector, useRuntimeValueSnapshots, cropFieldKeys, canEditSelectedOutlineCrop, translateFieldKey, scaleFieldKey, rotateFieldKey, transformOriginFieldKey, tuplesEqual2 as tuplesEqual, getUvHandlePosition, getUvHandleConnectionLines, getUvHandleConnectionEllipses, getUvEllipseInteractiveControls, getUvCoordinateForPoint, constrainUv, roundUvCoordinate, roundNumericUvEllipseValue, getSelectedUvHandles, parseTransformOrigin, parsedTransformOriginToUv, serializeTransformOrigin, pointToString, midpoint, dot, vectorLength, vectorBetween2 as vectorBetween, getAngleDegrees, getSelectedOutlineRotationDeltaDegrees, getRotationCursor, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationPivot, getSelectedSequenceKeys, getSequenceKeysContainingSelection, getOutlineSelectionInteraction, getSelectedEffectFieldsBySequenceKey, getSelectedCropInfo, getSelectedTransformOriginInfo, getSelectedRotationInfo, getSequencesWithSelectableOutlines, measureOutlines, measureOutlineTargets, outlinesAreEqual, parseCssRotation, parseTranslate, serializeTranslate, InputDragger, TimelineLayerEye, TimelineLayerEyeSpacer, getSelectedOutlineActiveSchema, getSelectedOutlineDragStates, getSelectedOutlineDragValues, applySelectedOutlineDragAxisLock, isSelectedOutlineDragPastThreshold, getSelectedOutlineDragChanges, getSelectedOutlineCropFollowingTransformOrigin, getSelectedOutlineCropDragValues, getSelectedOutlineCropDragChanges, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutline3DRotationDragValues, getSelectedOutlineRotationDragValues, selectedOutlineRotationSnapStepDegrees, snapSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationDragChanges, clearSelectedOutlineDragOverrides, getSelectedOutlineKeyboardNudgeDirection, clearSelectedOutlineScaleDragOverrides, clearSelectedOutlineRotationDragOverrides, compensateTranslateForTransformOrigin, getSelectedOutlineTransformOriginDragChanges, uvsEqual, getSelectedOutlineTransformOriginLockedAxis, applySelectedOutlineTransformOriginAxisLock, snapSelectedOutlineUv, snapSelectedOutlineTransformOriginUv, commitPendingInspectorFields, getConnectedCompositions, createDragAwareDoubleClickTracker, getCopyContextForAgentsMenuItem, getTimelineAssetLinkInfo, openTimelineAssetLink, propStatusHas3DTransformValue, openInRemotionConvert, getCachedImageMetadata, FileIcon, PicIcon, AssetFileIcon, useDeleteAsset, Tabs, Tab, ObserveDefaultProps, SeparationIcon, TranscriptionIcon, sectionHeader2 as sectionHeader, InspectorQuickAction, getStaticFileBaseName, getStaticFileRenameSelection, getRenamedStaticFilePath, validateStaticFileRename, useRenameStaticFile, downloadBlob, SegmentedControl, Combobox, InfoBubble, InlineRemoveButton, optionRow, label2 as label, rightRow, input, Checkbox, DataEditor, LicenseExplanation, FastRefreshContext, resolvedStackToSymbolicated, slugifyName, validateCompositionName, validateCompositionDimension, validateCompositionDuration, useRenameComposition, useCopyFeedback, CopyIcon, TimelineExpandArrowButton, TimelineExpandArrowSpacer, TimelineRowSelectedBackgroundContext, TimelineRowChrome, renderFrame, TimelineKeyframeDiamondIcon, TimelineKeyframeDragStateProvider, useTimelineKeyframeDragState, useTimelineKeyframeDrag, TimelineKeyframeEasingLine, useResolveStackAndReactToChange, useOpenSequenceInApps, useRenameSequence, TimelineKeyframeTracksProvider, SnowflakeIcon, FullscreenIcon, UploadIcon, TimelineExpandedRow, useTimelineSequenceHasExpandableContent, useTimelineExpandedTree, getSequenceFreezeFrameMenuItem, CircularProgress, SuccessIcon, isRestoredClientJob, RenderQueueOpenInFinderItem, getClientRenderProgressMessage, saveOutputFile, registerClientRender, makeRetryPayload, makeClientRetryPayload, persistSelectedOptionsSidebarPanel, OptionsPanel, getDefaultOutputBaseName, validatePublicOutputName, DismissableModal, VerticalTab, RenderModalHr, ModelsIcon };
|