@remotion/studio 4.0.479 → 4.0.481

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/components/AudioWaveform.js +19 -11
  2. package/dist/components/Button.d.ts +1 -0
  3. package/dist/components/Button.js +2 -2
  4. package/dist/components/CurrentCompositionSideEffects.d.ts +0 -3
  5. package/dist/components/CurrentCompositionSideEffects.js +1 -37
  6. package/dist/components/Editor.js +2 -5
  7. package/dist/components/EditorContent.js +2 -1
  8. package/dist/components/ExpandedTracksProvider.d.ts +1 -0
  9. package/dist/components/ExpandedTracksProvider.js +81 -7
  10. package/dist/components/GlobalKeybindings.d.ts +3 -1
  11. package/dist/components/GlobalKeybindings.js +104 -10
  12. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +4 -3
  13. package/dist/components/InspectorPanel/inspector-selection.d.ts +3 -3
  14. package/dist/components/InspectorPanel/inspector-selection.js +7 -6
  15. package/dist/components/InspectorPanel/styles.d.ts +1 -0
  16. package/dist/components/InspectorPanel/styles.js +19 -1
  17. package/dist/components/InspectorPanel.js +3 -3
  18. package/dist/components/InspectorSequenceSection.d.ts +3 -0
  19. package/dist/components/InspectorSequenceSection.js +12 -2
  20. package/dist/components/KeyboardShortcutsExplainer.js +10 -2
  21. package/dist/components/ResetZoomButton.d.ts +2 -1
  22. package/dist/components/ResetZoomButton.js +5 -1
  23. package/dist/components/SelectedOutlineElement.js +39 -0
  24. package/dist/components/SelectedOutlineOverlay.js +3 -1
  25. package/dist/components/Timeline/Timeline.js +9 -9
  26. package/dist/components/Timeline/TimelineEffectItem.js +1 -1
  27. package/dist/components/Timeline/TimelineEffectPropItem.js +1 -1
  28. package/dist/components/Timeline/TimelineExpandArrowButton.js +42 -2
  29. package/dist/components/Timeline/TimelineExpandedRow.js +2 -2
  30. package/dist/components/Timeline/TimelineExpandedSection.js +8 -9
  31. package/dist/components/Timeline/TimelineRowChrome.d.ts +2 -0
  32. package/dist/components/Timeline/TimelineRowChrome.js +5 -3
  33. package/dist/components/Timeline/TimelineSelection.d.ts +22 -2
  34. package/dist/components/Timeline/TimelineSelection.js +276 -90
  35. package/dist/components/Timeline/TimelineSequenceItem.js +61 -2
  36. package/dist/components/Timeline/TimelineSequencePropItem.js +1 -1
  37. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +6 -4
  38. package/dist/components/Timeline/find-track-for-node-path-info.js +2 -2
  39. package/dist/components/Timeline/get-node-keyframes.d.ts +7 -0
  40. package/dist/components/Timeline/get-node-keyframes.js +26 -1
  41. package/dist/components/Timeline/reset-selected-timeline-props.js +15 -2
  42. package/dist/components/Timeline/timeline-expanded-filter.d.ts +12 -0
  43. package/dist/components/Timeline/timeline-expanded-filter.js +38 -0
  44. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +50 -18
  45. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +1 -0
  46. package/dist/components/Timeline/use-timeline-expanded-tree.js +27 -0
  47. package/dist/components/Timeline/use-timeline-height.js +51 -7
  48. package/dist/components/Timeline/use-timeline-keyframe-drag.js +12 -6
  49. package/dist/components/TopPanel.js +1 -1
  50. package/dist/components/selected-outline-measurement.js +48 -14
  51. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +8 -1
  52. package/dist/esm/{chunk-fge2mq5p.js → chunk-4rq5gt8c.js} +16552 -15859
  53. package/dist/esm/internals.mjs +16552 -15859
  54. package/dist/esm/previewEntry.mjs +4055 -3360
  55. package/dist/esm/renderEntry.mjs +1 -1
  56. package/dist/helpers/migrate-expanded-tracks-for-subscription-key.js +3 -3
  57. package/package.json +11 -11
@@ -219,28 +219,60 @@ const getOutlineSelectionInteraction = ({ shiftKey, metaKey, ctrlKey, }) => ({
219
219
  toggleKey: metaKey || ctrlKey,
220
220
  });
221
221
  exports.getOutlineSelectionInteraction = getOutlineSelectionInteraction;
222
+ const getKeyframeOrEasingField = (item) => {
223
+ if (item.type !== 'keyframe' && item.type !== 'easing') {
224
+ return null;
225
+ }
226
+ return (0, parse_keyframe_field_from_node_path_1.parseKeyframeFieldFromNodePath)(item.nodePathInfo.auxiliaryKeys);
227
+ };
222
228
  const getSelectedEffectFieldsBySequenceKey = (selectedItems) => {
223
- var _a, _b;
229
+ var _a;
224
230
  const selectedEffects = new Map();
225
231
  for (const item of selectedItems) {
226
- if (item.type !== 'sequence-effect' &&
227
- item.type !== 'sequence-effect-prop') {
232
+ if (item.type === 'guide') {
228
233
  continue;
229
234
  }
230
235
  const sequenceKey = (0, TimelineSelection_1.getTimelineSequenceSelectionKey)(item.nodePathInfo);
231
236
  const effectsForSequence = (_a = selectedEffects.get(sequenceKey)) !== null && _a !== void 0 ? _a : new Map();
232
- const selectedFields = (_b = effectsForSequence.get(item.i)) !== null && _b !== void 0 ? _b : {
233
- allFields: false,
234
- fieldKeys: new Set(),
237
+ const addSelectedFields = ({ effectIndex, fieldKey, allFields, }) => {
238
+ var _a;
239
+ const selectedFields = (_a = effectsForSequence.get(effectIndex)) !== null && _a !== void 0 ? _a : {
240
+ allFields: false,
241
+ fieldKeys: new Set(),
242
+ };
243
+ if (allFields) {
244
+ selectedFields.allFields = true;
245
+ }
246
+ else if (fieldKey !== null) {
247
+ selectedFields.fieldKeys.add(fieldKey);
248
+ }
249
+ effectsForSequence.set(effectIndex, selectedFields);
250
+ selectedEffects.set(sequenceKey, effectsForSequence);
235
251
  };
236
252
  if (item.type === 'sequence-effect') {
237
- selectedFields.allFields = true;
253
+ addSelectedFields({
254
+ effectIndex: item.i,
255
+ fieldKey: null,
256
+ allFields: true,
257
+ });
258
+ continue;
259
+ }
260
+ if (item.type === 'sequence-effect-prop') {
261
+ addSelectedFields({
262
+ effectIndex: item.i,
263
+ fieldKey: item.key,
264
+ allFields: false,
265
+ });
266
+ continue;
238
267
  }
239
- else {
240
- selectedFields.fieldKeys.add(item.key);
268
+ const keyframedField = getKeyframeOrEasingField(item);
269
+ if ((keyframedField === null || keyframedField === void 0 ? void 0 : keyframedField.type) === 'effect') {
270
+ addSelectedFields({
271
+ effectIndex: keyframedField.effectIndex,
272
+ fieldKey: keyframedField.fieldKey,
273
+ allFields: false,
274
+ });
241
275
  }
242
- effectsForSequence.set(item.i, selectedFields);
243
- selectedEffects.set(sequenceKey, effectsForSequence);
244
276
  }
245
277
  return selectedEffects;
246
278
  };
@@ -257,17 +289,19 @@ const getSelectedTransformOriginInfo = (selectedItems) => {
257
289
  displayFrame: null,
258
290
  };
259
291
  }
260
- if (selectedItem.type !== 'keyframe') {
292
+ if (selectedItem.type !== 'keyframe' && selectedItem.type !== 'easing') {
261
293
  return null;
262
294
  }
263
- const field = (0, parse_keyframe_field_from_node_path_1.parseKeyframeFieldFromNodePath)(selectedItem.nodePathInfo.auxiliaryKeys);
295
+ const field = getKeyframeOrEasingField(selectedItem);
264
296
  if ((field === null || field === void 0 ? void 0 : field.type) !== 'sequence' ||
265
297
  field.fieldKey !== selected_outline_types_1.transformOriginFieldKey) {
266
298
  return null;
267
299
  }
268
300
  return {
269
301
  sequenceKey: (0, TimelineSelection_1.getTimelineSequenceSelectionKey)(selectedItem.nodePathInfo),
270
- displayFrame: selectedItem.frame,
302
+ displayFrame: selectedItem.type === 'keyframe'
303
+ ? selectedItem.frame
304
+ : selectedItem.fromFrame,
271
305
  };
272
306
  };
273
307
  exports.getSelectedTransformOriginInfo = getSelectedTransformOriginInfo;
@@ -24,6 +24,12 @@ const errorWhileErrorStyle = {
24
24
  lineHeight: 1.5,
25
25
  whiteSpace: 'pre',
26
26
  };
27
+ const errorWhileSymbolicatingStyle = {
28
+ color: 'white',
29
+ lineHeight: 1.5,
30
+ marginTop: 24,
31
+ opacity: 0.7,
32
+ };
27
33
  const shouldLogError = (error) => {
28
34
  return (!(0, error_origin_1.wasErrorLoggedByServer)(error) && (0, studio_shared_1.getLocationFromBuildError)(error) === null);
29
35
  };
@@ -51,6 +57,7 @@ const logSymbolicatedStudioError = (record) => {
51
57
  });
52
58
  };
53
59
  const ErrorLoader = ({ error, keyboardShortcuts, onRetry, canHaveDismissButton, calculateMetadata, }) => {
60
+ var _a;
54
61
  const [state, setState] = (0, react_1.useState)({
55
62
  type: 'loading',
56
63
  });
@@ -90,7 +97,7 @@ const ErrorLoader = ({ error, keyboardShortcuts, onRetry, canHaveDismissButton,
90
97
  }
91
98
  if (state.type === 'error') {
92
99
  return (jsx_runtime_1.jsxs("div", { style: container, children: [
93
- jsx_runtime_1.jsx(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message, canHaveDismissButton: canHaveDismissButton }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: "Error while getting stack trace:" }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: state.err.stack }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: "Report this in the Remotion repo." })
100
+ jsx_runtime_1.jsx(ErrorTitle_1.ErrorTitle, { symbolicating: false, name: error.name, message: error.message, canHaveDismissButton: canHaveDismissButton }), jsx_runtime_1.jsx("div", { style: errorWhileErrorStyle, children: (_a = error.stack) !== null && _a !== void 0 ? _a : 'Check the Terminal and browser console for error messages.' }), jsx_runtime_1.jsxs("div", { style: errorWhileSymbolicatingStyle, children: ["Could not symbolicate the stack trace: ", state.err.message] })
94
101
  ] }));
95
102
  }
96
103
  if (state.type === 'no-record') {