UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

59 lines (58 loc) 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTimelineLayerHeight = exports.TIMELINE_LAYER_HEIGHT_AUDIO = exports.TIMELINE_LAYER_HEIGHT_IMAGE = exports.TIMELINE_LAYER_HEIGHT_VIDEO = exports.getExpandedTrackHeight = exports.getSchemaFields = exports.UNSUPPORTED_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.TIMELINE_TRACK_EXPANDED_HEIGHT = exports.TIMELINE_ITEM_BORDER_BOTTOM = exports.TIMELINE_BORDER = exports.TIMELINE_PADDING = void 0; exports.TIMELINE_PADDING = 16; exports.TIMELINE_BORDER = 1; exports.TIMELINE_ITEM_BORDER_BOTTOM = 1; exports.TIMELINE_TRACK_EXPANDED_HEIGHT = 100; exports.SCHEMA_FIELD_ROW_HEIGHT = 22; exports.UNSUPPORTED_FIELD_ROW_HEIGHT = 22; const SUPPORTED_SCHEMA_TYPES = new Set([ 'number', 'boolean', 'rotation', 'translate', ]); const getSchemaFields = (controls) => { if (!controls) { return null; } return Object.entries(controls.schema).map(([key, fieldSchema]) => { const typeName = fieldSchema.type; const supported = SUPPORTED_SCHEMA_TYPES.has(typeName); return { key, description: fieldSchema.description, typeName, supported, rowHeight: supported ? exports.SCHEMA_FIELD_ROW_HEIGHT : exports.UNSUPPORTED_FIELD_ROW_HEIGHT, currentValue: controls.currentValue[key], fieldSchema, }; }); }; exports.getSchemaFields = getSchemaFields; const getExpandedTrackHeight = (controls) => { const fields = (0, exports.getSchemaFields)(controls); if (!fields || fields.length === 0) { return exports.TIMELINE_TRACK_EXPANDED_HEIGHT; } const separators = Math.max(0, fields.length - 1); return fields.reduce((sum, f) => sum + f.rowHeight, 0) + separators; }; exports.getExpandedTrackHeight = getExpandedTrackHeight; exports.TIMELINE_LAYER_HEIGHT_VIDEO = 75; exports.TIMELINE_LAYER_HEIGHT_IMAGE = 50; exports.TIMELINE_LAYER_HEIGHT_AUDIO = 25; const getTimelineLayerHeight = (type) => { if (type === 'video') { return exports.TIMELINE_LAYER_HEIGHT_VIDEO; } if (type === 'image') { return exports.TIMELINE_LAYER_HEIGHT_IMAGE; } return exports.TIMELINE_LAYER_HEIGHT_AUDIO; }; exports.getTimelineLayerHeight = getTimelineLayerHeight;