remotion 4.0.500 → 4.0.502

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 (49) hide show
  1. package/dist/cjs/AbsoluteFill.d.ts +237 -1
  2. package/dist/cjs/AbsoluteFill.js +40 -103
  3. package/dist/cjs/AbsoluteFillElement.d.ts +3 -0
  4. package/dist/cjs/AbsoluteFillElement.js +111 -0
  5. package/dist/cjs/Composition.js +2 -1
  6. package/dist/cjs/Folder.js +2 -1
  7. package/dist/cjs/HtmlInCanvas.d.ts +41 -0
  8. package/dist/cjs/HtmlInCanvas.js +1 -0
  9. package/dist/cjs/Img.d.ts +41 -8
  10. package/dist/cjs/Img.js +6 -5
  11. package/dist/cjs/Interactive.d.ts +93 -6
  12. package/dist/cjs/Interactive.js +5 -2
  13. package/dist/cjs/Sequence.js +9 -7
  14. package/dist/cjs/animated-image/AnimatedImage.d.ts +41 -0
  15. package/dist/cjs/animated-image/AnimatedImage.js +1 -0
  16. package/dist/cjs/audio/AudioForPreview.d.ts +0 -1
  17. package/dist/cjs/audio/AudioForPreview.js +1 -1
  18. package/dist/cjs/audio/html5-audio.d.ts +2 -2
  19. package/dist/cjs/audio/html5-audio.js +2 -2
  20. package/dist/cjs/canvas-image/CanvasImage.d.ts +42 -3
  21. package/dist/cjs/canvas-image/CanvasImage.js +3 -2
  22. package/dist/cjs/canvas-image/props.d.ts +1 -6
  23. package/dist/cjs/effects/Solid.d.ts +41 -0
  24. package/dist/cjs/effects/Solid.js +1 -0
  25. package/dist/cjs/enable-sequence-stack-traces.d.ts +4 -0
  26. package/dist/cjs/enable-sequence-stack-traces.js +16 -1
  27. package/dist/cjs/index.d.ts +2 -2
  28. package/dist/cjs/interactivity-schema.d.ts +181 -1
  29. package/dist/cjs/interactivity-schema.js +53 -1
  30. package/dist/cjs/internals.d.ts +84 -1
  31. package/dist/cjs/internals.js +2 -0
  32. package/dist/cjs/no-react.d.ts +41 -0
  33. package/dist/cjs/sequence-crop.d.ts +4 -3
  34. package/dist/cjs/sequence-crop.js +16 -2
  35. package/dist/cjs/series/index.js +4 -4
  36. package/dist/cjs/static-file.js +10 -0
  37. package/dist/cjs/truncate-src-for-label.js +5 -1
  38. package/dist/cjs/use-crop-style.js +1 -1
  39. package/dist/cjs/version.d.ts +1 -1
  40. package/dist/cjs/version.js +1 -1
  41. package/dist/cjs/video/OffthreadVideo.js +6 -6
  42. package/dist/cjs/video/html5-video.d.ts +2 -2
  43. package/dist/cjs/video/html5-video.js +5 -5
  44. package/dist/cjs/video/props.d.ts +1 -1
  45. package/dist/cjs/with-interactivity-schema.js +18 -10
  46. package/dist/esm/index.mjs +2598 -2435
  47. package/dist/esm/no-react.mjs +44 -0
  48. package/dist/esm/version.mjs +1 -1
  49. package/package.json +2 -2
@@ -14,7 +14,7 @@ const VideoForPreview_js_1 = require("./VideoForPreview.js");
14
14
  const InnerOffthreadVideo = (props) => {
15
15
  // Should only destruct `startFrom` and `endAt` from props,
16
16
  // rest gets drilled down
17
- const { startFrom, endAt, trimBefore, trimAfter, name, pauseWhenBuffering, stack, showInTimeline, ...otherProps } = props;
17
+ const { startFrom, endAt, trimBefore, trimAfter, name, pauseWhenBuffering, _remotionInternalStack, showInTimeline, ...otherProps } = props;
18
18
  const environment = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
19
19
  const shouldPauseWhenBuffering = (0, v5_flag_js_1.resolveV5Default)(pauseWhenBuffering);
20
20
  if (environment.isClientSideRendering) {
@@ -33,25 +33,25 @@ const InnerOffthreadVideo = (props) => {
33
33
  });
34
34
  if (typeof trimBeforeValue !== 'undefined' ||
35
35
  typeof trimAfterValue !== 'undefined') {
36
- return (jsx_runtime_1.jsx(Sequence_js_1.Sequence, { layout: "none", from: 0 - (trimBeforeValue !== null && trimBeforeValue !== void 0 ? trimBeforeValue : 0), showInTimeline: false, durationInFrames: trimAfterValue, name: name, children: jsx_runtime_1.jsx(exports.InnerOffthreadVideo, { pauseWhenBuffering: shouldPauseWhenBuffering, ...otherProps, trimAfter: undefined, name: undefined, showInTimeline: showInTimeline, trimBefore: undefined, stack: undefined, startFrom: undefined, endAt: undefined }) }));
36
+ return (jsx_runtime_1.jsx(Sequence_js_1.Sequence, { layout: "none", from: 0 - (trimBeforeValue !== null && trimBeforeValue !== void 0 ? trimBeforeValue : 0), showInTimeline: false, durationInFrames: trimAfterValue, name: name, children: jsx_runtime_1.jsx(exports.InnerOffthreadVideo, { pauseWhenBuffering: shouldPauseWhenBuffering, ...otherProps, trimAfter: undefined, name: undefined, showInTimeline: showInTimeline, trimBefore: undefined, _remotionInternalStack: undefined, startFrom: undefined, endAt: undefined }) }));
37
37
  }
38
38
  (0, validate_media_props_js_1.validateMediaProps)(props, 'Video');
39
39
  if (environment.isRendering) {
40
- return (jsx_runtime_1.jsx(OffthreadVideoForRendering_js_1.OffthreadVideoForRendering, { pauseWhenBuffering: shouldPauseWhenBuffering, ...otherProps, trimAfter: undefined, name: undefined, showInTimeline: showInTimeline, trimBefore: undefined, stack: undefined, startFrom: undefined, endAt: undefined }));
40
+ return (jsx_runtime_1.jsx(OffthreadVideoForRendering_js_1.OffthreadVideoForRendering, { pauseWhenBuffering: shouldPauseWhenBuffering, ...otherProps, trimAfter: undefined, name: undefined, showInTimeline: showInTimeline, trimBefore: undefined, _remotionInternalStack: undefined, startFrom: undefined, endAt: undefined }));
41
41
  }
42
42
  const { transparent, toneMapped, onAutoPlayError, onVideoFrame, crossOrigin, delayRenderRetries, delayRenderTimeoutInMilliseconds, ...propsForPreview } = otherProps;
43
- return (jsx_runtime_1.jsx(VideoForPreview_js_1.VideoForPreview, { _remotionInternalStack: stack !== null && stack !== void 0 ? stack : null, onDuration: onDuration, onlyWarnForMediaSeekingError: true, pauseWhenBuffering: shouldPauseWhenBuffering, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : undefined, onVideoFrame: onVideoFrame !== null && onVideoFrame !== void 0 ? onVideoFrame : null, crossOrigin: crossOrigin, ...propsForPreview, _remotionInternalNativeLoopPassed: false }));
43
+ return (jsx_runtime_1.jsx(VideoForPreview_js_1.VideoForPreview, { _remotionInternalStack: _remotionInternalStack !== null && _remotionInternalStack !== void 0 ? _remotionInternalStack : null, onDuration: onDuration, onlyWarnForMediaSeekingError: true, pauseWhenBuffering: shouldPauseWhenBuffering, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : undefined, onVideoFrame: onVideoFrame !== null && onVideoFrame !== void 0 ? onVideoFrame : null, crossOrigin: crossOrigin, ...propsForPreview, _remotionInternalNativeLoopPassed: false }));
44
44
  };
45
45
  exports.InnerOffthreadVideo = InnerOffthreadVideo;
46
46
  /*
47
47
  * @description This method imports and displays a video, similar to <Html5Video />. During rendering, it extracts the exact frame from the video and displays it in an <img> tag
48
48
  * @see [Documentation](https://www.remotion.dev/docs/offthreadvideo)
49
49
  */
50
- const OffthreadVideo = ({ src, acceptableTimeShiftInSeconds, allowAmplificationDuringRender, audioStreamIndex, crossOrigin, delayRenderRetries, delayRenderTimeoutInMilliseconds, loopVolumeCurveBehavior, muted, name, onAutoPlayError, onError, onVideoFrame, pauseWhenBuffering, playbackRate, preservePitch, showInTimeline, style, toneFrequency, toneMapped, transparent, trimAfter, trimBefore, useWebAudioApi, volume, _remotionInternalNativeLoopPassed, endAt, stack, startFrom, imageFormat, ...props }) => {
50
+ const OffthreadVideo = ({ src, acceptableTimeShiftInSeconds, allowAmplificationDuringRender, audioStreamIndex, crossOrigin, delayRenderRetries, delayRenderTimeoutInMilliseconds, loopVolumeCurveBehavior, muted, name, onAutoPlayError, onError, onVideoFrame, pauseWhenBuffering, playbackRate, preservePitch, showInTimeline, style, toneFrequency, toneMapped, transparent, trimAfter, trimBefore, useWebAudioApi, volume, _remotionInternalNativeLoopPassed, endAt, _remotionInternalStack, startFrom, imageFormat, ...props }) => {
51
51
  if (imageFormat) {
52
52
  throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
53
53
  }
54
- return (jsx_runtime_1.jsx(exports.InnerOffthreadVideo, { acceptableTimeShiftInSeconds: acceptableTimeShiftInSeconds, allowAmplificationDuringRender: allowAmplificationDuringRender !== null && allowAmplificationDuringRender !== void 0 ? allowAmplificationDuringRender : true, audioStreamIndex: audioStreamIndex !== null && audioStreamIndex !== void 0 ? audioStreamIndex : 0, crossOrigin: crossOrigin, delayRenderRetries: delayRenderRetries, delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds, loopVolumeCurveBehavior: loopVolumeCurveBehavior !== null && loopVolumeCurveBehavior !== void 0 ? loopVolumeCurveBehavior : 'repeat', muted: muted !== null && muted !== void 0 ? muted : false, name: name, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : null, onError: onError, onVideoFrame: onVideoFrame, pauseWhenBuffering: (0, v5_flag_js_1.resolveV5Default)(pauseWhenBuffering), playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1, preservePitch: preservePitch, toneFrequency: toneFrequency !== null && toneFrequency !== void 0 ? toneFrequency : 1, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, src: src, stack: stack, startFrom: startFrom, _remotionInternalNativeLoopPassed: _remotionInternalNativeLoopPassed !== null && _remotionInternalNativeLoopPassed !== void 0 ? _remotionInternalNativeLoopPassed : false, endAt: endAt, style: style, toneMapped: toneMapped !== null && toneMapped !== void 0 ? toneMapped : true, transparent: transparent !== null && transparent !== void 0 ? transparent : false, trimAfter: trimAfter, trimBefore: trimBefore, useWebAudioApi: useWebAudioApi !== null && useWebAudioApi !== void 0 ? useWebAudioApi : false, volume: volume, ...props }));
54
+ return (jsx_runtime_1.jsx(exports.InnerOffthreadVideo, { acceptableTimeShiftInSeconds: acceptableTimeShiftInSeconds, allowAmplificationDuringRender: allowAmplificationDuringRender !== null && allowAmplificationDuringRender !== void 0 ? allowAmplificationDuringRender : true, audioStreamIndex: audioStreamIndex !== null && audioStreamIndex !== void 0 ? audioStreamIndex : 0, crossOrigin: crossOrigin, delayRenderRetries: delayRenderRetries, delayRenderTimeoutInMilliseconds: delayRenderTimeoutInMilliseconds, loopVolumeCurveBehavior: loopVolumeCurveBehavior !== null && loopVolumeCurveBehavior !== void 0 ? loopVolumeCurveBehavior : 'repeat', muted: muted !== null && muted !== void 0 ? muted : false, name: name, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : null, onError: onError, onVideoFrame: onVideoFrame, pauseWhenBuffering: (0, v5_flag_js_1.resolveV5Default)(pauseWhenBuffering), playbackRate: playbackRate !== null && playbackRate !== void 0 ? playbackRate : 1, preservePitch: preservePitch, toneFrequency: toneFrequency !== null && toneFrequency !== void 0 ? toneFrequency : 1, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, src: src, _remotionInternalStack: _remotionInternalStack, startFrom: startFrom, _remotionInternalNativeLoopPassed: _remotionInternalNativeLoopPassed !== null && _remotionInternalNativeLoopPassed !== void 0 ? _remotionInternalNativeLoopPassed : false, endAt: endAt, style: style, toneMapped: toneMapped !== null && toneMapped !== void 0 ? toneMapped : true, transparent: transparent !== null && transparent !== void 0 ? transparent : false, trimAfter: trimAfter, trimBefore: trimBefore, useWebAudioApi: useWebAudioApi !== null && useWebAudioApi !== void 0 ? useWebAudioApi : false, volume: volume, ...props }));
55
55
  };
56
56
  exports.OffthreadVideo = OffthreadVideo;
57
57
  (0, enable_sequence_stack_traces_js_1.addSequenceStackTraces)(exports.OffthreadVideo);
@@ -25,7 +25,7 @@ export declare const Html5Video: React.ForwardRefExoticComponent<Omit<import("./
25
25
  /**
26
26
  * @deprecated For internal use only
27
27
  */
28
- readonly stack?: string | undefined;
28
+ readonly _remotionInternalStack?: string | undefined;
29
29
  }, "ref"> & React.RefAttributes<HTMLVideoElement>>;
30
30
  /**
31
31
  * @deprecated This component has been renamed to `Html5Video`.
@@ -53,5 +53,5 @@ export declare const Video: React.ForwardRefExoticComponent<Omit<import("./props
53
53
  /**
54
54
  * @deprecated For internal use only
55
55
  */
56
- readonly stack?: string | undefined;
56
+ readonly _remotionInternalStack?: string | undefined;
57
57
  }, "ref"> & React.RefAttributes<HTMLVideoElement>>;
@@ -20,7 +20,7 @@ const VideoForPreview_js_1 = require("./VideoForPreview.js");
20
20
  const VideoForRendering_js_1 = require("./VideoForRendering.js");
21
21
  const VideoForwardingFunction = (props, ref) => {
22
22
  var _a, _b, _c;
23
- const { startFrom, endAt, trimBefore, trimAfter, name, pauseWhenBuffering, stack, _remotionInternalNativeLoopPassed, showInTimeline, onAutoPlayError, onVideoFrame, ...otherProps } = props;
23
+ const { startFrom, endAt, trimBefore, trimAfter, name, pauseWhenBuffering, _remotionInternalStack, _remotionInternalNativeLoopPassed, showInTimeline, onAutoPlayError, onVideoFrame, ...otherProps } = props;
24
24
  const { loop, ...propsOtherThanLoop } = props;
25
25
  const { fps } = (0, use_video_config_js_1.useVideoConfig)();
26
26
  const environment = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
@@ -49,7 +49,7 @@ const VideoForwardingFunction = (props, ref) => {
49
49
  });
50
50
  if (loop && durationFetched !== undefined) {
51
51
  if (!Number.isFinite(durationFetched)) {
52
- return (jsx_runtime_1.jsx(exports.Html5Video, { ...propsOtherThanLoop, ref: ref, stack: stack, _remotionInternalNativeLoopPassed: true }));
52
+ return (jsx_runtime_1.jsx(exports.Html5Video, { ...propsOtherThanLoop, ref: ref, _remotionInternalStack: _remotionInternalStack, _remotionInternalNativeLoopPassed: true }));
53
53
  }
54
54
  const mediaDuration = durationFetched * fps;
55
55
  return (jsx_runtime_1.jsx(index_js_1.Loop, { durationInFrames: (0, calculate_media_duration_js_1.calculateMediaDuration)({
@@ -57,13 +57,13 @@ const VideoForwardingFunction = (props, ref) => {
57
57
  mediaDurationInFrames: mediaDuration,
58
58
  playbackRate: (_b = props.playbackRate) !== null && _b !== void 0 ? _b : 1,
59
59
  trimBefore: trimBeforeValue,
60
- }), layout: "none", name: name, showInTimeline: false, children: jsx_runtime_1.jsx(exports.Html5Video, { ...propsOtherThanLoop, ref: ref, stack: stack, _remotionInternalNativeLoopPassed: true }) }));
60
+ }), layout: "none", name: name, showInTimeline: false, children: jsx_runtime_1.jsx(exports.Html5Video, { ...propsOtherThanLoop, ref: ref, _remotionInternalStack: _remotionInternalStack, _remotionInternalNativeLoopPassed: true }) }));
61
61
  }
62
62
  if (typeof trimBeforeValue !== 'undefined' ||
63
63
  typeof trimAfterValue !== 'undefined') {
64
64
  return (jsx_runtime_1.jsx(Sequence_js_1.Sequence, { layout: "none", from: 0 - (trimBeforeValue !== null && trimBeforeValue !== void 0 ? trimBeforeValue : 0), showInTimeline: false, durationInFrames: trimAfterValue === undefined
65
65
  ? undefined
66
- : trimAfterValue / ((_c = props.playbackRate) !== null && _c !== void 0 ? _c : 1), name: name, children: jsx_runtime_1.jsx(exports.Html5Video, { pauseWhenBuffering: shouldPauseWhenBuffering, onVideoFrame: onVideoFrame, ...otherProps, ref: ref, stack: stack }) }));
66
+ : trimAfterValue / ((_c = props.playbackRate) !== null && _c !== void 0 ? _c : 1), name: name, children: jsx_runtime_1.jsx(exports.Html5Video, { pauseWhenBuffering: shouldPauseWhenBuffering, onVideoFrame: onVideoFrame, ...otherProps, ref: ref, _remotionInternalStack: _remotionInternalStack }) }));
67
67
  }
68
68
  (0, validate_media_props_js_1.validateMediaProps)({
69
69
  playbackRate: props.playbackRate,
@@ -73,7 +73,7 @@ const VideoForwardingFunction = (props, ref) => {
73
73
  if (environment.isRendering) {
74
74
  return (jsx_runtime_1.jsx(VideoForRendering_js_1.VideoForRendering, { onDuration: onDuration, onVideoFrame: onVideoFrame !== null && onVideoFrame !== void 0 ? onVideoFrame : null, ...otherProps, ref: ref }));
75
75
  }
76
- return (jsx_runtime_1.jsx(VideoForPreview_js_1.VideoForPreview, { onlyWarnForMediaSeekingError: false, ...otherProps, ref: ref, onVideoFrame: onVideoFrame !== null && onVideoFrame !== void 0 ? onVideoFrame : null, pauseWhenBuffering: shouldPauseWhenBuffering, onDuration: onDuration, _remotionInternalStack: stack !== null && stack !== void 0 ? stack : null, _remotionInternalNativeLoopPassed: _remotionInternalNativeLoopPassed !== null && _remotionInternalNativeLoopPassed !== void 0 ? _remotionInternalNativeLoopPassed : false, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : undefined }));
76
+ return (jsx_runtime_1.jsx(VideoForPreview_js_1.VideoForPreview, { onlyWarnForMediaSeekingError: false, ...otherProps, ref: ref, onVideoFrame: onVideoFrame !== null && onVideoFrame !== void 0 ? onVideoFrame : null, pauseWhenBuffering: shouldPauseWhenBuffering, onDuration: onDuration, _remotionInternalStack: _remotionInternalStack !== null && _remotionInternalStack !== void 0 ? _remotionInternalStack : null, _remotionInternalNativeLoopPassed: _remotionInternalNativeLoopPassed !== null && _remotionInternalNativeLoopPassed !== void 0 ? _remotionInternalNativeLoopPassed : false, showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, onAutoPlayError: onAutoPlayError !== null && onAutoPlayError !== void 0 ? onAutoPlayError : undefined }));
77
77
  };
78
78
  /**
79
79
  * @description Wraps the native `<video>` element to include video in your component that is synchronized with Remotion's time.
@@ -74,7 +74,7 @@ type OptionalOffthreadVideoProps = {
74
74
  /**
75
75
  * @deprecated For internal use only
76
76
  */
77
- stack: string | undefined;
77
+ _remotionInternalStack: string | undefined;
78
78
  showInTimeline: boolean;
79
79
  onAutoPlayError: null | (() => void);
80
80
  onVideoFrame: OnVideoFrame | undefined;
@@ -37,6 +37,7 @@ exports.withInteractivitySchema = exports.mergeValues = exports.selectActiveKeys
37
37
  const react_1 = __importStar(require("react"));
38
38
  const delete_nested_key_js_1 = require("./delete-nested-key.js");
39
39
  const use_memoized_effects_js_1 = require("./effects/use-memoized-effects.js");
40
+ const enable_sequence_stack_traces_js_1 = require("./enable-sequence-stack-traces.js");
40
41
  const flatten_schema_js_1 = require("./flatten-schema.js");
41
42
  const interactivity_schema_js_1 = require("./interactivity-schema.js");
42
43
  const sequence_node_path_js_1 = require("./sequence-node-path.js");
@@ -125,10 +126,12 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity,
125
126
  const flatKeys = Object.keys(flatSchema);
126
127
  const Wrapped = (0, react_1.forwardRef)((props, ref) => {
127
128
  var _a;
129
+ const { _remotionInternalStack: internalStack, ...propsWithoutInternalStack } = props;
130
+ const cleanProps = propsWithoutInternalStack;
128
131
  const env = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
129
132
  if (!env.isStudio || env.isRendering) {
130
133
  return react_1.default.createElement(Component, {
131
- ...props,
134
+ ...cleanProps,
132
135
  controls: null,
133
136
  ref,
134
137
  });
@@ -143,24 +146,28 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity,
143
146
  const frame = (0, use_current_frame_js_1.useCurrentFrame)();
144
147
  // If the parent has passed `controls`, we should not override it.
145
148
  // @ts-expect-error
146
- if (props.controls) {
149
+ if (cleanProps.controls) {
150
+ // @ts-expect-error `controls` is injected by another interactive wrapper.
151
+ const passedControls = cleanProps.controls;
152
+ if ((0, enable_sequence_stack_traces_js_1.getStackForControls)(passedControls) === null) {
153
+ (0, enable_sequence_stack_traces_js_1.setStackForControls)(passedControls, internalStack);
154
+ }
147
155
  return react_1.default.createElement(Component, {
148
- ...props,
156
+ ...cleanProps,
149
157
  ref,
150
158
  });
151
159
  }
152
160
  // eslint-disable-next-line react-hooks/rules-of-hooks
153
161
  const [overrideId] = (0, react_1.useState)(() => {
154
- const { stack } = props;
155
- if (!stack) {
162
+ if (!internalStack) {
156
163
  return String(Math.random());
157
164
  }
158
- const existingOverrideId = stackToOverrideMap[stack];
165
+ const existingOverrideId = stackToOverrideMap[internalStack];
159
166
  if (existingOverrideId) {
160
167
  return existingOverrideId;
161
168
  }
162
169
  const newOverrideId = String(Math.random());
163
- stackToOverrideMap[stack] = newOverrideId;
170
+ stackToOverrideMap[internalStack] = newOverrideId;
164
171
  return newOverrideId;
165
172
  });
166
173
  const nodePath = env.isReadOnlyStudio
@@ -173,10 +180,10 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity,
173
180
  const runtimeValues = flatKeys.map((key) => (0, exports.getRuntimeValueForSchemaKey)({
174
181
  flatSchema,
175
182
  key,
176
- props: props,
183
+ props: cleanProps,
177
184
  }));
178
185
  // eslint-disable-next-line react-hooks/rules-of-hooks
179
- const currentRuntimeValueDotNotation = (0, react_1.useMemo)(() => (0, exports.readValuesFromProps)(props, flatKeys, flatSchema),
186
+ const currentRuntimeValueDotNotation = (0, react_1.useMemo)(() => (0, exports.readValuesFromProps)(cleanProps, flatKeys, flatSchema),
180
187
  // eslint-disable-next-line react-hooks/exhaustive-deps
181
188
  runtimeValues);
182
189
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -190,6 +197,7 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity,
190
197
  componentName,
191
198
  };
192
199
  }, [currentRuntimeValueDotNotation, overrideId]);
200
+ (0, enable_sequence_stack_traces_js_1.setStackForControls)(controls, internalStack);
193
201
  // 3. Apply drag/code overrides on top of the runtime values.
194
202
  // eslint-disable-next-line react-hooks/rules-of-hooks
195
203
  const { merged: valuesDotNotation, propsToDelete } = (0, react_1.useMemo)(() => {
@@ -214,7 +222,7 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity,
214
222
  // 5. Apply the active values back onto the props.
215
223
  const mergedProps = (0, exports.mergeValues)({
216
224
  flatSchema,
217
- props: props,
225
+ props: cleanProps,
218
226
  valuesDotNotation,
219
227
  schemaKeys: activeKeys,
220
228
  propsToDelete,