Files
v10/packages/html/src/ui/seek-button/seek-button-element.ts
T

27 lines
977 B
TypeScript

import { type MediaTimeState, SeekButtonCore, SeekButtonDataAttrs } from '@videojs/core';
import { selectTime } from '@videojs/core/dom';
import type { PropertyDeclarationMap } from '@videojs/element';
import { playerContext } from '../../player/context';
import { PlayerController } from '../../player/player-controller';
import { MediaButtonElement } from '../media-button-element';
export class SeekButtonElement extends MediaButtonElement<SeekButtonCore> {
static readonly tagName = 'media-seek-button';
static override properties: PropertyDeclarationMap = {
...MediaButtonElement.properties,
seconds: { type: Number },
};
seconds = SeekButtonCore.defaultProps.seconds;
protected readonly core = new SeekButtonCore();
protected readonly stateAttrMap = SeekButtonDataAttrs;
protected readonly mediaState = new PlayerController(this, playerContext, selectTime);
protected activate(state: MediaTimeState): void {
this.core.seek(state);
}
}