@remotion/studio 4.0.507 → 4.0.509
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/FastRefreshProvider.js +13 -9
- package/dist/Studio.d.ts +5 -0
- package/dist/Studio.js +2 -2
- package/dist/components/Canvas.js +35 -5
- package/dist/components/CodingAgentIcon.d.ts +3 -1
- package/dist/components/CodingAgentIcon.js +4 -9
- package/dist/components/ColorPicker/AlphaSlider.js +2 -2
- package/dist/components/ColorPicker/HueSlider.js +2 -2
- package/dist/components/ColorPicker/SaturationValueArea.js +2 -2
- package/dist/components/ConfigureDefaultEditorModal.js +1 -1
- package/dist/components/ContextMenu.d.ts +1 -0
- package/dist/components/ContextMenu.js +32 -5
- package/dist/components/EditorContent.js +4 -3
- package/dist/components/EditorGuides/Guide.js +2 -2
- package/dist/components/EditorRuler/index.js +2 -2
- package/dist/components/ExplorerPanel.js +19 -1
- package/dist/components/InlineAction.d.ts +2 -1
- package/dist/components/InlineAction.js +3 -3
- package/dist/components/InspectorLocationCopy.js +1 -1
- package/dist/components/InspectorOpenInEditor.d.ts +1 -0
- package/dist/components/InspectorOpenInEditor.js +52 -8
- package/dist/components/InspectorPanel/AlignmentControls.js +2 -2
- package/dist/components/InspectorPanel/CompositionInspector.js +3 -1
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +3 -3
- package/dist/components/InspectorPanel/styles.js +1 -1
- package/dist/components/InspectorSequenceSection.js +36 -4
- package/dist/components/Menu/MenuItem.js +2 -2
- package/dist/components/MenuBuildIndicator.js +1 -1
- package/dist/components/ModalContainer.js +1 -1
- package/dist/components/Modals.js +2 -9
- package/dist/components/NewComposition/InputDragger.js +2 -2
- package/dist/components/NewComposition/NewComposition.d.ts +2 -0
- package/dist/components/NewComposition/NewComposition.js +38 -6
- package/dist/components/NewComposition/get-new-composition-defaults.d.ts +1 -1
- package/dist/components/NewComposition/get-new-composition-defaults.js +9 -1
- package/dist/components/PlayPause.d.ts +1 -1
- package/dist/components/PlayPause.js +61 -12
- package/dist/components/RenderButton.js +16 -12
- package/dist/components/RenderModal/GuiRenderStatus.js +23 -6
- package/dist/components/RenderModal/InfoBubble.d.ts +1 -0
- package/dist/components/RenderModal/InfoBubble.js +6 -4
- package/dist/components/RenderModal/InfoTooltip.d.ts +1 -0
- package/dist/components/RenderModal/InfoTooltip.js +12 -12
- package/dist/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +5 -0
- package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +16 -3
- package/dist/components/RenderModal/SchemaEditor/ZodArrayEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.d.ts +2 -0
- package/dist/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +3 -2
- 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 +2 -1
- package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodMatrixEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +6 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodSwitch.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodTupleEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/zod-schema-type.d.ts +1 -0
- package/dist/components/RenderModal/SchemaEditor/zod-schema-type.js +12 -1
- package/dist/components/SelectedOutlineCanvasRotation.d.ts +9 -0
- package/dist/components/SelectedOutlineCanvasRotation.js +239 -0
- package/dist/components/SelectedOutlineCropControls.js +2 -2
- package/dist/components/SelectedOutlineElement.d.ts +2 -1
- package/dist/components/SelectedOutlineElement.js +40 -5
- package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
- package/dist/components/SelectedOutlineOverlay.js +55 -26
- package/dist/components/SelectedOutlinePolygon.d.ts +1 -0
- package/dist/components/SelectedOutlinePolygon.js +6 -5
- package/dist/components/SelectedOutlineRenderer.d.ts +1 -0
- package/dist/components/SelectedOutlineRenderer.js +24 -7
- package/dist/components/SelectedOutlineRotationCornerHandle.d.ts +6 -0
- package/dist/components/SelectedOutlineRotationCornerHandle.js +9 -7
- package/dist/components/SelectedOutlineScaleEdgeLine.d.ts +2 -0
- package/dist/components/SelectedOutlineScaleEdgeLine.js +11 -7
- package/dist/components/SelectedOutlineTransformOriginHandle.js +50 -24
- package/dist/components/SelectedOutlineUvControls.js +8 -8
- package/dist/components/SequencePropsSubscriptionProvider.js +8 -0
- package/dist/components/SettingsModalFooter.js +1 -1
- package/dist/components/Splitter/SplitterHandle.js +2 -2
- package/dist/components/Tabs/index.d.ts +2 -0
- package/dist/components/Tabs/index.js +2 -2
- package/dist/components/Timeline/EasingEditorModal.js +2 -2
- package/dist/components/Timeline/SequencePropsObserver.js +97 -1
- package/dist/components/Timeline/SubscribeToNodePaths.js +4 -2
- package/dist/components/Timeline/Timeline.js +55 -1
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +99 -35
- package/dist/components/Timeline/TimelineDragHandler.js +2 -2
- package/dist/components/Timeline/TimelineEffectItem.js +1 -4
- package/dist/components/Timeline/TimelineEffectPropItem.js +7 -0
- package/dist/components/Timeline/TimelineFieldRowContent.js +10 -3
- package/dist/components/Timeline/TimelineInOutDragHandler.js +2 -2
- package/dist/components/Timeline/TimelineLayerEye.js +2 -2
- package/dist/components/Timeline/TimelineRotationField.js +84 -12
- package/dist/components/Timeline/TimelineScaleField.js +58 -4
- package/dist/components/Timeline/TimelineSelection.d.ts +4 -0
- package/dist/components/Timeline/TimelineSelection.js +47 -4
- package/dist/components/Timeline/TimelineSequenceItem.js +43 -25
- package/dist/components/Timeline/TimelineSequencePropItem.js +12 -3
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +6 -6
- package/dist/components/Timeline/TimelineTransformOriginField.js +78 -4
- package/dist/components/Timeline/TimelineTranslateField.js +55 -15
- package/dist/components/Timeline/Transform3DModeContext.d.ts +1 -0
- package/dist/components/Timeline/Transform3DModeContext.js +5 -0
- package/dist/components/Timeline/delete-selected-timeline-item.js +0 -6
- package/dist/components/Timeline/get-sequence-context-menu-items.js +14 -6
- package/dist/components/Timeline/keyframe-clipboard.d.ts +5 -1
- package/dist/components/Timeline/keyframe-clipboard.js +3 -2
- package/dist/components/Timeline/save-sequence-prop.js +16 -7
- package/dist/components/Timeline/sequence-prop-clipboard.d.ts +31 -0
- package/dist/components/Timeline/sequence-prop-clipboard.js +142 -0
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +2 -1
- package/dist/components/Timeline/sequence-props-subscription-store.js +5 -2
- package/dist/components/Timeline/timeline-field-display-utils.js +2 -2
- package/dist/components/Timeline/timeline-field-row-layout.d.ts +6 -0
- package/dist/components/Timeline/timeline-field-row-layout.js +16 -1
- package/dist/components/Timeline/timeline-rotation-utils.d.ts +16 -0
- package/dist/components/Timeline/timeline-rotation-utils.js +145 -4
- package/dist/components/Timeline/timeline-translate-utils.d.ts +3 -2
- package/dist/components/Timeline/timeline-translate-utils.js +8 -4
- package/dist/components/Timeline/transform-3d-mode.d.ts +6 -0
- package/dist/components/Timeline/transform-3d-mode.js +36 -0
- package/dist/components/Timeline/transform-origin-utils.d.ts +4 -0
- package/dist/components/Timeline/transform-origin-utils.js +12 -6
- package/dist/components/Timeline/update-selected-easing.js +8 -0
- package/dist/components/Timeline/use-open-sequence-in-apps.js +3 -1
- package/dist/components/Timeline/use-resolved-stack-react-to-change.d.ts +5 -1
- package/dist/components/Timeline/use-resolved-stack-react-to-change.js +67 -10
- package/dist/components/Timeline/use-sequence-props-subscription.d.ts +3 -1
- package/dist/components/Timeline/use-sequence-props-subscription.js +7 -2
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +4 -4
- package/dist/components/call-api.js +2 -0
- package/dist/components/canvas-rotation-cursor.d.ts +1 -0
- package/dist/components/canvas-rotation-cursor.js +14 -0
- package/dist/components/folder-menu-items.js +1 -0
- package/dist/components/get-open-in-menu-items.d.ts +8 -1
- package/dist/components/get-open-in-menu-items.js +93 -8
- package/dist/components/import-assets.js +7 -0
- package/dist/components/root-composition-menu-items.js +1 -0
- package/dist/components/selected-outline-control-layout.d.ts +14 -0
- package/dist/components/selected-outline-control-layout.js +94 -0
- package/dist/components/selected-outline-drag.d.ts +11 -5
- package/dist/components/selected-outline-drag.js +80 -42
- package/dist/components/selected-outline-measurement.d.ts +5 -0
- package/dist/components/selected-outline-measurement.js +28 -1
- package/dist/components/selected-outline-types.d.ts +6 -0
- package/dist/components/use-default-editor-info.js +28 -3
- package/dist/esm/{chunk-ptnd65a9.js → chunk-jdn6nkbk.js} +10087 -7919
- package/dist/esm/{chunk-fgedsvhb.js → chunk-r46yxrjr.js} +1 -2
- package/dist/esm/index.mjs +357 -2
- package/dist/esm/internals.mjs +10086 -7918
- package/dist/esm/previewEntry.mjs +9926 -7758
- package/dist/esm/renderEntry.mjs +4 -2
- package/dist/helpers/get-box-quads-polyfill-internals.js +10 -2
- package/dist/helpers/get-canvas-capture-import.d.ts +7 -0
- package/dist/helpers/get-canvas-capture-import.js +43 -0
- package/dist/helpers/get-git-menu-item.d.ts +1 -1
- package/dist/helpers/get-git-menu-item.js +33 -3
- package/dist/helpers/inserted-element-selection.d.ts +12 -0
- package/dist/helpers/inserted-element-selection.js +29 -0
- package/dist/helpers/open-in-editor.d.ts +3 -1
- package/dist/helpers/open-in-editor.js +5 -1
- package/dist/helpers/pointer-session.d.ts +6 -2
- package/dist/helpers/pointer-session.js +29 -12
- package/dist/helpers/preview-server-events.js +4 -0
- package/dist/helpers/sequence-node-path-mutations.d.ts +4 -0
- package/dist/helpers/sequence-node-path-mutations.js +31 -0
- package/dist/helpers/use-create-composition.d.ts +15 -2
- package/dist/helpers/use-create-composition.js +11 -17
- package/dist/helpers/use-menu-structure.js +1 -0
- package/dist/icons/cube.d.ts +4 -0
- package/dist/icons/cube.js +6 -0
- package/dist/icons/finder.d.ts +4 -0
- package/dist/icons/finder.js +8 -0
- package/dist/icons/github.d.ts +4 -0
- package/dist/icons/github.js +11 -0
- package/dist/icons/terminal.d.ts +6 -0
- package/dist/icons/terminal.js +46 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +8 -0
- package/dist/renderEntry.js +2 -2
- package/dist/state/modals.d.ts +9 -1
- package/dist/state/transform-3d-mode.d.ts +10 -0
- package/dist/state/transform-3d-mode.js +27 -0
- package/dist/state/z-index.d.ts +0 -1
- package/dist/state/z-index.js +28 -37
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StudioInternals = exports.writeStaticFile = exports.watchStaticFile = exports.watchPublicFolder = exports.visualControl = exports.updateDefaultProps = exports.toggle = exports.seek = exports.saveDefaultProps = exports.restartStudio = exports.reevaluateComposition = exports.play = exports.pause = exports.goToComposition = exports.getStaticFiles = exports.focusDefaultPropsPath = exports.deleteStaticFile = void 0;
|
|
4
4
|
const create_composition_1 = require("./api/create-composition");
|
|
5
|
+
const CodingAgentIcon_1 = require("./components/CodingAgentIcon");
|
|
6
|
+
const editor_1 = require("./icons/editor");
|
|
7
|
+
const finder_1 = require("./icons/finder");
|
|
8
|
+
const terminal_1 = require("./icons/terminal");
|
|
5
9
|
const delete_static_file_1 = require("./api/delete-static-file");
|
|
6
10
|
Object.defineProperty(exports, "deleteStaticFile", { enumerable: true, get: function () { return delete_static_file_1.deleteStaticFile; } });
|
|
7
11
|
const focus_default_props_path_1 = require("./api/focus-default-props-path");
|
|
@@ -35,6 +39,10 @@ Object.defineProperty(exports, "watchStaticFile", { enumerable: true, get: funct
|
|
|
35
39
|
const write_static_file_1 = require("./api/write-static-file");
|
|
36
40
|
Object.defineProperty(exports, "writeStaticFile", { enumerable: true, get: function () { return write_static_file_1.writeStaticFile; } });
|
|
37
41
|
exports.StudioInternals = {
|
|
42
|
+
CodingAgentIcon: CodingAgentIcon_1.CodingAgentIcon,
|
|
43
|
+
EditorIcon: editor_1.EditorIcon,
|
|
44
|
+
FinderIcon: finder_1.FinderIcon,
|
|
45
|
+
TerminalIcon: terminal_1.TerminalIcon,
|
|
38
46
|
createComposition: create_composition_1.createComposition,
|
|
39
47
|
createStill: create_composition_1.createStill,
|
|
40
48
|
};
|
package/dist/renderEntry.js
CHANGED
|
@@ -187,13 +187,13 @@ const renderContent = (Root) => {
|
|
|
187
187
|
defaultPixelFormat: bundleMode.compositionDefaultPixelFormat,
|
|
188
188
|
defaultProResProfile: bundleMode.compositionDefaultProResProfile,
|
|
189
189
|
defaultSampleRate: bundleMode.compositionDefaultSampleRate,
|
|
190
|
-
}, initialCompositions: [], children: jsx_runtime_1.jsx(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: (_a = window.remotion_logLevel) !== null && _a !== void 0 ? _a : 'info', numberOfAudioTags: 0, audioLatencyHint: (_b = window.remotion_audioLatencyHint) !== null && _b !== void 0 ? _b : 'playback', previewSampleRate: window.remotion_previewSampleRate, children: jsx_runtime_1.jsxs(remotion_1.Internals.RenderAssetManagerProvider, { collectAssets: null, children: [
|
|
190
|
+
}, initialCompositions: [], children: jsx_runtime_1.jsx(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: (_a = window.remotion_logLevel) !== null && _a !== void 0 ? _a : 'info', numberOfAudioTags: 0, audioLatencyHint: (_b = window.remotion_audioLatencyHint) !== null && _b !== void 0 ? _b : 'playback', previewSampleRate: window.remotion_previewSampleRate, _experimentalKeepAudioContextAlive: false, children: jsx_runtime_1.jsxs(remotion_1.Internals.RenderAssetManagerProvider, { collectAssets: null, children: [
|
|
191
191
|
jsx_runtime_1.jsx(Root, {}), jsx_runtime_1.jsx(GetVideoComposition, { state: bundleMode })
|
|
192
192
|
] }) }) }));
|
|
193
193
|
renderToDOM(markup);
|
|
194
194
|
}
|
|
195
195
|
if (bundleMode.type === 'evaluation') {
|
|
196
|
-
const markup = (jsx_runtime_1.jsx(remotion_1.Internals.CompositionManagerProvider, { initialCanvasContent: null, onlyRenderComposition: null, currentCompositionMetadata: null, initialCompositions: [], children: jsx_runtime_1.jsx(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: (_c = window.remotion_logLevel) !== null && _c !== void 0 ? _c : 'info', numberOfAudioTags: 0, audioLatencyHint: (_d = window.remotion_audioLatencyHint) !== null && _d !== void 0 ? _d : 'playback', previewSampleRate: window.remotion_previewSampleRate, children: jsx_runtime_1.jsx(remotion_1.Internals.RenderAssetManagerProvider, { collectAssets: null, children: jsx_runtime_1.jsx(Root, {}) }) }) }));
|
|
196
|
+
const markup = (jsx_runtime_1.jsx(remotion_1.Internals.CompositionManagerProvider, { initialCanvasContent: null, onlyRenderComposition: null, currentCompositionMetadata: null, initialCompositions: [], children: jsx_runtime_1.jsx(remotion_1.Internals.RemotionRootContexts, { frameState: null, audioEnabled: window.remotion_audioEnabled, videoEnabled: window.remotion_videoEnabled, logLevel: (_c = window.remotion_logLevel) !== null && _c !== void 0 ? _c : 'info', numberOfAudioTags: 0, audioLatencyHint: (_d = window.remotion_audioLatencyHint) !== null && _d !== void 0 ? _d : 'playback', previewSampleRate: window.remotion_previewSampleRate, _experimentalKeepAudioContextAlive: false, children: jsx_runtime_1.jsx(remotion_1.Internals.RenderAssetManagerProvider, { collectAssets: null, children: jsx_runtime_1.jsx(Root, {}) }) }) }));
|
|
197
197
|
renderToDOM(markup);
|
|
198
198
|
}
|
|
199
199
|
if (bundleMode.type === 'index') {
|
package/dist/state/modals.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec, ChromeMode, Codec, ColorSpace, LogLevel, OpenGlRenderer, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { HardwareAccelerationOption } from '@remotion/renderer/client';
|
|
3
|
-
import type { PackageManager, RenderDefaults } from '@remotion/studio-shared';
|
|
3
|
+
import type { CanvasCaptureData, PackageManager, RenderDefaults } from '@remotion/studio-shared';
|
|
4
4
|
import type { RenderStillOnWebImageFormat, WebRendererAudioCodec, WebRendererContainer, WebRendererHardwareAcceleration, WebRendererPageResponsiveness, WebRendererQuality, WebRendererVideoCodec } from '@remotion/web-renderer';
|
|
5
5
|
import type React from 'react';
|
|
6
6
|
import type { SequencePropsSubscriptionKey, _InternalTypes } from 'remotion';
|
|
@@ -109,11 +109,19 @@ export type AddEffectModalState = {
|
|
|
109
109
|
nodePath: SequencePropsSubscriptionKey;
|
|
110
110
|
clientId: string;
|
|
111
111
|
};
|
|
112
|
+
export type CanvasCaptureImport = {
|
|
113
|
+
readonly data: CanvasCaptureData;
|
|
114
|
+
readonly durationInSeconds: number;
|
|
115
|
+
readonly file: File;
|
|
116
|
+
readonly height: number;
|
|
117
|
+
readonly width: number;
|
|
118
|
+
};
|
|
112
119
|
export type ModalState = {
|
|
113
120
|
type: 'new-comp';
|
|
114
121
|
folderName: string | null;
|
|
115
122
|
parentName: string | null;
|
|
116
123
|
stack: string | null;
|
|
124
|
+
canvasCapture: CanvasCaptureImport | null;
|
|
117
125
|
} | {
|
|
118
126
|
type: 'new-folder';
|
|
119
127
|
parentName: string | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type Transform3DModeState = {
|
|
3
|
+
readonly manuallyEnabledSequenceKeys: ReadonlySet<string>;
|
|
4
|
+
readonly setManuallyEnabled: (sequenceKey: string, enabled: boolean) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const Transform3DModeStateContext: React.Context<Transform3DModeState>;
|
|
7
|
+
export declare const Transform3DModeStateProvider: React.FC<{
|
|
8
|
+
readonly children: React.ReactNode;
|
|
9
|
+
}>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Transform3DModeStateProvider = exports.Transform3DModeStateContext = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
exports.Transform3DModeStateContext = (0, react_1.createContext)({
|
|
7
|
+
manuallyEnabledSequenceKeys: new Set(),
|
|
8
|
+
setManuallyEnabled: () => undefined,
|
|
9
|
+
});
|
|
10
|
+
const Transform3DModeStateProvider = ({ children }) => {
|
|
11
|
+
const [manuallyEnabledSequenceKeys, setManuallyEnabledSequenceKeys] = (0, react_1.useState)(() => new Set());
|
|
12
|
+
const setManuallyEnabled = (0, react_1.useCallback)((sequenceKey, enabled) => {
|
|
13
|
+
setManuallyEnabledSequenceKeys((previous) => {
|
|
14
|
+
const next = new Set(previous);
|
|
15
|
+
if (enabled) {
|
|
16
|
+
next.add(sequenceKey);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
next.delete(sequenceKey);
|
|
20
|
+
}
|
|
21
|
+
return next;
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
const value = (0, react_1.useMemo)(() => ({ manuallyEnabledSequenceKeys, setManuallyEnabled }), [manuallyEnabledSequenceKeys, setManuallyEnabled]);
|
|
25
|
+
return (jsx_runtime_1.jsx(exports.Transform3DModeStateContext.Provider, { value: value, children: children }));
|
|
26
|
+
};
|
|
27
|
+
exports.Transform3DModeStateProvider = Transform3DModeStateProvider;
|
package/dist/state/z-index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export declare const HigherZIndex: React.FC<{
|
|
|
5
5
|
readonly children: React.ReactNode;
|
|
6
6
|
readonly disabled?: boolean;
|
|
7
7
|
readonly outsideClickButton?: 'any' | 'primary';
|
|
8
|
-
readonly stackOnHighest?: boolean;
|
|
9
8
|
}>;
|
|
10
9
|
export declare const useZIndex: () => {
|
|
11
10
|
currentZIndex: number;
|
package/dist/state/z-index.js
CHANGED
|
@@ -15,7 +15,7 @@ const margin = {
|
|
|
15
15
|
};
|
|
16
16
|
const EscapeHook = ({ onEscape }) => {
|
|
17
17
|
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
18
|
-
(0, react_1.
|
|
18
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
19
19
|
const escape = keybindings.registerKeybinding({
|
|
20
20
|
event: 'keydown',
|
|
21
21
|
key: 'Escape',
|
|
@@ -32,83 +32,74 @@ const EscapeHook = ({ onEscape }) => {
|
|
|
32
32
|
}, [keybindings, onEscape]);
|
|
33
33
|
return null;
|
|
34
34
|
};
|
|
35
|
-
const HigherZIndex = ({ children, onEscape, onOutsideClick, disabled, outsideClickButton = 'any',
|
|
36
|
-
var _a;
|
|
35
|
+
const HigherZIndex = ({ children, onEscape, onOutsideClick, disabled, outsideClickButton = 'any', }) => {
|
|
37
36
|
const context = (0, react_1.useContext)(ZIndexContext);
|
|
38
37
|
const highestContext = (0, react_1.useContext)(highest_z_index_1.HighestZIndexContext);
|
|
38
|
+
const { registerZIndex, unregisterZIndex } = highestContext;
|
|
39
39
|
const containerRef = (0, react_1.useRef)(null);
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
else if (stackedIndex.current === null) {
|
|
45
|
-
stackedIndex.current =
|
|
46
|
-
Math.max(context.currentIndex, highestContext.highestIndex) + 1;
|
|
47
|
-
}
|
|
40
|
+
const highestIndexRef = (0, react_1.useRef)(highestContext.highestIndex);
|
|
41
|
+
const onOutsideClickRef = (0, react_1.useRef)(onOutsideClick);
|
|
42
|
+
const outsideClickButtonRef = (0, react_1.useRef)(outsideClickButton);
|
|
48
43
|
const currentIndex = disabled
|
|
49
44
|
? context.currentIndex
|
|
50
|
-
:
|
|
51
|
-
(0, react_1.
|
|
45
|
+
: context.currentIndex + 1;
|
|
46
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
47
|
+
highestIndexRef.current = highestContext.highestIndex;
|
|
48
|
+
onOutsideClickRef.current = onOutsideClick;
|
|
49
|
+
outsideClickButtonRef.current = outsideClickButton;
|
|
50
|
+
}, [highestContext.highestIndex, onOutsideClick, outsideClickButton]);
|
|
51
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
52
52
|
if (disabled) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
return () =>
|
|
57
|
-
}, [currentIndex,
|
|
58
|
-
(0, react_1.
|
|
55
|
+
registerZIndex(currentIndex);
|
|
56
|
+
return () => unregisterZIndex(currentIndex);
|
|
57
|
+
}, [currentIndex, disabled, registerZIndex, unregisterZIndex]);
|
|
58
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
59
59
|
if (disabled) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
let endPointerSession = null;
|
|
63
63
|
const listener = (downEvent) => {
|
|
64
64
|
var _a;
|
|
65
|
-
if (
|
|
65
|
+
if (outsideClickButtonRef.current === 'primary' &&
|
|
66
|
+
downEvent.button !== 0) {
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
const outsideClick = !((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(downEvent.target));
|
|
69
70
|
if (!outsideClick) {
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
73
|
+
// The topmost layer owns the full pointer gesture. Layers may mount or
|
|
74
|
+
// unmount before pointerup, but that must not cancel or transfer dismissal.
|
|
75
|
+
if (highestIndexRef.current !== currentIndex) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
72
78
|
endPointerSession === null || endPointerSession === void 0 ? void 0 : endPointerSession();
|
|
73
|
-
endPointerSession = (0, pointer_session_1.
|
|
79
|
+
endPointerSession = (0, pointer_session_1.observePointerRelease)({
|
|
74
80
|
event: downEvent,
|
|
75
|
-
target: downEvent.target,
|
|
76
81
|
onEnd: (reason, upEvent) => {
|
|
77
82
|
var _a;
|
|
78
83
|
endPointerSession = null;
|
|
79
84
|
if ((reason === 'pointerup' || reason === 'buttons-released') &&
|
|
80
85
|
upEvent &&
|
|
81
|
-
highestContext.highestIndex === currentIndex &&
|
|
82
86
|
!(0, input_dragger_click_lock_1.getClickLock)()) {
|
|
83
87
|
const target = (_a = document.elementFromPoint(upEvent.clientX, upEvent.clientY)) !== null && _a !== void 0 ? _a : upEvent.target;
|
|
84
88
|
if (document.contains(target)) {
|
|
85
89
|
upEvent.stopPropagation();
|
|
86
|
-
|
|
90
|
+
onOutsideClickRef.current(target);
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
},
|
|
90
94
|
});
|
|
91
95
|
};
|
|
92
|
-
|
|
93
|
-
// However we may not interpret it as a outside click, so we need to wait for the next tick
|
|
94
|
-
requestAnimationFrame(() => {
|
|
95
|
-
// The third argument `true` registers a capture-phase listener. Some Studio
|
|
96
|
-
// elements stop pointerdown propagation while still being outside the menu,
|
|
97
|
-
// so bubbling listeners would miss those clicks and keep the menu open.
|
|
98
|
-
window.addEventListener('pointerdown', listener, true);
|
|
99
|
-
});
|
|
96
|
+
window.addEventListener('pointerdown', listener, true);
|
|
100
97
|
return () => {
|
|
101
98
|
endPointerSession === null || endPointerSession === void 0 ? void 0 : endPointerSession();
|
|
102
99
|
endPointerSession = null;
|
|
103
100
|
return window.removeEventListener('pointerdown', listener, true);
|
|
104
101
|
};
|
|
105
|
-
}, [
|
|
106
|
-
currentIndex,
|
|
107
|
-
disabled,
|
|
108
|
-
highestContext.highestIndex,
|
|
109
|
-
onOutsideClick,
|
|
110
|
-
outsideClickButton,
|
|
111
|
-
]);
|
|
102
|
+
}, [currentIndex, disabled]);
|
|
112
103
|
const value = (0, react_1.useMemo)(() => {
|
|
113
104
|
return {
|
|
114
105
|
currentIndex,
|
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.509",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -24,17 +24,17 @@
|
|
|
24
24
|
"react-dom": ">=16.8.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@remotion/studio-protocol": "4.0.
|
|
27
|
+
"@remotion/studio-protocol": "4.0.509",
|
|
28
28
|
"semver": "7.5.3",
|
|
29
|
-
"remotion": "4.0.
|
|
30
|
-
"@remotion/captions": "4.0.
|
|
31
|
-
"@remotion/player": "4.0.
|
|
32
|
-
"@remotion/media-utils": "4.0.
|
|
33
|
-
"@remotion/renderer": "4.0.
|
|
34
|
-
"@remotion/web-renderer": "4.0.
|
|
35
|
-
"@remotion/studio-shared": "4.0.
|
|
36
|
-
"@remotion/timeline-utils": "4.0.
|
|
37
|
-
"@remotion/zod-types": "4.0.
|
|
29
|
+
"remotion": "4.0.509",
|
|
30
|
+
"@remotion/captions": "4.0.509",
|
|
31
|
+
"@remotion/player": "4.0.509",
|
|
32
|
+
"@remotion/media-utils": "4.0.509",
|
|
33
|
+
"@remotion/renderer": "4.0.509",
|
|
34
|
+
"@remotion/web-renderer": "4.0.509",
|
|
35
|
+
"@remotion/studio-shared": "4.0.509",
|
|
36
|
+
"@remotion/timeline-utils": "4.0.509",
|
|
37
|
+
"@remotion/zod-types": "4.0.509",
|
|
38
38
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
39
39
|
"mediabunny": "1.50.8",
|
|
40
40
|
"memfs": "3.4.3",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"react": "19.2.3",
|
|
46
46
|
"react-dom": "19.2.3",
|
|
47
47
|
"@types/semver": "7.5.3",
|
|
48
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
48
|
+
"@remotion/eslint-config-internal": "4.0.509",
|
|
49
49
|
"eslint": "9.19.0",
|
|
50
50
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
51
51
|
},
|