@remotion/studio 4.0.474 → 4.0.476
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/ColorPicker/ColorPickerPopup.d.ts +6 -0
- package/dist/components/ColorPicker/ColorPickerPopup.js +11 -6
- package/dist/components/CompositionSelectorItem.js +4 -4
- package/dist/components/Editor.js +4 -1
- package/dist/components/GlobalKeybindings.js +12 -0
- package/dist/components/KeyboardShortcutsExplainer.js +24 -0
- package/dist/components/Modals.js +2 -1
- package/dist/components/NewComposition/ComboBox.js +1 -0
- package/dist/components/NewComposition/InputDragger.d.ts +6 -0
- package/dist/components/NewComposition/InputDragger.js +40 -14
- package/dist/components/NewComposition/RenameComposition.js +8 -1
- package/dist/components/NewComposition/RenameFolder.js +8 -1
- package/dist/components/NewComposition/RenameStaticFile.js +11 -1
- package/dist/components/Notifications/Notification.js +5 -4
- package/dist/components/Notifications/NotificationCenter.js +1 -1
- package/dist/components/ObserveDefaultPropsContext.js +6 -2
- package/dist/components/PlayPause.js +22 -66
- package/dist/components/PreviewToolbar.js +17 -3
- package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +2 -1
- package/dist/components/SelectedOutlineOverlay.d.ts +104 -42
- package/dist/components/SelectedOutlineOverlay.js +1278 -336
- 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 +21 -39
- package/dist/components/Timeline/TimelineScaleField.js +1 -1
- 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 +328 -168
- package/dist/components/Timeline/TimelineSequenceName.d.ts +4 -2
- package/dist/components/Timeline/TimelineSequenceName.js +70 -19
- 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/TimelineTranslateField.js +1 -1
- package/dist/components/Timeline/TimelineUvCoordinateField.js +1 -1
- 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/disable-sequence-interactivity.d.ts +8 -0
- package/dist/components/Timeline/disable-sequence-interactivity.js +24 -0
- package/dist/components/Timeline/reset-selected-timeline-props.js +15 -7
- package/dist/components/Timeline/timeline-rotation-utils.d.ts +2 -0
- package/dist/components/Timeline/timeline-rotation-utils.js +34 -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/Timeline/use-timeline-keyframe-drag.js +8 -13
- 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-0atarw3p.js} +8779 -5352
- package/dist/esm/internals.mjs +8779 -5352
- package/dist/esm/previewEntry.mjs +8789 -5362
- 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
|
@@ -8,6 +8,7 @@ const TimelineEnumField_1 = require("./TimelineEnumField");
|
|
|
8
8
|
const TimelineNumberField_1 = require("./TimelineNumberField");
|
|
9
9
|
const TimelineRotationField_1 = require("./TimelineRotationField");
|
|
10
10
|
const TimelineScaleField_1 = require("./TimelineScaleField");
|
|
11
|
+
const TimelineTransformOriginField_1 = require("./TimelineTransformOriginField");
|
|
11
12
|
const TimelineTranslateField_1 = require("./TimelineTranslateField");
|
|
12
13
|
const TimelineUvCoordinateField_1 = require("./TimelineUvCoordinateField");
|
|
13
14
|
const inlineWrapper = {
|
|
@@ -30,6 +31,9 @@ const TimelinePrimitiveFieldValue = ({ field, onSave, onDragValueChange, onDragE
|
|
|
30
31
|
if (field.typeName === 'translate') {
|
|
31
32
|
return (jsx_runtime_1.jsx("span", { children: jsx_runtime_1.jsx(TimelineTranslateField_1.TimelineTranslateField, { effectiveValue: effectiveValue, field: field, onDragEnd: onDragEnd, onDragValueChange: onDragValueChange, onSave: onSave, propStatus: propStatus }) }));
|
|
32
33
|
}
|
|
34
|
+
if (field.typeName === 'transform-origin') {
|
|
35
|
+
return (jsx_runtime_1.jsx("span", { children: jsx_runtime_1.jsx(TimelineTransformOriginField_1.TimelineTransformOriginField, { effectiveValue: effectiveValue, field: field, onDragEnd: onDragEnd, onDragValueChange: onDragValueChange, onSave: onSave, propStatus: propStatus }) }));
|
|
36
|
+
}
|
|
33
37
|
if (field.typeName === 'scale') {
|
|
34
38
|
if (scaleLockNodePath === null) {
|
|
35
39
|
throw new Error('Expected scale lock node path for scale field');
|
|
@@ -5,40 +5,37 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const InputDragger_1 = require("../NewComposition/InputDragger");
|
|
7
7
|
const timeline_field_utils_1 = require("./timeline-field-utils");
|
|
8
|
-
const
|
|
9
|
-
const unitToDegrees = {
|
|
10
|
-
deg: 1,
|
|
11
|
-
rad: 180 / Math.PI,
|
|
12
|
-
turn: 360,
|
|
13
|
-
grad: 360 / 400,
|
|
14
|
-
};
|
|
15
|
-
const parseCssRotationToDegrees = (value) => {
|
|
16
|
-
const match = value.trim().match(unitPattern);
|
|
17
|
-
if (match) {
|
|
18
|
-
return (0, timeline_field_utils_1.normalizeTimelineNumber)(Number(match[1]) * unitToDegrees[match[2]]);
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
const m = new DOMMatrix(`rotate(${value})`);
|
|
22
|
-
return (0, timeline_field_utils_1.normalizeTimelineNumber)(Math.atan2(m.b, m.a) * (180 / Math.PI));
|
|
23
|
-
}
|
|
24
|
-
catch (_a) {
|
|
25
|
-
return 0;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
8
|
+
const timeline_rotation_utils_1 = require("./timeline-rotation-utils");
|
|
28
9
|
const TimelineRotationField = ({ field, effectiveValue, propStatus, onSave, onDragValueChange, onDragEnd, }) => {
|
|
29
10
|
var _a, _b;
|
|
30
11
|
const [dragValue, setDragValue] = (0, react_1.useState)(null);
|
|
31
12
|
const isCssRotation = field.fieldSchema.type === 'rotation-css';
|
|
32
13
|
const degrees = (0, react_1.useMemo)(() => {
|
|
33
14
|
if (isCssRotation) {
|
|
34
|
-
return parseCssRotationToDegrees(String(effectiveValue !== null && effectiveValue !== void 0 ? effectiveValue : '0deg'));
|
|
15
|
+
return (0, timeline_rotation_utils_1.parseCssRotationToDegrees)(String(effectiveValue !== null && effectiveValue !== void 0 ? effectiveValue : '0deg'));
|
|
35
16
|
}
|
|
36
17
|
return typeof effectiveValue === 'number' ? effectiveValue : 0;
|
|
37
18
|
}, [effectiveValue, isCssRotation]);
|
|
19
|
+
const configuredStep = field.fieldSchema.type === 'rotation-css' ||
|
|
20
|
+
field.fieldSchema.type === 'rotation-degrees'
|
|
21
|
+
? field.fieldSchema.step
|
|
22
|
+
: undefined;
|
|
23
|
+
const step = configuredStep !== null && configuredStep !== void 0 ? configuredStep : 1;
|
|
24
|
+
const min = field.fieldSchema.type === 'rotation-degrees'
|
|
25
|
+
? ((_a = field.fieldSchema.min) !== null && _a !== void 0 ? _a : -Infinity)
|
|
26
|
+
: -Infinity;
|
|
27
|
+
const max = field.fieldSchema.type === 'rotation-degrees'
|
|
28
|
+
? ((_b = field.fieldSchema.max) !== null && _b !== void 0 ? _b : Infinity)
|
|
29
|
+
: Infinity;
|
|
30
|
+
const decimalPlaces = (0, react_1.useMemo)(() => (0, timeline_field_utils_1.getTimelineDisplayDecimalPlaces)({
|
|
31
|
+
defaultDecimalPlaces: 1,
|
|
32
|
+
step: configuredStep,
|
|
33
|
+
}), [configuredStep]);
|
|
38
34
|
const serializeValue = (0, react_1.useCallback)((value) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
return isCssRotation
|
|
36
|
+
? (0, timeline_rotation_utils_1.serializeCssRotation)(value, decimalPlaces)
|
|
37
|
+
: (0, timeline_field_utils_1.normalizeTimelineNumber)(value);
|
|
38
|
+
}, [decimalPlaces, isCssRotation]);
|
|
42
39
|
const onValueChange = (0, react_1.useCallback)((newVal) => {
|
|
43
40
|
setDragValue(newVal);
|
|
44
41
|
onDragValueChange(serializeValue(newVal));
|
|
@@ -68,21 +65,6 @@ const TimelineRotationField = ({ field, effectiveValue, propStatus, onSave, onDr
|
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
67
|
}, [propStatus, onSave, serializeValue]);
|
|
71
|
-
const configuredStep = field.fieldSchema.type === 'rotation-css' ||
|
|
72
|
-
field.fieldSchema.type === 'rotation-degrees'
|
|
73
|
-
? field.fieldSchema.step
|
|
74
|
-
: undefined;
|
|
75
|
-
const step = configuredStep !== null && configuredStep !== void 0 ? configuredStep : 1;
|
|
76
|
-
const min = field.fieldSchema.type === 'rotation-degrees'
|
|
77
|
-
? ((_a = field.fieldSchema.min) !== null && _a !== void 0 ? _a : -Infinity)
|
|
78
|
-
: -Infinity;
|
|
79
|
-
const max = field.fieldSchema.type === 'rotation-degrees'
|
|
80
|
-
? ((_b = field.fieldSchema.max) !== null && _b !== void 0 ? _b : Infinity)
|
|
81
|
-
: Infinity;
|
|
82
|
-
const decimalPlaces = (0, react_1.useMemo)(() => (0, timeline_field_utils_1.getTimelineDisplayDecimalPlaces)({
|
|
83
|
-
defaultDecimalPlaces: 1,
|
|
84
|
-
step: configuredStep,
|
|
85
|
-
}), [configuredStep]);
|
|
86
68
|
const formatter = (0, react_1.useCallback)((v) => {
|
|
87
69
|
const formatted = (0, timeline_field_utils_1.formatTimelineNumber)({
|
|
88
70
|
decimalPlaces,
|
|
@@ -99,7 +99,7 @@ const TimelineScaleField = ({ field, propStatus, effectiveValue, onSave, onDragV
|
|
|
99
99
|
? ((_b = field.fieldSchema.max) !== null && _b !== void 0 ? _b : Infinity)
|
|
100
100
|
: Infinity;
|
|
101
101
|
const decimalPlaces = (0, react_1.useMemo)(() => (0, timeline_field_utils_1.getTimelineDisplayDecimalPlaces)({
|
|
102
|
-
defaultDecimalPlaces:
|
|
102
|
+
defaultDecimalPlaces: 3,
|
|
103
103
|
step: configuredStep,
|
|
104
104
|
}), [configuredStep]);
|
|
105
105
|
const formatter = (0, react_1.useCallback)((v) => {
|
|
@@ -3,24 +3,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TimelineScrollable = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const colors_1 = require("../../helpers/colors");
|
|
7
6
|
const is_menu_item_1 = require("../Menu/is-menu-item");
|
|
8
7
|
const timeline_refs_1 = require("./timeline-refs");
|
|
8
|
+
const TimelineSelection_1 = require("./TimelineSelection");
|
|
9
9
|
const outer = {
|
|
10
10
|
width: '100%',
|
|
11
11
|
height: '100%',
|
|
12
12
|
overflowX: 'auto',
|
|
13
13
|
overflowY: 'hidden',
|
|
14
14
|
position: 'relative',
|
|
15
|
-
backgroundColor:
|
|
15
|
+
backgroundColor: TimelineSelection_1.TIMELINE_BACKGROUND,
|
|
16
|
+
};
|
|
17
|
+
const marqueeStyle = {
|
|
18
|
+
backgroundColor: 'rgba(70, 130, 255, 0.16)',
|
|
19
|
+
border: '1px solid rgba(70, 130, 255, 0.75)',
|
|
20
|
+
boxSizing: 'border-box',
|
|
21
|
+
pointerEvents: 'none',
|
|
22
|
+
position: 'fixed',
|
|
23
|
+
zIndex: 10,
|
|
16
24
|
};
|
|
17
25
|
const TimelineScrollable = ({ children }) => {
|
|
26
|
+
const { marqueeRect, onPointerDownCapture } = (0, TimelineSelection_1.useTimelineMarqueeSelection)();
|
|
18
27
|
const containerStyle = (0, react_1.useMemo)(() => {
|
|
19
28
|
return {
|
|
20
29
|
width: '100%',
|
|
21
30
|
minHeight: '100%',
|
|
22
31
|
};
|
|
23
32
|
}, []);
|
|
24
|
-
return (jsx_runtime_1.
|
|
33
|
+
return (jsx_runtime_1.jsxs("div", { ref: timeline_refs_1.scrollableRef, style: outer, className: is_menu_item_1.HORIZONTAL_SCROLLBAR_CLASSNAME, onPointerDownCapture: onPointerDownCapture, children: [
|
|
34
|
+
jsx_runtime_1.jsx("div", { style: containerStyle, children: children }), marqueeRect === null ? null : (jsx_runtime_1.jsx("div", { style: {
|
|
35
|
+
...marqueeStyle,
|
|
36
|
+
height: marqueeRect.bottom - marqueeRect.top,
|
|
37
|
+
left: marqueeRect.left,
|
|
38
|
+
top: marqueeRect.top,
|
|
39
|
+
width: marqueeRect.right - marqueeRect.left,
|
|
40
|
+
} }))] }));
|
|
25
41
|
};
|
|
26
42
|
exports.TimelineScrollable = TimelineScrollable;
|
|
@@ -7,9 +7,8 @@ export declare const TIMELINE_SELECTED_LABEL_HORIZONTAL_PADDING = 2;
|
|
|
7
7
|
export declare const getTimelineSelectedLabelStyle: (selected: boolean, subcategory: boolean) => CSSProperties;
|
|
8
8
|
export declare const getTimelineColor: (selected: boolean, subcategory: boolean) => "black" | "rgba(255, 255, 255, 0.8)";
|
|
9
9
|
export declare const getTimelineSelectedTrackHighlightStyle: (timelineWidth: number) => CSSProperties;
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const ENABLE_OUTLINES = false;
|
|
10
|
+
export declare const TIMELINE_BACKGROUND = "#0F1113";
|
|
11
|
+
export declare const TIMELINE_TICKS_BACKGROUND = "rgb(31,36,40)";
|
|
13
12
|
type TimelineSelectionBase = {
|
|
14
13
|
readonly nodePathInfo: SequenceNodePathInfo;
|
|
15
14
|
};
|
|
@@ -36,6 +35,9 @@ export type TimelineSelection = (TimelineSelectionBase & {
|
|
|
36
35
|
readonly toFrame: number;
|
|
37
36
|
readonly segmentIndex: number;
|
|
38
37
|
});
|
|
38
|
+
export type TimelineEasingSelection = Extract<TimelineSelection, {
|
|
39
|
+
type: 'easing';
|
|
40
|
+
}>;
|
|
39
41
|
export type TimelineSelectionInteraction = {
|
|
40
42
|
readonly shiftKey: boolean;
|
|
41
43
|
readonly toggleKey: boolean;
|
|
@@ -45,27 +47,74 @@ export declare const isTimelineSelectionModifierEvent: ({ shiftKey, metaKey, ctr
|
|
|
45
47
|
readonly metaKey: boolean;
|
|
46
48
|
readonly ctrlKey: boolean;
|
|
47
49
|
}) => boolean;
|
|
50
|
+
export declare const shouldSelectTimelineRowOnPointerDown: ({ selected, shiftKey, metaKey, ctrlKey, }: {
|
|
51
|
+
readonly selected: boolean;
|
|
52
|
+
readonly shiftKey: boolean;
|
|
53
|
+
readonly metaKey: boolean;
|
|
54
|
+
readonly ctrlKey: boolean;
|
|
55
|
+
}) => boolean;
|
|
48
56
|
export type TimelineSelectionState = {
|
|
49
57
|
readonly selectedItems: readonly TimelineSelection[];
|
|
50
58
|
readonly anchor: TimelineSelection | null;
|
|
51
59
|
};
|
|
60
|
+
export type TimelineMarqueeRect = {
|
|
61
|
+
readonly left: number;
|
|
62
|
+
readonly top: number;
|
|
63
|
+
readonly right: number;
|
|
64
|
+
readonly bottom: number;
|
|
65
|
+
};
|
|
66
|
+
export type TimelineMarqueeSelectionKind = 'sequence' | 'keyframes-and-easings';
|
|
67
|
+
export type TimelineMarqueeSelectionCandidate = {
|
|
68
|
+
readonly item: TimelineSelection;
|
|
69
|
+
readonly rect: TimelineMarqueeRect;
|
|
70
|
+
};
|
|
52
71
|
export declare const getTimelineSelectionAfterInteraction: ({ currentState, clickedItem, interaction, allSelectableItems, }: {
|
|
53
72
|
readonly currentState: TimelineSelectionState;
|
|
54
73
|
readonly clickedItem: TimelineSelection;
|
|
55
74
|
readonly interaction: TimelineSelectionInteraction;
|
|
56
75
|
readonly allSelectableItems: readonly TimelineSelection[];
|
|
57
76
|
}) => TimelineSelectionState;
|
|
77
|
+
export declare const getNormalizedTimelineMarqueeRect: ({ startX, startY, currentX, currentY, }: {
|
|
78
|
+
readonly startX: number;
|
|
79
|
+
readonly startY: number;
|
|
80
|
+
readonly currentX: number;
|
|
81
|
+
readonly currentY: number;
|
|
82
|
+
}) => TimelineMarqueeRect;
|
|
83
|
+
export declare const getClampedTimelineMarqueePoint: ({ x, y, bounds, }: {
|
|
84
|
+
readonly x: number;
|
|
85
|
+
readonly y: number;
|
|
86
|
+
readonly bounds: TimelineMarqueeRect;
|
|
87
|
+
}) => {
|
|
88
|
+
readonly x: number;
|
|
89
|
+
readonly y: number;
|
|
90
|
+
};
|
|
91
|
+
export declare const timelineMarqueeRectsIntersect: (a: TimelineMarqueeRect, b: TimelineMarqueeRect) => boolean;
|
|
92
|
+
export declare const getTimelineMarqueeSelection: ({ candidates, lockedSelectionKind, marqueeRect, }: {
|
|
93
|
+
readonly candidates: readonly TimelineMarqueeSelectionCandidate[];
|
|
94
|
+
readonly lockedSelectionKind: TimelineMarqueeSelectionKind | null;
|
|
95
|
+
readonly marqueeRect: TimelineMarqueeRect;
|
|
96
|
+
}) => {
|
|
97
|
+
readonly lockedSelectionKind: TimelineMarqueeSelectionKind | null;
|
|
98
|
+
readonly selectedItems: readonly TimelineSelection[];
|
|
99
|
+
};
|
|
58
100
|
type TimelineSelectionContextValue = {
|
|
59
101
|
readonly canSelect: boolean;
|
|
102
|
+
readonly canSelectEasing: boolean;
|
|
60
103
|
readonly selectedItems: readonly TimelineSelection[];
|
|
61
104
|
readonly isSelected: (item: TimelineSelection) => boolean;
|
|
62
105
|
readonly selectItem: (item: TimelineSelection, interaction?: TimelineSelectionInteraction) => void;
|
|
63
106
|
readonly selectItems: (items: readonly TimelineSelection[]) => void;
|
|
64
107
|
readonly registerSelectableItem: (item: TimelineSelection) => () => void;
|
|
108
|
+
readonly registerMarqueeSelectableItem: (item: TimelineSelection, getRect: () => DOMRect | null) => () => void;
|
|
109
|
+
readonly getMarqueeSelection: (marqueeRect: TimelineMarqueeRect, lockedSelectionKind: TimelineMarqueeSelectionKind | null) => {
|
|
110
|
+
readonly lockedSelectionKind: TimelineMarqueeSelectionKind | null;
|
|
111
|
+
readonly selectedItems: readonly TimelineSelection[];
|
|
112
|
+
};
|
|
65
113
|
readonly containsSelection: (nodePathInfo: SequenceNodePathInfo) => boolean;
|
|
66
114
|
readonly clearSelection: () => void;
|
|
67
115
|
};
|
|
68
116
|
export declare const getTimelineSelectionFromNodePathInfo: (nodePathInfo: SequenceNodePathInfo | null) => TimelineSelection | null;
|
|
117
|
+
export declare const getTimelineSelectionKey: (item: TimelineSelection) => string;
|
|
69
118
|
export declare const getSelectableTimelineSequenceSelections: (tracks: readonly Pick<TrackWithHash, "nodePathInfo">[]) => TimelineSelection[];
|
|
70
119
|
export declare const getTimelineSequenceSelectionKey: (nodePathInfo: SequenceNodePathInfo) => string;
|
|
71
120
|
export declare const TimelineSelectAllKeybindings: React.FC<{
|
|
@@ -75,15 +124,24 @@ export declare const TimelineSelectionProvider: React.FC<{
|
|
|
75
124
|
readonly children: React.ReactNode;
|
|
76
125
|
}>;
|
|
77
126
|
export declare const useTimelineSelection: () => TimelineSelectionContextValue;
|
|
127
|
+
export declare const TIMELINE_MARQUEE_ITEM_ATTR = "data-timeline-marquee-item";
|
|
128
|
+
export declare const TIMELINE_SCRUBBER_ATTR = "data-timeline-scrubber";
|
|
78
129
|
export declare const useCurrentTimelineSelectionStateAsRef: () => React.RefObject<TimelineSelectionContextValue>;
|
|
130
|
+
export declare const useTimelineMarqueeSelection: () => {
|
|
131
|
+
marqueeRect: TimelineMarqueeRect | null;
|
|
132
|
+
onPointerDownCapture: (event: React.PointerEvent<HTMLDivElement>) => void;
|
|
133
|
+
};
|
|
134
|
+
export declare const useTimelineMarqueeSelectableItem: (item: TimelineSelection | null, ref: React.RefObject<Element | null>) => void;
|
|
79
135
|
export declare const useTimelineRowSelection: (nodePathInfo: SequenceNodePathInfo | null) => {
|
|
80
136
|
onSelect: (interaction?: TimelineSelectionInteraction | undefined) => void;
|
|
81
137
|
selectable: boolean;
|
|
138
|
+
selectionItem: TimelineSelection | null;
|
|
82
139
|
selected: boolean;
|
|
83
140
|
};
|
|
84
141
|
export declare const useTimelineKeyframeSelection: (nodePathInfo: SequenceNodePathInfo, frame: number) => {
|
|
85
142
|
onSelect: (interaction?: TimelineSelectionInteraction | undefined) => void;
|
|
86
143
|
selectable: boolean;
|
|
144
|
+
selectionItem: TimelineSelection;
|
|
87
145
|
selected: boolean;
|
|
88
146
|
};
|
|
89
147
|
export declare const useTimelineEasingSelection: ({ nodePathInfo, fromFrame, toFrame, segmentIndex, }: {
|
|
@@ -95,6 +153,12 @@ export declare const useTimelineEasingSelection: ({ nodePathInfo, fromFrame, toF
|
|
|
95
153
|
onSelect: (interaction?: TimelineSelectionInteraction | undefined) => void;
|
|
96
154
|
selectable: boolean;
|
|
97
155
|
selected: boolean;
|
|
156
|
+
selectionItem: TimelineSelectionBase & {
|
|
157
|
+
readonly type: "easing";
|
|
158
|
+
readonly fromFrame: number;
|
|
159
|
+
readonly toFrame: number;
|
|
160
|
+
readonly segmentIndex: number;
|
|
161
|
+
};
|
|
98
162
|
};
|
|
99
163
|
export declare const useTimelineRowContainsSelection: (nodePathInfo: SequenceNodePathInfo | null) => boolean;
|
|
100
164
|
export {};
|