fix(html): prevent tsdown from stripping custom element registrations (#703)

This commit is contained in:
rahim
2026-03-04 19:06:43 +11:00
committed by GitHub
parent 1edeadefed
commit 9a5dfab4e8
36 changed files with 337 additions and 68 deletions
@@ -1,6 +1,7 @@
import { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';
import { safeDefine } from '../safe-define';
customElements.define(BufferingIndicatorElement.tagName, BufferingIndicatorElement);
safeDefine(BufferingIndicatorElement);
declare global {
interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
import { ControlsGroupElement } from '../../ui/controls/controls-group-element';
import { safeDefine } from '../safe-define';
customElements.define(ControlsGroupElement.tagName, ControlsGroupElement);
safeDefine(ControlsGroupElement);
declare global {
interface HTMLElementTagNameMap {
+4 -3
View File
@@ -1,8 +1,9 @@
import { ControlsElement } from '../../ui/controls/controls-element';
import { ControlsGroupElement } from '../../ui/controls/controls-group-element';
import { safeDefine } from '../safe-define';
import './controls-group';
customElements.define(ControlsElement.tagName, ControlsElement);
safeDefine(ControlsElement);
safeDefine(ControlsGroupElement);
declare global {
interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
import { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';
import { safeDefine } from '../safe-define';
customElements.define(FullscreenButtonElement.tagName, FullscreenButtonElement);
safeDefine(FullscreenButtonElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { MuteButtonElement } from '../../ui/mute-button/mute-button-element';
import { safeDefine } from '../safe-define';
customElements.define(MuteButtonElement.tagName, MuteButtonElement);
safeDefine(MuteButtonElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { PiPButtonElement } from '../../ui/pip-button/pip-button-element';
import { safeDefine } from '../safe-define';
customElements.define(PiPButtonElement.tagName, PiPButtonElement);
safeDefine(PiPButtonElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { PlayButtonElement } from '../../ui/play-button/play-button-element';
import { safeDefine } from '../safe-define';
customElements.define(PlayButtonElement.tagName, PlayButtonElement);
safeDefine(PlayButtonElement);
declare global {
interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
import { PlaybackRateButtonElement } from '../../ui/playback-rate-button/playback-rate-button-element';
import { safeDefine } from '../safe-define';
customElements.define(PlaybackRateButtonElement.tagName, PlaybackRateButtonElement);
safeDefine(PlaybackRateButtonElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { PopoverElement } from '../../ui/popover/popover-element';
import { safeDefine } from '../safe-define';
customElements.define(PopoverElement.tagName, PopoverElement);
safeDefine(PopoverElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { PosterElement } from '../../ui/poster/poster-element';
import { safeDefine } from '../safe-define';
customElements.define(PosterElement.tagName, PosterElement);
safeDefine(PosterElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SeekButtonElement } from '../../ui/seek-button/seek-button-element';
import { safeDefine } from '../safe-define';
customElements.define(SeekButtonElement.tagName, SeekButtonElement);
safeDefine(SeekButtonElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SliderBufferElement } from '../../ui/slider/slider-buffer-element';
import { safeDefine } from '../safe-define';
customElements.define(SliderBufferElement.tagName, SliderBufferElement);
safeDefine(SliderBufferElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SliderFillElement } from '../../ui/slider/slider-fill-element';
import { safeDefine } from '../safe-define';
customElements.define(SliderFillElement.tagName, SliderFillElement);
safeDefine(SliderFillElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SliderThumbElement } from '../../ui/slider/slider-thumb-element';
import { safeDefine } from '../safe-define';
customElements.define(SliderThumbElement.tagName, SliderThumbElement);
safeDefine(SliderThumbElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SliderTrackElement } from '../../ui/slider/slider-track-element';
import { safeDefine } from '../safe-define';
customElements.define(SliderTrackElement.tagName, SliderTrackElement);
safeDefine(SliderTrackElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { SliderValueElement } from '../../ui/slider/slider-value-element';
import { safeDefine } from '../safe-define';
customElements.define(SliderValueElement.tagName, SliderValueElement);
safeDefine(SliderValueElement);
declare global {
interface HTMLElementTagNameMap {
+11 -6
View File
@@ -1,11 +1,16 @@
import { SliderElement } from '../../ui/slider/slider-element';
import { SliderFillElement } from '../../ui/slider/slider-fill-element';
import { SliderThumbElement } from '../../ui/slider/slider-thumb-element';
import { SliderTrackElement } from '../../ui/slider/slider-track-element';
import { SliderValueElement } from '../../ui/slider/slider-value-element';
import { safeDefine } from '../safe-define';
import './slider-fill';
import './slider-thumb';
import './slider-track';
import './slider-value';
customElements.define(SliderElement.tagName, SliderElement);
// Parent slider first — sub-elements consume its context.
safeDefine(SliderElement);
safeDefine(SliderFillElement);
safeDefine(SliderThumbElement);
safeDefine(SliderTrackElement);
safeDefine(SliderValueElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { ThumbnailElement } from '../../ui/thumbnail/thumbnail-element';
import { safeDefine } from '../safe-define';
customElements.define(ThumbnailElement.tagName, ThumbnailElement);
safeDefine(ThumbnailElement);
declare global {
interface HTMLElementTagNameMap {
+2 -1
View File
@@ -1,6 +1,7 @@
import { TimeGroupElement } from '../../ui/time/time-group-element';
import { safeDefine } from '../safe-define';
customElements.define(TimeGroupElement.tagName, TimeGroupElement);
safeDefine(TimeGroupElement);
declare global {
interface HTMLElementTagNameMap {
@@ -1,6 +1,7 @@
import { TimeSeparatorElement } from '../../ui/time/time-separator-element';
import { safeDefine } from '../safe-define';
customElements.define(TimeSeparatorElement.tagName, TimeSeparatorElement);
safeDefine(TimeSeparatorElement);
declare global {
interface HTMLElementTagNameMap {
+13 -7
View File
@@ -1,12 +1,18 @@
import { SliderBufferElement } from '../../ui/slider/slider-buffer-element';
import { SliderFillElement } from '../../ui/slider/slider-fill-element';
import { SliderThumbElement } from '../../ui/slider/slider-thumb-element';
import { SliderTrackElement } from '../../ui/slider/slider-track-element';
import { SliderValueElement } from '../../ui/slider/slider-value-element';
import { TimeSliderElement } from '../../ui/time-slider/time-slider-element';
import { safeDefine } from '../safe-define';
import './slider-buffer';
import './slider-fill';
import './slider-thumb';
import './slider-track';
import './slider-value';
customElements.define(TimeSliderElement.tagName, TimeSliderElement);
// Parent slider first — sub-elements consume its context.
safeDefine(TimeSliderElement);
safeDefine(SliderBufferElement);
safeDefine(SliderFillElement);
safeDefine(SliderThumbElement);
safeDefine(SliderTrackElement);
safeDefine(SliderValueElement);
declare global {
interface HTMLElementTagNameMap {
+6 -4
View File
@@ -1,9 +1,11 @@
import { TimeElement } from '../../ui/time/time-element';
import { TimeGroupElement } from '../../ui/time/time-group-element';
import { TimeSeparatorElement } from '../../ui/time/time-separator-element';
import { safeDefine } from '../safe-define';
import './time-group';
import './time-separator';
customElements.define(TimeElement.tagName, TimeElement);
safeDefine(TimeElement);
safeDefine(TimeGroupElement);
safeDefine(TimeSeparatorElement);
declare global {
interface HTMLElementTagNameMap {
+11 -6
View File
@@ -1,11 +1,16 @@
import { SliderFillElement } from '../../ui/slider/slider-fill-element';
import { SliderThumbElement } from '../../ui/slider/slider-thumb-element';
import { SliderTrackElement } from '../../ui/slider/slider-track-element';
import { SliderValueElement } from '../../ui/slider/slider-value-element';
import { VolumeSliderElement } from '../../ui/volume-slider/volume-slider-element';
import { safeDefine } from '../safe-define';
import './slider-fill';
import './slider-thumb';
import './slider-track';
import './slider-value';
customElements.define(VolumeSliderElement.tagName, VolumeSliderElement);
// Parent slider first — sub-elements consume its context.
safeDefine(VolumeSliderElement);
safeDefine(SliderFillElement);
safeDefine(SliderThumbElement);
safeDefine(SliderTrackElement);
safeDefine(SliderValueElement);
declare global {
interface HTMLElementTagNameMap {