@remotion/studio-shared 4.0.498 → 4.0.500

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.
@@ -1,10 +1,9 @@
1
+ import type { ComponentProp, ElementDragData } from '@remotion/drag-and-drop';
1
2
  import type { AudioCodec, ChromeMode, Codec, ColorSpace, LogLevel, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
3
  import type { HardwareAccelerationOption } from '@remotion/renderer/client';
3
4
  import type { _InternalTypes, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, ExtrapolateType, InteractivitySchema, InterpolateOutputOption, JsxComponentIdentity, SequenceNodePath, SequencePropsSubscriptionKey, VideoConfigValues } from 'remotion';
4
5
  import type { RecastCodemod, VisualControlChange } from './codemods';
5
- import type { ComponentProp } from './component-drag-data';
6
6
  import type { EffectClipboardParam, EffectClipboardPasteType, EffectClipboardSnapshot } from './effect-clipboard-data';
7
- import type { ElementDragData } from './element-drag-data';
8
7
  import type { PackageManager } from './package-manager';
9
8
  import type { ProjectInfo } from './project-info';
10
9
  import type { CompletedClientRender, RequiredChromiumOptions } from './render-job';
@@ -22,6 +21,16 @@ export type OpenInEditorRequest = {
22
21
  export type OpenInEditorResponse = {
23
22
  success: boolean;
24
23
  };
24
+ export type FindInFileRequest = {
25
+ fileName: string;
26
+ lineNumber: number;
27
+ columnNumber: number;
28
+ search: string;
29
+ };
30
+ export type FindInFileResponse = {
31
+ lineNumber: number;
32
+ columnNumber: number;
33
+ };
25
34
  export type CompositionComponentInfoRequest = {
26
35
  compositionFile: string;
27
36
  compositionId: string;
@@ -291,6 +300,22 @@ export type SaveEffectPropsRequest = (SaveEffectPropsRequestBase & {
291
300
  effectParam: EffectClipboardParam;
292
301
  });
293
302
  export type SaveEffectPropsResponse = CanUpdateEffectPropsResponse;
303
+ type WithoutClientId<T> = T extends unknown ? Omit<T, 'clientId'> : never;
304
+ export type SaveMultipleEffectPropsEdit = WithoutClientId<SaveEffectPropsRequest>;
305
+ export type SaveMultipleEffectPropsRequest = {
306
+ edits: SaveMultipleEffectPropsEdit[];
307
+ clientId: string;
308
+ undoLabel: string;
309
+ redoLabel: string;
310
+ };
311
+ export type SaveMultipleEffectPropsResult = {
312
+ fileName: string;
313
+ sequenceNodePath: SequencePropsSubscriptionKey;
314
+ status: CanUpdateEffectPropsResponse;
315
+ };
316
+ export type SaveMultipleEffectPropsResponse = {
317
+ results: SaveMultipleEffectPropsResult[];
318
+ };
294
319
  export type AddEffectRequest = {
295
320
  fileName: string;
296
321
  sequenceNodePath: SequencePropsSubscriptionKey;
@@ -704,6 +729,7 @@ export type ApiRoutes = {
704
729
  '/api/subscribe-to-file-existence': ReqAndRes<SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse>;
705
730
  '/api/remove-render': ReqAndRes<RemoveRenderRequest, undefined>;
706
731
  '/api/open-in-editor': ReqAndRes<OpenInEditorRequest, OpenInEditorResponse>;
732
+ '/api/find-in-file': ReqAndRes<FindInFileRequest, FindInFileResponse>;
707
733
  '/api/open-in-file-explorer': ReqAndRes<OpenInFileExplorerRequest, void>;
708
734
  '/api/register-client-render': ReqAndRes<CompletedClientRender, void>;
709
735
  '/api/unregister-client-render': ReqAndRes<{
@@ -717,6 +743,7 @@ export type ApiRoutes = {
717
743
  '/api/unsubscribe-from-sequence-props': ReqAndRes<UnsubscribeFromSequencePropsRequest, undefined>;
718
744
  '/api/save-sequence-props': ReqAndRes<SaveSequencePropsRequest, SaveSequencePropsResponse>;
719
745
  '/api/save-effect-props': ReqAndRes<SaveEffectPropsRequest, SaveEffectPropsResponse>;
746
+ '/api/save-multiple-effect-props': ReqAndRes<SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse>;
720
747
  '/api/add-effect': ReqAndRes<AddEffectRequest, AddEffectResponse>;
721
748
  '/api/reorder-effect': ReqAndRes<ReorderEffectRequest, ReorderEffectResponse>;
722
749
  '/api/duplicate-effect': ReqAndRes<DuplicateEffectRequest, DuplicateEffectResponse>;
@@ -1,14 +1,3 @@
1
+ import type { CompositionDragData } from '@remotion/drag-and-drop';
1
2
  import type { SymbolicatedStackFrame } from './stack-types';
2
- export { COMPOSITION_DRAG_MIME_TYPE } from './drag-mime-types';
3
- export type CompositionDragData = {
4
- type: 'remotion-composition';
5
- version: 1;
6
- compositionId: string;
7
- compositionFile: string | null;
8
- };
9
- export declare const makeCompositionDragData: ({ compositionFile, compositionId, }: {
10
- compositionFile: string | null;
11
- compositionId: string;
12
- }) => CompositionDragData;
13
3
  export declare const compositionDragDataToSymbolicatedStack: (dragData: CompositionDragData) => SymbolicatedStackFrame | null;
14
- export declare const parseCompositionDragData: (value: string) => CompositionDragData | null;
@@ -1,41 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseCompositionDragData = exports.compositionDragDataToSymbolicatedStack = 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;
3
+ exports.compositionDragDataToSymbolicatedStack = void 0;
39
4
  const compositionDragDataToSymbolicatedStack = (dragData) => {
40
5
  if (dragData.compositionFile === null) {
41
6
  return null;
@@ -49,26 +14,3 @@ const compositionDragDataToSymbolicatedStack = (dragData) => {
49
14
  };
50
15
  };
51
16
  exports.compositionDragDataToSymbolicatedStack = compositionDragDataToSymbolicatedStack;
52
- const parseCompositionDragData = (value) => {
53
- try {
54
- const parsed = JSON.parse(value);
55
- if (!isRecord(parsed)) {
56
- return null;
57
- }
58
- if (parsed.type !== 'remotion-composition' || parsed.version !== 1) {
59
- return null;
60
- }
61
- if (!isCompositionId(parsed.compositionId) ||
62
- !isCompositionFile(parsed.compositionFile)) {
63
- return null;
64
- }
65
- return (0, exports.makeCompositionDragData)({
66
- compositionFile: parsed.compositionFile,
67
- compositionId: parsed.compositionId,
68
- });
69
- }
70
- catch (_a) {
71
- return null;
72
- }
73
- };
74
- exports.parseCompositionDragData = parseCompositionDragData;
@@ -1,4 +1,4 @@
1
- import type { EffectDragData } from './effect-drag-data';
1
+ import type { EffectDragData } from '@remotion/drag-and-drop';
2
2
  export type EffectCatalogItem = {
3
3
  readonly id: string;
4
4
  readonly category: string;
@@ -14,6 +14,5 @@ export declare const getEffectDocumentationPath: (item: EffectCatalogItem) => st
14
14
  export declare const getEffectDocumentationLink: (item: EffectCatalogItem) => string;
15
15
  export declare const getEffectPreviewSource: (item: EffectCatalogItem) => string;
16
16
  export declare const getEffectPreviewAlt: (item: EffectCatalogItem) => string;
17
- export declare const makeEffectDragDataFromCatalogItem: (item: EffectCatalogItem) => EffectDragData;
18
17
  export declare const getEffectCatalogCategories: (items: readonly EffectCatalogItem[]) => readonly EffectCatalogCategory[];
19
18
  export declare const EFFECT_CATALOG: readonly EffectCatalogItem[];
@@ -1,13 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EFFECT_CATALOG = exports.getEffectCatalogCategories = exports.makeEffectDragDataFromCatalogItem = exports.getEffectPreviewAlt = exports.getEffectPreviewSource = exports.getEffectDocumentationLink = exports.getEffectDocumentationPath = void 0;
3
+ exports.EFFECT_CATALOG = exports.getEffectCatalogCategories = exports.getEffectPreviewAlt = exports.getEffectPreviewSource = exports.getEffectDocumentationLink = exports.getEffectDocumentationPath = void 0;
4
4
  const getEffectDocumentationPath = (item) => {
5
- if (item.id === 'effects-light-leak') {
6
- return '/docs/light-leaks/light-leak-effect';
7
- }
8
- if (item.id === 'effects-starburst') {
9
- return '/docs/starburst/starburst-effect';
10
- }
11
5
  return `/docs/effects/${item.id.slice('effects-'.length)}`;
12
6
  };
13
7
  exports.getEffectDocumentationPath = getEffectDocumentationPath;
@@ -29,14 +23,6 @@ const getEffectPreviewAlt = (item) => {
29
23
  return `${effectName} effect preview`;
30
24
  };
31
25
  exports.getEffectPreviewAlt = getEffectPreviewAlt;
32
- const makeEffectDragDataFromCatalogItem = (item) => {
33
- return {
34
- type: 'remotion-effect',
35
- version: 1,
36
- effect: item.effect,
37
- };
38
- };
39
- exports.makeEffectDragDataFromCatalogItem = makeEffectDragDataFromCatalogItem;
40
26
  const getEffectCatalogCategories = (items) => {
41
27
  const categories = [];
42
28
  for (const item of items) {
@@ -769,7 +755,7 @@ exports.EFFECT_CATALOG = [
769
755
  description: 'Light leak overlay effect',
770
756
  effect: {
771
757
  name: 'lightLeak',
772
- importPath: '@remotion/light-leaks',
758
+ importPath: '@remotion/effects/light-leak',
773
759
  config: {},
774
760
  },
775
761
  },
@@ -780,7 +766,7 @@ exports.EFFECT_CATALOG = [
780
766
  description: 'Starburst ray effect',
781
767
  effect: {
782
768
  name: 'starburst',
783
- importPath: '@remotion/starburst',
769
+ importPath: '@remotion/effects/starburst',
784
770
  config: {
785
771
  rays: 16,
786
772
  colors: ['#ff6600', '#ffff00'],
package/dist/index.d.ts CHANGED
@@ -1,17 +1,12 @@
1
1
  export { splitAnsi, stripAnsi } from './ansi';
2
- export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, ElementInstallRequest, GoogleFontSourceEdit, 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, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdatePublicLicenseRequest, UpdatePublicLicenseResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
3
- export { ASSET_DRAG_MIME_TYPE, makeAssetDragData, parseAssetDragData, type AssetDragData, } from './asset-drag-data';
2
+ export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, ElementInstallRequest, FindInFileRequest, FindInFileResponse, GoogleFontSourceEdit, 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, SaveMultipleEffectPropsEdit, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SaveMultipleEffectPropsResult, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdatePublicLicenseRequest, UpdatePublicLicenseResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
4
3
  export type { ApplyVisualControlCodemod, RecastCodemod } from './codemods';
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, compositionDragDataToSymbolicatedStack, makeCompositionDragData, parseCompositionDragData, type CompositionDragData, } from './composition-drag-data';
4
+ export { compositionDragDataToSymbolicatedStack } from './composition-drag-data';
7
5
  export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
8
6
  export { detectFileType, isImageFileType, type FileDimensions, type FileType, type ImageFileType, } from './detect-file-type';
9
- export { REMOTION_DRAG_MIME_TYPES, isRemotionDragMimeType, type RemotionDragMimeType, } from './drag-mime-types';
10
7
  export { parseEasingClipboardData, parseEasingClipboardDataResult, type EasingClipboardData, type EasingClipboardDataParseResult, } from './easing-clipboard-data';
11
- export { EFFECT_CATALOG, getEffectCatalogCategories, getEffectDocumentationLink, getEffectDocumentationPath, getEffectPreviewAlt, getEffectPreviewSource, makeEffectDragDataFromCatalogItem, type EffectCatalogCategory, type EffectCatalogItem, } from './effect-catalog';
8
+ export { EFFECT_CATALOG, getEffectCatalogCategories, getEffectDocumentationLink, getEffectDocumentationPath, getEffectPreviewAlt, getEffectPreviewSource, type EffectCatalogCategory, type EffectCatalogItem, } from './effect-catalog';
12
9
  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';
13
- export { EFFECT_DRAG_MIME_TYPE, parseEffectDragData, type EffectDragData, } from './effect-drag-data';
14
- export { ELEMENT_DRAG_MIME_TYPE, getElementComponentNameFromSourceCode, isLowercaseElementFileName, makeElementDragData, makeElementFileNameFromSlug, parseElementDragData, type ElementDragData, } from './element-drag-data';
15
10
  export { EventSourceEvent } from './event-source-event';
16
11
  export { formatBytes } from './format-bytes';
17
12
  export { getAllSchemaKeys, getAssetSchemaKeys } from './get-all-keys';
@@ -34,7 +29,6 @@ export type { CompletedClientRender } from './render-job';
34
29
  export { getRequiredPackageForEffectImportPath, getRequiredPackageForInsertableElement, isValidPackageName, } from './required-package';
35
30
  export { SCHEMA_FIELD_GROUPS, SCHEMA_FIELD_ROW_HEIGHT, getEffectFieldsToShow, getFieldsToShow, getSchemaFieldGroup, } from './schema-field-info';
36
31
  export type { AnySchemaFieldInfo, DragOverrides, EffectSchemaFieldInfo, InteractivitySchemaFieldInfo, PropStatuses, SchemaFieldGroup, SchemaFieldGroupInfo, SchemaFieldInfo, SequenceControls, } from './schema-field-info';
37
- export { SFX_DRAG_MIME_TYPE, parseSfxDragData, type SfxDragData, } from './sfx-drag-data';
38
32
  export { ScriptLine, SomeStackFrame, StackFrame, SymbolicatedStackFrame, } from './stack-types';
39
33
  export { EnumPath, stringifyDefaultProps } from './stringify-default-props';
40
34
  export { getStudioEntryPoints, type StudioEntryPointPaths, } from './studio-entry-points';
package/dist/index.js CHANGED
@@ -14,37 +14,19 @@ 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.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAssetSchemaKeys = 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.isRemotionDragMimeType = exports.REMOTION_DRAG_MIME_TYPES = exports.isImageFileType = exports.detectFileType = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.parseCompositionDragData = exports.makeCompositionDragData = exports.compositionDragDataToSymbolicatedStack = 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.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.studioHtml = exports.getStudioEntryPoints = exports.stringifyDefaultProps = exports.parseSfxDragData = exports.SFX_DRAG_MIME_TYPE = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.isValidPackageName = 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.parseKeyframeClipboardDataResult = exports.parseKeyframeClipboardData = exports.isKeyframeClipboardFieldType = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.canEditEasingForInterpolationFunction = exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = exports.getBackKeyframeEasing = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = void 0;
19
- exports.isUrl = exports.stringifySequenceSubscriptionKey = exports.stringifySequenceExpandedRowKey = exports.optimisticUpdateSequenceKeyframeSettings = void 0;
17
+ exports.DEFAULT_SPRING_EASING = exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.parseKeyframeClipboardDataResult = exports.parseKeyframeClipboardData = exports.isKeyframeClipboardFieldType = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.canEditEasingForInterpolationFunction = exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = exports.getBackKeyframeEasing = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAssetSchemaKeys = exports.getAllSchemaKeys = exports.formatBytes = exports.parseEffectPropClipboardDataResult = exports.parseEffectPropClipboardData = exports.parseEffectClipboardDataResult = exports.parseEffectClipboardData = exports.getEffectPreviewSource = exports.getEffectPreviewAlt = exports.getEffectDocumentationPath = exports.getEffectDocumentationLink = exports.getEffectCatalogCategories = exports.EFFECT_CATALOG = exports.parseEasingClipboardDataResult = exports.parseEasingClipboardData = exports.isImageFileType = exports.detectFileType = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.compositionDragDataToSymbolicatedStack = 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.studioHtml = exports.getStudioEntryPoints = exports.stringifyDefaultProps = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.isValidPackageName = exports.getRequiredPackageForInsertableElement = exports.getRequiredPackageForEffectImportPath = exports.parseSpringEasingConfig = void 0;
20
19
  const ansi_1 = require("./ansi");
21
20
  Object.defineProperty(exports, "splitAnsi", { enumerable: true, get: function () { return ansi_1.splitAnsi; } });
22
21
  Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return ansi_1.stripAnsi; } });
23
22
  __exportStar(require("./api-requests"), exports);
24
- const asset_drag_data_1 = require("./asset-drag-data");
25
- Object.defineProperty(exports, "ASSET_DRAG_MIME_TYPE", { enumerable: true, get: function () { return asset_drag_data_1.ASSET_DRAG_MIME_TYPE; } });
26
- Object.defineProperty(exports, "makeAssetDragData", { enumerable: true, get: function () { return asset_drag_data_1.makeAssetDragData; } });
27
- Object.defineProperty(exports, "parseAssetDragData", { enumerable: true, get: function () { return asset_drag_data_1.parseAssetDragData; } });
28
- const component_drag_data_1 = require("./component-drag-data");
29
- Object.defineProperty(exports, "COMPONENT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return component_drag_data_1.COMPONENT_DRAG_MIME_TYPE; } });
30
- Object.defineProperty(exports, "areComponentProps", { enumerable: true, get: function () { return component_drag_data_1.areComponentProps; } });
31
- Object.defineProperty(exports, "isComponentIdentifier", { enumerable: true, get: function () { return component_drag_data_1.isComponentIdentifier; } });
32
- Object.defineProperty(exports, "isComponentImportPath", { enumerable: true, get: function () { return component_drag_data_1.isComponentImportPath; } });
33
- Object.defineProperty(exports, "makeComponentDragData", { enumerable: true, get: function () { return component_drag_data_1.makeComponentDragData; } });
34
- Object.defineProperty(exports, "parseComponentDragData", { enumerable: true, get: function () { return component_drag_data_1.parseComponentDragData; } });
35
23
  const composition_drag_data_1 = require("./composition-drag-data");
36
- Object.defineProperty(exports, "COMPOSITION_DRAG_MIME_TYPE", { enumerable: true, get: function () { return composition_drag_data_1.COMPOSITION_DRAG_MIME_TYPE; } });
37
24
  Object.defineProperty(exports, "compositionDragDataToSymbolicatedStack", { enumerable: true, get: function () { return composition_drag_data_1.compositionDragDataToSymbolicatedStack; } });
38
- Object.defineProperty(exports, "makeCompositionDragData", { enumerable: true, get: function () { return composition_drag_data_1.makeCompositionDragData; } });
39
- Object.defineProperty(exports, "parseCompositionDragData", { enumerable: true, get: function () { return composition_drag_data_1.parseCompositionDragData; } });
40
25
  const default_buffer_state_delay_in_milliseconds_1 = require("./default-buffer-state-delay-in-milliseconds");
41
26
  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; } });
42
27
  const detect_file_type_1 = require("./detect-file-type");
43
28
  Object.defineProperty(exports, "detectFileType", { enumerable: true, get: function () { return detect_file_type_1.detectFileType; } });
44
29
  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, "REMOTION_DRAG_MIME_TYPES", { enumerable: true, get: function () { return drag_mime_types_1.REMOTION_DRAG_MIME_TYPES; } });
47
- Object.defineProperty(exports, "isRemotionDragMimeType", { enumerable: true, get: function () { return drag_mime_types_1.isRemotionDragMimeType; } });
48
30
  const easing_clipboard_data_1 = require("./easing-clipboard-data");
49
31
  Object.defineProperty(exports, "parseEasingClipboardData", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardData; } });
50
32
  Object.defineProperty(exports, "parseEasingClipboardDataResult", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardDataResult; } });
@@ -55,22 +37,11 @@ Object.defineProperty(exports, "getEffectDocumentationLink", { enumerable: true,
55
37
  Object.defineProperty(exports, "getEffectDocumentationPath", { enumerable: true, get: function () { return effect_catalog_1.getEffectDocumentationPath; } });
56
38
  Object.defineProperty(exports, "getEffectPreviewAlt", { enumerable: true, get: function () { return effect_catalog_1.getEffectPreviewAlt; } });
57
39
  Object.defineProperty(exports, "getEffectPreviewSource", { enumerable: true, get: function () { return effect_catalog_1.getEffectPreviewSource; } });
58
- Object.defineProperty(exports, "makeEffectDragDataFromCatalogItem", { enumerable: true, get: function () { return effect_catalog_1.makeEffectDragDataFromCatalogItem; } });
59
40
  const effect_clipboard_data_1 = require("./effect-clipboard-data");
60
41
  Object.defineProperty(exports, "parseEffectClipboardData", { enumerable: true, get: function () { return effect_clipboard_data_1.parseEffectClipboardData; } });
61
42
  Object.defineProperty(exports, "parseEffectClipboardDataResult", { enumerable: true, get: function () { return effect_clipboard_data_1.parseEffectClipboardDataResult; } });
62
43
  Object.defineProperty(exports, "parseEffectPropClipboardData", { enumerable: true, get: function () { return effect_clipboard_data_1.parseEffectPropClipboardData; } });
63
44
  Object.defineProperty(exports, "parseEffectPropClipboardDataResult", { enumerable: true, get: function () { return effect_clipboard_data_1.parseEffectPropClipboardDataResult; } });
64
- const effect_drag_data_1 = require("./effect-drag-data");
65
- Object.defineProperty(exports, "EFFECT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return effect_drag_data_1.EFFECT_DRAG_MIME_TYPE; } });
66
- Object.defineProperty(exports, "parseEffectDragData", { enumerable: true, get: function () { return effect_drag_data_1.parseEffectDragData; } });
67
- const element_drag_data_1 = require("./element-drag-data");
68
- Object.defineProperty(exports, "ELEMENT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return element_drag_data_1.ELEMENT_DRAG_MIME_TYPE; } });
69
- Object.defineProperty(exports, "getElementComponentNameFromSourceCode", { enumerable: true, get: function () { return element_drag_data_1.getElementComponentNameFromSourceCode; } });
70
- Object.defineProperty(exports, "isLowercaseElementFileName", { enumerable: true, get: function () { return element_drag_data_1.isLowercaseElementFileName; } });
71
- Object.defineProperty(exports, "makeElementDragData", { enumerable: true, get: function () { return element_drag_data_1.makeElementDragData; } });
72
- Object.defineProperty(exports, "makeElementFileNameFromSlug", { enumerable: true, get: function () { return element_drag_data_1.makeElementFileNameFromSlug; } });
73
- Object.defineProperty(exports, "parseElementDragData", { enumerable: true, get: function () { return element_drag_data_1.parseElementDragData; } });
74
45
  const format_bytes_1 = require("./format-bytes");
75
46
  Object.defineProperty(exports, "formatBytes", { enumerable: true, get: function () { return format_bytes_1.formatBytes; } });
76
47
  const get_all_keys_1 = require("./get-all-keys");
@@ -126,9 +97,6 @@ Object.defineProperty(exports, "SCHEMA_FIELD_ROW_HEIGHT", { enumerable: true, ge
126
97
  Object.defineProperty(exports, "getEffectFieldsToShow", { enumerable: true, get: function () { return schema_field_info_1.getEffectFieldsToShow; } });
127
98
  Object.defineProperty(exports, "getFieldsToShow", { enumerable: true, get: function () { return schema_field_info_1.getFieldsToShow; } });
128
99
  Object.defineProperty(exports, "getSchemaFieldGroup", { enumerable: true, get: function () { return schema_field_info_1.getSchemaFieldGroup; } });
129
- const sfx_drag_data_1 = require("./sfx-drag-data");
130
- Object.defineProperty(exports, "SFX_DRAG_MIME_TYPE", { enumerable: true, get: function () { return sfx_drag_data_1.SFX_DRAG_MIME_TYPE; } });
131
- Object.defineProperty(exports, "parseSfxDragData", { enumerable: true, get: function () { return sfx_drag_data_1.parseSfxDragData; } });
132
100
  const stringify_default_props_1 = require("./stringify-default-props");
133
101
  Object.defineProperty(exports, "stringifyDefaultProps", { enumerable: true, get: function () { return stringify_default_props_1.stringifyDefaultProps; } });
134
102
  const studio_entry_points_1 = require("./studio-entry-points");
@@ -1,5 +1,6 @@
1
- export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "claude-code-plugin", "cli", "cloudrun", "codex-plugin", "kimi-code-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
2
- export type Pkgs = (typeof packages)[number];
1
+ declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "claude-code-plugin", "cli", "cloudrun", "codex-plugin", "kimi-code-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "drag-and-drop", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
2
+ export type Pkgs = (typeof allPackages)[number];
3
+ export declare const packages: ("animated-emoji" | "animation-utils" | "astro-example" | "babel-loader" | "brand" | "browser-studio" | "bugs" | "bundler" | "canvas-capture" | "captions" | "claude-code-plugin" | "cli" | "cloudrun" | "codex-plugin" | "compositor" | "compositor-darwin-arm64" | "compositor-darwin-x64" | "compositor-linux-arm64-gnu" | "compositor-linux-arm64-musl" | "compositor-linux-x64-gnu" | "compositor-linux-x64-musl" | "compositor-win32-x64-msvc" | "convert" | "core" | "create-video" | "design" | "discord-poster" | "docs" | "docusaurus-plugin" | "drag-and-drop" | "effects" | "elevenlabs" | "enable-scss" | "eslint-config" | "eslint-config-flat" | "eslint-config-internal" | "eslint-plugin" | "example" | "example-videos" | "example-without-zod" | "fonts" | "gif" | "google-fonts" | "install-whisper-cpp" | "it-tests" | "kimi-code-plugin" | "lambda" | "lambda-client" | "lambda-go" | "lambda-go-example" | "lambda-php" | "lambda-python" | "lambda-ruby" | "layout-utils" | "licensing" | "light-leaks" | "lottie" | "mcp" | "media" | "media-parser" | "media-utils" | "motion-blur" | "noise" | "openai-whisper" | "paths" | "player" | "player-a11y" | "player-example" | "preload" | "promo-pages" | "react18-tests" | "remotion-media" | "renderer" | "rive" | "rough-notation" | "rounded-text-box" | "serverless" | "serverless-client" | "sfx" | "shapes" | "skia" | "skills" | "skills-evals" | "starburst" | "streaming" | "studio" | "studio-server" | "studio-shared" | "svg-3d-engine" | "tailwind" | "tailwind-v4" | "test-utils" | "three" | "timeline-utils" | "transitions" | "vercel" | "web-renderer" | "webcodecs" | "whisper-web" | "zod-types" | "zod-types-v3")[];
3
4
  export type ExtraPackage = {
4
5
  name: string;
5
6
  version: string;
@@ -16,3 +17,4 @@ export declare const installableMap: {
16
17
  export declare const apiDocs: {
17
18
  [key in Pkgs]: string | null;
18
19
  };
20
+ export {};
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.apiDocs = exports.installableMap = exports.descriptions = exports.extraPackages = exports.packages = void 0;
4
- exports.packages = [
4
+ const remotion_1 = require("remotion");
5
+ const release_package_policy_1 = require("./release-package-policy");
6
+ const allPackages = [
5
7
  'svg-3d-engine',
6
8
  'animation-utils',
7
9
  'animated-emoji',
@@ -96,6 +98,7 @@ exports.packages = [
96
98
  'remotion-media',
97
99
  'web-renderer',
98
100
  'design',
101
+ 'drag-and-drop',
99
102
  'light-leaks',
100
103
  'rough-notation',
101
104
  'starburst',
@@ -103,6 +106,10 @@ exports.packages = [
103
106
  'sfx',
104
107
  'effects',
105
108
  ];
109
+ exports.packages = allPackages.filter((pkg) => (0, release_package_policy_1.shouldReleasePackage)({
110
+ packageName: pkg === 'core' ? 'remotion' : `@remotion/${pkg}`,
111
+ releaseVersion: remotion_1.VERSION,
112
+ }));
106
113
  exports.extraPackages = [
107
114
  {
108
115
  name: 'mediabunny',
@@ -124,7 +131,7 @@ exports.extraPackages = [
124
131
  },
125
132
  {
126
133
  name: 'zod',
127
- version: '4.3.6',
134
+ version: '4.4.3',
128
135
  description: 'TypeScript-first schema validation',
129
136
  docsUrl: 'https://zod.dev',
130
137
  },
@@ -223,6 +230,7 @@ exports.descriptions = {
223
230
  'remotion-media': null,
224
231
  'web-renderer': 'Render videos in the browser',
225
232
  design: 'Design system',
233
+ 'drag-and-drop': 'Construct and parse drag-and-drop payloads for Remotion',
226
234
  'light-leaks': 'Light leak effects for Remotion',
227
235
  'rough-notation': 'Rough annotation primitives for Remotion',
228
236
  'player-a11y': 'Internal accessibility wrapper around @remotion/player',
@@ -312,10 +320,16 @@ exports.installableMap = {
312
320
  'test-utils': false,
313
321
  three: true,
314
322
  transitions: true,
315
- 'media-parser': true,
323
+ 'media-parser': (0, release_package_policy_1.shouldReleasePackage)({
324
+ packageName: '@remotion/media-parser',
325
+ releaseVersion: remotion_1.VERSION,
326
+ }),
316
327
  'zod-types': true,
317
328
  'zod-types-v3': true,
318
- webcodecs: true,
329
+ webcodecs: (0, release_package_policy_1.shouldReleasePackage)({
330
+ packageName: '@remotion/webcodecs',
331
+ releaseVersion: remotion_1.VERSION,
332
+ }),
319
333
  convert: false,
320
334
  captions: true,
321
335
  'openai-whisper': true,
@@ -326,9 +340,16 @@ exports.installableMap = {
326
340
  'remotion-media': false,
327
341
  'web-renderer': false,
328
342
  design: false,
329
- 'light-leaks': true,
343
+ 'drag-and-drop': true,
344
+ 'light-leaks': (0, release_package_policy_1.shouldReleasePackage)({
345
+ packageName: '@remotion/light-leaks',
346
+ releaseVersion: remotion_1.VERSION,
347
+ }),
330
348
  'rough-notation': true,
331
- starburst: true,
349
+ starburst: (0, release_package_policy_1.shouldReleasePackage)({
350
+ packageName: '@remotion/starburst',
351
+ releaseVersion: remotion_1.VERSION,
352
+ }),
332
353
  vercel: true,
333
354
  sfx: true,
334
355
  effects: true,
@@ -428,6 +449,7 @@ exports.apiDocs = {
428
449
  media: 'https://remotion.dev/docs/media',
429
450
  'web-renderer': 'https://www.remotion.dev/docs/web-renderer/',
430
451
  design: 'https://www.remotion.dev/design',
452
+ 'drag-and-drop': 'https://www.remotion.dev/docs/drag-and-drop',
431
453
  'light-leaks': 'https://www.remotion.dev/docs/light-leaks',
432
454
  'rough-notation': 'https://www.remotion.dev/docs/rough-notation',
433
455
  starburst: 'https://www.remotion.dev/docs/starburst',
@@ -0,0 +1,15 @@
1
+ export declare const packagesRemovedInV5: readonly ["@remotion/light-leaks", "@remotion/media-parser", "@remotion/starburst", "@remotion/webcodecs"];
2
+ export declare const shouldReleasePackage: ({ packageName, releaseVersion, }: {
3
+ packageName: string;
4
+ releaseVersion: string;
5
+ }) => boolean;
6
+ type PackageJsonWithDependencies = {
7
+ dependencies?: Record<string, string>;
8
+ devDependencies?: Record<string, string>;
9
+ };
10
+ type PackageJsonForRelease<T> = Omit<T, 'dependencies' | 'devDependencies'> & PackageJsonWithDependencies;
11
+ export declare const moveRemovedDependenciesToDevDependencies: <T extends PackageJsonWithDependencies>({ packageJson, releaseVersion, }: {
12
+ packageJson: T;
13
+ releaseVersion: string;
14
+ }) => PackageJsonForRelease<T>;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moveRemovedDependenciesToDevDependencies = exports.shouldReleasePackage = exports.packagesRemovedInV5 = void 0;
4
+ exports.packagesRemovedInV5 = [
5
+ '@remotion/light-leaks',
6
+ '@remotion/media-parser',
7
+ '@remotion/starburst',
8
+ '@remotion/webcodecs',
9
+ ];
10
+ const packagesRemovedInV5Set = new Set(exports.packagesRemovedInV5);
11
+ const shouldReleasePackage = ({ packageName, releaseVersion, }) => {
12
+ const majorVersion = Number.parseInt(releaseVersion.split('.')[0], 10);
13
+ if (!Number.isInteger(majorVersion)) {
14
+ throw new Error(`Invalid release version: ${releaseVersion}`);
15
+ }
16
+ return majorVersion < 5 || !packagesRemovedInV5Set.has(packageName);
17
+ };
18
+ exports.shouldReleasePackage = shouldReleasePackage;
19
+ const moveRemovedDependenciesToDevDependencies = ({ packageJson, releaseVersion, }) => {
20
+ const dependencies = { ...packageJson.dependencies };
21
+ const devDependencies = { ...packageJson.devDependencies };
22
+ let movedDependency = false;
23
+ for (const [packageName, dependencyVersion] of Object.entries(dependencies)) {
24
+ if (!(0, exports.shouldReleasePackage)({ packageName, releaseVersion })) {
25
+ delete dependencies[packageName];
26
+ devDependencies[packageName] = dependencyVersion;
27
+ movedDependency = true;
28
+ }
29
+ }
30
+ if (!movedDependency) {
31
+ return packageJson;
32
+ }
33
+ return { ...packageJson, dependencies, devDependencies };
34
+ };
35
+ exports.moveRemovedDependenciesToDevDependencies = moveRemovedDependenciesToDevDependencies;
@@ -18,7 +18,7 @@ export type EffectSchemaFieldInfo = SchemaFieldInfo & {
18
18
  };
19
19
  export type AnySchemaFieldInfo = InteractivitySchemaFieldInfo | EffectSchemaFieldInfo;
20
20
  export declare const SCHEMA_FIELD_ROW_HEIGHT = 22;
21
- export type SchemaFieldGroup = 'source' | 'controls' | 'transforms' | 'background' | 'border' | 'text';
21
+ export type SchemaFieldGroup = 'source' | 'controls' | 'transforms' | 'background' | 'border' | 'crop' | 'text' | 'layout';
22
22
  export type SchemaFieldGroupInfo = {
23
23
  readonly id: SchemaFieldGroup;
24
24
  readonly label: string;
@@ -41,6 +41,12 @@ export declare const SCHEMA_FIELD_GROUPS: readonly [{
41
41
  }, {
42
42
  readonly id: "border";
43
43
  readonly label: "Border";
44
+ }, {
45
+ readonly id: "crop";
46
+ readonly label: "Crop";
47
+ }, {
48
+ readonly id: "layout";
49
+ readonly label: "Layout";
44
50
  }];
45
51
  export declare const getSchemaFieldGroup: (key: string) => SchemaFieldGroup;
46
52
  declare const TIMELINE_SCHEMA_FIELD_TYPE_SUPPORT: {
@@ -11,6 +11,8 @@ exports.SCHEMA_FIELD_GROUPS = [
11
11
  { id: 'text', label: 'Text' },
12
12
  { id: 'background', label: 'Background' },
13
13
  { id: 'border', label: 'Border' },
14
+ { id: 'crop', label: 'Crop' },
15
+ { id: 'layout', label: 'Layout' },
14
16
  ];
15
17
  const schemaFieldGroupOrder = exports.SCHEMA_FIELD_GROUPS.reduce((acc, group, index) => {
16
18
  acc[group.id] = index;
@@ -23,12 +25,19 @@ const TRANSFORM_FIELD_KEYS = new Set([
23
25
  'style.rotate',
24
26
  'style.opacity',
25
27
  ]);
28
+ const CROP_FIELD_KEYS = new Set([
29
+ 'cropLeft',
30
+ 'cropRight',
31
+ 'cropTop',
32
+ 'cropBottom',
33
+ ]);
26
34
  const BORDER_FIELD_KEYS = new Set([
27
35
  'style.borderWidth',
28
36
  'style.borderStyle',
29
37
  'style.borderColor',
30
38
  ]);
31
39
  const BACKGROUND_FIELD_KEYS = new Set(['style.backgroundColor']);
40
+ const LAYOUT_FIELD_KEYS = new Set(['layout', 'premountFor']);
32
41
  const TEXT_FIELD_KEYS = new Set([
33
42
  'children',
34
43
  'style.color',
@@ -47,12 +56,18 @@ const getSchemaFieldGroup = (key) => {
47
56
  if (TRANSFORM_FIELD_KEYS.has(key)) {
48
57
  return 'transforms';
49
58
  }
59
+ if (CROP_FIELD_KEYS.has(key)) {
60
+ return 'crop';
61
+ }
50
62
  if (BORDER_FIELD_KEYS.has(key)) {
51
63
  return 'border';
52
64
  }
53
65
  if (BACKGROUND_FIELD_KEYS.has(key)) {
54
66
  return 'background';
55
67
  }
68
+ if (LAYOUT_FIELD_KEYS.has(key)) {
69
+ return 'layout';
70
+ }
56
71
  if (TEXT_FIELD_KEYS.has(key)) {
57
72
  return 'text';
58
73
  }
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.498",
6
+ "version": "4.0.500",
7
7
  "description": "Internal package for shared objects between the Studio backend and frontend",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -20,11 +20,12 @@
20
20
  "url": "https://github.com/remotion-dev/remotion/issues"
21
21
  },
22
22
  "dependencies": {
23
- "remotion": "4.0.498"
23
+ "@remotion/drag-and-drop": "4.0.500",
24
+ "remotion": "4.0.500"
24
25
  },
25
26
  "devDependencies": {
26
- "@remotion/renderer": "4.0.498",
27
- "@remotion/eslint-config-internal": "4.0.498",
27
+ "@remotion/renderer": "4.0.500",
28
+ "@remotion/eslint-config-internal": "4.0.500",
28
29
  "eslint": "9.19.0",
29
30
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
30
31
  },