@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
|
@@ -4,6 +4,7 @@ exports.EditorContent = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
|
+
const GlobalKeybindings_1 = require("./GlobalKeybindings");
|
|
7
8
|
const InitialCompositionLoader_1 = require("./InitialCompositionLoader");
|
|
8
9
|
const MenuToolbar_1 = require("./MenuToolbar");
|
|
9
10
|
const SplitterContainer_1 = require("./Splitter/SplitterContainer");
|
|
@@ -38,7 +39,7 @@ const EditorContent = ({ readOnlyStudio, children }) => {
|
|
|
38
39
|
jsx_runtime_1.jsx(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: children }), jsx_runtime_1.jsx(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), jsx_runtime_1.jsx(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: showTimeline ? jsx_runtime_1.jsx(Timeline_1.Timeline, {}) : jsx_runtime_1.jsx(TimelineEmptyState_1.TimelineEmptyState, {}) })
|
|
39
40
|
] }));
|
|
40
41
|
return (jsx_runtime_1.jsx(TimelineSelection_1.TimelineSelectionProvider, { children: jsx_runtime_1.jsxs(StudioClearSelectionArea, { children: [
|
|
41
|
-
jsx_runtime_1.jsx(InitialCompositionLoader_1.InitialCompositionLoader, {}), jsx_runtime_1.jsx(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }), jsx_runtime_1.jsx(TimelineKeyframeDragState_1.TimelineKeyframeDragStateProvider, { children: content })
|
|
42
|
+
jsx_runtime_1.jsx(InitialCompositionLoader_1.InitialCompositionLoader, {}), jsx_runtime_1.jsx(MenuToolbar_1.MenuToolbar, { readOnlyStudio: readOnlyStudio }), jsx_runtime_1.jsx(GlobalKeybindings_1.GlobalKeybindings, { readOnlyStudio: readOnlyStudio }), jsx_runtime_1.jsx(TimelineKeyframeDragState_1.TimelineKeyframeDragStateProvider, { children: content })
|
|
42
43
|
] }) }));
|
|
43
44
|
};
|
|
44
45
|
exports.EditorContent = EditorContent;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EffectPickerModal = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const studio_shared_1 = require("@remotion/studio-shared");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const colors_1 = require("../helpers/colors");
|
|
8
|
+
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
9
|
+
const modals_1 = require("../state/modals");
|
|
10
|
+
const ContextMenu_1 = require("./ContextMenu");
|
|
11
|
+
const effect_drag_and_drop_1 = require("./effect-drag-and-drop");
|
|
12
|
+
const effect_picker_search_1 = require("./effect-picker-search");
|
|
13
|
+
const layout_1 = require("./layout");
|
|
14
|
+
const is_menu_item_1 = require("./Menu/is-menu-item");
|
|
15
|
+
const DismissableModal_1 = require("./NewComposition/DismissableModal");
|
|
16
|
+
const RemInput_1 = require("./NewComposition/RemInput");
|
|
17
|
+
const shared_1 = require("./QuickSwitcher/shared");
|
|
18
|
+
const container = {
|
|
19
|
+
width: 500,
|
|
20
|
+
};
|
|
21
|
+
const content = {
|
|
22
|
+
padding: '12px 16px 10px',
|
|
23
|
+
};
|
|
24
|
+
const inputStyle = {
|
|
25
|
+
width: '100%',
|
|
26
|
+
};
|
|
27
|
+
const resultList = {
|
|
28
|
+
height: 320,
|
|
29
|
+
overflowY: 'auto',
|
|
30
|
+
paddingBottom: 10,
|
|
31
|
+
};
|
|
32
|
+
const noResults = {
|
|
33
|
+
color: colors_1.LIGHT_TEXT,
|
|
34
|
+
fontSize: 13,
|
|
35
|
+
padding: '12px 16px',
|
|
36
|
+
};
|
|
37
|
+
const resultContainer = {
|
|
38
|
+
cursor: 'pointer',
|
|
39
|
+
display: 'flex',
|
|
40
|
+
flexDirection: 'row',
|
|
41
|
+
alignItems: 'center',
|
|
42
|
+
padding: '7px 16px',
|
|
43
|
+
};
|
|
44
|
+
const labelContainer = {
|
|
45
|
+
flex: 1,
|
|
46
|
+
minWidth: 0,
|
|
47
|
+
};
|
|
48
|
+
const label = {
|
|
49
|
+
fontSize: shared_1.QUICK_SWITCHER_RESULT_LABEL_FONT_SIZE,
|
|
50
|
+
overflow: 'hidden',
|
|
51
|
+
textOverflow: 'ellipsis',
|
|
52
|
+
whiteSpace: 'nowrap',
|
|
53
|
+
};
|
|
54
|
+
const category = {
|
|
55
|
+
color: colors_1.LIGHT_TEXT,
|
|
56
|
+
fontSize: 11,
|
|
57
|
+
flexShrink: 0,
|
|
58
|
+
};
|
|
59
|
+
const EffectPickerResult = ({ item, selected, onSelected }) => {
|
|
60
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
61
|
+
const ref = (0, react_1.useRef)(null);
|
|
62
|
+
(0, shared_1.useScrollIntoViewOnSelected)(ref, selected);
|
|
63
|
+
const style = (0, react_1.useMemo)(() => {
|
|
64
|
+
return {
|
|
65
|
+
...resultContainer,
|
|
66
|
+
backgroundColor: (0, colors_1.getBackgroundFromHoverState)({ hovered, selected }),
|
|
67
|
+
};
|
|
68
|
+
}, [hovered, selected]);
|
|
69
|
+
const labelStyle = (0, react_1.useMemo)(() => {
|
|
70
|
+
return {
|
|
71
|
+
...label,
|
|
72
|
+
color: selected || hovered ? 'white' : colors_1.LIGHT_TEXT,
|
|
73
|
+
};
|
|
74
|
+
}, [hovered, selected]);
|
|
75
|
+
const onClick = (0, react_1.useCallback)(() => {
|
|
76
|
+
onSelected(item);
|
|
77
|
+
}, [item, onSelected]);
|
|
78
|
+
const contextMenuValues = (0, react_1.useMemo)(() => {
|
|
79
|
+
const documentationLink = (0, studio_shared_1.getEffectDocumentationLink)(item);
|
|
80
|
+
return [
|
|
81
|
+
{
|
|
82
|
+
type: 'item',
|
|
83
|
+
id: `open-${item.id}-docs`,
|
|
84
|
+
keyHint: null,
|
|
85
|
+
label: 'Open effect docs',
|
|
86
|
+
leftItem: null,
|
|
87
|
+
disabled: false,
|
|
88
|
+
onClick: () => {
|
|
89
|
+
window.open(documentationLink, '_blank', 'noopener,noreferrer');
|
|
90
|
+
},
|
|
91
|
+
quickSwitcherLabel: null,
|
|
92
|
+
subMenu: null,
|
|
93
|
+
value: `open-${item.id}-docs`,
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
}, [item]);
|
|
97
|
+
return (jsx_runtime_1.jsx(ContextMenu_1.ContextMenu, { values: contextMenuValues, onOpen: null, children: jsx_runtime_1.jsxs("div", { ref: ref, style: style, onClick: onClick, onMouseEnter: () => setHovered(true), onMouseLeave: () => setHovered(false), children: [
|
|
98
|
+
jsx_runtime_1.jsx("div", { style: labelContainer, children: jsx_runtime_1.jsx("div", { style: labelStyle, children: item.label }) }), jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: category, children: item.category })
|
|
99
|
+
] }) }));
|
|
100
|
+
};
|
|
101
|
+
const EffectPickerContent = ({ state }) => {
|
|
102
|
+
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
103
|
+
const [query, setQuery] = (0, react_1.useState)('');
|
|
104
|
+
const [selectedIndex, setSelectedIndex] = (0, react_1.useState)(0);
|
|
105
|
+
const inputRef = (0, react_1.useRef)(null);
|
|
106
|
+
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
107
|
+
const results = (0, react_1.useMemo)(() => {
|
|
108
|
+
return (0, effect_picker_search_1.filterEffectCatalog)({ items: studio_shared_1.EFFECT_CATALOG, query });
|
|
109
|
+
}, [query]);
|
|
110
|
+
const selectedIndexRounded = results.length === 0 ? -1 : (0, shared_1.loopIndex)(selectedIndex, results.length);
|
|
111
|
+
const selectItem = (0, react_1.useCallback)((item) => {
|
|
112
|
+
setSelectedModal(null);
|
|
113
|
+
(0, effect_drag_and_drop_1.addEffectToSequence)({
|
|
114
|
+
clientId: state.clientId,
|
|
115
|
+
effect: item.effect,
|
|
116
|
+
fileName: state.fileName,
|
|
117
|
+
nodePath: state.nodePath,
|
|
118
|
+
});
|
|
119
|
+
}, [setSelectedModal, state.clientId, state.fileName, state.nodePath]);
|
|
120
|
+
const onArrowDown = (0, react_1.useCallback)(() => {
|
|
121
|
+
setSelectedIndex((i) => i + 1);
|
|
122
|
+
}, []);
|
|
123
|
+
const onArrowUp = (0, react_1.useCallback)(() => {
|
|
124
|
+
setSelectedIndex((i) => i - 1);
|
|
125
|
+
}, []);
|
|
126
|
+
const onEnter = (0, react_1.useCallback)(() => {
|
|
127
|
+
if (selectedIndexRounded === -1) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
selectItem(results[selectedIndexRounded]);
|
|
131
|
+
}, [results, selectItem, selectedIndexRounded]);
|
|
132
|
+
(0, react_1.useEffect)(() => {
|
|
133
|
+
const downBinding = keybindings.registerKeybinding({
|
|
134
|
+
key: 'ArrowDown',
|
|
135
|
+
callback: onArrowDown,
|
|
136
|
+
commandCtrlKey: false,
|
|
137
|
+
event: 'keydown',
|
|
138
|
+
preventDefault: true,
|
|
139
|
+
triggerIfInputFieldFocused: true,
|
|
140
|
+
keepRegisteredWhenNotHighestContext: false,
|
|
141
|
+
});
|
|
142
|
+
const upBinding = keybindings.registerKeybinding({
|
|
143
|
+
key: 'ArrowUp',
|
|
144
|
+
callback: onArrowUp,
|
|
145
|
+
commandCtrlKey: false,
|
|
146
|
+
event: 'keydown',
|
|
147
|
+
preventDefault: true,
|
|
148
|
+
triggerIfInputFieldFocused: true,
|
|
149
|
+
keepRegisteredWhenNotHighestContext: false,
|
|
150
|
+
});
|
|
151
|
+
const enterBinding = keybindings.registerKeybinding({
|
|
152
|
+
key: 'Enter',
|
|
153
|
+
callback: onEnter,
|
|
154
|
+
commandCtrlKey: false,
|
|
155
|
+
event: 'keydown',
|
|
156
|
+
preventDefault: true,
|
|
157
|
+
triggerIfInputFieldFocused: true,
|
|
158
|
+
keepRegisteredWhenNotHighestContext: false,
|
|
159
|
+
});
|
|
160
|
+
return () => {
|
|
161
|
+
downBinding.unregister();
|
|
162
|
+
upBinding.unregister();
|
|
163
|
+
enterBinding.unregister();
|
|
164
|
+
};
|
|
165
|
+
}, [keybindings, onArrowDown, onArrowUp, onEnter]);
|
|
166
|
+
const onTextChange = (0, react_1.useCallback)((e) => {
|
|
167
|
+
setQuery(e.target.value);
|
|
168
|
+
setSelectedIndex(0);
|
|
169
|
+
}, []);
|
|
170
|
+
return (jsx_runtime_1.jsxs("div", { style: container, children: [
|
|
171
|
+
jsx_runtime_1.jsx("div", { style: content, children: jsx_runtime_1.jsx(RemInput_1.RemotionInput, { ref: inputRef, type: "text", style: inputStyle, autoFocus: true, status: "ok", value: query, onChange: onTextChange, placeholder: "Search effects...", rightAlign: false }) }), jsx_runtime_1.jsx("div", { style: resultList, className: is_menu_item_1.VERTICAL_SCROLLBAR_CLASSNAME, children: results.length === 0 ? (jsx_runtime_1.jsx("div", { style: noResults, children: "No effects found" })) : (results.map((item, i) => {
|
|
172
|
+
return (jsx_runtime_1.jsx(EffectPickerResult, { item: item, selected: selectedIndexRounded === i, onSelected: selectItem }, item.id));
|
|
173
|
+
})) })
|
|
174
|
+
] }));
|
|
175
|
+
};
|
|
176
|
+
const EffectPickerModal = ({ state }) => {
|
|
177
|
+
return (jsx_runtime_1.jsx(DismissableModal_1.DismissableModal, { children: jsx_runtime_1.jsx(EffectPickerContent, { state: state }) }));
|
|
178
|
+
};
|
|
179
|
+
exports.EffectPickerModal = EffectPickerModal;
|
|
@@ -6,6 +6,7 @@ type ExpandedTracksGetterContextValue = {
|
|
|
6
6
|
readonly getIsExpanded: GetIsExpanded;
|
|
7
7
|
};
|
|
8
8
|
type ExpandedTracksSetterContextValue = {
|
|
9
|
+
readonly expandParentTracks: (nodePathInfo: SequenceNodePathInfo) => void;
|
|
9
10
|
readonly toggleTrack: (nodePathInfo: SequenceNodePathInfo) => void;
|
|
10
11
|
readonly migrateExpandedTracksForSubscriptionKey: (oldKey: SequencePropsSubscriptionKey, newKey: SequencePropsSubscriptionKey) => void;
|
|
11
12
|
};
|
|
@@ -4,11 +4,46 @@ exports.ExpandedTracksProvider = exports.ExpandedTracksSetterContext = exports.E
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const migrate_expanded_tracks_for_subscription_key_1 = require("../helpers/migrate-expanded-tracks-for-subscription-key");
|
|
7
|
-
const persist_boolean_map_1 = require("../helpers/persist-boolean-map");
|
|
8
7
|
const timeline_node_path_key_1 = require("../helpers/timeline-node-path-key");
|
|
9
8
|
const SESSION_STORAGE_KEY = 'remotion.editor.expandedTracks';
|
|
9
|
+
const onlyCollapsedTrackValues = (state) => {
|
|
10
|
+
const result = {};
|
|
11
|
+
for (const [key, value] of Object.entries(state)) {
|
|
12
|
+
if (value === false) {
|
|
13
|
+
result[key] = false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
10
18
|
const loadExpandedTracks = () => {
|
|
11
|
-
|
|
19
|
+
if (typeof window === 'undefined') {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const raw = window.sessionStorage.getItem(SESSION_STORAGE_KEY);
|
|
24
|
+
if (raw === null) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
const parsed = JSON.parse(raw);
|
|
28
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
return onlyCollapsedTrackValues(parsed);
|
|
32
|
+
}
|
|
33
|
+
catch (_a) {
|
|
34
|
+
return {};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const persistExpandedTracks = (state) => {
|
|
38
|
+
if (typeof window === 'undefined') {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
window.sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(onlyCollapsedTrackValues(state)));
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
// Ignore quota errors or disabled storage.
|
|
46
|
+
}
|
|
12
47
|
};
|
|
13
48
|
exports.ExpandedTracksGetterContext = (0, react_1.createContext)({
|
|
14
49
|
getIsExpanded: () => {
|
|
@@ -16,6 +51,9 @@ exports.ExpandedTracksGetterContext = (0, react_1.createContext)({
|
|
|
16
51
|
},
|
|
17
52
|
});
|
|
18
53
|
exports.ExpandedTracksSetterContext = (0, react_1.createContext)({
|
|
54
|
+
expandParentTracks: () => {
|
|
55
|
+
throw new Error('ExpandedTracksSetterContext not initialized');
|
|
56
|
+
},
|
|
19
57
|
toggleTrack: () => {
|
|
20
58
|
throw new Error('ExpandedTracksSetterContext not initialized');
|
|
21
59
|
},
|
|
@@ -25,11 +63,46 @@ exports.ExpandedTracksSetterContext = (0, react_1.createContext)({
|
|
|
25
63
|
});
|
|
26
64
|
const ExpandedTracksProvider = ({ children }) => {
|
|
27
65
|
const [expandedTracks, setExpandedTracks] = (0, react_1.useState)(loadExpandedTracks);
|
|
66
|
+
const expandParentTracks = (0, react_1.useCallback)((nodePathInfo) => {
|
|
67
|
+
const keysToExpand = [];
|
|
68
|
+
for (let i = 0; i < nodePathInfo.auxiliaryKeys.length; i++) {
|
|
69
|
+
keysToExpand.push((0, timeline_node_path_key_1.timelineNodePathInfoToKey)({
|
|
70
|
+
...nodePathInfo,
|
|
71
|
+
auxiliaryKeys: nodePathInfo.auxiliaryKeys.slice(0, i),
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
if (keysToExpand.length === 0) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
setExpandedTracks((prev) => {
|
|
78
|
+
let changed = false;
|
|
79
|
+
const next = { ...prev };
|
|
80
|
+
for (const key of keysToExpand) {
|
|
81
|
+
if (next[key] === false) {
|
|
82
|
+
delete next[key];
|
|
83
|
+
changed = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (!changed) {
|
|
87
|
+
return prev;
|
|
88
|
+
}
|
|
89
|
+
persistExpandedTracks(next);
|
|
90
|
+
return next;
|
|
91
|
+
});
|
|
92
|
+
}, []);
|
|
28
93
|
const toggleTrack = (0, react_1.useCallback)((nodePathInfo) => {
|
|
29
94
|
setExpandedTracks((prev) => {
|
|
95
|
+
var _a;
|
|
30
96
|
const key = (0, timeline_node_path_key_1.timelineNodePathInfoToKey)(nodePathInfo);
|
|
31
|
-
const next =
|
|
32
|
-
|
|
97
|
+
const next = { ...prev };
|
|
98
|
+
const isExpanded = (_a = next[key]) !== null && _a !== void 0 ? _a : true;
|
|
99
|
+
if (isExpanded) {
|
|
100
|
+
next[key] = false;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
delete next[key];
|
|
104
|
+
}
|
|
105
|
+
persistExpandedTracks(next);
|
|
33
106
|
return next;
|
|
34
107
|
});
|
|
35
108
|
}, []);
|
|
@@ -39,20 +112,21 @@ const ExpandedTracksProvider = ({ children }) => {
|
|
|
39
112
|
if (!next) {
|
|
40
113
|
return prev;
|
|
41
114
|
}
|
|
42
|
-
(
|
|
115
|
+
persistExpandedTracks(next);
|
|
43
116
|
return next;
|
|
44
117
|
});
|
|
45
118
|
}, []);
|
|
46
119
|
const getterValue = (0, react_1.useMemo)(() => ({
|
|
47
120
|
getIsExpanded: (nodePathInfo) => {
|
|
48
121
|
var _a;
|
|
49
|
-
return (_a = expandedTracks[(0, timeline_node_path_key_1.timelineNodePathInfoToKey)(nodePathInfo)]) !== null && _a !== void 0 ? _a :
|
|
122
|
+
return (_a = expandedTracks[(0, timeline_node_path_key_1.timelineNodePathInfoToKey)(nodePathInfo)]) !== null && _a !== void 0 ? _a : true;
|
|
50
123
|
},
|
|
51
124
|
}), [expandedTracks]);
|
|
52
125
|
const setterValue = (0, react_1.useMemo)(() => ({
|
|
126
|
+
expandParentTracks,
|
|
53
127
|
toggleTrack,
|
|
54
128
|
migrateExpandedTracksForSubscriptionKey: migrateExpandedTracks,
|
|
55
|
-
}), [toggleTrack, migrateExpandedTracks]);
|
|
129
|
+
}), [expandParentTracks, toggleTrack, migrateExpandedTracks]);
|
|
56
130
|
return (jsx_runtime_1.jsx(exports.ExpandedTracksSetterContext.Provider, { value: setterValue, children: jsx_runtime_1.jsx(exports.ExpandedTracksGetterContext.Provider, { value: getterValue, children: children }) }));
|
|
57
131
|
};
|
|
58
132
|
exports.ExpandedTracksProvider = ExpandedTracksProvider;
|
|
@@ -2,18 +2,110 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GlobalKeybindings = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
|
+
const remotion_1 = require("remotion");
|
|
6
|
+
const calculate_timeline_1 = require("../helpers/calculate-timeline");
|
|
7
|
+
const client_id_1 = require("../helpers/client-id");
|
|
8
|
+
const show_browser_rendering_1 = require("../helpers/show-browser-rendering");
|
|
9
|
+
const timeline_node_path_key_1 = require("../helpers/timeline-node-path-key");
|
|
5
10
|
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
6
11
|
const checkerboard_1 = require("../state/checkerboard");
|
|
7
12
|
const modals_1 = require("../state/modals");
|
|
8
13
|
const AskAiModal_1 = require("./AskAiModal");
|
|
9
14
|
const CompositionSelector_1 = require("./CompositionSelector");
|
|
10
15
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
11
|
-
const
|
|
16
|
+
const TimelineSelection_1 = require("./Timeline/TimelineSelection");
|
|
17
|
+
const sequencePropShortcuts = {
|
|
18
|
+
p: 'style.translate',
|
|
19
|
+
r: 'style.rotate',
|
|
20
|
+
s: 'style.scale',
|
|
21
|
+
t: 'style.opacity',
|
|
22
|
+
};
|
|
23
|
+
const hasOwnProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
|
|
24
|
+
const GlobalKeybindings = ({ readOnlyStudio }) => {
|
|
12
25
|
const keybindings = (0, use_keybinding_1.useKeybinding)();
|
|
13
26
|
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
14
27
|
const { setCheckerboard } = (0, react_1.useContext)(checkerboard_1.CheckerboardContext);
|
|
28
|
+
const currentSelection = (0, TimelineSelection_1.useCurrentTimelineSelectionStateAsRef)();
|
|
29
|
+
const { sequences } = (0, react_1.useContext)(remotion_1.Internals.SequenceManager);
|
|
30
|
+
const videoConfig = remotion_1.Internals.useUnsafeVideoConfig();
|
|
31
|
+
const { overrideIdToNodePathMappings } = (0, react_1.useContext)(remotion_1.Internals.OverrideIdsToNodePathsGettersContext);
|
|
32
|
+
const { type } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).previewServerState;
|
|
15
33
|
const { navigateToNextComposition, navigateToPreviousComposition } = (0, CompositionSelector_1.useCompositionNavigation)();
|
|
34
|
+
const video = remotion_1.Internals.useVideo();
|
|
35
|
+
const timeline = (0, react_1.useMemo)(() => {
|
|
36
|
+
if (videoConfig === null) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
return (0, calculate_timeline_1.calculateTimeline)({
|
|
40
|
+
sequences,
|
|
41
|
+
overrideIdsToNodePaths: overrideIdToNodePathMappings,
|
|
42
|
+
});
|
|
43
|
+
}, [overrideIdToNodePathMappings, sequences, videoConfig]);
|
|
44
|
+
const selectSequenceProp = (0, react_1.useCallback)((fieldKey) => {
|
|
45
|
+
const { selectedItems, selectItems } = currentSelection.current;
|
|
46
|
+
if (selectedItems.length !== 1) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const [selection] = selectedItems;
|
|
50
|
+
if (selection.type !== 'sequence' && selection.type !== 'sequence-prop') {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const selectedTrackKey = (0, TimelineSelection_1.getTimelineSequenceSelectionKey)(selection.nodePathInfo);
|
|
54
|
+
const track = timeline.find((candidate) => candidate.nodePathInfo !== null &&
|
|
55
|
+
(0, timeline_node_path_key_1.timelineNodePathInfoToKey)(candidate.nodePathInfo) ===
|
|
56
|
+
selectedTrackKey);
|
|
57
|
+
if (!(track === null || track === void 0 ? void 0 : track.sequence.controls)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const { schema, currentRuntimeValueDotNotation } = track.sequence.controls;
|
|
61
|
+
if (!hasOwnProperty(schema, fieldKey) &&
|
|
62
|
+
!hasOwnProperty(currentRuntimeValueDotNotation, fieldKey)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
selectItems([
|
|
66
|
+
{
|
|
67
|
+
type: 'sequence-prop',
|
|
68
|
+
nodePathInfo: {
|
|
69
|
+
...selection.nodePathInfo,
|
|
70
|
+
auxiliaryKeys: ['controls', fieldKey],
|
|
71
|
+
},
|
|
72
|
+
key: fieldKey,
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
return true;
|
|
76
|
+
}, [currentSelection, timeline]);
|
|
77
|
+
const openRenderModal = (0, react_1.useCallback)(() => {
|
|
78
|
+
if (!video) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (type !== 'connected' && !show_browser_rendering_1.SHOW_BROWSER_RENDERING && !readOnlyStudio) {
|
|
82
|
+
(0, NotificationCenter_1.showNotification)('Studio server is offline', 2000);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const renderButton = document.getElementById('render-modal-button');
|
|
86
|
+
renderButton.click();
|
|
87
|
+
}, [readOnlyStudio, type, video]);
|
|
16
88
|
(0, react_1.useEffect)(() => {
|
|
89
|
+
const onSequencePropKey = (event) => {
|
|
90
|
+
const key = event.key.toLowerCase();
|
|
91
|
+
const fieldKey = sequencePropShortcuts[key];
|
|
92
|
+
if (!fieldKey) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (selectSequenceProp(fieldKey)) {
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (key === 't') {
|
|
100
|
+
setCheckerboard((c) => !c);
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (key === 'r') {
|
|
105
|
+
openRenderModal();
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
}
|
|
108
|
+
};
|
|
17
109
|
const nKey = keybindings.registerKeybinding({
|
|
18
110
|
event: 'keypress',
|
|
19
111
|
key: 'n',
|
|
@@ -65,17 +157,15 @@ const GlobalKeybindings = () => {
|
|
|
65
157
|
preventDefault: true,
|
|
66
158
|
})
|
|
67
159
|
: null;
|
|
68
|
-
const
|
|
69
|
-
event: '
|
|
70
|
-
key
|
|
71
|
-
callback:
|
|
72
|
-
setCheckerboard((c) => !c);
|
|
73
|
-
},
|
|
160
|
+
const sequencePropKeys = Object.keys(sequencePropShortcuts).map((key) => keybindings.registerKeybinding({
|
|
161
|
+
event: 'keydown',
|
|
162
|
+
key,
|
|
163
|
+
callback: onSequencePropKey,
|
|
74
164
|
commandCtrlKey: false,
|
|
75
|
-
preventDefault:
|
|
165
|
+
preventDefault: false,
|
|
76
166
|
triggerIfInputFieldFocused: false,
|
|
77
167
|
keepRegisteredWhenNotHighestContext: false,
|
|
78
|
-
});
|
|
168
|
+
}));
|
|
79
169
|
const questionMark = keybindings.registerKeybinding({
|
|
80
170
|
event: 'keypress',
|
|
81
171
|
key: '?',
|
|
@@ -111,7 +201,9 @@ const GlobalKeybindings = () => {
|
|
|
111
201
|
});
|
|
112
202
|
return () => {
|
|
113
203
|
nKey.unregister();
|
|
114
|
-
|
|
204
|
+
for (const sequencePropKey of sequencePropKeys) {
|
|
205
|
+
sequencePropKey.unregister();
|
|
206
|
+
}
|
|
115
207
|
questionMark.unregister();
|
|
116
208
|
cmdKKey.unregister();
|
|
117
209
|
cmdSKey.unregister();
|
|
@@ -121,6 +213,8 @@ const GlobalKeybindings = () => {
|
|
|
121
213
|
};
|
|
122
214
|
}, [
|
|
123
215
|
keybindings,
|
|
216
|
+
openRenderModal,
|
|
217
|
+
selectSequenceProp,
|
|
124
218
|
setCheckerboard,
|
|
125
219
|
setSelectedModal,
|
|
126
220
|
navigateToNextComposition,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare const INSPECTOR_INFO_HEADER_MIN_HEIGHT = 84;
|
|
3
|
+
export declare const InspectorInfoHeader: React.FC<{
|
|
4
|
+
readonly children?: React.ReactNode;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const InspectorInfoTitle: React.FC<{
|
|
7
|
+
readonly children: React.ReactNode;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const InspectorInfoSubtitle: React.FC<{
|
|
10
|
+
readonly children: React.ReactNode;
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InspectorInfoSubtitle = exports.InspectorInfoTitle = exports.InspectorInfoHeader = exports.INSPECTOR_INFO_HEADER_MIN_HEIGHT = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const colors_1 = require("../helpers/colors");
|
|
6
|
+
const InspectorPanelLayout_1 = require("./InspectorPanelLayout");
|
|
7
|
+
exports.INSPECTOR_INFO_HEADER_MIN_HEIGHT = 84;
|
|
8
|
+
const container = {
|
|
9
|
+
backgroundColor: colors_1.BACKGROUND,
|
|
10
|
+
color: 'white',
|
|
11
|
+
display: 'block',
|
|
12
|
+
minHeight: exports.INSPECTOR_INFO_HEADER_MIN_HEIGHT,
|
|
13
|
+
padding: `6px ${InspectorPanelLayout_1.INSPECTOR_PANEL_HORIZONTAL_PADDING}px`,
|
|
14
|
+
};
|
|
15
|
+
const row = {
|
|
16
|
+
backgroundColor: colors_1.BACKGROUND,
|
|
17
|
+
display: 'flex',
|
|
18
|
+
flexDirection: 'row',
|
|
19
|
+
lineHeight: '18px',
|
|
20
|
+
minWidth: 0,
|
|
21
|
+
};
|
|
22
|
+
const content = {
|
|
23
|
+
minWidth: 0,
|
|
24
|
+
width: '100%',
|
|
25
|
+
};
|
|
26
|
+
const title = {
|
|
27
|
+
backgroundColor: colors_1.BACKGROUND,
|
|
28
|
+
color: 'white',
|
|
29
|
+
fontSize: 12,
|
|
30
|
+
lineHeight: '18px',
|
|
31
|
+
overflow: 'hidden',
|
|
32
|
+
textOverflow: 'ellipsis',
|
|
33
|
+
whiteSpace: 'nowrap',
|
|
34
|
+
};
|
|
35
|
+
const subtitle = {
|
|
36
|
+
backgroundColor: colors_1.BACKGROUND,
|
|
37
|
+
color: colors_1.LIGHT_TEXT,
|
|
38
|
+
fontSize: 12,
|
|
39
|
+
lineHeight: '18px',
|
|
40
|
+
overflow: 'hidden',
|
|
41
|
+
textOverflow: 'ellipsis',
|
|
42
|
+
whiteSpace: 'nowrap',
|
|
43
|
+
};
|
|
44
|
+
const InspectorInfoHeader = ({ children }) => {
|
|
45
|
+
return (jsx_runtime_1.jsx("div", { style: container, children: children === undefined || children === null ? null : (jsx_runtime_1.jsx("div", { style: row, children: jsx_runtime_1.jsx("div", { style: content, children: children }) })) }));
|
|
46
|
+
};
|
|
47
|
+
exports.InspectorInfoHeader = InspectorInfoHeader;
|
|
48
|
+
const InspectorInfoTitle = ({ children }) => {
|
|
49
|
+
return jsx_runtime_1.jsx("div", { style: title, children: children });
|
|
50
|
+
};
|
|
51
|
+
exports.InspectorInfoTitle = InspectorInfoTitle;
|
|
52
|
+
const InspectorInfoSubtitle = ({ children }) => {
|
|
53
|
+
return jsx_runtime_1.jsx("div", { style: subtitle, children: children });
|
|
54
|
+
};
|
|
55
|
+
exports.InspectorInfoSubtitle = InspectorInfoSubtitle;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { _InternalTypes } from 'remotion';
|
|
3
|
+
import type { UpdaterFunction } from '../RenderModal/SchemaEditor/ZodSwitch';
|
|
4
|
+
export declare const DefaultInspector: React.FC<{
|
|
5
|
+
readonly composition: _InternalTypes['AnyComposition'] | null;
|
|
6
|
+
readonly currentDefaultProps: Record<string, unknown>;
|
|
7
|
+
readonly setDefaultProps: UpdaterFunction<Record<string, unknown>>;
|
|
8
|
+
}>;
|