remotion 4.0.499 → 4.0.501

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 (57) 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/CompositionManager.d.ts +0 -1
  7. package/dist/cjs/Folder.js +2 -1
  8. package/dist/cjs/HtmlInCanvas.d.ts +84 -3
  9. package/dist/cjs/HtmlInCanvas.js +30 -2
  10. package/dist/cjs/Img.d.ts +84 -11
  11. package/dist/cjs/Img.js +16 -5
  12. package/dist/cjs/Interactive.d.ts +211 -6
  13. package/dist/cjs/Interactive.js +33 -11
  14. package/dist/cjs/Sequence.d.ts +4 -0
  15. package/dist/cjs/Sequence.js +30 -13
  16. package/dist/cjs/TimelineContext.d.ts +0 -1
  17. package/dist/cjs/TimelineContext.js +1 -4
  18. package/dist/cjs/animated-image/AnimatedImage.d.ts +82 -1
  19. package/dist/cjs/animated-image/AnimatedImage.js +13 -2
  20. package/dist/cjs/animated-image/props.d.ts +2 -2
  21. package/dist/cjs/audio/AudioForPreview.d.ts +0 -1
  22. package/dist/cjs/audio/AudioForPreview.js +1 -1
  23. package/dist/cjs/audio/html5-audio.d.ts +2 -2
  24. package/dist/cjs/audio/html5-audio.js +2 -2
  25. package/dist/cjs/canvas-image/CanvasImage.d.ts +83 -3
  26. package/dist/cjs/canvas-image/CanvasImage.js +13 -2
  27. package/dist/cjs/canvas-image/props.d.ts +6 -7
  28. package/dist/cjs/effects/Solid.d.ts +84 -3
  29. package/dist/cjs/effects/Solid.js +13 -2
  30. package/dist/cjs/enable-sequence-stack-traces.d.ts +4 -0
  31. package/dist/cjs/enable-sequence-stack-traces.js +16 -1
  32. package/dist/cjs/index.d.ts +3 -3
  33. package/dist/cjs/interactivity-schema.d.ts +420 -1
  34. package/dist/cjs/interactivity-schema.js +122 -1
  35. package/dist/cjs/internals.d.ts +211 -2
  36. package/dist/cjs/internals.js +7 -0
  37. package/dist/cjs/no-react.d.ts +81 -0
  38. package/dist/cjs/sequence-crop.d.ts +20 -0
  39. package/dist/cjs/sequence-crop.js +59 -0
  40. package/dist/cjs/series/index.js +4 -4
  41. package/dist/cjs/static-file.js +10 -0
  42. package/dist/cjs/truncate-src-for-label.js +5 -1
  43. package/dist/cjs/use-crop-style.d.ts +6 -0
  44. package/dist/cjs/use-crop-style.js +19 -0
  45. package/dist/cjs/use-media-in-timeline.d.ts +0 -1
  46. package/dist/cjs/use-media-in-timeline.js +1 -7
  47. package/dist/cjs/version.d.ts +1 -1
  48. package/dist/cjs/version.js +1 -1
  49. package/dist/cjs/video/OffthreadVideo.js +6 -6
  50. package/dist/cjs/video/html5-video.d.ts +2 -2
  51. package/dist/cjs/video/html5-video.js +5 -5
  52. package/dist/cjs/video/props.d.ts +1 -1
  53. package/dist/cjs/with-interactivity-schema.js +22 -12
  54. package/dist/esm/index.mjs +2453 -2022
  55. package/dist/esm/no-react.mjs +111 -0
  56. package/dist/esm/version.mjs +1 -1
  57. package/package.json +2 -2
@@ -1,2 +1,238 @@
1
1
  import React from 'react';
2
- export declare const AbsoluteFill: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
2
+ import { type AbsoluteFillElementProps } from './AbsoluteFillElement.js';
3
+ import type { InteractiveBaseProps } from './Interactive.js';
4
+ export type AbsoluteFillProps = Omit<AbsoluteFillElementProps, keyof InteractiveBaseProps> & InteractiveBaseProps & {
5
+ /**
6
+ * @deprecated For internal use only
7
+ */
8
+ readonly stack?: string;
9
+ };
10
+ export declare const absoluteFillSchema: {
11
+ readonly 'style.transformOrigin': {
12
+ readonly type: "transform-origin";
13
+ readonly step: 1;
14
+ readonly default: "50% 50%";
15
+ readonly description: "Transform origin";
16
+ };
17
+ readonly 'style.translate': {
18
+ readonly type: "translate";
19
+ readonly step: 1;
20
+ readonly default: "0px 0px";
21
+ readonly description: "Offset";
22
+ };
23
+ readonly 'style.scale': {
24
+ readonly type: "scale";
25
+ readonly max: 100;
26
+ readonly step: 0.01;
27
+ readonly default: 1;
28
+ readonly description: "Scale";
29
+ readonly defaultKeyframeOutput: "perceptual-scale";
30
+ };
31
+ readonly 'style.rotate': {
32
+ readonly type: "rotation-css";
33
+ readonly step: 1;
34
+ readonly default: "0deg";
35
+ readonly description: "Rotation";
36
+ };
37
+ readonly 'style.opacity': {
38
+ readonly type: "number";
39
+ readonly min: 0;
40
+ readonly max: 1;
41
+ readonly step: 0.01;
42
+ readonly default: 1;
43
+ readonly description: "Opacity";
44
+ readonly hiddenFromList: false;
45
+ };
46
+ readonly 'style.color': {
47
+ readonly type: "color";
48
+ readonly default: undefined;
49
+ readonly description: "Color";
50
+ };
51
+ readonly 'style.fontFamily': {
52
+ readonly type: "font-family";
53
+ readonly default: undefined;
54
+ readonly description: "Font family";
55
+ readonly keyframable: false;
56
+ };
57
+ readonly 'style.fontSize': {
58
+ readonly type: "number";
59
+ readonly default: undefined;
60
+ readonly min: 0;
61
+ readonly step: 1;
62
+ readonly description: "Font size";
63
+ readonly hiddenFromList: false;
64
+ };
65
+ readonly 'style.lineHeight': {
66
+ readonly type: "number";
67
+ readonly default: undefined;
68
+ readonly min: 0;
69
+ readonly step: 0.05;
70
+ readonly description: "Line height";
71
+ readonly hiddenFromList: false;
72
+ };
73
+ readonly 'style.fontWeight': {
74
+ readonly type: "enum";
75
+ readonly default: "400";
76
+ readonly description: "Font weight";
77
+ readonly variants: {
78
+ readonly '100': {};
79
+ readonly '200': {};
80
+ readonly '300': {};
81
+ readonly '400': {};
82
+ readonly '500': {};
83
+ readonly '600': {};
84
+ readonly '700': {};
85
+ readonly '800': {};
86
+ readonly '900': {};
87
+ readonly normal: {};
88
+ readonly bold: {};
89
+ };
90
+ };
91
+ readonly 'style.fontStyle': {
92
+ readonly type: "enum";
93
+ readonly default: "normal";
94
+ readonly description: "Font style";
95
+ readonly variants: {
96
+ readonly normal: {};
97
+ readonly italic: {};
98
+ readonly oblique: {};
99
+ };
100
+ };
101
+ readonly 'style.textAlign': {
102
+ readonly type: "enum";
103
+ readonly default: "left";
104
+ readonly description: "Text align";
105
+ readonly variants: {
106
+ readonly left: {};
107
+ readonly center: {};
108
+ readonly right: {};
109
+ readonly justify: {};
110
+ readonly start: {};
111
+ readonly end: {};
112
+ };
113
+ };
114
+ readonly 'style.letterSpacing': {
115
+ readonly type: "number";
116
+ readonly default: undefined;
117
+ readonly step: 0.1;
118
+ readonly description: "Letter spacing";
119
+ readonly hiddenFromList: false;
120
+ };
121
+ readonly 'style.borderWidth': {
122
+ readonly type: "number";
123
+ readonly default: undefined;
124
+ readonly min: 0;
125
+ readonly step: 1;
126
+ readonly description: "Border width";
127
+ readonly hiddenFromList: false;
128
+ };
129
+ readonly 'style.borderStyle': {
130
+ readonly type: "enum";
131
+ readonly default: "none";
132
+ readonly description: "Border style";
133
+ readonly variants: {
134
+ readonly none: {};
135
+ readonly hidden: {};
136
+ readonly solid: {};
137
+ readonly dashed: {};
138
+ readonly dotted: {};
139
+ readonly double: {};
140
+ readonly groove: {};
141
+ readonly ridge: {};
142
+ readonly inset: {};
143
+ readonly outset: {};
144
+ };
145
+ };
146
+ readonly 'style.borderColor': {
147
+ readonly type: "color";
148
+ readonly default: undefined;
149
+ readonly description: "Border color";
150
+ };
151
+ readonly 'style.borderRadius': {
152
+ readonly type: "number";
153
+ readonly default: 0;
154
+ readonly min: 0;
155
+ readonly step: 1;
156
+ readonly description: "Border radius";
157
+ readonly hiddenFromList: false;
158
+ readonly keyframable: true;
159
+ };
160
+ readonly 'style.borderTopLeftRadius': {
161
+ readonly type: "number";
162
+ readonly default: 0;
163
+ readonly min: 0;
164
+ readonly step: 1;
165
+ readonly description: "Top left radius";
166
+ readonly hiddenFromList: false;
167
+ };
168
+ readonly 'style.borderTopRightRadius': {
169
+ readonly type: "number";
170
+ readonly default: 0;
171
+ readonly min: 0;
172
+ readonly step: 1;
173
+ readonly description: "Top right radius";
174
+ readonly hiddenFromList: false;
175
+ };
176
+ readonly 'style.borderBottomRightRadius': {
177
+ readonly type: "number";
178
+ readonly default: 0;
179
+ readonly min: 0;
180
+ readonly step: 1;
181
+ readonly description: "Bottom right radius";
182
+ readonly hiddenFromList: false;
183
+ };
184
+ readonly 'style.borderBottomLeftRadius': {
185
+ readonly type: "number";
186
+ readonly default: 0;
187
+ readonly min: 0;
188
+ readonly step: 1;
189
+ readonly description: "Bottom left radius";
190
+ readonly hiddenFromList: false;
191
+ };
192
+ readonly 'style.backgroundColor': {
193
+ readonly type: "color";
194
+ readonly default: "transparent";
195
+ readonly description: "Color";
196
+ };
197
+ readonly children: {
198
+ readonly type: "text-content";
199
+ readonly default: "";
200
+ readonly description: "Text";
201
+ readonly keyframable: false;
202
+ };
203
+ readonly durationInFrames: {
204
+ readonly type: "number";
205
+ readonly default: undefined;
206
+ readonly min: 1;
207
+ readonly step: 1;
208
+ readonly hiddenFromList: true;
209
+ };
210
+ readonly from: {
211
+ readonly type: "number";
212
+ readonly default: 0;
213
+ readonly step: 1;
214
+ readonly hiddenFromList: true;
215
+ };
216
+ readonly trimBefore: {
217
+ readonly type: "number";
218
+ readonly default: 0;
219
+ readonly min: 0;
220
+ readonly step: 1;
221
+ readonly hiddenFromList: true;
222
+ };
223
+ readonly freeze: {
224
+ readonly type: "number";
225
+ readonly default: null;
226
+ readonly step: 1;
227
+ readonly hiddenFromList: true;
228
+ };
229
+ readonly hidden: import("./interactivity-schema.js").BooleanFieldSchema;
230
+ readonly name: import("./interactivity-schema.js").HiddenFieldSchema;
231
+ readonly showInTimeline: import("./interactivity-schema.js").HiddenFieldSchema;
232
+ };
233
+ export declare const AbsoluteFill: React.ComponentType<Omit<AbsoluteFillElementProps, "durationInFrames" | "freeze" | "from" | "hidden" | "name" | "showInTimeline" | "trimBefore"> & InteractiveBaseProps & {
234
+ /**
235
+ * @deprecated For internal use only
236
+ */
237
+ readonly stack?: string | undefined;
238
+ }>;
@@ -1,115 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbsoluteFill = void 0;
3
+ exports.AbsoluteFill = exports.absoluteFillSchema = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const hasTailwindClassName = ({ className, classPrefix, type, }) => {
7
- if (!className) {
8
- return false;
6
+ const AbsoluteFillElement_js_1 = require("./AbsoluteFillElement.js");
7
+ const enable_sequence_stack_traces_js_1 = require("./enable-sequence-stack-traces.js");
8
+ const interactivity_schema_js_1 = require("./interactivity-schema.js");
9
+ const Sequence_js_1 = require("./Sequence.js");
10
+ const use_unsafe_video_config_js_1 = require("./use-unsafe-video-config.js");
11
+ const with_interactivity_schema_js_1 = require("./with-interactivity-schema.js");
12
+ exports.absoluteFillSchema = {
13
+ ...interactivity_schema_js_1.baseSchema,
14
+ ...interactivity_schema_js_1.transformSchema,
15
+ ...interactivity_schema_js_1.backgroundSchema,
16
+ ...interactivity_schema_js_1.borderSchema,
17
+ ...interactivity_schema_js_1.borderRadiusSchema,
18
+ ...interactivity_schema_js_1.textSchema,
19
+ ...interactivity_schema_js_1.textContentSchema,
20
+ };
21
+ const setRef = (ref, value) => {
22
+ if (typeof ref === 'function') {
23
+ ref(value);
9
24
  }
10
- if (type === 'exact') {
11
- const split = className.split(' ');
12
- return classPrefix.some((token) => {
13
- return split.some((part) => {
14
- return (part.trim() === token ||
15
- part.trim().endsWith(`:${token}`) ||
16
- part.trim().endsWith(`!${token}`));
17
- });
18
- });
25
+ else if (ref) {
26
+ ref.current = value;
19
27
  }
20
- return classPrefix.some((prefix) => {
21
- return (className.startsWith(prefix) ||
22
- className.includes(` ${prefix}`) ||
23
- className.includes(`!${prefix}`) ||
24
- className.includes(`:${prefix}`));
25
- });
26
28
  };
27
- const AbsoluteFillRefForwarding = (props, ref) => {
28
- const { style, ...other } = props;
29
- const actualStyle = (0, react_1.useMemo)(() => {
30
- // Make TailwindCSS classes get accepted
31
- return {
32
- position: 'absolute',
33
- top: hasTailwindClassName({
34
- className: other.className,
35
- classPrefix: ['top-', 'inset-'],
36
- type: 'prefix',
37
- })
38
- ? undefined
39
- : 0,
40
- left: hasTailwindClassName({
41
- className: other.className,
42
- classPrefix: ['left-', 'inset-'],
43
- type: 'prefix',
44
- })
45
- ? undefined
46
- : 0,
47
- right: hasTailwindClassName({
48
- className: other.className,
49
- classPrefix: ['right-', 'inset-'],
50
- type: 'prefix',
51
- })
52
- ? undefined
53
- : 0,
54
- bottom: hasTailwindClassName({
55
- className: other.className,
56
- classPrefix: ['bottom-', 'inset-'],
57
- type: 'prefix',
58
- })
59
- ? undefined
60
- : 0,
61
- width: hasTailwindClassName({
62
- className: other.className,
63
- classPrefix: ['w-'],
64
- type: 'prefix',
65
- })
66
- ? undefined
67
- : '100%',
68
- height: hasTailwindClassName({
69
- className: other.className,
70
- classPrefix: ['h-'],
71
- type: 'prefix',
72
- })
73
- ? undefined
74
- : '100%',
75
- display: hasTailwindClassName({
76
- className: other.className,
77
- classPrefix: [
78
- 'block',
79
- 'inline-block',
80
- 'inline',
81
- 'flex',
82
- 'inline-flex',
83
- 'flow-root',
84
- 'grid',
85
- 'inline-grid',
86
- 'contents',
87
- 'list-item',
88
- 'hidden',
89
- ],
90
- type: 'exact',
91
- })
92
- ? undefined
93
- : 'flex',
94
- flexDirection: hasTailwindClassName({
95
- className: other.className,
96
- classPrefix: [
97
- 'flex-row',
98
- 'flex-col',
99
- 'flex-row-reverse',
100
- 'flex-col-reverse',
101
- ],
102
- type: 'exact',
103
- })
104
- ? undefined
105
- : 'column',
106
- ...style,
107
- };
108
- }, [other.className, style]);
109
- return jsx_runtime_1.jsx("div", { ref: ref, style: actualStyle, ...other });
29
+ const AbsoluteFillInner = ({ ref, from, trimBefore, freeze, durationInFrames, hidden, name, showInTimeline, stack, controls, children, ...divProps }) => {
30
+ const videoConfig = (0, use_unsafe_video_config_js_1.useUnsafeVideoConfig)();
31
+ const refForOutline = (0, react_1.useRef)(null);
32
+ const callbackRef = (0, react_1.useCallback)((element) => {
33
+ refForOutline.current = element;
34
+ setRef(ref, element);
35
+ }, [ref]);
36
+ if (videoConfig === null) {
37
+ return hidden ? null : (jsx_runtime_1.jsx(AbsoluteFillElement_js_1.AbsoluteFillElement, { ref: callbackRef, ...divProps, children: children }));
38
+ }
39
+ return (jsx_runtime_1.jsx(Sequence_js_1.Sequence, { layout: "none", from: from !== null && from !== void 0 ? from : 0, trimBefore: trimBefore, freeze: freeze, durationInFrames: durationInFrames !== null && durationInFrames !== void 0 ? durationInFrames : Infinity, hidden: hidden, name: name !== null && name !== void 0 ? name : '<AbsoluteFill>', showInTimeline: showInTimeline !== null && showInTimeline !== void 0 ? showInTimeline : true, controls: controls, _remotionInternalStack: stack, _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/absolute-fill", outlineRef: refForOutline, children: jsx_runtime_1.jsx(AbsoluteFillElement_js_1.AbsoluteFillElement, { ref: callbackRef, ...divProps, children: children }) }));
110
40
  };
111
41
  /*
112
42
  * @description A helper component which renders an absolutely positioned <div> element with full width, height, and flex display suited for content layering.
113
43
  * @see [Documentation](https://remotion.dev/docs/absolute-fill)
114
44
  */
115
- exports.AbsoluteFill = (0, react_1.forwardRef)(AbsoluteFillRefForwarding);
45
+ exports.AbsoluteFill = (0, with_interactivity_schema_js_1.withInteractivitySchema)({
46
+ Component: AbsoluteFillInner,
47
+ componentName: '<AbsoluteFill>',
48
+ componentIdentity: 'dev.remotion.remotion.AbsoluteFill',
49
+ schema: exports.absoluteFillSchema,
50
+ supportsEffects: false,
51
+ });
52
+ (0, enable_sequence_stack_traces_js_1.addSequenceStackTraces)(exports.AbsoluteFill);
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export type AbsoluteFillElementProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
3
+ export declare const AbsoluteFillElement: React.ForwardRefExoticComponent<Omit<AbsoluteFillElementProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbsoluteFillElement = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const hasTailwindClassName = ({ className, classPrefix, type, }) => {
7
+ if (!className) {
8
+ return false;
9
+ }
10
+ if (type === 'exact') {
11
+ const split = className.split(' ');
12
+ return classPrefix.some((token) => {
13
+ return split.some((part) => {
14
+ return (part.trim() === token ||
15
+ part.trim().endsWith(`:${token}`) ||
16
+ part.trim().endsWith(`!${token}`));
17
+ });
18
+ });
19
+ }
20
+ return classPrefix.some((prefix) => {
21
+ return (className.startsWith(prefix) ||
22
+ className.includes(` ${prefix}`) ||
23
+ className.includes(`!${prefix}`) ||
24
+ className.includes(`:${prefix}`));
25
+ });
26
+ };
27
+ const AbsoluteFillElementRefForwarding = (props, ref) => {
28
+ const { style, ...other } = props;
29
+ const actualStyle = (0, react_1.useMemo)(() => {
30
+ // Make TailwindCSS classes get accepted
31
+ return {
32
+ position: 'absolute',
33
+ top: hasTailwindClassName({
34
+ className: other.className,
35
+ classPrefix: ['top-', 'inset-'],
36
+ type: 'prefix',
37
+ })
38
+ ? undefined
39
+ : 0,
40
+ left: hasTailwindClassName({
41
+ className: other.className,
42
+ classPrefix: ['left-', 'inset-'],
43
+ type: 'prefix',
44
+ })
45
+ ? undefined
46
+ : 0,
47
+ right: hasTailwindClassName({
48
+ className: other.className,
49
+ classPrefix: ['right-', 'inset-'],
50
+ type: 'prefix',
51
+ })
52
+ ? undefined
53
+ : 0,
54
+ bottom: hasTailwindClassName({
55
+ className: other.className,
56
+ classPrefix: ['bottom-', 'inset-'],
57
+ type: 'prefix',
58
+ })
59
+ ? undefined
60
+ : 0,
61
+ width: hasTailwindClassName({
62
+ className: other.className,
63
+ classPrefix: ['w-'],
64
+ type: 'prefix',
65
+ })
66
+ ? undefined
67
+ : '100%',
68
+ height: hasTailwindClassName({
69
+ className: other.className,
70
+ classPrefix: ['h-'],
71
+ type: 'prefix',
72
+ })
73
+ ? undefined
74
+ : '100%',
75
+ display: hasTailwindClassName({
76
+ className: other.className,
77
+ classPrefix: [
78
+ 'block',
79
+ 'inline-block',
80
+ 'inline',
81
+ 'flex',
82
+ 'inline-flex',
83
+ 'flow-root',
84
+ 'grid',
85
+ 'inline-grid',
86
+ 'contents',
87
+ 'list-item',
88
+ 'hidden',
89
+ ],
90
+ type: 'exact',
91
+ })
92
+ ? undefined
93
+ : 'flex',
94
+ flexDirection: hasTailwindClassName({
95
+ className: other.className,
96
+ classPrefix: [
97
+ 'flex-row',
98
+ 'flex-col',
99
+ 'flex-row-reverse',
100
+ 'flex-col-reverse',
101
+ ],
102
+ type: 'exact',
103
+ })
104
+ ? undefined
105
+ : 'column',
106
+ ...style,
107
+ };
108
+ }, [other.className, style]);
109
+ return jsx_runtime_1.jsx("div", { ref: ref, style: actualStyle, ...other });
110
+ };
111
+ exports.AbsoluteFillElement = (0, react_1.forwardRef)(AbsoluteFillElementRefForwarding);
@@ -54,7 +54,8 @@ const InnerComposition = ({ width, height, fps, durationInFrames, id, defaultPro
54
54
  throw new Error('<Composition> mounted inside another composition. See https://remotion.dev/docs/wrong-composition-mount for help.');
55
55
  }
56
56
  const { folderName, parentName } = (0, react_1.useContext)(Folder_js_1.FolderContext);
57
- const stack = (_b = compProps.stack) !== null && _b !== void 0 ? _b : null;
57
+ const stack = (_b = compProps
58
+ ._remotionInternalStack) !== null && _b !== void 0 ? _b : null;
58
59
  const componentFromProps = 'component' in compProps ? compProps.component : null;
59
60
  (0, react_1.useEffect)(() => {
60
61
  var _a;
@@ -72,7 +72,6 @@ export type TSequence = {
72
72
  displayName: string;
73
73
  documentationLink: string | null;
74
74
  parent: string | null;
75
- rootId: string;
76
75
  showInTimeline: boolean;
77
76
  nonce: NonceHistory;
78
77
  loopDisplay: LoopDisplay | undefined;
@@ -21,7 +21,8 @@ const Folder = (props) => {
21
21
  const parent = (0, react_1.useContext)(exports.FolderContext);
22
22
  const { registerFolder, unregisterFolder } = (0, react_1.useContext)(CompositionManagerContext_js_1.CompositionSetters);
23
23
  const nonce = (0, nonce_js_1.useNonce)();
24
- const stack = (_a = props.stack) !== null && _a !== void 0 ? _a : null;
24
+ const stack = (_a = props
25
+ ._remotionInternalStack) !== null && _a !== void 0 ? _a : null;
25
26
  (0, validate_folder_name_js_1.validateFolderName)(name);
26
27
  const parentNameArr = [parent.parentName, parent.folderName].filter(truthy_js_1.truthy);
27
28
  const parentName = parentNameArr.length === 0 ? null : parentNameArr.join('/');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { EffectsProp } from './effects/effect-types.js';
3
- import type { InteractiveBaseProps } from './Interactive.js';
3
+ import type { InteractiveBaseProps, InteractiveCropProps } from './Interactive.js';
4
4
  import type { AbsoluteFillLayout } from './Sequence.js';
5
5
  declare global {
6
6
  interface ElementImage {
@@ -54,7 +54,7 @@ export type HtmlInCanvasOnPaint = (params: HtmlInCanvasOnPaintParams) => void |
54
54
  export type HtmlInCanvasOnInitCleanup = () => void;
55
55
  export type HtmlInCanvasOnInit = (params: HtmlInCanvasOnPaintParams) => HtmlInCanvasOnInitCleanup | Promise<HtmlInCanvasOnInitCleanup>;
56
56
  export type HtmlInCanvasPixelDensity = number;
57
- export type HtmlInCanvasProps = Omit<InteractiveBaseProps, 'children'> & Omit<AbsoluteFillLayout, 'layout' | 'styleWhilePostmounted' | 'postmountFor' | 'premountFor' | 'styleWhilePremounted'> & {
57
+ export type HtmlInCanvasProps = Omit<InteractiveBaseProps, 'children'> & InteractiveCropProps & Omit<AbsoluteFillLayout, 'layout' | 'styleWhilePostmounted' | 'postmountFor' | 'premountFor' | 'styleWhilePremounted'> & {
58
58
  readonly durationInFrames?: number;
59
59
  readonly width: number;
60
60
  readonly height: number;
@@ -130,11 +130,92 @@ export declare const htmlInCanvasSchema: {
130
130
  readonly default: undefined;
131
131
  readonly description: "Border color";
132
132
  };
133
+ readonly 'style.borderRadius': {
134
+ readonly type: "number";
135
+ readonly default: 0;
136
+ readonly min: 0;
137
+ readonly step: 1;
138
+ readonly description: "Border radius";
139
+ readonly hiddenFromList: false;
140
+ readonly keyframable: true;
141
+ };
142
+ readonly 'style.borderTopLeftRadius': {
143
+ readonly type: "number";
144
+ readonly default: 0;
145
+ readonly min: 0;
146
+ readonly step: 1;
147
+ readonly description: "Top left radius";
148
+ readonly hiddenFromList: false;
149
+ };
150
+ readonly 'style.borderTopRightRadius': {
151
+ readonly type: "number";
152
+ readonly default: 0;
153
+ readonly min: 0;
154
+ readonly step: 1;
155
+ readonly description: "Top right radius";
156
+ readonly hiddenFromList: false;
157
+ };
158
+ readonly 'style.borderBottomRightRadius': {
159
+ readonly type: "number";
160
+ readonly default: 0;
161
+ readonly min: 0;
162
+ readonly step: 1;
163
+ readonly description: "Bottom right radius";
164
+ readonly hiddenFromList: false;
165
+ };
166
+ readonly 'style.borderBottomLeftRadius': {
167
+ readonly type: "number";
168
+ readonly default: 0;
169
+ readonly min: 0;
170
+ readonly step: 1;
171
+ readonly description: "Bottom left radius";
172
+ readonly hiddenFromList: false;
173
+ };
133
174
  readonly 'style.backgroundColor': {
134
175
  readonly type: "color";
135
176
  readonly default: "transparent";
136
177
  readonly description: "Color";
137
178
  };
179
+ readonly cropLeft: {
180
+ readonly type: "number";
181
+ readonly default: 0;
182
+ readonly description: "Crop left";
183
+ readonly min: 0;
184
+ readonly max: 1;
185
+ readonly step: 0.01;
186
+ readonly hiddenFromList: false;
187
+ readonly keyframable: true;
188
+ };
189
+ readonly cropRight: {
190
+ readonly type: "number";
191
+ readonly default: 0;
192
+ readonly description: "Crop right";
193
+ readonly min: 0;
194
+ readonly max: 1;
195
+ readonly step: 0.01;
196
+ readonly hiddenFromList: false;
197
+ readonly keyframable: true;
198
+ };
199
+ readonly cropTop: {
200
+ readonly type: "number";
201
+ readonly default: 0;
202
+ readonly description: "Crop top";
203
+ readonly min: 0;
204
+ readonly max: 1;
205
+ readonly step: 0.01;
206
+ readonly hiddenFromList: false;
207
+ readonly keyframable: true;
208
+ };
209
+ readonly cropBottom: {
210
+ readonly type: "number";
211
+ readonly default: 0;
212
+ readonly description: "Crop bottom";
213
+ readonly min: 0;
214
+ readonly max: 1;
215
+ readonly step: 0.01;
216
+ readonly hiddenFromList: false;
217
+ readonly keyframable: true;
218
+ };
138
219
  readonly durationInFrames: {
139
220
  readonly type: "number";
140
221
  readonly default: undefined;
@@ -174,7 +255,7 @@ export declare const htmlInCanvasSchema: {
174
255
  readonly hiddenFromList: false;
175
256
  };
176
257
  };
177
- export declare const HtmlInCanvas: React.ForwardRefExoticComponent<Omit<InteractiveBaseProps, "children"> & Omit<AbsoluteFillLayout, "layout" | "postmountFor" | "premountFor" | "styleWhilePostmounted" | "styleWhilePremounted"> & {
258
+ export declare const HtmlInCanvas: React.ForwardRefExoticComponent<Omit<InteractiveBaseProps, "children"> & InteractiveCropProps & Omit<AbsoluteFillLayout, "layout" | "postmountFor" | "premountFor" | "styleWhilePostmounted" | "styleWhilePremounted"> & {
178
259
  readonly durationInFrames?: number | undefined;
179
260
  readonly width: number;
180
261
  readonly height: number;