@remotion/studio 4.0.478 → 4.0.481
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/AssetSelector.js +8 -14
- package/dist/components/AudioWaveform.js +19 -11
- package/dist/components/Button.d.ts +2 -0
- package/dist/components/Button.js +9 -6
- package/dist/components/CompactExplanation.d.ts +12 -0
- package/dist/components/CompactExplanation.js +52 -0
- package/dist/components/CompositionSelector.js +2 -4
- package/dist/components/CurrentAsset.d.ts +3 -1
- package/dist/components/CurrentAsset.js +42 -34
- package/dist/components/CurrentComposition.d.ts +1 -1
- package/dist/components/CurrentComposition.js +38 -31
- package/dist/components/CurrentCompositionSideEffects.d.ts +0 -3
- package/dist/components/CurrentCompositionSideEffects.js +1 -37
- package/dist/components/DefaultPropsEditor.d.ts +12 -2
- package/dist/components/DefaultPropsEditor.js +2 -2
- package/dist/components/Editor.js +2 -5
- package/dist/components/EditorContent.js +2 -1
- package/dist/components/EffectPickerModal.d.ts +5 -0
- package/dist/components/EffectPickerModal.js +179 -0
- package/dist/components/ExpandedTracksProvider.d.ts +1 -0
- package/dist/components/ExpandedTracksProvider.js +81 -7
- package/dist/components/GlobalKeybindings.d.ts +3 -1
- package/dist/components/GlobalKeybindings.js +104 -10
- package/dist/components/InspectorInfoHeader.d.ts +11 -0
- package/dist/components/InspectorInfoHeader.js +55 -0
- package/dist/components/InspectorPanel/DefaultInspector.d.ts +8 -0
- package/dist/components/InspectorPanel/DefaultInspector.js +93 -0
- package/dist/components/InspectorPanel/EasingInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/EasingInspector.js +41 -0
- package/dist/components/InspectorPanel/GuideInspector.d.ts +7 -0
- package/dist/components/InspectorPanel/GuideInspector.js +55 -0
- package/dist/components/InspectorPanel/KeyframeInspector.d.ts +7 -0
- package/dist/components/InspectorPanel/KeyframeInspector.js +109 -0
- package/dist/components/InspectorPanel/SelectedInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/SelectedInspector.js +26 -0
- package/dist/components/InspectorPanel/SequenceSelectionInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +117 -0
- package/dist/components/InspectorPanel/common.d.ts +15 -0
- package/dist/components/InspectorPanel/common.js +18 -0
- package/dist/components/InspectorPanel/inspector-selection.d.ts +10 -0
- package/dist/components/InspectorPanel/inspector-selection.js +35 -0
- package/dist/components/InspectorPanel/styles.d.ts +28 -0
- package/dist/components/InspectorPanel/styles.js +196 -0
- package/dist/components/InspectorPanel/use-track-for-selection.d.ts +2 -0
- package/dist/components/InspectorPanel/use-track-for-selection.js +22 -0
- package/dist/components/InspectorPanel.d.ts +8 -0
- package/dist/components/InspectorPanel.js +26 -0
- package/dist/components/InspectorPanelLayout.d.ts +1 -0
- package/dist/components/InspectorPanelLayout.js +4 -0
- package/dist/components/InspectorSequenceSection.d.ts +19 -0
- package/dist/components/InspectorSequenceSection.js +157 -0
- package/dist/components/InspectorSourceLocation.d.ts +7 -0
- package/dist/components/InspectorSourceLocation.js +71 -0
- package/dist/components/KeyboardShortcutsExplainer.js +10 -2
- package/dist/components/Modals.js +3 -3
- package/dist/components/NewComposition/InputDragger.js +1 -1
- package/dist/components/NewComposition/RemInput.d.ts +1 -0
- package/dist/components/NewComposition/RemInput.js +8 -2
- package/dist/components/NewComposition/RemTextarea.d.ts +1 -0
- package/dist/components/NewComposition/RemTextarea.js +8 -2
- package/dist/components/NewComposition/ValidationMessage.d.ts +3 -0
- package/dist/components/NewComposition/ValidationMessage.js +16 -5
- package/dist/components/OptionsPanel.d.ts +1 -1
- package/dist/components/OptionsPanel.js +8 -17
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +2 -7
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +3 -10
- package/dist/components/QuickSwitcher/shared.d.ts +4 -0
- package/dist/components/QuickSwitcher/shared.js +24 -0
- package/dist/components/RenderModal/DataEditor.d.ts +29 -2
- package/dist/components/RenderModal/DataEditor.js +107 -56
- package/dist/components/RenderModal/RenderModalJSONPropsEditor.d.ts +1 -0
- package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +25 -7
- package/dist/components/RenderModal/SchemaEditor/Fieldset.d.ts +2 -1
- package/dist/components/RenderModal/SchemaEditor/Fieldset.js +10 -5
- package/dist/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +4 -0
- package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +27 -4
- package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -4
- package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +23 -9
- package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +3 -3
- package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +8 -1
- package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +1 -0
- package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -6
- package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +2 -2
- package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +2 -1
- package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +9 -11
- package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +1 -1
- package/dist/components/RenderModal/WarningIndicatorButton.d.ts +1 -0
- package/dist/components/RenderModal/WarningIndicatorButton.js +17 -4
- package/dist/components/RenderModal/get-render-modal-warnings.d.ts +2 -1
- package/dist/components/RenderModal/get-render-modal-warnings.js +6 -3
- package/dist/components/RendersTab.js +1 -1
- package/dist/components/ResetZoomButton.d.ts +2 -1
- package/dist/components/ResetZoomButton.js +5 -1
- package/dist/components/SegmentedControl.d.ts +3 -0
- package/dist/components/SegmentedControl.js +11 -5
- package/dist/components/SelectedOutlineElement.js +96 -24
- package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
- package/dist/components/SelectedOutlineOverlay.js +44 -30
- package/dist/components/SelectedOutlineUvControls.d.ts +9 -0
- package/dist/components/SelectedOutlineUvControls.js +64 -10
- package/dist/components/Tabs/index.js +4 -4
- package/dist/components/Timeline/EasingEditorModal.d.ts +5 -4
- package/dist/components/Timeline/EasingEditorModal.js +597 -124
- package/dist/components/Timeline/KeyframeSettingsModal.d.ts +2 -2
- package/dist/components/Timeline/SubscribeToNodePaths.d.ts +2 -2
- package/dist/components/Timeline/Timeline.js +9 -9
- package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +15 -3
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +85 -1
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +10 -3
- package/dist/components/Timeline/TimelineEffectItem.d.ts +2 -2
- package/dist/components/Timeline/TimelineEffectItem.js +1 -1
- package/dist/components/Timeline/TimelineEffectPropItem.d.ts +8 -0
- package/dist/components/Timeline/TimelineEffectPropItem.js +25 -21
- package/dist/components/Timeline/TimelineExpandArrowButton.js +42 -2
- package/dist/components/Timeline/TimelineExpandedRow.d.ts +5 -2
- package/dist/components/Timeline/TimelineExpandedRow.js +6 -6
- package/dist/components/Timeline/TimelineExpandedSection.d.ts +1 -1
- package/dist/components/Timeline/TimelineExpandedSection.js +10 -25
- package/dist/components/Timeline/TimelineKeyframeControls.d.ts +8 -2
- package/dist/components/Timeline/TimelineKeyframeControls.js +24 -3
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +2 -47
- package/dist/components/Timeline/TimelineKeyframedValue.d.ts +1 -1
- package/dist/components/Timeline/TimelineKeyframedValue.js +8 -10
- package/dist/components/Timeline/TimelineNumberField.js +5 -11
- package/dist/components/Timeline/TimelineRotationField.js +5 -6
- package/dist/components/Timeline/TimelineRowChrome.d.ts +2 -0
- package/dist/components/Timeline/TimelineRowChrome.js +5 -3
- package/dist/components/Timeline/TimelineScaleField.js +4 -8
- package/dist/components/Timeline/TimelineSelection.d.ts +28 -2
- package/dist/components/Timeline/TimelineSelection.js +342 -61
- package/dist/components/Timeline/TimelineSequence.js +19 -3
- package/dist/components/Timeline/TimelineSequenceItem.js +68 -64
- package/dist/components/Timeline/TimelineSequencePropItem.d.ts +12 -2
- package/dist/components/Timeline/TimelineSequencePropItem.js +57 -53
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +6 -4
- package/dist/components/Timeline/TimelineTransformOriginField.js +4 -5
- package/dist/components/Timeline/TimelineTranslateField.js +4 -5
- package/dist/components/Timeline/TimelineUvCoordinateField.js +4 -4
- package/dist/components/Timeline/call-add-keyframe.d.ts +4 -4
- package/dist/components/Timeline/call-delete-keyframe.d.ts +4 -4
- package/dist/components/Timeline/call-move-keyframe.d.ts +2 -2
- package/dist/components/Timeline/call-update-keyframe-settings.d.ts +3 -3
- package/dist/components/Timeline/delete-selected-timeline-item.d.ts +2 -1
- package/dist/components/Timeline/delete-selected-timeline-item.js +27 -1
- package/dist/components/Timeline/find-track-for-node-path-info.js +2 -2
- package/dist/components/Timeline/get-node-keyframes.d.ts +7 -0
- package/dist/components/Timeline/get-node-keyframes.js +26 -1
- package/dist/components/Timeline/parse-keyframe-field-from-node-path.js +2 -2
- package/dist/components/Timeline/reset-selected-timeline-props.d.ts +3 -3
- package/dist/components/Timeline/reset-selected-timeline-props.js +34 -7
- package/dist/components/Timeline/save-effect-prop.d.ts +2 -2
- package/dist/components/Timeline/save-sequence-prop.d.ts +2 -2
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +3 -3
- package/dist/components/Timeline/timeline-expanded-filter.d.ts +12 -0
- package/dist/components/Timeline/timeline-expanded-filter.js +38 -0
- package/dist/components/Timeline/timeline-field-display-utils.d.ts +5 -0
- package/dist/components/Timeline/timeline-field-display-utils.js +244 -0
- package/dist/components/Timeline/update-selected-easing.d.ts +47 -4
- package/dist/components/Timeline/update-selected-easing.js +40 -9
- package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +50 -18
- package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.d.ts +13 -0
- package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +73 -0
- package/dist/components/Timeline/use-sequence-props-subscription.d.ts +3 -3
- package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +12 -0
- package/dist/components/Timeline/use-timeline-expanded-tree.js +60 -0
- package/dist/components/Timeline/use-timeline-height.js +51 -7
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +12 -6
- package/dist/components/TopPanel.js +1 -1
- package/dist/components/VisualControls/VisualControlsContent.d.ts +1 -1
- package/dist/components/VisualControls/VisualControlsContent.js +4 -5
- package/dist/components/effect-drag-and-drop.d.ts +10 -0
- package/dist/components/effect-drag-and-drop.js +17 -8
- package/dist/components/effect-picker-search.d.ts +5 -0
- package/dist/components/effect-picker-search.js +77 -0
- package/dist/components/selected-outline-drag.d.ts +21 -2
- package/dist/components/selected-outline-drag.js +31 -6
- package/dist/components/selected-outline-measurement.js +48 -14
- package/dist/components/selected-outline-types.d.ts +7 -7
- package/dist/components/selected-outline-uv.d.ts +4 -3
- package/dist/components/selected-outline-uv.js +6 -2
- package/dist/error-overlay/remotion-overlay/ErrorLoader.js +8 -1
- package/dist/esm/{chunk-hrw9799x.js → chunk-4rq5gt8c.js} +30557 -26640
- package/dist/esm/internals.mjs +30557 -26640
- package/dist/esm/previewEntry.mjs +18584 -14665
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/migrate-expanded-tracks-for-subscription-key.js +3 -3
- package/dist/helpers/render-codec-label.d.ts +2 -0
- package/dist/helpers/render-codec-label.js +49 -0
- package/dist/helpers/timeline-layout.d.ts +4 -4
- package/dist/helpers/use-media-metadata.d.ts +8 -2
- package/dist/helpers/use-media-metadata.js +17 -4
- package/dist/state/modals.d.ts +9 -4
- package/package.json +12 -12
|
@@ -12,7 +12,7 @@ export type TypeCanSaveState = {
|
|
|
12
12
|
reason: string;
|
|
13
13
|
determined: boolean;
|
|
14
14
|
};
|
|
15
|
-
export declare const getRenderModalWarnings: ({ cliProps, canSaveDefaultProps, isCustomDateUsed, customFileUsed, jsMapUsed, jsSetUsed, inJSONEditor, propsEditType, }: {
|
|
15
|
+
export declare const getRenderModalWarnings: ({ cliProps, canSaveDefaultProps, isCustomDateUsed, customFileUsed, jsMapUsed, jsSetUsed, inJSONEditor, propsEditType, showCannotSaveDefaultPropsWarning, }: {
|
|
16
16
|
cliProps: unknown;
|
|
17
17
|
canSaveDefaultProps: TypeCanSaveState | null;
|
|
18
18
|
isCustomDateUsed: boolean;
|
|
@@ -21,4 +21,5 @@ export declare const getRenderModalWarnings: ({ cliProps, canSaveDefaultProps, i
|
|
|
21
21
|
jsSetUsed: boolean;
|
|
22
22
|
inJSONEditor: boolean;
|
|
23
23
|
propsEditType: PropsEditType;
|
|
24
|
+
showCannotSaveDefaultPropsWarning: boolean;
|
|
24
25
|
}) => RenderModalWarning[];
|
|
@@ -19,7 +19,10 @@ const getInputPropsWarning = ({ cliProps, propsEditType, }) => {
|
|
|
19
19
|
}
|
|
20
20
|
return null;
|
|
21
21
|
};
|
|
22
|
-
const getCannotSaveDefaultProps = (canSaveDefaultProps) => {
|
|
22
|
+
const getCannotSaveDefaultProps = (canSaveDefaultProps, showCannotSaveDefaultPropsWarning) => {
|
|
23
|
+
if (!showCannotSaveDefaultPropsWarning) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
23
26
|
if (canSaveDefaultProps === null) {
|
|
24
27
|
return null;
|
|
25
28
|
}
|
|
@@ -59,10 +62,10 @@ const setUsed = (used, inJSONEditor) => {
|
|
|
59
62
|
}
|
|
60
63
|
return null;
|
|
61
64
|
};
|
|
62
|
-
const getRenderModalWarnings = ({ cliProps, canSaveDefaultProps, isCustomDateUsed, customFileUsed, jsMapUsed, jsSetUsed, inJSONEditor, propsEditType, }) => {
|
|
65
|
+
const getRenderModalWarnings = ({ cliProps, canSaveDefaultProps, isCustomDateUsed, customFileUsed, jsMapUsed, jsSetUsed, inJSONEditor, propsEditType, showCannotSaveDefaultPropsWarning, }) => {
|
|
63
66
|
return [
|
|
64
67
|
warningOrNull('input-props-override', getInputPropsWarning({ cliProps, propsEditType })),
|
|
65
|
-
getCannotSaveDefaultProps(canSaveDefaultProps),
|
|
68
|
+
getCannotSaveDefaultProps(canSaveDefaultProps, showCannotSaveDefaultPropsWarning),
|
|
66
69
|
warningOrNull('custom-date-used', customDateUsed(isCustomDateUsed, inJSONEditor)),
|
|
67
70
|
warningOrNull('static-file-used', staticFileUsed(customFileUsed, inJSONEditor)),
|
|
68
71
|
warningOrNull('map-used', mapUsed(jsMapUsed, inJSONEditor)),
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ResetZoomButton = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
5
6
|
const Button_1 = require("./Button");
|
|
6
7
|
const ResetZoomButton = ({ onClick }) => {
|
|
7
|
-
|
|
8
|
+
const onPointerDown = (0, react_1.useCallback)((event) => {
|
|
9
|
+
event.stopPropagation();
|
|
10
|
+
}, []);
|
|
11
|
+
return (jsx_runtime_1.jsx(Button_1.Button, { onClick: onClick, onPointerDown: onPointerDown, children: "Reset zoom" }));
|
|
8
12
|
};
|
|
9
13
|
exports.ResetZoomButton = ResetZoomButton;
|
|
@@ -5,7 +5,10 @@ export type SegmentedControlItem = {
|
|
|
5
5
|
key: string;
|
|
6
6
|
selected: boolean;
|
|
7
7
|
};
|
|
8
|
+
type SegmentedControlSize = 'default' | 'compact';
|
|
8
9
|
export declare const SegmentedControl: React.FC<{
|
|
9
10
|
readonly items: SegmentedControlItem[];
|
|
10
11
|
readonly needsWrapping: boolean;
|
|
12
|
+
readonly size?: SegmentedControlSize;
|
|
11
13
|
}>;
|
|
14
|
+
export {};
|
|
@@ -25,7 +25,13 @@ const item = {
|
|
|
25
25
|
justifyContent: 'center',
|
|
26
26
|
whiteSpace: 'nowrap',
|
|
27
27
|
};
|
|
28
|
-
const
|
|
28
|
+
const compactItem = {
|
|
29
|
+
...item,
|
|
30
|
+
fontSize: 11,
|
|
31
|
+
fontWeight: 400,
|
|
32
|
+
padding: '2px 7px',
|
|
33
|
+
};
|
|
34
|
+
const SegmentedControl = ({ items, needsWrapping, size = 'default' }) => {
|
|
29
35
|
const controlStyle = (0, react_1.useMemo)(() => {
|
|
30
36
|
if (needsWrapping) {
|
|
31
37
|
return {
|
|
@@ -41,11 +47,11 @@ const SegmentedControl = ({ items, needsWrapping }) => {
|
|
|
41
47
|
};
|
|
42
48
|
}, [needsWrapping]);
|
|
43
49
|
return (jsx_runtime_1.jsx("div", { style: controlStyle, children: items.map((i) => {
|
|
44
|
-
return (jsx_runtime_1.jsx(Item, { onClick: i.onClick, selected: i.selected, children: i.label }, i.key));
|
|
50
|
+
return (jsx_runtime_1.jsx(Item, { onClick: i.onClick, selected: i.selected, size: size, children: i.label }, i.key));
|
|
45
51
|
}) }));
|
|
46
52
|
};
|
|
47
53
|
exports.SegmentedControl = SegmentedControl;
|
|
48
|
-
const Item = ({ selected, onClick, children }) => {
|
|
54
|
+
const Item = ({ selected, onClick, children, size }) => {
|
|
49
55
|
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
50
56
|
const { tabIndex } = (0, z_index_1.useZIndex)();
|
|
51
57
|
const onPointerEnter = (0, react_1.useCallback)(() => {
|
|
@@ -56,10 +62,10 @@ const Item = ({ selected, onClick, children }) => {
|
|
|
56
62
|
}, []);
|
|
57
63
|
const itemStyle = (0, react_1.useMemo)(() => {
|
|
58
64
|
return {
|
|
59
|
-
...item,
|
|
65
|
+
...(size === 'compact' ? compactItem : item),
|
|
60
66
|
backgroundColor: selected ? colors_1.INPUT_BACKGROUND : 'transparent',
|
|
61
67
|
color: selected ? 'white' : hovered ? 'white' : colors_1.LIGHT_TEXT,
|
|
62
68
|
};
|
|
63
|
-
}, [hovered, selected]);
|
|
69
|
+
}, [hovered, selected, size]);
|
|
64
70
|
return (jsx_runtime_1.jsx("button", { type: "button", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, style: itemStyle, tabIndex: tabIndex, onClick: onClick, children: children }));
|
|
65
71
|
};
|
|
@@ -42,6 +42,7 @@ const client_id_1 = require("../helpers/client-id");
|
|
|
42
42
|
const colors_1 = require("../helpers/colors");
|
|
43
43
|
const format_file_location_1 = require("../helpers/format-file-location");
|
|
44
44
|
const open_in_editor_1 = require("../helpers/open-in-editor");
|
|
45
|
+
const modals_1 = require("../state/modals");
|
|
45
46
|
const call_api_1 = require("./call-api");
|
|
46
47
|
const ConfirmationDialog_1 = require("./ConfirmationDialog");
|
|
47
48
|
const ContextMenu_1 = require("./ContextMenu");
|
|
@@ -303,7 +304,9 @@ const SelectedOutlineTransformOriginHandle = ({ outline, onDraggingChange, targe
|
|
|
303
304
|
position === null) {
|
|
304
305
|
return null;
|
|
305
306
|
}
|
|
306
|
-
return (jsx_runtime_1.jsxs("g", { pointerEvents: "all", cursor: "crosshair", onPointerDown: onPointerDown, "aria-hidden": "true",
|
|
307
|
+
return (jsx_runtime_1.jsxs("g", { pointerEvents: "all", cursor: "crosshair", onPointerDown: onPointerDown, "aria-hidden": "true", style: {
|
|
308
|
+
filter: 'drop-shadow(0 0 1px rgba(255, 255, 255, 0.2))',
|
|
309
|
+
}, children: [
|
|
307
310
|
jsx_runtime_1.jsx("circle", { cx: position.x, cy: position.y, r: 4, stroke: colors_1.BLUE, fill: "none", strokeWidth: 2, vectorEffect: "non-scaling-stroke" }), jsx_runtime_1.jsx("line", { x1: position.x - 8, y1: position.y, x2: position.x + 8, y2: position.y, stroke: colors_1.BLUE, strokeWidth: 2, vectorEffect: "non-scaling-stroke" }), jsx_runtime_1.jsx("line", { x1: position.x, y1: position.y - 8, x2: position.x, y2: position.y + 8, stroke: colors_1.BLUE, strokeWidth: 2, vectorEffect: "non-scaling-stroke" })
|
|
308
311
|
] }));
|
|
309
312
|
};
|
|
@@ -715,11 +718,14 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
|
|
|
715
718
|
return;
|
|
716
719
|
}
|
|
717
720
|
const interaction = (0, selected_outline_measurement_1.getOutlineSelectionInteraction)(event);
|
|
718
|
-
const shouldUpdateSelection = !selected || interaction.
|
|
721
|
+
const shouldUpdateSelection = !selected || interaction.toggleKey;
|
|
719
722
|
if (shouldUpdateSelection && target !== undefined) {
|
|
720
|
-
onSelect(target.selection,
|
|
723
|
+
onSelect(target.selection, {
|
|
724
|
+
shiftKey: false,
|
|
725
|
+
toggleKey: interaction.toggleKey,
|
|
726
|
+
});
|
|
721
727
|
}
|
|
722
|
-
if (interaction.
|
|
728
|
+
if (interaction.toggleKey) {
|
|
723
729
|
return;
|
|
724
730
|
}
|
|
725
731
|
const startPointer = { x: event.clientX, y: event.clientY };
|
|
@@ -739,8 +745,38 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
|
|
|
739
745
|
y: event.clientY,
|
|
740
746
|
});
|
|
741
747
|
let accumulatedDelta = 0;
|
|
748
|
+
let rotationLocked = event.shiftKey;
|
|
742
749
|
let lastValues = new Map();
|
|
743
750
|
let dragStarted = false;
|
|
751
|
+
const updateRotationDragOverrides = () => {
|
|
752
|
+
const rotationDeltaDegrees = rotationLocked
|
|
753
|
+
? (0, selected_outline_drag_1.snapSelectedOutlineRotationDeltaDegrees)({
|
|
754
|
+
dragStates,
|
|
755
|
+
rotationDeltaDegrees: accumulatedDelta,
|
|
756
|
+
})
|
|
757
|
+
: accumulatedDelta;
|
|
758
|
+
lastValues = (0, selected_outline_drag_1.getSelectedOutlineRotationDragValues)({
|
|
759
|
+
dragStates,
|
|
760
|
+
rotationDeltaDegrees,
|
|
761
|
+
});
|
|
762
|
+
(0, ForceSpecificCursor_1.forceSpecificCursor)((0, selected_outline_measurement_1.getRotationCursor)(cornerInfo.cursorDegrees + rotationDeltaDegrees));
|
|
763
|
+
for (const dragState of dragStates) {
|
|
764
|
+
const value = lastValues.get(dragState.key);
|
|
765
|
+
if (value === undefined) {
|
|
766
|
+
throw new Error('Expected rotation drag value to be available');
|
|
767
|
+
}
|
|
768
|
+
if (dragState.target.propStatus.status === 'keyframed') {
|
|
769
|
+
setDragOverrides(dragState.target.nodePath, selected_outline_types_1.rotateFieldKey, remotion_1.Internals.makeKeyframedDragOverride({
|
|
770
|
+
status: dragState.target.propStatus,
|
|
771
|
+
frame: dragState.sourceFrame,
|
|
772
|
+
value,
|
|
773
|
+
}));
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
setDragOverrides(dragState.target.nodePath, selected_outline_types_1.rotateFieldKey, remotion_1.Internals.makeStaticDragOverride(value));
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
};
|
|
744
780
|
const onPointerMove = (moveEvent) => {
|
|
745
781
|
moveEvent.preventDefault();
|
|
746
782
|
const screenDeltaX = moveEvent.clientX - startPointer.x;
|
|
@@ -764,32 +800,28 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
|
|
|
764
800
|
to: nextAngle,
|
|
765
801
|
});
|
|
766
802
|
previousAngle = nextAngle;
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
value,
|
|
782
|
-
}));
|
|
783
|
-
}
|
|
784
|
-
else {
|
|
785
|
-
setDragOverrides(dragState.target.nodePath, selected_outline_types_1.rotateFieldKey, remotion_1.Internals.makeStaticDragOverride(value));
|
|
786
|
-
}
|
|
803
|
+
rotationLocked = moveEvent.shiftKey;
|
|
804
|
+
updateRotationDragOverrides();
|
|
805
|
+
};
|
|
806
|
+
const onKeyChange = (keyEvent) => {
|
|
807
|
+
if (keyEvent.key !== 'Shift') {
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
const nextRotationLocked = keyEvent.type === 'keydown';
|
|
811
|
+
if (nextRotationLocked === rotationLocked) {
|
|
812
|
+
return;
|
|
813
|
+
}
|
|
814
|
+
rotationLocked = nextRotationLocked;
|
|
815
|
+
if (dragStarted) {
|
|
816
|
+
updateRotationDragOverrides();
|
|
787
817
|
}
|
|
788
818
|
};
|
|
789
819
|
const onPointerUp = () => {
|
|
790
820
|
window.removeEventListener('pointermove', onPointerMove);
|
|
791
821
|
window.removeEventListener('pointerup', onPointerUp);
|
|
792
822
|
window.removeEventListener('pointercancel', onPointerUp);
|
|
823
|
+
window.removeEventListener('keydown', onKeyChange);
|
|
824
|
+
window.removeEventListener('keyup', onKeyChange);
|
|
793
825
|
if (dragStarted) {
|
|
794
826
|
(0, ForceSpecificCursor_1.stopForcingSpecificCursor)();
|
|
795
827
|
onDraggingChange(false);
|
|
@@ -845,6 +877,8 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
|
|
|
845
877
|
window.addEventListener('pointermove', onPointerMove);
|
|
846
878
|
window.addEventListener('pointerup', onPointerUp);
|
|
847
879
|
window.addEventListener('pointercancel', onPointerUp);
|
|
880
|
+
window.addEventListener('keydown', onKeyChange);
|
|
881
|
+
window.addEventListener('keyup', onKeyChange);
|
|
848
882
|
}, [
|
|
849
883
|
allRotationDragTargets,
|
|
850
884
|
clearDragOverrides,
|
|
@@ -881,6 +915,7 @@ const SelectedOutlineElement = ({ allDragTargets, allRotationDragTargets, allSca
|
|
|
881
915
|
const updateResolvedStackTrace = (0, react_1.useContext)(remotion_1.Internals.SequenceStackTracesUpdateContext);
|
|
882
916
|
const confirm = (0, ConfirmationDialog_1.useConfirmationDialog)();
|
|
883
917
|
const selectAsset = (0, use_select_asset_1.useSelectAsset)();
|
|
918
|
+
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
884
919
|
const onContextMenuOpen = react_1.default.useCallback(async () => {
|
|
885
920
|
if (target === undefined || previewServerState.type !== 'connected') {
|
|
886
921
|
return false;
|
|
@@ -915,6 +950,9 @@ const SelectedOutlineElement = ({ allDragTargets, allRotationDragTargets, allSca
|
|
|
915
950
|
const canOpenInEditor = Boolean(window.remotion_editorName && originalLocation);
|
|
916
951
|
const disableInteractivityDisabled = !target.sequence.showInTimeline;
|
|
917
952
|
const sourceEditDisabled = !target.sequence.controls || !nodePath.absolutePath;
|
|
953
|
+
const canAddEffect = target.nodePathInfo.supportsEffects &&
|
|
954
|
+
!sourceEditDisabled &&
|
|
955
|
+
previewServerState.type === 'connected';
|
|
918
956
|
return (0, get_sequence_context_menu_items_1.getSequenceContextMenuItems)({
|
|
919
957
|
assetLinkInfo,
|
|
920
958
|
canOpenInEditor,
|
|
@@ -988,12 +1026,46 @@ const SelectedOutlineElement = ({ allDragTargets, allRotationDragTargets, allSca
|
|
|
988
1026
|
originalLocation,
|
|
989
1027
|
selectAsset,
|
|
990
1028
|
sequence: target.sequence,
|
|
1029
|
+
sourceActions: [
|
|
1030
|
+
...(target.nodePathInfo.supportsEffects
|
|
1031
|
+
? [
|
|
1032
|
+
{
|
|
1033
|
+
type: 'item',
|
|
1034
|
+
id: 'add-effect',
|
|
1035
|
+
keyHint: null,
|
|
1036
|
+
label: 'Add effect...',
|
|
1037
|
+
leftItem: null,
|
|
1038
|
+
disabled: !canAddEffect,
|
|
1039
|
+
onClick: () => {
|
|
1040
|
+
if (!canAddEffect ||
|
|
1041
|
+
previewServerState.type !== 'connected') {
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1044
|
+
setSelectedModal({
|
|
1045
|
+
type: 'add-effect',
|
|
1046
|
+
clientId: previewServerState.clientId,
|
|
1047
|
+
fileName: nodePath.absolutePath,
|
|
1048
|
+
nodePath,
|
|
1049
|
+
});
|
|
1050
|
+
},
|
|
1051
|
+
quickSwitcherLabel: null,
|
|
1052
|
+
subMenu: null,
|
|
1053
|
+
value: 'add-effect',
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
type: 'divider',
|
|
1057
|
+
id: 'add-effect-divider',
|
|
1058
|
+
},
|
|
1059
|
+
]
|
|
1060
|
+
: []),
|
|
1061
|
+
],
|
|
991
1062
|
});
|
|
992
1063
|
}, [
|
|
993
1064
|
confirm,
|
|
994
1065
|
onSelect,
|
|
995
1066
|
previewServerState,
|
|
996
1067
|
selectAsset,
|
|
1068
|
+
setSelectedModal,
|
|
997
1069
|
setPropStatuses,
|
|
998
1070
|
target,
|
|
999
1071
|
updateResolvedStackTrace,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export { applySelectedOutlineDragAxisLock, applySelectedOutlineTransformOriginAxisLock, compensateTranslateForTransformOrigin, getSelectedOutlineDragChanges, getSelectedOutlineDragValues, getSelectedOutlineKeyboardNudgeDelta, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineRotationDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutlineRotationDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineTransformOriginLockedAxis, isSelectedOutlineDragPastThreshold, selectedOutlineTransformOriginSnapThresholdPx, snapSelectedOutlineTransformOriginUv, } from './selected-outline-drag';
|
|
2
|
+
export { applySelectedOutlineDragAxisLock, applySelectedOutlineTransformOriginAxisLock, compensateTranslateForTransformOrigin, getSelectedOutlineActiveSchema, getSelectedOutlineDragChanges, getSelectedOutlineDragValues, getSelectedOutlineKeyboardNudgeDelta, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineRotationDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutlineRotationDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineTransformOriginLockedAxis, isSelectedOutlineDragPastThreshold, selectedOutlineUvSnapThresholdPx, selectedOutlineTransformOriginSnapThresholdPx, snapSelectedOutlineRotationDeltaDegrees, snapSelectedOutlineUv, snapSelectedOutlineTransformOriginUv, } from './selected-outline-drag';
|
|
3
3
|
export { getOutlineSelectionInteraction, getSelectedEffectFieldsBySequenceKey, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationPivot, getSelectedSequenceKeys, getSequencesWithSelectableOutlines, getTransformedSvgViewportPoints, } from './selected-outline-measurement';
|
|
4
4
|
export { selectedOutlineDragThresholdPx } from './selected-outline-types';
|
|
5
5
|
export type { SelectedOutlineDragState, SelectedOutlineRotationDragState, SelectedOutlineScaleDragState, } from './selected-outline-types';
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.SelectedOutlineOverlay = exports.selectedOutlineDragThresholdPx = exports.getTransformedSvgViewportPoints = exports.getSequencesWithSelectableOutlines = exports.getSelectedSequenceKeys = exports.getSelectedOutlineRotationPivot = exports.getSelectedOutlineRotationDeltaDegrees = exports.getSelectedOutlineRotationCornerInfo = exports.getSelectedEffectFieldsBySequenceKey = exports.getOutlineSelectionInteraction = exports.snapSelectedOutlineTransformOriginUv = exports.selectedOutlineTransformOriginSnapThresholdPx = exports.isSelectedOutlineDragPastThreshold = exports.getSelectedOutlineTransformOriginLockedAxis = exports.getSelectedOutlineScaleEdgeInfo = exports.getSelectedOutlineScaleDragValues = exports.getSelectedOutlineScaleDragStates = exports.getSelectedOutlineScaleDragChanges = exports.getSelectedOutlineRotationDragValues = exports.getSelectedOutlineRotationDragStates = exports.getSelectedOutlineRotationDragChanges = exports.getSelectedOutlineKeyboardNudgeDeltas = exports.getSelectedOutlineKeyboardNudgeDelta = exports.getSelectedOutlineDragValues = exports.getSelectedOutlineDragChanges = exports.compensateTranslateForTransformOrigin = exports.applySelectedOutlineTransformOriginAxisLock = exports.applySelectedOutlineDragAxisLock = void 0;
|
|
36
|
+
exports.SelectedOutlineOverlay = exports.selectedOutlineDragThresholdPx = exports.getTransformedSvgViewportPoints = exports.getSequencesWithSelectableOutlines = exports.getSelectedSequenceKeys = exports.getSelectedOutlineRotationPivot = exports.getSelectedOutlineRotationDeltaDegrees = exports.getSelectedOutlineRotationCornerInfo = exports.getSelectedEffectFieldsBySequenceKey = exports.getOutlineSelectionInteraction = exports.snapSelectedOutlineTransformOriginUv = exports.snapSelectedOutlineUv = exports.snapSelectedOutlineRotationDeltaDegrees = exports.selectedOutlineTransformOriginSnapThresholdPx = exports.selectedOutlineUvSnapThresholdPx = exports.isSelectedOutlineDragPastThreshold = exports.getSelectedOutlineTransformOriginLockedAxis = exports.getSelectedOutlineScaleEdgeInfo = exports.getSelectedOutlineScaleDragValues = exports.getSelectedOutlineScaleDragStates = exports.getSelectedOutlineScaleDragChanges = exports.getSelectedOutlineRotationDragValues = exports.getSelectedOutlineRotationDragStates = exports.getSelectedOutlineRotationDragChanges = exports.getSelectedOutlineKeyboardNudgeDeltas = exports.getSelectedOutlineKeyboardNudgeDelta = exports.getSelectedOutlineDragValues = exports.getSelectedOutlineDragChanges = exports.getSelectedOutlineActiveSchema = exports.compensateTranslateForTransformOrigin = exports.applySelectedOutlineTransformOriginAxisLock = exports.applySelectedOutlineDragAxisLock = void 0;
|
|
37
37
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
38
|
const player_1 = require("@remotion/player");
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
@@ -59,6 +59,7 @@ const selected_outline_drag_2 = require("./selected-outline-drag");
|
|
|
59
59
|
Object.defineProperty(exports, "applySelectedOutlineDragAxisLock", { enumerable: true, get: function () { return selected_outline_drag_2.applySelectedOutlineDragAxisLock; } });
|
|
60
60
|
Object.defineProperty(exports, "applySelectedOutlineTransformOriginAxisLock", { enumerable: true, get: function () { return selected_outline_drag_2.applySelectedOutlineTransformOriginAxisLock; } });
|
|
61
61
|
Object.defineProperty(exports, "compensateTranslateForTransformOrigin", { enumerable: true, get: function () { return selected_outline_drag_2.compensateTranslateForTransformOrigin; } });
|
|
62
|
+
Object.defineProperty(exports, "getSelectedOutlineActiveSchema", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineActiveSchema; } });
|
|
62
63
|
Object.defineProperty(exports, "getSelectedOutlineDragChanges", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineDragChanges; } });
|
|
63
64
|
Object.defineProperty(exports, "getSelectedOutlineDragValues", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineDragValues; } });
|
|
64
65
|
Object.defineProperty(exports, "getSelectedOutlineKeyboardNudgeDelta", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineKeyboardNudgeDelta; } });
|
|
@@ -72,7 +73,10 @@ Object.defineProperty(exports, "getSelectedOutlineScaleDragValues", { enumerable
|
|
|
72
73
|
Object.defineProperty(exports, "getSelectedOutlineScaleEdgeInfo", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineScaleEdgeInfo; } });
|
|
73
74
|
Object.defineProperty(exports, "getSelectedOutlineTransformOriginLockedAxis", { enumerable: true, get: function () { return selected_outline_drag_2.getSelectedOutlineTransformOriginLockedAxis; } });
|
|
74
75
|
Object.defineProperty(exports, "isSelectedOutlineDragPastThreshold", { enumerable: true, get: function () { return selected_outline_drag_2.isSelectedOutlineDragPastThreshold; } });
|
|
76
|
+
Object.defineProperty(exports, "selectedOutlineUvSnapThresholdPx", { enumerable: true, get: function () { return selected_outline_drag_2.selectedOutlineUvSnapThresholdPx; } });
|
|
75
77
|
Object.defineProperty(exports, "selectedOutlineTransformOriginSnapThresholdPx", { enumerable: true, get: function () { return selected_outline_drag_2.selectedOutlineTransformOriginSnapThresholdPx; } });
|
|
78
|
+
Object.defineProperty(exports, "snapSelectedOutlineRotationDeltaDegrees", { enumerable: true, get: function () { return selected_outline_drag_2.snapSelectedOutlineRotationDeltaDegrees; } });
|
|
79
|
+
Object.defineProperty(exports, "snapSelectedOutlineUv", { enumerable: true, get: function () { return selected_outline_drag_2.snapSelectedOutlineUv; } });
|
|
76
80
|
Object.defineProperty(exports, "snapSelectedOutlineTransformOriginUv", { enumerable: true, get: function () { return selected_outline_drag_2.snapSelectedOutlineTransformOriginUv; } });
|
|
77
81
|
const selected_outline_measurement_2 = require("./selected-outline-measurement");
|
|
78
82
|
Object.defineProperty(exports, "getOutlineSelectionInteraction", { enumerable: true, get: function () { return selected_outline_measurement_2.getOutlineSelectionInteraction; } });
|
|
@@ -131,8 +135,7 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
131
135
|
sequences,
|
|
132
136
|
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
133
137
|
}).map(({ key, keyframeDisplayOffset, nodePathInfo, sequence }) => {
|
|
134
|
-
var _a;
|
|
135
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
138
|
+
var _a, _b, _c, _d, _e, _f;
|
|
136
139
|
if (sequence.refForOutline === null) {
|
|
137
140
|
throw new Error('Expected sequence to have a ref for outline');
|
|
138
141
|
}
|
|
@@ -140,26 +143,36 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
140
143
|
const containsSelection = sequenceKeysContainingSelection.has(key);
|
|
141
144
|
const nodePath = nodePathInfo.sequenceSubscriptionKey;
|
|
142
145
|
const { controls } = sequence;
|
|
143
|
-
const fieldSchema = controls === null || controls === void 0 ? void 0 : controls.schema[selected_outline_types_1.translateFieldKey];
|
|
144
146
|
const nodePropStatuses = remotion_1.Internals.getPropStatusesCtx(propStatuses, nodePath);
|
|
147
|
+
const sourceFrame = timelinePosition - keyframeDisplayOffset;
|
|
148
|
+
const dragOverrides = (_a = getDragOverrides(nodePath)) !== null && _a !== void 0 ? _a : {};
|
|
149
|
+
const activeSchema = controls
|
|
150
|
+
? (0, selected_outline_drag_1.getSelectedOutlineActiveSchema)({
|
|
151
|
+
schema: controls.schema,
|
|
152
|
+
currentRuntimeValueDotNotation: controls.currentRuntimeValueDotNotation,
|
|
153
|
+
dragOverrides,
|
|
154
|
+
propStatus: nodePropStatuses,
|
|
155
|
+
frame: sourceFrame,
|
|
156
|
+
})
|
|
157
|
+
: null;
|
|
158
|
+
const fieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema[selected_outline_types_1.translateFieldKey];
|
|
145
159
|
const propStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.translateFieldKey];
|
|
146
|
-
const scaleFieldSchema =
|
|
160
|
+
const scaleFieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema[selected_outline_types_1.scaleFieldKey];
|
|
147
161
|
const scalePropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.scaleFieldKey];
|
|
148
|
-
const rotationFieldSchema =
|
|
149
|
-
const rotationPropStatus =
|
|
150
|
-
const transformOriginFieldSchema =
|
|
162
|
+
const rotationFieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema[selected_outline_types_1.rotateFieldKey];
|
|
163
|
+
const rotationPropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.rotateFieldKey];
|
|
164
|
+
const transformOriginFieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema[selected_outline_types_1.transformOriginFieldKey];
|
|
151
165
|
const transformOriginPropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.transformOriginFieldKey];
|
|
152
|
-
const rotationSourceFrame = timelinePosition - keyframeDisplayOffset;
|
|
153
166
|
const transformOriginValueForRotation = (transformOriginFieldSchema === null || transformOriginFieldSchema === void 0 ? void 0 : transformOriginFieldSchema.type) === 'transform-origin' &&
|
|
154
167
|
((transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'static' ||
|
|
155
168
|
(transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'keyframed')
|
|
156
|
-
? String((
|
|
169
|
+
? String((_b = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
157
170
|
propStatus: transformOriginPropStatus,
|
|
158
|
-
dragOverrideValue:
|
|
171
|
+
dragOverrideValue: dragOverrides[selected_outline_types_1.transformOriginFieldKey],
|
|
159
172
|
defaultValue: transformOriginFieldSchema.default,
|
|
160
|
-
frame:
|
|
173
|
+
frame: sourceFrame,
|
|
161
174
|
shouldResortToDefaultValueIfUndefined: true,
|
|
162
|
-
})) !== null &&
|
|
175
|
+
})) !== null && _b !== void 0 ? _b : transformOriginFieldSchema.default)
|
|
163
176
|
: '50% 50%';
|
|
164
177
|
const canDragStatus = (propStatus === null || propStatus === void 0 ? void 0 : propStatus.status) === 'static' ||
|
|
165
178
|
((propStatus === null || propStatus === void 0 ? void 0 : propStatus.status) === 'keyframed' &&
|
|
@@ -185,7 +198,7 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
185
198
|
const selectedForTransformOrigin = (selectedTransformOriginInfo === null || selectedTransformOriginInfo === void 0 ? void 0 : selectedTransformOriginInfo.sequenceKey) === key;
|
|
186
199
|
const transformOriginSourceFrame = (selectedTransformOriginInfo === null || selectedTransformOriginInfo === void 0 ? void 0 : selectedTransformOriginInfo.displayFrame) === null ||
|
|
187
200
|
(selectedTransformOriginInfo === null || selectedTransformOriginInfo === void 0 ? void 0 : selectedTransformOriginInfo.displayFrame) === undefined
|
|
188
|
-
?
|
|
201
|
+
? sourceFrame
|
|
189
202
|
: selectedTransformOriginInfo.displayFrame - keyframeDisplayOffset;
|
|
190
203
|
const canTransformOriginStatus = (transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'static' ||
|
|
191
204
|
((transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'keyframed' &&
|
|
@@ -238,8 +251,7 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
238
251
|
nodePath,
|
|
239
252
|
fieldKey: selected_outline_types_1.scaleFieldKey,
|
|
240
253
|
defaultValue: (() => {
|
|
241
|
-
|
|
242
|
-
const dragOverrideValue = ((_a = getDragOverrides(nodePath)) !== null && _a !== void 0 ? _a : {})[selected_outline_types_1.scaleFieldKey];
|
|
254
|
+
const dragOverrideValue = dragOverrides[selected_outline_types_1.scaleFieldKey];
|
|
243
255
|
const effectiveValue = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
244
256
|
propStatus: scalePropStatus,
|
|
245
257
|
dragOverrideValue,
|
|
@@ -273,48 +285,48 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
273
285
|
nodePath,
|
|
274
286
|
originDefault: transformOriginFieldSchema.default,
|
|
275
287
|
originPropStatus: transformOriginPropStatus,
|
|
276
|
-
originValue: String((
|
|
288
|
+
originValue: String((_c = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
277
289
|
propStatus: transformOriginPropStatus,
|
|
278
|
-
dragOverrideValue:
|
|
290
|
+
dragOverrideValue: dragOverrides[selected_outline_types_1.transformOriginFieldKey],
|
|
279
291
|
defaultValue: transformOriginFieldSchema.default,
|
|
280
292
|
frame: transformOriginSourceFrame,
|
|
281
293
|
shouldResortToDefaultValueIfUndefined: true,
|
|
282
|
-
})) !== null &&
|
|
294
|
+
})) !== null && _c !== void 0 ? _c : transformOriginFieldSchema.default),
|
|
283
295
|
rotateValue: String((rotationPropStatus === null || rotationPropStatus === void 0 ? void 0 : rotationPropStatus.status) === 'static' ||
|
|
284
296
|
(rotationPropStatus === null || rotationPropStatus === void 0 ? void 0 : rotationPropStatus.status) === 'keyframed'
|
|
285
|
-
? ((
|
|
297
|
+
? ((_d = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
286
298
|
propStatus: rotationPropStatus,
|
|
287
|
-
dragOverrideValue:
|
|
299
|
+
dragOverrideValue: dragOverrides[selected_outline_types_1.rotateFieldKey],
|
|
288
300
|
defaultValue: (rotationFieldSchema === null || rotationFieldSchema === void 0 ? void 0 : rotationFieldSchema.type) === 'rotation-css'
|
|
289
301
|
? rotationFieldSchema.default
|
|
290
302
|
: '0deg',
|
|
291
303
|
frame: transformOriginSourceFrame,
|
|
292
304
|
shouldResortToDefaultValueIfUndefined: true,
|
|
293
|
-
})) !== null &&
|
|
305
|
+
})) !== null && _d !== void 0 ? _d : '0deg')
|
|
294
306
|
: '0deg'),
|
|
295
307
|
scaleValue: (scalePropStatus === null || scalePropStatus === void 0 ? void 0 : scalePropStatus.status) === 'static' ||
|
|
296
308
|
(scalePropStatus === null || scalePropStatus === void 0 ? void 0 : scalePropStatus.status) === 'keyframed'
|
|
297
|
-
? String((
|
|
309
|
+
? String((_e = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
298
310
|
propStatus: scalePropStatus,
|
|
299
|
-
dragOverrideValue:
|
|
311
|
+
dragOverrideValue: dragOverrides[selected_outline_types_1.scaleFieldKey],
|
|
300
312
|
defaultValue: (scaleFieldSchema === null || scaleFieldSchema === void 0 ? void 0 : scaleFieldSchema.type) === 'scale'
|
|
301
313
|
? scaleFieldSchema.default
|
|
302
314
|
: 1,
|
|
303
315
|
frame: transformOriginSourceFrame,
|
|
304
316
|
shouldResortToDefaultValueIfUndefined: true,
|
|
305
|
-
})) !== null &&
|
|
317
|
+
})) !== null && _e !== void 0 ? _e : 1)
|
|
306
318
|
: '1',
|
|
307
319
|
schema: controls.schema,
|
|
308
320
|
sourceFrame: transformOriginSourceFrame,
|
|
309
321
|
translateDefault: fieldSchema.default,
|
|
310
322
|
translatePropStatus: propStatus,
|
|
311
|
-
translateValue: String((
|
|
323
|
+
translateValue: String((_f = remotion_1.Internals.getEffectiveVisualModeValue({
|
|
312
324
|
propStatus,
|
|
313
|
-
dragOverrideValue:
|
|
325
|
+
dragOverrideValue: dragOverrides[selected_outline_types_1.translateFieldKey],
|
|
314
326
|
defaultValue: fieldSchema.default,
|
|
315
327
|
frame: transformOriginSourceFrame,
|
|
316
328
|
shouldResortToDefaultValueIfUndefined: true,
|
|
317
|
-
})) !== null &&
|
|
329
|
+
})) !== null && _f !== void 0 ? _f : fieldSchema.default),
|
|
318
330
|
}
|
|
319
331
|
: null,
|
|
320
332
|
uvHandles: containsSelection
|
|
@@ -352,7 +364,9 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
352
364
|
return new Map(outlineTargets.map((target) => [target.key, target]));
|
|
353
365
|
}, [outlineTargets]);
|
|
354
366
|
const allDragTargets = (0, react_1.useMemo)(() => {
|
|
355
|
-
return outlineTargets.flatMap((target) => target.selected
|
|
367
|
+
return outlineTargets.flatMap((target) => (target.selected || target.containsSelection) && target.drag !== null
|
|
368
|
+
? [target.drag]
|
|
369
|
+
: []);
|
|
356
370
|
}, [outlineTargets]);
|
|
357
371
|
const allScaleDragTargets = (0, react_1.useMemo)(() => {
|
|
358
372
|
return outlineTargets.flatMap((target) => target.selected && target.scaleDrag !== null ? [target.scaleDrag] : []);
|
|
@@ -608,6 +622,6 @@ const SelectedOutlineOverlay = ({ scale }) => {
|
|
|
608
622
|
if (outlineTargets.length === 0) {
|
|
609
623
|
return null;
|
|
610
624
|
}
|
|
611
|
-
return (jsx_runtime_1.jsxs("svg", { ref: overlayRef, style: outlineContainer, width: "100%", height: "100%", "aria-hidden": "true", children: [outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineElement_1.SelectedOutlineElement, { allDragTargets: allDragTargets, allRotationDragTargets: allRotationDragTargets, allScaleDragTargets: allScaleDragTargets, dragging: draggingOutline, hovered: hoveredOutlineKey === outline.key, outline: outline, onDraggingChange: onDraggingChange, onHoverChange: setHoveredOutlineKey, onSelect: selectItem, scale: scale, target: targetsByKey.get(outline.key) }, outline.key))), outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineUvControls_1.SelectedOutlineUvHandleConnectionLayer, { outline: outline, target: targetsByKey.get(outline.key) }, `${outline.key}-uv-connection-lines`))), outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineUvControls_1.SelectedOutlineUvHandleCircleLayer, { onDraggingChange: onDraggingChange, outline: outline, target: targetsByKey.get(outline.key) }, `${outline.key}-uv-handles`)))] }));
|
|
625
|
+
return (jsx_runtime_1.jsxs("svg", { ref: overlayRef, style: outlineContainer, width: "100%", height: "100%", "aria-hidden": "true", children: [outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineElement_1.SelectedOutlineElement, { allDragTargets: allDragTargets, allRotationDragTargets: allRotationDragTargets, allScaleDragTargets: allScaleDragTargets, dragging: draggingOutline, hovered: hoveredOutlineKey === outline.key, outline: outline, onDraggingChange: onDraggingChange, onHoverChange: setHoveredOutlineKey, onSelect: selectItem, scale: scale, target: targetsByKey.get(outline.key) }, outline.key))), outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineUvControls_1.SelectedOutlineUvHandleConnectionLayer, { outline: outline, target: targetsByKey.get(outline.key) }, `${outline.key}-uv-connection-lines`))), outlines.map((outline) => (jsx_runtime_1.jsx(SelectedOutlineUvControls_1.SelectedOutlineUvHandleCircleLayer, { onDraggingChange: onDraggingChange, onSelect: selectItem, outline: outline, target: targetsByKey.get(outline.key) }, `${outline.key}-uv-handles`)))] }));
|
|
612
626
|
};
|
|
613
627
|
exports.SelectedOutlineOverlay = SelectedOutlineOverlay;
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { SequenceNodePathInfo } from '../helpers/get-timeline-sequence-sort-key';
|
|
2
3
|
import type { SelectedOutline } from './selected-outline-geometry';
|
|
3
4
|
import { type SelectedOutlineUvHandle } from './selected-outline-uv';
|
|
5
|
+
import type { TimelineSelection, TimelineSelectionInteraction } from './Timeline/TimelineSelection';
|
|
6
|
+
export declare const getSelectedOutlineUvHandleTimelineSelection: ({ effectIndex, fieldKey, nodePathInfo, }: {
|
|
7
|
+
readonly effectIndex: number;
|
|
8
|
+
readonly fieldKey: string;
|
|
9
|
+
readonly nodePathInfo: SequenceNodePathInfo;
|
|
10
|
+
}) => TimelineSelection;
|
|
4
11
|
type UvTarget = {
|
|
5
12
|
readonly containsSelection: boolean;
|
|
13
|
+
readonly nodePathInfo: SequenceNodePathInfo;
|
|
6
14
|
readonly uvHandles: readonly SelectedOutlineUvHandle[];
|
|
7
15
|
};
|
|
8
16
|
export declare const SelectedOutlineUvHandleConnectionLayer: React.FC<{
|
|
@@ -11,6 +19,7 @@ export declare const SelectedOutlineUvHandleConnectionLayer: React.FC<{
|
|
|
11
19
|
}>;
|
|
12
20
|
export declare const SelectedOutlineUvHandleCircleLayer: React.FC<{
|
|
13
21
|
readonly onDraggingChange: (dragging: boolean) => void;
|
|
22
|
+
readonly onSelect: (item: TimelineSelection, interaction?: TimelineSelectionInteraction) => void;
|
|
14
23
|
readonly outline: SelectedOutline;
|
|
15
24
|
readonly target: UvTarget | undefined;
|
|
16
25
|
}>;
|