refactor(packages): dry up core, html, and react UI architecture (#699)

This commit is contained in:
rahim
2026-03-03 23:27:53 -08:00
committed by GitHub
parent 8bdd4ce7fa
commit 1edeadefed
110 changed files with 1349 additions and 1359 deletions
+6 -26
View File
@@ -1,34 +1,14 @@
import { PosterCore, PosterDataAttrs } from '@videojs/core';
import { applyStateDataAttrs, logMissingFeature, selectPlayback } from '@videojs/core/dom';
import type { PropertyValues } from '@videojs/element';
import { selectPlayback } from '@videojs/core/dom';
import { playerContext } from '../../player/context';
import { PlayerController } from '../../player/player-controller';
import { MediaElement } from '../media-element';
import { MediaUIElement } from '../media-ui-element';
export class PosterElement extends MediaElement {
export class PosterElement extends MediaUIElement<PosterCore> {
static readonly tagName = 'media-poster';
readonly #core = new PosterCore();
readonly #state = new PlayerController(this, playerContext, selectPlayback);
override connectedCallback(): void {
super.connectedCallback();
if (__DEV__ && !this.#state.value) {
logMissingFeature(PosterElement.tagName, 'playback');
}
}
protected override update(changed: PropertyValues): void {
super.update(changed);
const media = this.#state.value;
if (!media) {
return;
}
applyStateDataAttrs(this, this.#core.getState(media), PosterDataAttrs);
}
protected readonly core = new PosterCore();
protected readonly stateAttrMap = PosterDataAttrs;
protected readonly mediaState = new PlayerController(this, playerContext, selectPlayback);
}