@twick/studio 0.15.18 → 0.15.19

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/studio.css CHANGED
@@ -68,6 +68,10 @@ html {
68
68
  color: var(--color-gray-300);
69
69
  }
70
70
 
71
+ .cloud-media-upload-container {
72
+ padding: 0rem 0.25rem;
73
+ }
74
+
71
75
  /* ========================================
72
76
  FILE INPUT UTILITIES
73
77
  ======================================== */
@@ -127,7 +131,8 @@ html {
127
131
  display: flex;
128
132
  flex-direction: column;
129
133
  gap: 0.5rem;
130
- margin-bottom: 0.75rem;
134
+ margin-top: 0.25rem;
135
+ margin-bottom: 0.50rem;
131
136
  }
132
137
 
133
138
  .panel-content {
@@ -76,6 +76,11 @@ export interface ICaptionGenerationService {
76
76
  /** Polling interval in milliseconds for caption status checks. Defaults to 5000. */
77
77
  pollingIntervalMs?: number;
78
78
  }
79
+ /** Configuration for cloud media upload (S3 or GCS). Credentials are configured via env on the upload API backend. */
80
+ export interface UploadConfig {
81
+ uploadApiUrl: string;
82
+ provider: "s3" | "gcs";
83
+ }
79
84
  export interface StudioConfig extends VideoEditorConfig {
80
85
  /** Canvas behavior options (e.g. enableShiftAxisLock). Same as editorConfig.canvasConfig in TwickEditor. */
81
86
  canvasConfig?: CanvasConfig;
@@ -87,12 +92,18 @@ export interface StudioConfig extends VideoEditorConfig {
87
92
  */
88
93
  captionGenerationService?: ICaptionGenerationService;
89
94
  exportVideo?: (project: ProjectJSON, videoSettings: VideoSettings) => Promise<Result>;
95
+ /**
96
+ * When set, media panels show cloud upload (S3 or GCS). Backend must be configured with env (e.g. FILE_UPLOADER_S3_* or GOOGLE_CLOUD_*).
97
+ * See cloud-functions/cors/ and file-uploader README for CORS and credentials.
98
+ */
99
+ uploadConfig?: UploadConfig;
90
100
  }
91
101
  export interface PanelProps {
92
102
  selectedElement?: TrackElement | null;
93
103
  videoResolution: Size;
94
104
  addElement?: (item: TrackElement) => void;
95
105
  updateElement?: (item: TrackElement) => void;
106
+ uploadConfig?: UploadConfig;
96
107
  }
97
108
  export interface PropertiesPanelProps {
98
109
  selectedElement?: TrackElement | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twick/studio",
3
- "version": "0.15.18",
3
+ "version": "0.15.19",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -33,14 +33,14 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@twick/canvas": "0.15.18",
37
- "@twick/core": "^0.15.18",
38
- "@twick/live-player": "0.15.18",
39
- "@twick/media-utils": "0.15.18",
40
- "@twick/player-react": "^0.15.18",
41
- "@twick/timeline": "0.15.18",
42
- "@twick/video-editor": "0.15.18",
43
- "@twick/visualizer": "0.15.18",
36
+ "@twick/canvas": "0.15.19",
37
+ "@twick/core": "^0.15.19",
38
+ "@twick/live-player": "0.15.19",
39
+ "@twick/media-utils": "0.15.19",
40
+ "@twick/player-react": "^0.15.19",
41
+ "@twick/timeline": "0.15.19",
42
+ "@twick/video-editor": "0.15.19",
43
+ "@twick/visualizer": "0.15.19",
44
44
  "lucide-react": "^0.511.0"
45
45
  },
46
46
  "peerDependencies": {
@@ -53,9 +53,9 @@
53
53
  "@types/react-dom": "^18.0.0 || ^19.0.0",
54
54
  "react": "^18.0.0 || ^19.0.0",
55
55
  "react-dom": "^18.0.0 || ^19.0.0",
56
- "@twick/timeline": "0.15.18",
57
- "@twick/live-player": "0.15.18",
58
- "@twick/video-editor": "0.15.18",
56
+ "@twick/timeline": "0.15.19",
57
+ "@twick/live-player": "0.15.19",
58
+ "@twick/video-editor": "0.15.19",
59
59
  "rimraf": "^5.0.5",
60
60
  "typedoc": "^0.25.8",
61
61
  "typedoc-plugin-markdown": "^3.17.1",