'use client'; import type { AudioHTMLAttributes } from 'react'; import { forwardRef, useCallback } from 'react'; import { useMediaRegistration } from '../player/context'; import { useComposedRefs } from '../utils/use-composed-refs'; export interface AudioProps extends AudioHTMLAttributes {} export const Audio = forwardRef(function Audio({ children, ...props }, ref) { const setMedia = useMediaRegistration(); const mediaRef = useCallback( (el: HTMLAudioElement | null) => { setMedia?.(el); }, [setMedia] ); const composedRef = useComposedRefs(ref, mediaRef); return ( ); }); export namespace Audio { export type Props = AudioProps; }