import { renderIcon } from '@videojs/icons/render'; import { button, buttonGroup, controls, error, icon, iconContainer, iconFlipped, iconState, menu, playbackRate, popup, root, seek, slider, time, } from '@videojs/skins/default/tailwind/audio.tailwind'; import { createTemplate } from '@videojs/utils/dom'; import { cn } from '@videojs/utils/style'; import { safeDefine } from '../safe-define'; import { SkinElement } from '../skin-element'; // Register the player, container, and all UI custom elements. import './ui'; const SEEK_TIME = 10; function getTemplateHTML() { return /*html*/ `
Something went wrong.
OK
${renderIcon('restart', { class: cn(icon, iconState.play.restart) })} ${renderIcon('play', { class: cn(icon, iconState.play.play) })} ${renderIcon('pause', { class: cn(icon, iconState.play.pause) })} ${renderIcon('seek', { class: cn(icon, iconFlipped) })} ${SEEK_TIME} ${renderIcon('seek', { class: icon })} ${SEEK_TIME}
${renderIcon('volume-off', { class: cn(icon, iconState.mute.volumeOff) })} ${renderIcon('volume-low', { class: cn(icon, iconState.mute.volumeLow) })} ${renderIcon('volume-high', { class: cn(icon, iconState.mute.volumeHigh) })}
`; } export class AudioSkinTailwindElement extends SkinElement { static readonly tagName = 'audio-skin-tailwind'; static template = createTemplate(getTemplateHTML()); } safeDefine(AudioSkinTailwindElement); declare global { interface HTMLElementTagNameMap { [AudioSkinTailwindElement.tagName]: AudioSkinTailwindElement; } }