Files
headroom/frontend/node_modules/happy-dom/lib/nodes/html-media-element/TextTrackCue.js
Santhosh Janardhanan de2d83092e feat: Reinitialize frontend with SvelteKit and TypeScript
- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
2026-02-17 16:19:59 -05:00

42 lines
1.2 KiB
JavaScript

import EventTarget from '../../event/EventTarget.js';
import * as PropertySymbol from '../../PropertySymbol.js';
/**
* TextTrackCue.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue
*/
export default class TextTrackCue extends EventTarget {
// Public properties
id = '';
startTime = 0;
endTime = 0;
pauseOnExit = false;
// Internal properties
[PropertySymbol.track] = null;
// Events
onenter = null;
onexit = null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
super();
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
if (!this[PropertySymbol.window]) {
throw new TypeError(`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`);
}
}
/**
* Returns the owner track.
*
* @returns TextTrack.
*/
get track() {
return this[PropertySymbol.track];
}
}
//# sourceMappingURL=TextTrackCue.js.map