@remotion/studio 4.0.501 → 4.0.503

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.
Files changed (171) hide show
  1. package/dist/components/AssetSelectorItem.js +4 -4
  2. package/dist/components/Canvas.js +37 -57
  3. package/dist/components/ColorPicker/AlphaSlider.js +14 -10
  4. package/dist/components/ColorPicker/HueSlider.js +14 -10
  5. package/dist/components/ColorPicker/SaturationValueArea.js +14 -12
  6. package/dist/components/CompositionContextButton.js +1 -1
  7. package/dist/components/CompositionSelector.js +4 -4
  8. package/dist/components/CompositionSelectorItem.js +5 -5
  9. package/dist/components/ConfigureDefaultEditorModal.d.ts +2 -0
  10. package/dist/components/ConfigureDefaultEditorModal.js +151 -0
  11. package/dist/components/ConfirmationDialog.js +6 -3
  12. package/dist/components/ContextMenu.js +0 -2
  13. package/dist/components/Editor.js +1 -4
  14. package/dist/components/EditorContent.js +1 -1
  15. package/dist/components/EditorGuides/Guide.js +48 -74
  16. package/dist/components/EditorRuler/Ruler.d.ts +1 -0
  17. package/dist/components/EditorRuler/Ruler.js +3 -1
  18. package/dist/components/EditorRuler/index.js +26 -23
  19. package/dist/components/ElementInstallConfirmation.d.ts +12 -0
  20. package/dist/components/ElementInstallConfirmation.js +205 -0
  21. package/dist/components/ForceSpecificCursor.js +14 -0
  22. package/dist/components/FullscreenToggle.d.ts +3 -1
  23. package/dist/components/FullscreenToggle.js +2 -2
  24. package/dist/components/InlineAction.d.ts +2 -1
  25. package/dist/components/InlineAction.js +4 -4
  26. package/dist/components/InspectorLocationCopy.d.ts +1 -0
  27. package/dist/components/InspectorLocationCopy.js +7 -3
  28. package/dist/components/InspectorOpenInEditor.d.ts +5 -0
  29. package/dist/components/InspectorOpenInEditor.js +135 -0
  30. package/dist/components/InspectorPanel/AlignmentControls.js +1 -1
  31. package/dist/components/InspectorPanel/CompositionInspectorHeader.js +3 -3
  32. package/dist/components/InspectorPanel/CompositionMetadata.js +1 -1
  33. package/dist/components/InspectorPanel/KeyframeEasingNavigator.js +2 -2
  34. package/dist/components/InspectorPanel/SequenceInspectorHeader.js +2 -2
  35. package/dist/components/InspectorPanel/use-composition-actions.d.ts +1 -1
  36. package/dist/components/InspectorPanel/use-composition-actions.js +46 -3
  37. package/dist/components/InspectorSequenceSection.js +2 -2
  38. package/dist/components/LoopToggle.d.ts +1 -0
  39. package/dist/components/LoopToggle.js +9 -5
  40. package/dist/components/Menu/MenuItem.js +13 -6
  41. package/dist/components/Menu/MenuSubItem.js +11 -1
  42. package/dist/components/MenuBuildIndicator.js +1 -1
  43. package/dist/components/MenuCompositionName.js +1 -1
  44. package/dist/components/MobilePanel.js +5 -1
  45. package/dist/components/ModalContainer.js +1 -1
  46. package/dist/components/ModalFooter.d.ts +1 -0
  47. package/dist/components/ModalFooter.js +2 -2
  48. package/dist/components/Modals.js +11 -2
  49. package/dist/components/NewComposition/InputDragger.js +19 -29
  50. package/dist/components/ObserveDefaultPropsContext.js +7 -4
  51. package/dist/components/PlayPause.d.ts +1 -0
  52. package/dist/components/PlayPause.js +2 -4
  53. package/dist/components/PlaybackRateSelector.d.ts +9 -2
  54. package/dist/components/PlaybackRateSelector.js +21 -10
  55. package/dist/components/PreviewToolbar.js +19 -109
  56. package/dist/components/PreviewToolbarOverflowButton.d.ts +12 -0
  57. package/dist/components/PreviewToolbarOverflowButton.js +217 -0
  58. package/dist/components/QuickSwitcher/QuickSwitcher.d.ts +1 -0
  59. package/dist/components/QuickSwitcher/QuickSwitcherContent.d.ts +1 -0
  60. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +16 -1
  61. package/dist/components/QuickSwitcher/QuickSwitcherResult.d.ts +2 -0
  62. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +7 -1
  63. package/dist/components/RenderButton.d.ts +1 -0
  64. package/dist/components/RenderButton.js +6 -4
  65. package/dist/components/RenderModal/InlineEyeIcon.js +1 -1
  66. package/dist/components/RenderModal/InlineRemoveButton.js +1 -1
  67. package/dist/components/RenderModal/RenderModalOutputName.js +1 -1
  68. package/dist/components/RenderModal/SchemaEditor/SchemaResetButton.js +1 -1
  69. package/dist/components/RenderQueue/RenderQueueCopyToClipboard.js +1 -1
  70. package/dist/components/RenderQueue/RenderQueueDownloadItem.js +1 -1
  71. package/dist/components/RenderQueue/RenderQueueItemCancelButton.js +1 -1
  72. package/dist/components/RenderQueue/RenderQueueOpenInFolder.js +1 -1
  73. package/dist/components/RenderQueue/RenderQueueRemoveItem.js +1 -1
  74. package/dist/components/RenderQueue/RenderQueueRepeat.js +1 -1
  75. package/dist/components/SelectedOutlineCropControls.js +7 -6
  76. package/dist/components/SelectedOutlineElement.js +28 -26
  77. package/dist/components/SelectedOutlineUvControls.js +25 -24
  78. package/dist/components/ShowGuidesProvider.js +2 -0
  79. package/dist/components/SidebarCollapserControls.js +2 -2
  80. package/dist/components/SidebarRenderButton.js +1 -1
  81. package/dist/components/SizeSelector.d.ts +6 -0
  82. package/dist/components/SizeSelector.js +17 -8
  83. package/dist/components/Splitter/SplitterContainer.d.ts +1 -0
  84. package/dist/components/Splitter/SplitterContainer.js +23 -3
  85. package/dist/components/Splitter/SplitterContext.d.ts +14 -0
  86. package/dist/components/Splitter/SplitterContext.js +16 -1
  87. package/dist/components/Splitter/SplitterHandle.js +25 -74
  88. package/dist/components/Timeline/EasingEditorModal.js +27 -19
  89. package/dist/components/Timeline/Timeline.js +2 -1
  90. package/dist/components/Timeline/TimelineAssetField.d.ts +1 -1
  91. package/dist/components/Timeline/TimelineAssetField.js +37 -2
  92. package/dist/components/Timeline/TimelineDragHandler.js +39 -8
  93. package/dist/components/Timeline/TimelineInOutDragHandler.js +26 -11
  94. package/dist/components/Timeline/TimelineLayerEye.js +36 -4
  95. package/dist/components/Timeline/TimelineSelection.js +14 -21
  96. package/dist/components/Timeline/TimelineSequence.js +7 -3
  97. package/dist/components/Timeline/TimelineSequenceItem.js +24 -18
  98. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.d.ts +1 -1
  99. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +76 -43
  100. package/dist/components/Timeline/TimelineStack/get-stack.js +13 -0
  101. package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +4 -2
  102. package/dist/components/Timeline/get-sequence-context-menu-items.js +38 -2
  103. package/dist/components/Timeline/save-sequence-prop.js +4 -4
  104. package/dist/components/Timeline/sequence-props-subscription-store.d.ts +2 -2
  105. package/dist/components/Timeline/sequence-props-subscription-store.js +3 -3
  106. package/dist/components/Timeline/should-subscribe-to-source-file.d.ts +1 -0
  107. package/dist/components/Timeline/should-subscribe-to-source-file.js +11 -0
  108. package/dist/components/Timeline/use-open-sequence-in-editor.d.ts +3 -1
  109. package/dist/components/Timeline/use-open-sequence-in-editor.js +5 -2
  110. package/dist/components/Timeline/use-sequence-props-subscription.js +2 -0
  111. package/dist/components/Timeline/use-timeline-asset-drop.js +0 -4
  112. package/dist/components/Timeline/use-timeline-keyframe-drag.js +31 -16
  113. package/dist/components/TopPanel.js +1 -1
  114. package/dist/components/UndoRedoButtons.js +1 -1
  115. package/dist/components/UpdateCheck.d.ts +2 -0
  116. package/dist/components/UpdateCheck.js +20 -8
  117. package/dist/components/UpdateModal/UpdateModal.js +26 -10
  118. package/dist/components/VisualControls/ClickableFileName.js +5 -2
  119. package/dist/components/composition-menu-items.js +1 -1
  120. package/dist/components/default-props-api.d.ts +3 -0
  121. package/dist/components/default-props-api.js +19 -0
  122. package/dist/components/drop-handler-data.d.ts +1 -1
  123. package/dist/components/drop-handler-data.js +6 -6
  124. package/dist/components/effect-drag-and-drop.d.ts +1 -1
  125. package/dist/components/effect-drag-and-drop.js +3 -3
  126. package/dist/components/element-drag-and-drop.d.ts +1 -1
  127. package/dist/components/element-drag-and-drop.js +3 -3
  128. package/dist/components/element-install-request.d.ts +3 -0
  129. package/dist/components/element-install-request.js +17 -0
  130. package/dist/components/folder-menu-items.js +1 -1
  131. package/dist/components/handle-drop.d.ts +2 -3
  132. package/dist/components/handle-drop.js +11 -4
  133. package/dist/components/import-assets.d.ts +9 -9
  134. package/dist/components/import-assets.js +4 -15
  135. package/dist/components/sequence-props-api.d.ts +4 -0
  136. package/dist/components/sequence-props-api.js +26 -0
  137. package/dist/components/use-default-editor-info.d.ts +4 -0
  138. package/dist/components/use-default-editor-info.js +47 -0
  139. package/dist/error-overlay/remotion-overlay/ErrorDisplay.d.ts +1 -0
  140. package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +29 -5
  141. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +4 -20
  142. package/dist/error-overlay/remotion-overlay/OpenInEditor.js +1 -1
  143. package/dist/error-overlay/remotion-overlay/StackFrame.js +1 -1
  144. package/dist/esm/{chunk-n1kj09yv.js → chunk-bj1r1hh5.js} +8153 -6662
  145. package/dist/esm/internals.mjs +8153 -6662
  146. package/dist/esm/previewEntry.mjs +8210 -6719
  147. package/dist/esm/renderEntry.mjs +1 -1
  148. package/dist/helpers/inject-css.js +18 -44
  149. package/dist/helpers/open-in-editor.d.ts +3 -3
  150. package/dist/helpers/open-in-editor.js +10 -6
  151. package/dist/helpers/pointer-session.d.ts +9 -0
  152. package/dist/helpers/pointer-session.js +94 -0
  153. package/dist/helpers/use-menu-structure.js +24 -2
  154. package/dist/icons/custom-editor.d.ts +4 -0
  155. package/dist/icons/custom-editor.js +11 -0
  156. package/dist/icons/editor.d.ts +6 -0
  157. package/dist/icons/editor.js +52 -0
  158. package/dist/icons/upload.d.ts +4 -0
  159. package/dist/icons/upload.js +8 -0
  160. package/dist/state/editor-guides.d.ts +1 -0
  161. package/dist/state/editor-guides.js +1 -0
  162. package/dist/state/modals.d.ts +3 -0
  163. package/dist/state/z-index.d.ts +1 -0
  164. package/dist/state/z-index.js +34 -18
  165. package/package.json +12 -13
  166. package/dist/components/StudioCanvasCapture.d.ts +0 -5
  167. package/dist/components/StudioCanvasCapture.js +0 -40
  168. package/dist/components/canvas-capture-enabled.d.ts +0 -1
  169. package/dist/components/canvas-capture-enabled.js +0 -4
  170. package/dist/components/use-element-overwrite-confirmation.d.ts +0 -2
  171. package/dist/components/use-element-overwrite-confirmation.js +0 -73
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreviewToolbarOverflowButton = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const remotion_1 = require("remotion");
7
+ const colors_1 = require("../helpers/colors");
8
+ const use_keybinding_1 = require("../helpers/use-keybinding");
9
+ const Checkmark_1 = require("../icons/Checkmark");
10
+ const ellipsis_1 = require("../icons/ellipsis");
11
+ const checkerboard_1 = require("../state/checkerboard");
12
+ const editor_outlines_1 = require("../state/editor-outlines");
13
+ const InlineDropdown_1 = require("./InlineDropdown");
14
+ const LoopToggle_1 = require("./LoopToggle");
15
+ const PlaybackRateSelector_1 = require("./PlaybackRateSelector");
16
+ const SizeSelector_1 = require("./SizeSelector");
17
+ const clickButton = (id) => {
18
+ var _a;
19
+ (_a = document.getElementById(id)) === null || _a === void 0 ? void 0 : _a.click();
20
+ };
21
+ const PreviewToolbarOverflowButton = ({ readOnlyStudio, showFullscreen, showPlaybackRate, showLoop, showCompositionControls, playbackRate, setPlaybackRate, loop, setLoop, }) => {
22
+ const video = remotion_1.Internals.useVideo();
23
+ const { checkerboard, setCheckerboard } = (0, react_1.useContext)(checkerboard_1.CheckerboardContext);
24
+ const { editorShowOutlines, setEditorShowOutlines } = (0, react_1.useContext)(editor_outlines_1.EditorShowOutlinesContext);
25
+ const { items: previewSizeItems, selectedId: selectedPreviewSize, zoomable, } = (0, SizeSelector_1.usePreviewSizeMenuItems)();
26
+ const { items: playbackRateItems, selectedId: selectedPlaybackRate } = (0, PlaybackRateSelector_1.usePlaybackRateMenuItems)({ playbackRate, setPlaybackRate });
27
+ const iconStyle = (0, react_1.useMemo)(() => {
28
+ return {
29
+ style: {
30
+ width: 14,
31
+ height: 14,
32
+ flexShrink: 0,
33
+ },
34
+ };
35
+ }, []);
36
+ const renderAction = (0, react_1.useCallback)((color) => jsx_runtime_1.jsx(ellipsis_1.EllipsisIcon, { fill: color, svgProps: iconStyle }), [iconStyle]);
37
+ const renderItems = (0, react_1.useMemo)(() => {
38
+ if (readOnlyStudio) {
39
+ return [
40
+ {
41
+ type: 'item',
42
+ id: 'client-render',
43
+ label: 'Render on web',
44
+ value: 'client-render',
45
+ onClick: () => clickButton('render-modal-button-client'),
46
+ keyHint: null,
47
+ leftItem: null,
48
+ subMenu: null,
49
+ quickSwitcherLabel: null,
50
+ },
51
+ {
52
+ type: 'item',
53
+ id: 'render-command',
54
+ label: 'Render via CLI',
55
+ value: 'render-command',
56
+ onClick: () => clickButton('render-modal-button-command'),
57
+ keyHint: null,
58
+ leftItem: null,
59
+ subMenu: null,
60
+ quickSwitcherLabel: null,
61
+ },
62
+ ];
63
+ }
64
+ return [
65
+ {
66
+ type: 'item',
67
+ id: 'server-render',
68
+ label: 'Server-side render',
69
+ value: 'server-render',
70
+ onClick: () => clickButton('render-modal-button-server'),
71
+ keyHint: null,
72
+ leftItem: null,
73
+ subMenu: null,
74
+ quickSwitcherLabel: null,
75
+ },
76
+ {
77
+ type: 'item',
78
+ id: 'client-render',
79
+ label: 'Client-side render',
80
+ value: 'client-render',
81
+ onClick: () => clickButton('render-modal-button-client'),
82
+ keyHint: null,
83
+ leftItem: null,
84
+ subMenu: null,
85
+ quickSwitcherLabel: null,
86
+ },
87
+ ];
88
+ }, [readOnlyStudio]);
89
+ const values = (0, react_1.useMemo)(() => {
90
+ const items = [];
91
+ if (zoomable) {
92
+ items.push({
93
+ type: 'item',
94
+ id: 'preview-size',
95
+ label: 'Preview Size',
96
+ value: 'preview-size',
97
+ onClick: () => undefined,
98
+ keyHint: null,
99
+ leftItem: null,
100
+ subMenu: {
101
+ items: previewSizeItems,
102
+ leaveLeftSpace: true,
103
+ preselectIndex: previewSizeItems.findIndex((item) => item.id === selectedPreviewSize),
104
+ },
105
+ quickSwitcherLabel: null,
106
+ });
107
+ }
108
+ if (showPlaybackRate) {
109
+ items.push({
110
+ type: 'item',
111
+ id: 'playback-rate',
112
+ label: 'Playback Rate',
113
+ value: 'playback-rate',
114
+ onClick: () => undefined,
115
+ keyHint: null,
116
+ leftItem: null,
117
+ subMenu: {
118
+ items: playbackRateItems,
119
+ leaveLeftSpace: true,
120
+ preselectIndex: playbackRateItems.findIndex((item) => item.id === selectedPlaybackRate),
121
+ },
122
+ quickSwitcherLabel: null,
123
+ });
124
+ }
125
+ if (showLoop) {
126
+ items.push({
127
+ type: 'item',
128
+ id: 'loop',
129
+ label: 'Loop',
130
+ value: 'loop',
131
+ onClick: () => (0, LoopToggle_1.toggleLoop)(setLoop),
132
+ keyHint: null,
133
+ leftItem: loop ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
134
+ subMenu: null,
135
+ quickSwitcherLabel: null,
136
+ });
137
+ }
138
+ if (showCompositionControls) {
139
+ items.push({
140
+ type: 'item',
141
+ id: 'checkerboard',
142
+ label: 'Transparency as checkerboard',
143
+ value: 'checkerboard',
144
+ onClick: () => setCheckerboard((current) => !current),
145
+ keyHint: (0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? null : 'T',
146
+ leftItem: checkerboard ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
147
+ subMenu: null,
148
+ quickSwitcherLabel: null,
149
+ });
150
+ items.push({
151
+ type: 'item',
152
+ id: 'outlines',
153
+ label: 'Outlines',
154
+ value: 'outlines',
155
+ onClick: () => setEditorShowOutlines((current) => !current),
156
+ keyHint: null,
157
+ leftItem: editorShowOutlines ? jsx_runtime_1.jsx(Checkmark_1.Checkmark, {}) : null,
158
+ subMenu: null,
159
+ quickSwitcherLabel: null,
160
+ });
161
+ }
162
+ if (showFullscreen) {
163
+ items.push({
164
+ type: 'item',
165
+ id: 'fullscreen',
166
+ label: 'Fullscreen',
167
+ value: 'fullscreen',
168
+ onClick: () => clickButton('fullscreen-toggle'),
169
+ keyHint: (0, use_keybinding_1.areKeyboardShortcutsDisabled)() ? null : 'F',
170
+ leftItem: null,
171
+ subMenu: null,
172
+ quickSwitcherLabel: null,
173
+ });
174
+ }
175
+ if (video) {
176
+ items.push({
177
+ type: 'item',
178
+ id: 'render',
179
+ label: 'Render',
180
+ value: 'render',
181
+ onClick: () => undefined,
182
+ keyHint: null,
183
+ leftItem: null,
184
+ subMenu: {
185
+ items: renderItems,
186
+ leaveLeftSpace: false,
187
+ preselectIndex: 0,
188
+ },
189
+ quickSwitcherLabel: null,
190
+ });
191
+ }
192
+ return items;
193
+ }, [
194
+ previewSizeItems,
195
+ playbackRateItems,
196
+ renderItems,
197
+ selectedPlaybackRate,
198
+ selectedPreviewSize,
199
+ showFullscreen,
200
+ showLoop,
201
+ showPlaybackRate,
202
+ showCompositionControls,
203
+ loop,
204
+ checkerboard,
205
+ editorShowOutlines,
206
+ setCheckerboard,
207
+ setEditorShowOutlines,
208
+ setLoop,
209
+ video,
210
+ zoomable,
211
+ ]);
212
+ if (values.length === 0) {
213
+ return null;
214
+ }
215
+ return (jsx_runtime_1.jsx(InlineDropdown_1.InlineDropdown, { variant: null, renderAction: renderAction, values: values, title: "More actions", unhoveredColor: colors_1.WHITE }));
216
+ };
217
+ exports.PreviewToolbarOverflowButton = PreviewToolbarOverflowButton;
@@ -8,6 +8,7 @@ declare const QuickSwitcher: React.FC<{
8
8
  readonly readOnlyStudio: boolean;
9
9
  readonly assetSelection: {
10
10
  readonly initialQuery: string;
11
+ readonly onSelectFile: () => void;
11
12
  readonly onSelected: (asset: StaticFile) => void;
12
13
  } | null;
13
14
  readonly compositionSelection: {
@@ -8,6 +8,7 @@ export declare const QuickSwitcherContent: React.FC<{
8
8
  readonly readOnlyStudio: boolean;
9
9
  readonly assetSelection: {
10
10
  readonly initialQuery: string;
11
+ readonly onSelectFile: () => void;
11
12
  readonly onSelected: (asset: StaticFile) => void;
12
13
  } | null;
13
14
  readonly compositionSelection: {
@@ -156,7 +156,7 @@ const QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio
156
156
  return docResults.results;
157
157
  }
158
158
  if (mode === 'assets') {
159
- return (0, fuzzy_search_1.fuzzySearch)(assetSearch.query, assetSearch.assets.map((asset) => {
159
+ const assetResults = (0, fuzzy_search_1.fuzzySearch)(assetSearch.query, assetSearch.assets.map((asset) => {
160
160
  return {
161
161
  id: 'asset-' + asset.name,
162
162
  title: asset.name,
@@ -174,6 +174,21 @@ const QuickSwitcherContent = ({ initialMode, invocationTimestamp, readOnlyStudio
174
174
  },
175
175
  };
176
176
  }));
177
+ if (assetSelection === null) {
178
+ return assetResults;
179
+ }
180
+ return [
181
+ {
182
+ id: 'select-file',
183
+ title: 'Select file...',
184
+ type: 'select-file',
185
+ onSelected: () => {
186
+ assetSelection.onSelectFile();
187
+ setSelectedModal(null);
188
+ },
189
+ },
190
+ ...assetResults,
191
+ ];
177
192
  }
178
193
  return (0, fuzzy_search_1.fuzzySearch)(actualQuery, compositions
179
194
  .filter((c) => c.id !== (compositionSelection === null || compositionSelection === void 0 ? void 0 : compositionSelection.excludeCompositionId))
@@ -8,6 +8,8 @@ type QuickSwitcherResultDetail = {
8
8
  compositionType: 'composition' | 'still';
9
9
  } | {
10
10
  type: 'menu-item';
11
+ } | {
12
+ type: 'select-file';
11
13
  } | {
12
14
  type: 'search-result';
13
15
  titleLine: string;
@@ -6,6 +6,7 @@ const react_1 = require("react");
6
6
  const colors_1 = require("../../helpers/colors");
7
7
  const use_keybinding_1 = require("../../helpers/use-keybinding");
8
8
  const still_1 = require("../../icons/still");
9
+ const upload_1 = require("../../icons/upload");
9
10
  const video_1 = require("../../icons/video");
10
11
  const AssetFileIcon_1 = require("../AssetFileIcon");
11
12
  const layout_1 = require("../layout");
@@ -35,6 +36,11 @@ const iconStyle = {
35
36
  height: 18,
36
37
  flexShrink: 0,
37
38
  };
39
+ const selectFileIconStyle = {
40
+ ...iconStyle,
41
+ width: 20,
42
+ height: 20,
43
+ };
38
44
  const labelContainer = {
39
45
  overflow: 'hidden',
40
46
  flex: 1,
@@ -95,7 +101,7 @@ const QuickSwitcherResult = ({ result, selected }) => {
95
101
  fontSize: shared_1.QUICK_SWITCHER_RESULT_LABEL_FONT_SIZE,
96
102
  };
97
103
  }, [hovered, result.type, selected]);
98
- return (jsx_runtime_1.jsxs("div", { ref: ref, style: style, onClick: result.onSelected, children: [result.type === 'composition' ? (result.compositionType === 'still' ? (jsx_runtime_1.jsx(still_1.StillIcon, { color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle })) : (jsx_runtime_1.jsx(video_1.FilmIcon, { color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle }))) : result.type === 'asset' ? (jsx_runtime_1.jsx(AssetFileIcon_1.AssetFileIcon, { fileType: result.fileType, color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle })) : null, jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: labelContainer, children: result.type === 'search-result' ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
104
+ return (jsx_runtime_1.jsxs("div", { ref: ref, style: style, onClick: result.onSelected, children: [result.type === 'composition' ? (result.compositionType === 'still' ? (jsx_runtime_1.jsx(still_1.StillIcon, { color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle })) : (jsx_runtime_1.jsx(video_1.FilmIcon, { color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle }))) : result.type === 'asset' ? (jsx_runtime_1.jsx(AssetFileIcon_1.AssetFileIcon, { fileType: result.fileType, color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: iconStyle })) : result.type === 'select-file' ? (jsx_runtime_1.jsx(upload_1.UploadIcon, { color: selected || hovered ? colors_1.WHITE : colors_1.LIGHT_TEXT, style: selectFileIconStyle })) : null, jsx_runtime_1.jsx(layout_1.Spacing, { x: 1 }), jsx_runtime_1.jsx("div", { style: labelContainer, children: result.type === 'search-result' ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
99
105
  jsx_runtime_1.jsx("div", {
100
106
  // eslint-disable-next-line react/no-danger
101
107
  dangerouslySetInnerHTML: {
@@ -3,4 +3,5 @@ export type RenderType = 'server-render' | 'client-render' | 'render-command';
3
3
  export declare const RenderButton: React.FC<{
4
4
  readonly readOnlyStudio: boolean;
5
5
  readonly size?: 'default' | 'compact';
6
+ readonly hidden: boolean;
6
7
  }>;
@@ -123,7 +123,7 @@ const getInitialRenderType = (readOnlyStudio) => {
123
123
  }
124
124
  return 'server-render';
125
125
  };
126
- const RenderButton = ({ readOnlyStudio, size: controlSize = 'default' }) => {
126
+ const RenderButton = ({ readOnlyStudio, size: controlSize = 'default', hidden }) => {
127
127
  const { inFrame, outFrame } = (0, in_out_1.useTimelineInOutFramePosition)();
128
128
  const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
129
129
  const [preferredRenderType, setPreferredRenderType] = (0, react_1.useState)(() => getInitialRenderType(readOnlyStudio));
@@ -437,15 +437,17 @@ const RenderButton = ({ readOnlyStudio, size: controlSize = 'default' }) => {
437
437
  return null;
438
438
  }
439
439
  return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
440
- jsx_runtime_1.jsx("button", { style: { display: 'none' }, id: "render-modal-button-server", disabled: !canServerRender, onClick: () => openServerRenderModal(false), type: "button" }), ' ', jsx_runtime_1.jsx("button", { style: { display: 'none' }, id: "render-modal-button-client", onClick: openClientRenderModal, type: "button" }), jsx_runtime_1.jsxs("div", { ref: containerRef, style: containerStyle, title: tooltip, children: [
441
- jsx_runtime_1.jsx("button", { type: "button", style: controlSize === 'compact' ? compactMainButtonStyle : mainButtonStyle, onClick: onClick, id: "render-modal-button", children: jsx_runtime_1.jsxs(layout_1.Row, { align: "center", style: controlSize === 'compact'
440
+ jsx_runtime_1.jsx("button", { style: { display: 'none' }, id: "render-modal-button-server", disabled: !canServerRender, onClick: () => openServerRenderModal(false), type: "button" }), ' ', jsx_runtime_1.jsx("button", { style: { display: 'none' }, id: "render-modal-button-client", onClick: openClientRenderModal, type: "button" }), jsx_runtime_1.jsx("button", { style: { display: 'none' }, id: "render-modal-button-command", onClick: () => openServerRenderModal(true), type: "button" }), hidden ? (jsx_runtime_1.jsx("button", { style: { display: 'none' }, onClick: onClick, id: "render-modal-button", type: "button" })) : (jsx_runtime_1.jsxs("div", { ref: containerRef, style: containerStyle, title: tooltip, children: [
441
+ jsx_runtime_1.jsx("button", { type: "button", style: controlSize === 'compact'
442
+ ? compactMainButtonStyle
443
+ : mainButtonStyle, onClick: onClick, id: "render-modal-button", children: jsx_runtime_1.jsxs(layout_1.Row, { align: "center", style: controlSize === 'compact'
442
444
  ? compactMainButtonContent
443
445
  : mainButtonContent, children: [
444
446
  jsx_runtime_1.jsx(render_1.ThinRenderIcon, { fill: colors_1.CURRENT_COLOR_LOWERCASE, svgProps: iconStyle }), jsx_runtime_1.jsx(layout_1.Spacing, { x: controlSize === 'compact' ? 0.75 : 1 }), jsx_runtime_1.jsx("span", { style: controlSize === 'compact' ? compactLabel : label, children: renderLabel })
445
447
  ] }) }), jsx_runtime_1.jsx("div", { style: dividerStyle }), jsx_runtime_1.jsx("button", { ref: dropdownRef, type: "button", style: controlSize === 'compact'
446
448
  ? compactDropdownTriggerStyle
447
449
  : dropdownTriggerStyle, className: is_menu_item_1.MENU_INITIATOR_CLASSNAME, onPointerDown: onPointerDown, onClick: onClickDropdown, children: jsx_runtime_1.jsx(caret_1.CaretDown, {}) })
448
- ] }), portalStyle
450
+ ] })), portalStyle
449
451
  ? react_dom_1.default.createPortal(jsx_runtime_1.jsx("div", { style: styles_1.fullScreenOverlay, children: jsx_runtime_1.jsx("div", { style: styles_1.outerPortal, className: "css-reset", children: jsx_runtime_1.jsx(z_index_1.HigherZIndex, { onOutsideClick: onHideDropdown, onEscape: onHideDropdown, children: jsx_runtime_1.jsx("div", { style: portalStyle, onPointerDown: onMenuPointerDown, children: jsx_runtime_1.jsx(MenuContent_1.MenuContent, { onNextMenu: () => { }, onPreviousMenu: () => { }, values: dropdownValues, onHide: onHideDropdown, leaveLeftSpace: false, preselectIndex: dropdownValues.findIndex((v) => v.id === renderType), topItemCanBeUnselected: false, fixedHeight: derivedMaxHeight }) }) }) }) }), (0, portals_1.getPortal)(currentZIndex))
450
452
  : null] }));
451
453
  };
@@ -13,6 +13,6 @@ const InlineEyeButton = ({ onClick, enabled }) => {
13
13
  const renderAction = (0, react_1.useCallback)((color) => {
14
14
  return enabled ? (jsx_runtime_1.jsx("svg", { style: clearIcon, viewBox: "0 0 640 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM605.5 268.3c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-51.2 0-96 14.8-133.9 36.8l27.3 21.5C244.6 74.2 280.2 64 320 64c70.4 0 127.7 32 170.8 72c43.1 40 71.9 88 85.2 120c-9.2 22.1-25.9 52-49.5 81.5l25.1 19.8c25.6-32 43.7-64.4 53.9-89zM88.4 154.7c-25.6 32-43.7 64.4-53.9 89c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c51.2 0 96-14.8 133.9-36.8l-27.3-21.5C395.4 437.8 359.8 448 320 448c-70.4 0-127.7-32-170.8-72C106.1 336 77.3 288 64 256c9.2-22.1 25.9-52 49.5-81.5L88.4 154.7zM320 384c16.7 0 32.7-3.2 47.4-9.1l-30.9-24.4c-5.4 .9-10.9 1.4-16.5 1.4c-51 0-92.8-39.8-95.8-90.1l-30.9-24.4c-.9 6-1.3 12.2-1.3 18.5c0 70.7 57.3 128 128 128zM448 256c0-70.7-57.3-128-128-128c-16.7 0-32.7 3.2-47.4 9.1l30.9 24.4c5.4-.9 10.9-1.4 16.5-1.4c51 0 92.8 39.8 95.8 90.1l30.9 24.4c.9-6 1.3-12.2 1.3-18.5z" }) })) : (jsx_runtime_1.jsx("svg", { style: clearIcon, viewBox: "0 0 576 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M117.2 136C160.3 96 217.6 64 288 64s127.7 32 170.8 72c43.1 40 71.9 88 85.2 120c-13.3 32-42.1 80-85.2 120c-43.1 40-100.4 72-170.8 72s-127.7-32-170.8-72C74.1 336 45.3 288 32 256c13.3-32 42.1-80 85.2-120zM288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM192 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z" }) }));
15
15
  }, [enabled]);
16
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
16
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
17
17
  };
18
18
  exports.InlineEyeButton = InlineEyeButton;
@@ -13,6 +13,6 @@ const InlineRemoveButton = ({ onClick }) => {
13
13
  const renderAction = (0, react_1.useCallback)((color) => {
14
14
  return (jsx_runtime_1.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", style: clearIcon, children: jsx_runtime_1.jsx("path", { d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z", fill: color }) }));
15
15
  }, []);
16
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
16
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
17
17
  };
18
18
  exports.InlineRemoveButton = InlineRemoveButton;
@@ -44,7 +44,7 @@ const RenderModalOutputName = ({ existence, inputStyle, outName, onValueChange,
44
44
  jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(ValidationMessage_1.ValidationMessage, { align: "flex-end", message: validationMessage, type: 'error' })
45
45
  ] })) : existence ? (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
46
46
  jsx_runtime_1.jsx(layout_1.Spacing, { y: 1, block: true }), jsx_runtime_1.jsx(ValidationMessage_1.ValidationMessage, { align: "flex-end", message: jsx_runtime_1.jsxs("span", { style: existsMessageStyle, children: [
47
- jsx_runtime_1.jsx(InlineAction_1.InlineAction, { onClick: openExistingOutput, renderAction: renderOpenIcon, title: `Open in ${fileManagerName}` }),
47
+ jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, onClick: openExistingOutput, renderAction: renderOpenIcon, title: `Open in ${fileManagerName}` }),
48
48
  "Exists, will be overwritten"] }), type: 'warning' })
49
49
  ] })) : null] }) })
50
50
  ] }));
@@ -13,6 +13,6 @@ const SchemaResetButton = ({ onClick }) => {
13
13
  const renderAction = (0, react_1.useCallback)((color) => {
14
14
  return (jsx_runtime_1.jsx("svg", { style: icon, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M48.5 224H40c-13.3 0-24-10.7-24-24V72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H48.5z" }) }));
15
15
  }, []);
16
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
16
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
17
17
  };
18
18
  exports.SchemaResetButton = SchemaResetButton;
@@ -53,6 +53,6 @@ const RenderQueueCopyToClipboard = ({ job }) => {
53
53
  (0, NotificationCenter_1.showNotification)(`Could not copy to clipboard: ${err.message}`, 2000);
54
54
  }
55
55
  }, [job.outName]);
56
- return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { title: "Copy to clipboard", renderAction: renderCopyAction, onClick: onClick }));
56
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, title: "Copy to clipboard", renderAction: renderCopyAction, onClick: onClick }));
57
57
  };
58
58
  exports.RenderQueueCopyToClipboard = RenderQueueCopyToClipboard;
@@ -31,6 +31,6 @@ const RenderQueueDownloadItem = ({ job }) => {
31
31
  const renderAction = (0, react_1.useCallback)((color) => {
32
32
  return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z" }) }));
33
33
  }, [icon]);
34
- return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, title: "Download" }));
34
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { variant: null, renderAction: renderAction, onClick: onClick, title: "Download" }));
35
35
  };
36
36
  exports.RenderQueueDownloadItem = RenderQueueDownloadItem;
@@ -30,6 +30,6 @@ const RenderQueueCancelButton = ({ job }) => {
30
30
  const renderAction = (0, react_1.useCallback)((color) => {
31
31
  return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M367.2 412.5L99.5 144.8C77.1 176.1 64 214.5 64 256c0 106 86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3C434.9 335.9 448 297.5 448 256c0-106-86-192-192-192c-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM512 256c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0S512 114.6 512 256z" }) }));
32
32
  }, [icon]);
33
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
33
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
34
34
  };
35
35
  exports.RenderQueueCancelButton = RenderQueueCancelButton;
@@ -24,6 +24,6 @@ const RenderQueueOpenInFinderItem = ({ job }) => {
24
24
  const renderAction = (0, react_1.useCallback)((color) => {
25
25
  return jsx_runtime_1.jsx(folder_1.ExpandedFolderIconSolid, { style: icon, color: color });
26
26
  }, [icon]);
27
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
27
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
28
28
  };
29
29
  exports.RenderQueueOpenInFinderItem = RenderQueueOpenInFinderItem;
@@ -46,6 +46,6 @@ const RenderQueueRemoveItem = ({ job }) => {
46
46
  const renderAction = (0, react_1.useCallback)((color) => {
47
47
  return (jsx_runtime_1.jsx("svg", { style: icon, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 320 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M310.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 210.7 54.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L114.7 256 9.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 301.3 265.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L205.3 256 310.6 150.6z" }) }));
48
48
  }, [icon]);
49
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick });
49
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { renderAction: renderAction, onClick: onClick, variant: null }));
50
50
  };
51
51
  exports.RenderQueueRemoveItem = RenderQueueRemoveItem;
@@ -44,6 +44,6 @@ const RenderQueueRepeatItem = ({ job }) => {
44
44
  const renderAction = (0, react_1.useCallback)((color) => {
45
45
  return (jsx_runtime_1.jsx("svg", { style: icon, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" }) }));
46
46
  }, [icon]);
47
- return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { onClick: onClick, renderAction: renderAction });
47
+ return (jsx_runtime_1.jsx(InlineAction_1.InlineAction, { onClick: onClick, renderAction: renderAction, variant: null }));
48
48
  };
49
49
  exports.RenderQueueRepeatItem = RenderQueueRepeatItem;
@@ -38,6 +38,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
38
38
  const react_1 = __importStar(require("react"));
39
39
  const remotion_1 = require("remotion");
40
40
  const colors_1 = require("../helpers/colors");
41
+ const pointer_session_1 = require("../helpers/pointer-session");
41
42
  const ForceSpecificCursor_1 = require("./ForceSpecificCursor");
42
43
  const NotificationCenter_1 = require("./Notifications/NotificationCenter");
43
44
  const selected_outline_drag_1 = require("./selected-outline-drag");
@@ -232,9 +233,6 @@ const CropHandle = ({ handle, outline, onDraggingChange, target }) => {
232
233
  }
233
234
  };
234
235
  const onPointerUp = () => {
235
- window.removeEventListener('pointermove', onPointerMove);
236
- window.removeEventListener('pointerup', onPointerUp);
237
- window.removeEventListener('pointercancel', onPointerUp);
238
236
  if (dragStarted) {
239
237
  (0, ForceSpecificCursor_1.stopForcingSpecificCursor)();
240
238
  onDraggingChange(false);
@@ -270,9 +268,12 @@ const CropHandle = ({ handle, outline, onDraggingChange, target }) => {
270
268
  clearDragOverrides(cropDrag.nodePath);
271
269
  });
272
270
  };
273
- window.addEventListener('pointermove', onPointerMove);
274
- window.addEventListener('pointerup', onPointerUp);
275
- window.addEventListener('pointercancel', onPointerUp);
271
+ (0, pointer_session_1.startPointerSession)({
272
+ event,
273
+ target: event.currentTarget,
274
+ onMove: onPointerMove,
275
+ onEnd: onPointerUp,
276
+ });
276
277
  }, [
277
278
  clearDragOverrides,
278
279
  cropDrag,
@@ -45,6 +45,7 @@ const get_connected_compositions_1 = require("../helpers/get-connected-compositi
45
45
  const get_sequence_double_click_action_1 = require("../helpers/get-sequence-double-click-action");
46
46
  const interactivity_enabled_1 = require("../helpers/interactivity-enabled");
47
47
  const open_in_editor_1 = require("../helpers/open-in-editor");
48
+ const pointer_session_1 = require("../helpers/pointer-session");
48
49
  const editor_snapping_1 = require("../state/editor-snapping");
49
50
  const modals_1 = require("../state/modals");
50
51
  const call_api_1 = require("./call-api");
@@ -227,9 +228,6 @@ const SelectedOutlineTransformOriginHandle = ({ outline, onDraggingChange, targe
227
228
  updateFromPointerPosition();
228
229
  };
229
230
  const onPointerUp = () => {
230
- window.removeEventListener('pointermove', onPointerMove);
231
- window.removeEventListener('pointerup', onPointerUp);
232
- window.removeEventListener('pointercancel', onPointerUp);
233
231
  window.removeEventListener('keydown', onKeyChange);
234
232
  window.removeEventListener('keyup', onKeyChange);
235
233
  (0, ForceSpecificCursor_1.stopForcingSpecificCursor)();
@@ -272,9 +270,12 @@ const SelectedOutlineTransformOriginHandle = ({ outline, onDraggingChange, targe
272
270
  clearDragOverrides(transformOriginDrag.nodePath);
273
271
  });
274
272
  };
275
- window.addEventListener('pointermove', onPointerMove);
276
- window.addEventListener('pointerup', onPointerUp);
277
- window.addEventListener('pointercancel', onPointerUp);
273
+ (0, pointer_session_1.startPointerSession)({
274
+ event,
275
+ target: event.currentTarget,
276
+ onMove: onPointerMove,
277
+ onEnd: onPointerUp,
278
+ });
278
279
  window.addEventListener('keydown', onKeyChange);
279
280
  window.addEventListener('keyup', onKeyChange);
280
281
  }, [
@@ -437,9 +438,6 @@ const SelectedOutlinePolygon = ({ allDragTargets, allDragOutlines, contextMenuVa
437
438
  updateDragOverrides();
438
439
  };
439
440
  const onPointerUp = () => {
440
- window.removeEventListener('pointermove', onPointerMove);
441
- window.removeEventListener('pointerup', onPointerUp);
442
- window.removeEventListener('pointercancel', onPointerUp);
443
441
  window.removeEventListener('keydown', onKeyChange);
444
442
  window.removeEventListener('keyup', onKeyChange);
445
443
  if (dragStarted) {
@@ -486,9 +484,12 @@ const SelectedOutlinePolygon = ({ allDragTargets, allDragOutlines, contextMenuVa
486
484
  (0, selected_outline_drag_1.clearSelectedOutlineDragOverrides)({ clearDragOverrides, dragStates });
487
485
  });
488
486
  };
489
- window.addEventListener('pointermove', onPointerMove);
490
- window.addEventListener('pointerup', onPointerUp);
491
- window.addEventListener('pointercancel', onPointerUp);
487
+ (0, pointer_session_1.startPointerSession)({
488
+ event,
489
+ target: event.currentTarget,
490
+ onMove: onPointerMove,
491
+ onEnd: onPointerUp,
492
+ });
492
493
  window.addEventListener('keydown', onKeyChange);
493
494
  window.addEventListener('keyup', onKeyChange);
494
495
  }, [
@@ -648,9 +649,6 @@ const SelectedOutlineScaleEdgeLine = ({ allScaleDragTargets, contextMenuValues,
648
649
  }
649
650
  };
650
651
  const onPointerUp = () => {
651
- window.removeEventListener('pointermove', onPointerMove);
652
- window.removeEventListener('pointerup', onPointerUp);
653
- window.removeEventListener('pointercancel', onPointerUp);
654
652
  if (dragStarted) {
655
653
  (0, ForceSpecificCursor_1.stopForcingSpecificCursor)();
656
654
  onDraggingChange(false);
@@ -701,9 +699,12 @@ const SelectedOutlineScaleEdgeLine = ({ allScaleDragTargets, contextMenuValues,
701
699
  });
702
700
  });
703
701
  };
704
- window.addEventListener('pointermove', onPointerMove);
705
- window.addEventListener('pointerup', onPointerUp);
706
- window.addEventListener('pointercancel', onPointerUp);
702
+ (0, pointer_session_1.startPointerSession)({
703
+ event,
704
+ target: event.currentTarget,
705
+ onMove: onPointerMove,
706
+ onEnd: onPointerUp,
707
+ });
707
708
  }, [
708
709
  allScaleDragTargets,
709
710
  clearDragOverrides,
@@ -864,9 +865,6 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
864
865
  }
865
866
  };
866
867
  const onPointerUp = () => {
867
- window.removeEventListener('pointermove', onPointerMove);
868
- window.removeEventListener('pointerup', onPointerUp);
869
- window.removeEventListener('pointercancel', onPointerUp);
870
868
  window.removeEventListener('keydown', onKeyChange);
871
869
  window.removeEventListener('keyup', onKeyChange);
872
870
  if (dragStarted) {
@@ -919,9 +917,12 @@ const SelectedOutlineRotationCornerHandle = ({ allRotationDragTargets, contextMe
919
917
  });
920
918
  });
921
919
  };
922
- window.addEventListener('pointermove', onPointerMove);
923
- window.addEventListener('pointerup', onPointerUp);
924
- window.addEventListener('pointercancel', onPointerUp);
920
+ (0, pointer_session_1.startPointerSession)({
921
+ event,
922
+ target: event.currentTarget,
923
+ onMove: onPointerMove,
924
+ onEnd: onPointerUp,
925
+ });
925
926
  window.addEventListener('keydown', onKeyChange);
926
927
  window.addEventListener('keyup', onKeyChange);
927
928
  }, [
@@ -1003,7 +1004,7 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
1003
1004
  if (originalLocation === null) {
1004
1005
  return;
1005
1006
  }
1006
- await (0, open_in_editor_1.openOriginalPositionInEditor)(originalLocation);
1007
+ await (0, open_in_editor_1.openOriginalPositionInEditor)(originalLocation, null);
1007
1008
  };
1008
1009
  openTargetInEditor().catch((err) => {
1009
1010
  (0, NotificationCenter_1.showNotification)(err.message, 2000);
@@ -1050,6 +1051,7 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
1050
1051
  deleteDisabled: sourceEditDisabled,
1051
1052
  disableInteractivityDisabled,
1052
1053
  duplicateDisabled: sourceEditDisabled,
1054
+ editorInfo: null,
1053
1055
  fileLocation,
1054
1056
  includeSourceEditItems: sourceEditingEnabled,
1055
1057
  onDeleteSequenceFromSource: async () => {
@@ -1107,7 +1109,7 @@ const SelectedOutlineElement = ({ allDragTargets, allDragOutlines, allRotationDr
1107
1109
  if (!originalLocation) {
1108
1110
  return;
1109
1111
  }
1110
- (0, open_in_editor_1.openOriginalPositionInEditor)(originalLocation).catch((err) => {
1112
+ (0, open_in_editor_1.openOriginalPositionInEditor)(originalLocation, null).catch((err) => {
1111
1113
  (0, NotificationCenter_1.showNotification)(err.message, 2000);
1112
1114
  });
1113
1115
  },