@twick/video-editor 0.15.27 → 0.15.28

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.
@@ -2,7 +2,7 @@ import { Track, TrackElement, Size, ChapterMarker } from '@twick/timeline';
2
2
  import { ElementColors } from '../../helpers/types';
3
3
  import { DropTarget } from '../../utils/drop-target';
4
4
 
5
- declare function TimelineView({ zoomLevel, selectedItem, duration, tracks, seekTrack, onAddTrack, onReorder, onItemSelect, onEmptyClick, onMarqueeSelect, onElementDrag, onElementDrop, onSeek, elementColors, selectedIds, playheadPositionPx, isPlayheadActive, onDropOnTimeline, videoResolution, enableDropOnTimeline, chapters, }: {
5
+ declare function TimelineView({ zoomLevel, selectedItem, duration, tracks, seekTrack, onAddTrack, onReorder, onItemSelect, onEmptyClick, onMarqueeSelect, onElementDrag, onElementDrop, onSeek, elementColors, selectedIds, playheadPositionPx, isPlayheadActive, onDropOnTimeline, videoResolution, enableDropOnTimeline, chapters, currentTime, onContextMenuTarget, onDeleteElement, onSplitElement, }: {
6
6
  zoomLevel: number;
7
7
  duration: number;
8
8
  tracks: Track[];
@@ -50,5 +50,10 @@ declare function TimelineView({ zoomLevel, selectedItem, duration, tracks, seekT
50
50
  /** Whether to enable drop-on-timeline */
51
51
  enableDropOnTimeline?: boolean;
52
52
  chapters?: ChapterMarker[];
53
+ /** Playhead time for clip context menu “split at playhead” */
54
+ currentTime?: number;
55
+ onContextMenuTarget?: (element: TrackElement) => void;
56
+ onDeleteElement?: (element: TrackElement) => void;
57
+ onSplitElement?: (element: TrackElement, splitTime: number) => void;
53
58
  }): import("react/jsx-runtime").JSX.Element;
54
59
  export default TimelineView;
@@ -14,6 +14,10 @@ interface TrackBaseProps {
14
14
  onDrag: (payload: TrackElementDragPayload, dropPointer?: DropPointer) => void;
15
15
  onDragStateChange?: (isDragging: boolean, element?: TrackElement) => void;
16
16
  elementColors?: ElementColors;
17
+ currentTime?: number;
18
+ onContextMenuTarget?: (element: TrackElement) => void;
19
+ onDeleteElement?: (element: TrackElement) => void;
20
+ onSplitElement?: (element: TrackElement, splitTime: number) => void;
17
21
  }
18
- declare const TrackBase: ({ duration, zoom, track, trackWidth, selectedItem, selectedIds, onItemSelection, onDrag, allowOverlap, onDragStateChange, elementColors, }: TrackBaseProps) => import("react/jsx-runtime").JSX.Element;
22
+ declare const TrackBase: ({ duration, zoom, track, trackWidth, selectedItem, selectedIds, onItemSelection, onDrag, allowOverlap, onDragStateChange, elementColors, currentTime, onContextMenuTarget, onDeleteElement, onSplitElement, }: TrackBaseProps) => import("react/jsx-runtime").JSX.Element;
19
23
  export default TrackBase;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface TrackElementContextMenuProps {
4
+ x: number;
5
+ y: number;
6
+ canSplit: boolean;
7
+ onSplit: () => void;
8
+ onDelete: () => void;
9
+ onClose: () => void;
10
+ }
11
+ /**
12
+ * Timeline clip context menu: split at playhead, delete.
13
+ * Uses the same styles as the canvas context menu; portals to document.body
14
+ * so it is not clipped by timeline overflow or motion transforms.
15
+ */
16
+ export declare const TrackElementContextMenu: React.FC<TrackElementContextMenuProps>;
@@ -26,5 +26,11 @@ export declare const TrackElementView: React.FC<{
26
26
  onDrag: (payload: TrackElementDragPayload, dropPointer?: DropPointer) => void;
27
27
  onDragStateChange?: (isDragging: boolean, element?: TrackElement) => void;
28
28
  elementColors?: ElementColors;
29
+ /** Playhead time (seconds); used for “Split at playhead” */
30
+ currentTime?: number;
31
+ /** Selects this element when opening the context menu */
32
+ onContextMenuTarget?: (element: TrackElement) => void;
33
+ onDeleteElement?: (element: TrackElement) => void;
34
+ onSplitElement?: (element: TrackElement, splitTime: number) => void;
29
35
  }>;
30
36
  export default TrackElementView;
@@ -135,6 +135,7 @@ export interface ElementColors {
135
135
  text: string;
136
136
  caption: string;
137
137
  icon: string;
138
+ emoji: string;
138
139
  circle: string;
139
140
  rect: string;
140
141
  element: string;