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
@@ -132,11 +132,25 @@ export type ArrayFieldSchema = {
132
132
  description?: string;
133
133
  keyframable?: false;
134
134
  };
135
- export type VisibleFieldSchema = NumberFieldSchema | BooleanFieldSchema | RotationCssFieldSchema | RotationDegreesFieldSchema | TranslateFieldSchema | TransformOriginFieldSchema | ScaleFieldSchema | UvCoordinateFieldSchema | ColorFieldSchema | TextContentFieldSchema | FontFamilyFieldSchema | AssetFieldSchema | ArrayFieldSchema | EnumFieldSchema;
135
+ export type CaptionsFieldSchema = {
136
+ type: 'remotion-captions';
137
+ default: readonly unknown[] | undefined;
138
+ description?: string;
139
+ keyframable: false;
140
+ };
141
+ export type VisibleFieldSchema = NumberFieldSchema | BooleanFieldSchema | RotationCssFieldSchema | RotationDegreesFieldSchema | TranslateFieldSchema | TransformOriginFieldSchema | ScaleFieldSchema | UvCoordinateFieldSchema | ColorFieldSchema | TextContentFieldSchema | FontFamilyFieldSchema | AssetFieldSchema | ArrayFieldSchema | CaptionsFieldSchema | EnumFieldSchema;
136
142
  export type InteractivitySchemaField = VisibleFieldSchema | HiddenFieldSchema;
137
143
  export type InteractivitySchema = {
138
144
  [key: string]: InteractivitySchemaField;
139
145
  };
146
+ export declare const captionsSchema: {
147
+ readonly captions: {
148
+ readonly type: "remotion-captions";
149
+ readonly default: undefined;
150
+ readonly description: "Captions";
151
+ readonly keyframable: false;
152
+ };
153
+ };
140
154
  export type InteractivitySchemaKeysRecord<S extends InteractivitySchema> = Record<keyof S, unknown>;
141
155
  export declare const transformSchema: {
142
156
  readonly 'style.transformOrigin': {
@@ -321,6 +335,49 @@ export declare const borderSchema: {
321
335
  readonly description: "Border color";
322
336
  };
323
337
  };
338
+ export declare const borderRadiusSchema: {
339
+ readonly 'style.borderRadius': {
340
+ readonly type: "number";
341
+ readonly default: 0;
342
+ readonly min: 0;
343
+ readonly step: 1;
344
+ readonly description: "Border radius";
345
+ readonly hiddenFromList: false;
346
+ readonly keyframable: true;
347
+ };
348
+ readonly 'style.borderTopLeftRadius': {
349
+ readonly type: "number";
350
+ readonly default: 0;
351
+ readonly min: 0;
352
+ readonly step: 1;
353
+ readonly description: "Top left radius";
354
+ readonly hiddenFromList: false;
355
+ };
356
+ readonly 'style.borderTopRightRadius': {
357
+ readonly type: "number";
358
+ readonly default: 0;
359
+ readonly min: 0;
360
+ readonly step: 1;
361
+ readonly description: "Top right radius";
362
+ readonly hiddenFromList: false;
363
+ };
364
+ readonly 'style.borderBottomRightRadius': {
365
+ readonly type: "number";
366
+ readonly default: 0;
367
+ readonly min: 0;
368
+ readonly step: 1;
369
+ readonly description: "Bottom right radius";
370
+ readonly hiddenFromList: false;
371
+ };
372
+ readonly 'style.borderBottomLeftRadius': {
373
+ readonly type: "number";
374
+ readonly default: 0;
375
+ readonly min: 0;
376
+ readonly step: 1;
377
+ readonly description: "Bottom left radius";
378
+ readonly hiddenFromList: false;
379
+ };
380
+ };
324
381
  export declare const backgroundSchema: {
325
382
  readonly 'style.backgroundColor': {
326
383
  readonly type: "color";
@@ -559,6 +616,47 @@ export declare const sequenceStyleSchema: {
559
616
  readonly default: undefined;
560
617
  readonly description: "Border color";
561
618
  };
619
+ readonly 'style.borderRadius': {
620
+ readonly type: "number";
621
+ readonly default: 0;
622
+ readonly min: 0;
623
+ readonly step: 1;
624
+ readonly description: "Border radius";
625
+ readonly hiddenFromList: false;
626
+ readonly keyframable: true;
627
+ };
628
+ readonly 'style.borderTopLeftRadius': {
629
+ readonly type: "number";
630
+ readonly default: 0;
631
+ readonly min: 0;
632
+ readonly step: 1;
633
+ readonly description: "Top left radius";
634
+ readonly hiddenFromList: false;
635
+ };
636
+ readonly 'style.borderTopRightRadius': {
637
+ readonly type: "number";
638
+ readonly default: 0;
639
+ readonly min: 0;
640
+ readonly step: 1;
641
+ readonly description: "Top right radius";
642
+ readonly hiddenFromList: false;
643
+ };
644
+ readonly 'style.borderBottomRightRadius': {
645
+ readonly type: "number";
646
+ readonly default: 0;
647
+ readonly min: 0;
648
+ readonly step: 1;
649
+ readonly description: "Bottom right radius";
650
+ readonly hiddenFromList: false;
651
+ };
652
+ readonly 'style.borderBottomLeftRadius': {
653
+ readonly type: "number";
654
+ readonly default: 0;
655
+ readonly min: 0;
656
+ readonly step: 1;
657
+ readonly description: "Bottom left radius";
658
+ readonly hiddenFromList: false;
659
+ };
562
660
  readonly 'style.backgroundColor': {
563
661
  readonly type: "color";
564
662
  readonly default: "transparent";
@@ -785,6 +883,47 @@ export declare const sequenceSchema: {
785
883
  readonly default: undefined;
786
884
  readonly description: "Border color";
787
885
  };
886
+ readonly 'style.borderRadius': {
887
+ readonly type: "number";
888
+ readonly default: 0;
889
+ readonly min: 0;
890
+ readonly step: 1;
891
+ readonly description: "Border radius";
892
+ readonly hiddenFromList: false;
893
+ readonly keyframable: true;
894
+ };
895
+ readonly 'style.borderTopLeftRadius': {
896
+ readonly type: "number";
897
+ readonly default: 0;
898
+ readonly min: 0;
899
+ readonly step: 1;
900
+ readonly description: "Top left radius";
901
+ readonly hiddenFromList: false;
902
+ };
903
+ readonly 'style.borderTopRightRadius': {
904
+ readonly type: "number";
905
+ readonly default: 0;
906
+ readonly min: 0;
907
+ readonly step: 1;
908
+ readonly description: "Top right radius";
909
+ readonly hiddenFromList: false;
910
+ };
911
+ readonly 'style.borderBottomRightRadius': {
912
+ readonly type: "number";
913
+ readonly default: 0;
914
+ readonly min: 0;
915
+ readonly step: 1;
916
+ readonly description: "Bottom right radius";
917
+ readonly hiddenFromList: false;
918
+ };
919
+ readonly 'style.borderBottomLeftRadius': {
920
+ readonly type: "number";
921
+ readonly default: 0;
922
+ readonly min: 0;
923
+ readonly step: 1;
924
+ readonly description: "Bottom left radius";
925
+ readonly hiddenFromList: false;
926
+ };
788
927
  readonly 'style.backgroundColor': {
789
928
  readonly type: "color";
790
929
  readonly default: "transparent";
@@ -972,6 +1111,47 @@ export declare const sequenceSchemaWithoutFrom: {
972
1111
  readonly default: undefined;
973
1112
  readonly description: "Border color";
974
1113
  };
1114
+ readonly 'style.borderRadius': {
1115
+ readonly type: "number";
1116
+ readonly default: 0;
1117
+ readonly min: 0;
1118
+ readonly step: 1;
1119
+ readonly description: "Border radius";
1120
+ readonly hiddenFromList: false;
1121
+ readonly keyframable: true;
1122
+ };
1123
+ readonly 'style.borderTopLeftRadius': {
1124
+ readonly type: "number";
1125
+ readonly default: 0;
1126
+ readonly min: 0;
1127
+ readonly step: 1;
1128
+ readonly description: "Top left radius";
1129
+ readonly hiddenFromList: false;
1130
+ };
1131
+ readonly 'style.borderTopRightRadius': {
1132
+ readonly type: "number";
1133
+ readonly default: 0;
1134
+ readonly min: 0;
1135
+ readonly step: 1;
1136
+ readonly description: "Top right radius";
1137
+ readonly hiddenFromList: false;
1138
+ };
1139
+ readonly 'style.borderBottomRightRadius': {
1140
+ readonly type: "number";
1141
+ readonly default: 0;
1142
+ readonly min: 0;
1143
+ readonly step: 1;
1144
+ readonly description: "Bottom right radius";
1145
+ readonly hiddenFromList: false;
1146
+ };
1147
+ readonly 'style.borderBottomLeftRadius': {
1148
+ readonly type: "number";
1149
+ readonly default: 0;
1150
+ readonly min: 0;
1151
+ readonly step: 1;
1152
+ readonly description: "Bottom left radius";
1153
+ readonly hiddenFromList: false;
1154
+ };
975
1155
  readonly 'style.backgroundColor': {
976
1156
  readonly type: "color";
977
1157
  readonly default: "transparent";
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sequenceSchemaDefaultLayoutNone = exports.sequenceSchemaWithoutFrom = exports.baseSchemaWithoutFrom = exports.sequenceSchema = exports.baseSchema = exports.freezeField = exports.trimBeforeField = exports.fromField = exports.durationInFramesField = exports.extendSchemaWithSequenceName = exports.sequenceNameField = exports.hiddenField = exports.sequenceStyleSchema = exports.sequenceCropSchema = exports.cropSchema = exports.sequencePremountSchema = exports.premountSchema = exports.textContentSchema = exports.svgPaintSchema = exports.svgStrokeSchema = exports.backgroundSchema = exports.borderSchema = exports.textSchema = exports.sequenceVisualStyleSchema = exports.transformSchema = void 0;
3
+ exports.sequenceSchemaDefaultLayoutNone = exports.sequenceSchemaWithoutFrom = exports.baseSchemaWithoutFrom = exports.sequenceSchema = exports.baseSchema = exports.freezeField = exports.trimBeforeField = exports.fromField = exports.durationInFramesField = exports.extendSchemaWithSequenceName = exports.sequenceNameField = exports.hiddenField = exports.sequenceStyleSchema = exports.sequenceCropSchema = exports.cropSchema = exports.sequencePremountSchema = exports.premountSchema = exports.textContentSchema = exports.svgPaintSchema = exports.svgStrokeSchema = exports.backgroundSchema = exports.borderRadiusSchema = exports.borderSchema = exports.textSchema = exports.sequenceVisualStyleSchema = exports.transformSchema = exports.captionsSchema = void 0;
4
+ exports.captionsSchema = {
5
+ captions: {
6
+ type: 'remotion-captions',
7
+ default: undefined,
8
+ description: 'Captions',
9
+ keyframable: false,
10
+ },
11
+ };
4
12
  exports.transformSchema = {
5
13
  'style.transformOrigin': {
6
14
  type: 'transform-origin',
@@ -149,6 +157,49 @@ exports.borderSchema = {
149
157
  description: 'Border color',
150
158
  },
151
159
  };
160
+ exports.borderRadiusSchema = {
161
+ 'style.borderRadius': {
162
+ type: 'number',
163
+ default: 0,
164
+ min: 0,
165
+ step: 1,
166
+ description: 'Border radius',
167
+ hiddenFromList: false,
168
+ keyframable: true,
169
+ },
170
+ 'style.borderTopLeftRadius': {
171
+ type: 'number',
172
+ default: 0,
173
+ min: 0,
174
+ step: 1,
175
+ description: 'Top left radius',
176
+ hiddenFromList: false,
177
+ },
178
+ 'style.borderTopRightRadius': {
179
+ type: 'number',
180
+ default: 0,
181
+ min: 0,
182
+ step: 1,
183
+ description: 'Top right radius',
184
+ hiddenFromList: false,
185
+ },
186
+ 'style.borderBottomRightRadius': {
187
+ type: 'number',
188
+ default: 0,
189
+ min: 0,
190
+ step: 1,
191
+ description: 'Bottom right radius',
192
+ hiddenFromList: false,
193
+ },
194
+ 'style.borderBottomLeftRadius': {
195
+ type: 'number',
196
+ default: 0,
197
+ min: 0,
198
+ step: 1,
199
+ description: 'Bottom left radius',
200
+ hiddenFromList: false,
201
+ },
202
+ };
152
203
  exports.backgroundSchema = {
153
204
  'style.backgroundColor': {
154
205
  type: 'color',
@@ -260,6 +311,7 @@ exports.sequenceStyleSchema = {
260
311
  ...exports.transformSchema,
261
312
  ...exports.backgroundSchema,
262
313
  ...exports.borderSchema,
314
+ ...exports.borderRadiusSchema,
263
315
  ...exports.sequencePremountSchema,
264
316
  };
265
317
  exports.hiddenField = {
@@ -215,6 +215,47 @@ export declare const Internals: {
215
215
  readonly default: undefined;
216
216
  readonly description: "Border color";
217
217
  };
218
+ readonly 'style.borderRadius': {
219
+ readonly type: "number";
220
+ readonly default: 0;
221
+ readonly min: 0;
222
+ readonly step: 1;
223
+ readonly description: "Border radius";
224
+ readonly hiddenFromList: false;
225
+ readonly keyframable: true;
226
+ };
227
+ readonly 'style.borderTopLeftRadius': {
228
+ readonly type: "number";
229
+ readonly default: 0;
230
+ readonly min: 0;
231
+ readonly step: 1;
232
+ readonly description: "Top left radius";
233
+ readonly hiddenFromList: false;
234
+ };
235
+ readonly 'style.borderTopRightRadius': {
236
+ readonly type: "number";
237
+ readonly default: 0;
238
+ readonly min: 0;
239
+ readonly step: 1;
240
+ readonly description: "Top right radius";
241
+ readonly hiddenFromList: false;
242
+ };
243
+ readonly 'style.borderBottomRightRadius': {
244
+ readonly type: "number";
245
+ readonly default: 0;
246
+ readonly min: 0;
247
+ readonly step: 1;
248
+ readonly description: "Bottom right radius";
249
+ readonly hiddenFromList: false;
250
+ };
251
+ readonly 'style.borderBottomLeftRadius': {
252
+ readonly type: "number";
253
+ readonly default: 0;
254
+ readonly min: 0;
255
+ readonly step: 1;
256
+ readonly description: "Bottom left radius";
257
+ readonly hiddenFromList: false;
258
+ };
218
259
  readonly 'style.backgroundColor': {
219
260
  readonly type: "color";
220
261
  readonly default: "transparent";
@@ -349,6 +390,47 @@ export declare const Internals: {
349
390
  readonly default: undefined;
350
391
  readonly description: "Border color";
351
392
  };
393
+ readonly 'style.borderRadius': {
394
+ readonly type: "number";
395
+ readonly default: 0;
396
+ readonly min: 0;
397
+ readonly step: 1;
398
+ readonly description: "Border radius";
399
+ readonly hiddenFromList: false;
400
+ readonly keyframable: true;
401
+ };
402
+ readonly 'style.borderTopLeftRadius': {
403
+ readonly type: "number";
404
+ readonly default: 0;
405
+ readonly min: 0;
406
+ readonly step: 1;
407
+ readonly description: "Top left radius";
408
+ readonly hiddenFromList: false;
409
+ };
410
+ readonly 'style.borderTopRightRadius': {
411
+ readonly type: "number";
412
+ readonly default: 0;
413
+ readonly min: 0;
414
+ readonly step: 1;
415
+ readonly description: "Top right radius";
416
+ readonly hiddenFromList: false;
417
+ };
418
+ readonly 'style.borderBottomRightRadius': {
419
+ readonly type: "number";
420
+ readonly default: 0;
421
+ readonly min: 0;
422
+ readonly step: 1;
423
+ readonly description: "Bottom right radius";
424
+ readonly hiddenFromList: false;
425
+ };
426
+ readonly 'style.borderBottomLeftRadius': {
427
+ readonly type: "number";
428
+ readonly default: 0;
429
+ readonly min: 0;
430
+ readonly step: 1;
431
+ readonly description: "Bottom left radius";
432
+ readonly hiddenFromList: false;
433
+ };
352
434
  readonly 'style.backgroundColor': {
353
435
  readonly type: "color";
354
436
  readonly default: "transparent";
@@ -925,6 +1007,8 @@ export declare const Internals: {
925
1007
  readonly getComponentsToAddStacksTo: () => unknown[];
926
1008
  readonly getSequenceComponent: () => unknown;
927
1009
  readonly getSingleChildComponent: (children: import("react").ReactNode) => unknown;
1010
+ readonly getStackForControls: (controls: import("./CompositionManager.js").SequenceControls) => string | null;
1011
+ readonly REMOTION_INTERNAL_STACK_PROP: "_remotionInternalStack";
928
1012
  readonly CurrentScaleContext: import("react").Context<({
929
1013
  type: "scale";
930
1014
  scale: number;
@@ -1035,7 +1119,6 @@ export declare const Internals: {
1035
1119
  readonly _remotionInternalNativeLoopPassed: boolean;
1036
1120
  readonly _remotionInternalStack: string | null;
1037
1121
  readonly showInTimeline: boolean;
1038
- readonly stack?: string | undefined;
1039
1122
  readonly onNativeError: import("react").ReactEventHandler<HTMLAudioElement>;
1040
1123
  }, "ref"> & import("react").RefAttributes<HTMLAudioElement>>;
1041
1124
  readonly OBJECTFIT_CONTAIN_CLASS_NAME: "__remotion_objectfitcontain";
@@ -221,6 +221,8 @@ exports.Internals = {
221
221
  getComponentsToAddStacksTo: enable_sequence_stack_traces_js_1.getComponentsToAddStacksTo,
222
222
  getSequenceComponent: enable_sequence_stack_traces_js_1.getSequenceComponent,
223
223
  getSingleChildComponent: enable_sequence_stack_traces_js_1.getSingleChildComponent,
224
+ getStackForControls: enable_sequence_stack_traces_js_1.getStackForControls,
225
+ REMOTION_INTERNAL_STACK_PROP: enable_sequence_stack_traces_js_1.REMOTION_INTERNAL_STACK_PROP,
224
226
  CurrentScaleContext: use_current_scale_js_1.CurrentScaleContext,
225
227
  PixelDensityContext: use_pixel_density_js_1.PixelDensityContext,
226
228
  PreviewSizeContext: use_current_scale_js_1.PreviewSizeContext,
@@ -163,6 +163,47 @@ export declare const NoReactInternals: {
163
163
  readonly default: undefined;
164
164
  readonly description: "Border color";
165
165
  };
166
+ readonly 'style.borderRadius': {
167
+ readonly type: "number";
168
+ readonly default: 0;
169
+ readonly min: 0;
170
+ readonly step: 1;
171
+ readonly description: "Border radius";
172
+ readonly hiddenFromList: false;
173
+ readonly keyframable: true;
174
+ };
175
+ readonly 'style.borderTopLeftRadius': {
176
+ readonly type: "number";
177
+ readonly default: 0;
178
+ readonly min: 0;
179
+ readonly step: 1;
180
+ readonly description: "Top left radius";
181
+ readonly hiddenFromList: false;
182
+ };
183
+ readonly 'style.borderTopRightRadius': {
184
+ readonly type: "number";
185
+ readonly default: 0;
186
+ readonly min: 0;
187
+ readonly step: 1;
188
+ readonly description: "Top right radius";
189
+ readonly hiddenFromList: false;
190
+ };
191
+ readonly 'style.borderBottomRightRadius': {
192
+ readonly type: "number";
193
+ readonly default: 0;
194
+ readonly min: 0;
195
+ readonly step: 1;
196
+ readonly description: "Bottom right radius";
197
+ readonly hiddenFromList: false;
198
+ };
199
+ readonly 'style.borderBottomLeftRadius': {
200
+ readonly type: "number";
201
+ readonly default: 0;
202
+ readonly min: 0;
203
+ readonly step: 1;
204
+ readonly description: "Bottom left radius";
205
+ readonly hiddenFromList: false;
206
+ };
166
207
  readonly 'style.backgroundColor': {
167
208
  readonly type: "color";
168
209
  readonly default: "transparent";
@@ -1,11 +1,12 @@
1
+ import type { CSSProperties } from 'react';
1
2
  export type ResolvedSequenceCrop = {
2
3
  readonly left: number;
3
4
  readonly right: number;
4
5
  readonly top: number;
5
6
  readonly bottom: number;
6
7
  };
7
- type ResolvedSequenceCropWithBorderRadius = ResolvedSequenceCrop & {
8
- readonly borderRadius?: string | number;
8
+ type ResolvedSequenceCropWithStyle = ResolvedSequenceCrop & {
9
+ readonly style: CSSProperties | null | undefined;
9
10
  };
10
11
  export type SequenceCropInput = {
11
12
  readonly cropLeft?: number;
@@ -14,6 +15,6 @@ export type SequenceCropInput = {
14
15
  readonly cropBottom?: number;
15
16
  };
16
17
  export declare const resolveSequenceCrop: ({ cropLeft, cropRight, cropTop, cropBottom, }: SequenceCropInput) => ResolvedSequenceCrop;
17
- export declare const getSequenceCropClipPath: ({ left, right, top, bottom, borderRadius, }: ResolvedSequenceCropWithBorderRadius) => string | null;
18
+ export declare const getSequenceCropClipPath: ({ left, right, top, bottom, style, }: ResolvedSequenceCropWithStyle) => string | null;
18
19
  export declare const validateSequenceCrop: (crop: SequenceCropInput, componentName?: string) => void;
19
20
  export {};
@@ -18,11 +18,25 @@ const resolveSequenceCrop = ({ cropLeft, cropRight, cropTop, cropBottom, }) => {
18
18
  return { left, right, top, bottom };
19
19
  };
20
20
  exports.resolveSequenceCrop = resolveSequenceCrop;
21
- const getSequenceCropClipPath = ({ left, right, top, bottom, borderRadius, }) => {
21
+ const getSequenceCropClipPath = ({ left, right, top, bottom, style, }) => {
22
22
  if (left === 0 && right === 0 && top === 0 && bottom === 0) {
23
23
  return null;
24
24
  }
25
- const serializedBorderRadius = typeof borderRadius === 'number' ? `${borderRadius}px` : borderRadius;
25
+ const serializeRadius = (radius) => typeof radius === 'number' ? `${radius}px` : radius;
26
+ const shorthand = serializeRadius(style === null || style === void 0 ? void 0 : style.borderRadius);
27
+ const longhands = [
28
+ style === null || style === void 0 ? void 0 : style.borderTopLeftRadius,
29
+ style === null || style === void 0 ? void 0 : style.borderTopRightRadius,
30
+ style === null || style === void 0 ? void 0 : style.borderBottomRightRadius,
31
+ style === null || style === void 0 ? void 0 : style.borderBottomLeftRadius,
32
+ ];
33
+ const serializedBorderRadius = shorthand ||
34
+ (longhands.some((radius) => radius !== undefined)
35
+ ? longhands.map((radius) => {
36
+ var _a;
37
+ return (_a = serializeRadius(radius)) !== null && _a !== void 0 ? _a : '0px';
38
+ }).join(' ')
39
+ : undefined);
26
40
  const rounded = serializedBorderRadius
27
41
  ? ` round ${serializedBorderRadius}`
28
42
  : '';
@@ -53,10 +53,10 @@ const seriesSequenceSchema = {
53
53
  trimBefore: Interactive_js_1.Interactive.sequenceSchema.trimBefore,
54
54
  layout: Interactive_js_1.Interactive.sequenceSchema.layout,
55
55
  };
56
- const SeriesSequenceInner = (0, react_1.forwardRef)(({ offset = 0, className = '', stack = null, _remotionInternalRender = null, ...props }, ref) => {
56
+ const SeriesSequenceInner = (0, react_1.forwardRef)(({ offset = 0, className = '', _remotionInternalRender = null, ...props }, ref) => {
57
57
  (0, is_inside_series_js_1.useRequireToBeInsideSeries)();
58
58
  if (_remotionInternalRender) {
59
- return _remotionInternalRender({ ...props, offset, className: className || undefined, stack }, ref);
59
+ return _remotionInternalRender({ ...props, offset, className: className || undefined }, ref);
60
60
  }
61
61
  return (jsx_runtime_1.jsx(is_inside_series_js_1.IsNotInsideSeriesProvider, { children: props.children }));
62
62
  });
@@ -117,7 +117,7 @@ const SeriesInner = (props) => {
117
117
  return react_1.default.cloneElement(castedElement, {
118
118
  _remotionInternalRender: (resolvedProps, ref) => {
119
119
  const durationInFramesProp = resolvedProps.durationInFrames;
120
- const { durationInFrames: _durationInFrames, children: sequenceChildren, offset: offsetProp, controls, stack, from: _from, name, ...passedProps } = resolvedProps; // `from` is not accepted and must be filtered out if used in JS
120
+ const { durationInFrames: _durationInFrames, children: sequenceChildren, offset: offsetProp, controls, from: _from, name, ...passedProps } = resolvedProps; // `from` is not accepted and must be filtered out if used in JS
121
121
  const offset = validateSeriesSequenceProps({
122
122
  durationInFrames: durationInFramesProp,
123
123
  offset: offsetProp,
@@ -127,7 +127,7 @@ const SeriesInner = (props) => {
127
127
  const currentStartFrame = startFrame + offset;
128
128
  const nextStartFrame = startFrame + durationInFramesProp + offset;
129
129
  return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [
130
- jsx_runtime_1.jsx(SequenceWithoutSchemaWithRef, { ref: ref, name: name || '<Series.Sequence>', _remotionInternalDocumentationLink: name ? undefined : 'https://www.remotion.dev/docs/series', _remotionInternalStack: stack !== null && stack !== void 0 ? stack : undefined, controls: controls !== null && controls !== void 0 ? controls : undefined, from: currentStartFrame, durationInFrames: durationInFramesProp, ...passedProps, children: jsx_runtime_1.jsx(is_inside_series_js_1.IsNotInsideSeriesProvider, { children: sequenceChildren }) }), renderChildren(i + 1, nextStartFrame)] }));
130
+ jsx_runtime_1.jsx(SequenceWithoutSchemaWithRef, { ref: ref, name: name || '<Series.Sequence>', _remotionInternalDocumentationLink: name ? undefined : 'https://www.remotion.dev/docs/series', controls: controls !== null && controls !== void 0 ? controls : undefined, from: currentStartFrame, durationInFrames: durationInFramesProp, ...passedProps, children: jsx_runtime_1.jsx(is_inside_series_js_1.IsNotInsideSeriesProvider, { children: sequenceChildren }) }), renderChildren(i + 1, nextStartFrame)] }));
131
131
  },
132
132
  });
133
133
  };
@@ -66,6 +66,7 @@ const encodeBySplitting = (path) => {
66
66
  * @see [Documentation](https://www.remotion.dev/docs/staticfile)
67
67
  */
68
68
  const staticFile = (path) => {
69
+ var _a;
69
70
  if (path === null) {
70
71
  throw new TypeError('null was passed to staticFile()');
71
72
  }
@@ -96,6 +97,15 @@ const staticFile = (path) => {
96
97
  if (includesHex.containsHex) {
97
98
  warnOnce(`WARNING: You seem to pass an already encoded path (path contains ${includesHex.hexCode}). Since Remotion 4.0, the encoding is done by staticFile() itself. You may want to remove a encodeURIComponent() wrapping.`);
98
99
  }
100
+ if (typeof window !== 'undefined') {
101
+ // This lookup is primarily used by Browser Studio, where virtual assets
102
+ // have blob: URLs. Regular Studio sources are already encoded using the
103
+ // same per-path-segment encoding as the fallback below.
104
+ const matchingStaticFile = (_a = window.remotion_staticFiles) === null || _a === void 0 ? void 0 : _a.find((file) => file.name === trimLeadingSlash(path));
105
+ if (matchingStaticFile) {
106
+ return matchingStaticFile.src;
107
+ }
108
+ }
99
109
  const preprocessed = encodeBySplitting(path);
100
110
  const preparsed = inner(preprocessed);
101
111
  if (!preparsed.startsWith('/')) {
@@ -4,7 +4,11 @@ exports.truncateSrcForLabel = truncateSrcForLabel;
4
4
  // Data URLs like the ones from canvas.toDataURL() can be many megabytes, which makes the delayRender() label
5
5
  // unreadable and bloats log output
6
6
  function truncateSrcForLabel(src) {
7
- if (src.startsWith('data:') && src.length > 100) {
7
+ if (typeof src !== 'string') {
8
+ return String(src);
9
+ }
10
+ if (src.length > 100 &&
11
+ (src.startsWith('data:') || src.startsWith('blob:'))) {
8
12
  return src.slice(0, 60) + '...[' + src.length + ' chars total]';
9
13
  }
10
14
  return src;
@@ -8,7 +8,7 @@ const useCropStyle = ({ cropLeft, cropRight, cropTop, cropBottom, style, compone
8
8
  return (0, react_1.useMemo)(() => {
9
9
  const cropClipPath = (0, sequence_crop_js_1.getSequenceCropClipPath)({
10
10
  ...(0, sequence_crop_js_1.resolveSequenceCrop)({ cropLeft, cropRight, cropTop, cropBottom }),
11
- borderRadius: style === null || style === void 0 ? void 0 : style.borderRadius,
11
+ style,
12
12
  });
13
13
  if (cropClipPath === null) {
14
14
  return style;
@@ -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.500";
6
+ export declare const VERSION = "4.0.502";
@@ -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.500';
10
+ exports.VERSION = '4.0.502';