testing
This commit is contained in:
parent
33f4a54768
commit
58f23e8f2a
|
|
@ -7,7 +7,7 @@ interface ColorPickerProps {
|
||||||
value?: string;
|
value?: string;
|
||||||
onChange?: (value: string) => void;
|
onChange?: (value: string) => void;
|
||||||
className?: string;
|
className?: string;
|
||||||
containerRef?: React.RefObject<HTMLDivElement>;
|
containerRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const hexToHsv = (hex: string) => {
|
const hexToHsv = (hex: string) => {
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@ const DRAG_THRESHOLD_PX = 5;
|
||||||
|
|
||||||
interface UseElementInteractionProps {
|
interface UseElementInteractionProps {
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
timelineRef: RefObject<HTMLDivElement>;
|
timelineRef: RefObject<HTMLDivElement | null>;
|
||||||
tracksContainerRef: RefObject<HTMLDivElement>;
|
tracksContainerRef: RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: RefObject<HTMLDivElement>;
|
tracksScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
headerRef?: RefObject<HTMLElement>;
|
headerRef?: RefObject<HTMLElement | null>;
|
||||||
snappingEnabled: boolean;
|
snappingEnabled: boolean;
|
||||||
onSnapPointChange?: (snapPoint: SnapPoint | null) => void;
|
onSnapPointChange?: (snapPoint: SnapPoint | null) => void;
|
||||||
}
|
}
|
||||||
|
|
@ -115,9 +115,9 @@ function getDragDropTarget({
|
||||||
elementId: string;
|
elementId: string;
|
||||||
trackId: string;
|
trackId: string;
|
||||||
tracks: TimelineTrack[];
|
tracks: TimelineTrack[];
|
||||||
tracksContainerRef: RefObject<HTMLDivElement>;
|
tracksContainerRef: RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: RefObject<HTMLDivElement>;
|
tracksScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
headerRef?: RefObject<HTMLElement>;
|
headerRef?: RefObject<HTMLElement | null>;
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
snappedTime: number;
|
snappedTime: number;
|
||||||
verticalDragDirection?: "up" | "down" | null;
|
verticalDragDirection?: "up" | "down" | null;
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ import { useEffect, useRef } from "react";
|
||||||
interface UseEdgeAutoScrollParams {
|
interface UseEdgeAutoScrollParams {
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
getMouseClientX: () => number;
|
getMouseClientX: () => number;
|
||||||
rulerScrollRef: React.RefObject<HTMLDivElement>;
|
rulerScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: React.RefObject<HTMLDivElement>;
|
tracksScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
contentWidth: number;
|
contentWidth: number;
|
||||||
edgeThreshold?: number;
|
edgeThreshold?: number;
|
||||||
maxScrollSpeed?: number;
|
maxScrollSpeed?: number;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
import { useEffect, useRef } from "react";
|
import { useEffect, useRef } from "react";
|
||||||
|
|
||||||
interface UseScrollSyncProps {
|
interface UseScrollSyncProps {
|
||||||
rulerScrollRef?: React.RefObject<HTMLDivElement>;
|
rulerScrollRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: React.RefObject<HTMLDivElement>;
|
tracksScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
trackLabelsScrollRef?: React.RefObject<HTMLDivElement>;
|
trackLabelsScrollRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
bookmarksScrollRef?: React.RefObject<HTMLDivElement>;
|
bookmarksScrollRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useScrollSync({
|
export function useScrollSync({
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ import { getCumulativeHeightBefore, getTrackHeight } from "@/lib/timeline";
|
||||||
import { useEditor } from "../use-editor";
|
import { useEditor } from "../use-editor";
|
||||||
|
|
||||||
interface UseSelectionBoxProps {
|
interface UseSelectionBoxProps {
|
||||||
containerRef: React.RefObject<HTMLElement>;
|
containerRef: React.RefObject<HTMLElement | null>;
|
||||||
onSelectionComplete: (
|
onSelectionComplete: (
|
||||||
elements: { trackId: string; elementId: string }[],
|
elements: { trackId: string; elementId: string }[],
|
||||||
) => void;
|
) => void;
|
||||||
isEnabled?: boolean;
|
isEnabled?: boolean;
|
||||||
tracksScrollRef: React.RefObject<HTMLDivElement>;
|
tracksScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ interface UseSnapIndicatorPositionParams {
|
||||||
snapPoint: { time: number } | null;
|
snapPoint: { time: number } | null;
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
tracks: TimelineTrack[];
|
tracks: TimelineTrack[];
|
||||||
timelineRef: React.RefObject<HTMLDivElement>;
|
timelineRef: React.RefObject<HTMLDivElement | null>;
|
||||||
trackLabelsRef?: React.RefObject<HTMLDivElement>;
|
trackLabelsRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: React.RefObject<HTMLDivElement>;
|
tracksScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SnapIndicatorPosition {
|
interface SnapIndicatorPosition {
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ import type { TrackType, DropTarget, ElementType } from "@/types/timeline";
|
||||||
import type { MediaDragData, StickerDragData } from "@/types/drag";
|
import type { MediaDragData, StickerDragData } from "@/types/drag";
|
||||||
|
|
||||||
interface UseTimelineDragDropProps {
|
interface UseTimelineDragDropProps {
|
||||||
containerRef: RefObject<HTMLDivElement>;
|
containerRef: RefObject<HTMLDivElement | null>;
|
||||||
headerRef?: RefObject<HTMLElement>;
|
headerRef?: RefObject<HTMLElement | null>;
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@ import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants";
|
||||||
|
|
||||||
interface UseTimelinePlayheadProps {
|
interface UseTimelinePlayheadProps {
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
rulerRef: React.RefObject<HTMLDivElement>;
|
rulerRef: React.RefObject<HTMLDivElement | null>;
|
||||||
rulerScrollRef: React.RefObject<HTMLDivElement>;
|
rulerScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: React.RefObject<HTMLDivElement>;
|
tracksScrollRef: React.RefObject<HTMLDivElement | null>;
|
||||||
playheadRef?: React.RefObject<HTMLDivElement>;
|
playheadRef?: React.RefObject<HTMLDivElement | null>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function useTimelinePlayhead({
|
export function useTimelinePlayhead({
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ import { getSnappedSeekTime } from "@/lib/time";
|
||||||
import { useEditor } from "../use-editor";
|
import { useEditor } from "../use-editor";
|
||||||
|
|
||||||
interface UseTimelineSeekProps {
|
interface UseTimelineSeekProps {
|
||||||
playheadRef: RefObject<HTMLDivElement>;
|
playheadRef: RefObject<HTMLDivElement | null>;
|
||||||
trackLabelsRef: RefObject<HTMLDivElement>;
|
trackLabelsRef: RefObject<HTMLDivElement | null>;
|
||||||
rulerScrollRef: RefObject<HTMLDivElement>;
|
rulerScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
tracksScrollRef: RefObject<HTMLDivElement>;
|
tracksScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
zoomLevel: number;
|
zoomLevel: number;
|
||||||
duration: number;
|
duration: number;
|
||||||
isSelecting: boolean;
|
isSelecting: boolean;
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@ import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants";
|
||||||
import { useEditor } from "@/hooks/use-editor";
|
import { useEditor } from "@/hooks/use-editor";
|
||||||
|
|
||||||
interface UseTimelineZoomProps {
|
interface UseTimelineZoomProps {
|
||||||
containerRef: RefObject<HTMLDivElement>;
|
containerRef: RefObject<HTMLDivElement | null>;
|
||||||
minZoom?: number;
|
minZoom?: number;
|
||||||
initialZoom?: number;
|
initialZoom?: number;
|
||||||
initialScrollLeft?: number;
|
initialScrollLeft?: number;
|
||||||
initialPlayheadTime?: number;
|
initialPlayheadTime?: number;
|
||||||
tracksScrollRef: RefObject<HTMLDivElement>;
|
tracksScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
rulerScrollRef: RefObject<HTMLDivElement>;
|
rulerScrollRef: RefObject<HTMLDivElement | null>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface UseTimelineZoomReturn {
|
interface UseTimelineZoomReturn {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue