remotion 4.0.465 → 4.0.466

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.
@@ -60,6 +60,7 @@ export type TSequence = {
60
60
  duration: number;
61
61
  id: string;
62
62
  displayName: string;
63
+ documentationLink: string | null;
63
64
  parent: string | null;
64
65
  rootId: string;
65
66
  showInTimeline: boolean;
@@ -235,7 +235,9 @@ const HtmlInCanvasInner = (0, react_1.forwardRef)(({ width, height, effects = []
235
235
  const { durationInFrames: videoDuration } = (0, use_video_config_js_1.useVideoConfig)();
236
236
  const resolvedDuration = durationInFrames !== null && durationInFrames !== void 0 ? durationInFrames : videoDuration;
237
237
  const memoizedEffectDefinitions = (0, use_memoized_effects_js_1.useMemoizedEffectDefinitions)(effects);
238
- return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: resolvedDuration, name: name !== null && name !== void 0 ? name : '<HtmlInCanvas>', _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, layout: "none", ...sequenceProps, children: (0, jsx_runtime_1.jsx)(HtmlInCanvasContent, { ref: ref, width: width, height: height, effects: effects, onPaint: onPaint, onInit: onInit, controls: controls, style: style, children: children }) }));
238
+ return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: resolvedDuration, name: name !== null && name !== void 0 ? name : '<HtmlInCanvas>', _remotionInternalDocumentationLink: name === undefined
239
+ ? 'https://www.remotion.dev/docs/remotion/html-in-canvas'
240
+ : undefined, _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, layout: "none", ...sequenceProps, children: (0, jsx_runtime_1.jsx)(HtmlInCanvasContent, { ref: ref, width: width, height: height, effects: effects, onPaint: onPaint, onInit: onInit, controls: controls, style: style, children: children }) }));
239
241
  });
240
242
  HtmlInCanvasInner.displayName = 'HtmlInCanvas';
241
243
  const htmlInCanvasSchema = {
package/dist/cjs/Img.js CHANGED
@@ -185,7 +185,7 @@ const ImgInner = ({ hidden, name, stack, showInTimeline, src, from, durationInFr
185
185
  if (!src) {
186
186
  throw new Error('No "src" prop was passed to <Img>.');
187
187
  }
188
- return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", from: from !== null && from !== void 0 ? from : 0, durationInFrames: durationInFrames !== null && durationInFrames !== void 0 ? durationInFrames : Infinity, _remotionInternalStack: stack, _remotionInternalIsMedia: { type: 'image', src }, name: name !== null && name !== void 0 ? name : '<Img>', _experimentalControls: controls, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, hidden: hidden, children: (0, jsx_runtime_1.jsx)(ImgContent, { src: src, ...props }) }));
188
+ return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", from: from !== null && from !== void 0 ? from : 0, durationInFrames: durationInFrames !== null && durationInFrames !== void 0 ? durationInFrames : Infinity, _remotionInternalStack: stack, _remotionInternalDocumentationLink: name === undefined ? 'https://www.remotion.dev/docs/img' : undefined, _remotionInternalIsMedia: { type: 'image', src }, name: name !== null && name !== void 0 ? name : '<Img>', _experimentalControls: controls, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, hidden: hidden, children: (0, jsx_runtime_1.jsx)(ImgContent, { src: src, ...props }) }));
189
189
  };
190
190
  const imgSchema = {
191
191
  ...sequence_field_schema_js_1.sequenceVisualStyleSchema,
@@ -40,6 +40,10 @@ export type SequencePropsWithoutDuration = {
40
40
  * @deprecated For internal use only.
41
41
  */
42
42
  readonly _remotionInternalStack?: string;
43
+ /**
44
+ * @deprecated For internal use only.
45
+ */
46
+ readonly _remotionInternalDocumentationLink?: string;
43
47
  /**
44
48
  * @deprecated For internal use only.
45
49
  */
@@ -18,7 +18,7 @@ const use_remotion_environment_js_1 = require("./use-remotion-environment.js");
18
18
  const use_video_config_js_1 = require("./use-video-config.js");
19
19
  const v5_flag_js_1 = require("./v5-flag.js");
20
20
  const wrap_in_schema_js_1 = require("./wrap-in-schema.js");
21
- const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Infinity, children, name, height, width, showInTimeline = true, hidden = false, _experimentalControls: controls, _remotionInternalEffects, _remotionInternalLoopDisplay: loopDisplay, _remotionInternalStack: stack, _remotionInternalPremountDisplay: premountDisplay, _remotionInternalPostmountDisplay: postmountDisplay, _remotionInternalIsMedia: isMedia, ...other }, ref) => {
21
+ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Infinity, children, name, height, width, showInTimeline = true, hidden = false, _experimentalControls: controls, _remotionInternalEffects, _remotionInternalLoopDisplay: loopDisplay, _remotionInternalStack: stack, _remotionInternalDocumentationLink: documentationLink, _remotionInternalPremountDisplay: premountDisplay, _remotionInternalPostmountDisplay: postmountDisplay, _remotionInternalIsMedia: isMedia, ...other }, ref) => {
22
22
  var _a;
23
23
  const { layout = 'absolute-fill' } = other;
24
24
  const [id] = (0, react_1.useState)(() => String(Math.random()));
@@ -97,6 +97,7 @@ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Inf
97
97
  const timelineClipName = (0, react_1.useMemo)(() => {
98
98
  return name !== null && name !== void 0 ? name : '';
99
99
  }, [name]);
100
+ const resolvedDocumentationLink = documentationLink !== null && documentationLink !== void 0 ? documentationLink : (name === undefined ? 'https://www.remotion.dev/docs/sequence' : null);
100
101
  const env = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
101
102
  const inheritedStack = (_a = other === null || other === void 0 ? void 0 : other.stack) !== null && _a !== void 0 ? _a : null;
102
103
  // Our assumption: Stack doesnt' change. After we symbolicate we assign it a nodePath
@@ -115,6 +116,7 @@ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Inf
115
116
  controls: controls !== null && controls !== void 0 ? controls : null,
116
117
  effects: _remotionInternalEffects !== null && _remotionInternalEffects !== void 0 ? _remotionInternalEffects : [],
117
118
  displayName: timelineClipName,
119
+ documentationLink: resolvedDocumentationLink,
118
120
  duration: actualDurationInFrames,
119
121
  from,
120
122
  id,
@@ -135,6 +137,7 @@ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Inf
135
137
  controls: controls !== null && controls !== void 0 ? controls : null,
136
138
  effects: _remotionInternalEffects !== null && _remotionInternalEffects !== void 0 ? _remotionInternalEffects : [],
137
139
  displayName: timelineClipName,
140
+ documentationLink: resolvedDocumentationLink,
138
141
  doesVolumeChange: isMedia.data.doesVolumeChange,
139
142
  duration: actualDurationInFrames,
140
143
  from,
@@ -162,6 +165,7 @@ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Inf
162
165
  duration: actualDurationInFrames,
163
166
  id,
164
167
  displayName: timelineClipName,
168
+ documentationLink: resolvedDocumentationLink,
165
169
  parent: (_c = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id) !== null && _c !== void 0 ? _c : null,
166
170
  type: 'sequence',
167
171
  rootId,
@@ -197,6 +201,7 @@ const RegularSequenceRefForwardingFunction = ({ from = 0, durationInFrames = Inf
197
201
  controls,
198
202
  _remotionInternalEffects,
199
203
  isMedia,
204
+ resolvedDocumentationLink,
200
205
  ]);
201
206
  // Ceil to support floats
202
207
  // https://github.com/remotion-dev/remotion/issues/2958
@@ -158,7 +158,7 @@ const AnimatedImageInner = ({ src, width, height, onError, fit, playbackRate, lo
158
158
  className,
159
159
  style,
160
160
  };
161
- return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", durationInFrames: resolvedDuration, name: "<AnimatedImage>", _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, ...sequenceProps, children: (0, jsx_runtime_1.jsx)(AnimatedImageContent, { ...animatedImageProps, ref: ref, effects: effects, controls: controls }) }));
161
+ return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", durationInFrames: resolvedDuration, name: "<AnimatedImage>", _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/animatedimage", _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, ...sequenceProps, children: (0, jsx_runtime_1.jsx)(AnimatedImageContent, { ...animatedImageProps, ref: ref, effects: effects, controls: controls }) }));
162
162
  };
163
163
  exports.AnimatedImage = (0, wrap_in_schema_js_1.wrapInSchema)(AnimatedImageInner, animatedImageSchema);
164
164
  exports.AnimatedImage.displayName = 'AnimatedImage';
@@ -134,6 +134,7 @@ const AudioForDevelopmentForwardRefFunction = (props, ref) => {
134
134
  premountDisplay: (_a = sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.premountDisplay) !== null && _a !== void 0 ? _a : null,
135
135
  postmountDisplay: (_b = sequenceContext === null || sequenceContext === void 0 ? void 0 : sequenceContext.postmountDisplay) !== null && _b !== void 0 ? _b : null,
136
136
  loopDisplay: undefined,
137
+ documentationLink: name === undefined ? 'https://www.remotion.dev/docs/html5-audio' : null,
137
138
  });
138
139
  // putting playback before useVolume
139
140
  // because volume looks at playbackrate
@@ -118,7 +118,7 @@ const SolidOuter = (0, react_1.forwardRef)(({ effects = [], _experimentalControl
118
118
  var _a;
119
119
  props;
120
120
  const memoizedEffectDefinitions = (0, use_memoized_effects_js_1.useMemoizedEffectDefinitions)(effects);
121
- return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", from: from, hidden: hidden, showInTimeline: showInTimeline, _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, durationInFrames: durationInFrames, name: name !== null && name !== void 0 ? name : '<Solid>', ...props, children: (0, jsx_runtime_1.jsx)(SolidInner, { ref: ref, overrideId: (_a = controls === null || controls === void 0 ? void 0 : controls.overrideId) !== null && _a !== void 0 ? _a : null, color: color, height: height, width: width, className: className, style: style, effects: effects }) }));
121
+ return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", from: from, hidden: hidden, showInTimeline: showInTimeline, _experimentalControls: controls, _remotionInternalEffects: memoizedEffectDefinitions, durationInFrames: durationInFrames, name: name !== null && name !== void 0 ? name : '<Solid>', _remotionInternalDocumentationLink: name === undefined ? 'https://www.remotion.dev/docs/solid' : undefined, ...props, children: (0, jsx_runtime_1.jsx)(SolidInner, { ref: ref, overrideId: (_a = controls === null || controls === void 0 ? void 0 : controls.overrideId) !== null && _a !== void 0 ? _a : null, color: color, height: height, width: width, className: className, style: style, effects: effects }) }));
122
122
  });
123
123
  exports.Solid = (0, wrap_in_schema_js_1.wrapInSchema)(SolidOuter, solidSchema);
124
124
  exports.Solid.displayName = 'Solid';
@@ -21,12 +21,14 @@ exports.disabledEffectField = {
21
21
  // erasure the descriptor would be contravariant in `P` (via `apply`'s
22
22
  // argument) and concrete descriptors could not flow into `unknown` slots.
23
23
  const createEffect = (definition) => {
24
+ var _a;
24
25
  // Wrap `calculateKey` to fold the framework-level `disabled` flag into the
25
26
  // memoization key. Without this, toggling `disabled` via code/drag overrides
26
27
  // would not invalidate the cached `EffectDefinitionAndStack`.
27
28
  const { calculateKey: userCalculateKey, validateParams } = definition;
28
29
  const widened = {
29
30
  ...definition,
31
+ documentationLink: (_a = definition.documentationLink) !== null && _a !== void 0 ? _a : null,
30
32
  calculateKey: (params) => {
31
33
  var _a;
32
34
  const disabled = (_a = params.disabled) !== null && _a !== void 0 ? _a : false;
@@ -19,6 +19,7 @@ export type EffectApplyParams<P, S> = {
19
19
  export type EffectDefinition<P, S = unknown> = {
20
20
  readonly type: string;
21
21
  readonly label: string;
22
+ readonly documentationLink: string | null;
22
23
  readonly backend: Backend;
23
24
  /**
24
25
  * Stable string for comparing effect instances: two descriptors with the same
@@ -269,7 +269,7 @@ export declare const Internals: {
269
269
  readonly getRoot: () => import("react").FC<{}> | null;
270
270
  readonly useMediaVolumeState: () => readonly [number, (u: number) => void];
271
271
  readonly useMediaMutedState: () => readonly [boolean, (u: React.SetStateAction<boolean>) => void];
272
- readonly useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, }: {
272
+ readonly useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, documentationLink, }: {
273
273
  volume: import("./volume-prop.js").VolumeProp | undefined;
274
274
  mediaVolume: number;
275
275
  src: string | undefined;
@@ -282,6 +282,7 @@ export declare const Internals: {
282
282
  premountDisplay: number | null;
283
283
  postmountDisplay: number | null;
284
284
  loopDisplay: import("./CompositionManager.js").LoopDisplay | undefined;
285
+ documentationLink: string | null;
285
286
  }) => void;
286
287
  readonly useLazyComponent: <Props>({ compProps, componentName, noSuspense, }: {
287
288
  compProps: CompProps<Props>;
@@ -84,7 +84,7 @@ const Loop = ({ durationInFrames, times = Infinity, children, name, showInTimeli
84
84
  durationInFrames,
85
85
  };
86
86
  }, [currentFrame, durationInFrames]);
87
- return ((0, jsx_runtime_1.jsx)(LoopContext.Provider, { value: loopContext, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: durationInFrames, from: from, name: name !== null && name !== void 0 ? name : '<Loop>', _remotionInternalLoopDisplay: loopDisplay, layout: props.layout, style: style, showInTimeline: showInTimeline, children: children }) }));
87
+ return ((0, jsx_runtime_1.jsx)(LoopContext.Provider, { value: loopContext, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { durationInFrames: durationInFrames, from: from, name: name !== null && name !== void 0 ? name : '<Loop>', _remotionInternalDocumentationLink: name === undefined ? 'https://www.remotion.dev/docs/loop' : undefined, _remotionInternalLoopDisplay: loopDisplay, layout: props.layout, style: style, showInTimeline: showInTimeline, children: children }) }));
88
88
  };
89
89
  exports.Loop = Loop;
90
90
  exports.Loop.useLoop = useLoop;
@@ -55,10 +55,10 @@ const SeriesInner = (props) => {
55
55
  }
56
56
  const currentStartFrame = startFrame + offset;
57
57
  startFrame += durationInFramesProp + offset;
58
- return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { name: name || '<Series.Sequence>', from: currentStartFrame, durationInFrames: durationInFramesProp, ...passedProps, ref: castedChild.ref, children: child }));
58
+ return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { name: name || '<Series.Sequence>', _remotionInternalDocumentationLink: name ? undefined : 'https://www.remotion.dev/docs/series', from: currentStartFrame, durationInFrames: durationInFramesProp, ...passedProps, ref: castedChild.ref, children: child }));
59
59
  });
60
60
  }, [props.children]);
61
- return ((0, jsx_runtime_1.jsx)(is_inside_series_js_1.IsInsideSeriesContainer, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", name: "<Series>", ...props, children: childrenValue }) }));
61
+ return ((0, jsx_runtime_1.jsx)(is_inside_series_js_1.IsInsideSeriesContainer, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { layout: "none", name: "<Series>", _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/series", ...props, children: childrenValue }) }));
62
62
  };
63
63
  /**
64
64
  * @description with this component, you can easily stitch together scenes that should play sequentially after another.
@@ -24,7 +24,7 @@ export declare const useBasicMediaInTimeline: ({ volume, mediaVolume, mediaType,
24
24
  playbackRate: number;
25
25
  };
26
26
  export type BasicMediaInTimelineReturnType = ReturnType<typeof useBasicMediaInTimeline>;
27
- export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, }: {
27
+ export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, documentationLink, }: {
28
28
  volume: VolumeProp | undefined;
29
29
  mediaVolume: number;
30
30
  src: string | undefined;
@@ -37,4 +37,5 @@ export declare const useMediaInTimeline: ({ volume, mediaVolume, src, mediaType,
37
37
  premountDisplay: number | null;
38
38
  postmountDisplay: number | null;
39
39
  loopDisplay: LoopDisplay | undefined;
40
+ documentationLink: string | null;
40
41
  }) => void;
@@ -86,7 +86,7 @@ const useBasicMediaInTimeline = ({ volume, mediaVolume, mediaType, src, displayN
86
86
  return memoizedResult;
87
87
  };
88
88
  exports.useBasicMediaInTimeline = useBasicMediaInTimeline;
89
- const useMediaInTimeline = ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, }) => {
89
+ const useMediaInTimeline = ({ volume, mediaVolume, src, mediaType, playbackRate, displayName, id, getStack, showInTimeline, premountDisplay, postmountDisplay, loopDisplay, documentationLink, }) => {
90
90
  const parentSequence = (0, react_1.useContext)(SequenceContext_js_1.SequenceContext);
91
91
  const startsAt = (0, use_audio_frame_js_1.useMediaStartsAt)();
92
92
  const { registerSequence, unregisterSequence } = (0, react_1.useContext)(SequenceManager_js_1.SequenceManager);
@@ -125,6 +125,7 @@ const useMediaInTimeline = ({ volume, mediaVolume, src, mediaType, playbackRate,
125
125
  from: 0,
126
126
  parent: (_c = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.id) !== null && _c !== void 0 ? _c : null,
127
127
  displayName: finalDisplayName,
128
+ documentationLink,
128
129
  rootId,
129
130
  volume: volumes,
130
131
  showInTimeline: true,
@@ -160,6 +161,7 @@ const useMediaInTimeline = ({ volume, mediaVolume, src, mediaType, playbackRate,
160
161
  premountDisplay,
161
162
  postmountDisplay,
162
163
  loopDisplay,
164
+ documentationLink,
163
165
  rootId,
164
166
  finalDisplayName,
165
167
  isStudio,
@@ -4,9 +4,14 @@ export type CanUpdateSequencePropStatusTrue = {
4
4
  canUpdate: true;
5
5
  codeValue: unknown;
6
6
  };
7
+ export type CanUpdateSequencePropStatusKeyframe = {
8
+ frame: number;
9
+ value: unknown;
10
+ };
7
11
  export type CanUpdateSequencePropStatusFalse = {
8
12
  canUpdate: false;
9
13
  reason: 'computed';
14
+ keyframes?: CanUpdateSequencePropStatusKeyframe[];
10
15
  };
11
16
  export type CanUpdateSequencePropStatus = CanUpdateSequencePropStatusTrue | CanUpdateSequencePropStatusFalse;
12
17
  export type DragOverrides = Record<string, Record<string, unknown>>;
@@ -3,4 +3,4 @@
3
3
  * @see [Documentation](https://remotion.dev/docs/version)
4
4
  * @returns {string} The current version of the remotion package
5
5
  */
6
- export declare const VERSION = "4.0.465";
6
+ export declare const VERSION = "4.0.466";
@@ -7,4 +7,4 @@ exports.VERSION = void 0;
7
7
  * @see [Documentation](https://remotion.dev/docs/version)
8
8
  * @returns {string} The current version of the remotion package
9
9
  */
10
- exports.VERSION = '4.0.465';
10
+ exports.VERSION = '4.0.466';
@@ -131,6 +131,11 @@ const VideoForDevelopmentRefForwardingFunction = (props, ref) => {
131
131
  premountDisplay: (_c = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.premountDisplay) !== null && _c !== void 0 ? _c : null,
132
132
  postmountDisplay: (_d = parentSequence === null || parentSequence === void 0 ? void 0 : parentSequence.postmountDisplay) !== null && _d !== void 0 ? _d : null,
133
133
  loopDisplay: undefined,
134
+ documentationLink: name === undefined
135
+ ? onlyWarnForMediaSeekingError
136
+ ? 'https://www.remotion.dev/docs/offthreadvideo'
137
+ : 'https://www.remotion.dev/docs/html5-video'
138
+ : null,
134
139
  });
135
140
  // putting playback before useVolume
136
141
  // because volume looks at playbackrate
@@ -1288,7 +1288,7 @@ var addSequenceStackTraces = (component) => {
1288
1288
  };
1289
1289
 
1290
1290
  // src/version.ts
1291
- var VERSION = "4.0.465";
1291
+ var VERSION = "4.0.466";
1292
1292
 
1293
1293
  // src/multiple-versions-warning.ts
1294
1294
  var checkMultipleRemotionVersions = () => {
@@ -2429,6 +2429,7 @@ var RegularSequenceRefForwardingFunction = ({
2429
2429
  _remotionInternalEffects,
2430
2430
  _remotionInternalLoopDisplay: loopDisplay,
2431
2431
  _remotionInternalStack: stack,
2432
+ _remotionInternalDocumentationLink: documentationLink,
2432
2433
  _remotionInternalPremountDisplay: premountDisplay,
2433
2434
  _remotionInternalPostmountDisplay: postmountDisplay,
2434
2435
  _remotionInternalIsMedia: isMedia,
@@ -2499,6 +2500,7 @@ var RegularSequenceRefForwardingFunction = ({
2499
2500
  const timelineClipName = useMemo14(() => {
2500
2501
  return name ?? "";
2501
2502
  }, [name]);
2503
+ const resolvedDocumentationLink = documentationLink ?? (name === undefined ? "https://www.remotion.dev/docs/sequence" : null);
2502
2504
  const env = useRemotionEnvironment();
2503
2505
  const inheritedStack = other?.stack ?? null;
2504
2506
  const stackRef = useRef6(null);
@@ -2514,6 +2516,7 @@ var RegularSequenceRefForwardingFunction = ({
2514
2516
  controls: controls ?? null,
2515
2517
  effects: _remotionInternalEffects ?? [],
2516
2518
  displayName: timelineClipName,
2519
+ documentationLink: resolvedDocumentationLink,
2517
2520
  duration: actualDurationInFrames,
2518
2521
  from,
2519
2522
  id,
@@ -2533,6 +2536,7 @@ var RegularSequenceRefForwardingFunction = ({
2533
2536
  controls: controls ?? null,
2534
2537
  effects: _remotionInternalEffects ?? [],
2535
2538
  displayName: timelineClipName,
2539
+ documentationLink: resolvedDocumentationLink,
2536
2540
  doesVolumeChange: isMedia.data.doesVolumeChange,
2537
2541
  duration: actualDurationInFrames,
2538
2542
  from,
@@ -2560,6 +2564,7 @@ var RegularSequenceRefForwardingFunction = ({
2560
2564
  duration: actualDurationInFrames,
2561
2565
  id,
2562
2566
  displayName: timelineClipName,
2567
+ documentationLink: resolvedDocumentationLink,
2563
2568
  parent: parentSequence?.id ?? null,
2564
2569
  type: "sequence",
2565
2570
  rootId,
@@ -2594,7 +2599,8 @@ var RegularSequenceRefForwardingFunction = ({
2594
2599
  env.isStudio,
2595
2600
  controls,
2596
2601
  _remotionInternalEffects,
2597
- isMedia
2602
+ isMedia,
2603
+ resolvedDocumentationLink
2598
2604
  ]);
2599
2605
  const endThreshold = Math.ceil(cumulatedFrom + from + durationInFrames - 1);
2600
2606
  const content = absoluteFrame < cumulatedFrom + from ? null : absoluteFrame > endThreshold ? null : children;
@@ -3416,6 +3422,7 @@ var AnimatedImageInner = ({
3416
3422
  layout: "none",
3417
3423
  durationInFrames: resolvedDuration,
3418
3424
  name: "<AnimatedImage>",
3425
+ _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/animatedimage",
3419
3426
  _experimentalControls: controls,
3420
3427
  _remotionInternalEffects: memoizedEffectDefinitions,
3421
3428
  ...sequenceProps,
@@ -3578,6 +3585,7 @@ var SolidOuter = forwardRef5(({
3578
3585
  _remotionInternalEffects: memoizedEffectDefinitions,
3579
3586
  durationInFrames,
3580
3587
  name: name ?? "<Solid>",
3588
+ _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/solid" : undefined,
3581
3589
  ...props,
3582
3590
  children: /* @__PURE__ */ jsx14(SolidInner, {
3583
3591
  ref,
@@ -3829,6 +3837,7 @@ var HtmlInCanvasInner = forwardRef6(({
3829
3837
  return /* @__PURE__ */ jsx15(Sequence, {
3830
3838
  durationInFrames: resolvedDuration,
3831
3839
  name: name ?? "<HtmlInCanvas>",
3840
+ _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/remotion/html-in-canvas" : undefined,
3832
3841
  _experimentalControls: controls,
3833
3842
  _remotionInternalEffects: memoizedEffectDefinitions,
3834
3843
  layout: "none",
@@ -4107,6 +4116,7 @@ var Loop = ({
4107
4116
  durationInFrames,
4108
4117
  from,
4109
4118
  name: name ?? "<Loop>",
4119
+ _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/loop" : undefined,
4110
4120
  _remotionInternalLoopDisplay: loopDisplay,
4111
4121
  layout: props.layout,
4112
4122
  style,
@@ -5474,7 +5484,8 @@ var useMediaInTimeline = ({
5474
5484
  showInTimeline,
5475
5485
  premountDisplay,
5476
5486
  postmountDisplay,
5477
- loopDisplay
5487
+ loopDisplay,
5488
+ documentationLink
5478
5489
  }) => {
5479
5490
  const parentSequence = useContext24(SequenceContext);
5480
5491
  const startsAt = useMediaStartsAt();
@@ -5513,6 +5524,7 @@ var useMediaInTimeline = ({
5513
5524
  from: 0,
5514
5525
  parent: parentSequence?.id ?? null,
5515
5526
  displayName: finalDisplayName,
5527
+ documentationLink,
5516
5528
  rootId,
5517
5529
  volume: volumes,
5518
5530
  showInTimeline: true,
@@ -5548,6 +5560,7 @@ var useMediaInTimeline = ({
5548
5560
  premountDisplay,
5549
5561
  postmountDisplay,
5550
5562
  loopDisplay,
5563
+ documentationLink,
5551
5564
  rootId,
5552
5565
  finalDisplayName,
5553
5566
  isStudio
@@ -6692,7 +6705,8 @@ var AudioForDevelopmentForwardRefFunction = (props, ref) => {
6692
6705
  showInTimeline,
6693
6706
  premountDisplay: sequenceContext?.premountDisplay ?? null,
6694
6707
  postmountDisplay: sequenceContext?.postmountDisplay ?? null,
6695
- loopDisplay: undefined
6708
+ loopDisplay: undefined,
6709
+ documentationLink: name === undefined ? "https://www.remotion.dev/docs/html5-audio" : null
6696
6710
  });
6697
6711
  useMediaPlayback({
6698
6712
  mediaRef: audioRef,
@@ -7462,6 +7476,7 @@ var ImgInner = ({
7462
7476
  from: from ?? 0,
7463
7477
  durationInFrames: durationInFrames ?? Infinity,
7464
7478
  _remotionInternalStack: stack,
7479
+ _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/img" : undefined,
7465
7480
  _remotionInternalIsMedia: { type: "image", src },
7466
7481
  name: name ?? "<Img>",
7467
7482
  _experimentalControls: controls,
@@ -7651,6 +7666,7 @@ var createEffect = (definition) => {
7651
7666
  const { calculateKey: userCalculateKey, validateParams } = definition;
7652
7667
  const widened = {
7653
7668
  ...definition,
7669
+ documentationLink: definition.documentationLink ?? null,
7654
7670
  calculateKey: (params) => {
7655
7671
  const disabled = params.disabled ?? false;
7656
7672
  return `${userCalculateKey(params)}-disabled-${disabled}`;
@@ -8439,7 +8455,8 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
8439
8455
  showInTimeline,
8440
8456
  premountDisplay: parentSequence?.premountDisplay ?? null,
8441
8457
  postmountDisplay: parentSequence?.postmountDisplay ?? null,
8442
- loopDisplay: undefined
8458
+ loopDisplay: undefined,
8459
+ documentationLink: name === undefined ? onlyWarnForMediaSeekingError ? "https://www.remotion.dev/docs/offthreadvideo" : "https://www.remotion.dev/docs/html5-video" : null
8443
8460
  });
8444
8461
  useMediaPlayback({
8445
8462
  mediaRef: videoRef,
@@ -9608,6 +9625,7 @@ var SeriesInner = (props2) => {
9608
9625
  startFrame += durationInFramesProp + offset;
9609
9626
  return /* @__PURE__ */ jsx35(Sequence, {
9610
9627
  name: name || "<Series.Sequence>",
9628
+ _remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
9611
9629
  from: currentStartFrame,
9612
9630
  durationInFrames: durationInFramesProp,
9613
9631
  ...passedProps,
@@ -9620,6 +9638,7 @@ var SeriesInner = (props2) => {
9620
9638
  children: /* @__PURE__ */ jsx35(Sequence, {
9621
9639
  layout: "none",
9622
9640
  name: "<Series>",
9641
+ _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/series",
9623
9642
  ...props2,
9624
9643
  children: childrenValue
9625
9644
  })
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.465";
2
+ var VERSION = "4.0.466";
3
3
  export {
4
4
  VERSION
5
5
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core"
4
4
  },
5
5
  "name": "remotion",
6
- "version": "4.0.465",
6
+ "version": "4.0.466",
7
7
  "description": "Make videos programmatically",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "react-dom": "19.2.3",
36
36
  "webpack": "5.105.0",
37
37
  "zod": "4.3.6",
38
- "@remotion/eslint-config-internal": "4.0.465",
38
+ "@remotion/eslint-config-internal": "4.0.466",
39
39
  "eslint": "9.19.0",
40
40
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
41
41
  },