@remotion/studio 4.0.524 → 4.0.526
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/api/focus-default-props-path.js +7 -1
- package/dist/api/restart-studio.d.ts +1 -1
- package/dist/api/restart-studio.js +1 -1
- package/dist/components/ActionTooltip.d.ts +2 -0
- package/dist/components/ActionTooltip.js +14 -4
- package/dist/components/AgentPrompt.d.ts +6 -0
- package/dist/components/AgentPrompt.js +107 -0
- package/dist/components/AppLaunchButton.js +2 -0
- package/dist/components/AssetFileIcon.js +2 -0
- package/dist/components/AssetSelectorItem.d.ts +1 -23
- package/dist/components/AssetSelectorItem.js +10 -200
- package/dist/components/AssetSelectorModal.d.ts +6 -0
- package/dist/components/AssetSelectorModal.js +174 -0
- package/dist/components/Canvas.js +21 -4
- package/dist/components/CaptionInspector.js +9 -3
- package/dist/components/CheckboardToggle.js +2 -1
- package/dist/{error-overlay/remotion-overlay → components}/CodeFrame.d.ts +2 -0
- package/dist/components/CodeFrame.js +77 -0
- package/dist/components/ColorPicker/AlphaSlider.js +1 -1
- package/dist/components/ColorPicker/HueSlider.js +1 -1
- package/dist/components/ColorPicker/SaturationValueArea.js +1 -1
- package/dist/components/CompositionSelector.js +1 -0
- package/dist/components/CompositionSelectorItem.js +7 -17
- package/dist/components/CurrentAsset.js +5 -4
- package/dist/components/EditorGuides/Guide.js +1 -1
- package/dist/components/ElementInstallConfirmation.js +100 -61
- package/dist/components/FilePreview.js +4 -0
- package/dist/components/FixComputedValueModal.js +64 -96
- package/dist/components/FullscreenToggle.js +1 -1
- package/dist/components/GenerateWithAgentModal.d.ts +9 -0
- package/dist/components/GenerateWithAgentModal.js +39 -0
- package/dist/components/GlobalKeybindings.js +14 -0
- package/dist/components/InlineEditableTitle.js +2 -0
- package/dist/components/InspectorLocationCopy.js +1 -1
- package/dist/components/InspectorOpenInEditor.d.ts +1 -0
- package/dist/components/InspectorOpenInEditor.js +25 -18
- package/dist/components/InspectorPanel/CollapsibleInspectorSection.d.ts +7 -0
- package/dist/components/InspectorPanel/CollapsibleInspectorSection.js +14 -0
- package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.d.ts +1 -1
- package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +19 -8
- package/dist/components/InspectorPanel/CompositionInspector.js +30 -13
- package/dist/components/InspectorPanel/CompositionInspectorHeader.js +6 -7
- package/dist/components/InspectorPanel/CompositionMetadata.js +4 -0
- package/dist/components/InspectorPanel/ConnectedCompositionsSection.js +6 -12
- package/dist/components/InspectorPanel/ElementLibraryButton.js +2 -0
- package/dist/components/InspectorPanel/GuideInspector.js +2 -3
- package/dist/components/InspectorPanel/KeyframeSettings.js +5 -6
- package/dist/components/InspectorPanel/MultiSequenceInspector.js +2 -1
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +4 -12
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +4 -3
- package/dist/components/InspectorPanel/common.d.ts +4 -0
- package/dist/components/InspectorPanel/common.js +14 -2
- package/dist/components/InspectorPanel/styles.d.ts +0 -3
- package/dist/components/InspectorPanel/styles.js +1 -27
- package/dist/components/InspectorPanel/use-composition-actions.d.ts +2 -0
- package/dist/components/InspectorPanel/use-composition-actions.js +15 -0
- package/dist/components/InspectorPanel/use-inspector-section-expanded.d.ts +1 -0
- package/dist/components/InspectorPanel/use-inspector-section-expanded.js +21 -0
- package/dist/components/InspectorSequenceSection.js +61 -43
- package/dist/components/InspectorSourceLocation.js +1 -0
- package/dist/components/KeyboardShortcutsSettings.js +12 -4
- package/dist/components/LoopToggle.js +2 -1
- package/dist/components/LutPreview.d.ts +4 -0
- package/dist/components/LutPreview.js +192 -0
- package/dist/components/Menu/MenuItem.js +1 -2
- package/dist/components/MenuBuildIndicator.js +1 -1
- package/dist/components/MenuCompositionName.js +4 -9
- package/dist/components/Modals.js +4 -6
- package/dist/components/ModelsSettings.js +15 -4
- package/dist/components/MuteToggle.js +2 -1
- package/dist/components/NewComposition/CodemodFooter.js +1 -0
- package/dist/components/NewComposition/DeleteComposition.js +42 -6
- package/dist/components/NewComposition/DeleteFolder.js +1 -0
- package/dist/components/NewComposition/DuplicateComposition.js +5 -0
- package/dist/components/NewComposition/InputDragger.js +2 -2
- package/dist/components/NewComposition/NewFolder.js +29 -2
- package/dist/components/NewComposition/RenameFolder.js +1 -0
- package/dist/components/NewComposition/duplicate-composition-api.d.ts +3 -2
- package/dist/components/NewComposition/duplicate-composition-api.js +9 -2
- package/dist/components/OutlineToggle.js +2 -1
- package/dist/components/PlayPause.js +1 -1
- package/dist/components/Preview.js +0 -3
- package/dist/components/PreviewToolbar.js +3 -6
- package/dist/components/PreviewToolbarOverflowButton.js +2 -1
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -1
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +4 -9
- package/dist/components/RenderButton.js +40 -4
- package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.d.ts +1 -0
- package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.js +2 -1
- package/dist/components/RenderModal/WebRenderModal.js +10 -2
- package/dist/components/RenderModal/WebRenderModalBasic.js +1 -1
- package/dist/components/RenderModal/render-modals.js +3 -0
- package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +1 -1
- package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +1 -1
- package/dist/components/RenderQueue/actions.d.ts +2 -1
- package/dist/components/RenderQueue/actions.js +2 -1
- package/dist/components/RendersTab.js +2 -0
- package/dist/components/RulersAndGuidesToggle.js +2 -1
- package/dist/components/SegmentedButton.d.ts +1 -0
- package/dist/components/SegmentedButton.js +9 -3
- package/dist/components/SelectedOutlineElement.js +22 -6
- package/dist/components/SelectedOutlinePolygon.js +4 -2
- package/dist/components/SettingsButton.js +11 -2
- package/dist/components/SettingsContext.d.ts +8 -0
- package/dist/components/SettingsContext.js +57 -2
- package/dist/components/SettingsModal.d.ts +1 -2
- package/dist/components/SettingsModal.js +27 -6
- package/dist/components/SettingsModalFooter.js +17 -3
- package/dist/components/SidebarCollapserControls.js +1 -1
- package/dist/components/SkillsSettings.d.ts +5 -0
- package/dist/components/SkillsSettings.js +49 -15
- package/dist/components/SnappingToggle.js +2 -1
- package/dist/components/Splitter/SplitterHandle.js +1 -2
- package/dist/components/Tabs/vertical.d.ts +1 -1
- package/dist/components/Tabs/vertical.js +16 -2
- package/dist/components/Timeline/EasingEditorModal.js +2 -2
- package/dist/components/Timeline/Timeline.js +10 -11
- package/dist/components/Timeline/TimelineAssetField.js +178 -9
- package/dist/components/Timeline/TimelineDragHandler.js +1 -2
- package/dist/components/Timeline/TimelineEffectItem.d.ts +1 -0
- package/dist/components/Timeline/TimelineEffectItem.js +2 -2
- package/dist/components/Timeline/TimelineEffectPropItem.d.ts +1 -0
- package/dist/components/Timeline/TimelineEffectPropItem.js +2 -2
- package/dist/components/Timeline/TimelineExpandedRow.js +2 -2
- package/dist/components/Timeline/TimelineHeightContainer.js +11 -1
- package/dist/components/Timeline/TimelineInOutDragHandler.js +1 -2
- package/dist/components/Timeline/TimelineKeyframeControls.js +15 -1
- package/dist/components/Timeline/TimelineLayerChildren.d.ts +3 -3
- package/dist/components/Timeline/TimelineLayerChildren.js +11 -9
- package/dist/components/Timeline/TimelineLayerEye.d.ts +1 -1
- package/dist/components/Timeline/TimelineLayerEye.js +6 -3
- package/dist/components/Timeline/TimelineList.js +9 -3
- package/dist/components/Timeline/TimelineSchemaField.js +10 -7
- package/dist/components/Timeline/TimelineSelection.d.ts +17 -4
- package/dist/components/Timeline/TimelineSelection.js +121 -52
- package/dist/components/Timeline/TimelineSequence.js +8 -8
- package/dist/components/Timeline/TimelineSequenceItem.d.ts +2 -0
- package/dist/components/Timeline/TimelineSequenceItem.js +29 -23
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +3 -12
- package/dist/components/Timeline/TimelineTranslateField.js +25 -12
- package/dist/components/Timeline/TimelineVirtualization.d.ts +3 -3
- package/dist/components/Timeline/TimelineZoomControls.js +1 -1
- package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +3 -1
- package/dist/components/Timeline/get-sequence-context-menu-items.js +152 -51
- package/dist/components/Timeline/normalize-font-weight-for-keyframe.d.ts +1 -0
- package/dist/components/Timeline/normalize-font-weight-for-keyframe.js +19 -0
- package/dist/components/Timeline/timeline-display-groups.d.ts +9 -0
- package/dist/components/Timeline/timeline-display-groups.js +66 -0
- package/dist/components/Timeline/timeline-field-display-utils.js +4 -2
- package/dist/components/Timeline/timeline-translate-utils.d.ts +17 -0
- package/dist/components/Timeline/timeline-translate-utils.js +53 -12
- package/dist/components/Timeline/use-open-sequence-in-apps.d.ts +2 -0
- package/dist/components/Timeline/use-open-sequence-in-apps.js +17 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +20 -6
- package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +2 -1
- package/dist/components/Timeline/use-timeline-expanded-tree.js +1 -2
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +4 -4
- package/dist/components/TimelineCombobox.js +1 -0
- package/dist/components/UndoRedoButtons.js +11 -0
- package/dist/components/UpdateStatusContext.d.ts +2 -2
- package/dist/components/UpdateStatusContext.js +6 -7
- package/dist/components/UpdatesSettings.js +6 -6
- package/dist/components/WebMcp.js +40 -41
- package/dist/components/asset-context-menu.d.ts +32 -0
- package/dist/components/asset-context-menu.js +242 -0
- package/dist/components/composition-menu-items.d.ts +4 -6
- package/dist/components/composition-menu-items.js +212 -42
- package/dist/components/folder-menu-items.js +44 -0
- package/dist/components/get-open-in-menu-items.d.ts +6 -5
- package/dist/components/get-open-in-menu-items.js +16 -10
- package/dist/components/import-assets.d.ts +24 -1
- package/dist/components/import-assets.js +3 -1
- package/dist/components/keyboard-shortcuts.d.ts +4 -4
- package/dist/components/keyboard-shortcuts.js +5 -0
- package/dist/components/selected-outline-order.js +18 -12
- package/dist/components/use-open-in-menu-apps.d.ts +14 -0
- package/dist/components/use-open-in-menu-apps.js +33 -0
- package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
- package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -0
- package/dist/error-overlay/remotion-overlay/OpenInEditor.js +3 -3
- package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +5 -1
- package/dist/error-overlay/remotion-overlay/StackFrame.js +26 -19
- package/dist/esm/{LazyModels-hc33szyn.mjs → LazyModels-mtggyjye.mjs} +3 -3
- package/dist/esm/{LazyModels-sg40rjw6.mjs → LazyModels-nk7py0zt.mjs} +3 -3
- package/dist/esm/{TranscriptionModal-3ctnxpt6.mjs → TranscriptionModal-ymnx1c7m.mjs} +6 -6
- package/dist/esm/{VideoMattingModal-b0r7e60n.mjs → VideoMattingModal-05vpczks.mjs} +6 -6
- package/dist/esm/{index-er3mh6em.mjs → index-0gewwxse.mjs} +7031 -5834
- package/dist/esm/{index-q5xv20xx.mjs → index-4dsz9035.mjs} +8 -8
- package/dist/esm/{index-wbmp5srk.mjs → index-5bfxbpca.mjs} +1 -1
- package/dist/esm/{index-e3zwf3e7.mjs → index-5gd8k9yv.mjs} +1 -1
- package/dist/esm/{index-c37kme2v.mjs → index-bs39wngg.mjs} +4929 -3801
- package/dist/esm/{index-yfrysr5f.mjs → index-cdy8v54v.mjs} +17 -3
- package/dist/esm/{index-9qtvmwtx.mjs → index-eb5txqp6.mjs} +12 -9
- package/dist/esm/{index-q2epbw93.mjs → index-f97r9e2g.mjs} +4 -21
- package/dist/esm/{index-2j3d1g81.mjs → index-g7k2dvar.mjs} +1 -1
- package/dist/esm/{index-1b9skrrd.mjs → index-x40wwfmt.mjs} +3 -3
- package/dist/esm/index.mjs +12 -6
- package/dist/esm/internals.mjs +7 -7
- package/dist/esm/previewEntry.mjs +7 -7
- package/dist/helpers/client-id.d.ts +1 -0
- package/dist/helpers/client-id.js +8 -4
- package/dist/helpers/cube-lut.d.ts +12 -0
- package/dist/helpers/cube-lut.js +160 -0
- package/dist/helpers/get-git-menu-item.d.ts +4 -0
- package/dist/helpers/get-git-menu-item.js +8 -1
- package/dist/helpers/get-preview-file-type.d.ts +1 -1
- package/dist/helpers/get-preview-file-type.js +3 -0
- package/dist/helpers/get-sequence-double-click-action.d.ts +3 -3
- package/dist/helpers/get-sequence-double-click-action.js +2 -2
- package/dist/helpers/open-in-editor.d.ts +5 -2
- package/dist/helpers/open-in-editor.js +12 -4
- package/dist/helpers/pointer-session.d.ts +1 -0
- package/dist/helpers/pointer-session.js +10 -1
- package/dist/helpers/settings-tab-availability.d.ts +14 -0
- package/dist/helpers/settings-tab-availability.js +35 -0
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/use-create-composition.js +5 -0
- package/dist/helpers/use-keybinding.d.ts +1 -1
- package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
- package/dist/helpers/use-media-metadata.js +5 -1
- package/dist/helpers/use-menu-structure.js +21 -13
- package/dist/helpers/use-rename-composition.js +6 -1
- package/dist/icons/lut.d.ts +4 -0
- package/dist/icons/lut.js +6 -0
- package/dist/icons/sparkles.d.ts +4 -0
- package/dist/icons/sparkles.js +6 -0
- package/dist/state/modals.d.ts +25 -3
- package/dist/state/z-index.js +1 -3
- package/package.json +19 -19
- package/dist/error-overlay/remotion-overlay/CodeFrame.js +0 -62
|
@@ -6,6 +6,10 @@ export declare const InspectorSectionHeader: React.FC<{
|
|
|
6
6
|
export declare const InspectorQuickActionsSection: React.FC<{
|
|
7
7
|
readonly children: React.ReactNode;
|
|
8
8
|
}>;
|
|
9
|
+
export declare const InspectorSectionBody: React.FC<{
|
|
10
|
+
readonly children: React.ReactNode;
|
|
11
|
+
readonly expanded: boolean;
|
|
12
|
+
}>;
|
|
9
13
|
export declare const InspectorSection: React.FC<{
|
|
10
14
|
readonly children: React.ReactNode;
|
|
11
15
|
readonly header: React.ReactNode;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.InspectorDefaultPropsWarnings = exports.InspectorQuickAction = exports.InspectorDetailRow = exports.InspectorMessage = exports.InspectorBackAction = exports.InspectorSection = exports.InspectorQuickActionsSection = exports.InspectorSectionHeader = void 0;
|
|
6
|
+
exports.InspectorDefaultPropsWarnings = exports.InspectorQuickAction = exports.InspectorDetailRow = exports.InspectorMessage = exports.InspectorBackAction = exports.InspectorSection = exports.InspectorSectionBody = exports.InspectorQuickActionsSection = exports.InspectorSectionHeader = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const react_1 = __importDefault(require("react"));
|
|
9
9
|
const colors_1 = require("../../helpers/colors");
|
|
@@ -16,9 +16,21 @@ const InspectorSectionHeader = ({ children }) => jsx_runtime_1.jsx("div", { styl
|
|
|
16
16
|
exports.InspectorSectionHeader = InspectorSectionHeader;
|
|
17
17
|
const InspectorQuickActionsSection = ({ children }) => jsx_runtime_1.jsx("div", { style: styles_1.inspectorQuickActionsSection, children: children });
|
|
18
18
|
exports.InspectorQuickActionsSection = InspectorQuickActionsSection;
|
|
19
|
+
const collapsedSectionBody = {
|
|
20
|
+
...styles_1.inspectorSectionBody,
|
|
21
|
+
display: 'none',
|
|
22
|
+
};
|
|
23
|
+
const InspectorSectionBody = ({ children, expanded }) => {
|
|
24
|
+
if (children === null) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return (jsx_runtime_1.jsx("div", { hidden: !expanded, style: expanded ? styles_1.inspectorSectionBody : collapsedSectionBody, children: children }));
|
|
28
|
+
};
|
|
29
|
+
exports.InspectorSectionBody = InspectorSectionBody;
|
|
19
30
|
const InspectorSection = ({ children, header }) => {
|
|
20
31
|
return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
21
|
-
jsx_runtime_1.jsx(exports.InspectorSectionHeader, { children: header }),
|
|
32
|
+
jsx_runtime_1.jsx(exports.InspectorSectionHeader, { children: header }), jsx_runtime_1.jsx(exports.InspectorSectionBody, { expanded: true, children: children })
|
|
33
|
+
] }));
|
|
22
34
|
};
|
|
23
35
|
exports.InspectorSection = InspectorSection;
|
|
24
36
|
const backArrowIcon = {
|
|
@@ -2,15 +2,12 @@ import type React from 'react';
|
|
|
2
2
|
export declare const container: React.CSSProperties;
|
|
3
3
|
export declare const scrollableContainer: React.CSSProperties;
|
|
4
4
|
export declare const compositionDefaultPropsSection: React.CSSProperties;
|
|
5
|
-
export declare const compositionVisualControlsSection: React.CSSProperties;
|
|
6
5
|
export declare const inspectorOverviewSection: React.CSSProperties;
|
|
7
6
|
export declare const sequenceHeaderDivider: React.CSSProperties;
|
|
8
7
|
export declare const sectionHeader: React.CSSProperties;
|
|
9
8
|
export declare const inspectorSectionBody: React.CSSProperties;
|
|
10
9
|
export declare const sequenceHeaderSubtitle: React.CSSProperties;
|
|
11
10
|
export declare const sectionHeaderRow: React.CSSProperties;
|
|
12
|
-
export declare const sectionHeaderTitle: React.CSSProperties;
|
|
13
|
-
export declare const sectionHeaderStart: React.CSSProperties;
|
|
14
11
|
export declare const sectionHeaderEnd: React.CSSProperties;
|
|
15
12
|
export declare const defaultPropsWarningContainer: React.CSSProperties;
|
|
16
13
|
export declare const defaultPropsWarningMessages: React.CSSProperties;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.keyframeEditorValue = exports.keyframeEditorRow = exports.detailValue = exports.detailLabel = exports.detailRow = exports.guideDetailsContainer = exports.detailsBeforeInlineAction = exports.inspectorQuickActionsSection = exports.detailsWithInlineAction = exports.detailsContainer = exports.centeredMessage = exports.selectedContainer = exports.resolveLinkStyle = exports.defaultPropsWarningMessages = exports.defaultPropsWarningContainer = exports.sectionHeaderEnd = exports.
|
|
3
|
+
exports.keyframeEditorValue = exports.keyframeEditorRow = exports.detailValue = exports.detailLabel = exports.detailRow = exports.guideDetailsContainer = exports.detailsBeforeInlineAction = exports.inspectorQuickActionsSection = exports.detailsWithInlineAction = exports.detailsContainer = exports.centeredMessage = exports.selectedContainer = exports.resolveLinkStyle = exports.defaultPropsWarningMessages = exports.defaultPropsWarningContainer = exports.sectionHeaderEnd = exports.sectionHeaderRow = exports.sequenceHeaderSubtitle = exports.inspectorSectionBody = exports.sectionHeader = exports.sequenceHeaderDivider = exports.inspectorOverviewSection = exports.compositionDefaultPropsSection = exports.scrollableContainer = exports.container = void 0;
|
|
4
4
|
const colors_1 = require("../../helpers/colors");
|
|
5
5
|
const InspectorPanelLayout_1 = require("../InspectorPanelLayout");
|
|
6
6
|
const layout_1 = require("../layout");
|
|
@@ -22,10 +22,6 @@ exports.compositionDefaultPropsSection = {
|
|
|
22
22
|
display: 'flex',
|
|
23
23
|
flexDirection: 'column',
|
|
24
24
|
};
|
|
25
|
-
exports.compositionVisualControlsSection = {
|
|
26
|
-
display: 'flex',
|
|
27
|
-
flexDirection: 'column',
|
|
28
|
-
};
|
|
29
25
|
exports.inspectorOverviewSection = {
|
|
30
26
|
display: 'flex',
|
|
31
27
|
flexDirection: 'column',
|
|
@@ -76,28 +72,6 @@ exports.sectionHeaderRow = {
|
|
|
76
72
|
justifyContent: 'space-between',
|
|
77
73
|
minWidth: 0,
|
|
78
74
|
};
|
|
79
|
-
exports.sectionHeaderTitle = {
|
|
80
|
-
alignItems: 'center',
|
|
81
|
-
color: colors_1.LIGHT_TEXT,
|
|
82
|
-
display: 'flex',
|
|
83
|
-
flexShrink: 0,
|
|
84
|
-
fontFamily: 'sans-serif',
|
|
85
|
-
fontSize: 12,
|
|
86
|
-
fontWeight: 'bold',
|
|
87
|
-
lineHeight: '16px',
|
|
88
|
-
minHeight: 24,
|
|
89
|
-
minWidth: 0,
|
|
90
|
-
overflow: 'hidden',
|
|
91
|
-
textOverflow: 'ellipsis',
|
|
92
|
-
userSelect: 'none',
|
|
93
|
-
whiteSpace: 'nowrap',
|
|
94
|
-
};
|
|
95
|
-
exports.sectionHeaderStart = {
|
|
96
|
-
alignItems: 'center',
|
|
97
|
-
display: 'flex',
|
|
98
|
-
gap: 8,
|
|
99
|
-
minWidth: 0,
|
|
100
|
-
};
|
|
101
75
|
exports.sectionHeaderEnd = {
|
|
102
76
|
alignItems: 'center',
|
|
103
77
|
display: 'flex',
|
|
@@ -5,7 +5,9 @@ export declare const useCompositionActions: () => {
|
|
|
5
5
|
canShowInsertAsset: boolean;
|
|
6
6
|
canShowInsertComposition: boolean;
|
|
7
7
|
canShowInsertSolid: boolean;
|
|
8
|
+
canShowGenerateWithAgent: boolean;
|
|
8
9
|
insertAsset: () => void;
|
|
9
10
|
insertComposition: () => void;
|
|
10
11
|
insertSolid: () => Promise<void>;
|
|
12
|
+
generateWithAgent: () => void;
|
|
11
13
|
};
|
|
@@ -57,6 +57,9 @@ const useCompositionActions = () => {
|
|
|
57
57
|
const canInsertAsset = canShowInsertAsset && !isAddingAsset;
|
|
58
58
|
const canShowInsertComposition = canShowInsertAsset;
|
|
59
59
|
const canInsertComposition = canShowInsertComposition && !isAddingComposition;
|
|
60
|
+
const canShowGenerateWithAgent = previewInteractive &&
|
|
61
|
+
!window.remotion_isReadOnlyStudio &&
|
|
62
|
+
currentCompositionId !== null;
|
|
60
63
|
const insertSolid = (0, react_1.useCallback)(async () => {
|
|
61
64
|
if (!canInsertSolid ||
|
|
62
65
|
currentCompositionId === null ||
|
|
@@ -231,6 +234,16 @@ const useCompositionActions = () => {
|
|
|
231
234
|
onCompositionSelected,
|
|
232
235
|
setSelectedModal,
|
|
233
236
|
]);
|
|
237
|
+
const generateWithAgent = (0, react_1.useCallback)(() => {
|
|
238
|
+
var _a;
|
|
239
|
+
if (currentCompositionId === null) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
setSelectedModal({
|
|
243
|
+
type: 'generate-with-agent',
|
|
244
|
+
location: (_a = compositionComponentInfo === null || compositionComponentInfo === void 0 ? void 0 : compositionComponentInfo.location) !== null && _a !== void 0 ? _a : null,
|
|
245
|
+
});
|
|
246
|
+
}, [compositionComponentInfo, currentCompositionId, setSelectedModal]);
|
|
234
247
|
return {
|
|
235
248
|
canInsertAsset,
|
|
236
249
|
canInsertComposition,
|
|
@@ -238,9 +251,11 @@ const useCompositionActions = () => {
|
|
|
238
251
|
canShowInsertAsset,
|
|
239
252
|
canShowInsertComposition,
|
|
240
253
|
canShowInsertSolid,
|
|
254
|
+
canShowGenerateWithAgent,
|
|
241
255
|
insertAsset,
|
|
242
256
|
insertComposition,
|
|
243
257
|
insertSolid,
|
|
258
|
+
generateWithAgent,
|
|
244
259
|
};
|
|
245
260
|
};
|
|
246
261
|
exports.useCompositionActions = useCompositionActions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useInspectorSectionExpanded: (sectionId: string) => readonly [boolean, (expanded: boolean) => void];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInspectorSectionExpanded = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const persist_boolean_map_1 = require("../../helpers/persist-boolean-map");
|
|
6
|
+
const storageKey = 'remotion.editor.inspectorCollapsedSections';
|
|
7
|
+
const useInspectorSectionExpanded = (sectionId) => {
|
|
8
|
+
const [collapsedSections, setCollapsedSections] = (0, react_1.useState)(() => (0, persist_boolean_map_1.loadPersistedBooleanMap)(storageKey));
|
|
9
|
+
const setExpanded = (0, react_1.useCallback)((expanded) => {
|
|
10
|
+
setCollapsedSections((previous) => ({
|
|
11
|
+
...previous,
|
|
12
|
+
[sectionId]: !expanded,
|
|
13
|
+
}));
|
|
14
|
+
(0, persist_boolean_map_1.persistBooleanMap)(storageKey, {
|
|
15
|
+
...(0, persist_boolean_map_1.loadPersistedBooleanMap)(storageKey),
|
|
16
|
+
[sectionId]: !expanded,
|
|
17
|
+
});
|
|
18
|
+
}, [sectionId]);
|
|
19
|
+
return [!collapsedSections[sectionId], setExpanded];
|
|
20
|
+
};
|
|
21
|
+
exports.useInspectorSectionExpanded = useInspectorSectionExpanded;
|
|
@@ -21,7 +21,6 @@ const InlineCaptionInspector_1 = require("./InlineCaptionInspector");
|
|
|
21
21
|
const CollapsibleInspectorSectionHeader_1 = require("./InspectorPanel/CollapsibleInspectorSectionHeader");
|
|
22
22
|
const common_1 = require("./InspectorPanel/common");
|
|
23
23
|
const inspector_section_collapse_1 = require("./InspectorPanel/inspector-section-collapse");
|
|
24
|
-
const styles_1 = require("./InspectorPanel/styles");
|
|
25
24
|
const border_radius_representation_1 = require("./Timeline/border-radius-representation");
|
|
26
25
|
const save_sequence_prop_1 = require("./Timeline/save-sequence-prop");
|
|
27
26
|
const timeline_asset_link_1 = require("./Timeline/timeline-asset-link");
|
|
@@ -51,10 +50,6 @@ const plusIcon = {
|
|
|
51
50
|
width: 15,
|
|
52
51
|
height: 15,
|
|
53
52
|
};
|
|
54
|
-
const effectsHeaderTitle = {
|
|
55
|
-
...styles_1.sectionHeaderTitle,
|
|
56
|
-
flexShrink: 1,
|
|
57
|
-
};
|
|
58
53
|
const borderRadiusToggleIcon = {
|
|
59
54
|
flexShrink: 0,
|
|
60
55
|
height: 15,
|
|
@@ -207,21 +202,30 @@ const hasSequenceControls = (sequence) => {
|
|
|
207
202
|
exports.hasSequenceControls = hasSequenceControls;
|
|
208
203
|
const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation, nodePathInfo, keyframeDisplayOffset, renderTransformControls, }) => {
|
|
209
204
|
var _a;
|
|
205
|
+
var _b;
|
|
210
206
|
const { tree, propStatuses, runtimeValues } = (0, use_timeline_expanded_tree_1.useTimelineExpandedTree)({
|
|
211
207
|
sequence,
|
|
212
208
|
nodePathInfo,
|
|
213
209
|
includeTextContent: true,
|
|
214
210
|
includeSourceControls: true,
|
|
215
211
|
});
|
|
216
|
-
const { selectedItems } = (0, TimelineSelection_1.useTimelineSelection)();
|
|
212
|
+
const { inspectorRevealRequest, selectedItems } = (0, TimelineSelection_1.useTimelineSelection)();
|
|
217
213
|
const selectedEffect = selectedItems.length === 1 &&
|
|
218
214
|
(selectedItems[0].type === 'sequence-effect' ||
|
|
219
215
|
selectedItems[0].type === 'sequence-effect-prop')
|
|
220
216
|
? selectedItems[0]
|
|
221
217
|
: null;
|
|
222
218
|
const selectedEffectKey = selectedEffect === null ? null : (0, TimelineSelection_1.getTimelineSelectionKey)(selectedEffect);
|
|
219
|
+
const inspectorRevealItem = inspectorRevealRequest === null || inspectorRevealRequest === void 0 ? void 0 : inspectorRevealRequest.item;
|
|
220
|
+
const inspectorRevealItemKey = (inspectorRevealItem === null || inspectorRevealItem === void 0 ? void 0 : inspectorRevealItem.type) === 'sequence-effect' ||
|
|
221
|
+
(inspectorRevealItem === null || inspectorRevealItem === void 0 ? void 0 : inspectorRevealItem.type) === 'sequence-effect-prop'
|
|
222
|
+
? (0, TimelineSelection_1.getTimelineSelectionKey)(inspectorRevealItem)
|
|
223
|
+
: null;
|
|
224
|
+
const inspectorRevealToken = inspectorRevealItemKey === selectedEffectKey
|
|
225
|
+
? ((_b = inspectorRevealRequest === null || inspectorRevealRequest === void 0 ? void 0 : inspectorRevealRequest.token) !== null && _b !== void 0 ? _b : null)
|
|
226
|
+
: null;
|
|
223
227
|
const selectedEffectRowRef = (0, react_1.useRef)(null);
|
|
224
|
-
const
|
|
228
|
+
const scrolledInspectorRevealToken = (0, react_1.useRef)(null);
|
|
225
229
|
const [collapsedKeys, setCollapsedKeys] = (0, react_1.useState)(loadInspectorCollapsedKeys);
|
|
226
230
|
const [sectionExpansionOverrides, setSectionExpansionOverrides] = (0, react_1.useState)(loadInspectorSectionExpansionOverrides);
|
|
227
231
|
const [automaticSectionExpansion, setAutomaticSectionExpansion] = (0, react_1.useState)({});
|
|
@@ -284,33 +288,61 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
284
288
|
return next;
|
|
285
289
|
});
|
|
286
290
|
}, []);
|
|
287
|
-
const
|
|
291
|
+
const isAdditionalSectionExpanded = (0, react_1.useCallback)((sectionId) => {
|
|
292
|
+
var _a;
|
|
293
|
+
const expansionKey = getInspectorSectionExpansionKey({
|
|
294
|
+
nodePathInfo,
|
|
295
|
+
sectionId,
|
|
296
|
+
});
|
|
297
|
+
return (_a = sectionExpansionOverrides[expansionKey]) !== null && _a !== void 0 ? _a : true;
|
|
298
|
+
}, [nodePathInfo, sectionExpansionOverrides]);
|
|
299
|
+
const setAdditionalSectionExpanded = (0, react_1.useCallback)((sectionId, expanded) => {
|
|
300
|
+
const expansionKey = getInspectorSectionExpansionKey({
|
|
301
|
+
nodePathInfo,
|
|
302
|
+
sectionId,
|
|
303
|
+
});
|
|
304
|
+
setSectionExpansionOverrides((previous) => {
|
|
305
|
+
if (previous[expansionKey] === expanded) {
|
|
306
|
+
return previous;
|
|
307
|
+
}
|
|
308
|
+
const next = { ...previous, [expansionKey]: expanded };
|
|
309
|
+
persistInspectorSectionExpansionOverrides(next);
|
|
310
|
+
return next;
|
|
311
|
+
});
|
|
312
|
+
}, [nodePathInfo]);
|
|
313
|
+
const toggleAdditionalSection = (0, react_1.useCallback)((sectionId) => {
|
|
314
|
+
setAdditionalSectionExpanded(sectionId, !isAdditionalSectionExpanded(sectionId));
|
|
315
|
+
}, [isAdditionalSectionExpanded, setAdditionalSectionExpanded]);
|
|
316
|
+
const effectsExpanded = isAdditionalSectionExpanded('effects');
|
|
317
|
+
const { controlRows, effectRows, hasEffects } = (0, react_1.useMemo)(() => {
|
|
288
318
|
const controlNodes = [];
|
|
289
|
-
let
|
|
319
|
+
let root = null;
|
|
290
320
|
for (const node of tree) {
|
|
291
321
|
if (isEffectsRoot(node)) {
|
|
292
|
-
|
|
322
|
+
root = node;
|
|
293
323
|
}
|
|
294
324
|
else {
|
|
295
325
|
controlNodes.push(node);
|
|
296
326
|
}
|
|
297
327
|
}
|
|
298
328
|
return {
|
|
329
|
+
hasEffects: root !== null && root.children.length > 0,
|
|
299
330
|
controlRows: (0, timeline_layout_1.flattenVisibleTreeNodes)({
|
|
300
331
|
nodes: controlNodes,
|
|
301
332
|
getIsExpanded,
|
|
302
333
|
}),
|
|
303
|
-
effectRows:
|
|
334
|
+
effectRows: root === null || !effectsExpanded
|
|
304
335
|
? []
|
|
305
336
|
: (0, timeline_layout_1.flattenVisibleTreeNodes)({
|
|
306
|
-
nodes:
|
|
337
|
+
nodes: root.children,
|
|
307
338
|
getIsExpanded,
|
|
308
339
|
}),
|
|
309
340
|
};
|
|
310
|
-
}, [getIsExpanded, tree]);
|
|
341
|
+
}, [effectsExpanded, getIsExpanded, tree]);
|
|
311
342
|
(0, react_1.useEffect)(() => {
|
|
312
343
|
if (selectedEffectKey === null ||
|
|
313
|
-
|
|
344
|
+
inspectorRevealToken === null ||
|
|
345
|
+
scrolledInspectorRevealToken.current === inspectorRevealToken) {
|
|
314
346
|
return;
|
|
315
347
|
}
|
|
316
348
|
const rows = (0, timeline_layout_1.flattenVisibleTreeNodes)({
|
|
@@ -325,6 +357,7 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
325
357
|
if (targetIndex === -1) {
|
|
326
358
|
return;
|
|
327
359
|
}
|
|
360
|
+
setAdditionalSectionExpanded('effects', true);
|
|
328
361
|
const parentKeys = [];
|
|
329
362
|
let { depth } = rows[targetIndex];
|
|
330
363
|
for (let i = targetIndex - 1; i >= 0 && depth > 0; i--) {
|
|
@@ -344,19 +377,23 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
344
377
|
persistInspectorCollapsedKeys(next);
|
|
345
378
|
return next;
|
|
346
379
|
});
|
|
347
|
-
}, [
|
|
380
|
+
}, [
|
|
381
|
+
inspectorRevealToken,
|
|
382
|
+
selectedEffectKey,
|
|
383
|
+
setAdditionalSectionExpanded,
|
|
384
|
+
tree,
|
|
385
|
+
]);
|
|
348
386
|
(0, react_1.useEffect)(() => {
|
|
349
|
-
if (
|
|
350
|
-
scrolledEffectKey.current = null;
|
|
387
|
+
if (inspectorRevealToken === null) {
|
|
351
388
|
return;
|
|
352
389
|
}
|
|
353
|
-
if (
|
|
390
|
+
if (scrolledInspectorRevealToken.current === inspectorRevealToken ||
|
|
354
391
|
selectedEffectRowRef.current === null) {
|
|
355
392
|
return;
|
|
356
393
|
}
|
|
357
394
|
selectedEffectRowRef.current.scrollIntoView({ block: 'center' });
|
|
358
|
-
|
|
359
|
-
}, [effectRows,
|
|
395
|
+
scrolledInspectorRevealToken.current = inspectorRevealToken;
|
|
396
|
+
}, [effectRows, inspectorRevealToken]);
|
|
360
397
|
const effectSelectableItems = (0, react_1.useMemo)(() => (0, exports.getInspectorSelectableItems)(effectRows), [effectRows]);
|
|
361
398
|
const controlGroups = (0, react_1.useMemo)(() => getInspectorControlGroups(controlRows), [controlRows]);
|
|
362
399
|
const layoutGroup = controlGroups.find((group) => group.id === 'layout');
|
|
@@ -450,26 +487,6 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
450
487
|
return next;
|
|
451
488
|
});
|
|
452
489
|
}, [isControlGroupExpanded, nodePathInfo]);
|
|
453
|
-
const isAdditionalSectionExpanded = (0, react_1.useCallback)((sectionId) => {
|
|
454
|
-
var _a;
|
|
455
|
-
const expansionKey = getInspectorSectionExpansionKey({
|
|
456
|
-
nodePathInfo,
|
|
457
|
-
sectionId,
|
|
458
|
-
});
|
|
459
|
-
return (_a = sectionExpansionOverrides[expansionKey]) !== null && _a !== void 0 ? _a : true;
|
|
460
|
-
}, [nodePathInfo, sectionExpansionOverrides]);
|
|
461
|
-
const toggleAdditionalSection = (0, react_1.useCallback)((sectionId) => {
|
|
462
|
-
const expansionKey = getInspectorSectionExpansionKey({
|
|
463
|
-
nodePathInfo,
|
|
464
|
-
sectionId,
|
|
465
|
-
});
|
|
466
|
-
const nextExpanded = !isAdditionalSectionExpanded(sectionId);
|
|
467
|
-
setSectionExpansionOverrides((previous) => {
|
|
468
|
-
const next = { ...previous, [expansionKey]: nextExpanded };
|
|
469
|
-
persistInspectorSectionExpansionOverrides(next);
|
|
470
|
-
return next;
|
|
471
|
-
});
|
|
472
|
-
}, [isAdditionalSectionExpanded, nodePathInfo]);
|
|
473
490
|
const captionsExpanded = isAdditionalSectionExpanded('captions');
|
|
474
491
|
const visibleControlRows = controlGroups.flatMap((group) => {
|
|
475
492
|
return isControlGroupExpanded(group) ? group.rows : [];
|
|
@@ -490,7 +507,7 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
490
507
|
? runtimeValues.captions
|
|
491
508
|
: []
|
|
492
509
|
: null;
|
|
493
|
-
const showEffectsSection = nodePathInfo.supportsEffects ||
|
|
510
|
+
const showEffectsSection = nodePathInfo.supportsEffects || hasEffects;
|
|
494
511
|
const canAddEffect = nodePathInfo.supportsEffects &&
|
|
495
512
|
previewServerState.type === 'connected' &&
|
|
496
513
|
(0, interactivity_enabled_1.isStudioInteractivityEnabled)() &&
|
|
@@ -499,6 +516,7 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
499
516
|
if (!canAddEffect || previewServerState.type !== 'connected') {
|
|
500
517
|
return;
|
|
501
518
|
}
|
|
519
|
+
setAdditionalSectionExpanded('effects', true);
|
|
502
520
|
setSelectedModal({
|
|
503
521
|
type: 'add-effect',
|
|
504
522
|
clientId: previewServerState.clientId,
|
|
@@ -509,6 +527,7 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
509
527
|
canAddEffect,
|
|
510
528
|
nodePathInfo.sequenceSubscriptionKey,
|
|
511
529
|
previewServerState,
|
|
530
|
+
setAdditionalSectionExpanded,
|
|
512
531
|
setSelectedModal,
|
|
513
532
|
validatedLocation.source,
|
|
514
533
|
]);
|
|
@@ -554,8 +573,7 @@ const InspectorSequenceSection = ({ sequence, readOnlyStudio, validatedLocation,
|
|
|
554
573
|
: show3DTransformControls
|
|
555
574
|
? 'Hide 3D transform controls'
|
|
556
575
|
: 'Show 3D transform controls', hoveredColor: show3DTransformControls ? colors_1.BLUE : undefined, unhoveredColor: show3DTransformControls ? colors_1.BLUE : colors_1.LIGHT_TEXT, renderAction: (color) => (jsx_runtime_1.jsx(cube_1.CubeIcon, { color: color, style: transform3DToggleIcon })) }));
|
|
557
|
-
const effectsHeader = (jsx_runtime_1.
|
|
558
|
-
jsx_runtime_1.jsx("div", { style: effectsHeaderTitle, children: "Effects" }), jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, disabled: !canAddEffect, onClick: onAddEffect, title: canAddEffect ? 'Add effect' : undefined, renderAction: (color) => jsx_runtime_1.jsx(plus_1.Plus, { color: color, style: plusIcon }) })] }));
|
|
576
|
+
const effectsHeader = (jsx_runtime_1.jsx(CollapsibleInspectorSectionHeader_1.CollapsibleInspectorSectionHeader, { action: jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, disabled: !canAddEffect, onClick: onAddEffect, title: canAddEffect ? 'Add effect' : undefined, renderAction: (color) => jsx_runtime_1.jsx(plus_1.Plus, { color: color, style: plusIcon }) }), expanded: effectsExpanded, label: "Effects", onToggle: hasEffects ? () => toggleAdditionalSection('effects') : null }));
|
|
559
577
|
const renderRow = ({ node, depth }) => {
|
|
560
578
|
return (jsx_runtime_1.jsx(TimelineRowLayoutContext_1.TimelineRowLayoutContext.Provider, { value: TimelineRowLayoutContext_1.INSPECTOR_TIMELINE_ROW_LAYOUT, children: jsx_runtime_1.jsx(TimelineExpandedRow_1.TimelineExpandedRow, { node: node, depth: depth, nestedDepth: 0, rowDepthBase: 0, getIsExpanded: getIsExpanded, toggleTrack: toggleTrack, validatedLocation: validatedLocation, nodePath: nodePathInfo.sequenceSubscriptionKey, schema: schema, keyframeDisplayOffset: keyframeDisplayOffset, keyframeControlsMode: "inspector" }) }, JSON.stringify(node.nodePathInfo)));
|
|
561
579
|
};
|
|
@@ -37,7 +37,9 @@ exports.KeyboardShortcutsSettings = void 0;
|
|
|
37
37
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
38
38
|
const react_1 = __importStar(require("react"));
|
|
39
39
|
const browser_studio_operations_1 = require("../helpers/browser-studio-operations");
|
|
40
|
+
const client_id_1 = require("../helpers/client-id");
|
|
40
41
|
const colors_1 = require("../helpers/colors");
|
|
42
|
+
const settings_tab_availability_1 = require("../helpers/settings-tab-availability");
|
|
41
43
|
const studio_runtime_config_1 = require("../helpers/studio-runtime-config");
|
|
42
44
|
const caret_1 = require("../icons/caret");
|
|
43
45
|
const Checkbox_1 = require("./Checkbox");
|
|
@@ -158,6 +160,12 @@ const KeyboardShortcutsSettings = () => {
|
|
|
158
160
|
var _a;
|
|
159
161
|
const { error: settingsError, revision, studioRuntimeConfig } = (0, SettingsContext_1.useSettings)();
|
|
160
162
|
const isBrowserStudio = (0, browser_studio_operations_1.getBrowserStudioOperations)() !== null;
|
|
163
|
+
const { previewServerState } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
|
|
164
|
+
const canEdit = (0, settings_tab_availability_1.canEditStudioConfig)({
|
|
165
|
+
isBrowserStudio,
|
|
166
|
+
previewServerConnected: previewServerState.type === 'connected',
|
|
167
|
+
readOnlyStudio: window.remotion_isReadOnlyStudio,
|
|
168
|
+
});
|
|
161
169
|
const [enabled, setEnabled] = (0, react_1.useState)(true);
|
|
162
170
|
const [configuredShortcuts, setConfiguredShortcuts] = (0, react_1.useState)({});
|
|
163
171
|
const [enabledEdited, setEnabledEdited] = (0, react_1.useState)(false);
|
|
@@ -212,7 +220,7 @@ const KeyboardShortcutsSettings = () => {
|
|
|
212
220
|
}, [configuredShortcuts, enabled, enabledEdited, shortcutsEdited]);
|
|
213
221
|
const ready = studioRuntimeConfig !== null && syncedRevision === revision;
|
|
214
222
|
(0, use_auto_save_config_1.useAutoSaveConfig)({
|
|
215
|
-
enabled: ready &&
|
|
223
|
+
enabled: ready && canEdit,
|
|
216
224
|
onError: setError,
|
|
217
225
|
ready,
|
|
218
226
|
syncRevision: syncedRevision,
|
|
@@ -221,11 +229,11 @@ const KeyboardShortcutsSettings = () => {
|
|
|
221
229
|
if (studioRuntimeConfig === null) {
|
|
222
230
|
return null;
|
|
223
231
|
}
|
|
224
|
-
return (jsx_runtime_1.jsxs("div", { style: container, children: [
|
|
232
|
+
return (jsx_runtime_1.jsxs("div", { style: container, children: [canEdit ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
225
233
|
jsx_runtime_1.jsx("p", { style: dividerLabel, children: "General" }), jsx_runtime_1.jsxs("label", { style: layout_2.optionRow, children: [
|
|
226
234
|
jsx_runtime_1.jsx("div", { style: layout_2.label, children: "Keyboard shortcuts" }), jsx_runtime_1.jsx("div", { style: layout_2.rightRow, children: jsx_runtime_1.jsx(Checkbox_1.Checkbox, { checked: enabled, name: "keyboard-shortcuts", onChange: onEnabledChange }) })
|
|
227
235
|
] })
|
|
228
|
-
] })), visibleShortcutGroups.map((group, groupIndex) => (jsx_runtime_1.jsxs("div", { children: [
|
|
236
|
+
] })) : null, visibleShortcutGroups.map((group, groupIndex) => (jsx_runtime_1.jsxs("div", { children: [
|
|
229
237
|
jsx_runtime_1.jsx("p", { style: shortcutSectionTitle, children: group.name }), jsx_runtime_1.jsx("div", { role: "list", "aria-label": group.name, children: group.shortcuts.map((shortcut, shortcutIndex) => {
|
|
230
238
|
var _a;
|
|
231
239
|
const configured = shortcut.actionId === null
|
|
@@ -306,7 +314,7 @@ const KeyboardShortcutsSettings = () => {
|
|
|
306
314
|
shortcutIndex === group.shortcuts.length - 1
|
|
307
315
|
? lastShortcutRow
|
|
308
316
|
: shortcutRow, children: [
|
|
309
|
-
jsx_runtime_1.jsx("span", { style: actionName, children: shortcut.action }), shortcut.actionId === null ||
|
|
317
|
+
jsx_runtime_1.jsx("span", { style: actionName, children: shortcut.action }), shortcut.actionId === null || !canEdit ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
310
318
|
jsx_runtime_1.jsx("span", { style: shortcutCell, children: jsx_runtime_1.jsx(ShortcutChords, { values: shortcutValues }) }), jsx_runtime_1.jsx("span", {})
|
|
311
319
|
] })) : (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
|
|
312
320
|
jsx_runtime_1.jsx("span", { style: shortcutCell, children: jsx_runtime_1.jsx("button", { id: shortcutButtonId, type: "button", style: chordButton, "aria-label": `Change shortcut for ${shortcut.action}`, onClick: () => {
|
|
@@ -10,6 +10,7 @@ const loop_1 = require("../state/loop");
|
|
|
10
10
|
const ActionTooltip_1 = require("./ActionTooltip");
|
|
11
11
|
const ControlButton_1 = require("./ControlButton");
|
|
12
12
|
const accessibilityLabel = 'Loop';
|
|
13
|
+
const buttonStyle = { width: 30 };
|
|
13
14
|
const toggleLoop = (setLoop) => {
|
|
14
15
|
setLoop((currentLoop) => {
|
|
15
16
|
(0, loop_1.persistLoopOption)(!currentLoop);
|
|
@@ -24,6 +25,6 @@ const LoopToggle = ({ loop, setLoop }) => {
|
|
|
24
25
|
const onClick = (0, react_1.useCallback)(() => {
|
|
25
26
|
(0, exports.toggleLoop)(setLoop);
|
|
26
27
|
}, [setLoop]);
|
|
27
|
-
return (jsx_runtime_1.jsx(ActionTooltip_1.ActionTooltip, { label: accessibilityLabel, shortcut: shortcutsDisabled ? null : shortcut, delay: 800, dismissOnClick: false, children: jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: "", "aria-label": accessibilityLabel, "aria-keyshortcuts": shortcutsDisabled ? undefined : ariaShortcut || undefined, "aria-pressed": loop, onClick: onClick, children: (color) => (jsx_runtime_1.jsx("svg", { viewBox: "0 0 512 512", style: { width: 18, height: 18 }, children: jsx_runtime_1.jsx("path", { fill: loop ? colors_1.BLUE : color, d: "M384 150.3V41.6l64 53.3v2l-64 53.3zM352 23.5V80H192C86 80 0 166 0 272c0 8.8 7.2 16 16 16s16-7.2 16-16c0-88.4 71.6-160 160-160h160v56.5c0 13 10.5 23.5 23.5 23.5 5.5 0 10.8-1.9 15-5.4l78-65c7.3-6.1 11.5-15.1 11.5-24.6v-2c0-9.5-4.2-18.5-11.5-24.6l-78-65c-4.2-3.5-9.5-5.4-15-5.4-13 0-23.5 10.5-23.5 23.5zM128 415.9v54.5l-64-53.3v-2l64-53.3v54.1zM160 400v-56.5c0-13-10.5-23.5-23.5-23.5-5.5 0-10.8 1.9-15 5.4l-78 65C36.2 396.5 32 405.5 32 415v2c0 9.5 4.2 18.5 11.5 24.6l78 65c4.2 3.5 9.5 5.4 15 5.4 13 0 23.5-10.5 23.5-23.5V432h160c106 0 192-86 192-192 0-8.8-7.2-16-16-16s-16 7.2-16 16c0 88.4-71.6 160-160 160H160z" }) })) }) }));
|
|
28
|
+
return (jsx_runtime_1.jsx(ActionTooltip_1.ActionTooltip, { label: accessibilityLabel, shortcut: shortcutsDisabled ? null : shortcut, delay: 800, dismissOnClick: false, children: jsx_runtime_1.jsx(ControlButton_1.ControlButton, { title: "", "aria-label": accessibilityLabel, "aria-keyshortcuts": shortcutsDisabled ? undefined : ariaShortcut || undefined, "aria-pressed": loop, onClick: onClick, style: buttonStyle, children: (color) => (jsx_runtime_1.jsx("svg", { viewBox: "0 0 512 512", style: { width: 18, height: 18 }, children: jsx_runtime_1.jsx("path", { fill: loop ? colors_1.BLUE : color, d: "M384 150.3V41.6l64 53.3v2l-64 53.3zM352 23.5V80H192C86 80 0 166 0 272c0 8.8 7.2 16 16 16s16-7.2 16-16c0-88.4 71.6-160 160-160h160v56.5c0 13 10.5 23.5 23.5 23.5 5.5 0 10.8-1.9 15-5.4l78-65c7.3-6.1 11.5-15.1 11.5-24.6v-2c0-9.5-4.2-18.5-11.5-24.6l-78-65c-4.2-3.5-9.5-5.4-15-5.4-13 0-23.5 10.5-23.5 23.5zM128 415.9v54.5l-64-53.3v-2l64-53.3v54.1zM160 400v-56.5c0-13-10.5-23.5-23.5-23.5-5.5 0-10.8 1.9-15 5.4l-78 65C36.2 396.5 32 405.5 32 415v2c0 9.5 4.2 18.5 11.5 24.6l78 65c4.2 3.5 9.5 5.4 15 5.4 13 0 23.5-10.5 23.5-23.5V432h160c106 0 192-86 192-192 0-8.8-7.2-16-16-16s-16 7.2-16 16c0 88.4-71.6 160-160 160H160z" }) })) }) }));
|
|
28
29
|
};
|
|
29
30
|
exports.LoopToggle = LoopToggle;
|