@remotion/studio-shared 4.0.485 → 4.0.487

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.
@@ -222,16 +222,37 @@ export type UnsubscribeFromSequencePropsRequest = {
222
222
  sequenceKeys: string[];
223
223
  effectKeys: string[][];
224
224
  };
225
+ export type GoogleFontSourceEdit = {
226
+ fontFamily: string;
227
+ importName: string;
228
+ style: string;
229
+ weights: string[];
230
+ subsets: string[];
231
+ };
232
+ export type SaveSequencePropSourceEdit = {
233
+ type: 'google-font';
234
+ font: GoogleFontSourceEdit;
235
+ };
225
236
  export type SaveSequencePropEdit = {
226
237
  fileName: string;
227
238
  nodePath: SequencePropsSubscriptionKey;
228
239
  key: string;
229
- value: string;
240
+ value: {
241
+ type: 'json';
242
+ serialized: string;
243
+ } | {
244
+ type: 'undefined';
245
+ };
230
246
  defaultValue: string | null;
231
247
  schema: InteractivitySchema;
248
+ sourceEdit: SaveSequencePropSourceEdit | null;
232
249
  };
233
250
  export type SaveSequencePropsRequest = {
234
251
  edits: SaveSequencePropEdit[];
252
+ movedKeyframes?: {
253
+ sequenceKeyframes: MoveSequenceKeyframe[];
254
+ effectKeyframes: MoveEffectKeyframe[];
255
+ };
235
256
  clientId: string;
236
257
  undoLabel: string;
237
258
  redoLabel: string;
@@ -524,6 +545,15 @@ export type InsertableCompositionElement = {
524
545
  height: number;
525
546
  } | null;
526
547
  position: InsertableCompositionElementPosition | null;
548
+ } | {
549
+ type: 'composition';
550
+ compositionId: string;
551
+ compositionFile: string;
552
+ durationInFrames: number;
553
+ width: number;
554
+ height: number;
555
+ serializedResolvedPropsWithCustomSchema: string;
556
+ position: InsertableCompositionElementPosition | null;
527
557
  };
528
558
  export type InsertableCompositionElementPosition = {
529
559
  x: number;
@@ -1,4 +1,4 @@
1
- export declare const ASSET_DRAG_MIME_TYPE = "application/vnd.remotion.asset+json";
1
+ export { ASSET_DRAG_MIME_TYPE } from './drag-mime-types';
2
2
  export type AssetDragData = {
3
3
  type: 'remotion-asset';
4
4
  version: 1;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseAssetDragData = exports.makeAssetDragData = exports.ASSET_DRAG_MIME_TYPE = void 0;
4
- exports.ASSET_DRAG_MIME_TYPE = 'application/vnd.remotion.asset+json';
4
+ const drag_mime_types_1 = require("./drag-mime-types");
5
+ Object.defineProperty(exports, "ASSET_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.ASSET_DRAG_MIME_TYPE; } });
5
6
  const isRecord = (value) => {
6
7
  return typeof value === 'object' && value !== null && !Array.isArray(value);
7
8
  };
@@ -36,11 +36,20 @@ export type RecastCodemod = {
36
36
  } | {
37
37
  type: 'delete-composition';
38
38
  idToDelete: string;
39
+ } | {
40
+ type: 'move-composition-to-folder';
41
+ idToMove: string;
42
+ folderName: string | null;
43
+ parentName: string | null;
39
44
  } | {
40
45
  type: 'rename-folder';
41
46
  folderName: string;
42
47
  parentName: string | null;
43
48
  newName: string;
49
+ } | {
50
+ type: 'new-folder';
51
+ folderName: string;
52
+ parentName: string | null;
44
53
  } | {
45
54
  type: 'delete-folder';
46
55
  folderName: string;
@@ -1,4 +1,4 @@
1
- export declare const COMPONENT_DRAG_MIME_TYPE = "application/vnd.remotion.component+json";
1
+ export { COMPONENT_DRAG_MIME_TYPE } from './drag-mime-types';
2
2
  export type ComponentProp = {
3
3
  name: string;
4
4
  value: string | number | boolean;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseComponentDragData = exports.makeComponentDragData = exports.areComponentProps = exports.isComponentProp = exports.isComponentPropName = exports.isComponentImportPath = exports.isComponentIdentifier = exports.COMPONENT_DRAG_MIME_TYPE = void 0;
4
- exports.COMPONENT_DRAG_MIME_TYPE = 'application/vnd.remotion.component+json';
4
+ const drag_mime_types_1 = require("./drag-mime-types");
5
+ Object.defineProperty(exports, "COMPONENT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.COMPONENT_DRAG_MIME_TYPE; } });
5
6
  const isRecord = (value) => {
6
7
  return typeof value === 'object' && value !== null && !Array.isArray(value);
7
8
  };
@@ -0,0 +1,12 @@
1
+ export { COMPOSITION_DRAG_MIME_TYPE } from './drag-mime-types';
2
+ export type CompositionDragData = {
3
+ type: 'remotion-composition';
4
+ version: 1;
5
+ compositionId: string;
6
+ compositionFile: string | null;
7
+ };
8
+ export declare const makeCompositionDragData: ({ compositionFile, compositionId, }: {
9
+ compositionFile: string | null;
10
+ compositionId: string;
11
+ }) => CompositionDragData;
12
+ export declare const parseCompositionDragData: (value: string) => CompositionDragData | null;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCompositionDragData = exports.makeCompositionDragData = exports.COMPOSITION_DRAG_MIME_TYPE = void 0;
4
+ const drag_mime_types_1 = require("./drag-mime-types");
5
+ Object.defineProperty(exports, "COMPOSITION_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.COMPOSITION_DRAG_MIME_TYPE; } });
6
+ const isRecord = (value) => {
7
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
8
+ };
9
+ const isCompositionId = (value) => {
10
+ return (typeof value === 'string' &&
11
+ value.length > 0 &&
12
+ value.length < 500 &&
13
+ /^([a-zA-Z0-9-\u4E00-\u9FFF])+$/.test(value));
14
+ };
15
+ const hasParentDirectorySegment = (value) => {
16
+ return value.split('/').includes('..');
17
+ };
18
+ const isCompositionFile = (value) => {
19
+ if (value === null) {
20
+ return true;
21
+ }
22
+ return (typeof value === 'string' &&
23
+ value.length > 0 &&
24
+ value.length < 2000 &&
25
+ !value.includes('\0') &&
26
+ !value.includes('\\') &&
27
+ !value.startsWith('/') &&
28
+ !hasParentDirectorySegment(value));
29
+ };
30
+ const makeCompositionDragData = ({ compositionFile, compositionId, }) => {
31
+ return {
32
+ type: 'remotion-composition',
33
+ version: 1,
34
+ compositionFile,
35
+ compositionId,
36
+ };
37
+ };
38
+ exports.makeCompositionDragData = makeCompositionDragData;
39
+ const parseCompositionDragData = (value) => {
40
+ try {
41
+ const parsed = JSON.parse(value);
42
+ if (!isRecord(parsed)) {
43
+ return null;
44
+ }
45
+ if (parsed.type !== 'remotion-composition' || parsed.version !== 1) {
46
+ return null;
47
+ }
48
+ if (!isCompositionId(parsed.compositionId) ||
49
+ !isCompositionFile(parsed.compositionFile)) {
50
+ return null;
51
+ }
52
+ return (0, exports.makeCompositionDragData)({
53
+ compositionFile: parsed.compositionFile,
54
+ compositionId: parsed.compositionId,
55
+ });
56
+ }
57
+ catch (_a) {
58
+ return null;
59
+ }
60
+ };
61
+ exports.parseCompositionDragData = parseCompositionDragData;
@@ -0,0 +1,9 @@
1
+ export declare const ASSET_DRAG_MIME_TYPE = "application/vnd.remotion.asset+json";
2
+ export declare const COMPONENT_DRAG_MIME_TYPE = "application/vnd.remotion.component+json";
3
+ export declare const COMPOSITION_DRAG_MIME_TYPE = "application/vnd.remotion.composition+json";
4
+ export declare const EFFECT_DRAG_MIME_TYPE = "application/vnd.remotion.effect+json";
5
+ export declare const ELEMENT_DRAG_MIME_TYPE = "application/vnd.remotion.element+json";
6
+ export declare const SFX_DRAG_MIME_TYPE = "application/vnd.remotion.sfx+json";
7
+ export declare const REMOTION_DRAG_MIME_TYPES: readonly ["application/vnd.remotion.asset+json", "application/vnd.remotion.component+json", "application/vnd.remotion.composition+json", "application/vnd.remotion.effect+json", "application/vnd.remotion.element+json", "application/vnd.remotion.sfx+json"];
8
+ export type RemotionDragMimeType = (typeof REMOTION_DRAG_MIME_TYPES)[number];
9
+ export declare const isRemotionDragMimeType: (type: string) => type is "application/vnd.remotion.asset+json" | "application/vnd.remotion.component+json" | "application/vnd.remotion.composition+json" | "application/vnd.remotion.effect+json" | "application/vnd.remotion.element+json" | "application/vnd.remotion.sfx+json";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isRemotionDragMimeType = exports.REMOTION_DRAG_MIME_TYPES = exports.SFX_DRAG_MIME_TYPE = exports.ELEMENT_DRAG_MIME_TYPE = exports.EFFECT_DRAG_MIME_TYPE = exports.COMPOSITION_DRAG_MIME_TYPE = exports.COMPONENT_DRAG_MIME_TYPE = exports.ASSET_DRAG_MIME_TYPE = void 0;
4
+ exports.ASSET_DRAG_MIME_TYPE = 'application/vnd.remotion.asset+json';
5
+ exports.COMPONENT_DRAG_MIME_TYPE = 'application/vnd.remotion.component+json';
6
+ exports.COMPOSITION_DRAG_MIME_TYPE = 'application/vnd.remotion.composition+json';
7
+ exports.EFFECT_DRAG_MIME_TYPE = 'application/vnd.remotion.effect+json';
8
+ exports.ELEMENT_DRAG_MIME_TYPE = 'application/vnd.remotion.element+json';
9
+ exports.SFX_DRAG_MIME_TYPE = 'application/vnd.remotion.sfx+json';
10
+ exports.REMOTION_DRAG_MIME_TYPES = [
11
+ exports.ASSET_DRAG_MIME_TYPE,
12
+ exports.COMPONENT_DRAG_MIME_TYPE,
13
+ exports.COMPOSITION_DRAG_MIME_TYPE,
14
+ exports.EFFECT_DRAG_MIME_TYPE,
15
+ exports.ELEMENT_DRAG_MIME_TYPE,
16
+ exports.SFX_DRAG_MIME_TYPE,
17
+ ];
18
+ const isRemotionDragMimeType = (type) => {
19
+ return exports.REMOTION_DRAG_MIME_TYPES.some((mimeType) => mimeType === type);
20
+ };
21
+ exports.isRemotionDragMimeType = isRemotionDragMimeType;
@@ -477,6 +477,28 @@ exports.EFFECT_CATALOG = [
477
477
  },
478
478
  },
479
479
  },
480
+ {
481
+ id: 'effects-paper',
482
+ category: 'Stylize',
483
+ label: 'paper()',
484
+ description: 'Procedural paper texture effect',
485
+ effect: {
486
+ name: 'paper',
487
+ importPath: '@remotion/effects/paper',
488
+ config: {},
489
+ },
490
+ },
491
+ {
492
+ id: 'effects-roughen-edges',
493
+ category: 'Stylize',
494
+ label: 'roughenEdges()',
495
+ description: 'Procedural alpha-edge roughening',
496
+ effect: {
497
+ name: 'roughenEdges',
498
+ importPath: '@remotion/effects/roughen-edges',
499
+ config: {},
500
+ },
501
+ },
480
502
  {
481
503
  id: 'effects-pattern',
482
504
  category: 'Stylize',
@@ -1,4 +1,4 @@
1
- export declare const EFFECT_DRAG_MIME_TYPE = "application/vnd.remotion.effect+json";
1
+ export { EFFECT_DRAG_MIME_TYPE } from './drag-mime-types';
2
2
  export type EffectDragData = {
3
3
  type: 'remotion-effect';
4
4
  version: 1;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseEffectDragData = exports.EFFECT_DRAG_MIME_TYPE = void 0;
4
- exports.EFFECT_DRAG_MIME_TYPE = 'application/vnd.remotion.effect+json';
4
+ const drag_mime_types_1 = require("./drag-mime-types");
5
+ Object.defineProperty(exports, "EFFECT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.EFFECT_DRAG_MIME_TYPE; } });
5
6
  const isRecord = (value) => {
6
7
  return typeof value === 'object' && value !== null && !Array.isArray(value);
7
8
  };
@@ -1,5 +1,5 @@
1
1
  import { type ComponentDimensions } from './component-drag-data';
2
- export declare const ELEMENT_DRAG_MIME_TYPE = "application/vnd.remotion.element+json";
2
+ export { ELEMENT_DRAG_MIME_TYPE } from './drag-mime-types';
3
3
  export type ElementDragData = {
4
4
  type: 'remotion-element';
5
5
  version: 1;
@@ -7,7 +7,7 @@ export type ElementDragData = {
7
7
  slug: string;
8
8
  displayName: string;
9
9
  sourceCode: string;
10
- dimensions: ComponentDimensions;
10
+ dimensions: ComponentDimensions | null;
11
11
  };
12
12
  };
13
13
  export declare const isLowercaseElementFileName: (value: unknown) => value is string;
@@ -17,6 +17,6 @@ export declare const makeElementDragData: ({ dimensions, displayName, slug, sour
17
17
  slug: string;
18
18
  displayName: string;
19
19
  sourceCode: string;
20
- dimensions: ComponentDimensions;
20
+ dimensions: ComponentDimensions | null;
21
21
  }) => ElementDragData;
22
22
  export declare const parseElementDragData: (value: string) => ElementDragData | null;
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseElementDragData = exports.makeElementDragData = exports.getElementComponentNameFromSourceCode = exports.makeElementFileNameFromSlug = exports.isLowercaseElementFileName = exports.ELEMENT_DRAG_MIME_TYPE = void 0;
4
4
  const component_drag_data_1 = require("./component-drag-data");
5
- exports.ELEMENT_DRAG_MIME_TYPE = 'application/vnd.remotion.element+json';
5
+ const drag_mime_types_1 = require("./drag-mime-types");
6
+ Object.defineProperty(exports, "ELEMENT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.ELEMENT_DRAG_MIME_TYPE; } });
6
7
  const isRecord = (value) => {
7
8
  return typeof value === 'object' && value !== null && !Array.isArray(value);
8
9
  };
@@ -99,14 +100,16 @@ const parseElementDragData = (value) => {
99
100
  !isSourceCode(sourceCode) ||
100
101
  (0, exports.getElementComponentNameFromSourceCode)(sourceCode) === null ||
101
102
  (0, exports.makeElementFileNameFromSlug)(slug) === null ||
102
- !isDimensions(dimensions)) {
103
+ (dimensions !== undefined &&
104
+ dimensions !== null &&
105
+ !isDimensions(dimensions))) {
103
106
  return null;
104
107
  }
105
108
  return (0, exports.makeElementDragData)({
106
109
  slug,
107
110
  displayName,
108
111
  sourceCode,
109
- dimensions,
112
+ dimensions: dimensions !== null && dimensions !== void 0 ? dimensions : null,
110
113
  });
111
114
  }
112
115
  catch (_a) {
package/dist/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export { splitAnsi, stripAnsi } from './ansi';
2
- export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, PasteEffectsRequest, PasteEffectsResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveSequencePropEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
2
+ export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, PasteEffectsRequest, PasteEffectsResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, GoogleFontSourceEdit, SaveSequencePropSourceEdit, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveSequencePropEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
3
3
  export { ASSET_DRAG_MIME_TYPE, makeAssetDragData, parseAssetDragData, type AssetDragData, } from './asset-drag-data';
4
4
  export type { ApplyVisualControlCodemod, RecastCodemod } from './codemods';
5
5
  export { COMPONENT_DRAG_MIME_TYPE, areComponentProps, isComponentIdentifier, isComponentImportPath, makeComponentDragData, parseComponentDragData, type ComponentDimensions, type ComponentDragData, type ComponentProp, } from './component-drag-data';
6
+ export { COMPOSITION_DRAG_MIME_TYPE, makeCompositionDragData, parseCompositionDragData, type CompositionDragData, } from './composition-drag-data';
6
7
  export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
7
8
  export { getDefinePluginDefinitions } from './define-plugin-definitions';
8
9
  export { detectFileType, isImageFileType, type FileDimensions, type FileType, type ImageFileType, } from './detect-file-type';
10
+ export { isRemotionDragMimeType, REMOTION_DRAG_MIME_TYPES, type RemotionDragMimeType, } from './drag-mime-types';
9
11
  export { parseEasingClipboardData, parseEasingClipboardDataResult, type EasingClipboardData, type EasingClipboardDataParseResult, } from './easing-clipboard-data';
10
12
  export { EFFECT_CATALOG, getEffectCatalogCategories, getEffectDocumentationLink, getEffectDocumentationPath, getEffectPreviewAlt, getEffectPreviewSource, makeEffectDragDataFromCatalogItem, type EffectCatalogCategory, type EffectCatalogItem, } from './effect-catalog';
11
13
  export { parseEffectClipboardData, parseEffectClipboardDataResult, parseEffectPropClipboardData, parseEffectPropClipboardDataResult, type EffectClipboardClamping, type EffectClipboardData, type EffectClipboardDataParseResult, type EffectClipboardEasing, type EffectClipboardExtrapolateType, type EffectClipboardInterpolationFunction, type EffectClipboardKeyframe, type EffectClipboardKeyframedParam, type EffectClipboardParam, type EffectClipboardPasteType, type EffectClipboardSnapshot, type EffectClipboardStaticParam, type EffectPropClipboardData, type EffectPropClipboardDataParseResult, } from './effect-clipboard-data';
@@ -19,7 +21,7 @@ export { ErrorLocation, getLocationFromBuildError, } from './get-location-from-b
19
21
  export { getProjectName } from './get-project-name';
20
22
  export type { GitSource } from './git-source';
21
23
  export { HotMiddlewareMessage, HotMiddlewareOptions, ModuleMap, hotMiddlewareOptions, } from './hot-middleware';
22
- export { KEYFRAME_EASING_PRESETS, LINEAR_KEYFRAME_EASING, type KeyframeEasing, type KeyframeEasingPreset, } from './keyframe-easing-presets';
24
+ export { CUBIC_KEYFRAME_EASING, EASE_KEYFRAME_EASING, getBackKeyframeEasing, getOutKeyframeEasing, getPolyKeyframeEasing, KEYFRAME_EASING_PRESETS, LINEAR_KEYFRAME_EASING, QUAD_KEYFRAME_EASING, type KeyframeEasing, type KeyframeEasingPreset, } from './keyframe-easing-presets';
23
25
  export { getKeyframeInterpolationFunction, getKeyframeInterpolationFunctionForSchemaField, isInteractivitySchemaFieldKeyframable, isKeyframeInterpolationFunction, isSchemaFieldKeyframable, keyframeInterpolationFunctions, type KeyframeInterpolationFunction, } from './keyframe-interpolation-function';
24
26
  export { DEFAULT_TIMELINE_TRACKS } from './max-timeline-tracks';
25
27
  export { Pkgs, apiDocs, descriptions, extraPackages, installableMap, packages, type ExtraPackage, } from './package-info';
package/dist/index.js CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAllSchemaKeys = exports.formatBytes = exports.parseElementDragData = exports.makeElementFileNameFromSlug = exports.makeElementDragData = exports.isLowercaseElementFileName = exports.getElementComponentNameFromSourceCode = exports.ELEMENT_DRAG_MIME_TYPE = exports.parseEffectDragData = exports.EFFECT_DRAG_MIME_TYPE = exports.parseEffectPropClipboardDataResult = exports.parseEffectPropClipboardData = exports.parseEffectClipboardDataResult = exports.parseEffectClipboardData = exports.makeEffectDragDataFromCatalogItem = exports.getEffectPreviewSource = exports.getEffectPreviewAlt = exports.getEffectDocumentationPath = exports.getEffectDocumentationLink = exports.getEffectCatalogCategories = exports.EFFECT_CATALOG = exports.parseEasingClipboardDataResult = exports.parseEasingClipboardData = exports.isImageFileType = exports.detectFileType = exports.getDefinePluginDefinitions = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.parseComponentDragData = exports.makeComponentDragData = exports.isComponentImportPath = exports.isComponentIdentifier = exports.areComponentProps = exports.COMPONENT_DRAG_MIME_TYPE = exports.parseAssetDragData = exports.makeAssetDragData = exports.ASSET_DRAG_MIME_TYPE = exports.stripAnsi = exports.splitAnsi = void 0;
18
- exports.isUrl = exports.stringifySequenceSubscriptionKey = exports.stringifySequenceExpandedRowKey = exports.optimisticUpdateSequenceKeyframeSettings = exports.optimisticUpdateEffectKeyframeSettings = exports.optimisticUpdateForPropStatuses = exports.optimisticUpdateForEffectPropStatuses = exports.optimisticMoveSequenceKeyframes = exports.optimisticMoveEffectKeyframes = exports.moveKeyframesInPropStatus = exports.canMoveKeyframesWithoutCollisions = exports.optimisticDeleteSequenceKeyframes = exports.optimisticDeleteSequenceKeyframe = exports.optimisticDeleteEffectKeyframes = exports.optimisticDeleteEffectKeyframe = exports.optimisticAddSequenceKeyframe = exports.optimisticAddEffectKeyframe = exports.stringifyDefaultProps = exports.studioHtml = exports.getStudioEntryPoints = exports.parseSfxDragData = exports.SFX_DRAG_MIME_TYPE = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.getRequiredPackageForInsertableElement = exports.getRequiredPackageForEffectImportPath = exports.parseSpringEasingConfig = exports.DEFAULT_SPRING_EASING = exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = void 0;
17
+ exports.getBackKeyframeEasing = exports.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAllSchemaKeys = exports.formatBytes = exports.parseElementDragData = exports.makeElementFileNameFromSlug = exports.makeElementDragData = exports.isLowercaseElementFileName = exports.getElementComponentNameFromSourceCode = exports.ELEMENT_DRAG_MIME_TYPE = exports.parseEffectDragData = exports.EFFECT_DRAG_MIME_TYPE = exports.parseEffectPropClipboardDataResult = exports.parseEffectPropClipboardData = exports.parseEffectClipboardDataResult = exports.parseEffectClipboardData = exports.makeEffectDragDataFromCatalogItem = exports.getEffectPreviewSource = exports.getEffectPreviewAlt = exports.getEffectDocumentationPath = exports.getEffectDocumentationLink = exports.getEffectCatalogCategories = exports.EFFECT_CATALOG = exports.parseEasingClipboardDataResult = exports.parseEasingClipboardData = exports.REMOTION_DRAG_MIME_TYPES = exports.isRemotionDragMimeType = exports.isImageFileType = exports.detectFileType = exports.getDefinePluginDefinitions = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.parseCompositionDragData = exports.makeCompositionDragData = exports.COMPOSITION_DRAG_MIME_TYPE = exports.parseComponentDragData = exports.makeComponentDragData = exports.isComponentImportPath = exports.isComponentIdentifier = exports.areComponentProps = exports.COMPONENT_DRAG_MIME_TYPE = exports.parseAssetDragData = exports.makeAssetDragData = exports.ASSET_DRAG_MIME_TYPE = exports.stripAnsi = exports.splitAnsi = void 0;
18
+ exports.isUrl = exports.stringifySequenceSubscriptionKey = exports.stringifySequenceExpandedRowKey = exports.optimisticUpdateSequenceKeyframeSettings = exports.optimisticUpdateEffectKeyframeSettings = exports.optimisticUpdateForPropStatuses = exports.optimisticUpdateForEffectPropStatuses = exports.optimisticMoveSequenceKeyframes = exports.optimisticMoveEffectKeyframes = exports.moveKeyframesInPropStatus = exports.canMoveKeyframesWithoutCollisions = exports.optimisticDeleteSequenceKeyframes = exports.optimisticDeleteSequenceKeyframe = exports.optimisticDeleteEffectKeyframes = exports.optimisticDeleteEffectKeyframe = exports.optimisticAddSequenceKeyframe = exports.optimisticAddEffectKeyframe = exports.stringifyDefaultProps = exports.studioHtml = exports.getStudioEntryPoints = exports.parseSfxDragData = exports.SFX_DRAG_MIME_TYPE = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.getRequiredPackageForInsertableElement = exports.getRequiredPackageForEffectImportPath = exports.parseSpringEasingConfig = exports.DEFAULT_SPRING_EASING = exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = void 0;
19
19
  const ansi_1 = require("./ansi");
20
20
  Object.defineProperty(exports, "splitAnsi", { enumerable: true, get: function () { return ansi_1.splitAnsi; } });
21
21
  Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return ansi_1.stripAnsi; } });
@@ -31,6 +31,10 @@ Object.defineProperty(exports, "isComponentIdentifier", { enumerable: true, get:
31
31
  Object.defineProperty(exports, "isComponentImportPath", { enumerable: true, get: function () { return component_drag_data_1.isComponentImportPath; } });
32
32
  Object.defineProperty(exports, "makeComponentDragData", { enumerable: true, get: function () { return component_drag_data_1.makeComponentDragData; } });
33
33
  Object.defineProperty(exports, "parseComponentDragData", { enumerable: true, get: function () { return component_drag_data_1.parseComponentDragData; } });
34
+ const composition_drag_data_1 = require("./composition-drag-data");
35
+ Object.defineProperty(exports, "COMPOSITION_DRAG_MIME_TYPE", { enumerable: true, get: function () { return composition_drag_data_1.COMPOSITION_DRAG_MIME_TYPE; } });
36
+ Object.defineProperty(exports, "makeCompositionDragData", { enumerable: true, get: function () { return composition_drag_data_1.makeCompositionDragData; } });
37
+ Object.defineProperty(exports, "parseCompositionDragData", { enumerable: true, get: function () { return composition_drag_data_1.parseCompositionDragData; } });
34
38
  const default_buffer_state_delay_in_milliseconds_1 = require("./default-buffer-state-delay-in-milliseconds");
35
39
  Object.defineProperty(exports, "DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS", { enumerable: true, get: function () { return default_buffer_state_delay_in_milliseconds_1.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS; } });
36
40
  const define_plugin_definitions_1 = require("./define-plugin-definitions");
@@ -38,6 +42,9 @@ Object.defineProperty(exports, "getDefinePluginDefinitions", { enumerable: true,
38
42
  const detect_file_type_1 = require("./detect-file-type");
39
43
  Object.defineProperty(exports, "detectFileType", { enumerable: true, get: function () { return detect_file_type_1.detectFileType; } });
40
44
  Object.defineProperty(exports, "isImageFileType", { enumerable: true, get: function () { return detect_file_type_1.isImageFileType; } });
45
+ const drag_mime_types_1 = require("./drag-mime-types");
46
+ Object.defineProperty(exports, "isRemotionDragMimeType", { enumerable: true, get: function () { return drag_mime_types_1.isRemotionDragMimeType; } });
47
+ Object.defineProperty(exports, "REMOTION_DRAG_MIME_TYPES", { enumerable: true, get: function () { return drag_mime_types_1.REMOTION_DRAG_MIME_TYPES; } });
41
48
  const easing_clipboard_data_1 = require("./easing-clipboard-data");
42
49
  Object.defineProperty(exports, "parseEasingClipboardData", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardData; } });
43
50
  Object.defineProperty(exports, "parseEasingClipboardDataResult", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardDataResult; } });
@@ -77,8 +84,14 @@ Object.defineProperty(exports, "getProjectName", { enumerable: true, get: functi
77
84
  const hot_middleware_1 = require("./hot-middleware");
78
85
  Object.defineProperty(exports, "hotMiddlewareOptions", { enumerable: true, get: function () { return hot_middleware_1.hotMiddlewareOptions; } });
79
86
  const keyframe_easing_presets_1 = require("./keyframe-easing-presets");
87
+ Object.defineProperty(exports, "CUBIC_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.CUBIC_KEYFRAME_EASING; } });
88
+ Object.defineProperty(exports, "EASE_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.EASE_KEYFRAME_EASING; } });
89
+ Object.defineProperty(exports, "getBackKeyframeEasing", { enumerable: true, get: function () { return keyframe_easing_presets_1.getBackKeyframeEasing; } });
90
+ Object.defineProperty(exports, "getOutKeyframeEasing", { enumerable: true, get: function () { return keyframe_easing_presets_1.getOutKeyframeEasing; } });
91
+ Object.defineProperty(exports, "getPolyKeyframeEasing", { enumerable: true, get: function () { return keyframe_easing_presets_1.getPolyKeyframeEasing; } });
80
92
  Object.defineProperty(exports, "KEYFRAME_EASING_PRESETS", { enumerable: true, get: function () { return keyframe_easing_presets_1.KEYFRAME_EASING_PRESETS; } });
81
93
  Object.defineProperty(exports, "LINEAR_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.LINEAR_KEYFRAME_EASING; } });
94
+ Object.defineProperty(exports, "QUAD_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.QUAD_KEYFRAME_EASING; } });
82
95
  const keyframe_interpolation_function_1 = require("./keyframe-interpolation-function");
83
96
  Object.defineProperty(exports, "getKeyframeInterpolationFunction", { enumerable: true, get: function () { return keyframe_interpolation_function_1.getKeyframeInterpolationFunction; } });
84
97
  Object.defineProperty(exports, "getKeyframeInterpolationFunctionForSchemaField", { enumerable: true, get: function () { return keyframe_interpolation_function_1.getKeyframeInterpolationFunctionForSchemaField; } });
@@ -6,4 +6,10 @@ export type KeyframeEasingPreset = {
6
6
  readonly easing: KeyframeEasing;
7
7
  };
8
8
  export declare const LINEAR_KEYFRAME_EASING: KeyframeEasing;
9
+ export declare const EASE_KEYFRAME_EASING: KeyframeEasing;
10
+ export declare const QUAD_KEYFRAME_EASING: KeyframeEasing;
11
+ export declare const CUBIC_KEYFRAME_EASING: KeyframeEasing;
12
+ export declare const getBackKeyframeEasing: (s?: number) => CanUpdateSequencePropStatusEasing;
13
+ export declare const getPolyKeyframeEasing: (n: number) => CanUpdateSequencePropStatusEasing | null;
14
+ export declare const getOutKeyframeEasing: (easing: CanUpdateSequencePropStatusEasing) => CanUpdateSequencePropStatusEasing | null;
9
15
  export declare const KEYFRAME_EASING_PRESETS: KeyframeEasingPreset[];
@@ -1,7 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KEYFRAME_EASING_PRESETS = exports.LINEAR_KEYFRAME_EASING = void 0;
3
+ exports.KEYFRAME_EASING_PRESETS = exports.getOutKeyframeEasing = exports.getPolyKeyframeEasing = exports.getBackKeyframeEasing = exports.CUBIC_KEYFRAME_EASING = exports.QUAD_KEYFRAME_EASING = exports.EASE_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = void 0;
4
4
  exports.LINEAR_KEYFRAME_EASING = { type: 'linear' };
5
+ exports.EASE_KEYFRAME_EASING = {
6
+ type: 'bezier',
7
+ x1: 0.42,
8
+ y1: 0,
9
+ x2: 1,
10
+ y2: 1,
11
+ };
12
+ exports.QUAD_KEYFRAME_EASING = {
13
+ type: 'bezier',
14
+ x1: 1 / 3,
15
+ y1: 0,
16
+ x2: 2 / 3,
17
+ y2: 1 / 3,
18
+ };
19
+ exports.CUBIC_KEYFRAME_EASING = {
20
+ type: 'bezier',
21
+ x1: 1 / 3,
22
+ y1: 0,
23
+ x2: 2 / 3,
24
+ y2: 0,
25
+ };
26
+ const getBackKeyframeEasing = (s = 1.70158) => ({
27
+ type: 'bezier',
28
+ x1: 1 / 3,
29
+ y1: 0,
30
+ x2: 2 / 3,
31
+ y2: -s / 3,
32
+ });
33
+ exports.getBackKeyframeEasing = getBackKeyframeEasing;
34
+ const getPolyKeyframeEasing = (n) => {
35
+ if (n === 1) {
36
+ return exports.LINEAR_KEYFRAME_EASING;
37
+ }
38
+ if (n === 2) {
39
+ return exports.QUAD_KEYFRAME_EASING;
40
+ }
41
+ if (n === 3) {
42
+ return exports.CUBIC_KEYFRAME_EASING;
43
+ }
44
+ return null;
45
+ };
46
+ exports.getPolyKeyframeEasing = getPolyKeyframeEasing;
47
+ const getOutKeyframeEasing = (easing) => {
48
+ if (easing.type === 'linear') {
49
+ return exports.LINEAR_KEYFRAME_EASING;
50
+ }
51
+ if (easing.type !== 'bezier') {
52
+ return null;
53
+ }
54
+ return {
55
+ type: 'bezier',
56
+ x1: 1 - easing.x2,
57
+ y1: 1 - easing.y2,
58
+ x2: 1 - easing.x1,
59
+ y2: 1 - easing.y1,
60
+ };
61
+ };
62
+ exports.getOutKeyframeEasing = getOutKeyframeEasing;
5
63
  exports.KEYFRAME_EASING_PRESETS = [
6
64
  {
7
65
  id: 'ease-in',
@@ -15,7 +15,8 @@ const isInteractivitySchemaFieldKeyframable = (field) => {
15
15
  }
16
16
  if (field.type === 'array' ||
17
17
  field.type === 'boolean' ||
18
- field.type === 'enum') {
18
+ field.type === 'enum' ||
19
+ field.type === 'font-family') {
19
20
  return false;
20
21
  }
21
22
  return field.keyframable !== false;
@@ -103,16 +103,22 @@ exports.packages = [
103
103
  exports.extraPackages = [
104
104
  {
105
105
  name: 'mediabunny',
106
- version: '1.50.3',
106
+ version: '1.50.7',
107
107
  description: 'Multimedia library used by Remotion',
108
108
  docsUrl: 'https://www.remotion.dev/docs/mediabunny/version',
109
109
  },
110
110
  {
111
111
  name: '@mediabunny/ac3',
112
- version: '1.50.3',
112
+ version: '1.50.7',
113
113
  description: 'AC-3 and E-AC-3 audio codec support for Mediabunny',
114
114
  docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3',
115
115
  },
116
+ {
117
+ name: '@mediabunny/prores',
118
+ version: '1.50.7',
119
+ description: 'Apple ProRes decoder support for Mediabunny',
120
+ docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats',
121
+ },
116
122
  {
117
123
  name: 'zod',
118
124
  version: '4.3.6',
@@ -20,6 +20,9 @@ const getRequiredPackageForInsertableElement = (element) => {
20
20
  if (element.type === 'component') {
21
21
  return (0, exports.getRequiredPackageForImportPath)(element.importPath);
22
22
  }
23
+ if (element.type === 'composition') {
24
+ return null;
25
+ }
23
26
  if (element.assetType === 'video' || element.assetType === 'audio') {
24
27
  return '@remotion/media';
25
28
  }
@@ -34,7 +34,7 @@ export declare const SCHEMA_FIELD_GROUPS: readonly [{
34
34
  readonly label: "Text";
35
35
  }];
36
36
  export declare const getSchemaFieldGroup: (key: string) => SchemaFieldGroup;
37
- declare const SUPPORTED_SCHEMA_TYPES: readonly ["number", "boolean", "rotation-css", "rotation-degrees", "translate", "transform-origin", "scale", "uv-coordinate", "color", "text-content", "array", "enum", "hidden"];
37
+ declare const SUPPORTED_SCHEMA_TYPES: readonly ["number", "boolean", "rotation-css", "rotation-degrees", "translate", "transform-origin", "scale", "uv-coordinate", "color", "text-content", "font-family", "array", "enum", "hidden"];
38
38
  type SupportedSchemaType = (typeof SUPPORTED_SCHEMA_TYPES)[number];
39
39
  export declare const getFieldsToShow: ({ getDragOverrides, propStatuses, nodePath, schema, currentRuntimeValueDotNotation, includeTextContent, }: {
40
40
  schema: InteractivitySchema;
@@ -23,6 +23,7 @@ const TRANSFORM_FIELD_KEYS = new Set([
23
23
  const TEXT_FIELD_KEYS = new Set([
24
24
  'children',
25
25
  'style.color',
26
+ 'style.fontFamily',
26
27
  'style.fontSize',
27
28
  'style.lineHeight',
28
29
  'style.fontWeight',
@@ -61,6 +62,7 @@ const SUPPORTED_SCHEMA_TYPES = [
61
62
  'uv-coordinate',
62
63
  'color',
63
64
  'text-content',
65
+ 'font-family',
64
66
  'array',
65
67
  'enum',
66
68
  'hidden',
@@ -1,4 +1,4 @@
1
- export declare const SFX_DRAG_MIME_TYPE = "application/vnd.remotion.sfx+json";
1
+ export { SFX_DRAG_MIME_TYPE } from './drag-mime-types';
2
2
  export type SfxDragData = {
3
3
  type: 'remotion-sfx';
4
4
  version: 1;
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseSfxDragData = exports.SFX_DRAG_MIME_TYPE = void 0;
4
4
  const url_1 = require("./url");
5
- exports.SFX_DRAG_MIME_TYPE = 'application/vnd.remotion.sfx+json';
5
+ const drag_mime_types_1 = require("./drag-mime-types");
6
+ Object.defineProperty(exports, "SFX_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.SFX_DRAG_MIME_TYPE; } });
6
7
  const isRecord = (value) => {
7
8
  return typeof value === 'object' && value !== null && !Array.isArray(value);
8
9
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-shared"
4
4
  },
5
5
  "name": "@remotion/studio-shared",
6
- "version": "4.0.485",
6
+ "version": "4.0.487",
7
7
  "description": "Internal package for shared objects between the Studio backend and frontend",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -20,11 +20,11 @@
20
20
  "url": "https://github.com/remotion-dev/remotion/issues"
21
21
  },
22
22
  "dependencies": {
23
- "remotion": "4.0.485"
23
+ "remotion": "4.0.487"
24
24
  },
25
25
  "devDependencies": {
26
- "@remotion/renderer": "4.0.485",
27
- "@remotion/eslint-config-internal": "4.0.485",
26
+ "@remotion/renderer": "4.0.487",
27
+ "@remotion/eslint-config-internal": "4.0.487",
28
28
  "eslint": "9.19.0",
29
29
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
30
30
  },