@shotstack/shotstack-studio 2.6.1 → 2.7.0

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/index.d.ts CHANGED
@@ -92,10 +92,15 @@ export declare class Controls {
92
92
  private seekDistance;
93
93
  private seekDistanceLarge;
94
94
  private frameTime;
95
+ private pendingPaste;
95
96
  constructor(edit: Edit);
96
97
  load(): Promise<void>;
97
98
  private shouldIgnoreKeyboardEvent;
98
99
  private handleKeyDown;
100
+ private handlePaste;
101
+ /** Resolve Ctrl/Cmd+V across all paste sources. */
102
+ private dispatchPaste;
103
+ private tryAddSvgClip;
99
104
  private handleKeyUp;
100
105
  }
101
106
 
@@ -152,6 +157,21 @@ export declare class Edit {
152
157
  private loadSoundtrack;
153
158
  getEdit(): Edit_2;
154
159
  addClip(trackIdx: number, clip: Clip): void | Promise<void>;
160
+ addSvgClip(svgMarkup: string, opts?: {
161
+ trackIndex?: number;
162
+ start?: Seconds;
163
+ length?: Seconds;
164
+ }): Promise<void>;
165
+ /** Add a clip to the timeline from a Clip object or JSON string. */
166
+ addClipFromJson(clipOrJson: Clip | string, opts?: {
167
+ trackIndex?: number;
168
+ start?: Seconds;
169
+ length?: Seconds;
170
+ }): Promise<void>;
171
+ /** Paste one or more Track JSONs onto the timeline as new top tracks. */
172
+ addTracksFromJson(tracksOrJson: Track[] | Track | string, opts?: {
173
+ start?: Seconds;
174
+ }): Promise<void>;
155
175
  getClip(trackIdx: number, clipIdx: number): Clip | null;
156
176
  /**
157
177
  * Clear the error for a deleted clip and shift indices for remaining errors.
@@ -384,6 +404,16 @@ declare interface ReadonlyEventEmitter<TEventPayloadMap extends EventPayloadMap>
384
404
  off<K extends keyof TEventPayloadMap>(name: K, listener: Listener<TEventPayloadMap[K]>): void;
385
405
  }
386
406
 
407
+ /**
408
+ * A number representing time in seconds.
409
+ * Used at API/configuration boundaries where users specify timing.
410
+ */
411
+ declare type Seconds = number & {
412
+ readonly [SecondsSymbol]: typeof SecondsSymbol;
413
+ };
414
+
415
+ declare const SecondsSymbol: unique symbol;
416
+
387
417
  export declare class Timeline {
388
418
  private readonly edit;
389
419
  readonly element: HTMLElement;
@@ -69,6 +69,21 @@ export declare class Edit {
69
69
  private loadSoundtrack;
70
70
  getEdit(): Edit_2;
71
71
  addClip(trackIdx: number, clip: Clip): void | Promise<void>;
72
+ addSvgClip(svgMarkup: string, opts?: {
73
+ trackIndex?: number;
74
+ start?: Seconds;
75
+ length?: Seconds;
76
+ }): Promise<void>;
77
+ /** Add a clip to the timeline from a Clip object or JSON string. */
78
+ addClipFromJson(clipOrJson: Clip | string, opts?: {
79
+ trackIndex?: number;
80
+ start?: Seconds;
81
+ length?: Seconds;
82
+ }): Promise<void>;
83
+ /** Paste one or more Track JSONs onto the timeline as new top tracks. */
84
+ addTracksFromJson(tracksOrJson: Track[] | Track | string, opts?: {
85
+ start?: Seconds;
86
+ }): Promise<void>;
72
87
  getClip(trackIdx: number, clipIdx: number): Clip | null;
73
88
  /**
74
89
  * Clear the error for a deleted clip and shift indices for remaining errors.
@@ -366,6 +381,16 @@ declare interface ReadonlyEventEmitter<TEventPayloadMap extends EventPayloadMap>
366
381
  off<K extends keyof TEventPayloadMap>(name: K, listener: Listener<TEventPayloadMap[K]>): void;
367
382
  }
368
383
 
384
+ /**
385
+ * A number representing time in seconds.
386
+ * Used at API/configuration boundaries where users specify timing.
387
+ */
388
+ declare type Seconds = number & {
389
+ readonly [SecondsSymbol]: typeof SecondsSymbol;
390
+ };
391
+
392
+ declare const SecondsSymbol: unique symbol;
393
+
369
394
  /**
370
395
  * Serialized format for JSON export (matches Shotstack API).
371
396
  * The replace value can be any type - strings, numbers, booleans, objects.