@remotion/studio 4.0.479 → 4.0.482

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 (75) 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 +7 -5
  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/MediaVolumeProvider.js +4 -4
  22. package/dist/components/Modals.js +2 -1
  23. package/dist/components/NewComposition/CodemodFooter.d.ts +1 -0
  24. package/dist/components/NewComposition/CodemodFooter.js +25 -3
  25. package/dist/components/NewComposition/InputDragger.d.ts +4 -0
  26. package/dist/components/NewComposition/InputDragger.js +18 -2
  27. package/dist/components/NewComposition/NewComposition.d.ts +2 -0
  28. package/dist/components/NewComposition/NewComposition.js +178 -0
  29. package/dist/components/PreviewToolbar.js +3 -3
  30. package/dist/components/ResetZoomButton.d.ts +2 -1
  31. package/dist/components/ResetZoomButton.js +5 -1
  32. package/dist/components/SelectedOutlineElement.js +39 -0
  33. package/dist/components/SelectedOutlineOverlay.d.ts +6 -0
  34. package/dist/components/SelectedOutlineOverlay.js +21 -3
  35. package/dist/components/Timeline/Timeline.js +9 -9
  36. package/dist/components/Timeline/TimelineEffectItem.js +1 -1
  37. package/dist/components/Timeline/TimelineEffectPropItem.js +1 -1
  38. package/dist/components/Timeline/TimelineExpandArrowButton.js +42 -2
  39. package/dist/components/Timeline/TimelineExpandedRow.js +2 -2
  40. package/dist/components/Timeline/TimelineExpandedSection.js +8 -9
  41. package/dist/components/Timeline/TimelineRowChrome.d.ts +2 -0
  42. package/dist/components/Timeline/TimelineRowChrome.js +5 -3
  43. package/dist/components/Timeline/TimelineSelection.d.ts +26 -3
  44. package/dist/components/Timeline/TimelineSelection.js +322 -91
  45. package/dist/components/Timeline/TimelineSequenceItem.js +62 -5
  46. package/dist/components/Timeline/TimelineSequencePropItem.js +1 -1
  47. package/dist/components/Timeline/TimelineSequenceRightEdgeDragHandle.js +6 -4
  48. package/dist/components/Timeline/find-track-for-node-path-info.js +2 -2
  49. package/dist/components/Timeline/get-node-keyframes.d.ts +7 -0
  50. package/dist/components/Timeline/get-node-keyframes.js +26 -1
  51. package/dist/components/Timeline/reset-selected-timeline-props.js +15 -2
  52. package/dist/components/Timeline/timeline-expanded-filter.d.ts +12 -0
  53. package/dist/components/Timeline/timeline-expanded-filter.js +38 -0
  54. package/dist/components/Timeline/timeline-field-display-utils.js +3 -0
  55. package/dist/components/Timeline/use-expanded-track-keyframe-rows.js +50 -18
  56. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +1 -0
  57. package/dist/components/Timeline/use-timeline-expanded-tree.js +27 -0
  58. package/dist/components/Timeline/use-timeline-height.js +51 -7
  59. package/dist/components/Timeline/use-timeline-keyframe-drag.js +12 -6
  60. package/dist/components/TopPanel.js +1 -1
  61. package/dist/components/composition-menu-items.js +17 -0
  62. package/dist/components/selected-outline-measurement.js +48 -14
  63. package/dist/error-overlay/remotion-overlay/ErrorLoader.js +8 -1
  64. package/dist/esm/{chunk-fge2mq5p.js → chunk-nkqfa5bw.js} +17611 -16502
  65. package/dist/esm/internals.mjs +17611 -16502
  66. package/dist/esm/previewEntry.mjs +5179 -4068
  67. package/dist/esm/renderEntry.mjs +1 -1
  68. package/dist/helpers/calculate-timeline.js +6 -2
  69. package/dist/helpers/get-sequence-visible-range.d.ts +1 -0
  70. package/dist/helpers/get-sequence-visible-range.js +15 -1
  71. package/dist/helpers/migrate-expanded-tracks-for-subscription-key.js +3 -3
  72. package/dist/state/modals.d.ts +2 -0
  73. package/package.json +11 -11
  74. package/dist/components/Timeline/TimelineItemStack.d.ts +0 -5
  75. package/dist/components/Timeline/TimelineItemStack.js +0 -29
@@ -209,7 +209,7 @@ var renderContent = (Root) => {
209
209
  renderToDOM(/* @__PURE__ */ jsx("div", {
210
210
  children: /* @__PURE__ */ jsx(DelayedSpinner, {})
211
211
  }));
212
- import("./chunk-fge2mq5p.js").then(({ StudioInternals }) => {
212
+ import("./chunk-nkqfa5bw.js").then(({ StudioInternals }) => {
213
213
  window.remotion_isStudio = true;
214
214
  window.remotion_isReadOnlyStudio = true;
215
215
  window.remotion_inputProps = "{}";
@@ -42,6 +42,10 @@ const calculateTimeline = ({ sequences, overrideIdsToNodePaths, }) => {
42
42
  }
43
43
  sameHashes[actualHash].push(sequence.id);
44
44
  const cascadedStart = (0, get_sequence_visible_range_1.getCascadedStart)(sequence, sortedSequences);
45
+ const cascadedStartWithTrim = (0, get_sequence_visible_range_1.getCascadedStartWithTrim)(sequence, sortedSequences);
46
+ const effectiveFrom = sequence.trimBefore === null
47
+ ? sequence.from
48
+ : sequence.from - sequence.trimBefore;
45
49
  const visibleStart = (0, get_sequence_visible_range_1.getTimelineVisibleStart)(sequence, sortedSequences);
46
50
  const visibleDuration = (0, get_sequence_visible_range_1.getTimelineVisibleDuration)(sequence, sortedSequences);
47
51
  const overrideId = (_c = (_a = sequence.controls) === null || _a === void 0 ? void 0 : _a.overrideId) !== null && _c !== void 0 ? _c : null;
@@ -61,9 +65,9 @@ const calculateTimeline = ({ sequences, overrideIdsToNodePaths, }) => {
61
65
  cascadedStart,
62
66
  cascadedDuration: sequence.duration,
63
67
  keyframeDisplayOffset: hasKeyframeRows
64
- ? cascadedStart - sequence.from
68
+ ? cascadedStartWithTrim - effectiveFrom
65
69
  : 0,
66
- sequenceFrameOffset: visibleStart - cascadedStart,
70
+ sequenceFrameOffset: visibleStart - cascadedStartWithTrim,
67
71
  nodePathInfo: nodePath
68
72
  ? {
69
73
  sequenceSubscriptionKey: nodePath,
@@ -1,4 +1,5 @@
1
1
  import type { TSequence } from 'remotion';
2
2
  export declare const getCascadedStart: (sequence: TSequence, sequences: TSequence[]) => number;
3
+ export declare const getCascadedStartWithTrim: (sequence: TSequence, sequences: TSequence[]) => number;
3
4
  export declare const getTimelineVisibleStart: (sequence: TSequence, sequences: TSequence[]) => number;
4
5
  export declare const getTimelineVisibleDuration: (sequence: TSequence, sequences: TSequence[]) => number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTimelineVisibleDuration = exports.getTimelineVisibleStart = exports.getCascadedStart = void 0;
3
+ exports.getTimelineVisibleDuration = exports.getTimelineVisibleStart = exports.getCascadedStartWithTrim = exports.getCascadedStart = void 0;
4
4
  const getCascadedStart = (sequence, sequences) => {
5
5
  if (!sequence.parent) {
6
6
  return sequence.from;
@@ -12,6 +12,20 @@ const getCascadedStart = (sequence, sequences) => {
12
12
  return (0, exports.getCascadedStart)(parent, sequences) + sequence.from;
13
13
  };
14
14
  exports.getCascadedStart = getCascadedStart;
15
+ const getCascadedStartWithTrim = (sequence, sequences) => {
16
+ const effectiveFrom = sequence.trimBefore === null
17
+ ? sequence.from
18
+ : sequence.from - sequence.trimBefore;
19
+ if (!sequence.parent) {
20
+ return effectiveFrom;
21
+ }
22
+ const parent = sequences.find((s) => s.id === sequence.parent);
23
+ if (!parent) {
24
+ throw new TypeError('Parent not found for sequence ' + sequence.id);
25
+ }
26
+ return (0, exports.getCascadedStartWithTrim)(parent, sequences) + effectiveFrom;
27
+ };
28
+ exports.getCascadedStartWithTrim = getCascadedStartWithTrim;
15
29
  const getTimelineVisibleStart = (sequence, sequences) => {
16
30
  const cascadedStart = Math.max(0, (0, exports.getCascadedStart)(sequence, sequences));
17
31
  if (!sequence.parent) {
@@ -11,12 +11,12 @@ const migrateExpandedTracksForSubscriptionKey = (prev, oldKey, newKey) => {
11
11
  let changed = false;
12
12
  const next = { ...prev };
13
13
  for (const [key, value] of Object.entries(prev)) {
14
- if (!value || !key.startsWith(oldPrefix + '.')) {
14
+ if (value !== false || !key.startsWith(oldPrefix + '.')) {
15
15
  continue;
16
16
  }
17
17
  const migratedKey = newPrefix + key.slice(oldPrefix.length);
18
- if (!next[migratedKey]) {
19
- next[migratedKey] = true;
18
+ if (next[migratedKey] === undefined) {
19
+ next[migratedKey] = false;
20
20
  }
21
21
  delete next[key];
22
22
  changed = true;
@@ -104,6 +104,8 @@ export type AddEffectModalState = {
104
104
  clientId: string;
105
105
  };
106
106
  export type ModalState = {
107
+ type: 'new-comp';
108
+ } | {
107
109
  type: 'duplicate-comp';
108
110
  compositionId: string;
109
111
  compositionType: CompType;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
4
4
  },
5
5
  "name": "@remotion/studio",
6
- "version": "4.0.479",
6
+ "version": "4.0.482",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -25,15 +25,15 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.479",
29
- "@remotion/canvas-capture": "4.0.479",
30
- "@remotion/player": "4.0.479",
31
- "@remotion/media-utils": "4.0.479",
32
- "@remotion/renderer": "4.0.479",
33
- "@remotion/web-renderer": "4.0.479",
34
- "@remotion/studio-shared": "4.0.479",
35
- "@remotion/timeline-utils": "4.0.479",
36
- "@remotion/zod-types": "4.0.479",
28
+ "remotion": "4.0.482",
29
+ "@remotion/canvas-capture": "4.0.482",
30
+ "@remotion/player": "4.0.482",
31
+ "@remotion/media-utils": "4.0.482",
32
+ "@remotion/renderer": "4.0.482",
33
+ "@remotion/web-renderer": "4.0.482",
34
+ "@remotion/studio-shared": "4.0.482",
35
+ "@remotion/timeline-utils": "4.0.482",
36
+ "@remotion/zod-types": "4.0.482",
37
37
  "@jridgewell/trace-mapping": "0.3.31",
38
38
  "mediabunny": "1.47.0",
39
39
  "memfs": "3.4.3",
@@ -44,7 +44,7 @@
44
44
  "react": "19.2.3",
45
45
  "react-dom": "19.2.3",
46
46
  "@types/semver": "7.5.3",
47
- "@remotion/eslint-config-internal": "4.0.479",
47
+ "@remotion/eslint-config-internal": "4.0.482",
48
48
  "eslint": "9.19.0",
49
49
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
50
50
  },
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import type { OriginalPosition } from '../../error-overlay/react-overlay/utils/get-source-map';
3
- export declare const TimelineItemStack: React.FC<{
4
- readonly originalLocation: OriginalPosition | null;
5
- }>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimelineItemStack = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const colors_1 = require("../../helpers/colors");
7
- const source_attribution_1 = require("./TimelineStack/source-attribution");
8
- const TimelineItemStack = ({ originalLocation }) => {
9
- const style = (0, react_1.useMemo)(() => {
10
- return {
11
- fontSize: 12,
12
- color: colors_1.VERY_LIGHT_TEXT,
13
- display: 'flex',
14
- flexDirection: 'row',
15
- alignItems: 'center',
16
- whiteSpace: 'nowrap',
17
- textOverflow: 'ellipsis',
18
- overflow: 'hidden',
19
- flexShrink: 100000,
20
- userSelect: 'none',
21
- WebkitUserSelect: 'none',
22
- };
23
- }, []);
24
- if (!originalLocation) {
25
- return null;
26
- }
27
- return (jsx_runtime_1.jsx("div", { style: style, children: (0, source_attribution_1.getOriginalSourceAttribution)(originalLocation) }));
28
- };
29
- exports.TimelineItemStack = TimelineItemStack;