remotion 4.0.532 → 4.0.534

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 (40) hide show
  1. package/dist/cjs/CompositionManager.d.ts +10 -0
  2. package/dist/cjs/CompositionManagerProvider.js +6 -9
  3. package/dist/cjs/HtmlInCanvas.d.ts +2 -0
  4. package/dist/cjs/HtmlInCanvas.js +17 -4
  5. package/dist/cjs/Sequence.d.ts +5 -0
  6. package/dist/cjs/Sequence.js +73 -11
  7. package/dist/cjs/SequenceManager.d.ts +37 -7
  8. package/dist/cjs/SequenceManager.js +317 -30
  9. package/dist/cjs/Track.d.ts +6 -0
  10. package/dist/cjs/Track.js +32 -0
  11. package/dist/cjs/animated-image/AnimatedImage.js +2 -1
  12. package/dist/cjs/canvas-image/CanvasImage.js +2 -1
  13. package/dist/cjs/effects/Solid.js +4 -3
  14. package/dist/cjs/effects/use-memoized-effects.d.ts +3 -1
  15. package/dist/cjs/effects/use-memoized-effects.js +12 -6
  16. package/dist/cjs/evaluate-source-expressions.d.ts +5 -0
  17. package/dist/cjs/evaluate-source-expressions.js +98 -0
  18. package/dist/cjs/freeze.js +6 -8
  19. package/dist/cjs/index.d.ts +2 -0
  20. package/dist/cjs/index.js +3 -1
  21. package/dist/cjs/internals.d.ts +13 -3
  22. package/dist/cjs/internals.js +11 -0
  23. package/dist/cjs/no-react.d.ts +2 -0
  24. package/dist/cjs/no-react.js +3 -0
  25. package/dist/cjs/series/index.js +3 -1
  26. package/dist/cjs/timeline-track-context.d.ts +9 -0
  27. package/dist/cjs/timeline-track-context.js +6 -0
  28. package/dist/cjs/use-media-in-timeline.js +14 -2
  29. package/dist/cjs/use-schema.d.ts +32 -18
  30. package/dist/cjs/use-sequence-registration.js +1 -1
  31. package/dist/cjs/version.d.ts +1 -1
  32. package/dist/cjs/version.js +1 -1
  33. package/dist/cjs/video/html5-video.js +1 -1
  34. package/dist/cjs/with-interactivity-schema.js +13 -7
  35. package/dist/cjs/wrap-remotion-context.d.ts +2 -0
  36. package/dist/cjs/wrap-remotion-context.js +8 -1
  37. package/dist/esm/index.mjs +788 -315
  38. package/dist/esm/no-react.mjs +78 -0
  39. package/dist/esm/version.mjs +1 -1
  40. package/package.json +2 -2
@@ -121,13 +121,12 @@ const mergeValues = ({ flatSchema, props, valuesDotNotation, schemaKeys, propsTo
121
121
  return merged;
122
122
  };
123
123
  exports.mergeValues = mergeValues;
124
- const stackToOverrideMap = {};
125
124
  const DisableInteractivityContext = (0, react_1.createContext)(false);
126
125
  const DisableInteractivityProvider = ({ children }) => {
127
126
  return react_1.default.createElement(DisableInteractivityContext.Provider, { value: true }, children);
128
127
  };
129
128
  exports.DisableInteractivityProvider = DisableInteractivityProvider;
130
- // Authoring surfaces outside the Studio, such as @remotion/canvas, opt into
129
+ // Authoring surfaces outside the Studio, such as @remotion/sdk, opt into
131
130
  // populating `controls` and applying Visual Mode overrides.
132
131
  const EnableInteractivityContext = (0, react_1.createContext)(false);
133
132
  const EnableInteractivityProvider = ({ children }) => {
@@ -139,6 +138,9 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity =
139
138
  const schemaWithSequenceName = (0, interactivity_schema_js_1.extendSchemaWithSequenceName)(schema);
140
139
  const flatSchema = (0, flatten_schema_js_1.getFlatSchemaWithAllKeys)(schemaWithSequenceName);
141
140
  const flatKeys = Object.keys(flatSchema);
141
+ // A structural edit can put a different component at the same stack.
142
+ // Only reuse overrides for instances of this component.
143
+ const stackToOverrideMap = {};
142
144
  const Wrapped = (0, react_1.forwardRef)((props, ref) => {
143
145
  var _a;
144
146
  const { _remotionInternalStack: internalStack, ...propsWithoutInternalStack } = props;
@@ -160,8 +162,6 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity =
160
162
  // eslint-disable-next-line react-hooks/rules-of-hooks
161
163
  const { propStatuses } = (0, react_1.useContext)(SequenceManager_js_1.VisualModePropStatusesContext);
162
164
  // eslint-disable-next-line react-hooks/rules-of-hooks
163
- const { getDragOverrides } = (0, react_1.useContext)(SequenceManager_js_1.VisualModeDragOverridesContext);
164
- // eslint-disable-next-line react-hooks/rules-of-hooks
165
165
  const nodePathMapping = (0, react_1.useContext)(sequence_node_path_js_1.OverrideIdsToNodePathsGettersContext);
166
166
  // eslint-disable-next-line react-hooks/rules-of-hooks
167
167
  const frame = (0, use_current_frame_js_1.useCurrentFrame)();
@@ -212,6 +212,8 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity =
212
212
  const nodePath = env.isReadOnlyStudio
213
213
  ? null
214
214
  : ((_a = nodePathMapping.overrideIdToNodePathMappings[overrideId]) !== null && _a !== void 0 ? _a : null);
215
+ // eslint-disable-next-line react-hooks/rules-of-hooks
216
+ const dragOverrides = (0, SequenceManager_js_1.useDragOverridesForNodePath)(nodePath);
215
217
  // Read the runtime values for every flat key from the JSX props,
216
218
  // memoized on the leaf values so the object reference is stable
217
219
  // when nothing changed — otherwise downstream `useMemo`s churn and
@@ -258,17 +260,21 @@ const withInteractivitySchema = ({ Component, componentName, componentIdentity =
258
260
  return (0, use_schema_js_1.computeEffectiveSchemaValuesDotNotation)({
259
261
  schema: schemaWithSequenceName,
260
262
  currentValue: currentRuntimeValueDotNotation,
261
- overrideValues: nodePath === null ? {} : getDragOverrides(nodePath),
263
+ overrideValues: dragOverrides,
262
264
  propStatus: nodePath === null
263
265
  ? undefined
264
- : (0, use_memoized_effects_js_1.getPropStatusesCtx)(propStatuses, nodePath),
266
+ : (0, use_memoized_effects_js_1.getPropStatusesCtx)(propStatuses, {
267
+ ...nodePath,
268
+ videoConfigValues,
269
+ }),
265
270
  frame,
266
271
  });
267
272
  }, [
268
273
  currentRuntimeValueDotNotation,
269
- getDragOverrides,
274
+ dragOverrides,
270
275
  nodePath,
271
276
  propStatuses,
277
+ videoConfigValues,
272
278
  frame,
273
279
  ]);
274
280
  // 4. Eliminate values forbidden by the resolved discriminated union.
@@ -4,6 +4,8 @@ export declare function useRemotionContexts(): {
4
4
  timelineContext: import("./TimelineContext.js").TimelineContextValue | null;
5
5
  setTimelineContext: import("./TimelineContext.js").SetTimelineContextValue;
6
6
  sequenceContext: import("./SequenceContext.js").SequenceContextType | null;
7
+ experimentalTracksEnabled: boolean;
8
+ timelineTrackContext: import("./timeline-track-context.js").TimelineTrack | null;
7
9
  canUseRemotionHooksContext: boolean;
8
10
  preloadContext: {
9
11
  [x: string]: string;
@@ -49,12 +49,15 @@ const RenderAssetManager_js_1 = require("./RenderAssetManager.js");
49
49
  const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
50
50
  const SequenceContext_js_1 = require("./SequenceContext.js");
51
51
  const SequenceManager_js_1 = require("./SequenceManager.js");
52
+ const timeline_track_context_js_1 = require("./timeline-track-context.js");
52
53
  const TimelineContext_js_1 = require("./TimelineContext.js");
53
54
  function useRemotionContexts() {
54
55
  const compositionManagerCtx = react_1.default.useContext(CompositionManagerContext_js_1.CompositionManager);
55
56
  const timelineContext = react_1.default.useContext(TimelineContext_js_1.TimelineContext);
56
57
  const setTimelineContext = react_1.default.useContext(TimelineContext_js_1.SetTimelineContext);
57
58
  const sequenceContext = react_1.default.useContext(SequenceContext_js_1.SequenceContext);
59
+ const experimentalTracksEnabled = react_1.default.useContext(timeline_track_context_js_1.ExperimentalTracksEnabledContext);
60
+ const timelineTrackContext = react_1.default.useContext(timeline_track_context_js_1.TimelineTrackContext);
58
61
  const canUseRemotionHooksContext = react_1.default.useContext(CanUseRemotionHooks_js_1.CanUseRemotionHooks);
59
62
  const preloadContext = react_1.default.useContext(prefetch_state_js_1.PreloadContext);
60
63
  const resolveCompositionContext = react_1.default.useContext(ResolveCompositionConfig_js_1.ResolveCompositionContext);
@@ -69,6 +72,8 @@ function useRemotionContexts() {
69
72
  timelineContext,
70
73
  setTimelineContext,
71
74
  sequenceContext,
75
+ experimentalTracksEnabled,
76
+ timelineTrackContext,
72
77
  canUseRemotionHooksContext,
73
78
  preloadContext,
74
79
  resolveCompositionContext,
@@ -81,6 +86,8 @@ function useRemotionContexts() {
81
86
  }), [
82
87
  compositionManagerCtx,
83
88
  sequenceContext,
89
+ experimentalTracksEnabled,
90
+ timelineTrackContext,
84
91
  setTimelineContext,
85
92
  timelineContext,
86
93
  canUseRemotionHooksContext,
@@ -96,6 +103,6 @@ function useRemotionContexts() {
96
103
  }
97
104
  const RemotionContextProvider = (props) => {
98
105
  const { children, contexts } = props;
99
- return (jsx_runtime_1.jsx(log_level_context_js_1.LogLevelContext.Provider, { value: contexts.logLevelContext, children: jsx_runtime_1.jsx(CanUseRemotionHooks_js_1.CanUseRemotionHooks.Provider, { value: contexts.canUseRemotionHooksContext, children: jsx_runtime_1.jsx(prefetch_state_js_1.PreloadContext.Provider, { value: contexts.preloadContext, children: jsx_runtime_1.jsx(CompositionManagerContext_js_1.CompositionManager.Provider, { value: contexts.compositionManagerCtx, children: jsx_runtime_1.jsx(SequenceManager_js_1.SequenceManagerRefContext.Provider, { value: contexts.sequenceManagerRefContext, children: jsx_runtime_1.jsx(SequenceManager_js_1.SequenceManager.Provider, { value: contexts.sequenceManagerContext, children: jsx_runtime_1.jsx(SequenceManager_js_1.VisualModePropStatusesRefContext.Provider, { value: contexts.visualModePropStatusesRefContext, children: jsx_runtime_1.jsx(RenderAssetManager_js_1.RenderAssetManager.Provider, { value: contexts.renderAssetManagerContext, children: jsx_runtime_1.jsx(ResolveCompositionConfig_js_1.ResolveCompositionContext.Provider, { value: contexts.resolveCompositionContext, children: jsx_runtime_1.jsx(TimelineContext_js_1.TimelineContext.Provider, { value: contexts.timelineContext, children: jsx_runtime_1.jsx(TimelineContext_js_1.SetTimelineContext.Provider, { value: contexts.setTimelineContext, children: jsx_runtime_1.jsx(SequenceContext_js_1.SequenceContext.Provider, { value: contexts.sequenceContext, children: jsx_runtime_1.jsx(buffering_js_1.BufferingContextReact.Provider, { value: contexts.bufferManagerContext, children: children }) }) }) }) }) }) }) }) }) }) }) }) }));
106
+ return (jsx_runtime_1.jsx(log_level_context_js_1.LogLevelContext.Provider, { value: contexts.logLevelContext, children: jsx_runtime_1.jsx(CanUseRemotionHooks_js_1.CanUseRemotionHooks.Provider, { value: contexts.canUseRemotionHooksContext, children: jsx_runtime_1.jsx(prefetch_state_js_1.PreloadContext.Provider, { value: contexts.preloadContext, children: jsx_runtime_1.jsx(CompositionManagerContext_js_1.CompositionManager.Provider, { value: contexts.compositionManagerCtx, children: jsx_runtime_1.jsx(SequenceManager_js_1.SequenceManagerRefContext.Provider, { value: contexts.sequenceManagerRefContext, children: jsx_runtime_1.jsx(SequenceManager_js_1.SequenceManager.Provider, { value: contexts.sequenceManagerContext, children: jsx_runtime_1.jsx(SequenceManager_js_1.VisualModePropStatusesRefContext.Provider, { value: contexts.visualModePropStatusesRefContext, children: jsx_runtime_1.jsx(RenderAssetManager_js_1.RenderAssetManager.Provider, { value: contexts.renderAssetManagerContext, children: jsx_runtime_1.jsx(ResolveCompositionConfig_js_1.ResolveCompositionContext.Provider, { value: contexts.resolveCompositionContext, children: jsx_runtime_1.jsx(TimelineContext_js_1.TimelineContext.Provider, { value: contexts.timelineContext, children: jsx_runtime_1.jsx(TimelineContext_js_1.SetTimelineContext.Provider, { value: contexts.setTimelineContext, children: jsx_runtime_1.jsx(SequenceContext_js_1.SequenceContext.Provider, { value: contexts.sequenceContext, children: jsx_runtime_1.jsx(buffering_js_1.BufferingContextReact.Provider, { value: contexts.bufferManagerContext, children: jsx_runtime_1.jsx(timeline_track_context_js_1.ExperimentalTracksEnabledContext.Provider, { value: contexts.experimentalTracksEnabled, children: jsx_runtime_1.jsx(timeline_track_context_js_1.TimelineTrackContext.Provider, { value: contexts.timelineTrackContext, children: children }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
100
107
  };
101
108
  exports.RemotionContextProvider = RemotionContextProvider;