UNPKG

@aidenlx/player

Version:

Headless web components that make integrating media on the a web a breeze.

24 lines (19 loc) 655 B
import { isNumber, isString, setAttribute } from '@vidstack/foundation'; import { MediaStyleController } from './MediaStyleController'; class MediaAttrsController extends MediaStyleController { protected _handleValueChange(_, attrName: string, value: unknown) { setAttribute( this._host, attrName, isString(value) || isNumber(value) ? String(value) : !!value, ); } protected _handleDisconnect(_, attrName: string) { this._host.removeAttribute(attrName); } } export function bindMediaPropsToAttrs( ...params: ConstructorParameters<typeof MediaAttrsController> ) { return new MediaAttrsController(...params); }