summaryrefslogtreecommitdiff
path: root/apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx
blob: c0efc19e2516bfa122950ab454294e5b6ecf1601 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { TimelineCanvasRulerWrapperProps } from "@/types/timeline";
import React, { forwardRef } from "react";

/**
 * Wrapper div around the canvas-based timeline ruler.
 * Captures mouse events for scrubbing and ensures pointer events are properly enabled.
 */
const TimelineCanvasRulerWrapper = forwardRef<
  HTMLDivElement,
  TimelineCanvasRulerWrapperProps
>(({ children, onMouseDown, className = "" }, ref) => {
  return (
    <div
      ref={ref}
      className={`relative overflow-hidden h-5 w-full select-none cursor-pointer ${className}`}
      onMouseDown={onMouseDown}
      data-ruler-wrapper
    >
      {children}
    </div>
  );
});

export default TimelineCanvasRulerWrapper;