@remotion/studio 4.0.473 → 4.0.475
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/AssetSelectorItem.js +30 -6
- package/dist/components/Canvas.js +77 -0
- package/dist/components/ColorPicker/ColorPicker.js +4 -31
- package/dist/components/CompositionSelectorItem.js +4 -4
- package/dist/components/Editor.js +4 -1
- package/dist/components/Modals.js +2 -2
- package/dist/components/NewComposition/ComboBox.js +1 -0
- package/dist/components/NewComposition/InputDragger.d.ts +1 -0
- package/dist/components/NewComposition/InputDragger.js +9 -6
- package/dist/components/PreviewToolbar.js +2 -2
- package/dist/components/SelectedOutlineOverlay.d.ts +61 -33
- package/dist/components/SelectedOutlineOverlay.js +813 -351
- package/dist/components/SelectedOutlineUvControls.d.ts +17 -0
- package/dist/components/SelectedOutlineUvControls.js +167 -0
- package/dist/components/StudioCanvasCapture.d.ts +5 -0
- package/dist/components/StudioCanvasCapture.js +40 -0
- package/dist/components/Timeline/EasingEditorModal.d.ts +11 -0
- package/dist/components/Timeline/EasingEditorModal.js +247 -0
- package/dist/components/Timeline/KeyframeSettingsModal.js +5 -4
- package/dist/components/Timeline/SequencePropsObserver.js +3 -3
- package/dist/components/Timeline/Timeline.js +10 -7
- package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +7 -7
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +19 -16
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +71 -40
- package/dist/components/Timeline/TimelineDragHandler.js +2 -2
- package/dist/components/Timeline/TimelineEffectItem.js +8 -9
- package/dist/components/Timeline/TimelineEffectPropItem.js +18 -18
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.d.ts +1 -0
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +7 -2
- package/dist/components/Timeline/TimelineExpandedSection.js +5 -5
- package/dist/components/Timeline/TimelineExpandedTrackKeyframes.js +1 -1
- package/dist/components/Timeline/TimelineHeightContainer.js +2 -0
- package/dist/components/Timeline/TimelineItemStack.js +3 -56
- package/dist/components/Timeline/TimelineKeyframeControls.d.ts +7 -0
- package/dist/components/Timeline/TimelineKeyframeControls.js +265 -68
- package/dist/components/Timeline/TimelineKeyframeDiamond.js +4 -3
- package/dist/components/Timeline/TimelineKeyframeEasingLine.d.ts +9 -0
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +245 -0
- package/dist/components/Timeline/TimelineKeyframeTracksContext.d.ts +7 -0
- package/dist/components/Timeline/TimelineKeyframeTracksContext.js +17 -0
- package/dist/components/Timeline/TimelineKeyframedValue.js +1 -1
- package/dist/components/Timeline/TimelineMediaInfo.js +4 -24
- package/dist/components/Timeline/TimelineNumberField.js +15 -7
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +4 -0
- package/dist/components/Timeline/TimelineRotationField.js +22 -34
- package/dist/components/Timeline/TimelineScaleField.js +16 -12
- package/dist/components/Timeline/TimelineScrollable.js +19 -3
- package/dist/components/Timeline/TimelineSelection.d.ts +82 -3
- package/dist/components/Timeline/TimelineSelection.js +312 -30
- package/dist/components/Timeline/TimelineSequence.js +23 -15
- package/dist/components/Timeline/TimelineSequenceItem.js +48 -73
- package/dist/components/Timeline/TimelineSequenceName.js +3 -17
- package/dist/components/Timeline/TimelineSequencePropItem.js +37 -37
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +5 -5
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +46 -44
- package/dist/components/Timeline/TimelineTimeIndicators.js +4 -2
- package/dist/components/Timeline/TimelineTransformOriginField.d.ts +11 -0
- package/dist/components/Timeline/TimelineTransformOriginField.js +138 -0
- package/dist/components/Timeline/TimelineTranslateField.js +24 -19
- package/dist/components/Timeline/TimelineUvCoordinateField.js +18 -12
- package/dist/components/Timeline/{apply-effect-response-to-code-values.d.ts → apply-effect-response-to-prop-statuses.d.ts} +1 -1
- package/dist/components/Timeline/{apply-effect-response-to-code-values.js → apply-effect-response-to-prop-statuses.js} +3 -3
- package/dist/components/Timeline/call-add-keyframe.d.ts +22 -5
- package/dist/components/Timeline/call-add-keyframe.js +71 -7
- package/dist/components/Timeline/call-delete-keyframe.d.ts +7 -7
- package/dist/components/Timeline/call-delete-keyframe.js +7 -7
- package/dist/components/Timeline/call-move-keyframe.d.ts +3 -3
- package/dist/components/Timeline/call-move-keyframe.js +3 -3
- package/dist/components/Timeline/call-update-keyframe-settings.d.ts +5 -5
- package/dist/components/Timeline/call-update-keyframe-settings.js +6 -6
- package/dist/components/Timeline/delete-selected-keyframe.d.ts +5 -5
- package/dist/components/Timeline/delete-selected-keyframe.js +5 -5
- package/dist/components/Timeline/delete-selected-timeline-item.d.ts +5 -5
- package/dist/components/Timeline/delete-selected-timeline-item.js +28 -16
- package/dist/components/Timeline/get-node-keyframes.d.ts +3 -3
- package/dist/components/Timeline/get-node-keyframes.js +4 -4
- package/dist/components/Timeline/get-timeline-easing-segments.d.ts +9 -0
- package/dist/components/Timeline/get-timeline-easing-segments.js +19 -0
- package/dist/components/Timeline/reset-selected-timeline-props.d.ts +7 -7
- package/dist/components/Timeline/reset-selected-timeline-props.js +23 -15
- package/dist/components/Timeline/save-effect-prop.d.ts +2 -2
- package/dist/components/Timeline/save-effect-prop.js +5 -5
- package/dist/components/Timeline/save-prop-queue.d.ts +3 -3
- package/dist/components/Timeline/save-prop-queue.js +3 -3
- package/dist/components/Timeline/save-sequence-prop.d.ts +3 -3
- package/dist/components/Timeline/save-sequence-prop.js +4 -4
- package/dist/components/Timeline/timeline-field-utils.d.ts +10 -0
- package/dist/components/Timeline/timeline-field-utils.js +26 -5
- package/dist/components/Timeline/timeline-rotation-utils.d.ts +2 -0
- package/dist/components/Timeline/timeline-rotation-utils.js +32 -0
- package/dist/components/Timeline/timeline-translate-utils.d.ts +1 -1
- package/dist/components/Timeline/timeline-translate-utils.js +4 -5
- package/dist/components/Timeline/transform-origin-utils.d.ts +24 -0
- package/dist/components/Timeline/transform-origin-utils.js +170 -0
- package/dist/components/Timeline/update-selected-easing.d.ts +35 -0
- package/dist/components/Timeline/update-selected-easing.js +133 -0
- package/dist/components/Timeline/use-expanded-track-keyframe-rows.d.ts +1 -0
- package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +35 -7
- package/dist/components/Timeline/use-sequence-props-subscription.js +3 -3
- package/dist/components/Timeline/use-timeline-height.js +3 -3
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +13 -11
- package/dist/components/canvas-capture-enabled.d.ts +1 -0
- package/dist/components/canvas-capture-enabled.js +4 -0
- package/dist/components/effect-drag-and-drop.d.ts +11 -0
- package/dist/components/effect-drag-and-drop.js +73 -0
- package/dist/components/import-assets.d.ts +15 -0
- package/dist/components/import-assets.js +63 -1
- package/dist/components/selected-outline-geometry.d.ts +20 -0
- package/dist/components/selected-outline-geometry.js +18 -0
- package/dist/components/selected-outline-uv.d.ts +46 -0
- package/dist/components/selected-outline-uv.js +240 -0
- package/dist/esm/{chunk-q0jkt0zq.js → chunk-qaqqvw4q.js} +8096 -5307
- package/dist/esm/internals.mjs +8096 -5307
- package/dist/esm/previewEntry.mjs +8106 -5317
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/colors.d.ts +0 -1
- package/dist/helpers/colors.js +1 -2
- package/dist/helpers/timeline-layout.d.ts +6 -6
- package/dist/helpers/timeline-layout.js +5 -5
- package/dist/state/modals.d.ts +2 -4
- package/package.json +11 -10
- package/dist/components/NewComposition/DeleteStaticFile.d.ts +0 -4
- package/dist/components/NewComposition/DeleteStaticFile.js +0 -44
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.callAddEffectKeyframe = exports.callAddSequenceKeyframe = void 0;
|
|
3
|
+
exports.callAddEffectKeyframe = exports.callAddKeyframes = exports.callAddSequenceKeyframe = void 0;
|
|
4
4
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
5
5
|
const call_api_1 = require("../call-api");
|
|
6
|
-
const
|
|
6
|
+
const apply_effect_response_to_prop_statuses_1 = require("./apply-effect-response-to-prop-statuses");
|
|
7
7
|
const save_prop_queue_1 = require("./save-prop-queue");
|
|
8
|
-
const
|
|
8
|
+
const groupByNodePath = (keyframes) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const groups = new Map();
|
|
11
|
+
for (const keyframe of keyframes) {
|
|
12
|
+
const key = JSON.stringify(keyframe.nodePath);
|
|
13
|
+
const group = (_a = groups.get(key)) !== null && _a !== void 0 ? _a : [];
|
|
14
|
+
group.push(keyframe);
|
|
15
|
+
groups.set(key, group);
|
|
16
|
+
}
|
|
17
|
+
return [...groups.values()];
|
|
18
|
+
};
|
|
19
|
+
const callAddSequenceKeyframe = ({ fileName, nodePath, fieldKey, sourceFrame, value, schema, setPropStatuses, clientId, }) => {
|
|
9
20
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
10
21
|
nodePath,
|
|
11
|
-
|
|
22
|
+
setPropStatuses,
|
|
12
23
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticAddSequenceKeyframe)({
|
|
13
24
|
previous: prev,
|
|
14
25
|
fieldKey,
|
|
@@ -29,10 +40,63 @@ const callAddSequenceKeyframe = ({ fileName, nodePath, fieldKey, sourceFrame, va
|
|
|
29
40
|
});
|
|
30
41
|
};
|
|
31
42
|
exports.callAddSequenceKeyframe = callAddSequenceKeyframe;
|
|
32
|
-
const
|
|
43
|
+
const callAddKeyframes = ({ sequenceKeyframes, effectKeyframes, setPropStatuses, clientId, }) => {
|
|
44
|
+
if (sequenceKeyframes.length === 0 && effectKeyframes.length === 0) {
|
|
45
|
+
return Promise.resolve();
|
|
46
|
+
}
|
|
47
|
+
for (const keyframes of groupByNodePath(sequenceKeyframes)) {
|
|
48
|
+
const [firstKeyframe] = keyframes;
|
|
49
|
+
if (!firstKeyframe) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => keyframes.reduce((current, keyframe) => (0, studio_shared_1.optimisticAddSequenceKeyframe)({
|
|
53
|
+
previous: current,
|
|
54
|
+
fieldKey: keyframe.fieldKey,
|
|
55
|
+
frame: keyframe.sourceFrame,
|
|
56
|
+
value: keyframe.value,
|
|
57
|
+
schema: keyframe.schema,
|
|
58
|
+
}), prev));
|
|
59
|
+
}
|
|
60
|
+
for (const keyframes of groupByNodePath(effectKeyframes)) {
|
|
61
|
+
const [firstKeyframe] = keyframes;
|
|
62
|
+
if (!firstKeyframe) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => keyframes.reduce((current, keyframe) => (0, studio_shared_1.optimisticAddEffectKeyframe)({
|
|
66
|
+
previous: current,
|
|
67
|
+
effectIndex: keyframe.effectIndex,
|
|
68
|
+
fieldKey: keyframe.fieldKey,
|
|
69
|
+
frame: keyframe.sourceFrame,
|
|
70
|
+
value: keyframe.value,
|
|
71
|
+
schema: keyframe.schema,
|
|
72
|
+
}), prev));
|
|
73
|
+
}
|
|
74
|
+
return (0, call_api_1.callApi)('/api/add-keyframes', {
|
|
75
|
+
sequenceKeyframes: sequenceKeyframes.map((keyframe) => ({
|
|
76
|
+
fileName: keyframe.fileName,
|
|
77
|
+
nodePath: keyframe.nodePath,
|
|
78
|
+
key: keyframe.fieldKey,
|
|
79
|
+
frame: keyframe.sourceFrame,
|
|
80
|
+
value: JSON.stringify(keyframe.value),
|
|
81
|
+
schema: keyframe.schema,
|
|
82
|
+
})),
|
|
83
|
+
effectKeyframes: effectKeyframes.map((keyframe) => ({
|
|
84
|
+
fileName: keyframe.fileName,
|
|
85
|
+
sequenceNodePath: keyframe.nodePath,
|
|
86
|
+
effectIndex: keyframe.effectIndex,
|
|
87
|
+
key: keyframe.fieldKey,
|
|
88
|
+
frame: keyframe.sourceFrame,
|
|
89
|
+
value: JSON.stringify(keyframe.value),
|
|
90
|
+
schema: keyframe.schema,
|
|
91
|
+
})),
|
|
92
|
+
clientId,
|
|
93
|
+
}).then(() => undefined);
|
|
94
|
+
};
|
|
95
|
+
exports.callAddKeyframes = callAddKeyframes;
|
|
96
|
+
const callAddEffectKeyframe = ({ fileName, nodePath, effectIndex, fieldKey, sourceFrame, value, schema, setPropStatuses, clientId, }) => {
|
|
33
97
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
34
98
|
nodePath,
|
|
35
|
-
|
|
99
|
+
setPropStatuses,
|
|
36
100
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticAddEffectKeyframe)({
|
|
37
101
|
previous: prev,
|
|
38
102
|
effectIndex,
|
|
@@ -41,7 +105,7 @@ const callAddEffectKeyframe = ({ fileName, nodePath, effectIndex, fieldKey, sour
|
|
|
41
105
|
value,
|
|
42
106
|
schema,
|
|
43
107
|
}),
|
|
44
|
-
applyServerResponse: (prev, response) => (0,
|
|
108
|
+
applyServerResponse: (prev, response) => (0, apply_effect_response_to_prop_statuses_1.applyEffectResponseToPropStatuses)({ previous: prev, response }),
|
|
45
109
|
apiCall: () => (0, call_api_1.callApi)('/api/add-effect-keyframe', {
|
|
46
110
|
fileName,
|
|
47
111
|
sequenceNodePath: nodePath,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SequencePropsSubscriptionKey, SequenceSchema } from 'remotion';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
3
3
|
export type DeleteSequenceKeyframeChange = {
|
|
4
4
|
fileName: string;
|
|
5
5
|
nodePath: SequencePropsSubscriptionKey;
|
|
@@ -10,28 +10,28 @@ export type DeleteSequenceKeyframeChange = {
|
|
|
10
10
|
export type DeleteEffectKeyframeChange = DeleteSequenceKeyframeChange & {
|
|
11
11
|
effectIndex: number;
|
|
12
12
|
};
|
|
13
|
-
export declare const callDeleteSequenceKeyframe: ({ fileName, nodePath, fieldKey, sourceFrame, schema,
|
|
13
|
+
export declare const callDeleteSequenceKeyframe: ({ fileName, nodePath, fieldKey, sourceFrame, schema, setPropStatuses, clientId, }: {
|
|
14
14
|
fileName: string;
|
|
15
15
|
nodePath: SequencePropsSubscriptionKey;
|
|
16
16
|
fieldKey: string;
|
|
17
17
|
sourceFrame: number;
|
|
18
18
|
schema: SequenceSchema;
|
|
19
|
-
|
|
19
|
+
setPropStatuses: SetPropStatuses;
|
|
20
20
|
clientId: string;
|
|
21
21
|
}) => Promise<void>;
|
|
22
|
-
export declare const callDeleteEffectKeyframe: ({ fileName, nodePath, effectIndex, fieldKey, sourceFrame, schema,
|
|
22
|
+
export declare const callDeleteEffectKeyframe: ({ fileName, nodePath, effectIndex, fieldKey, sourceFrame, schema, setPropStatuses, clientId, }: {
|
|
23
23
|
fileName: string;
|
|
24
24
|
nodePath: SequencePropsSubscriptionKey;
|
|
25
25
|
effectIndex: number;
|
|
26
26
|
fieldKey: string;
|
|
27
27
|
sourceFrame: number;
|
|
28
28
|
schema: SequenceSchema;
|
|
29
|
-
|
|
29
|
+
setPropStatuses: SetPropStatuses;
|
|
30
30
|
clientId: string;
|
|
31
31
|
}) => Promise<void>;
|
|
32
|
-
export declare const callDeleteKeyframes: ({ sequenceKeyframes, effectKeyframes,
|
|
32
|
+
export declare const callDeleteKeyframes: ({ sequenceKeyframes, effectKeyframes, setPropStatuses, clientId, }: {
|
|
33
33
|
sequenceKeyframes: DeleteSequenceKeyframeChange[];
|
|
34
34
|
effectKeyframes: DeleteEffectKeyframeChange[];
|
|
35
|
-
|
|
35
|
+
setPropStatuses: SetPropStatuses;
|
|
36
36
|
clientId: string;
|
|
37
37
|
}) => Promise<void>;
|
|
@@ -15,10 +15,10 @@ const groupByNodePath = (keyframes) => {
|
|
|
15
15
|
}
|
|
16
16
|
return [...groups.values()];
|
|
17
17
|
};
|
|
18
|
-
const callDeleteSequenceKeyframe = ({ fileName, nodePath, fieldKey, sourceFrame, schema,
|
|
18
|
+
const callDeleteSequenceKeyframe = ({ fileName, nodePath, fieldKey, sourceFrame, schema, setPropStatuses, clientId, }) => {
|
|
19
19
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
20
20
|
nodePath,
|
|
21
|
-
|
|
21
|
+
setPropStatuses,
|
|
22
22
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticDeleteSequenceKeyframe)({
|
|
23
23
|
previous: prev,
|
|
24
24
|
fieldKey,
|
|
@@ -41,10 +41,10 @@ const callDeleteSequenceKeyframe = ({ fileName, nodePath, fieldKey, sourceFrame,
|
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
43
|
exports.callDeleteSequenceKeyframe = callDeleteSequenceKeyframe;
|
|
44
|
-
const callDeleteEffectKeyframe = ({ fileName, nodePath, effectIndex, fieldKey, sourceFrame, schema,
|
|
44
|
+
const callDeleteEffectKeyframe = ({ fileName, nodePath, effectIndex, fieldKey, sourceFrame, schema, setPropStatuses, clientId, }) => {
|
|
45
45
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
46
46
|
nodePath,
|
|
47
|
-
|
|
47
|
+
setPropStatuses,
|
|
48
48
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticDeleteEffectKeyframe)({
|
|
49
49
|
previous: prev,
|
|
50
50
|
effectIndex,
|
|
@@ -69,7 +69,7 @@ const callDeleteEffectKeyframe = ({ fileName, nodePath, effectIndex, fieldKey, s
|
|
|
69
69
|
});
|
|
70
70
|
};
|
|
71
71
|
exports.callDeleteEffectKeyframe = callDeleteEffectKeyframe;
|
|
72
|
-
const callDeleteKeyframes = ({ sequenceKeyframes, effectKeyframes,
|
|
72
|
+
const callDeleteKeyframes = ({ sequenceKeyframes, effectKeyframes, setPropStatuses, clientId, }) => {
|
|
73
73
|
if (sequenceKeyframes.length === 0 && effectKeyframes.length === 0) {
|
|
74
74
|
return Promise.resolve();
|
|
75
75
|
}
|
|
@@ -78,7 +78,7 @@ const callDeleteKeyframes = ({ sequenceKeyframes, effectKeyframes, setCodeValues
|
|
|
78
78
|
if (!firstKeyframe) {
|
|
79
79
|
continue;
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => (0, studio_shared_1.optimisticDeleteSequenceKeyframes)({
|
|
82
82
|
previous: prev,
|
|
83
83
|
keyframes: keyframes.map((keyframe) => ({
|
|
84
84
|
fieldKey: keyframe.fieldKey,
|
|
@@ -91,7 +91,7 @@ const callDeleteKeyframes = ({ sequenceKeyframes, effectKeyframes, setCodeValues
|
|
|
91
91
|
if (!firstKeyframe) {
|
|
92
92
|
continue;
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => (0, studio_shared_1.optimisticDeleteEffectKeyframes)({
|
|
95
95
|
previous: prev,
|
|
96
96
|
keyframes: keyframes.map((keyframe) => ({
|
|
97
97
|
effectIndex: keyframe.effectIndex,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SequencePropsSubscriptionKey, SequenceSchema } from 'remotion';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
3
3
|
export type MoveSequenceKeyframeChange = {
|
|
4
4
|
fileName: string;
|
|
5
5
|
nodePath: SequencePropsSubscriptionKey;
|
|
@@ -11,9 +11,9 @@ export type MoveSequenceKeyframeChange = {
|
|
|
11
11
|
export type MoveEffectKeyframeChange = MoveSequenceKeyframeChange & {
|
|
12
12
|
effectIndex: number;
|
|
13
13
|
};
|
|
14
|
-
export declare const callMoveKeyframes: ({ sequenceKeyframes, effectKeyframes,
|
|
14
|
+
export declare const callMoveKeyframes: ({ sequenceKeyframes, effectKeyframes, setPropStatuses, clientId, }: {
|
|
15
15
|
sequenceKeyframes: MoveSequenceKeyframeChange[];
|
|
16
16
|
effectKeyframes: MoveEffectKeyframeChange[];
|
|
17
|
-
|
|
17
|
+
setPropStatuses: SetPropStatuses;
|
|
18
18
|
clientId: string;
|
|
19
19
|
}) => Promise<void>;
|
|
@@ -14,7 +14,7 @@ const groupByNodePath = (keyframes) => {
|
|
|
14
14
|
}
|
|
15
15
|
return [...groups.values()];
|
|
16
16
|
};
|
|
17
|
-
const callMoveKeyframes = ({ sequenceKeyframes, effectKeyframes,
|
|
17
|
+
const callMoveKeyframes = ({ sequenceKeyframes, effectKeyframes, setPropStatuses, clientId, }) => {
|
|
18
18
|
if (sequenceKeyframes.length === 0 && effectKeyframes.length === 0) {
|
|
19
19
|
return Promise.resolve();
|
|
20
20
|
}
|
|
@@ -23,7 +23,7 @@ const callMoveKeyframes = ({ sequenceKeyframes, effectKeyframes, setCodeValues,
|
|
|
23
23
|
if (!firstKeyframe) {
|
|
24
24
|
continue;
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => (0, studio_shared_1.optimisticMoveSequenceKeyframes)({
|
|
27
27
|
previous: prev,
|
|
28
28
|
keyframes: keyframes.map((keyframe) => ({
|
|
29
29
|
fieldKey: keyframe.fieldKey,
|
|
@@ -37,7 +37,7 @@ const callMoveKeyframes = ({ sequenceKeyframes, effectKeyframes, setCodeValues,
|
|
|
37
37
|
if (!firstKeyframe) {
|
|
38
38
|
continue;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
setPropStatuses(firstKeyframe.nodePath, (prev) => (0, studio_shared_1.optimisticMoveEffectKeyframes)({
|
|
41
41
|
previous: prev,
|
|
42
42
|
keyframes: keyframes.map((keyframe) => ({
|
|
43
43
|
effectIndex: keyframe.effectIndex,
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { type KeyframeSettings } from '@remotion/studio-shared';
|
|
2
2
|
import type { SequencePropsSubscriptionKey, SequenceSchema } from 'remotion';
|
|
3
|
-
import type {
|
|
4
|
-
export declare const callUpdateSequenceKeyframeSettings: ({ fileName, nodePath, fieldKey, settings, schema,
|
|
3
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
4
|
+
export declare const callUpdateSequenceKeyframeSettings: ({ fileName, nodePath, fieldKey, settings, schema, setPropStatuses, clientId, }: {
|
|
5
5
|
fileName: string;
|
|
6
6
|
nodePath: SequencePropsSubscriptionKey;
|
|
7
7
|
fieldKey: string;
|
|
8
8
|
settings: KeyframeSettings;
|
|
9
9
|
schema: SequenceSchema;
|
|
10
|
-
|
|
10
|
+
setPropStatuses: SetPropStatuses;
|
|
11
11
|
clientId: string;
|
|
12
12
|
}) => Promise<void>;
|
|
13
|
-
export declare const callUpdateEffectKeyframeSettings: ({ fileName, nodePath, effectIndex, fieldKey, settings, schema,
|
|
13
|
+
export declare const callUpdateEffectKeyframeSettings: ({ fileName, nodePath, effectIndex, fieldKey, settings, schema, setPropStatuses, clientId, }: {
|
|
14
14
|
fileName: string;
|
|
15
15
|
nodePath: SequencePropsSubscriptionKey;
|
|
16
16
|
effectIndex: number;
|
|
17
17
|
fieldKey: string;
|
|
18
18
|
settings: KeyframeSettings;
|
|
19
19
|
schema: SequenceSchema;
|
|
20
|
-
|
|
20
|
+
setPropStatuses: SetPropStatuses;
|
|
21
21
|
clientId: string;
|
|
22
22
|
}) => Promise<void>;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.callUpdateEffectKeyframeSettings = exports.callUpdateSequenceKeyframeSettings = void 0;
|
|
4
4
|
const studio_shared_1 = require("@remotion/studio-shared");
|
|
5
5
|
const call_api_1 = require("../call-api");
|
|
6
|
-
const
|
|
6
|
+
const apply_effect_response_to_prop_statuses_1 = require("./apply-effect-response-to-prop-statuses");
|
|
7
7
|
const save_prop_queue_1 = require("./save-prop-queue");
|
|
8
|
-
const callUpdateSequenceKeyframeSettings = ({ fileName, nodePath, fieldKey, settings, schema,
|
|
8
|
+
const callUpdateSequenceKeyframeSettings = ({ fileName, nodePath, fieldKey, settings, schema, setPropStatuses, clientId, }) => {
|
|
9
9
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
10
10
|
nodePath,
|
|
11
|
-
|
|
11
|
+
setPropStatuses,
|
|
12
12
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticUpdateSequenceKeyframeSettings)({
|
|
13
13
|
previous: prev,
|
|
14
14
|
fieldKey,
|
|
@@ -26,17 +26,17 @@ const callUpdateSequenceKeyframeSettings = ({ fileName, nodePath, fieldKey, sett
|
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
28
|
exports.callUpdateSequenceKeyframeSettings = callUpdateSequenceKeyframeSettings;
|
|
29
|
-
const callUpdateEffectKeyframeSettings = ({ fileName, nodePath, effectIndex, fieldKey, settings, schema,
|
|
29
|
+
const callUpdateEffectKeyframeSettings = ({ fileName, nodePath, effectIndex, fieldKey, settings, schema, setPropStatuses, clientId, }) => {
|
|
30
30
|
return (0, save_prop_queue_1.enqueueSavePropChange)({
|
|
31
31
|
nodePath,
|
|
32
|
-
|
|
32
|
+
setPropStatuses,
|
|
33
33
|
applyOptimistic: (prev) => (0, studio_shared_1.optimisticUpdateEffectKeyframeSettings)({
|
|
34
34
|
previous: prev,
|
|
35
35
|
effectIndex,
|
|
36
36
|
fieldKey,
|
|
37
37
|
settings,
|
|
38
38
|
}),
|
|
39
|
-
applyServerResponse: (prev, response) => (0,
|
|
39
|
+
applyServerResponse: (prev, response) => (0, apply_effect_response_to_prop_statuses_1.applyEffectResponseToPropStatuses)({ previous: prev, response }),
|
|
40
40
|
apiCall: () => (0, call_api_1.callApi)('/api/update-effect-keyframe-settings', {
|
|
41
41
|
fileName,
|
|
42
42
|
sequenceNodePath: nodePath,
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import type { OverrideIdToNodePaths, TSequence } from 'remotion';
|
|
2
2
|
import type { SequenceNodePathInfo } from '../../helpers/get-timeline-sequence-sort-key';
|
|
3
|
-
import type {
|
|
4
|
-
export declare const deleteSelectedKeyframe: ({ nodePathInfo, frame, sequences, overrideIdsToNodePaths,
|
|
3
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
4
|
+
export declare const deleteSelectedKeyframe: ({ nodePathInfo, frame, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, }: {
|
|
5
5
|
nodePathInfo: SequenceNodePathInfo;
|
|
6
6
|
frame: number;
|
|
7
7
|
sequences: TSequence[];
|
|
8
8
|
overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
9
|
-
|
|
9
|
+
setPropStatuses: SetPropStatuses;
|
|
10
10
|
clientId: string;
|
|
11
11
|
}) => Promise<void> | null;
|
|
12
|
-
export declare const deleteSelectedKeyframes: ({ keyframes, sequences, overrideIdsToNodePaths,
|
|
12
|
+
export declare const deleteSelectedKeyframes: ({ keyframes, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, }: {
|
|
13
13
|
keyframes: {
|
|
14
14
|
nodePathInfo: SequenceNodePathInfo;
|
|
15
15
|
frame: number;
|
|
16
16
|
}[];
|
|
17
17
|
sequences: TSequence[];
|
|
18
18
|
overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
19
|
-
|
|
19
|
+
setPropStatuses: SetPropStatuses;
|
|
20
20
|
clientId: string;
|
|
21
21
|
}) => Promise<void> | null;
|
|
@@ -46,7 +46,7 @@ const getSelectedKeyframeDeletion = ({ nodePathInfo, frame, sequences, overrideI
|
|
|
46
46
|
schema: sequence.controls.schema,
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
|
-
const deleteSelectedKeyframe = ({ nodePathInfo, frame, sequences, overrideIdsToNodePaths,
|
|
49
|
+
const deleteSelectedKeyframe = ({ nodePathInfo, frame, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, }) => {
|
|
50
50
|
const deletion = getSelectedKeyframeDeletion({
|
|
51
51
|
nodePathInfo,
|
|
52
52
|
frame,
|
|
@@ -59,18 +59,18 @@ const deleteSelectedKeyframe = ({ nodePathInfo, frame, sequences, overrideIdsToN
|
|
|
59
59
|
if (deletion.type === 'effect') {
|
|
60
60
|
return (0, call_delete_keyframe_1.callDeleteEffectKeyframe)({
|
|
61
61
|
...deletion,
|
|
62
|
-
|
|
62
|
+
setPropStatuses,
|
|
63
63
|
clientId,
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
return (0, call_delete_keyframe_1.callDeleteSequenceKeyframe)({
|
|
67
67
|
...deletion,
|
|
68
|
-
|
|
68
|
+
setPropStatuses,
|
|
69
69
|
clientId,
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
72
|
exports.deleteSelectedKeyframe = deleteSelectedKeyframe;
|
|
73
|
-
const deleteSelectedKeyframes = ({ keyframes, sequences, overrideIdsToNodePaths,
|
|
73
|
+
const deleteSelectedKeyframes = ({ keyframes, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, }) => {
|
|
74
74
|
const deletions = keyframes
|
|
75
75
|
.map((keyframe) => getSelectedKeyframeDeletion({
|
|
76
76
|
nodePathInfo: keyframe.nodePathInfo,
|
|
@@ -85,7 +85,7 @@ const deleteSelectedKeyframes = ({ keyframes, sequences, overrideIdsToNodePaths,
|
|
|
85
85
|
return (0, call_delete_keyframe_1.callDeleteKeyframes)({
|
|
86
86
|
sequenceKeyframes: deletions.filter((deletion) => deletion.type === 'sequence'),
|
|
87
87
|
effectKeyframes: deletions.filter((deletion) => deletion.type === 'effect'),
|
|
88
|
-
|
|
88
|
+
setPropStatuses,
|
|
89
89
|
clientId,
|
|
90
90
|
});
|
|
91
91
|
};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import type { OverrideIdToNodePaths, TSequence } from 'remotion';
|
|
2
2
|
import type { ConfirmationDialogFunction } from '../ConfirmationDialog-types';
|
|
3
|
-
import type {
|
|
3
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
4
4
|
import type { TimelineSelection } from './TimelineSelection';
|
|
5
|
-
export declare const deleteSelectedTimelineItem: ({ selection, sequences, overrideIdsToNodePaths,
|
|
5
|
+
export declare const deleteSelectedTimelineItem: ({ selection, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, confirm, }: {
|
|
6
6
|
selection: TimelineSelection;
|
|
7
7
|
sequences: TSequence[];
|
|
8
8
|
overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
9
|
-
|
|
9
|
+
setPropStatuses: SetPropStatuses;
|
|
10
10
|
clientId: string;
|
|
11
11
|
confirm: ConfirmationDialogFunction;
|
|
12
12
|
}) => Promise<boolean> | null;
|
|
13
|
-
export declare const deleteSelectedTimelineItems: ({ selections, sequences, overrideIdsToNodePaths,
|
|
13
|
+
export declare const deleteSelectedTimelineItems: ({ selections, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, confirm, }: {
|
|
14
14
|
selections: readonly TimelineSelection[];
|
|
15
15
|
sequences: TSequence[];
|
|
16
16
|
overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
17
|
-
|
|
17
|
+
setPropStatuses: SetPropStatuses;
|
|
18
18
|
clientId: string;
|
|
19
19
|
confirm: ConfirmationDialogFunction;
|
|
20
20
|
}) => Promise<boolean> | null;
|
|
@@ -93,7 +93,7 @@ const deleteEffects = (effects) => {
|
|
|
93
93
|
return true;
|
|
94
94
|
});
|
|
95
95
|
};
|
|
96
|
-
const deleteSelectedTimelineItem = ({ selection, sequences, overrideIdsToNodePaths,
|
|
96
|
+
const deleteSelectedTimelineItem = ({ selection, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, confirm, }) => {
|
|
97
97
|
var _a;
|
|
98
98
|
if (selection.type === 'keyframe') {
|
|
99
99
|
const promise = (0, delete_selected_keyframe_1.deleteSelectedKeyframe)({
|
|
@@ -101,7 +101,7 @@ const deleteSelectedTimelineItem = ({ selection, sequences, overrideIdsToNodePat
|
|
|
101
101
|
frame: selection.frame,
|
|
102
102
|
sequences,
|
|
103
103
|
overrideIdsToNodePaths,
|
|
104
|
-
|
|
104
|
+
setPropStatuses,
|
|
105
105
|
clientId,
|
|
106
106
|
});
|
|
107
107
|
return (_a = promise === null || promise === void 0 ? void 0 : promise.then(() => true)) !== null && _a !== void 0 ? _a : null;
|
|
@@ -119,6 +119,7 @@ const deleteSelectedTimelineItem = ({ selection, sequences, overrideIdsToNodePat
|
|
|
119
119
|
]);
|
|
120
120
|
case 'sequence-prop':
|
|
121
121
|
case 'sequence-effect-prop':
|
|
122
|
+
case 'easing':
|
|
122
123
|
return null;
|
|
123
124
|
case 'sequence-all-effects':
|
|
124
125
|
return deleteEffects([
|
|
@@ -133,6 +134,7 @@ const isSequenceRowSelection = (selection) => selection.type === 'sequence';
|
|
|
133
134
|
const isSequenceEffectSelection = (selection) => selection.type === 'sequence-effect';
|
|
134
135
|
const isSequenceAllEffectsSelection = (selection) => selection.type === 'sequence-all-effects';
|
|
135
136
|
const isKeyframeSelection = (selection) => selection.type === 'keyframe';
|
|
137
|
+
const areSelectionsOnlyOfType = (selections, type) => selections.every((selection) => selection.type === type);
|
|
136
138
|
const assertTimelineSelectionsHaveSameType = (selections) => {
|
|
137
139
|
const firstSelection = selections[0];
|
|
138
140
|
if (!firstSelection) {
|
|
@@ -144,12 +146,33 @@ const assertTimelineSelectionsHaveSameType = (selections) => {
|
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
};
|
|
147
|
-
const
|
|
149
|
+
const containsOnlyKeyframesAndEasings = (selections) => selections.every((selection) => selection.type === 'keyframe' || selection.type === 'easing');
|
|
150
|
+
const deleteSelectedTimelineItems = ({ selections, sequences, overrideIdsToNodePaths, setPropStatuses, clientId, confirm, }) => {
|
|
148
151
|
var _a;
|
|
149
152
|
const firstSelection = selections[0];
|
|
150
153
|
if (!firstSelection) {
|
|
151
154
|
return null;
|
|
152
155
|
}
|
|
156
|
+
if (containsOnlyKeyframesAndEasings(selections)) {
|
|
157
|
+
const keyframes = selections.filter(isKeyframeSelection);
|
|
158
|
+
if (keyframes.length === 0) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
const promise = (0, delete_selected_keyframe_1.deleteSelectedKeyframes)({
|
|
162
|
+
keyframes: keyframes.map((selection) => ({
|
|
163
|
+
nodePathInfo: selection.nodePathInfo,
|
|
164
|
+
frame: selection.frame,
|
|
165
|
+
})),
|
|
166
|
+
sequences,
|
|
167
|
+
overrideIdsToNodePaths,
|
|
168
|
+
setPropStatuses,
|
|
169
|
+
clientId,
|
|
170
|
+
});
|
|
171
|
+
return (_a = promise === null || promise === void 0 ? void 0 : promise.then(() => true)) !== null && _a !== void 0 ? _a : null;
|
|
172
|
+
}
|
|
173
|
+
if (!areSelectionsOnlyOfType(selections, firstSelection.type)) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
153
176
|
assertTimelineSelectionsHaveSameType(selections);
|
|
154
177
|
switch (firstSelection.type) {
|
|
155
178
|
case 'sequence':
|
|
@@ -162,21 +185,10 @@ const deleteSelectedTimelineItems = ({ selections, sequences, overrideIdsToNodeP
|
|
|
162
185
|
nodePathInfo: selection.nodePathInfo,
|
|
163
186
|
effectIndex: selection.i,
|
|
164
187
|
})));
|
|
165
|
-
case 'keyframe':
|
|
166
|
-
const promise = (0, delete_selected_keyframe_1.deleteSelectedKeyframes)({
|
|
167
|
-
keyframes: selections.filter(isKeyframeSelection).map((selection) => ({
|
|
168
|
-
nodePathInfo: selection.nodePathInfo,
|
|
169
|
-
frame: selection.frame,
|
|
170
|
-
})),
|
|
171
|
-
sequences,
|
|
172
|
-
overrideIdsToNodePaths,
|
|
173
|
-
setCodeValues,
|
|
174
|
-
clientId,
|
|
175
|
-
});
|
|
176
|
-
return (_a = promise === null || promise === void 0 ? void 0 : promise.then(() => true)) !== null && _a !== void 0 ? _a : null;
|
|
177
|
-
}
|
|
188
|
+
case 'keyframe':
|
|
178
189
|
case 'sequence-prop':
|
|
179
190
|
case 'sequence-effect-prop':
|
|
191
|
+
case 'easing':
|
|
180
192
|
return null;
|
|
181
193
|
case 'sequence-all-effects':
|
|
182
194
|
return deleteEffects(selections.filter(isSequenceAllEffectsSelection).map((selection) => ({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type GetDragOverrides, type GetEffectDragOverrides, type PropStatuses, type SequencePropsSubscriptionKey } from 'remotion';
|
|
2
2
|
import type { TimelineTreeNode } from '../../helpers/timeline-layout';
|
|
3
|
-
export declare const getNodeKeyframes: ({ node, nodePath,
|
|
3
|
+
export declare const getNodeKeyframes: ({ node, nodePath, propStatuses, keyframeDisplayOffset, getDragOverrides, getEffectDragOverrides, timelinePosition, }: {
|
|
4
4
|
node: TimelineTreeNode;
|
|
5
5
|
nodePath: SequencePropsSubscriptionKey;
|
|
6
|
-
|
|
6
|
+
propStatuses: PropStatuses;
|
|
7
7
|
keyframeDisplayOffset: number;
|
|
8
8
|
getDragOverrides: GetDragOverrides;
|
|
9
9
|
getEffectDragOverrides: GetEffectDragOverrides;
|
|
@@ -22,7 +22,7 @@ const withDragOverrideKeyframe = ({ propStatus, keyframeDisplayOffset, timelineP
|
|
|
22
22
|
}
|
|
23
23
|
return [...keyframes, dragKeyframe].sort((first, second) => first.frame - second.frame);
|
|
24
24
|
};
|
|
25
|
-
const getNodeKeyframes = ({ node, nodePath,
|
|
25
|
+
const getNodeKeyframes = ({ node, nodePath, propStatuses, keyframeDisplayOffset, getDragOverrides, getEffectDragOverrides, timelinePosition, }) => {
|
|
26
26
|
var _a, _b;
|
|
27
27
|
if (node.kind !== 'field' || node.field === null) {
|
|
28
28
|
return [];
|
|
@@ -30,15 +30,15 @@ const getNodeKeyframes = ({ node, nodePath, codeValues, keyframeDisplayOffset, g
|
|
|
30
30
|
if (node.field.kind === 'sequence-field') {
|
|
31
31
|
const dragOverrides = getDragOverrides(nodePath);
|
|
32
32
|
return withDragOverrideKeyframe({
|
|
33
|
-
propStatus: (_a = remotion_1.Internals.
|
|
33
|
+
propStatus: (_a = remotion_1.Internals.getPropStatusesCtx(propStatuses, nodePath)) === null || _a === void 0 ? void 0 : _a[node.field.key],
|
|
34
34
|
keyframeDisplayOffset,
|
|
35
35
|
timelinePosition,
|
|
36
36
|
dragOverrideValue: dragOverrides[node.field.key],
|
|
37
37
|
hasDragOverride: hasOverride(dragOverrides, node.field.key),
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
const effectStatus = remotion_1.Internals.
|
|
41
|
-
|
|
40
|
+
const effectStatus = remotion_1.Internals.getEffectPropStatusesCtx({
|
|
41
|
+
propStatuses,
|
|
42
42
|
nodePath,
|
|
43
43
|
effectIndex: node.field.effectIndex,
|
|
44
44
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type TimelineEasingSegment = {
|
|
2
|
+
readonly fromFrame: number;
|
|
3
|
+
readonly toFrame: number;
|
|
4
|
+
readonly segmentIndex: number;
|
|
5
|
+
};
|
|
6
|
+
export declare const getTimelineEasingSegments: (keyframes: {
|
|
7
|
+
frame: number;
|
|
8
|
+
value: unknown;
|
|
9
|
+
}[]) => TimelineEasingSegment[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTimelineEasingSegments = void 0;
|
|
4
|
+
const getTimelineEasingSegments = (keyframes) => {
|
|
5
|
+
return keyframes.flatMap((keyframe, index) => {
|
|
6
|
+
const nextKeyframe = keyframes[index + 1];
|
|
7
|
+
if (!nextKeyframe) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
return [
|
|
11
|
+
{
|
|
12
|
+
fromFrame: keyframe.frame,
|
|
13
|
+
toFrame: nextKeyframe.frame,
|
|
14
|
+
segmentIndex: index,
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.getTimelineEasingSegments = getTimelineEasingSegments;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { OverrideIdToNodePaths, PropStatuses, SequencePropsSubscriptionKey, SequenceSchema, TSequence } from 'remotion';
|
|
2
|
+
import type { SetPropStatuses } from './save-sequence-prop';
|
|
3
3
|
import type { TimelineSelection } from './TimelineSelection';
|
|
4
4
|
type SequencePropResetTarget = {
|
|
5
5
|
readonly type: 'sequence-prop';
|
|
@@ -21,18 +21,18 @@ type EffectPropResetTarget = {
|
|
|
21
21
|
readonly schema: SequenceSchema;
|
|
22
22
|
};
|
|
23
23
|
type TimelinePropResetTarget = SequencePropResetTarget | EffectPropResetTarget;
|
|
24
|
-
export declare const getTimelinePropResetTargets: ({ selections, sequences, overrideIdsToNodePaths,
|
|
24
|
+
export declare const getTimelinePropResetTargets: ({ selections, sequences, overrideIdsToNodePaths, propStatuses, }: {
|
|
25
25
|
readonly selections: readonly TimelineSelection[];
|
|
26
26
|
readonly sequences: TSequence[];
|
|
27
27
|
readonly overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
28
|
-
readonly
|
|
28
|
+
readonly propStatuses: PropStatuses;
|
|
29
29
|
}) => TimelinePropResetTarget[] | null;
|
|
30
|
-
export declare const resetSelectedTimelineProps: ({ selections, sequences, overrideIdsToNodePaths,
|
|
30
|
+
export declare const resetSelectedTimelineProps: ({ selections, sequences, overrideIdsToNodePaths, propStatuses, setPropStatuses, clientId, }: {
|
|
31
31
|
readonly selections: readonly TimelineSelection[];
|
|
32
32
|
readonly sequences: TSequence[];
|
|
33
33
|
readonly overrideIdsToNodePaths: OverrideIdToNodePaths;
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
34
|
+
readonly propStatuses: PropStatuses;
|
|
35
|
+
readonly setPropStatuses: SetPropStatuses;
|
|
36
36
|
readonly clientId: string;
|
|
37
37
|
}) => Promise<void> | null;
|
|
38
38
|
export {};
|