@remotion/studio 4.0.470 → 4.0.472
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 +10 -1
- package/dist/components/Canvas.js +98 -0
- package/dist/components/CompositionSelectorItem.d.ts +1 -0
- package/dist/components/CompositionSelectorItem.js +12 -4
- package/dist/components/ContextMenu.d.ts +7 -2
- package/dist/components/ContextMenu.js +91 -43
- package/dist/components/Editor.js +14 -6
- package/dist/components/Modals.js +3 -1
- package/dist/components/NewComposition/CodemodFooter.js +2 -2
- package/dist/components/NewComposition/DeleteFolder.d.ts +6 -0
- package/dist/components/NewComposition/DeleteFolder.js +39 -0
- package/dist/components/NewComposition/RenameFolder.d.ts +6 -0
- package/dist/components/NewComposition/RenameFolder.js +60 -0
- package/dist/components/Preview.js +2 -1
- package/dist/components/SelectedOutlineOverlay.d.ts +109 -1
- package/dist/components/SelectedOutlineOverlay.js +489 -73
- package/dist/components/Splitter/SplitterContainer.js +9 -0
- package/dist/components/Splitter/SplitterHandle.js +63 -70
- package/dist/components/Timeline/Timeline.js +121 -1
- package/dist/components/Timeline/TimelineArrayField.d.ts +9 -0
- package/dist/components/Timeline/TimelineArrayField.js +210 -0
- package/dist/components/Timeline/TimelineBooleanField.d.ts +2 -2
- package/dist/components/Timeline/TimelineBooleanField.js +2 -2
- package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +20 -0
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +265 -0
- package/dist/components/Timeline/TimelineColorField.d.ts +2 -2
- package/dist/components/Timeline/TimelineColorField.js +2 -8
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +15 -0
- package/dist/components/Timeline/TimelineDragHandler.js +1 -0
- package/dist/components/Timeline/TimelineEffectItem.js +159 -6
- package/dist/components/Timeline/TimelineEffectPropItem.js +95 -25
- package/dist/components/Timeline/TimelineEnumField.d.ts +2 -2
- package/dist/components/Timeline/TimelineEnumField.js +3 -3
- package/dist/components/Timeline/TimelineKeyframeControls.d.ts +4 -3
- package/dist/components/Timeline/TimelineKeyframeControls.js +52 -33
- package/dist/components/Timeline/TimelineKeyframedValue.d.ts +7 -2
- package/dist/components/Timeline/TimelineKeyframedValue.js +22 -8
- package/dist/components/Timeline/TimelineLayerEye.d.ts +1 -0
- package/dist/components/Timeline/TimelineLayerEye.js +8 -3
- package/dist/components/Timeline/TimelineNumberField.d.ts +2 -2
- package/dist/components/Timeline/TimelineNumberField.js +7 -11
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.d.ts +17 -0
- package/dist/components/Timeline/TimelinePrimitiveFieldValue.js +53 -0
- package/dist/components/Timeline/TimelineRotationField.d.ts +2 -2
- package/dist/components/Timeline/TimelineRotationField.js +41 -24
- package/dist/components/Timeline/TimelineRowChrome.d.ts +3 -0
- package/dist/components/Timeline/TimelineRowChrome.js +11 -10
- package/dist/components/Timeline/TimelineScaleField.d.ts +20 -0
- package/dist/components/Timeline/TimelineScaleField.js +314 -0
- package/dist/components/Timeline/TimelineSchemaField.d.ts +3 -2
- package/dist/components/Timeline/TimelineSchemaField.js +8 -42
- package/dist/components/Timeline/TimelineSelection.js +3 -2
- package/dist/components/Timeline/TimelineSequence.d.ts +1 -0
- package/dist/components/Timeline/TimelineSequence.js +51 -10
- package/dist/components/Timeline/TimelineSequenceFrame.js +1 -0
- package/dist/components/Timeline/TimelineSequenceItem.js +97 -7
- package/dist/components/Timeline/TimelineSequencePropItem.js +82 -21
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +58 -0
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +528 -0
- package/dist/components/Timeline/TimelineTrack.js +1 -1
- package/dist/components/Timeline/TimelineTranslateField.d.ts +2 -2
- package/dist/components/Timeline/TimelineTranslateField.js +21 -25
- package/dist/components/Timeline/TimelineUvCoordinateField.d.ts +2 -2
- package/dist/components/Timeline/TimelineUvCoordinateField.js +20 -26
- package/dist/components/Timeline/call-add-keyframe.js +2 -0
- package/dist/components/Timeline/call-delete-keyframe.d.ts +16 -0
- package/dist/components/Timeline/call-delete-keyframe.js +86 -14
- package/dist/components/Timeline/delete-selected-keyframe.d.ts +10 -0
- package/dist/components/Timeline/delete-selected-keyframe.js +48 -7
- package/dist/components/Timeline/delete-selected-timeline-item.js +6 -11
- package/dist/components/Timeline/get-node-keyframes.d.ts +5 -2
- package/dist/components/Timeline/get-node-keyframes.js +38 -5
- package/dist/components/Timeline/get-timeline-keyframes.js +4 -4
- package/dist/components/Timeline/reset-selected-timeline-props.d.ts +38 -0
- package/dist/components/Timeline/reset-selected-timeline-props.js +156 -0
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +3 -2
- package/dist/components/Timeline/sequence-props-subscription-store.js +2 -1
- package/dist/components/Timeline/timeline-field-utils.d.ts +1 -0
- package/dist/components/Timeline/timeline-field-utils.js +5 -1
- package/dist/components/Timeline/timeline-scroll-logic.js +3 -3
- package/dist/components/Timeline/timeline-translate-utils.js +6 -2
- package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +7 -0
- package/dist/components/Timeline/use-sequence-props-subscription.js +2 -1
- package/dist/components/TopPanel.d.ts +1 -1
- package/dist/components/folder-menu-items.d.ts +12 -0
- package/dist/components/folder-menu-items.js +147 -0
- package/dist/components/import-assets.d.ts +6 -0
- package/dist/components/import-assets.js +157 -0
- package/dist/esm/{chunk-dny42qnq.js → chunk-48grt472.js} +9717 -5925
- package/dist/esm/internals.mjs +9717 -5925
- package/dist/esm/previewEntry.mjs +9531 -5737
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/calculate-timeline.js +7 -3
- package/dist/helpers/create-folder-tree.js +1 -0
- package/dist/helpers/detect-file-type.d.ts +69 -0
- package/dist/helpers/detect-file-type.js +278 -0
- package/dist/helpers/get-folder-id.d.ts +4 -0
- package/dist/helpers/get-folder-id.js +7 -0
- package/dist/helpers/get-left-of-timeline-slider.js +1 -1
- package/dist/helpers/get-timeline-sequence-layout.js +10 -11
- package/dist/helpers/get-timeline-sequence-sort-key.d.ts +2 -0
- package/dist/helpers/open-in-editor.d.ts +19 -1
- package/dist/helpers/open-in-editor.js +42 -4
- package/dist/helpers/timeline-layout.js +5 -1
- package/dist/helpers/use-menu-structure.js +0 -1
- package/dist/helpers/validate-folder-rename.d.ts +6 -0
- package/dist/helpers/validate-folder-rename.js +19 -0
- package/dist/state/modals.d.ts +10 -0
- package/dist/state/scale-lock.d.ts +18 -0
- package/dist/state/scale-lock.js +59 -0
- package/dist/state/z-index.js +5 -2
- package/package.json +10 -10
|
@@ -171,7 +171,6 @@ const useMenuStructure = (closeMenu, readOnlyStudio) => {
|
|
|
171
171
|
const resolvedCompositionLocation = (0, use_resolved_stack_1.useResolvedStack)((_a = currentComposition === null || currentComposition === void 0 ? void 0 : currentComposition.stack) !== null && _a !== void 0 ? _a : null);
|
|
172
172
|
(0, react_1.useEffect)(() => {
|
|
173
173
|
if (type !== 'connected' ||
|
|
174
|
-
!window.remotion_editorName ||
|
|
175
174
|
!currentComposition ||
|
|
176
175
|
!(resolvedCompositionLocation === null || resolvedCompositionLocation === void 0 ? void 0 : resolvedCompositionLocation.source)) {
|
|
177
176
|
return;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateFolderRename = void 0;
|
|
4
|
+
const remotion_1 = require("remotion");
|
|
5
|
+
const validateFolderRename = ({ folders, newName, originalName, parentName, }) => {
|
|
6
|
+
if (!remotion_1.Internals.isFolderNameValid(newName)) {
|
|
7
|
+
return remotion_1.Internals.invalidFolderNameErrorMessage;
|
|
8
|
+
}
|
|
9
|
+
if (newName === originalName) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
if (folders.find((folder) => {
|
|
13
|
+
return folder.name === newName && folder.parent === parentName;
|
|
14
|
+
})) {
|
|
15
|
+
return `A folder with that name already exists.`;
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
};
|
|
19
|
+
exports.validateFolderRename = validateFolderRename;
|
package/dist/state/modals.d.ts
CHANGED
|
@@ -96,6 +96,16 @@ export type ModalState = {
|
|
|
96
96
|
} | {
|
|
97
97
|
type: 'rename-comp';
|
|
98
98
|
compositionId: string;
|
|
99
|
+
} | {
|
|
100
|
+
type: 'delete-folder';
|
|
101
|
+
folderName: string;
|
|
102
|
+
parentName: string | null;
|
|
103
|
+
stack: string | null;
|
|
104
|
+
} | {
|
|
105
|
+
type: 'rename-folder';
|
|
106
|
+
folderName: string;
|
|
107
|
+
parentName: string | null;
|
|
108
|
+
stack: string | null;
|
|
99
109
|
} | {
|
|
100
110
|
type: 'input-props-override';
|
|
101
111
|
} | RenderModalState | WebRenderModalState | {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SequencePropsSubscriptionKey } from 'remotion';
|
|
3
|
+
export type ScaleLockContextValue = {
|
|
4
|
+
readonly getScaleLockState: ({ defaultValue, fieldKey, nodePath }: {
|
|
5
|
+
readonly defaultValue: boolean;
|
|
6
|
+
readonly fieldKey: string;
|
|
7
|
+
readonly nodePath: SequencePropsSubscriptionKey;
|
|
8
|
+
}) => boolean;
|
|
9
|
+
readonly setScaleLockState: ({ fieldKey, linked, nodePath }: {
|
|
10
|
+
readonly fieldKey: string;
|
|
11
|
+
readonly linked: boolean;
|
|
12
|
+
readonly nodePath: SequencePropsSubscriptionKey;
|
|
13
|
+
}) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare const ScaleLockContext: React.Context<ScaleLockContextValue>;
|
|
16
|
+
export declare const ScaleLockProvider: React.FC<{
|
|
17
|
+
readonly children: React.ReactNode;
|
|
18
|
+
}>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ScaleLockProvider = exports.ScaleLockContext = void 0;
|
|
37
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
|
+
const react_1 = __importStar(require("react"));
|
|
39
|
+
const remotion_1 = require("remotion");
|
|
40
|
+
const makeScaleLockKey = ({ fieldKey, nodePath, }) => `${remotion_1.Internals.makeSequencePropsSubscriptionKey(nodePath)}.${fieldKey}`;
|
|
41
|
+
exports.ScaleLockContext = react_1.default.createContext({
|
|
42
|
+
getScaleLockState: ({ defaultValue }) => defaultValue,
|
|
43
|
+
setScaleLockState: () => undefined,
|
|
44
|
+
});
|
|
45
|
+
const ScaleLockProvider = ({ children }) => {
|
|
46
|
+
const [states, setStates] = (0, react_1.useState)({});
|
|
47
|
+
const getScaleLockState = (0, react_1.useCallback)(({ defaultValue, fieldKey, nodePath }) => {
|
|
48
|
+
var _a;
|
|
49
|
+
const key = makeScaleLockKey({ fieldKey, nodePath });
|
|
50
|
+
return (_a = states[key]) !== null && _a !== void 0 ? _a : defaultValue;
|
|
51
|
+
}, [states]);
|
|
52
|
+
const setScaleLockState = (0, react_1.useCallback)(({ fieldKey, linked, nodePath }) => {
|
|
53
|
+
const key = makeScaleLockKey({ fieldKey, nodePath });
|
|
54
|
+
setStates((current) => ({ ...current, [key]: linked }));
|
|
55
|
+
}, []);
|
|
56
|
+
const value = (0, react_1.useMemo)(() => ({ getScaleLockState, setScaleLockState }), [getScaleLockState, setScaleLockState]);
|
|
57
|
+
return (jsx_runtime_1.jsx(exports.ScaleLockContext.Provider, { value: value, children: children }));
|
|
58
|
+
};
|
|
59
|
+
exports.ScaleLockProvider = ScaleLockProvider;
|
package/dist/state/z-index.js
CHANGED
|
@@ -70,7 +70,10 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick, disabled }) => {
|
|
|
70
70
|
// If a menu is opened, then this component will also still receive the pointerdown event.
|
|
71
71
|
// However we may not interpret it as a outside click, so we need to wait for the next tick
|
|
72
72
|
requestAnimationFrame(() => {
|
|
73
|
-
|
|
73
|
+
// The third argument `true` registers a capture-phase listener. Some Studio
|
|
74
|
+
// elements stop pointerdown propagation while still being outside the menu,
|
|
75
|
+
// so bubbling listeners would miss those clicks and keep the menu open.
|
|
76
|
+
window.addEventListener('pointerdown', listener, true);
|
|
74
77
|
});
|
|
75
78
|
return () => {
|
|
76
79
|
if (onUp) {
|
|
@@ -78,7 +81,7 @@ const HigherZIndex = ({ children, onEscape, onOutsideClick, disabled }) => {
|
|
|
78
81
|
window.removeEventListener('pointerup', onUp, { once: true });
|
|
79
82
|
}
|
|
80
83
|
onUp = null;
|
|
81
|
-
return window.removeEventListener('pointerdown', listener);
|
|
84
|
+
return window.removeEventListener('pointerdown', listener, true);
|
|
82
85
|
};
|
|
83
86
|
}, [currentIndex, disabled, highestContext.highestIndex, onOutsideClick]);
|
|
84
87
|
const value = (0, react_1.useMemo)(() => {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.472",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"semver": "7.5.3",
|
|
28
|
-
"remotion": "4.0.
|
|
29
|
-
"@remotion/player": "4.0.
|
|
30
|
-
"@remotion/media-utils": "4.0.
|
|
31
|
-
"@remotion/renderer": "4.0.
|
|
32
|
-
"@remotion/web-renderer": "4.0.
|
|
33
|
-
"@remotion/studio-shared": "4.0.
|
|
34
|
-
"@remotion/timeline-utils": "4.0.
|
|
35
|
-
"@remotion/zod-types": "4.0.
|
|
28
|
+
"remotion": "4.0.472",
|
|
29
|
+
"@remotion/player": "4.0.472",
|
|
30
|
+
"@remotion/media-utils": "4.0.472",
|
|
31
|
+
"@remotion/renderer": "4.0.472",
|
|
32
|
+
"@remotion/web-renderer": "4.0.472",
|
|
33
|
+
"@remotion/studio-shared": "4.0.472",
|
|
34
|
+
"@remotion/timeline-utils": "4.0.472",
|
|
35
|
+
"@remotion/zod-types": "4.0.472",
|
|
36
36
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
37
37
|
"mediabunny": "1.45.0",
|
|
38
38
|
"memfs": "3.4.3",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"react": "19.2.3",
|
|
44
44
|
"react-dom": "19.2.3",
|
|
45
45
|
"@types/semver": "7.5.3",
|
|
46
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
46
|
+
"@remotion/eslint-config-internal": "4.0.472",
|
|
47
47
|
"eslint": "9.19.0",
|
|
48
48
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
49
49
|
},
|