@remotion/studio 4.0.474 → 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/Canvas.js +6 -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 -1
- package/dist/components/NewComposition/ComboBox.js +1 -0
- package/dist/components/PreviewToolbar.js +2 -2
- package/dist/components/SelectedOutlineOverlay.d.ts +58 -32
- package/dist/components/SelectedOutlineOverlay.js +766 -315
- 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 +1 -0
- package/dist/components/Timeline/Timeline.js +10 -7
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +64 -35
- package/dist/components/Timeline/TimelineDragHandler.js +2 -2
- package/dist/components/Timeline/TimelineEffectItem.js +1 -2
- package/dist/components/Timeline/TimelineEffectPropItem.js +1 -1
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.d.ts +1 -0
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +2 -2
- 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 +259 -62
- package/dist/components/Timeline/TimelineKeyframeDiamond.js +4 -2
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +128 -3
- package/dist/components/Timeline/TimelineKeyframeTracksContext.d.ts +7 -0
- package/dist/components/Timeline/TimelineKeyframeTracksContext.js +17 -0
- package/dist/components/Timeline/TimelineMediaInfo.js +4 -24
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +4 -0
- package/dist/components/Timeline/TimelineRotationField.js +5 -23
- package/dist/components/Timeline/TimelineScrollable.js +19 -3
- package/dist/components/Timeline/TimelineSelection.d.ts +67 -3
- package/dist/components/Timeline/TimelineSelection.js +289 -32
- package/dist/components/Timeline/TimelineSequence.js +17 -9
- package/dist/components/Timeline/TimelineSequenceItem.js +29 -61
- package/dist/components/Timeline/TimelineSequenceName.js +3 -17
- package/dist/components/Timeline/TimelineSequencePropItem.js +1 -1
- 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/call-add-keyframe.d.ts +17 -0
- package/dist/components/Timeline/call-add-keyframe.js +65 -1
- package/dist/components/Timeline/delete-selected-timeline-item.js +23 -13
- package/dist/components/Timeline/reset-selected-timeline-props.js +13 -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/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 +28 -0
- 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/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-xjvc8qen.js → chunk-qaqqvw4q.js} +7418 -4943
- package/dist/esm/internals.mjs +7418 -4943
- package/dist/esm/previewEntry.mjs +7426 -4951
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/colors.d.ts +0 -1
- package/dist/helpers/colors.js +1 -2
- package/dist/state/modals.d.ts +2 -1
- package/package.json +11 -10
|
@@ -10,6 +10,7 @@ const delete_selected_timeline_item_1 = require("./delete-selected-timeline-item
|
|
|
10
10
|
const duplicate_selected_timeline_item_1 = require("./duplicate-selected-timeline-item");
|
|
11
11
|
const reset_selected_timeline_props_1 = require("./reset-selected-timeline-props");
|
|
12
12
|
const TimelineSelection_1 = require("./TimelineSelection");
|
|
13
|
+
const update_selected_easing_1 = require("./update-selected-easing");
|
|
13
14
|
const TimelineDeleteKeybindings = () => {
|
|
14
15
|
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
15
16
|
const { previewServerState } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
|
|
@@ -17,55 +18,81 @@ const TimelineDeleteKeybindings = () => {
|
|
|
17
18
|
const { overrideIdToNodePathMappings } = (0, react_1.useContext)(remotion_1.Internals.OverrideIdsToNodePathsGettersContext);
|
|
18
19
|
const propStatusesRef = (0, react_1.useContext)(remotion_1.Internals.VisualModePropStatusesRefContext);
|
|
19
20
|
const { setPropStatuses } = (0, react_1.useContext)(remotion_1.Internals.VisualModeSettersContext);
|
|
20
|
-
const { canSelect } = (0, TimelineSelection_1.useTimelineSelection)();
|
|
21
|
+
const { canSelect, canSelectEasing } = (0, TimelineSelection_1.useTimelineSelection)();
|
|
21
22
|
const currentSelection = (0, TimelineSelection_1.useCurrentTimelineSelectionStateAsRef)();
|
|
22
23
|
const confirm = (0, ConfirmationDialog_1.useConfirmationDialog)();
|
|
23
24
|
(0, react_1.useEffect)(() => {
|
|
24
|
-
if (!canSelect
|
|
25
|
+
if ((!canSelect && !canSelectEasing) ||
|
|
26
|
+
previewServerState.type !== 'connected') {
|
|
25
27
|
return;
|
|
26
28
|
}
|
|
27
29
|
const { clientId } = previewServerState;
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
const handleDelete = () => {
|
|
31
|
+
const { selectedItems, clearSelection } = currentSelection.current;
|
|
32
|
+
const sequences = sequencesRef.current;
|
|
33
|
+
const propStatuses = propStatusesRef.current;
|
|
34
|
+
if (selectedItems.length === 0) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const deletePromise = (0, delete_selected_timeline_item_1.deleteSelectedTimelineItems)({
|
|
38
|
+
selections: selectedItems,
|
|
39
|
+
sequences,
|
|
40
|
+
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
41
|
+
setPropStatuses,
|
|
42
|
+
clientId,
|
|
43
|
+
confirm,
|
|
44
|
+
});
|
|
45
|
+
if (deletePromise !== null) {
|
|
46
|
+
deletePromise
|
|
47
|
+
.then((deleted) => {
|
|
48
|
+
if (deleted) {
|
|
49
|
+
clearSelection();
|
|
50
|
+
}
|
|
51
|
+
})
|
|
52
|
+
.catch(() => undefined);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const easingSelections = (0, update_selected_easing_1.getEasingSelections)(selectedItems);
|
|
56
|
+
if (easingSelections.length === selectedItems.length) {
|
|
57
|
+
const resetEasingPromise = (0, update_selected_easing_1.updateSelectedTimelineEasings)({
|
|
58
|
+
selections: easingSelections,
|
|
40
59
|
sequences,
|
|
41
60
|
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
42
61
|
propStatuses,
|
|
43
62
|
setPropStatuses,
|
|
44
63
|
clientId,
|
|
64
|
+
easing: 'linear',
|
|
45
65
|
});
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const deletePromise = (0, delete_selected_timeline_item_1.deleteSelectedTimelineItems)({
|
|
51
|
-
selections: selectedItems,
|
|
52
|
-
sequences,
|
|
53
|
-
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
54
|
-
setPropStatuses,
|
|
55
|
-
clientId,
|
|
56
|
-
confirm,
|
|
57
|
-
});
|
|
58
|
-
if (deletePromise === null) {
|
|
66
|
+
if (resetEasingPromise !== null) {
|
|
67
|
+
resetEasingPromise.catch(() => undefined);
|
|
59
68
|
return;
|
|
60
69
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
}
|
|
71
|
+
const resetPromise = (0, reset_selected_timeline_props_1.resetSelectedTimelineProps)({
|
|
72
|
+
selections: selectedItems,
|
|
73
|
+
sequences,
|
|
74
|
+
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
75
|
+
propStatuses,
|
|
76
|
+
setPropStatuses,
|
|
77
|
+
clientId,
|
|
78
|
+
});
|
|
79
|
+
if (resetPromise !== null) {
|
|
80
|
+
resetPromise.catch(() => undefined);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const backspace = keybindings.registerKeybinding({
|
|
84
|
+
event: 'keydown',
|
|
85
|
+
key: 'Backspace',
|
|
86
|
+
callback: handleDelete,
|
|
87
|
+
commandCtrlKey: false,
|
|
88
|
+
preventDefault: true,
|
|
89
|
+
triggerIfInputFieldFocused: false,
|
|
90
|
+
keepRegisteredWhenNotHighestContext: false,
|
|
91
|
+
});
|
|
92
|
+
const deleteKey = keybindings.registerKeybinding({
|
|
93
|
+
event: 'keydown',
|
|
94
|
+
key: 'Delete',
|
|
95
|
+
callback: handleDelete,
|
|
69
96
|
commandCtrlKey: false,
|
|
70
97
|
preventDefault: true,
|
|
71
98
|
triggerIfInputFieldFocused: false,
|
|
@@ -95,10 +122,12 @@ const TimelineDeleteKeybindings = () => {
|
|
|
95
122
|
});
|
|
96
123
|
return () => {
|
|
97
124
|
backspace.unregister();
|
|
125
|
+
deleteKey.unregister();
|
|
98
126
|
duplicate.unregister();
|
|
99
127
|
};
|
|
100
128
|
}, [
|
|
101
129
|
canSelect,
|
|
130
|
+
canSelectEasing,
|
|
102
131
|
confirm,
|
|
103
132
|
currentSelection,
|
|
104
133
|
keybindings,
|
|
@@ -82,13 +82,13 @@ const TimelineDragHandler = () => {
|
|
|
82
82
|
return {
|
|
83
83
|
...container,
|
|
84
84
|
width: 100 * zoom + '%',
|
|
85
|
-
|
|
85
|
+
height: TimelineTimeIndicators_1.TIMELINE_TIME_INDICATOR_HEIGHT,
|
|
86
86
|
};
|
|
87
87
|
}, [canvasContent, zoomMap]);
|
|
88
88
|
if (!canvasContent || canvasContent.type !== 'composition') {
|
|
89
89
|
return null;
|
|
90
90
|
}
|
|
91
|
-
return (jsx_runtime_1.jsx("div", { ref: timeline_refs_1.sliderAreaRef, style: containerStyle, children: video ? jsx_runtime_1.jsx(TimelineDragHandlerInnerMemo, {}) : null }));
|
|
91
|
+
return (jsx_runtime_1.jsx("div", { ref: timeline_refs_1.sliderAreaRef, style: containerStyle, [TimelineSelection_1.TIMELINE_SCRUBBER_ATTR]: true, children: video ? jsx_runtime_1.jsx(TimelineDragHandlerInnerMemo, {}) : null }));
|
|
92
92
|
};
|
|
93
93
|
exports.TimelineDragHandler = TimelineDragHandler;
|
|
94
94
|
const TimelineDragHandlerInner = () => {
|
|
@@ -90,8 +90,7 @@ const TimelineEffectItem = ({ label, nodePathInfo, effectIndex, effectSchema, do
|
|
|
90
90
|
const deleteDisabled = !previewConnected ||
|
|
91
91
|
effectStatus.type !== 'can-update-effect' ||
|
|
92
92
|
!validatedLocation.source;
|
|
93
|
-
const canReorder =
|
|
94
|
-
previewConnected &&
|
|
93
|
+
const canReorder = previewConnected &&
|
|
95
94
|
effectStatus.type === 'can-update-effect' &&
|
|
96
95
|
Boolean(validatedLocation.source);
|
|
97
96
|
const nodePathKey = (0, react_1.useMemo)(() => remotion_1.Internals.makeSequencePropsSubscriptionKey(nodePath), [nodePath]);
|
|
@@ -246,7 +246,7 @@ const TimelineEffectPropItem = ({ field, validatedLocation, rowDepth, nodePath,
|
|
|
246
246
|
schema: field.effectSchema,
|
|
247
247
|
key: field.key,
|
|
248
248
|
}),
|
|
249
|
-
}) ? (jsx_runtime_1.jsx(TimelineKeyframeControls_1.TimelineKeyframeControls, { fieldKey: field.key, propStatus: propStatus, nodePath: nodePath, fileName: validatedLocation.source, keyframeDisplayOffset: keyframeDisplayOffset, defaultValue: field.fieldSchema.default, dragOverrideValue: dragOverrideValue, schema: field.effectSchema, effectIndex: field.effectIndex })) : null;
|
|
249
|
+
}) ? (jsx_runtime_1.jsx(TimelineKeyframeControls_1.TimelineKeyframeControls, { fieldKey: field.key, propStatus: propStatus, nodePath: nodePath, fileName: validatedLocation.source, keyframeDisplayOffset: keyframeDisplayOffset, defaultValue: field.fieldSchema.default, dragOverrideValue: dragOverrideValue, schema: field.effectSchema, effectIndex: field.effectIndex, nodePathInfo: nodePathInfo })) : null;
|
|
250
250
|
const canResetToDefault = (0, react_1.useMemo)(() => {
|
|
251
251
|
if (!propStatus || propStatus.status === 'computed') {
|
|
252
252
|
return false;
|
|
@@ -48,10 +48,10 @@ const row = {
|
|
|
48
48
|
const rowSeparator = {
|
|
49
49
|
height: timeline_layout_1.TIMELINE_ITEM_BORDER_BOTTOM,
|
|
50
50
|
};
|
|
51
|
-
const TimelineExpandedKeyframeRowUnmemoized = ({ height, keyframes, nodePathInfo, showSeparator }) => {
|
|
51
|
+
const TimelineExpandedKeyframeRowUnmemoized = ({ height, keyframes, canEditEasing, nodePathInfo, showSeparator }) => {
|
|
52
52
|
const timelineWidth = (0, react_1.useContext)(TimelineWidthProvider_1.TimelineWidthContext);
|
|
53
53
|
const { selected: rowSelected } = (0, TimelineSelection_1.useTimelineRowSelection)(nodePathInfo);
|
|
54
|
-
const easingSegments =
|
|
54
|
+
const easingSegments = canEditEasing
|
|
55
55
|
? (0, get_timeline_easing_segments_1.getTimelineEasingSegments)(keyframes)
|
|
56
56
|
: [];
|
|
57
57
|
return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [showSeparator ? jsx_runtime_1.jsx("div", { style: rowSeparator }) : null, jsx_runtime_1.jsxs("div", { style: { ...row, height }, children: [rowSelected && timelineWidth !== null ? (jsx_runtime_1.jsx("div", { style: (0, TimelineSelection_1.getTimelineSelectedTrackHighlightStyle)(timelineWidth) })) : null, easingSegments.map((segment) => (jsx_runtime_1.jsx(TimelineKeyframeEasingLine_1.TimelineKeyframeEasingLine, { fromFrame: segment.fromFrame, toFrame: segment.toFrame, rowHeight: height, nodePathInfo: nodePathInfo, segmentIndex: segment.segmentIndex }, `${segment.segmentIndex}-${segment.fromFrame}-${segment.toFrame}`))), keyframes.map((keyframe) => (jsx_runtime_1.jsx(TimelineKeyframeDiamond_1.TimelineKeyframeDiamond, { frame: keyframe.frame, rowHeight: height, nodePathInfo: nodePathInfo }, keyframe.frame)))] })
|
|
@@ -14,6 +14,6 @@ const TimelineExpandedTrackKeyframesInner = ({ nodePathInfo, sequence, keyframeD
|
|
|
14
14
|
nodePathInfo,
|
|
15
15
|
keyframeDisplayOffset,
|
|
16
16
|
});
|
|
17
|
-
return (jsx_runtime_1.jsx("div", { style: { height: expandedHeight }, children: rows.map((row, index) => (jsx_runtime_1.jsx(TimelineExpandedKeyframeRow_1.TimelineExpandedKeyframeRow, { height: row.height, keyframes: row.keyframes, nodePathInfo: row.nodePathInfo, showSeparator: index > 0 }, row.rowKey))) }));
|
|
17
|
+
return (jsx_runtime_1.jsx("div", { style: { height: expandedHeight }, children: rows.map((row, index) => (jsx_runtime_1.jsx(TimelineExpandedKeyframeRow_1.TimelineExpandedKeyframeRow, { height: row.height, keyframes: row.keyframes, canEditEasing: row.canEditEasing, nodePathInfo: row.nodePathInfo, showSeparator: index > 0 }, row.rowKey))) }));
|
|
18
18
|
};
|
|
19
19
|
exports.TimelineExpandedTrackKeyframes = react_1.default.memo(TimelineExpandedTrackKeyframesInner);
|
|
@@ -36,12 +36,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.TimelineHeightContainer = void 0;
|
|
37
37
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
|
+
const TimelineSelection_1 = require("./TimelineSelection");
|
|
39
40
|
const use_timeline_height_1 = require("./use-timeline-height");
|
|
40
41
|
const baseStyle = {
|
|
41
42
|
display: 'flex',
|
|
42
43
|
flex: 1,
|
|
43
44
|
minHeight: '100%',
|
|
44
45
|
overflowX: 'hidden',
|
|
46
|
+
backgroundColor: TimelineSelection_1.TIMELINE_BACKGROUND,
|
|
45
47
|
};
|
|
46
48
|
const TimelineHeightContainerInner = ({ shown, hasBeenCut, children }) => {
|
|
47
49
|
const height = (0, use_timeline_height_1.useTimelineHeight)({ shown, hasBeenCut });
|
|
@@ -3,63 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TimelineItemStack = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const client_id_1 = require("../../helpers/client-id");
|
|
7
6
|
const colors_1 = require("../../helpers/colors");
|
|
8
|
-
const get_git_menu_item_1 = require("../../helpers/get-git-menu-item");
|
|
9
|
-
const open_in_editor_1 = require("../../helpers/open-in-editor");
|
|
10
|
-
const layout_1 = require("../layout");
|
|
11
|
-
const NotificationCenter_1 = require("../Notifications/NotificationCenter");
|
|
12
|
-
const Spinner_1 = require("../Spinner");
|
|
13
|
-
const TimelineSelection_1 = require("./TimelineSelection");
|
|
14
7
|
const source_attribution_1 = require("./TimelineStack/source-attribution");
|
|
15
8
|
const TimelineItemStack = ({ originalLocation }) => {
|
|
16
|
-
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
17
|
-
const [opening, setOpening] = (0, react_1.useState)(false);
|
|
18
|
-
const connectionStatus = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx)
|
|
19
|
-
.previewServerState.type;
|
|
20
|
-
const openEditor = (0, react_1.useCallback)(async (location) => {
|
|
21
|
-
if (!window.remotion_editorName) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
setOpening(true);
|
|
25
|
-
try {
|
|
26
|
-
await (0, open_in_editor_1.openOriginalPositionInEditor)(location);
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
30
|
-
}
|
|
31
|
-
finally {
|
|
32
|
-
setOpening(false);
|
|
33
|
-
}
|
|
34
|
-
}, []);
|
|
35
|
-
const canOpenInEditor = Boolean(window.remotion_editorName &&
|
|
36
|
-
connectionStatus === 'connected' &&
|
|
37
|
-
originalLocation);
|
|
38
|
-
const canOpenInGitHub = Boolean(window.remotion_gitSource && originalLocation);
|
|
39
|
-
const hoverable = !TimelineSelection_1.SELECTION_ENABLED && (canOpenInEditor || canOpenInGitHub);
|
|
40
|
-
const onClick = (0, react_1.useCallback)(() => {
|
|
41
|
-
if (!originalLocation) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (canOpenInEditor) {
|
|
45
|
-
openEditor(originalLocation);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (canOpenInGitHub) {
|
|
49
|
-
window.open((0, get_git_menu_item_1.getGitRefUrl)(window.remotion_gitSource, originalLocation), '_blank');
|
|
50
|
-
}
|
|
51
|
-
}, [canOpenInEditor, canOpenInGitHub, openEditor, originalLocation]);
|
|
52
|
-
const onPointerEnter = (0, react_1.useCallback)(() => setHovered(true), []);
|
|
53
|
-
const onPointerLeave = (0, react_1.useCallback)(() => setHovered(false), []);
|
|
54
9
|
const style = (0, react_1.useMemo)(() => {
|
|
55
10
|
return {
|
|
56
11
|
fontSize: 12,
|
|
57
|
-
color:
|
|
58
|
-
? colors_1.VERY_LIGHT_TEXT
|
|
59
|
-
: hovered && hoverable
|
|
60
|
-
? colors_1.LIGHT_TEXT
|
|
61
|
-
: colors_1.VERY_LIGHT_TEXT,
|
|
62
|
-
cursor: hoverable ? 'pointer' : undefined,
|
|
12
|
+
color: colors_1.VERY_LIGHT_TEXT,
|
|
63
13
|
display: 'flex',
|
|
64
14
|
flexDirection: 'row',
|
|
65
15
|
alignItems: 'center',
|
|
@@ -70,13 +20,10 @@ const TimelineItemStack = ({ originalLocation }) => {
|
|
|
70
20
|
userSelect: 'none',
|
|
71
21
|
WebkitUserSelect: 'none',
|
|
72
22
|
};
|
|
73
|
-
}, [
|
|
23
|
+
}, []);
|
|
74
24
|
if (!originalLocation) {
|
|
75
25
|
return null;
|
|
76
26
|
}
|
|
77
|
-
return (jsx_runtime_1.
|
|
78
|
-
jsx_runtime_1.jsx("div", { onPointerEnter: hoverable ? onPointerEnter : undefined, onPointerLeave: hoverable ? onPointerLeave : undefined, onClick: hoverable ? onClick : undefined, style: style, children: (0, source_attribution_1.getOriginalSourceAttribution)(originalLocation) }), opening ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
79
|
-
jsx_runtime_1.jsx(layout_1.Spacing, { x: 0.5 }), jsx_runtime_1.jsx(Spinner_1.Spinner, { duration: 0.5, size: 12 })
|
|
80
|
-
] })) : null] }));
|
|
27
|
+
return (jsx_runtime_1.jsx("div", { style: style, children: (0, source_attribution_1.getOriginalSourceAttribution)(originalLocation) }));
|
|
81
28
|
};
|
|
82
29
|
exports.TimelineItemStack = TimelineItemStack;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CanUpdateSequencePropStatus, DragOverrideValue, SequencePropsSubscriptionKey, SequenceSchema } from 'remotion';
|
|
3
|
+
import type { SequenceNodePathInfo } from '../../helpers/get-timeline-sequence-sort-key';
|
|
4
|
+
import { type TimelineSelection } from './TimelineSelection';
|
|
5
|
+
export declare const getSelectedKeyframeControlNodePathInfos: ({ clickedNodePathInfo, selectedItems, }: {
|
|
6
|
+
readonly clickedNodePathInfo: SequenceNodePathInfo;
|
|
7
|
+
readonly selectedItems: readonly TimelineSelection[];
|
|
8
|
+
}) => readonly SequenceNodePathInfo[];
|
|
3
9
|
export declare const shouldShowTimelineKeyframeControls: ({ propStatus, selected, keyframable, }: {
|
|
4
10
|
propStatus: CanUpdateSequencePropStatus | null;
|
|
5
11
|
selected: boolean;
|
|
@@ -15,4 +21,5 @@ export declare const TimelineKeyframeControls: React.FC<{
|
|
|
15
21
|
readonly dragOverrideValue: DragOverrideValue | undefined;
|
|
16
22
|
readonly schema: SequenceSchema;
|
|
17
23
|
readonly effectIndex: number | null;
|
|
24
|
+
readonly nodePathInfo: SequenceNodePathInfo;
|
|
18
25
|
}>;
|