remotion 4.0.478 → 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 (45) hide show
  1. package/dist/cjs/CompositionManager.d.ts +3 -2
  2. package/dist/cjs/HtmlInCanvas.d.ts +4 -3
  3. package/dist/cjs/HtmlInCanvas.js +8 -10
  4. package/dist/cjs/Img.d.ts +6 -4
  5. package/dist/cjs/Img.js +11 -13
  6. package/dist/cjs/Interactive.d.ts +188 -2
  7. package/dist/cjs/Interactive.js +13 -10
  8. package/dist/cjs/Sequence.d.ts +4 -3
  9. package/dist/cjs/Sequence.js +9 -7
  10. package/dist/cjs/animated-image/AnimatedImage.d.ts +2 -3
  11. package/dist/cjs/animated-image/AnimatedImage.js +8 -10
  12. package/dist/cjs/animated-image/props.d.ts +2 -3
  13. package/dist/cjs/canvas-image/CanvasImage.d.ts +5 -3
  14. package/dist/cjs/canvas-image/CanvasImage.js +87 -42
  15. package/dist/cjs/canvas-image/props.d.ts +5 -4
  16. package/dist/cjs/effects/Solid.d.ts +2 -2
  17. package/dist/cjs/effects/Solid.js +8 -10
  18. package/dist/cjs/effects/create-effect.d.ts +2 -2
  19. package/dist/cjs/effects/effect-types.d.ts +2 -2
  20. package/dist/cjs/effects/index.d.ts +2 -1
  21. package/dist/cjs/effects/index.js +3 -0
  22. package/dist/cjs/find-props-to-delete.d.ts +2 -2
  23. package/dist/cjs/flatten-schema.d.ts +3 -3
  24. package/dist/cjs/index.d.ts +4 -4
  25. package/dist/cjs/index.js +16 -14
  26. package/dist/cjs/interactivity-schema.d.ts +524 -0
  27. package/dist/cjs/interactivity-schema.js +143 -0
  28. package/dist/cjs/internals.d.ts +95 -21
  29. package/dist/cjs/internals.js +12 -11
  30. package/dist/cjs/interpolate-keyframed-status.js +14 -3
  31. package/dist/cjs/no-react.d.ts +11 -12
  32. package/dist/cjs/no-react.js +2 -2
  33. package/dist/cjs/series/index.js +5 -4
  34. package/dist/cjs/use-schema.d.ts +21 -3
  35. package/dist/cjs/use-schema.js +5 -2
  36. package/dist/cjs/version.d.ts +1 -1
  37. package/dist/cjs/version.js +1 -1
  38. package/dist/cjs/with-interactivity-schema.d.ts +21 -0
  39. package/dist/cjs/with-interactivity-schema.js +204 -0
  40. package/dist/cjs/wrap-in-schema.d.ts +3 -3
  41. package/dist/cjs/wrap-in-schema.js +2 -2
  42. package/dist/esm/index.mjs +234 -166
  43. package/dist/esm/no-react.mjs +133 -131
  44. package/dist/esm/version.mjs +1 -1
  45. package/package.json +2 -2
@@ -6,10 +6,10 @@ import type { JsxComponentIdentity, TCompMetadata, TComposition, TRenderAsset, T
6
6
  import type { CompositionManagerContext } from './CompositionManagerContext.js';
7
7
  import * as CSSUtils from './default-css.js';
8
8
  import type { SerializedJSONWithCustomFields } from './input-props-serialization.js';
9
+ import { type ArrayFieldSchema, type ArrayItemFieldSchema, type InteractivitySchemaField, type InteractivitySchema, type VisibleFieldSchema } from './interactivity-schema.js';
9
10
  import type { LoggingContextValue } from './log-level-context.js';
10
11
  import type { NonceHistory } from './nonce.js';
11
12
  import type { RemotionEnvironment } from './remotion-environment-context.js';
12
- import { type ArrayFieldSchema, type ArrayItemFieldSchema, type SequenceFieldSchema, type SequenceSchema, type VisibleFieldSchema } from './sequence-field-schema.js';
13
13
  import type { OverrideIdToNodePaths, OverrideToNodePathGetters, OverrideToNodeSetters } from './sequence-node-path.js';
14
14
  import { OverrideIdsToNodePathsGettersContext, OverrideIdsToNodePathsSettersContext } from './sequence-node-path.js';
15
15
  import type { ResolvedStackLocation } from './sequence-stack-traces.js';
@@ -18,7 +18,7 @@ import { type CanUpdateEffectPropsResponse, type CanUpdateEffectPropsResponseFal
18
18
  import * as TimelinePosition from './timeline-position-state.js';
19
19
  import { type PlaybackRateContextValue, type SetTimelineContextValue, type TimelineContextValue } from './TimelineContext.js';
20
20
  import { truthy } from './truthy.js';
21
- import type { CanUpdateSequencePropStatusFalse, CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, DragOverrideValue, GetDragOverrides, GetEffectDragOverrides, GetEffectPropStatuses, GetPropStatuses } from './use-schema.js';
21
+ import type { CanUpdateSequencePropStatusFalse, CanUpdateSequencePropStatusEasing, CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, DragOverrideValue, GetDragOverrides, GetEffectDragOverrides, GetEffectPropStatuses, GetPropStatuses } from './use-schema.js';
22
22
  import { type CanUpdateSequencePropStatus, type DragOverrides, type EffectDragOverrides, type PropStatuses } from './use-schema.js';
23
23
  import type { MediaVolumeContextValue, SetMediaVolumeContextValue } from './volume-position-state.js';
24
24
  import type { WatchRemotionStaticFilesPayload } from './watch-static-file.js';
@@ -77,17 +77,14 @@ export declare const Internals: {
77
77
  readonly SequenceManager: import("react").Context<import("./SequenceManager.js").SequenceManagerContext>;
78
78
  readonly SequenceManagerRefContext: import("react").Context<import("./SequenceManager.js").SequenceManagerRef>;
79
79
  readonly SequenceStackTracesUpdateContext: import("react").Context<import("./sequence-stack-traces.js").UpdateResolvedStackTraceFn>;
80
- readonly wrapInSchema: <S extends SequenceSchema, Props extends object>({ Component, componentIdentity, schema, supportsEffects, }: {
81
- Component: import("react").ComponentType<Props & {
82
- readonly _experimentalControls: import("./CompositionManager.js").SequenceControls | undefined;
83
- }>;
84
- componentIdentity: string | null;
85
- schema: S;
86
- supportsEffects: boolean;
87
- }) => import("react").ComponentType<Props>;
88
- readonly sequenceSchema: {
89
- readonly hidden: import("./sequence-field-schema.js").BooleanFieldSchema;
90
- readonly showInTimeline: import("./sequence-field-schema.js").HiddenFieldSchema;
80
+ readonly baseSchema: {
81
+ readonly durationInFrames: {
82
+ readonly type: "number";
83
+ readonly default: undefined;
84
+ readonly min: 1;
85
+ readonly step: 1;
86
+ readonly hiddenFromList: true;
87
+ };
91
88
  readonly from: {
92
89
  readonly type: "number";
93
90
  readonly default: 0;
@@ -100,6 +97,11 @@ export declare const Internals: {
100
97
  readonly step: 1;
101
98
  readonly hiddenFromList: true;
102
99
  };
100
+ readonly hidden: import("./interactivity-schema.js").BooleanFieldSchema;
101
+ readonly name: import("./interactivity-schema.js").HiddenFieldSchema;
102
+ readonly showInTimeline: import("./interactivity-schema.js").HiddenFieldSchema;
103
+ };
104
+ readonly sequenceSchema: {
103
105
  readonly durationInFrames: {
104
106
  readonly type: "number";
105
107
  readonly default: undefined;
@@ -107,6 +109,21 @@ export declare const Internals: {
107
109
  readonly step: 1;
108
110
  readonly hiddenFromList: true;
109
111
  };
112
+ readonly from: {
113
+ readonly type: "number";
114
+ readonly default: 0;
115
+ readonly step: 1;
116
+ readonly hiddenFromList: true;
117
+ };
118
+ readonly freeze: {
119
+ readonly type: "number";
120
+ readonly default: null;
121
+ readonly step: 1;
122
+ readonly hiddenFromList: true;
123
+ };
124
+ readonly hidden: import("./interactivity-schema.js").BooleanFieldSchema;
125
+ readonly name: import("./interactivity-schema.js").HiddenFieldSchema;
126
+ readonly showInTimeline: import("./interactivity-schema.js").HiddenFieldSchema;
110
127
  readonly layout: {
111
128
  readonly type: "enum";
112
129
  readonly default: "absolute-fill";
@@ -172,8 +189,6 @@ export declare const Internals: {
172
189
  readonly none: {};
173
190
  };
174
191
  };
175
- } & {
176
- name: SequenceFieldSchema;
177
192
  };
178
193
  readonly SequenceWithoutSchema: import("react").ForwardRefExoticComponent<import("./Sequence.js").SequenceProps & import("react").RefAttributes<HTMLDivElement>>;
179
194
  readonly sequenceStyleSchema: {
@@ -292,8 +307,67 @@ export declare const Internals: {
292
307
  readonly type: "hidden";
293
308
  };
294
309
  };
295
- readonly flattenActiveSchema: (schema: SequenceSchema, resolve: import("./flatten-schema.js").ResolveValue) => SequenceSchema;
296
- readonly getFlatSchemaWithAllKeys: (schema: SequenceSchema) => SequenceSchema;
310
+ readonly transformSchema: {
311
+ readonly 'style.transformOrigin': {
312
+ readonly type: "transform-origin";
313
+ readonly step: 1;
314
+ readonly default: "50% 50%";
315
+ readonly description: "Transform origin";
316
+ };
317
+ readonly 'style.translate': {
318
+ readonly type: "translate";
319
+ readonly step: 1;
320
+ readonly default: "0px 0px";
321
+ readonly description: "Offset";
322
+ };
323
+ readonly 'style.scale': {
324
+ readonly type: "scale";
325
+ readonly max: 100;
326
+ readonly step: 0.01;
327
+ readonly default: 1;
328
+ readonly description: "Scale";
329
+ };
330
+ readonly 'style.rotate': {
331
+ readonly type: "rotation-css";
332
+ readonly step: 1;
333
+ readonly default: "0deg";
334
+ readonly description: "Rotation";
335
+ };
336
+ readonly 'style.opacity': {
337
+ readonly type: "number";
338
+ readonly min: 0;
339
+ readonly max: 1;
340
+ readonly step: 0.01;
341
+ readonly default: 1;
342
+ readonly description: "Opacity";
343
+ readonly hiddenFromList: false;
344
+ };
345
+ };
346
+ readonly premountSchema: {
347
+ readonly premountFor: {
348
+ readonly type: "number";
349
+ readonly default: 0;
350
+ readonly description: "Premount For";
351
+ readonly min: 0;
352
+ readonly step: 1;
353
+ readonly hiddenFromList: false;
354
+ };
355
+ readonly postmountFor: {
356
+ readonly type: "number";
357
+ readonly default: 0;
358
+ readonly min: 0;
359
+ readonly step: 1;
360
+ readonly hiddenFromList: true;
361
+ };
362
+ readonly styleWhilePremounted: {
363
+ readonly type: "hidden";
364
+ };
365
+ readonly styleWhilePostmounted: {
366
+ readonly type: "hidden";
367
+ };
368
+ };
369
+ readonly flattenActiveSchema: (schema: InteractivitySchema, resolve: import("./flatten-schema.js").ResolveValue) => InteractivitySchema;
370
+ readonly getFlatSchemaWithAllKeys: (schema: InteractivitySchema) => InteractivitySchema;
297
371
  readonly RemotionRootContexts: import("react").FC<{
298
372
  readonly children: import("react").ReactNode;
299
373
  readonly numberOfAudioTags: number;
@@ -691,7 +765,7 @@ export declare const Internals: {
691
765
  readonly createWebGLContextError: (effectName: string) => Error;
692
766
  readonly createWebGL2ContextError: (effectName: string) => Error;
693
767
  readonly computeEffectiveSchemaValuesDotNotation: ({ schema, currentValue, overrideValues, propStatus, frame, }: {
694
- schema: SequenceSchema;
768
+ schema: InteractivitySchema;
695
769
  currentValue: Record<string, unknown>;
696
770
  overrideValues: Record<string, DragOverrideValue>;
697
771
  propStatus: Record<string, CanUpdateSequencePropStatus> | undefined;
@@ -718,7 +792,7 @@ export declare const Internals: {
718
792
  readonly OverrideIdsToNodePathsGettersContext: import("react").Context<OverrideToNodePathGetters>;
719
793
  readonly OverrideIdsToNodePathsSettersContext: import("react").Context<OverrideToNodeSetters>;
720
794
  readonly findPropsToDelete: ({ schema, key, value, }: {
721
- schema: SequenceSchema;
795
+ schema: InteractivitySchema;
722
796
  key: string;
723
797
  value: unknown;
724
798
  }) => string[];
@@ -738,7 +812,7 @@ export declare const Internals: {
738
812
  type: "can-update-effect";
739
813
  props: Record<string, CanUpdateSequencePropStatus>;
740
814
  };
741
- readonly hiddenField: SequenceFieldSchema;
815
+ readonly hiddenField: InteractivitySchemaField;
742
816
  readonly durationInFramesField: {
743
817
  readonly type: "number";
744
818
  readonly default: undefined;
@@ -759,4 +833,4 @@ export declare const Internals: {
759
833
  readonly hiddenFromList: true;
760
834
  };
761
835
  };
762
- export type { ArrayFieldSchema, ArrayItemFieldSchema, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateEffectPropsResponseFalse, CanUpdateEffectPropsResponseTrue, CanUpdateSequencePropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, CanUpdateSequencePropStatusFalse, CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, CompositionManagerContext, CompProps, DragOverrides, DragOverrideValue, EffectDragOverrides, GetDragOverrides, GetEffectDragOverrides, GetEffectPropStatuses, GetPropStatuses, JsxComponentIdentity, LoggingContextValue, MediaVolumeContextValue, NonceHistory, OverrideIdsToNodePathsGettersContext, OverrideIdsToNodePathsSettersContext, OverrideIdToNodePaths, OverrideToNodePathGetters, OverrideToNodeSetters, PlaybackRateContextValue, PropStatuses, RemotionAudioContextState, RemotionEnvironment, ResolvedStackLocation, ScheduleAudioNodeOptions, ScheduleAudioNodeResult, SequenceFieldSchema, SequenceNodePath, SequencePropsSubscriptionKey, SequenceSchema, SerializedJSONWithCustomFields, SetMediaVolumeContextValue, SetTimelineContextValue, TCompMetadata, TComposition, TimelineContextValue, TRenderAsset, TSequence, VisibleFieldSchema, WatchRemotionStaticFilesPayload, };
836
+ export type { ArrayFieldSchema, ArrayItemFieldSchema, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateEffectPropsResponseFalse, CanUpdateEffectPropsResponseTrue, CanUpdateSequencePropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, CanUpdateSequencePropStatusEasing, CanUpdateSequencePropStatusFalse, CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, CompositionManagerContext, CompProps, DragOverrides, DragOverrideValue, EffectDragOverrides, GetDragOverrides, GetEffectDragOverrides, GetEffectPropStatuses, GetPropStatuses, JsxComponentIdentity, LoggingContextValue, MediaVolumeContextValue, NonceHistory, OverrideIdsToNodePathsGettersContext, OverrideIdsToNodePathsSettersContext, OverrideIdToNodePaths, OverrideToNodePathGetters, OverrideToNodeSetters, PlaybackRateContextValue, PropStatuses, RemotionAudioContextState, RemotionEnvironment, ResolvedStackLocation, ScheduleAudioNodeOptions, ScheduleAudioNodeResult, InteractivitySchemaField, SequenceNodePath, SequencePropsSubscriptionKey, InteractivitySchema, SerializedJSONWithCustomFields, SetMediaVolumeContextValue, SetTimelineContextValue, TCompMetadata, TComposition, TimelineContextValue, TRenderAsset, TSequence, VisibleFieldSchema, WatchRemotionStaticFilesPayload, };
@@ -62,6 +62,7 @@ const get_effective_visual_mode_value_js_1 = require("./get-effective-visual-mod
62
62
  const get_preview_dom_element_js_1 = require("./get-preview-dom-element.js");
63
63
  const get_remotion_environment_js_1 = require("./get-remotion-environment.js");
64
64
  const input_props_override_js_1 = require("./input-props-override.js");
65
+ const interactivity_schema_js_1 = require("./interactivity-schema.js");
65
66
  const interpolate_keyframed_status_js_1 = require("./interpolate-keyframed-status.js");
66
67
  const is_player_js_1 = require("./is-player.js");
67
68
  const log_level_context_js_1 = require("./log-level-context.js");
@@ -79,7 +80,6 @@ const RemotionRoot_js_1 = require("./RemotionRoot.js");
79
80
  const RenderAssetManager_js_1 = require("./RenderAssetManager.js");
80
81
  const resolve_video_config_js_1 = require("./resolve-video-config.js");
81
82
  const ResolveCompositionConfig_js_1 = require("./ResolveCompositionConfig.js");
82
- const sequence_field_schema_js_1 = require("./sequence-field-schema.js");
83
83
  const sequence_node_path_js_1 = require("./sequence-node-path.js");
84
84
  const sequence_stack_traces_js_1 = require("./sequence-stack-traces.js");
85
85
  const Sequence_js_1 = require("./Sequence.js");
@@ -112,7 +112,6 @@ const volume_position_state_js_1 = require("./volume-position-state.js");
112
112
  const volume_prop_js_1 = require("./volume-prop.js");
113
113
  const volume_safeguard_js_1 = require("./volume-safeguard.js");
114
114
  const watch_static_file_js_1 = require("./watch-static-file.js");
115
- const wrap_in_schema_js_1 = require("./wrap-in-schema.js");
116
115
  const wrap_remotion_context_js_1 = require("./wrap-remotion-context.js");
117
116
  // needs to be in core package so gets deduplicated in studio
118
117
  const compositionSelectorRef = (0, react_1.createRef)();
@@ -141,12 +140,14 @@ exports.Internals = {
141
140
  SequenceManager: SequenceManager_js_1.SequenceManager,
142
141
  SequenceManagerRefContext: SequenceManager_js_1.SequenceManagerRefContext,
143
142
  SequenceStackTracesUpdateContext: sequence_stack_traces_js_1.SequenceStackTracesUpdateContext,
144
- wrapInSchema: wrap_in_schema_js_1.wrapInSchema,
145
- sequenceSchema: sequence_field_schema_js_1.sequenceSchema,
143
+ baseSchema: interactivity_schema_js_1.baseSchema,
144
+ sequenceSchema: interactivity_schema_js_1.sequenceSchema,
146
145
  SequenceWithoutSchema: Sequence_js_1.SequenceWithoutSchema,
147
- sequenceStyleSchema: sequence_field_schema_js_1.sequenceStyleSchema,
148
- sequenceVisualStyleSchema: sequence_field_schema_js_1.sequenceVisualStyleSchema,
149
- sequencePremountSchema: sequence_field_schema_js_1.sequencePremountSchema,
146
+ sequenceStyleSchema: interactivity_schema_js_1.sequenceStyleSchema,
147
+ sequenceVisualStyleSchema: interactivity_schema_js_1.sequenceVisualStyleSchema,
148
+ sequencePremountSchema: interactivity_schema_js_1.sequencePremountSchema,
149
+ transformSchema: interactivity_schema_js_1.transformSchema,
150
+ premountSchema: interactivity_schema_js_1.premountSchema,
150
151
  flattenActiveSchema: flatten_schema_js_1.flattenActiveSchema,
151
152
  getFlatSchemaWithAllKeys: flatten_schema_js_1.getFlatSchemaWithAllKeys,
152
153
  RemotionRootContexts: RemotionRoot_js_1.RemotionRootContexts,
@@ -260,8 +261,8 @@ exports.Internals = {
260
261
  makeSequencePropsSubscriptionKey: SequenceManager_js_1.makeSequencePropsSubscriptionKey,
261
262
  getPropStatusesCtx: use_memoized_effects_js_1.getPropStatusesCtx,
262
263
  getEffectPropStatusesCtx: use_memoized_effects_js_1.getEffectPropStatusesCtx,
263
- hiddenField: sequence_field_schema_js_1.hiddenField,
264
- durationInFramesField: sequence_field_schema_js_1.durationInFramesField,
265
- freezeField: sequence_field_schema_js_1.freezeField,
266
- fromField: sequence_field_schema_js_1.fromField,
264
+ hiddenField: interactivity_schema_js_1.hiddenField,
265
+ durationInFramesField: interactivity_schema_js_1.durationInFramesField,
266
+ freezeField: interactivity_schema_js_1.freezeField,
267
+ fromField: interactivity_schema_js_1.fromField,
267
268
  };
@@ -6,10 +6,21 @@ const easing_js_1 = require("./easing.js");
6
6
  const interpolate_colors_js_1 = require("./interpolate-colors.js");
7
7
  const interpolate_js_1 = require("./interpolate.js");
8
8
  const easingToFn = (e) => {
9
- if (e === 'linear') {
10
- return easing_js_1.Easing.linear;
9
+ switch (e.type) {
10
+ case 'linear':
11
+ return easing_js_1.Easing.linear;
12
+ case 'spring':
13
+ return easing_js_1.Easing.spring({
14
+ damping: e.damping,
15
+ mass: e.mass,
16
+ overshootClamping: e.overshootClamping,
17
+ stiffness: e.stiffness,
18
+ });
19
+ case 'bezier':
20
+ return (0, bezier_js_1.bezier)(e.x1, e.y1, e.x2, e.y2);
21
+ default:
22
+ throw new TypeError(`Unsupported easing: ${JSON.stringify(e)}`);
11
23
  }
12
- return (0, bezier_js_1.bezier)(e[0], e[1], e[2], e[3]);
13
24
  };
14
25
  const interpolateKeyframedStatus = ({ frame, status, }) => {
15
26
  const { keyframes, easing, clamping, interpolationFunction } = status;
@@ -57,32 +57,33 @@ export declare const NoReactInternals: {
57
57
  validateCodec: typeof validateCodec;
58
58
  proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
59
59
  findPropsToDelete: ({ schema, key, value, }: {
60
- schema: import("./sequence-field-schema").SequenceSchema;
60
+ schema: import("./interactivity-schema").InteractivitySchema;
61
61
  key: string;
62
62
  value: unknown;
63
63
  }) => string[];
64
64
  sequenceSchema: {
65
- readonly hidden: import("./sequence-field-schema").BooleanFieldSchema;
66
- readonly showInTimeline: import("./sequence-field-schema").HiddenFieldSchema;
67
- readonly from: {
65
+ readonly durationInFrames: {
68
66
  readonly type: "number";
69
- readonly default: 0;
67
+ readonly default: undefined;
68
+ readonly min: 1;
70
69
  readonly step: 1;
71
70
  readonly hiddenFromList: true;
72
71
  };
73
- readonly freeze: {
72
+ readonly from: {
74
73
  readonly type: "number";
75
- readonly default: null;
74
+ readonly default: 0;
76
75
  readonly step: 1;
77
76
  readonly hiddenFromList: true;
78
77
  };
79
- readonly durationInFrames: {
78
+ readonly freeze: {
80
79
  readonly type: "number";
81
- readonly default: undefined;
82
- readonly min: 1;
80
+ readonly default: null;
83
81
  readonly step: 1;
84
82
  readonly hiddenFromList: true;
85
83
  };
84
+ readonly hidden: import("./interactivity-schema").BooleanFieldSchema;
85
+ readonly name: import("./interactivity-schema").HiddenFieldSchema;
86
+ readonly showInTimeline: import("./interactivity-schema").HiddenFieldSchema;
86
87
  readonly layout: {
87
88
  readonly type: "enum";
88
89
  readonly default: "absolute-fill";
@@ -148,8 +149,6 @@ export declare const NoReactInternals: {
148
149
  readonly none: {};
149
150
  };
150
151
  };
151
- } & {
152
- name: import("./sequence-field-schema").SequenceFieldSchema;
153
152
  };
154
153
  parseScaleValue: (value: unknown) => import("./scale-value").ScaleValue;
155
154
  serializeScaleValue: ([x, y, z]: import("./scale-value").ScaleValue) => string | number;
@@ -11,10 +11,10 @@ const delay_render_1 = require("./delay-render");
11
11
  const find_props_to_delete_1 = require("./find-props-to-delete");
12
12
  const input_props_serialization_1 = require("./input-props-serialization");
13
13
  const input_props_serialization_js_1 = require("./input-props-serialization.js");
14
+ const interactivity_schema_1 = require("./interactivity-schema");
14
15
  const interpolate_colors_1 = require("./interpolate-colors");
15
16
  const prores_profile_1 = require("./prores-profile");
16
17
  const scale_value_1 = require("./scale-value");
17
- const sequence_field_schema_1 = require("./sequence-field-schema");
18
18
  const truthy_1 = require("./truthy");
19
19
  const v5_flag_1 = require("./v5-flag");
20
20
  const validate_frame_1 = require("./validate-frame");
@@ -52,7 +52,7 @@ exports.NoReactInternals = {
52
52
  validateCodec: validate_default_codec_1.validateCodec,
53
53
  proResProfileOptions: prores_profile_1.proResProfileOptions,
54
54
  findPropsToDelete: find_props_to_delete_1.findPropsToDelete,
55
- sequenceSchema: sequence_field_schema_1.sequenceSchema,
55
+ sequenceSchema: interactivity_schema_1.sequenceSchema,
56
56
  parseScaleValue: scale_value_1.parseScaleValue,
57
57
  serializeScaleValue: scale_value_1.serializeScaleValue,
58
58
  };
@@ -4,10 +4,10 @@ exports.Series = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const enable_sequence_stack_traces_js_1 = require("../enable-sequence-stack-traces.js");
7
- const sequence_field_schema_js_1 = require("../sequence-field-schema.js");
7
+ const interactivity_schema_js_1 = require("../interactivity-schema.js");
8
8
  const Sequence_js_1 = require("../Sequence.js");
9
9
  const validate_duration_in_frames_js_1 = require("../validation/validate-duration-in-frames.js");
10
- const wrap_in_schema_js_1 = require("../wrap-in-schema.js");
10
+ const with_interactivity_schema_js_1 = require("../with-interactivity-schema.js");
11
11
  const flatten_children_js_1 = require("./flatten-children.js");
12
12
  const is_inside_series_js_1 = require("./is-inside-series.js");
13
13
  const SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
@@ -65,10 +65,11 @@ const SeriesInner = (props) => {
65
65
  * @description with this component, you can easily stitch together scenes that should play sequentially after another.
66
66
  * @see [Documentation](https://www.remotion.dev/docs/series)
67
67
  */
68
- const Series = Object.assign((0, wrap_in_schema_js_1.wrapInSchema)({
68
+ const Series = Object.assign((0, with_interactivity_schema_js_1.withInteractivitySchema)({
69
69
  Component: SeriesInner,
70
+ componentName: '<Series>',
70
71
  componentIdentity: 'dev.remotion.remotion.Series',
71
- schema: sequence_field_schema_js_1.sequenceSchemaDefaultLayoutNone,
72
+ schema: interactivity_schema_js_1.sequenceSchemaDefaultLayoutNone,
72
73
  supportsEffects: false,
73
74
  }), {
74
75
  Sequence: SeriesSequence,
@@ -1,5 +1,5 @@
1
+ import type { InteractivitySchema } from './interactivity-schema.js';
1
2
  import type { ExtrapolateType } from './interpolate.js';
2
- import type { SequenceSchema } from './sequence-field-schema.js';
3
3
  import type { CanUpdateSequencePropsResponse, SequencePropsSubscriptionKey } from './SequenceManager.js';
4
4
  export type CanUpdateSequencePropStatusStatic = {
5
5
  status: 'static';
@@ -9,7 +9,25 @@ export type CanUpdateSequencePropStatusKeyframe = {
9
9
  frame: number;
10
10
  value: unknown;
11
11
  };
12
- export type CanUpdateSequencePropStatusEasing = 'linear' | [number, number, number, number];
12
+ export type CanUpdateSequencePropStatusLinearEasing = {
13
+ type: 'linear';
14
+ };
15
+ export type CanUpdateSequencePropStatusBezierEasing = {
16
+ type: 'bezier';
17
+ x1: number;
18
+ y1: number;
19
+ x2: number;
20
+ y2: number;
21
+ };
22
+ export type CanUpdateSequencePropStatusSpringEasing = {
23
+ type: 'spring';
24
+ damping: number;
25
+ mass: number;
26
+ stiffness: number;
27
+ overshootClamping: boolean;
28
+ };
29
+ export type CanUpdateSequencePropStatusEasing = CanUpdateSequencePropStatusLinearEasing | CanUpdateSequencePropStatusBezierEasing | CanUpdateSequencePropStatusSpringEasing;
30
+ export declare const DEFAULT_LINEAR_EASING: CanUpdateSequencePropStatusLinearEasing;
13
31
  export type CanUpdateSequencePropStatusClamping = {
14
32
  left: ExtrapolateType;
15
33
  right: ExtrapolateType;
@@ -51,7 +69,7 @@ export declare const makeKeyframedDragOverride: ({ status, frame, value, }: {
51
69
  export declare const getStaticDragOverrideValue: (dragOverrideValue: DragOverrideValue | undefined) => unknown;
52
70
  export declare const isKeyframedStatus: (status: CanUpdateSequencePropStatus | null) => status is CanUpdateSequencePropStatusKeyframed;
53
71
  export declare const computeEffectiveSchemaValuesDotNotation: ({ schema, currentValue, overrideValues, propStatus, frame, }: {
54
- schema: SequenceSchema;
72
+ schema: InteractivitySchema;
55
73
  currentValue: Record<string, unknown>;
56
74
  overrideValues: Record<string, DragOverrideValue>;
57
75
  propStatus: Record<string, CanUpdateSequencePropStatus> | undefined;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.computeEffectiveSchemaValuesDotNotation = exports.isKeyframedStatus = exports.getStaticDragOverrideValue = exports.makeKeyframedDragOverride = exports.makeStaticDragOverride = void 0;
3
+ exports.computeEffectiveSchemaValuesDotNotation = exports.isKeyframedStatus = exports.getStaticDragOverrideValue = exports.makeKeyframedDragOverride = exports.makeStaticDragOverride = exports.DEFAULT_LINEAR_EASING = void 0;
4
4
  const find_props_to_delete_js_1 = require("./find-props-to-delete.js");
5
5
  const get_effective_visual_mode_value_js_1 = require("./get-effective-visual-mode-value.js");
6
6
  const interpolate_keyframed_status_js_1 = require("./interpolate-keyframed-status.js");
7
+ exports.DEFAULT_LINEAR_EASING = {
8
+ type: 'linear',
9
+ };
7
10
  const makeStaticDragOverride = (value) => {
8
11
  return { type: 'static', value };
9
12
  };
@@ -15,7 +18,7 @@ const makeKeyframedDragOverride = ({ status, frame, value, }) => {
15
18
  : status.keyframes.map((keyframe, index) => index === existingIndex ? { frame, value } : keyframe);
16
19
  const easing = [...status.easing];
17
20
  while (easing.length < keyframes.length - 1) {
18
- easing.push('linear');
21
+ easing.push(exports.DEFAULT_LINEAR_EASING);
19
22
  }
20
23
  if (easing.length > keyframes.length - 1) {
21
24
  easing.length = keyframes.length - 1;
@@ -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.478";
6
+ export declare const VERSION = "4.0.481";
@@ -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.478';
10
+ exports.VERSION = '4.0.481';
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { SequenceControls } from './CompositionManager.js';
3
+ import { type InteractivitySchema } from './interactivity-schema.js';
4
+ export declare const getNestedValue: (obj: Record<string, unknown>, key: string) => unknown;
5
+ export declare const readValuesFromProps: (props: Record<string, unknown>, keys: string[]) => Record<string, unknown>;
6
+ export declare const selectActiveKeys: (schema: InteractivitySchema, values: Record<string, unknown>) => string[];
7
+ export declare const mergeValues: ({ props, valuesDotNotation, schemaKeys, propsToDelete, }: {
8
+ props: Record<string, unknown>;
9
+ valuesDotNotation: Record<string, unknown>;
10
+ schemaKeys: string[];
11
+ propsToDelete: Set<string>;
12
+ }) => Record<string, unknown>;
13
+ export declare const withInteractivitySchema: <S extends InteractivitySchema, Props extends object>({ Component, componentName, componentIdentity, schema, supportsEffects, }: {
14
+ Component: React.ComponentType<Props & {
15
+ readonly controls: SequenceControls | undefined;
16
+ }>;
17
+ componentName: string;
18
+ componentIdentity: string | null;
19
+ schema: S;
20
+ supportsEffects: boolean;
21
+ }) => React.ComponentType<Props>;