@twick/video-editor 0.15.28 → 0.15.30

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.
@@ -0,0 +1,6 @@
1
+ export declare const AudioWaveform: React.FC<{
2
+ src?: string;
3
+ widthPx: number;
4
+ heightPx: number;
5
+ label?: string;
6
+ }>;
@@ -0,0 +1,14 @@
1
+ export declare const ImageTimelineStrip: React.FC<{
2
+ src: string;
3
+ widthPx: number;
4
+ heightPx: number;
5
+ }>;
6
+ export declare const VideoTimelineStrip: React.FC<{
7
+ src: string;
8
+ widthPx: number;
9
+ heightPx: number;
10
+ durationSec: number;
11
+ mediaOffsetSec?: number;
12
+ playbackRate?: number;
13
+ mediaDurationSec?: number;
14
+ }>;
@@ -1,12 +1,35 @@
1
1
  import { default as BaseMediaManager } from './base-media-manager';
2
2
  import { MediaItem, PaginationOptions, SearchOptions } from '../types';
3
3
 
4
+ export type BrowserMediaManagerOptions = {
5
+ /**
6
+ * IndexedDB database name. Use this to namespace per tenant/user/project.
7
+ * Defaults to "mediaStore" for backwards compatibility.
8
+ */
9
+ dbName?: string;
10
+ /**
11
+ * Object store name within the database.
12
+ * Defaults to "mediaItems" for backwards compatibility.
13
+ */
14
+ storeName?: string;
15
+ };
4
16
  declare class BrowserMediaManager extends BaseMediaManager {
5
17
  private dbName;
6
18
  private storeName;
7
19
  private db;
20
+ constructor(options?: BrowserMediaManagerOptions);
8
21
  private initDB;
9
22
  private getStore;
23
+ /**
24
+ * Clears all items from the object store within this manager's database.
25
+ * This is scoped to the manager's dbName/storeName (safe for multi-tenant namespaces).
26
+ */
27
+ clearStore(): Promise<void>;
28
+ /**
29
+ * Deletes the entire IndexedDB database used by this manager.
30
+ * Note: Any other tabs/instances using the same dbName may be affected.
31
+ */
32
+ dropDatabase(): Promise<void>;
10
33
  private convertArrayBufferToBlob;
11
34
  addItem(item: Omit<MediaItem, 'id'>): Promise<MediaItem>;
12
35
  addItems(items: Omit<MediaItem, 'id'>[]): Promise<MediaItem[]>;
@@ -12,12 +12,13 @@ interface UseMarqueeSelectionOptions {
12
12
  labelWidth: number;
13
13
  trackCount: number;
14
14
  trackHeight: number;
15
+ separatorHeight?: number;
15
16
  tracks: Track[];
16
17
  containerRef: React.RefObject<HTMLDivElement | null>;
17
18
  onMarqueeSelect: (ids: Set<string>) => void;
18
19
  onEmptyClick: () => void;
19
20
  }
20
- export declare function useMarqueeSelection({ duration, zoomLevel, labelWidth, trackCount, trackHeight, tracks, containerRef, onMarqueeSelect, onEmptyClick, }: UseMarqueeSelectionOptions): {
21
+ export declare function useMarqueeSelection({ duration, zoomLevel, labelWidth, trackCount, trackHeight, separatorHeight, tracks, containerRef, onMarqueeSelect, onEmptyClick, }: UseMarqueeSelectionOptions): {
21
22
  marquee: MarqueeRect | null;
22
23
  handleMouseDown: (e: React.MouseEvent<HTMLDivElement>) => void;
23
24
  };
@@ -11,7 +11,7 @@ export interface DropPreview {
11
11
  * Hook for handling file drops on the timeline.
12
12
  * Computes drop position from coordinates and provides handlers for drag/drop.
13
13
  */
14
- export declare function useTimelineDrop({ containerRef, scrollContainerRef, tracks, duration, zoomLevel, labelWidth, trackHeight,
14
+ export declare function useTimelineDrop({ containerRef, scrollContainerRef, tracks, duration, zoomLevel, labelWidth, trackHeight, separatorHeight,
15
15
  /** Width of the track content area (timeline minus labels). Used for accurate time mapping. */
16
16
  trackContentWidth, onDrop, enabled, }: {
17
17
  containerRef: React.RefObject<HTMLElement | null>;
@@ -22,6 +22,7 @@ trackContentWidth, onDrop, enabled, }: {
22
22
  zoomLevel: number;
23
23
  labelWidth: number;
24
24
  trackHeight: number;
25
+ separatorHeight?: number;
25
26
  trackContentWidth?: number;
26
27
  onDrop: (params: {
27
28
  track: Track | null;