{"version":3,"file":"TrackItem.mjs","names":[],"sources":["../../../src/components/surface/TrackItem.tsx"],"sourcesContent":["import { useTimelineSelector } from '#react/hooks/core/useTimelineSelector';\nimport React from 'react';\n/**\n * Props for a timeline track row bound to a track id.\n */\nexport interface TrackItemProps extends React.HTMLAttributes<HTMLDivElement> {\n  /** Id of the track row that this item should size and identify in the DOM. */\n  trackId: string;\n}\n\nexport const TrackItem = React.forwardRef<HTMLDivElement, TrackItemProps>(\n  ({ trackId, children, className = '', ...props }, ref) => {\n    const state = useTimelineSelector((state) => ({ tracks: state.tracks }));\n    const track = state.tracks.find((t) => t.id === trackId);\n    const isCollapsed = track?.collapsed ?? false;\n    const height = isCollapsed ? 24 : (track?.height ?? 48);\n\n    return (\n      <div\n        ref={ref}\n        className={`timeline-track-item relative w-full pointer-events-none transition-[height] duration-200 ${className}`}\n        style={{ height: `${height}px` }}\n        data-track-id={trackId}\n        {...props}\n      >\n        {children}\n      </div>\n    );\n  }\n);\n\nTrackItem.displayName = 'Timeline.Track';\n"],"mappings":";;;;AAUA,MAAa,YAAY,MAAM,YAC5B,EAAE,SAAS,UAAU,YAAY,IAAI,GAAG,SAAS,QAAQ;CAExD,MAAM,QADQ,qBAAqB,WAAW,EAAE,QAAQ,MAAM,OAAO,EACnD,CAAC,CAAC,OAAO,MAAM,MAAM,EAAE,OAAO,OAAO;CAEvD,MAAM,SADc,OAAO,aAAa,QACX,KAAM,OAAO,UAAU;CAEpD,OACE,oBAAC,OAAD;EACO;EACL,WAAW,4FAA4F;EACvG,OAAO,EAAE,QAAQ,GAAG,OAAO,IAAI;EAC/B,iBAAe;EACf,GAAI;EAEH;CACE,CAAA;AAET,CACF;AAEA,UAAU,cAAc"}