export type GestureRecordingState = "idle" | "recording" | "preview"; interface GestureRecordIconProps { recording: boolean; } function GestureRecordIcon({ recording }: GestureRecordIconProps) { return ( ); } interface GestureRecordPanelButtonProps { recordingState?: GestureRecordingState; recordingDuration?: number; onToggleRecording: () => void; } export function GestureRecordPanelButton({ recordingState, recordingDuration, onToggleRecording, }: GestureRecordPanelButtonProps) { const recording = recordingState === "recording"; return (
); } interface GestureRecordBadgeProps { rect: { left: number; top: number; width: number; height: number }; recordingState?: GestureRecordingState; onToggleRecording: () => void; } export function GestureRecordBadge({ rect, recordingState, onToggleRecording, }: GestureRecordBadgeProps) { const recording = recordingState === "recording"; const label = recording ? "Stop gesture recording (R)" : "Record gesture (R)"; return ( ); }