import { button, buttonGroup, container, controls, error, icon, iconContainer, iconFlipped, menu, muteIcon, playbackRate, playIcon, popup, seek, slider, time, } from '@videojs/skins/default/tailwind/audio.tailwind'; import { cn } from '@videojs/utils/style'; import { type ComponentProps, forwardRef, type ReactNode } from 'react'; import { CheckIcon, PauseIcon, PlayIcon, RestartIcon, SeekIcon, VolumeHighIcon, VolumeLowIcon, VolumeOffIcon, } from '@/icons'; import { Container, usePlayer } from '@/player/context'; import { ErrorDialog } from '@/ui/error-dialog'; import { Hotkey } from '@/ui/hotkey'; import { Menu } from '@/ui/menu'; import { MuteButton } from '@/ui/mute-button'; import { PlayButton } from '@/ui/play-button'; import { usePlaybackRateOptions } from '@/ui/playback-rate'; import { PlaybackRateButton } from '@/ui/playback-rate-button'; import { Popover } from '@/ui/popover'; import { SeekButton } from '@/ui/seek-button'; import { StatusAnnouncer } from '@/ui/status-announcer'; import { Time } from '@/ui/time'; import { TimeSlider } from '@/ui/time-slider'; import { Tooltip } from '@/ui/tooltip'; import { VolumeSlider } from '@/ui/volume-slider'; import type { AudioSkinProps } from './skin'; const SEEK_TIME = 10; /* --------------------------------------- Components ---------------------------------------- */ const Button = forwardRef>(function Button({ className, ...props }, ref) { return (