@remotion/studio-shared 4.0.515 → 4.0.516
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.
- package/dist/api-requests.d.ts +5 -0
- package/dist/browser-studio-operations.d.ts +3 -1
- package/dist/esm/index.mjs +57 -0
- package/dist/esm/studio-entry-points.mjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +8 -2
- package/dist/remote-asset.d.ts +13 -0
- package/dist/remote-asset.js +62 -0
- package/dist/studio-entry-points.d.ts +2 -1
- package/dist/studio-entry-points.js +2 -1
- package/package.json +5 -5
package/dist/api-requests.d.ts
CHANGED
|
@@ -817,6 +817,11 @@ export type GetRemotionSkillsInfoRequest = {};
|
|
|
817
817
|
export type GetRemotionSkillsInfoResponse = {
|
|
818
818
|
remotionUpgradeSkillAvailable: boolean;
|
|
819
819
|
remotionInteractivitySkillAvailable: boolean;
|
|
820
|
+
skills: {
|
|
821
|
+
name: string;
|
|
822
|
+
installedInProject: boolean;
|
|
823
|
+
installedGlobally: boolean;
|
|
824
|
+
}[];
|
|
820
825
|
};
|
|
821
826
|
export type ProjectInfoRequest = {};
|
|
822
827
|
export type ProjectInfoResponse = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ElementDragData } from '@remotion/studio-protocol';
|
|
2
|
-
import type { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApplyCodemodRequest, ApplyCodemodResponse, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteEffectRequest, DeleteEffectResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, DuplicateEffectRequest, DuplicateEffectResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertElementRequest, InsertElementResponse, InstallPackageRequest, MoveKeyframesRequest, MoveKeyframesResponse, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequenceRequest, ReorderSequenceResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse } from './api-requests';
|
|
2
|
+
import type { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApplyCodemodRequest, ApplyCodemodResponse, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteEffectRequest, DeleteEffectResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, FindInFileRequest, FindInFileResponse, DuplicateEffectRequest, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertElementRequest, InsertElementResponse, InstallPackageRequest, MoveKeyframesRequest, MoveKeyframesResponse, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequenceRequest, ReorderSequenceResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse } from './api-requests';
|
|
3
3
|
import type { RecastCodemod } from './codemods';
|
|
4
4
|
import type { EventSourceEvent } from './event-source-event';
|
|
5
5
|
export type WriteStaticFileRequest = {
|
|
@@ -61,7 +61,9 @@ export type BrowserStudioOperations = {
|
|
|
61
61
|
data: Uint8Array;
|
|
62
62
|
fileName: string;
|
|
63
63
|
}>;
|
|
64
|
+
downloadRemoteAsset: (request: DownloadRemoteAssetRequest) => Promise<DownloadRemoteAssetResponse>;
|
|
64
65
|
duplicateComposition: (request: DuplicateCompositionRequest) => Promise<DuplicateCompositionResponse>;
|
|
66
|
+
duplicateJsxNode: (request: DuplicateJsxNodeRequest) => Promise<DuplicateJsxNodeResponse>;
|
|
65
67
|
effects: BrowserStudioEffectOperations;
|
|
66
68
|
findInFile: (request: FindInFileRequest) => Promise<FindInFileResponse>;
|
|
67
69
|
getFileSource: (fileName: string) => Promise<string | null>;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -524,6 +524,56 @@ var detectFileType = (data) => {
|
|
|
524
524
|
}
|
|
525
525
|
return { type: "unknown" };
|
|
526
526
|
};
|
|
527
|
+
// src/remote-asset.ts
|
|
528
|
+
var maxRemoteAssetSize = 50 * 1024 * 1024;
|
|
529
|
+
var remoteAssetDownloadTimeout = 15000;
|
|
530
|
+
var remoteAssetAcceptHeader = "image/png,image/apng,image/jpeg,image/webp,image/bmp,image/gif";
|
|
531
|
+
var extensionsForFileType = {
|
|
532
|
+
png: ["png"],
|
|
533
|
+
apng: ["png", "apng"],
|
|
534
|
+
jpeg: ["jpg", "jpeg"],
|
|
535
|
+
webp: ["webp"],
|
|
536
|
+
bmp: ["bmp"],
|
|
537
|
+
gif: ["gif"]
|
|
538
|
+
};
|
|
539
|
+
var getRemoteAssetFilename = ({
|
|
540
|
+
fileType,
|
|
541
|
+
url
|
|
542
|
+
}) => {
|
|
543
|
+
const encodedBasename = url.pathname.slice(url.pathname.lastIndexOf("/") + 1);
|
|
544
|
+
let basename;
|
|
545
|
+
try {
|
|
546
|
+
basename = decodeURIComponent(encodedBasename);
|
|
547
|
+
} catch {
|
|
548
|
+
basename = encodedBasename;
|
|
549
|
+
}
|
|
550
|
+
const sanitized = Array.from(basename).map((character) => {
|
|
551
|
+
const charCode = character.charCodeAt(0);
|
|
552
|
+
return charCode <= 31 || '<>:"/\\|?*'.includes(character) ? "-" : character;
|
|
553
|
+
}).join("").trim().replace(/^[. ]+|[. ]+$/g, "");
|
|
554
|
+
const filenameWithoutFallback = sanitized === "" ? "image" : sanitized;
|
|
555
|
+
const extensions = extensionsForFileType[fileType.type];
|
|
556
|
+
const lastDot = filenameWithoutFallback.lastIndexOf(".");
|
|
557
|
+
const extension = lastDot > 0 ? filenameWithoutFallback.slice(lastDot + 1).toLowerCase() : "";
|
|
558
|
+
if (extensions.includes(extension)) {
|
|
559
|
+
return filenameWithoutFallback;
|
|
560
|
+
}
|
|
561
|
+
const withoutExtension = extension ? filenameWithoutFallback.slice(0, -(extension.length + 1)) : filenameWithoutFallback;
|
|
562
|
+
const safeName = withoutExtension === "" ? "image" : withoutExtension;
|
|
563
|
+
return `${safeName}.${extensions[0]}`;
|
|
564
|
+
};
|
|
565
|
+
var getRemoteAssetElement = ({
|
|
566
|
+
assetPath,
|
|
567
|
+
fileType
|
|
568
|
+
}) => ({
|
|
569
|
+
type: "asset",
|
|
570
|
+
assetType: fileType.type === "gif" ? "gif" : fileType.type === "apng" || fileType.type === "webp" && fileType.animated ? "animated-image" : "image",
|
|
571
|
+
src: assetPath,
|
|
572
|
+
srcType: "static",
|
|
573
|
+
dimensions: fileType.dimensions,
|
|
574
|
+
durationInFrames: null,
|
|
575
|
+
position: null
|
|
576
|
+
});
|
|
527
577
|
// src/easing-clipboard-data.ts
|
|
528
578
|
var isRecord2 = (value) => {
|
|
529
579
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -3179,6 +3229,7 @@ var stringifyDefaultProps = ({
|
|
|
3179
3229
|
// src/studio-entry-points.ts
|
|
3180
3230
|
var getStudioEntryPoints = ({
|
|
3181
3231
|
fastRefreshRuntime,
|
|
3232
|
+
reactScan,
|
|
3182
3233
|
environmentSetup,
|
|
3183
3234
|
sequenceStackTraces,
|
|
3184
3235
|
userDefinedComponent,
|
|
@@ -3186,6 +3237,7 @@ var getStudioEntryPoints = ({
|
|
|
3186
3237
|
studioRenderEntry
|
|
3187
3238
|
}) => [
|
|
3188
3239
|
fastRefreshRuntime,
|
|
3240
|
+
reactScan,
|
|
3189
3241
|
environmentSetup,
|
|
3190
3242
|
sequenceStackTraces,
|
|
3191
3243
|
userDefinedComponent,
|
|
@@ -3977,6 +4029,8 @@ export {
|
|
|
3977
4029
|
stringifySequenceExpandedRowKey,
|
|
3978
4030
|
stringifyDefaultProps,
|
|
3979
4031
|
splitAnsi,
|
|
4032
|
+
remoteAssetDownloadTimeout,
|
|
4033
|
+
remoteAssetAcceptHeader,
|
|
3980
4034
|
parseSpringEasingConfig,
|
|
3981
4035
|
parseSequencePropClipboardDataResult,
|
|
3982
4036
|
parseSequencePropClipboardData,
|
|
@@ -4003,6 +4057,7 @@ export {
|
|
|
4003
4057
|
optimisticAddSequenceKeyframe,
|
|
4004
4058
|
optimisticAddEffectKeyframe,
|
|
4005
4059
|
moveKeyframesInPropStatus,
|
|
4060
|
+
maxRemoteAssetSize,
|
|
4006
4061
|
keyframeInterpolationFunctions,
|
|
4007
4062
|
isValidPackageName,
|
|
4008
4063
|
isUrl,
|
|
@@ -4020,6 +4075,8 @@ export {
|
|
|
4020
4075
|
getSchemaFieldGroup,
|
|
4021
4076
|
getRequiredPackageForInsertableElement,
|
|
4022
4077
|
getRequiredPackageForEffectImportPath,
|
|
4078
|
+
getRemoteAssetFilename,
|
|
4079
|
+
getRemoteAssetElement,
|
|
4023
4080
|
getProjectName,
|
|
4024
4081
|
getPolyKeyframeEasing,
|
|
4025
4082
|
getOutKeyframeEasing,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/studio-entry-points.ts
|
|
2
2
|
var getStudioEntryPoints = ({
|
|
3
3
|
fastRefreshRuntime,
|
|
4
|
+
reactScan,
|
|
4
5
|
environmentSetup,
|
|
5
6
|
sequenceStackTraces,
|
|
6
7
|
userDefinedComponent,
|
|
@@ -8,6 +9,7 @@ var getStudioEntryPoints = ({
|
|
|
8
9
|
studioRenderEntry
|
|
9
10
|
}) => [
|
|
10
11
|
fastRefreshRuntime,
|
|
12
|
+
reactScan,
|
|
11
13
|
environmentSetup,
|
|
12
14
|
sequenceStackTraces,
|
|
13
15
|
userDefinedComponent,
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { getConfigFileChangeMessage, type ConfigFileChangeType, } from './config
|
|
|
14
14
|
export { configMethodLifecycles } from './config-method-lifecycles';
|
|
15
15
|
export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
|
|
16
16
|
export { detectFileType, isImageFileType, type FileDimensions, type FileType, type ImageFileType, } from './detect-file-type';
|
|
17
|
+
export { getRemoteAssetElement, getRemoteAssetFilename, maxRemoteAssetSize, remoteAssetAcceptHeader, remoteAssetDownloadTimeout, } from './remote-asset';
|
|
17
18
|
export { parseEasingClipboardData, parseEasingClipboardDataResult, type EasingClipboardData, type EasingClipboardDataParseResult, } from './easing-clipboard-data';
|
|
18
19
|
export { EFFECT_CATALOG, getEffectCatalogCategories, getEffectDocumentationLink, getEffectDocumentationPath, getEffectPreviewAlt, getEffectPreviewSource, type EffectCatalogCategory, type EffectCatalogItem, } from './effect-catalog';
|
|
19
20
|
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';
|
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.
|
|
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.getStylePropertyLonghandKeys = exports.BORDER_RADIUS_SHORTHAND_KEY = exports.BORDER_RADIUS_LONGHAND_KEYS = 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 = exports.DEFAULT_SPRING_EASING = exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = void 0;
|
|
17
|
+
exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = exports.getBackKeyframeEasing = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.HOLD_KEYFRAME_EASING = exports.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.parseKeyframeClipboardDataResult = exports.parseKeyframeClipboardData = exports.isKeyframeClipboardFieldType = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAssetSchemaKeys = exports.getAllSchemaKeys = exports.formatBytes = exports.parseSequencePropClipboardDataResult = exports.parseSequencePropClipboardData = 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.remoteAssetDownloadTimeout = exports.remoteAssetAcceptHeader = exports.maxRemoteAssetSize = exports.getRemoteAssetFilename = exports.getRemoteAssetElement = exports.isImageFileType = exports.detectFileType = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.configMethodLifecycles = exports.getConfigFileChangeMessage = exports.hasSequenceTimingTraits = exports.REACT_REFRESH_FINISHED_EVENT = exports.compositionDragDataToSymbolicatedStack = exports.parseCanvasCaptureData = exports.CANVAS_CAPTURE_METADATA_TAG = 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.getStylePropertyLonghandKeys = exports.BORDER_RADIUS_SHORTHAND_KEY = exports.BORDER_RADIUS_LONGHAND_KEYS = 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 = 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.isSchemaFieldHoldOnly = exports.getKeyframeInterpolationFunction = exports.canEditEasingForInterpolationFunction = 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; } });
|
|
@@ -38,6 +38,12 @@ Object.defineProperty(exports, "DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS", { e
|
|
|
38
38
|
const detect_file_type_1 = require("./detect-file-type");
|
|
39
39
|
Object.defineProperty(exports, "detectFileType", { enumerable: true, get: function () { return detect_file_type_1.detectFileType; } });
|
|
40
40
|
Object.defineProperty(exports, "isImageFileType", { enumerable: true, get: function () { return detect_file_type_1.isImageFileType; } });
|
|
41
|
+
const remote_asset_1 = require("./remote-asset");
|
|
42
|
+
Object.defineProperty(exports, "getRemoteAssetElement", { enumerable: true, get: function () { return remote_asset_1.getRemoteAssetElement; } });
|
|
43
|
+
Object.defineProperty(exports, "getRemoteAssetFilename", { enumerable: true, get: function () { return remote_asset_1.getRemoteAssetFilename; } });
|
|
44
|
+
Object.defineProperty(exports, "maxRemoteAssetSize", { enumerable: true, get: function () { return remote_asset_1.maxRemoteAssetSize; } });
|
|
45
|
+
Object.defineProperty(exports, "remoteAssetAcceptHeader", { enumerable: true, get: function () { return remote_asset_1.remoteAssetAcceptHeader; } });
|
|
46
|
+
Object.defineProperty(exports, "remoteAssetDownloadTimeout", { enumerable: true, get: function () { return remote_asset_1.remoteAssetDownloadTimeout; } });
|
|
41
47
|
const easing_clipboard_data_1 = require("./easing-clipboard-data");
|
|
42
48
|
Object.defineProperty(exports, "parseEasingClipboardData", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardData; } });
|
|
43
49
|
Object.defineProperty(exports, "parseEasingClipboardDataResult", { enumerable: true, get: function () { return easing_clipboard_data_1.parseEasingClipboardDataResult; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InsertableCompositionElement } from './api-requests';
|
|
2
|
+
import type { ImageFileType } from './detect-file-type';
|
|
3
|
+
export declare const maxRemoteAssetSize: number;
|
|
4
|
+
export declare const remoteAssetDownloadTimeout = 15000;
|
|
5
|
+
export declare const remoteAssetAcceptHeader = "image/png,image/apng,image/jpeg,image/webp,image/bmp,image/gif";
|
|
6
|
+
export declare const getRemoteAssetFilename: ({ fileType, url, }: {
|
|
7
|
+
fileType: ImageFileType;
|
|
8
|
+
url: URL;
|
|
9
|
+
}) => string;
|
|
10
|
+
export declare const getRemoteAssetElement: ({ assetPath, fileType, }: {
|
|
11
|
+
assetPath: string;
|
|
12
|
+
fileType: ImageFileType;
|
|
13
|
+
}) => InsertableCompositionElement;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRemoteAssetElement = exports.getRemoteAssetFilename = exports.remoteAssetAcceptHeader = exports.remoteAssetDownloadTimeout = exports.maxRemoteAssetSize = void 0;
|
|
4
|
+
exports.maxRemoteAssetSize = 50 * 1024 * 1024;
|
|
5
|
+
exports.remoteAssetDownloadTimeout = 15000;
|
|
6
|
+
exports.remoteAssetAcceptHeader = 'image/png,image/apng,image/jpeg,image/webp,image/bmp,image/gif';
|
|
7
|
+
const extensionsForFileType = {
|
|
8
|
+
png: ['png'],
|
|
9
|
+
apng: ['png', 'apng'],
|
|
10
|
+
jpeg: ['jpg', 'jpeg'],
|
|
11
|
+
webp: ['webp'],
|
|
12
|
+
bmp: ['bmp'],
|
|
13
|
+
gif: ['gif'],
|
|
14
|
+
};
|
|
15
|
+
const getRemoteAssetFilename = ({ fileType, url, }) => {
|
|
16
|
+
const encodedBasename = url.pathname.slice(url.pathname.lastIndexOf('/') + 1);
|
|
17
|
+
let basename;
|
|
18
|
+
try {
|
|
19
|
+
basename = decodeURIComponent(encodedBasename);
|
|
20
|
+
}
|
|
21
|
+
catch (_a) {
|
|
22
|
+
basename = encodedBasename;
|
|
23
|
+
}
|
|
24
|
+
const sanitized = Array.from(basename)
|
|
25
|
+
.map((character) => {
|
|
26
|
+
const charCode = character.charCodeAt(0);
|
|
27
|
+
return charCode <= 31 || '<>:"/\\|?*'.includes(character)
|
|
28
|
+
? '-'
|
|
29
|
+
: character;
|
|
30
|
+
})
|
|
31
|
+
.join('')
|
|
32
|
+
.trim()
|
|
33
|
+
.replace(/^[. ]+|[. ]+$/g, '');
|
|
34
|
+
const filenameWithoutFallback = sanitized === '' ? 'image' : sanitized;
|
|
35
|
+
const extensions = extensionsForFileType[fileType.type];
|
|
36
|
+
const lastDot = filenameWithoutFallback.lastIndexOf('.');
|
|
37
|
+
const extension = lastDot > 0 ? filenameWithoutFallback.slice(lastDot + 1).toLowerCase() : '';
|
|
38
|
+
if (extensions.includes(extension)) {
|
|
39
|
+
return filenameWithoutFallback;
|
|
40
|
+
}
|
|
41
|
+
const withoutExtension = extension
|
|
42
|
+
? filenameWithoutFallback.slice(0, -(extension.length + 1))
|
|
43
|
+
: filenameWithoutFallback;
|
|
44
|
+
const safeName = withoutExtension === '' ? 'image' : withoutExtension;
|
|
45
|
+
return `${safeName}.${extensions[0]}`;
|
|
46
|
+
};
|
|
47
|
+
exports.getRemoteAssetFilename = getRemoteAssetFilename;
|
|
48
|
+
const getRemoteAssetElement = ({ assetPath, fileType, }) => ({
|
|
49
|
+
type: 'asset',
|
|
50
|
+
assetType: fileType.type === 'gif'
|
|
51
|
+
? 'gif'
|
|
52
|
+
: fileType.type === 'apng' ||
|
|
53
|
+
(fileType.type === 'webp' && fileType.animated)
|
|
54
|
+
? 'animated-image'
|
|
55
|
+
: 'image',
|
|
56
|
+
src: assetPath,
|
|
57
|
+
srcType: 'static',
|
|
58
|
+
dimensions: fileType.dimensions,
|
|
59
|
+
durationInFrames: null,
|
|
60
|
+
position: null,
|
|
61
|
+
});
|
|
62
|
+
exports.getRemoteAssetElement = getRemoteAssetElement;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export type StudioEntryPointPaths = {
|
|
2
2
|
fastRefreshRuntime: string | null;
|
|
3
|
+
reactScan: string | null;
|
|
3
4
|
environmentSetup: string;
|
|
4
5
|
sequenceStackTraces: string | null;
|
|
5
6
|
userDefinedComponent: string;
|
|
6
7
|
reactShim: string;
|
|
7
8
|
studioRenderEntry: string;
|
|
8
9
|
};
|
|
9
|
-
export declare const getStudioEntryPoints: ({ fastRefreshRuntime, environmentSetup, sequenceStackTraces, userDefinedComponent, reactShim, studioRenderEntry, }: StudioEntryPointPaths) => [string, ...string[]];
|
|
10
|
+
export declare const getStudioEntryPoints: ({ fastRefreshRuntime, reactScan, environmentSetup, sequenceStackTraces, userDefinedComponent, reactShim, studioRenderEntry, }: StudioEntryPointPaths) => [string, ...string[]];
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getStudioEntryPoints = void 0;
|
|
4
|
-
const getStudioEntryPoints = ({ fastRefreshRuntime, environmentSetup, sequenceStackTraces, userDefinedComponent, reactShim, studioRenderEntry, }) => [
|
|
4
|
+
const getStudioEntryPoints = ({ fastRefreshRuntime, reactScan, environmentSetup, sequenceStackTraces, userDefinedComponent, reactShim, studioRenderEntry, }) => [
|
|
5
5
|
// Fast Refresh must come first because setup-environment imports ReactDOM.
|
|
6
6
|
// If ReactDOM is imported before Fast Refresh, Fast Refresh does not work.
|
|
7
7
|
fastRefreshRuntime,
|
|
8
|
+
reactScan,
|
|
8
9
|
environmentSetup,
|
|
9
10
|
sequenceStackTraces,
|
|
10
11
|
userDefinedComponent,
|
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.
|
|
6
|
+
"version": "4.0.516",
|
|
7
7
|
"description": "Internal package for shared objects between the Studio backend and frontend",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"module": "dist/esm/index.mjs",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@remotion/studio-protocol": "4.0.
|
|
25
|
-
"remotion": "4.0.
|
|
24
|
+
"@remotion/studio-protocol": "4.0.516",
|
|
25
|
+
"remotion": "4.0.516"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@remotion/renderer": "4.0.
|
|
29
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
28
|
+
"@remotion/renderer": "4.0.516",
|
|
29
|
+
"@remotion/eslint-config-internal": "4.0.516",
|
|
30
30
|
"eslint": "9.19.0",
|
|
31
31
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
32
32
|
},
|