@remotion/studio 4.0.490 → 4.0.491
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 +1 -0
- package/dist/components/CurrentComposition.js +4 -1
- package/dist/components/EditorContent.js +1 -1
- package/dist/components/GlobalKeybindings.d.ts +1 -3
- package/dist/components/GlobalKeybindings.js +2 -9
- package/dist/components/InspectorLocationCopy.d.ts +7 -0
- package/dist/components/InspectorLocationCopy.js +65 -0
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +4 -3
- package/dist/components/KeyboardShortcutsExplainer.js +4 -0
- package/dist/components/OptionsPanel.js +4 -8
- package/dist/components/OutlineToggle.d.ts +3 -1
- package/dist/components/OutlineToggle.js +2 -2
- package/dist/components/PreviewToolbar.js +1 -1
- package/dist/components/RenderButton.js +9 -33
- package/dist/components/RenderModal/WebRenderModal.js +3 -8
- package/dist/components/RenderModal/WebRenderModalAdvanced.d.ts +0 -2
- package/dist/components/RenderModal/WebRenderModalAdvanced.js +2 -9
- package/dist/components/RenderQueue/ClientRenderQueueProcessor.js +0 -2
- package/dist/components/RenderQueue/client-side-render-types.d.ts +0 -1
- package/dist/components/RenderQueue/index.js +0 -9
- package/dist/components/SelectedOutlineElement.js +40 -38
- package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
- package/dist/components/SelectedOutlineOverlay.js +2 -13
- package/dist/components/SnappingToggle.d.ts +3 -1
- package/dist/components/SnappingToggle.js +2 -2
- package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +20 -1
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +301 -155
- package/dist/components/Timeline/TimelineEffectPropItem.js +7 -11
- package/dist/components/Timeline/TimelineFieldLabel.d.ts +1 -0
- package/dist/components/Timeline/TimelineFieldLabel.js +4 -2
- package/dist/components/Timeline/TimelineFieldRowContent.d.ts +8 -0
- package/dist/components/Timeline/TimelineFieldRowContent.js +16 -0
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +1 -1
- package/dist/components/Timeline/TimelineRowChrome.js +2 -0
- package/dist/components/Timeline/TimelineSequence.js +2 -4
- package/dist/components/Timeline/TimelineSequencePropItem.js +8 -10
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +2 -0
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +18 -6
- package/dist/components/Timeline/TimelineTextContentField.js +12 -5
- package/dist/components/Timeline/TimelineVideoInfo.d.ts +3 -1
- package/dist/components/Timeline/TimelineVideoInfo.js +11 -4
- package/dist/components/Timeline/delete-selected-timeline-item.js +4 -5
- package/dist/components/Timeline/effects-clipboard.d.ts +14 -0
- package/dist/components/Timeline/effects-clipboard.js +68 -0
- package/dist/components/Timeline/get-sequence-context-menu-items.js +37 -0
- package/dist/components/Timeline/get-timeline-media-start-frame.d.ts +6 -0
- package/dist/components/Timeline/get-timeline-media-start-frame.js +15 -0
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +3 -2
- package/dist/components/Timeline/sequence-props-subscription-store.js +4 -2
- package/dist/components/Timeline/timeline-field-row-layout.d.ts +1 -0
- package/dist/components/Timeline/timeline-field-row-layout.js +8 -1
- package/dist/components/Timeline/timeline-row-layout.d.ts +1 -1
- package/dist/components/Timeline/timeline-row-layout.js +1 -1
- package/dist/components/Timeline/use-sequence-props-subscription.js +10 -1
- package/dist/components/import-assets.d.ts +4 -0
- package/dist/components/import-assets.js +9 -2
- package/dist/components/selected-outline-measurement.d.ts +4 -0
- package/dist/components/selected-outline-measurement.js +3 -1
- package/dist/components/selected-outline-types.d.ts +1 -6
- package/dist/esm/{chunk-16nwrbrm.js → chunk-9wh9k3jj.js} +7288 -7038
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/internals.mjs +7288 -7038
- package/dist/esm/previewEntry.mjs +5948 -5698
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/format-file-location.d.ts +5 -0
- package/dist/helpers/format-file-location.js +9 -1
- package/dist/helpers/retry-payload.js +0 -1
- package/dist/helpers/studio-runtime-config.d.ts +0 -1
- package/dist/helpers/studio-runtime-config.js +1 -6
- package/dist/helpers/use-menu-structure.js +15 -18
- package/dist/state/modals.d.ts +0 -1
- package/package.json +11 -11
- package/dist/components/RenderModal/WebRendererExperimentalBadge.d.ts +0 -1
- package/dist/components/RenderModal/WebRendererExperimentalBadge.js +0 -35
- package/dist/helpers/show-browser-rendering.d.ts +0 -1
- package/dist/helpers/show-browser-rendering.js +0 -5
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.SelectedOutlineElement = exports.SelectedOutlineTransformOriginHandle = void 0;
|
|
37
37
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
|
-
const react_dom_1 = require("react-dom");
|
|
40
39
|
const remotion_1 = require("remotion");
|
|
41
40
|
const no_react_1 = require("remotion/no-react");
|
|
42
41
|
const client_id_1 = require("../helpers/client-id");
|
|
@@ -51,7 +50,6 @@ const ContextMenu_1 = require("./ContextMenu");
|
|
|
51
50
|
const effect_drag_and_drop_1 = require("./effect-drag-and-drop");
|
|
52
51
|
const ForceSpecificCursor_1 = require("./ForceSpecificCursor");
|
|
53
52
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
54
|
-
const options_sidebar_tabs_1 = require("./options-sidebar-tabs");
|
|
55
53
|
const selected_outline_drag_1 = require("./selected-outline-drag");
|
|
56
54
|
const selected_outline_measurement_1 = require("./selected-outline-measurement");
|
|
57
55
|
const selected_outline_snap_1 = require("./selected-outline-snap");
|
|
@@ -320,7 +318,7 @@ const SelectedOutlineTransformOriginHandle = ({ outline, onDraggingChange, targe
|
|
|
320
318
|
] }));
|
|
321
319
|
};
|
|
322
320
|
exports.SelectedOutlineTransformOriginHandle = SelectedOutlineTransformOriginHandle;
|
|
323
|
-
const SelectedOutlinePolygon = ({ allDragTargets, allDragOutlines, contextMenuValues, dragging, hovered, onContextMenuOpen, outline, onDraggingChange, onHoverChange, onSnapPointsChange, onSelect,
|
|
321
|
+
const SelectedOutlinePolygon = ({ allDragTargets, allDragOutlines, contextMenuValues, dragging, hovered, onContextMenuOpen, outline, onDraggingChange, onHoverChange, onSnapPointsChange, onSelect, onDoubleClickTarget, scale, snapTargets, target, }) => {
|
|
324
322
|
var _a, _b, _c, _d;
|
|
325
323
|
const { getDragOverrides } = (0, react_1.useContext)(remotion_1.Internals.VisualModeDragOverridesContext);
|
|
326
324
|
const { setPropStatuses, setDragOverrides, clearDragOverrides } = (0, react_1.useContext)(remotion_1.Internals.VisualModeSettersContext);
|
|
@@ -532,10 +530,12 @@ const SelectedOutlinePolygon = ({ allDragTargets, allDragOutlines, contextMenuVa
|
|
|
532
530
|
if (target === undefined) {
|
|
533
531
|
return;
|
|
534
532
|
}
|
|
533
|
+
if (!onDoubleClickTarget(target, event.button)) {
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
535
536
|
event.preventDefault();
|
|
536
537
|
event.stopPropagation();
|
|
537
|
-
|
|
538
|
-
}, [onTextEditStart, target]);
|
|
538
|
+
}, [onDoubleClickTarget, target]);
|
|
539
539
|
const onEffectDragOver = react_1.default.useCallback((event) => {
|
|
540
540
|
if (effectDrop === null || !(0, effect_drag_and_drop_1.hasEffectDragType)(event.dataTransfer)) {
|
|
541
541
|
return;
|
|
@@ -982,28 +982,42 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
|
|
|
982
982
|
const confirm = (0, ConfirmationDialog_1.useConfirmationDialog)();
|
|
983
983
|
const selectAsset = (0, use_select_asset_1.useSelectAsset)();
|
|
984
984
|
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
985
|
-
const
|
|
986
|
-
const
|
|
987
|
-
if (
|
|
988
|
-
return;
|
|
985
|
+
const resolveOriginalLocation = react_1.default.useCallback(async (resolveTarget) => {
|
|
986
|
+
const stack = resolveTarget.sequence.getStack();
|
|
987
|
+
if (!stack) {
|
|
988
|
+
return null;
|
|
989
989
|
}
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
(0,
|
|
993
|
-
return;
|
|
990
|
+
let originalLocation = null;
|
|
991
|
+
try {
|
|
992
|
+
originalLocation = await (0, get_stack_1.getOriginalLocationFromStack)(stack, 'sequence');
|
|
994
993
|
}
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
994
|
+
catch (err) {
|
|
995
|
+
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
996
|
+
}
|
|
997
|
+
updateResolvedStackTrace(stack, originalLocation);
|
|
998
|
+
return originalLocation;
|
|
999
|
+
}, [updateResolvedStackTrace]);
|
|
1000
|
+
const onDoubleClickTarget = react_1.default.useCallback((doubleClickTarget, button) => {
|
|
1001
|
+
const action = (0, selected_outline_measurement_1.getOutlineDoubleClickAction)({
|
|
1002
|
+
button,
|
|
1003
|
+
canOpenInEditor: previewServerState.type === 'connected' &&
|
|
1004
|
+
Boolean(window.remotion_editorName),
|
|
1001
1005
|
});
|
|
1002
|
-
(
|
|
1003
|
-
|
|
1004
|
-
|
|
1006
|
+
if (action === null) {
|
|
1007
|
+
return false;
|
|
1008
|
+
}
|
|
1009
|
+
const openTargetInEditor = async () => {
|
|
1010
|
+
const originalLocation = await resolveOriginalLocation(doubleClickTarget);
|
|
1011
|
+
if (originalLocation === null) {
|
|
1012
|
+
return;
|
|
1013
|
+
}
|
|
1014
|
+
await (0, open_in_editor_1.openOriginalPositionInEditor)(originalLocation);
|
|
1015
|
+
};
|
|
1016
|
+
openTargetInEditor().catch((err) => {
|
|
1017
|
+
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
1005
1018
|
});
|
|
1006
|
-
|
|
1019
|
+
return true;
|
|
1020
|
+
}, [previewServerState.type, resolveOriginalLocation]);
|
|
1007
1021
|
const onContextMenuOpen = react_1.default.useCallback(async () => {
|
|
1008
1022
|
if (target === undefined || previewServerState.type !== 'connected') {
|
|
1009
1023
|
return false;
|
|
@@ -1011,19 +1025,7 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
|
|
|
1011
1025
|
if (!target.selected) {
|
|
1012
1026
|
onSelect(target.selection, { shiftKey: false, toggleKey: false });
|
|
1013
1027
|
}
|
|
1014
|
-
const
|
|
1015
|
-
let originalLocation = null;
|
|
1016
|
-
if (stack) {
|
|
1017
|
-
try {
|
|
1018
|
-
originalLocation = await (0, get_stack_1.getOriginalLocationFromStack)(stack, 'sequence');
|
|
1019
|
-
}
|
|
1020
|
-
catch (err) {
|
|
1021
|
-
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1024
|
-
if (stack) {
|
|
1025
|
-
updateResolvedStackTrace(stack, originalLocation);
|
|
1026
|
-
}
|
|
1028
|
+
const originalLocation = await resolveOriginalLocation(target);
|
|
1027
1029
|
const fileLocation = (0, format_file_location_1.formatFileLocation)({
|
|
1028
1030
|
location: originalLocation,
|
|
1029
1031
|
root: window.remotion_cwd,
|
|
@@ -1152,14 +1154,14 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
|
|
|
1152
1154
|
confirm,
|
|
1153
1155
|
onSelect,
|
|
1154
1156
|
previewServerState,
|
|
1157
|
+
resolveOriginalLocation,
|
|
1155
1158
|
selectAsset,
|
|
1156
1159
|
setSelectedModal,
|
|
1157
1160
|
setPropStatuses,
|
|
1158
1161
|
target,
|
|
1159
|
-
updateResolvedStackTrace,
|
|
1160
1162
|
]);
|
|
1161
1163
|
return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
1162
|
-
jsx_runtime_1.jsx(SelectedOutlinePolygon, { allDragTargets: allDragTargets, allDragOutlines: allDragOutlines, contextMenuValues: emptyContextMenuValues, dragging: dragging, hovered: hovered, outline: outline, onContextMenuOpen: onContextMenuOpen, onDraggingChange: onDraggingChange, onHoverChange: onHoverChange, onSnapPointsChange: onSnapPointsChange, onSelect: onSelect,
|
|
1164
|
+
jsx_runtime_1.jsx(SelectedOutlinePolygon, { allDragTargets: allDragTargets, allDragOutlines: allDragOutlines, contextMenuValues: emptyContextMenuValues, dragging: dragging, hovered: hovered, outline: outline, onContextMenuOpen: onContextMenuOpen, onDraggingChange: onDraggingChange, onHoverChange: onHoverChange, onSnapPointsChange: onSnapPointsChange, onSelect: onSelect, onDoubleClickTarget: onDoubleClickTarget, scale: scale, snapTargets: snapTargets, target: target }), (target === null || target === void 0 ? void 0 : target.containsSelection) || hovered
|
|
1163
1165
|
? ['top', 'right', 'bottom', 'left'].map((edge) => (jsx_runtime_1.jsx(SelectedOutlineScaleEdgeLine, { allScaleDragTargets: allScaleDragTargets, contextMenuValues: emptyContextMenuValues, dragging: dragging, edge: edge, outline: outline, onContextMenuOpen: onContextMenuOpen, onDraggingChange: onDraggingChange, onHoverChange: onHoverChange, onSelect: onSelect, target: target }, edge)))
|
|
1164
1166
|
: null, (target === null || target === void 0 ? void 0 : target.containsSelection) || hovered
|
|
1165
1167
|
? ['top-left', 'top-right', 'bottom-right', 'bottom-left'].map((corner) => (jsx_runtime_1.jsx(SelectedOutlineRotationCornerHandle, { allRotationDragTargets: allRotationDragTargets, contextMenuValues: emptyContextMenuValues, corner: corner, dragging: dragging, outline: outline, onContextMenuOpen: onContextMenuOpen, onDraggingChange: onDraggingChange, onHoverChange: onHoverChange, onSelect: onSelect, target: target }, corner)))
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { type SelectedOutline } from './selected-outline-geometry';
|
|
3
3
|
import { type SelectedOutlineTarget } from './selected-outline-types';
|
|
4
4
|
export { applySelectedOutlineDragAxisLock, applySelectedOutlineTransformOriginAxisLock, compensateTranslateForTransformOrigin, getSelectedOutlineActiveSchema, getSelectedOutlineDragChanges, getSelectedOutlineDragValues, getSelectedOutlineKeyboardNudgeDelta, getSelectedOutlineKeyboardNudgeDeltas, getSelectedOutlineRotationDragChanges, getSelectedOutlineRotationDragStates, getSelectedOutlineRotationDragValues, getSelectedOutlineScaleDragChanges, getSelectedOutlineScaleDragStates, getSelectedOutlineScaleDragValues, getSelectedOutlineScaleEdgeInfo, getSelectedOutlineTransformOriginLockedAxis, isSelectedOutlineDragPastThreshold, selectedOutlineTransformOriginSnapThresholdPx, selectedOutlineUvSnapThresholdPx, snapSelectedOutlineRotationDeltaDegrees, snapSelectedOutlineTransformOriginUv, snapSelectedOutlineUv, } from './selected-outline-drag';
|
|
5
|
-
export { getOutlineSelectionInteraction, getSelectedEffectFieldsBySequenceKey, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationPivot, getSelectedSequenceKeys, getSequencesWithSelectableOutlines, getTransformedSvgViewportPoints, } from './selected-outline-measurement';
|
|
5
|
+
export { getOutlineDoubleClickAction, getOutlineSelectionInteraction, getSelectedEffectFieldsBySequenceKey, getSelectedOutlineRotationCornerInfo, getSelectedOutlineRotationDeltaDegrees, getSelectedOutlineRotationPivot, getSelectedSequenceKeys, getSequencesWithSelectableOutlines, getTransformedSvgViewportPoints, } from './selected-outline-measurement';
|
|
6
6
|
export { selectedOutlineDragThresholdPx } from './selected-outline-types';
|
|
7
7
|
export type { SelectedOutlineDragState, SelectedOutlineRotationDragState, SelectedOutlineScaleDragState, } from './selected-outline-types';
|
|
8
8
|
type OutlineSequenceParent = {
|
|
@@ -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.orderOutlinesForRendering = exports.selectedOutlineDragThresholdPx = exports.getTransformedSvgViewportPoints = exports.getSequencesWithSelectableOutlines = exports.getSelectedSequenceKeys = exports.getSelectedOutlineRotationPivot = exports.getSelectedOutlineRotationDeltaDegrees = exports.getSelectedOutlineRotationCornerInfo = exports.getSelectedEffectFieldsBySequenceKey = exports.getOutlineSelectionInteraction = exports.snapSelectedOutlineUv = exports.snapSelectedOutlineTransformOriginUv = exports.snapSelectedOutlineRotationDeltaDegrees = exports.selectedOutlineUvSnapThresholdPx = 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.getSelectedOutlineActiveSchema = exports.compensateTranslateForTransformOrigin = exports.applySelectedOutlineTransformOriginAxisLock = exports.applySelectedOutlineDragAxisLock = void 0;
|
|
36
|
+
exports.SelectedOutlineOverlay = exports.orderOutlinesForRendering = exports.selectedOutlineDragThresholdPx = exports.getTransformedSvgViewportPoints = exports.getSequencesWithSelectableOutlines = exports.getSelectedSequenceKeys = exports.getSelectedOutlineRotationPivot = exports.getSelectedOutlineRotationDeltaDegrees = exports.getSelectedOutlineRotationCornerInfo = exports.getSelectedEffectFieldsBySequenceKey = exports.getOutlineSelectionInteraction = exports.getOutlineDoubleClickAction = exports.snapSelectedOutlineUv = exports.snapSelectedOutlineTransformOriginUv = exports.snapSelectedOutlineRotationDeltaDegrees = exports.selectedOutlineUvSnapThresholdPx = 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.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"));
|
|
@@ -82,6 +82,7 @@ Object.defineProperty(exports, "snapSelectedOutlineRotationDeltaDegrees", { enum
|
|
|
82
82
|
Object.defineProperty(exports, "snapSelectedOutlineTransformOriginUv", { enumerable: true, get: function () { return selected_outline_drag_2.snapSelectedOutlineTransformOriginUv; } });
|
|
83
83
|
Object.defineProperty(exports, "snapSelectedOutlineUv", { enumerable: true, get: function () { return selected_outline_drag_2.snapSelectedOutlineUv; } });
|
|
84
84
|
const selected_outline_measurement_2 = require("./selected-outline-measurement");
|
|
85
|
+
Object.defineProperty(exports, "getOutlineDoubleClickAction", { enumerable: true, get: function () { return selected_outline_measurement_2.getOutlineDoubleClickAction; } });
|
|
85
86
|
Object.defineProperty(exports, "getOutlineSelectionInteraction", { enumerable: true, get: function () { return selected_outline_measurement_2.getOutlineSelectionInteraction; } });
|
|
86
87
|
Object.defineProperty(exports, "getSelectedEffectFieldsBySequenceKey", { enumerable: true, get: function () { return selected_outline_measurement_2.getSelectedEffectFieldsBySequenceKey; } });
|
|
87
88
|
Object.defineProperty(exports, "getSelectedOutlineRotationCornerInfo", { enumerable: true, get: function () { return selected_outline_measurement_2.getSelectedOutlineRotationCornerInfo; } });
|
|
@@ -439,8 +440,6 @@ const SelectedOutlineOverlay = ({ compositionHeight, compositionWidth, scale, tr
|
|
|
439
440
|
const rotationPropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.rotateFieldKey];
|
|
440
441
|
const transformOriginFieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema[selected_outline_types_1.transformOriginFieldKey];
|
|
441
442
|
const transformOriginPropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses[selected_outline_types_1.transformOriginFieldKey];
|
|
442
|
-
const textContentFieldSchema = activeSchema === null || activeSchema === void 0 ? void 0 : activeSchema.children;
|
|
443
|
-
const textContentPropStatus = nodePropStatuses === null || nodePropStatuses === void 0 ? void 0 : nodePropStatuses.children;
|
|
444
443
|
const transformOriginValueForRotation = (transformOriginFieldSchema === null || transformOriginFieldSchema === void 0 ? void 0 : transformOriginFieldSchema.type) === 'transform-origin' &&
|
|
445
444
|
((transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'static' ||
|
|
446
445
|
(transformOriginPropStatus === null || transformOriginPropStatus === void 0 ? void 0 : transformOriginPropStatus.status) === 'keyframed')
|
|
@@ -493,10 +492,6 @@ const SelectedOutlineOverlay = ({ compositionHeight, compositionWidth, scale, tr
|
|
|
493
492
|
canTransformOriginTranslateStatus;
|
|
494
493
|
const canDropEffect = previewServerState.type === 'connected' &&
|
|
495
494
|
(controls === null || controls === void 0 ? void 0 : controls.supportsEffects) === true;
|
|
496
|
-
const canTextEdit = previewServerState.type === 'connected' &&
|
|
497
|
-
controls !== null &&
|
|
498
|
-
(textContentFieldSchema === null || textContentFieldSchema === void 0 ? void 0 : textContentFieldSchema.type) === 'text-content' &&
|
|
499
|
-
textContentPropStatus !== undefined;
|
|
500
495
|
return {
|
|
501
496
|
key,
|
|
502
497
|
containsSelection,
|
|
@@ -611,12 +606,6 @@ const SelectedOutlineOverlay = ({ compositionHeight, compositionWidth, scale, tr
|
|
|
611
606
|
})) !== null && _f !== void 0 ? _f : fieldSchema.default),
|
|
612
607
|
}
|
|
613
608
|
: null,
|
|
614
|
-
textEdit: canTextEdit
|
|
615
|
-
? {
|
|
616
|
-
nodePath,
|
|
617
|
-
propStatus: textContentPropStatus,
|
|
618
|
-
}
|
|
619
|
-
: null,
|
|
620
609
|
uvHandles: containsSelection
|
|
621
610
|
? (0, selected_outline_uv_1.getSelectedUvHandles)({
|
|
622
611
|
propStatuses,
|
|
@@ -9,7 +9,7 @@ const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
|
9
9
|
const magnet_1 = require("../icons/magnet");
|
|
10
10
|
const editor_snapping_1 = require("../state/editor-snapping");
|
|
11
11
|
const ControlButton_1 = require("./ControlButton");
|
|
12
|
-
const SnappingToggle = () => {
|
|
12
|
+
const SnappingToggle = ({ disabled }) => {
|
|
13
13
|
const { editorSnapping, setEditorSnapping } = (0, react_1.useContext)(editor_snapping_1.EditorSnappingContext);
|
|
14
14
|
const onClick = (0, react_1.useCallback)(() => {
|
|
15
15
|
setEditorSnapping((current) => !current);
|
|
@@ -21,6 +21,6 @@ const SnappingToggle = () => {
|
|
|
21
21
|
]
|
|
22
22
|
.filter(no_react_1.NoReactInternals.truthy)
|
|
23
23
|
.join(' ');
|
|
24
|
-
return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, "aria-pressed": editorSnapping, "aria-keyshortcuts": "Shift+M", onClick: onClick, children: jsx_runtime_1.jsx(magnet_1.MagnetIcon, { style: { width: 17, height: 17 }, fill: color, "aria-hidden": "true", focusable: "false" }) }));
|
|
24
|
+
return (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: accessibilityLabel, "aria-label": accessibilityLabel, "aria-pressed": editorSnapping, "aria-keyshortcuts": "Shift+M", disabled: disabled, onClick: onClick, children: jsx_runtime_1.jsx(magnet_1.MagnetIcon, { style: { width: 17, height: 17 }, fill: color, "aria-hidden": "true", focusable: "false" }) }));
|
|
25
25
|
};
|
|
26
26
|
exports.SnappingToggle = SnappingToggle;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { type EasingClipboardData, type EffectClipboardSnapshot, type EffectPropClipboardData } from '@remotion/studio-shared';
|
|
1
|
+
import { type EasingClipboardData, type EffectClipboardData, type EffectClipboardSnapshot, type EffectPropClipboardData } from '@remotion/studio-shared';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import { type OverrideIdToNodePaths, type PropStatuses, type SequencePropsSubscriptionKey, type InteractivitySchema, type TSequence } from 'remotion';
|
|
4
4
|
import type { SequenceNodePathInfo } from '../../helpers/get-timeline-sequence-sort-key';
|
|
5
|
+
import { type EffectsClipboardEnvelope } from './effects-clipboard';
|
|
5
6
|
import { type TimelineSelection } from './TimelineSelection';
|
|
6
7
|
export type PasteEffectsTarget = {
|
|
7
8
|
readonly type: 'valid';
|
|
@@ -29,6 +30,24 @@ export declare const getSnapshotsFromSelection: ({ selection, propStatuses, }: {
|
|
|
29
30
|
selection: TimelineSelection;
|
|
30
31
|
propStatuses: PropStatuses;
|
|
31
32
|
}) => EffectClipboardSnapshot[] | null;
|
|
33
|
+
export type EffectClipboardDataFromSelections = {
|
|
34
|
+
readonly type: 'valid';
|
|
35
|
+
readonly payload: EffectClipboardData;
|
|
36
|
+
} | {
|
|
37
|
+
readonly type: 'none';
|
|
38
|
+
} | {
|
|
39
|
+
readonly type: 'mixed';
|
|
40
|
+
} | {
|
|
41
|
+
readonly type: 'uncopyable';
|
|
42
|
+
};
|
|
43
|
+
export declare const getEffectClipboardDataFromSelections: ({ selectedItems, propStatuses, }: {
|
|
44
|
+
selectedItems: readonly TimelineSelection[];
|
|
45
|
+
propStatuses: PropStatuses;
|
|
46
|
+
}) => EffectClipboardDataFromSelections;
|
|
47
|
+
export declare const getEffectsClipboardEnvelopeFromSelections: ({ selectedItems, payload, }: {
|
|
48
|
+
selectedItems: readonly TimelineSelection[];
|
|
49
|
+
payload: EffectClipboardData;
|
|
50
|
+
}) => EffectsClipboardEnvelope;
|
|
32
51
|
export declare const getEffectPropClipboardDataFromSelection: ({ selection, propStatuses, }: {
|
|
33
52
|
selection: TimelineSelection;
|
|
34
53
|
propStatuses: PropStatuses;
|