@remotion/studio 4.0.502 → 4.0.504
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/install-package.d.ts +2 -1
- package/dist/api/install-package.js +6 -2
- package/dist/components/AssetSelectorItem.js +4 -16
- package/dist/components/Canvas.js +41 -54
- package/dist/components/CheckboardToggle.js +3 -1
- package/dist/components/ColorPicker/AlphaSlider.js +14 -10
- package/dist/components/ColorPicker/HueSlider.js +14 -10
- package/dist/components/ColorPicker/SaturationValueArea.js +14 -12
- package/dist/components/CompositionContextButton.js +1 -1
- package/dist/components/CompositionSelectorItem.js +2 -3
- package/dist/components/ConfigureDefaultEditorModal.d.ts +2 -0
- package/dist/components/ConfigureDefaultEditorModal.js +151 -0
- package/dist/components/ConfirmationDialog.js +6 -3
- package/dist/components/ContextMenu.js +0 -2
- package/dist/components/ControlButton.d.ts +4 -2
- package/dist/components/ControlButton.js +6 -20
- package/dist/components/Editor.js +1 -4
- package/dist/components/EditorContent.js +1 -1
- package/dist/components/EditorGuides/Guide.js +48 -74
- package/dist/components/EditorRuler/Ruler.d.ts +1 -0
- package/dist/components/EditorRuler/Ruler.js +3 -1
- package/dist/components/EditorRuler/index.js +26 -23
- package/dist/components/EffectPickerModal.js +68 -7
- package/dist/components/ElementInstallConfirmation.d.ts +12 -0
- package/dist/components/ElementInstallConfirmation.js +205 -0
- package/dist/components/ForceSpecificCursor.js +14 -0
- package/dist/components/FullscreenToggle.js +1 -2
- package/dist/components/InitialCompositionLoader.js +1 -14
- package/dist/components/InlineAction.d.ts +4 -4
- package/dist/components/InlineAction.js +6 -4
- package/dist/components/InspectorLocationCopy.d.ts +1 -0
- package/dist/components/InspectorLocationCopy.js +7 -3
- package/dist/components/InspectorOpenInEditor.d.ts +5 -0
- package/dist/components/InspectorOpenInEditor.js +135 -0
- package/dist/components/InspectorPanel/AlignmentControls.js +1 -1
- package/dist/components/InspectorPanel/CompositionInspectorHeader.js +3 -3
- package/dist/components/InspectorPanel/CompositionMetadata.js +8 -7
- package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +2 -2
- package/dist/components/InspectorPanel/KeyframeInspector.js +2 -3
- package/dist/components/InspectorPanel/SequenceInspectorHeader.js +2 -2
- package/dist/components/InspectorPanel/styles.js +4 -0
- package/dist/components/InspectorSequenceSection.js +2 -2
- package/dist/components/LoopToggle.js +1 -1
- package/dist/components/Menu/MenuItem.js +13 -6
- package/dist/components/Menu/MenuSubItem.js +3 -1
- package/dist/components/MenuBuildIndicator.d.ts +3 -1
- package/dist/components/MenuBuildIndicator.js +6 -4
- package/dist/components/MenuCompositionName.js +1 -1
- package/dist/components/MenuToolbar.js +1 -1
- package/dist/components/MobilePanel.d.ts +1 -2
- package/dist/components/MobilePanel.js +6 -6
- package/dist/components/ModalContainer.js +1 -1
- package/dist/components/ModalFooter.d.ts +1 -0
- package/dist/components/ModalFooter.js +2 -2
- package/dist/components/Modals.js +11 -2
- package/dist/components/MuteToggle.js +2 -1
- package/dist/components/NewComposition/ComboBox.d.ts +1 -0
- package/dist/components/NewComposition/ComboBox.js +2 -2
- package/dist/components/NewComposition/InputDragger.d.ts +4 -0
- package/dist/components/NewComposition/InputDragger.js +26 -32
- package/dist/components/Notifications/NotificationCenter.js +12 -2
- package/dist/components/OutlineToggle.js +10 -2
- package/dist/components/PlayPause.js +1 -5
- package/dist/components/PlaybackRateSelector.js +2 -1
- package/dist/components/PreviewToolbar.js +8 -7
- package/dist/components/PreviewToolbarOverflowButton.d.ts +0 -1
- package/dist/components/PreviewToolbarOverflowButton.js +2 -75
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -2
- package/dist/components/RenderButton.d.ts +0 -1
- package/dist/components/RenderButton.js +10 -9
- package/dist/components/RenderModal/FrameRangeSetting.js +6 -1
- package/dist/components/RenderModal/InlineEyeIcon.js +1 -1
- package/dist/components/RenderModal/InlineRemoveButton.js +1 -1
- package/dist/components/RenderModal/MultiRangeSlider.js +8 -8
- package/dist/components/RenderModal/RenderModalEnvironmentVariables.js +1 -9
- package/dist/components/RenderModal/RenderModalOutputName.js +12 -3
- package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +1 -1
- package/dist/components/RenderModal/ServerRenderModal.js +2 -17
- package/dist/components/RenderModal/WebRenderModal.js +3 -17
- package/dist/components/RenderModal/layout.js +7 -5
- package/dist/components/RenderModal/render-modals.js +18 -15
- package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +1 -1
- package/dist/components/RenderQueue/RenderQueueDownloadItem.js +1 -1
- package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +1 -1
- package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +1 -1
- package/dist/components/RenderQueue/RenderQueueRemoveItem.js +1 -1
- package/dist/components/RenderQueue/RenderQueueRepeat.js +2 -15
- package/dist/components/SelectedOutlineCropControls.js +7 -6
- package/dist/components/SelectedOutlineElement.js +32 -38
- package/dist/components/SelectedOutlineUvControls.js +25 -24
- package/dist/components/ShowGuidesProvider.js +2 -0
- package/dist/components/SidebarCollapserControls.js +2 -2
- package/dist/components/SidebarRenderButton.js +2 -16
- package/dist/components/SizeSelector.js +2 -1
- package/dist/components/SnappingToggle.js +1 -2
- package/dist/components/Spinner.d.ts +1 -0
- package/dist/components/Spinner.js +2 -2
- package/dist/components/Splitter/SplitterContainer.d.ts +1 -0
- package/dist/components/Splitter/SplitterContainer.js +4 -1
- package/dist/components/Splitter/SplitterContext.d.ts +4 -3
- package/dist/components/Splitter/SplitterContext.js +3 -2
- package/dist/components/Splitter/SplitterElement.js +6 -1
- package/dist/components/Splitter/SplitterHandle.js +18 -68
- package/dist/components/Tabs/vertical.d.ts +1 -0
- package/dist/components/Tabs/vertical.js +8 -10
- package/dist/components/TimeValue.js +26 -8
- package/dist/components/Timeline/EasingEditorModal.js +27 -19
- package/dist/components/Timeline/Timeline.js +1 -1
- package/dist/components/Timeline/TimelineAssetField.js +1 -1
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +3 -6
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +5 -7
- package/dist/components/Timeline/TimelineDragHandler.js +38 -7
- package/dist/components/Timeline/TimelineExpandedKeyframeRow.js +2 -1
- package/dist/components/Timeline/TimelineInOutDragHandler.js +26 -11
- package/dist/components/Timeline/TimelineKeyframeEasingLine.d.ts +1 -1
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +2 -2
- package/dist/components/Timeline/TimelineLayerEye.js +36 -4
- package/dist/components/Timeline/TimelineSelection.js +16 -24
- package/dist/components/Timeline/TimelineSequence.js +7 -3
- package/dist/components/Timeline/TimelineSequenceItem.js +24 -18
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +1 -1
- package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +76 -43
- package/dist/components/Timeline/TimelineStack/get-stack.js +7 -2
- package/dist/components/Timeline/TimelineZoomControls.d.ts +3 -1
- package/dist/components/Timeline/TimelineZoomControls.js +24 -12
- package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +4 -2
- package/dist/components/Timeline/get-sequence-context-menu-items.js +38 -2
- package/dist/components/Timeline/should-subscribe-to-source-file.d.ts +1 -0
- package/dist/components/Timeline/should-subscribe-to-source-file.js +11 -0
- package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +2 -3
- package/dist/components/Timeline/use-open-sequence-in-editor.d.ts +3 -1
- package/dist/components/Timeline/use-open-sequence-in-editor.js +5 -2
- package/dist/components/Timeline/use-sequence-props-subscription.js +2 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +3 -7
- package/dist/components/Timeline/use-timeline-keyframe-drag.js +31 -16
- package/dist/components/TimelineInOutToggle.js +3 -3
- package/dist/components/TopPanel.js +3 -2
- package/dist/components/UndoRedoButtons.js +6 -5
- package/dist/components/UpdateCheck.d.ts +2 -0
- package/dist/components/UpdateCheck.js +29 -11
- package/dist/components/UpdateModal/UpdateModal.js +58 -19
- package/dist/components/VisualControls/ClickableFileName.js +5 -2
- package/dist/components/composition-menu-items.d.ts +2 -4
- package/dist/components/composition-menu-items.js +32 -55
- package/dist/components/element-install-request.d.ts +3 -0
- package/dist/components/element-install-request.js +17 -0
- package/dist/components/folder-menu-items.js +1 -1
- package/dist/components/handle-drop.d.ts +2 -3
- package/dist/components/handle-drop.js +11 -4
- package/dist/components/import-assets.d.ts +7 -6
- package/dist/components/import-assets.js +5 -16
- package/dist/components/use-default-editor-info.d.ts +4 -0
- package/dist/components/use-default-editor-info.js +47 -0
- package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
- package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
- package/dist/esm/{chunk-fjv75ty4.js → chunk-43m68z1k.js} +8689 -7374
- package/dist/esm/internals.mjs +8689 -7374
- package/dist/esm/previewEntry.mjs +8668 -7353
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/inject-css.js +58 -67
- package/dist/helpers/install-required-package.d.ts +3 -2
- package/dist/helpers/install-required-package.js +20 -15
- package/dist/helpers/open-in-editor.d.ts +3 -3
- package/dist/helpers/open-in-editor.js +10 -6
- package/dist/helpers/pointer-session.d.ts +9 -0
- package/dist/helpers/pointer-session.js +94 -0
- package/dist/helpers/use-menu-structure.js +109 -51
- package/dist/icons/audio.d.ts +1 -1
- package/dist/icons/audio.js +1 -1
- package/dist/icons/caret.js +1 -1
- package/dist/icons/certificate.d.ts +1 -1
- package/dist/icons/certificate.js +1 -1
- package/dist/icons/custom-editor.d.ts +4 -0
- package/dist/icons/custom-editor.js +11 -0
- package/dist/icons/data.d.ts +1 -1
- package/dist/icons/data.js +2 -2
- package/dist/icons/editor.d.ts +6 -0
- package/dist/icons/editor.js +52 -0
- package/dist/icons/effects.d.ts +5 -0
- package/dist/icons/effects.js +8 -0
- package/dist/icons/ellipsis.js +1 -1
- package/dist/icons/external-link.d.ts +5 -0
- package/dist/icons/external-link.js +10 -0
- package/dist/icons/fullscreen.js +1 -1
- package/dist/icons/gear.d.ts +1 -1
- package/dist/icons/gear.js +1 -1
- package/dist/icons/gif.d.ts +1 -1
- package/dist/icons/gif.js +1 -1
- package/dist/icons/input-props.d.ts +2 -0
- package/dist/icons/input-props.js +9 -0
- package/dist/icons/jump-to-start.js +2 -2
- package/dist/icons/magnet.d.ts +3 -1
- package/dist/icons/magnet.js +2 -2
- package/dist/icons/media-volume.d.ts +6 -2
- package/dist/icons/media-volume.js +8 -6
- package/dist/icons/minus.d.ts +3 -1
- package/dist/icons/minus.js +2 -2
- package/dist/icons/pause.js +1 -1
- package/dist/icons/play.js +1 -1
- package/dist/icons/plus.js +1 -1
- package/dist/icons/redo.js +2 -2
- package/dist/icons/step-back.js +2 -2
- package/dist/icons/step-forward.js +2 -2
- package/dist/icons/timelineInOutPointer.js +2 -2
- package/dist/icons/undo.js +2 -2
- package/dist/state/editor-guides.d.ts +1 -0
- package/dist/state/editor-guides.js +1 -0
- package/dist/state/modals.d.ts +2 -0
- package/dist/state/z-index.d.ts +1 -0
- package/dist/state/z-index.js +34 -18
- package/package.json +12 -13
- package/dist/components/StudioCanvasCapture.d.ts +0 -5
- package/dist/components/StudioCanvasCapture.js +0 -40
- package/dist/components/canvas-capture-enabled.d.ts +0 -1
- package/dist/components/canvas-capture-enabled.js +0 -4
- package/dist/components/use-element-overwrite-confirmation.d.ts +0 -2
- package/dist/components/use-element-overwrite-confirmation.js +0 -73
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ElementInstallConfirmation = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const colors_1 = require("../helpers/colors");
|
|
6
|
+
const ValidationMessage_1 = require("./NewComposition/ValidationMessage");
|
|
7
|
+
const container = {
|
|
8
|
+
display: 'flex',
|
|
9
|
+
flexDirection: 'column',
|
|
10
|
+
gap: 20,
|
|
11
|
+
color: colors_1.WHITE,
|
|
12
|
+
fontFamily: 'sans-serif',
|
|
13
|
+
fontSize: 13,
|
|
14
|
+
lineHeight: 1.5,
|
|
15
|
+
};
|
|
16
|
+
const sectionStyle = {
|
|
17
|
+
display: 'flex',
|
|
18
|
+
flexDirection: 'column',
|
|
19
|
+
gap: 10,
|
|
20
|
+
};
|
|
21
|
+
const sectionTitleStyle = {
|
|
22
|
+
margin: 0,
|
|
23
|
+
color: colors_1.WHITE,
|
|
24
|
+
fontFamily: 'sans-serif',
|
|
25
|
+
fontSize: 13,
|
|
26
|
+
fontWeight: 600,
|
|
27
|
+
lineHeight: 1.5,
|
|
28
|
+
};
|
|
29
|
+
const metadataStyle = {
|
|
30
|
+
display: 'flex',
|
|
31
|
+
flexDirection: 'column',
|
|
32
|
+
gap: 8,
|
|
33
|
+
margin: 0,
|
|
34
|
+
};
|
|
35
|
+
const metadataRowStyle = {
|
|
36
|
+
display: 'grid',
|
|
37
|
+
gridTemplateColumns: '100px minmax(0, 1fr)',
|
|
38
|
+
alignItems: 'baseline',
|
|
39
|
+
gap: 12,
|
|
40
|
+
};
|
|
41
|
+
const metadataTermStyle = {
|
|
42
|
+
color: colors_1.LIGHT_TEXT,
|
|
43
|
+
fontFamily: 'sans-serif',
|
|
44
|
+
fontSize: 13,
|
|
45
|
+
fontWeight: 500,
|
|
46
|
+
lineHeight: 1.5,
|
|
47
|
+
};
|
|
48
|
+
const metadataDescriptionStyle = {
|
|
49
|
+
margin: 0,
|
|
50
|
+
minWidth: 0,
|
|
51
|
+
color: colors_1.WHITE,
|
|
52
|
+
fontFamily: 'sans-serif',
|
|
53
|
+
fontSize: 13,
|
|
54
|
+
fontWeight: 400,
|
|
55
|
+
lineHeight: 1.5,
|
|
56
|
+
overflowWrap: 'anywhere',
|
|
57
|
+
};
|
|
58
|
+
const unverifiedSourceStyle = {
|
|
59
|
+
...metadataDescriptionStyle,
|
|
60
|
+
color: colors_1.WARNING_COLOR,
|
|
61
|
+
};
|
|
62
|
+
const codeStyle = {
|
|
63
|
+
color: 'inherit',
|
|
64
|
+
fontFamily: 'monospace',
|
|
65
|
+
fontSize: 13,
|
|
66
|
+
lineHeight: 1.5,
|
|
67
|
+
};
|
|
68
|
+
const overwriteStyle = {
|
|
69
|
+
margin: 0,
|
|
70
|
+
color: colors_1.WARNING_COLOR,
|
|
71
|
+
fontFamily: 'sans-serif',
|
|
72
|
+
fontSize: 13,
|
|
73
|
+
fontWeight: 500,
|
|
74
|
+
lineHeight: 1.5,
|
|
75
|
+
};
|
|
76
|
+
const dependencyListStyle = {
|
|
77
|
+
display: 'flex',
|
|
78
|
+
flexDirection: 'column',
|
|
79
|
+
gap: 8,
|
|
80
|
+
margin: 0,
|
|
81
|
+
padding: 0,
|
|
82
|
+
listStyleType: 'none',
|
|
83
|
+
};
|
|
84
|
+
const dependencyRowStyle = {
|
|
85
|
+
display: 'flex',
|
|
86
|
+
alignItems: 'baseline',
|
|
87
|
+
justifyContent: 'space-between',
|
|
88
|
+
gap: 16,
|
|
89
|
+
minWidth: 0,
|
|
90
|
+
};
|
|
91
|
+
const dependencyNameStyle = {
|
|
92
|
+
minWidth: 0,
|
|
93
|
+
color: colors_1.WHITE,
|
|
94
|
+
fontFamily: 'monospace',
|
|
95
|
+
fontSize: 13,
|
|
96
|
+
lineHeight: 1.5,
|
|
97
|
+
overflowWrap: 'anywhere',
|
|
98
|
+
};
|
|
99
|
+
const dependencyInstallStatusStyle = {
|
|
100
|
+
flexShrink: 0,
|
|
101
|
+
color: colors_1.WARNING_COLOR,
|
|
102
|
+
fontFamily: 'sans-serif',
|
|
103
|
+
fontSize: 13,
|
|
104
|
+
fontWeight: 500,
|
|
105
|
+
lineHeight: 1.5,
|
|
106
|
+
};
|
|
107
|
+
const dependencyInstalledStatusStyle = {
|
|
108
|
+
...dependencyInstallStatusStyle,
|
|
109
|
+
color: colors_1.LIGHT_TEXT,
|
|
110
|
+
};
|
|
111
|
+
const warningStyle = {
|
|
112
|
+
display: 'flex',
|
|
113
|
+
alignItems: 'flex-start',
|
|
114
|
+
gap: 10,
|
|
115
|
+
minWidth: 0,
|
|
116
|
+
};
|
|
117
|
+
const warningIconStyle = {
|
|
118
|
+
width: 16,
|
|
119
|
+
height: 16,
|
|
120
|
+
marginTop: 1,
|
|
121
|
+
flexShrink: 0,
|
|
122
|
+
fill: colors_1.WARNING_COLOR,
|
|
123
|
+
};
|
|
124
|
+
const warningDescriptionStyle = {
|
|
125
|
+
margin: 0,
|
|
126
|
+
minWidth: 0,
|
|
127
|
+
color: colors_1.LIGHT_TEXT,
|
|
128
|
+
fontFamily: 'sans-serif',
|
|
129
|
+
fontSize: 13,
|
|
130
|
+
fontWeight: 400,
|
|
131
|
+
lineHeight: 1.5,
|
|
132
|
+
};
|
|
133
|
+
const sourceDetailsStyle = {
|
|
134
|
+
paddingTop: 2,
|
|
135
|
+
fontFamily: 'sans-serif',
|
|
136
|
+
fontSize: 13,
|
|
137
|
+
lineHeight: 1.5,
|
|
138
|
+
};
|
|
139
|
+
const sourceSummaryStyle = {
|
|
140
|
+
cursor: 'pointer',
|
|
141
|
+
color: colors_1.WHITE,
|
|
142
|
+
fontFamily: 'sans-serif',
|
|
143
|
+
fontSize: 13,
|
|
144
|
+
fontWeight: 500,
|
|
145
|
+
lineHeight: 1.5,
|
|
146
|
+
};
|
|
147
|
+
const sourceCodeBlockStyle = {
|
|
148
|
+
marginTop: 10,
|
|
149
|
+
marginBottom: 0,
|
|
150
|
+
maxHeight: 240,
|
|
151
|
+
overflow: 'auto',
|
|
152
|
+
padding: 12,
|
|
153
|
+
border: `1px solid ${colors_1.WHITE_ALPHA_12}`,
|
|
154
|
+
borderRadius: 6,
|
|
155
|
+
backgroundColor: colors_1.INPUT_BACKGROUND,
|
|
156
|
+
color: colors_1.WHITE,
|
|
157
|
+
fontFamily: 'monospace',
|
|
158
|
+
fontSize: 12,
|
|
159
|
+
lineHeight: 1.5,
|
|
160
|
+
whiteSpace: 'pre',
|
|
161
|
+
};
|
|
162
|
+
const sourceCodeStyle = {
|
|
163
|
+
color: 'inherit',
|
|
164
|
+
fontFamily: 'inherit',
|
|
165
|
+
fontSize: 'inherit',
|
|
166
|
+
lineHeight: 'inherit',
|
|
167
|
+
};
|
|
168
|
+
const makeSourceControlsVisible = (sourceCode) => {
|
|
169
|
+
return sourceCode.replace(/[\u200b-\u200f\u202a-\u202e\u2066-\u2069\ufeff]/g, (character) => {
|
|
170
|
+
var _a;
|
|
171
|
+
return `\\u${(_a = character.codePointAt(0)) === null || _a === void 0 ? void 0 : _a.toString(16).padStart(4, '0')}`;
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
const ElementInstallConfirmation = ({ displayName, sourceLabel, sourceIsUnverified, compositionId, filePath, overwritesExistingFile, dependenciesToReview, missingPackages, sourceCode, }) => {
|
|
175
|
+
return (jsx_runtime_1.jsxs("div", { style: container, children: [
|
|
176
|
+
jsx_runtime_1.jsxs("dl", { style: metadataStyle, "aria-label": "Installation details", children: [
|
|
177
|
+
jsx_runtime_1.jsxs("div", { style: metadataRowStyle, children: [
|
|
178
|
+
jsx_runtime_1.jsx("dt", { style: metadataTermStyle, children: "Element" }), jsx_runtime_1.jsx("dd", { style: metadataDescriptionStyle, children: displayName })
|
|
179
|
+
] }), jsx_runtime_1.jsxs("div", { style: metadataRowStyle, children: [
|
|
180
|
+
jsx_runtime_1.jsx("dt", { style: metadataTermStyle, children: "Request source" }), jsx_runtime_1.jsx("dd", { style: sourceIsUnverified
|
|
181
|
+
? unverifiedSourceStyle
|
|
182
|
+
: metadataDescriptionStyle, children: sourceLabel })
|
|
183
|
+
] }), jsx_runtime_1.jsxs("div", { style: metadataRowStyle, children: [
|
|
184
|
+
jsx_runtime_1.jsx("dt", { style: metadataTermStyle, children: "Composition" }), jsx_runtime_1.jsx("dd", { style: metadataDescriptionStyle, children: jsx_runtime_1.jsx("code", { style: codeStyle, children: compositionId }) })
|
|
185
|
+
] }), jsx_runtime_1.jsxs("div", { style: metadataRowStyle, children: [
|
|
186
|
+
jsx_runtime_1.jsx("dt", { style: metadataTermStyle, children: "Destination" }), jsx_runtime_1.jsx("dd", { style: metadataDescriptionStyle, children: jsx_runtime_1.jsx("code", { style: codeStyle, children: filePath }) })
|
|
187
|
+
] }), overwritesExistingFile ? (jsx_runtime_1.jsxs("div", { style: metadataRowStyle, children: [
|
|
188
|
+
jsx_runtime_1.jsx("dt", { style: metadataTermStyle, children: "File change" }), jsx_runtime_1.jsx("dd", { style: overwriteStyle, children: "Replace existing source file" })
|
|
189
|
+
] })) : null] }), dependenciesToReview.length > 0 ? (jsx_runtime_1.jsxs("section", { style: sectionStyle, "aria-labelledby": "element-install-dependencies", children: [
|
|
190
|
+
jsx_runtime_1.jsx("h3", { id: "element-install-dependencies", style: sectionTitleStyle, children: "Dependencies" }), jsx_runtime_1.jsx("ul", { style: dependencyListStyle, role: "list", children: dependenciesToReview.map((packageName) => {
|
|
191
|
+
const willInstall = missingPackages.includes(packageName);
|
|
192
|
+
return (jsx_runtime_1.jsxs("li", { style: dependencyRowStyle, children: [
|
|
193
|
+
jsx_runtime_1.jsx("div", { style: dependencyNameStyle, children: packageName }), jsx_runtime_1.jsx("div", { style: willInstall
|
|
194
|
+
? dependencyInstallStatusStyle
|
|
195
|
+
: dependencyInstalledStatusStyle, children: willInstall ? 'Will be installed' : 'Installed' })
|
|
196
|
+
] }, packageName));
|
|
197
|
+
}) })
|
|
198
|
+
] })) : null, jsx_runtime_1.jsxs("div", { style: warningStyle, children: [
|
|
199
|
+
jsx_runtime_1.jsx(ValidationMessage_1.WarningTriangle, { style: warningIconStyle }), jsx_runtime_1.jsx("p", { style: warningDescriptionStyle, children: "This adds executable source code to your project. Package lifecycle scripts may also run during installation, with access to your files and the network." })
|
|
200
|
+
] }), jsx_runtime_1.jsxs("details", { style: sourceDetailsStyle, children: [
|
|
201
|
+
jsx_runtime_1.jsx("summary", { style: sourceSummaryStyle, children: "Source code" }), jsx_runtime_1.jsx("pre", { style: sourceCodeBlockStyle, children: jsx_runtime_1.jsx("code", { style: sourceCodeStyle, children: makeSourceControlsVisible(sourceCode) }) })
|
|
202
|
+
] })
|
|
203
|
+
] }));
|
|
204
|
+
};
|
|
205
|
+
exports.ElementInstallConfirmation = ElementInstallConfirmation;
|
|
@@ -40,7 +40,19 @@ const ref = react_1.default.createRef();
|
|
|
40
40
|
const removeAutomaticCleanupListeners = () => {
|
|
41
41
|
window.removeEventListener('pointerup', exports.stopForcingSpecificCursor, true);
|
|
42
42
|
window.removeEventListener('pointercancel', exports.stopForcingSpecificCursor, true);
|
|
43
|
+
window.removeEventListener('pointermove', stopIfNoButtonsArePressed, true);
|
|
43
44
|
window.removeEventListener('blur', exports.stopForcingSpecificCursor, true);
|
|
45
|
+
document.removeEventListener('visibilitychange', stopIfDocumentIsHidden);
|
|
46
|
+
};
|
|
47
|
+
const stopIfNoButtonsArePressed = (event) => {
|
|
48
|
+
if (event.buttons === 0) {
|
|
49
|
+
(0, exports.stopForcingSpecificCursor)();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const stopIfDocumentIsHidden = () => {
|
|
53
|
+
if (document.visibilityState === 'hidden') {
|
|
54
|
+
(0, exports.stopForcingSpecificCursor)();
|
|
55
|
+
}
|
|
44
56
|
};
|
|
45
57
|
const forceSpecificCursor = (cursor) => {
|
|
46
58
|
if (!ref.current) {
|
|
@@ -53,7 +65,9 @@ const forceSpecificCursor = (cursor) => {
|
|
|
53
65
|
// initiator so the cursor overlay can never remain stuck.
|
|
54
66
|
window.addEventListener('pointerup', exports.stopForcingSpecificCursor, true);
|
|
55
67
|
window.addEventListener('pointercancel', exports.stopForcingSpecificCursor, true);
|
|
68
|
+
window.addEventListener('pointermove', stopIfNoButtonsArePressed, true);
|
|
56
69
|
window.addEventListener('blur', exports.stopForcingSpecificCursor, true);
|
|
70
|
+
document.addEventListener('visibilitychange', stopIfDocumentIsHidden);
|
|
57
71
|
};
|
|
58
72
|
exports.forceSpecificCursor = forceSpecificCursor;
|
|
59
73
|
const stopForcingSpecificCursor = () => {
|
|
@@ -5,7 +5,6 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
7
|
const no_react_1 = require("remotion/no-react");
|
|
8
|
-
const colors_1 = require("../helpers/colors");
|
|
9
8
|
const use_keybinding_1 = require("../helpers/use-keybinding");
|
|
10
9
|
const fullscreen_1 = require("../icons/fullscreen");
|
|
11
10
|
const canvas_ref_1 = require("../state/canvas-ref");
|
|
@@ -45,6 +44,6 @@ const FullScreenToggle = ({ hidden }) => {
|
|
|
45
44
|
f.unregister();
|
|
46
45
|
};
|
|
47
46
|
}, [keybindings, onClick]);
|
|
48
|
-
return hidden ? (jsx_runtime_1.jsx("button", { id: "fullscreen-toggle", type: "button", style: { display: 'none' }, onClick: onClick })) : (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { id: "fullscreen-toggle", title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: jsx_runtime_1.jsx(fullscreen_1.FullscreenIcon, { color:
|
|
47
|
+
return hidden ? (jsx_runtime_1.jsx("button", { id: "fullscreen-toggle", type: "button", style: { display: 'none' }, onClick: onClick })) : (jsx_runtime_1.jsx(ControlButton_1.ControlButton, { id: "fullscreen-toggle", title: accessibilityLabel, "aria-label": accessibilityLabel, onClick: onClick, children: (color) => (jsx_runtime_1.jsx(fullscreen_1.FullscreenIcon, { color: color, style: { width: 18, height: 18 } })) }));
|
|
49
48
|
};
|
|
50
49
|
exports.FullScreenToggle = FullScreenToggle;
|
|
@@ -4,11 +4,9 @@ exports.InitialCompositionLoader = exports.useSelectComposition = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const remotion_1 = require("remotion");
|
|
6
6
|
const create_folder_tree_1 = require("../helpers/create-folder-tree");
|
|
7
|
-
const mobile_layout_1 = require("../helpers/mobile-layout");
|
|
8
7
|
const persist_open_folders_1 = require("../helpers/persist-open-folders");
|
|
9
8
|
const url_state_1 = require("../helpers/url-state");
|
|
10
9
|
const folders_1 = require("../state/folders");
|
|
11
|
-
const sidebar_1 = require("../state/sidebar");
|
|
12
10
|
const ExplorerPanelRef_1 = require("./ExplorerPanelRef");
|
|
13
11
|
const load_canvas_content_from_url_1 = require("./load-canvas-content-from-url");
|
|
14
12
|
const use_select_asset_1 = require("./use-select-asset");
|
|
@@ -17,8 +15,6 @@ const useSelectComposition = () => {
|
|
|
17
15
|
const { setCompositionFoldersExpanded } = (0, react_1.useContext)(folders_1.FolderContext);
|
|
18
16
|
const { setCanvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionSetters);
|
|
19
17
|
const setFrame = remotion_1.Internals.useTimelineSetFrame();
|
|
20
|
-
const isMobileLayout = (0, mobile_layout_1.useMobileLayout)();
|
|
21
|
-
const { setSidebarCollapsedState } = (0, react_1.useContext)(sidebar_1.SidebarContext);
|
|
22
18
|
return (0, react_1.useCallback)((c, push, frame = null) => {
|
|
23
19
|
var _a;
|
|
24
20
|
if (push) {
|
|
@@ -42,17 +38,8 @@ const useSelectComposition = () => {
|
|
|
42
38
|
(0, persist_open_folders_1.persistExpandedFolders)('compositions', newState);
|
|
43
39
|
return newState;
|
|
44
40
|
});
|
|
45
|
-
if (isMobileLayout) {
|
|
46
|
-
setSidebarCollapsedState({ left: 'collapsed', right: 'collapsed' });
|
|
47
|
-
}
|
|
48
41
|
}
|
|
49
|
-
}, [
|
|
50
|
-
isMobileLayout,
|
|
51
|
-
setCanvasContent,
|
|
52
|
-
setCompositionFoldersExpanded,
|
|
53
|
-
setFrame,
|
|
54
|
-
setSidebarCollapsedState,
|
|
55
|
-
]);
|
|
42
|
+
}, [setCanvasContent, setCompositionFoldersExpanded, setFrame]);
|
|
56
43
|
};
|
|
57
44
|
exports.useSelectComposition = useSelectComposition;
|
|
58
45
|
const InitialCompositionLoader = () => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type RenderInlineAction = (color: string) => React.ReactNode;
|
|
3
|
-
export type InlineActionProps = {
|
|
3
|
+
export type InlineActionProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onClick' | 'style'> & {
|
|
4
4
|
readonly onClick: React.MouseEventHandler<HTMLButtonElement>;
|
|
5
|
-
readonly disabled?: boolean;
|
|
6
5
|
readonly renderAction: RenderInlineAction;
|
|
7
|
-
readonly title?: string;
|
|
8
6
|
readonly unhoveredColor?: string;
|
|
7
|
+
readonly variant: 'compact' | null;
|
|
8
|
+
readonly style?: React.CSSProperties;
|
|
9
9
|
};
|
|
10
|
-
export declare const InlineAction: ({ renderAction, onClick, disabled, title, unhoveredColor, }: InlineActionProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const InlineAction: ({ renderAction, onClick, disabled, title, unhoveredColor, variant, style: customStyle, ...buttonProps }: InlineActionProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,7 +5,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const colors_1 = require("../helpers/colors");
|
|
7
7
|
const z_index_1 = require("../state/z-index");
|
|
8
|
-
const InlineAction = ({ renderAction, onClick, disabled, title, unhoveredColor = colors_1.LIGHT_TEXT, }) => {
|
|
8
|
+
const InlineAction = ({ renderAction, onClick, disabled, title, unhoveredColor = colors_1.LIGHT_TEXT, variant, style: customStyle, ...buttonProps }) => {
|
|
9
|
+
var _a;
|
|
9
10
|
const { tabIndex } = (0, z_index_1.useZIndex)();
|
|
10
11
|
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
11
12
|
const onPointerEnter = (0, react_1.useCallback)(() => {
|
|
@@ -21,7 +22,7 @@ const InlineAction = ({ renderAction, onClick, disabled, title, unhoveredColor =
|
|
|
21
22
|
? colors_1.TRANSPARENT
|
|
22
23
|
: (0, colors_1.getBackgroundFromHoverState)({ hovered, selected: false }),
|
|
23
24
|
height: 24,
|
|
24
|
-
width: 24,
|
|
25
|
+
width: variant === 'compact' ? 14 : 24,
|
|
25
26
|
padding: 0,
|
|
26
27
|
display: 'inline-flex',
|
|
27
28
|
justifyContent: 'center',
|
|
@@ -29,8 +30,9 @@ const InlineAction = ({ renderAction, onClick, disabled, title, unhoveredColor =
|
|
|
29
30
|
borderRadius: 3,
|
|
30
31
|
opacity: disabled ? 0.5 : 1,
|
|
31
32
|
pointerEvents: disabled ? 'none' : 'auto',
|
|
33
|
+
...customStyle,
|
|
32
34
|
};
|
|
33
|
-
}, [disabled, hovered]);
|
|
34
|
-
return (jsx_runtime_1.jsx("button", { type: "button", disabled: disabled, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, style: style, tabIndex: tabIndex, title: title, "aria-label": title, children: renderAction(hovered ? colors_1.WHITE : unhoveredColor) }));
|
|
35
|
+
}, [customStyle, disabled, hovered, variant]);
|
|
36
|
+
return (jsx_runtime_1.jsx("button", { ...buttonProps, type: "button", disabled: disabled, onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, onClick: onClick, style: style, tabIndex: tabIndex, title: title, "aria-label": (_a = buttonProps['aria-label']) !== null && _a !== void 0 ? _a : title, children: renderAction(hovered ? colors_1.WHITE : unhoveredColor) }));
|
|
35
37
|
};
|
|
36
38
|
exports.InlineAction = InlineAction;
|
|
@@ -6,6 +6,7 @@ const react_1 = require("react");
|
|
|
6
6
|
const format_file_location_1 = require("../helpers/format-file-location");
|
|
7
7
|
const clipboard_1 = require("../icons/clipboard");
|
|
8
8
|
const InlineAction_1 = require("./InlineAction");
|
|
9
|
+
const InspectorOpenInEditor_1 = require("./InspectorOpenInEditor");
|
|
9
10
|
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
10
11
|
const row = {
|
|
11
12
|
alignItems: 'center',
|
|
@@ -22,6 +23,8 @@ const content = {
|
|
|
22
23
|
overflow: 'hidden',
|
|
23
24
|
};
|
|
24
25
|
const action = {
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
display: 'flex',
|
|
25
28
|
flexShrink: 0,
|
|
26
29
|
height: 24,
|
|
27
30
|
marginLeft: 0,
|
|
@@ -32,7 +35,7 @@ const icon = {
|
|
|
32
35
|
height: 12,
|
|
33
36
|
width: 12,
|
|
34
37
|
};
|
|
35
|
-
const InspectorLocationCopy = ({ children, location, name }) => {
|
|
38
|
+
const InspectorLocationCopy = ({ children, location, name, openInEditorLocation }) => {
|
|
36
39
|
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
37
40
|
const [focusedWithin, setFocusedWithin] = (0, react_1.useState)(false);
|
|
38
41
|
const textToCopy = (0, react_1.useMemo)(() => {
|
|
@@ -56,10 +59,11 @@ const InspectorLocationCopy = ({ children, location, name }) => {
|
|
|
56
59
|
}, [textToCopy]);
|
|
57
60
|
const showAction = hovered || focusedWithin;
|
|
58
61
|
return (jsx_runtime_1.jsxs("div", { style: row, onPointerEnter: () => setHovered(true), onPointerLeave: () => setHovered(false), onFocus: () => setFocusedWithin(true), onBlur: () => setFocusedWithin(false), children: [
|
|
59
|
-
jsx_runtime_1.jsx("div", { style: content, children: children }), textToCopy ? (jsx_runtime_1.
|
|
62
|
+
jsx_runtime_1.jsx("div", { style: content, children: children }), textToCopy || openInEditorLocation ? (jsx_runtime_1.jsxs("div", { style: {
|
|
60
63
|
...action,
|
|
61
64
|
opacity: showAction ? 1 : 0,
|
|
62
65
|
pointerEvents: showAction ? 'auto' : 'none',
|
|
63
|
-
}, children:
|
|
66
|
+
}, children: [
|
|
67
|
+
jsx_runtime_1.jsx(InspectorOpenInEditor_1.InspectorOpenInEditor, { location: openInEditorLocation }), textToCopy ? (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, onClick: onCopy, renderAction: renderCopyAction, title: "Copy location for agents" })) : null] })) : null] }));
|
|
64
68
|
};
|
|
65
69
|
exports.InspectorLocationCopy = InspectorLocationCopy;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InspectorOpenInEditor = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const client_id_1 = require("../helpers/client-id");
|
|
7
|
+
const colors_1 = require("../helpers/colors");
|
|
8
|
+
const open_in_editor_1 = require("../helpers/open-in-editor");
|
|
9
|
+
const caret_1 = require("../icons/caret");
|
|
10
|
+
const editor_1 = require("../icons/editor");
|
|
11
|
+
const modals_1 = require("../state/modals");
|
|
12
|
+
const z_index_1 = require("../state/z-index");
|
|
13
|
+
const InlineDropdown_1 = require("./InlineDropdown");
|
|
14
|
+
const NotificationCenter_1 = require("./Notifications/NotificationCenter");
|
|
15
|
+
const use_default_editor_info_1 = require("./use-default-editor-info");
|
|
16
|
+
const splitButton = {
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
display: 'inline-flex',
|
|
19
|
+
flexDirection: 'row',
|
|
20
|
+
flexShrink: 0,
|
|
21
|
+
height: 24,
|
|
22
|
+
};
|
|
23
|
+
const mainButtonBase = {
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
background: colors_1.TRANSPARENT,
|
|
26
|
+
border: 'none',
|
|
27
|
+
borderRadius: 3,
|
|
28
|
+
color: colors_1.LIGHT_TEXT,
|
|
29
|
+
display: 'inline-flex',
|
|
30
|
+
fontFamily: 'sans-serif',
|
|
31
|
+
fontSize: 11,
|
|
32
|
+
height: 24,
|
|
33
|
+
lineHeight: '14px',
|
|
34
|
+
padding: '0 6px',
|
|
35
|
+
whiteSpace: 'nowrap',
|
|
36
|
+
};
|
|
37
|
+
const menuLabel = {
|
|
38
|
+
color: 'inherit',
|
|
39
|
+
fontFamily: 'sans-serif',
|
|
40
|
+
fontSize: 13,
|
|
41
|
+
lineHeight: '16px',
|
|
42
|
+
};
|
|
43
|
+
const editorButtonIconSize = 18;
|
|
44
|
+
const editorMenuIconSize = 18;
|
|
45
|
+
const InspectorOpenInEditor = ({ location }) => {
|
|
46
|
+
var _a;
|
|
47
|
+
const { previewServerState } = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx);
|
|
48
|
+
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
49
|
+
const { tabIndex } = (0, z_index_1.useZIndex)();
|
|
50
|
+
const [hovered, setHovered] = (0, react_1.useState)(false);
|
|
51
|
+
const editorPickerAvailable = (0, use_default_editor_info_1.canUseEditorPicker)(previewServerState.type === 'connected');
|
|
52
|
+
const editorInfo = (0, use_default_editor_info_1.useDefaultEditorInfo)(editorPickerAvailable);
|
|
53
|
+
const openWithEditor = (0, react_1.useCallback)(async (editorId) => {
|
|
54
|
+
if (!location) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
await (0, open_in_editor_1.openOriginalPositionInEditor)(location, editorId);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
62
|
+
}
|
|
63
|
+
}, [location]);
|
|
64
|
+
const preferredEditorId = (0, use_default_editor_info_1.getPreferredEditorId)(editorInfo);
|
|
65
|
+
const editorName = (_a = window.remotion_editorName) !== null && _a !== void 0 ? _a : 'default editor';
|
|
66
|
+
const canOpenDefault = location !== null && window.remotion_editorName !== null;
|
|
67
|
+
const onOpenDefault = (0, react_1.useCallback)((event) => {
|
|
68
|
+
event.stopPropagation();
|
|
69
|
+
openWithEditor(null).catch(() => undefined);
|
|
70
|
+
}, [openWithEditor]);
|
|
71
|
+
const mainButtonStyle = (0, react_1.useMemo)(() => {
|
|
72
|
+
return {
|
|
73
|
+
...mainButtonBase,
|
|
74
|
+
background: (0, colors_1.getBackgroundFromHoverState)({
|
|
75
|
+
hovered,
|
|
76
|
+
selected: false,
|
|
77
|
+
}),
|
|
78
|
+
color: hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT,
|
|
79
|
+
opacity: canOpenDefault ? 1 : 0.5,
|
|
80
|
+
pointerEvents: canOpenDefault ? 'auto' : 'none',
|
|
81
|
+
};
|
|
82
|
+
}, [canOpenDefault, hovered]);
|
|
83
|
+
const renderDropdownAction = (0, react_1.useCallback)((color) => {
|
|
84
|
+
return jsx_runtime_1.jsx(caret_1.CaretDown, { color: color, small: true });
|
|
85
|
+
}, []);
|
|
86
|
+
const menuItems = (0, react_1.useMemo)(() => {
|
|
87
|
+
var _a;
|
|
88
|
+
const alternateEditors = ((_a = editorInfo === null || editorInfo === void 0 ? void 0 : editorInfo.installedEditors) !== null && _a !== void 0 ? _a : [])
|
|
89
|
+
.filter((editor) => editor.id !== preferredEditorId)
|
|
90
|
+
.map((editor) => ({
|
|
91
|
+
id: `open-in-${editor.id}`,
|
|
92
|
+
keyHint: null,
|
|
93
|
+
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: editor.name }),
|
|
94
|
+
leftItem: jsx_runtime_1.jsx(editor_1.EditorIcon, { editorId: editor.id, size: editorMenuIconSize }),
|
|
95
|
+
onClick: () => {
|
|
96
|
+
openWithEditor(editor.id).catch(() => undefined);
|
|
97
|
+
},
|
|
98
|
+
quickSwitcherLabel: null,
|
|
99
|
+
subMenu: null,
|
|
100
|
+
type: 'item',
|
|
101
|
+
value: editor.id,
|
|
102
|
+
}));
|
|
103
|
+
const settingsItems = [
|
|
104
|
+
...(alternateEditors.length > 0
|
|
105
|
+
? [{ type: 'divider', id: 'editor-settings-divider' }]
|
|
106
|
+
: []),
|
|
107
|
+
{
|
|
108
|
+
id: 'set-default-editor',
|
|
109
|
+
keyHint: null,
|
|
110
|
+
label: jsx_runtime_1.jsx("span", { style: menuLabel, children: "Set default editor..." }),
|
|
111
|
+
leftItem: null,
|
|
112
|
+
onClick: () => {
|
|
113
|
+
setSelectedModal({ type: 'configure-default-editor' });
|
|
114
|
+
},
|
|
115
|
+
quickSwitcherLabel: null,
|
|
116
|
+
subMenu: null,
|
|
117
|
+
type: 'item',
|
|
118
|
+
value: 'set-default-editor',
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
return [...alternateEditors, ...settingsItems];
|
|
122
|
+
}, [
|
|
123
|
+
editorInfo === null || editorInfo === void 0 ? void 0 : editorInfo.installedEditors,
|
|
124
|
+
openWithEditor,
|
|
125
|
+
preferredEditorId,
|
|
126
|
+
setSelectedModal,
|
|
127
|
+
]);
|
|
128
|
+
if (!editorPickerAvailable) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
return (jsx_runtime_1.jsxs("div", { style: splitButton, children: [
|
|
132
|
+
jsx_runtime_1.jsx("button", { "aria-label": `Open in ${editorName}`, disabled: !canOpenDefault, onClick: onOpenDefault, onPointerEnter: () => setHovered(true), onPointerLeave: () => setHovered(false), style: mainButtonStyle, tabIndex: tabIndex, title: `Open in ${editorName}`, type: "button", children: jsx_runtime_1.jsx(editor_1.EditorIcon, { editorId: preferredEditorId, size: editorButtonIconSize }) }), jsx_runtime_1.jsx(InlineDropdown_1.InlineDropdown, { renderAction: renderDropdownAction, title: "Open in another editor", values: menuItems, variant: "compact" })
|
|
133
|
+
] }));
|
|
134
|
+
};
|
|
135
|
+
exports.InspectorOpenInEditor = InspectorOpenInEditor;
|
|
@@ -44,7 +44,7 @@ const verticalDivider = {
|
|
|
44
44
|
margin: '0 8px',
|
|
45
45
|
};
|
|
46
46
|
const AlignmentButton = ({ onClick, title, Icon, disabled }) => {
|
|
47
|
-
return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { title: title, onClick: onClick, renderAction: (color) => jsx_runtime_1.jsx(Icon, { style: iconStyle, color: color }), disabled: disabled }));
|
|
47
|
+
return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, title: title, onClick: onClick, renderAction: (color) => jsx_runtime_1.jsx(Icon, { style: iconStyle, color: color }), disabled: disabled }));
|
|
48
48
|
};
|
|
49
49
|
const AlignmentControls = ({ track }) => {
|
|
50
50
|
var _a;
|
|
@@ -72,7 +72,7 @@ const CompositionInspectorHeader = () => {
|
|
|
72
72
|
if (!validatedLocation) {
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
|
-
(0, open_in_editor_1.openOriginalPositionInEditor)(validatedLocation).catch((err) => {
|
|
75
|
+
(0, open_in_editor_1.openOriginalPositionInEditor)(validatedLocation, null).catch((err) => {
|
|
76
76
|
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
77
77
|
});
|
|
78
78
|
}, [validatedLocation]);
|
|
@@ -80,7 +80,7 @@ const CompositionInspectorHeader = () => {
|
|
|
80
80
|
if (!componentLocation) {
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
|
-
(0, open_in_editor_1.openOriginalPositionInEditor)(componentLocation).catch((err) => {
|
|
83
|
+
(0, open_in_editor_1.openOriginalPositionInEditor)(componentLocation, null).catch((err) => {
|
|
84
84
|
(0, NotificationCenter_1.showNotification)(err.message, 2000);
|
|
85
85
|
});
|
|
86
86
|
}, [componentLocation]);
|
|
@@ -90,7 +90,7 @@ const CompositionInspectorHeader = () => {
|
|
|
90
90
|
}
|
|
91
91
|
return (0, is_composition_still_1.isCompositionStill)(video) ? (jsx_runtime_1.jsx(still_1.StillIcon, { color: color, style: sourceLocationIconStyle })) : (jsx_runtime_1.jsx(video_1.FilmIcon, { color: color, style: sourceLocationIconStyle }));
|
|
92
92
|
}, [video]);
|
|
93
|
-
return (jsx_runtime_1.jsx(InspectorInfoHeader_1.InspectorInfoHeader, { minHeight: COMPOSITION_INSPECTOR_HEADER_HEIGHT, padding: "4px 0", children: video ? (jsx_runtime_1.jsxs(InspectorLocationCopy_1.InspectorLocationCopy, { location: validatedLocation, name: video.id, children: [
|
|
93
|
+
return (jsx_runtime_1.jsx(InspectorInfoHeader_1.InspectorInfoHeader, { minHeight: COMPOSITION_INSPECTOR_HEADER_HEIGHT, padding: "4px 0", children: video ? (jsx_runtime_1.jsxs(InspectorLocationCopy_1.InspectorLocationCopy, { location: validatedLocation, name: video.id, openInEditorLocation: componentLocation, children: [
|
|
94
94
|
jsx_runtime_1.jsx(InlineCompositionName_1.InlineCompositionName, { compositionId: video.id, stack: (_e = currentComposition === null || currentComposition === void 0 ? void 0 : currentComposition.stack) !== null && _e !== void 0 ? _e : null, compositions: compositions }, video.id), jsx_runtime_1.jsx(InspectorSourceLocation_1.InspectorSourceLocation, { location: validatedLocation, canOpen: validatedLocation !== null, onOpen: openFileLocation, renderIcon: renderCompositionIcon, size: "inline-action" }), compositionComponentInfo === null &&
|
|
95
95
|
compositionFile !== null &&
|
|
96
96
|
compositionId !== null ? (jsx_runtime_1.jsx("div", { "aria-hidden": true, style: componentLocationPlaceholder })) : (jsx_runtime_1.jsx(InspectorSourceLocation_1.InspectorSourceLocation, { location: componentLocation, canOpen: componentLocation !== null, onOpen: openComponentLocation, renderIcon: renderReactIcon, size: "inline-action" }))] })) : null }));
|
|
@@ -37,16 +37,17 @@ const computedValueStyle = {
|
|
|
37
37
|
fontFamily: 'sans-serif',
|
|
38
38
|
fontSize: 12,
|
|
39
39
|
fontStyle: 'italic',
|
|
40
|
-
lineHeight:
|
|
40
|
+
lineHeight: '20px',
|
|
41
41
|
};
|
|
42
42
|
const dimensionsControls = {
|
|
43
43
|
alignItems: 'center',
|
|
44
|
+
color: 'inherit',
|
|
44
45
|
display: 'flex',
|
|
45
46
|
fontFamily: 'sans-serif',
|
|
46
|
-
fontSize:
|
|
47
|
+
fontSize: 13,
|
|
47
48
|
gap: 4,
|
|
48
49
|
justifyContent: 'flex-end',
|
|
49
|
-
lineHeight: '
|
|
50
|
+
lineHeight: '20px',
|
|
50
51
|
minWidth: 0,
|
|
51
52
|
};
|
|
52
53
|
const presetButtonIcon = {
|
|
@@ -69,14 +70,14 @@ const metadataLabelControls = {
|
|
|
69
70
|
fontFamily: 'sans-serif',
|
|
70
71
|
fontSize: 13,
|
|
71
72
|
gap: 2,
|
|
72
|
-
lineHeight: '
|
|
73
|
+
lineHeight: '20px',
|
|
73
74
|
minWidth: 0,
|
|
74
75
|
};
|
|
75
76
|
const metadataLabelText = {
|
|
76
77
|
color: 'inherit',
|
|
77
78
|
fontFamily: 'sans-serif',
|
|
78
79
|
fontSize: 13,
|
|
79
|
-
lineHeight: '
|
|
80
|
+
lineHeight: '20px',
|
|
80
81
|
minWidth: 0,
|
|
81
82
|
overflow: 'hidden',
|
|
82
83
|
textOverflow: 'ellipsis',
|
|
@@ -97,7 +98,7 @@ const PresetDropdown = ({ disabled, title, values, visible }) => {
|
|
|
97
98
|
return (jsx_runtime_1.jsx("div", { style: {
|
|
98
99
|
...presetDropdownContainer,
|
|
99
100
|
visibility: visible ? 'visible' : 'hidden',
|
|
100
|
-
}, children: jsx_runtime_1.jsx(InlineDropdown_1.InlineDropdown, { disabled: disabled, renderAction: renderAction, title: title, values: values }) }));
|
|
101
|
+
}, children: jsx_runtime_1.jsx(InlineDropdown_1.InlineDropdown, { disabled: disabled, renderAction: renderAction, title: title, values: values, variant: "compact" }) }));
|
|
101
102
|
};
|
|
102
103
|
const CompositionMetadataValue = ({ computed, disabled, field, onSave, pendingValue, value }) => {
|
|
103
104
|
var _a;
|
|
@@ -287,7 +288,7 @@ const CompositionMetadata = ({ compositionId, disabled, stack }) => {
|
|
|
287
288
|
return (jsx_runtime_1.jsxs("div", { style: compositionMetadataContainer, children: [jsx_runtime_1.jsx(common_1.InspectorDetailRow, { label: (hovered) => (jsx_runtime_1.jsxs("div", { style: metadataLabelControls, children: [
|
|
288
289
|
jsx_runtime_1.jsx("span", { style: metadataLabelText, children: "Dimensions" }), disabled || widthIsComputed || heightIsComputed ? null : (jsx_runtime_1.jsx(PresetDropdown, { disabled: pendingValues.width !== undefined ||
|
|
289
290
|
pendingValues.height !== undefined, title: "Choose dimension preset", values: dimensionPresetValues, visible: hovered }))] })), children: jsx_runtime_1.jsxs("div", { style: dimensionsControls, children: [
|
|
290
|
-
jsx_runtime_1.jsx(CompositionMetadataValue, { computed: widthIsComputed, disabled: disabled, field: "width", onSave: saveMetadata, pendingValue: (_a = pendingValues.width) !== null && _a !== void 0 ? _a : null, value: video.width }), jsx_runtime_1.jsx(CompositionMetadataValue, { computed: heightIsComputed, disabled: disabled, field: "height", onSave: saveMetadata, pendingValue: (_b = pendingValues.height) !== null && _b !== void 0 ? _b : null, value: video.height })
|
|
291
|
+
jsx_runtime_1.jsx(CompositionMetadataValue, { computed: widthIsComputed, disabled: disabled, field: "width", onSave: saveMetadata, pendingValue: (_a = pendingValues.width) !== null && _a !== void 0 ? _a : null, value: video.width }), disabled ? '\u00A0' : null, jsx_runtime_1.jsx(CompositionMetadataValue, { computed: heightIsComputed, disabled: disabled, field: "height", onSave: saveMetadata, pendingValue: (_b = pendingValues.height) !== null && _b !== void 0 ? _b : null, value: video.height })
|
|
291
292
|
] }) }), isStill ? null : (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [jsx_runtime_1.jsx(common_1.InspectorDetailRow, { label: (hovered) => (jsx_runtime_1.jsxs("div", { style: metadataLabelControls, children: [
|
|
292
293
|
jsx_runtime_1.jsx("span", { style: metadataLabelText, children: "Frame rate" }), disabled || fpsIsComputed ? null : (jsx_runtime_1.jsx(PresetDropdown, { disabled: pendingValues.fps !== undefined, title: "Choose frame rate preset", values: frameRatePresetValues, visible: hovered }))] })), children: jsx_runtime_1.jsx("div", { style: dimensionsControls, children: jsx_runtime_1.jsx(CompositionMetadataValue, { computed: fpsIsComputed, disabled: disabled, field: "fps", onSave: saveMetadata, pendingValue: (_c = pendingValues.fps) !== null && _c !== void 0 ? _c : null, value: video.fps }) }) }), jsx_runtime_1.jsx(common_1.InspectorDetailRow, { label: "Duration", children: jsx_runtime_1.jsx(CompositionMetadataValue, { computed: durationIsComputed, disabled: disabled, field: "durationInFrames", onSave: saveMetadata, pendingValue: (_d = pendingValues.durationInFrames) !== null && _d !== void 0 ? _d : null, value: video.durationInFrames }) })
|
|
293
294
|
] }))] }));
|
|
@@ -139,8 +139,8 @@ const KeyframeEasingNavigator = ({ currentSelection, includeEasings, keyframes,
|
|
|
139
139
|
if (currentItem === null) {
|
|
140
140
|
return null;
|
|
141
141
|
}
|
|
142
|
-
return (jsx_runtime_1.jsxs("div", { style: navigatorContainer, children: [jsx_runtime_1.jsx(InlineAction_1.InlineAction, { disabled: previousItem === null, onClick: selectPrevious, title: "Previous animation item", renderAction: (color) => (jsx_runtime_1.jsx(NavigationChevron, { color: previousItem === null ? disabledChevronColor : color, direction: "left" })) }), jsx_runtime_1.jsxs("div", { style: itemStrip, children: [
|
|
142
|
+
return (jsx_runtime_1.jsxs("div", { style: navigatorContainer, children: [jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, disabled: previousItem === null, onClick: selectPrevious, title: "Previous animation item", renderAction: (color) => (jsx_runtime_1.jsx(NavigationChevron, { color: previousItem === null ? disabledChevronColor : color, direction: "left" })) }), jsx_runtime_1.jsxs("div", { style: itemStrip, children: [
|
|
143
143
|
jsx_runtime_1.jsx(TimelineNavigatorItem, { extendLineLeft: false, extendLineRight: currentItem.type === 'keyframe', item: previousItem, onSelect: selectItem, selected: previousItem === null ? false : isSelected(previousItem.selection) }), jsx_runtime_1.jsx(TimelineNavigatorItem, { extendLineLeft: (previousItem === null || previousItem === void 0 ? void 0 : previousItem.type) === 'keyframe', extendLineRight: (nextItem === null || nextItem === void 0 ? void 0 : nextItem.type) === 'keyframe', item: currentItem, onSelect: selectItem, selected: isSelected(currentItem.selection) }), jsx_runtime_1.jsx(TimelineNavigatorItem, { extendLineLeft: currentItem.type === 'keyframe', extendLineRight: false, item: nextItem, onSelect: selectItem, selected: nextItem === null ? false : isSelected(nextItem.selection) })
|
|
144
|
-
] }), jsx_runtime_1.jsx(InlineAction_1.InlineAction, { disabled: nextItem === null, onClick: selectNext, title: "Next animation item", renderAction: (color) => (jsx_runtime_1.jsx(NavigationChevron, { color: nextItem === null ? disabledChevronColor : color, direction: "right" })) })] }));
|
|
144
|
+
] }), jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, disabled: nextItem === null, onClick: selectNext, title: "Next animation item", renderAction: (color) => (jsx_runtime_1.jsx(NavigationChevron, { color: nextItem === null ? disabledChevronColor : color, direction: "right" })) })] }));
|
|
145
145
|
};
|
|
146
146
|
exports.KeyframeEasingNavigator = KeyframeEasingNavigator;
|