ts-video-player 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +438 -0
- package/dist/cdn.d.ts +10 -0
- package/dist/cdn.d.ts.map +1 -0
- package/dist/cdn.min.js +1046 -0
- package/dist/cdn.min.js.map +54 -0
- package/dist/cdn.test.d.ts +2 -0
- package/dist/cdn.test.d.ts.map +1 -0
- package/dist/chunk-36x4yhjn.js +765 -0
- package/dist/chunk-36x4yhjn.js.map +12 -0
- package/dist/chunk-eajts2jv.js +4243 -0
- package/dist/chunk-eajts2jv.js.map +42 -0
- package/dist/chunk-z1ehbz9f.js +380 -0
- package/dist/chunk-z1ehbz9f.js.map +19 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/core/audio-gain.d.ts +67 -0
- package/dist/core/audio-gain.d.ts.map +1 -0
- package/dist/core/caption-styles.d.ts +121 -0
- package/dist/core/caption-styles.d.ts.map +1 -0
- package/dist/core/chapters.d.ts +150 -0
- package/dist/core/chapters.d.ts.map +1 -0
- package/dist/core/error-overlay.d.ts +71 -0
- package/dist/core/error-overlay.d.ts.map +1 -0
- package/dist/core/events.d.ts +119 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/features.d.ts +64 -0
- package/dist/core/features.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +132 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/index.d.ts +37 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/live.d.ts +130 -0
- package/dist/core/live.d.ts.map +1 -0
- package/dist/core/media-session.d.ts +38 -0
- package/dist/core/media-session.d.ts.map +1 -0
- package/dist/core/orientation.d.ts +22 -0
- package/dist/core/orientation.d.ts.map +1 -0
- package/dist/core/popover.d.ts +42 -0
- package/dist/core/popover.d.ts.map +1 -0
- package/dist/core/remote-playback.d.ts +195 -0
- package/dist/core/remote-playback.d.ts.map +1 -0
- package/dist/core/settings-menu.d.ts +132 -0
- package/dist/core/settings-menu.d.ts.map +1 -0
- package/dist/core/spinner.d.ts +67 -0
- package/dist/core/spinner.d.ts.map +1 -0
- package/dist/core/state.d.ts +142 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/text-tracks.d.ts +162 -0
- package/dist/core/text-tracks.d.ts.map +1 -0
- package/dist/core/themes.d.ts +213 -0
- package/dist/core/themes.d.ts.map +1 -0
- package/dist/core/thumbnails.d.ts +124 -0
- package/dist/core/thumbnails.d.ts.map +1 -0
- package/dist/core/tooltips.d.ts +100 -0
- package/dist/core/tooltips.d.ts.map +1 -0
- package/dist/elements/base.d.ts +3 -0
- package/dist/elements/base.d.ts.map +1 -0
- package/dist/elements/index.d.ts +33 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +55 -0
- package/dist/elements/index.js.map +9 -0
- package/dist/elements/media-airplay-button.d.ts +13 -0
- package/dist/elements/media-airplay-button.d.ts.map +1 -0
- package/dist/elements/media-error-display.d.ts +13 -0
- package/dist/elements/media-error-display.d.ts.map +1 -0
- package/dist/elements/media-fullscreen-button.d.ts +13 -0
- package/dist/elements/media-fullscreen-button.d.ts.map +1 -0
- package/dist/elements/media-live-button.d.ts +13 -0
- package/dist/elements/media-live-button.d.ts.map +1 -0
- package/dist/elements/media-mute-button.d.ts +13 -0
- package/dist/elements/media-mute-button.d.ts.map +1 -0
- package/dist/elements/media-pip-button.d.ts +13 -0
- package/dist/elements/media-pip-button.d.ts.map +1 -0
- package/dist/elements/media-play-button.d.ts +14 -0
- package/dist/elements/media-play-button.d.ts.map +1 -0
- package/dist/elements/media-playback-rate-button.d.ts +10 -0
- package/dist/elements/media-playback-rate-button.d.ts.map +1 -0
- package/dist/elements/media-preview-time.d.ts +18 -0
- package/dist/elements/media-preview-time.d.ts.map +1 -0
- package/dist/elements/media-progress-bar.d.ts +16 -0
- package/dist/elements/media-progress-bar.d.ts.map +1 -0
- package/dist/elements/media-remote-playback-button.d.ts +16 -0
- package/dist/elements/media-remote-playback-button.d.ts.map +1 -0
- package/dist/elements/media-seek-button.d.ts +9 -0
- package/dist/elements/media-seek-button.d.ts.map +1 -0
- package/dist/elements/media-settings-menu.d.ts +32 -0
- package/dist/elements/media-settings-menu.d.ts.map +1 -0
- package/dist/elements/media-time-display.d.ts +21 -0
- package/dist/elements/media-time-display.d.ts.map +1 -0
- package/dist/elements/media-time-group.d.ts +22 -0
- package/dist/elements/media-time-group.d.ts.map +1 -0
- package/dist/elements/media-time-separator.d.ts +13 -0
- package/dist/elements/media-time-separator.d.ts.map +1 -0
- package/dist/elements/media-volume-slider.d.ts +16 -0
- package/dist/elements/media-volume-slider.d.ts.map +1 -0
- package/dist/elements/utils.d.ts +27 -0
- package/dist/elements/utils.d.ts.map +1 -0
- package/dist/elements/video-player.d.ts +23 -0
- package/dist/elements/video-player.d.ts.map +1 -0
- package/dist/elements/video-skin.d.ts +23 -0
- package/dist/elements/video-skin.d.ts.map +1 -0
- package/dist/features/captions.d.ts +8 -0
- package/dist/features/captions.d.ts.map +1 -0
- package/dist/features/create-player.d.ts +45 -0
- package/dist/features/create-player.d.ts.map +1 -0
- package/dist/features/fullscreen.d.ts +8 -0
- package/dist/features/fullscreen.d.ts.map +1 -0
- package/dist/features/gestures.d.ts +8 -0
- package/dist/features/gestures.d.ts.map +1 -0
- package/dist/features/index.d.ts +26 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +31 -0
- package/dist/features/index.js.map +9 -0
- package/dist/features/keyboard.d.ts +8 -0
- package/dist/features/keyboard.d.ts.map +1 -0
- package/dist/features/pip.d.ts +8 -0
- package/dist/features/pip.d.ts.map +1 -0
- package/dist/features/playback.d.ts +8 -0
- package/dist/features/playback.d.ts.map +1 -0
- package/dist/features/quality.d.ts +8 -0
- package/dist/features/quality.d.ts.map +1 -0
- package/dist/features/types.d.ts +26 -0
- package/dist/features/types.d.ts.map +1 -0
- package/dist/features/volume.d.ts +8 -0
- package/dist/features/volume.d.ts.map +1 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8149 -0
- package/dist/index.js.map +31 -0
- package/dist/layouts/index.d.ts +58 -0
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/player.d.ts +90 -0
- package/dist/player.d.ts.map +1 -0
- package/dist/plugins/ads.d.ts +311 -0
- package/dist/plugins/ads.d.ts.map +1 -0
- package/dist/plugins/analytics.d.ts +203 -0
- package/dist/plugins/analytics.d.ts.map +1 -0
- package/dist/plugins/end-screen.d.ts +184 -0
- package/dist/plugins/end-screen.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +13 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +20 -0
- package/dist/plugins/index.js.map +9 -0
- package/dist/plugins/skip-segments.d.ts +159 -0
- package/dist/plugins/skip-segments.d.ts.map +1 -0
- package/dist/plugins/watermark.d.ts +157 -0
- package/dist/plugins/watermark.d.ts.map +1 -0
- package/dist/providers/base.d.ts +56 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/dash.d.ts +94 -0
- package/dist/providers/dash.d.ts.map +1 -0
- package/dist/providers/hls.d.ts +182 -0
- package/dist/providers/hls.d.ts.map +1 -0
- package/dist/providers/html5.d.ts +64 -0
- package/dist/providers/html5.d.ts.map +1 -0
- package/dist/providers/index.d.ts +41 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/vimeo.d.ts +157 -0
- package/dist/providers/vimeo.d.ts.map +1 -0
- package/dist/providers/youtube.d.ts +134 -0
- package/dist/providers/youtube.d.ts.map +1 -0
- package/dist/stx/index.d.ts +59 -0
- package/dist/stx/index.d.ts.map +1 -0
- package/dist/stx/index.js +480 -0
- package/dist/stx/index.js.map +11 -0
- package/dist/types.d.ts +724 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/ui/components.d.ts +121 -0
- package/dist/ui/components.d.ts.map +1 -0
- package/dist/ui/index.d.ts +9 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +16 -0
- package/dist/ui/index.js.map +9 -0
- package/package.json +109 -0
- package/src/cdn.test.ts +10 -0
- package/src/cdn.ts +60 -0
- package/src/config.ts +25 -0
- package/src/core/audio-gain.ts +171 -0
- package/src/core/caption-styles.ts +568 -0
- package/src/core/chapters.ts +551 -0
- package/src/core/error-overlay.ts +354 -0
- package/src/core/events.ts +552 -0
- package/src/core/features.ts +287 -0
- package/src/core/i18n.ts +590 -0
- package/src/core/index.ts +249 -0
- package/src/core/live.ts +472 -0
- package/src/core/media-session.ts +137 -0
- package/src/core/orientation.ts +57 -0
- package/src/core/popover.ts +143 -0
- package/src/core/remote-playback.ts +661 -0
- package/src/core/settings-menu.ts +630 -0
- package/src/core/spinner.ts +310 -0
- package/src/core/state.ts +476 -0
- package/src/core/text-tracks.ts +599 -0
- package/src/core/themes.ts +607 -0
- package/src/core/thumbnails.ts +457 -0
- package/src/core/tooltips.ts +370 -0
- package/src/elements/base.ts +2 -0
- package/src/elements/index.ts +82 -0
- package/src/elements/media-airplay-button.ts +78 -0
- package/src/elements/media-error-display.ts +47 -0
- package/src/elements/media-fullscreen-button.ts +72 -0
- package/src/elements/media-live-button.ts +65 -0
- package/src/elements/media-mute-button.ts +69 -0
- package/src/elements/media-pip-button.ts +66 -0
- package/src/elements/media-play-button.ts +69 -0
- package/src/elements/media-playback-rate-button.ts +59 -0
- package/src/elements/media-preview-time.ts +75 -0
- package/src/elements/media-progress-bar.ts +200 -0
- package/src/elements/media-remote-playback-button.ts +108 -0
- package/src/elements/media-seek-button.ts +50 -0
- package/src/elements/media-settings-menu.ts +302 -0
- package/src/elements/media-time-display.ts +99 -0
- package/src/elements/media-time-group.ts +41 -0
- package/src/elements/media-time-separator.ts +35 -0
- package/src/elements/media-volume-slider.ts +140 -0
- package/src/elements/utils.ts +82 -0
- package/src/elements/video-player.ts +175 -0
- package/src/elements/video-skin.ts +127 -0
- package/src/features/captions.ts +56 -0
- package/src/features/create-player.ts +91 -0
- package/src/features/fullscreen.ts +44 -0
- package/src/features/gestures.ts +44 -0
- package/src/features/index.ts +44 -0
- package/src/features/keyboard.ts +89 -0
- package/src/features/pip.ts +47 -0
- package/src/features/playback.ts +68 -0
- package/src/features/quality.ts +19 -0
- package/src/features/types.ts +28 -0
- package/src/features/volume.ts +46 -0
- package/src/index.ts +635 -0
- package/src/layouts/index.ts +672 -0
- package/src/player.ts +821 -0
- package/src/plugins/ads.ts +1045 -0
- package/src/plugins/analytics.ts +673 -0
- package/src/plugins/end-screen.ts +793 -0
- package/src/plugins/index.ts +61 -0
- package/src/plugins/skip-segments.ts +537 -0
- package/src/plugins/watermark.ts +537 -0
- package/src/providers/base.ts +197 -0
- package/src/providers/dash.ts +588 -0
- package/src/providers/hls.ts +624 -0
- package/src/providers/html5.ts +473 -0
- package/src/providers/index.ts +97 -0
- package/src/providers/vimeo.ts +533 -0
- package/src/providers/youtube.ts +542 -0
- package/src/stx/index.ts +606 -0
- package/src/types.ts +874 -0
- package/src/ui/components.ts +910 -0
- package/src/ui/index.ts +29 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ts-video-player <video-skin> Custom Element
|
|
3
|
+
*
|
|
4
|
+
* Adaptive skin wrapper that provides a default layout for player controls.
|
|
5
|
+
* Adjusts visibility of controls based on available features.
|
|
6
|
+
*
|
|
7
|
+
* Follows the v10 layered model:
|
|
8
|
+
* <video-player> ← Behavior
|
|
9
|
+
* <video-skin> ← Appearance (this element)
|
|
10
|
+
* <media-*> ← UI controls
|
|
11
|
+
* </video-skin>
|
|
12
|
+
* </video-player>
|
|
13
|
+
*
|
|
14
|
+
* @module elements/video-skin
|
|
15
|
+
*/
|
|
16
|
+
import { HTMLElementBase } from './base';
|
|
17
|
+
export declare class VideoSkin extends HTMLElementBase {
|
|
18
|
+
private _cleanups;
|
|
19
|
+
connectedCallback(): void;
|
|
20
|
+
disconnectedCallback(): void;
|
|
21
|
+
private attach;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=video-skin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-skin.d.ts","sourceRoot":"","sources":["../../src/elements/video-skin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC,qBAAa,SAAU,SAAQ,eAAe;IAC5C,OAAO,CAAC,SAAS,CAAwB;IAEzC,iBAAiB,IAAI,IAAI;IAoEzB,oBAAoB,IAAI,IAAI;IAK5B,OAAO,CAAC,MAAM;CA8Bf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captions.d.ts","sourceRoot":"","sources":["../../src/features/captions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAGtD,eAAO,MAAM,QAAQ,EAAE,OA8CtB,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Player Factory
|
|
3
|
+
*
|
|
4
|
+
* Creates a lightweight player with only the features you need.
|
|
5
|
+
*
|
|
6
|
+
* @module features/create-player
|
|
7
|
+
*/
|
|
8
|
+
import type { Feature } from './types';
|
|
9
|
+
import type { PlayerState } from '../types';
|
|
10
|
+
import { StateStore } from '../core/state';
|
|
11
|
+
export interface ComposablePlayer {
|
|
12
|
+
/** The container element */
|
|
13
|
+
el: HTMLElement;
|
|
14
|
+
/** Current state */
|
|
15
|
+
readonly state: PlayerState;
|
|
16
|
+
/** Subscribe to state changes */
|
|
17
|
+
subscribe: StateStore['subscribe'];
|
|
18
|
+
/** Get the media element */
|
|
19
|
+
getMediaElement: () => HTMLMediaElement | null;
|
|
20
|
+
/** Destroy the player and all features */
|
|
21
|
+
destroy: () => void;
|
|
22
|
+
}
|
|
23
|
+
export interface ComposablePlayerOptions {
|
|
24
|
+
/** Features to enable */
|
|
25
|
+
features: Feature[];
|
|
26
|
+
/** Initial state overrides */
|
|
27
|
+
state?: Partial<PlayerState>;
|
|
28
|
+
/** Player options */
|
|
29
|
+
options?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a composable player with only the specified features.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { createComposablePlayer } from 'ts-video-player/features'
|
|
37
|
+
* import { playback, volume, fullscreen } from 'ts-video-player/features'
|
|
38
|
+
*
|
|
39
|
+
* const player = createComposablePlayer(container, {
|
|
40
|
+
* features: [playback, volume, fullscreen],
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function createComposablePlayer(container: HTMLElement, opts: ComposablePlayerOptions): ComposablePlayer;
|
|
45
|
+
//# sourceMappingURL=create-player.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-player.d.ts","sourceRoot":"","sources":["../../src/features/create-player.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,EAAE,EAAE,WAAW,CAAA;IACf,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,iCAAiC;IACjC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;IAClC,4BAA4B;IAC5B,eAAe,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAA;IAC9C,0CAA0C;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,yBAAyB;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5B,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,uBAAuB,GAC5B,gBAAgB,CAwClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen.d.ts","sourceRoot":"","sources":["../../src/features/fullscreen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAItD,eAAO,MAAM,UAAU,EAAE,OAiCxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../src/features/gestures.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAGtD,eAAO,MAAM,QAAQ,EAAE,OAkCtB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ts-video-player Composable Features
|
|
3
|
+
*
|
|
4
|
+
* Tree-shakeable feature composition system.
|
|
5
|
+
*
|
|
6
|
+
* @module features
|
|
7
|
+
*/
|
|
8
|
+
export { playback } from './playback';
|
|
9
|
+
export { volume } from './volume';
|
|
10
|
+
export { fullscreen } from './fullscreen';
|
|
11
|
+
export { pip } from './pip';
|
|
12
|
+
export { captions } from './captions';
|
|
13
|
+
export { quality } from './quality';
|
|
14
|
+
export { keyboard } from './keyboard';
|
|
15
|
+
export { gestures } from './gestures';
|
|
16
|
+
export type { Feature, FeatureContext } from './types';
|
|
17
|
+
export { createComposablePlayer } from './create-player';
|
|
18
|
+
export type { ComposablePlayer, ComposablePlayerOptions } from './create-player';
|
|
19
|
+
import type { Feature } from './types';
|
|
20
|
+
/** All features for video playback */
|
|
21
|
+
export declare const videoFeatures: Feature[];
|
|
22
|
+
/** Features for audio-only playback */
|
|
23
|
+
export declare const audioFeatures: Feature[];
|
|
24
|
+
/** Minimal features (playback only) */
|
|
25
|
+
export declare const minimalFeatures: Feature[];
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAWhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,sCAAsC;AACtC,eAAO,MAAM,aAAa,EAAE,OAAO,EAA+E,CAAA;AAElH,uCAAuC;AACvC,eAAO,MAAM,aAAa,EAAE,OAAO,EAAiC,CAAA;AAEpE,uCAAuC;AACvC,eAAO,MAAM,eAAe,EAAE,OAAO,EAAe,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
audioFeatures,
|
|
3
|
+
captions,
|
|
4
|
+
createComposablePlayer,
|
|
5
|
+
fullscreen,
|
|
6
|
+
gestures,
|
|
7
|
+
keyboard,
|
|
8
|
+
minimalFeatures,
|
|
9
|
+
pip,
|
|
10
|
+
playback,
|
|
11
|
+
quality,
|
|
12
|
+
videoFeatures,
|
|
13
|
+
volume
|
|
14
|
+
} from "../chunk-z1ehbz9f.js";
|
|
15
|
+
import"../chunk-36x4yhjn.js";
|
|
16
|
+
export {
|
|
17
|
+
volume,
|
|
18
|
+
videoFeatures,
|
|
19
|
+
quality,
|
|
20
|
+
playback,
|
|
21
|
+
pip,
|
|
22
|
+
minimalFeatures,
|
|
23
|
+
keyboard,
|
|
24
|
+
gestures,
|
|
25
|
+
fullscreen,
|
|
26
|
+
createComposablePlayer,
|
|
27
|
+
captions,
|
|
28
|
+
audioFeatures
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//# debugId=2742186C65CD802C64756E2164756E21
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/features/keyboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAGtD,eAAO,MAAM,QAAQ,EAAE,OA+EtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pip.d.ts","sourceRoot":"","sources":["../../src/features/pip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAItD,eAAO,MAAM,GAAG,EAAE,OAoCjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/features/playback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,QAAQ,EAAE,OA2DtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality.d.ts","sourceRoot":"","sources":["../../src/features/quality.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ts-video-player Feature Types
|
|
3
|
+
*
|
|
4
|
+
* @module features/types
|
|
5
|
+
*/
|
|
6
|
+
import type { PlayerState } from '../types';
|
|
7
|
+
import type { StateStore } from '../core/state';
|
|
8
|
+
export interface FeatureContext {
|
|
9
|
+
/** The player container element */
|
|
10
|
+
container: HTMLElement;
|
|
11
|
+
/** The state store */
|
|
12
|
+
store: StateStore;
|
|
13
|
+
/** Options passed to the player */
|
|
14
|
+
options: Record<string, unknown>;
|
|
15
|
+
/** Get the current media element (may be null before load) */
|
|
16
|
+
getMediaElement: () => HTMLMediaElement | null;
|
|
17
|
+
}
|
|
18
|
+
export interface Feature {
|
|
19
|
+
/** Unique feature name */
|
|
20
|
+
name: string;
|
|
21
|
+
/** State keys this feature manages */
|
|
22
|
+
stateKeys?: (keyof PlayerState)[];
|
|
23
|
+
/** Initialize the feature. Returns a cleanup function. */
|
|
24
|
+
setup(ctx: FeatureContext): (() => void) | void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,SAAS,EAAE,WAAW,CAAA;IACtB,sBAAsB;IACtB,KAAK,EAAE,UAAU,CAAA;IACjB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,8DAA8D;IAC9D,eAAe,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,SAAS,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,CAAA;IACjC,0DAA0D;IAC1D,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volume.d.ts","sourceRoot":"","sources":["../../src/features/volume.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAA;AAGtD,eAAO,MAAM,MAAM,EAAE,OAoCpB,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ts-video-player
|
|
3
|
+
*
|
|
4
|
+
* A modern, framework-agnostic video player with deep stx integration.
|
|
5
|
+
*
|
|
6
|
+
* @module ts-video-player
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createPlayer } from 'ts-video-player'
|
|
11
|
+
*
|
|
12
|
+
* const player = createPlayer('#video-container', {
|
|
13
|
+
* src: 'https://example.com/video.mp4',
|
|
14
|
+
* poster: '/poster.jpg',
|
|
15
|
+
* autoplay: false,
|
|
16
|
+
* controls: true,
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* player.on('playing', () => console.log('Video is playing!'))
|
|
20
|
+
* player.on('ended', () => console.log('Video ended'))
|
|
21
|
+
*
|
|
22
|
+
* // Control playback
|
|
23
|
+
* await player.play()
|
|
24
|
+
* player.pause()
|
|
25
|
+
* player.seekTo(30)
|
|
26
|
+
*
|
|
27
|
+
* // Volume
|
|
28
|
+
* player.setVolume(0.5)
|
|
29
|
+
* player.toggleMute()
|
|
30
|
+
*
|
|
31
|
+
* // Fullscreen
|
|
32
|
+
* await player.toggleFullscreen()
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export { Player, createPlayer, getPlayer } from './player';
|
|
36
|
+
export { StateStore, createSignal, computed, shallowEqual, createDefaultState, loadPersistedState, savePersistedState, createStorageSync, selectBufferedAmount, selectProgress, selectRemainingTime, selectIsIdle, selectIsLoading, selectIsLive, selectIsDVR, selectCurrentQuality, selectCurrentTextTrack, selectCurrentAudioTrack, } from './core/state';
|
|
37
|
+
export { EventEmitter, MediaEventsNormalizer, onFullscreenChange, onPiPChange, DEFAULT_KEYBOARD_SHORTCUTS, createKeyboardHandler, createActivityDetector, createGestureDetector, } from './core/events';
|
|
38
|
+
export { AudioGain, createAudioGain, GAIN_PRESETS, GAIN_STEPS, } from './core/audio-gain';
|
|
39
|
+
export type { AudioGainAdapter } from './core/audio-gain';
|
|
40
|
+
export { TextTrackList, TextTrackReadyState, CaptionRenderer, createTextTrackList, createCaptionRenderer, } from './core/text-tracks';
|
|
41
|
+
export type { TextTrackInit, VTTCueInit, CaptionRendererOptions } from './core/text-tracks';
|
|
42
|
+
export { defaultTheme, darkTheme, lightTheme, minimalTheme, netflixTheme, youtubeTheme, vimeoTheme, presetThemes, mergeThemes, generateThemeCSS, createThemeStyleElement, applyTheme, injectThemeStyles, } from './core/themes';
|
|
43
|
+
export type { Theme, ThemeColors, ThemeTypography, ThemeSpacing, ThemeBorderRadius, ThemeShadows, ThemeTransitions, ThemeSlider, ThemeControls, ThemeMenu, ThemeCaptions, ThemeThumbnails, ThemeLive, PresetThemeName, } from './core/themes';
|
|
44
|
+
export { Thumbnails, createThumbnails, parseThumbnailVTT, generateSpriteCues, } from './core/thumbnails';
|
|
45
|
+
export type { ThumbnailSprite, ThumbnailCue, ThumbnailsConfig, } from './core/thumbnails';
|
|
46
|
+
export { I18n, createI18n, getI18n, setI18n, t, englishStrings, spanishStrings, frenchStrings, germanStrings, japaneseStrings, chineseStrings, defaultTranslations, } from './core/i18n';
|
|
47
|
+
export type { TranslationStrings, TranslationKey, I18nConfig, } from './core/i18n';
|
|
48
|
+
export { LiveIndicator, SeekToLiveButton, LiveController, createLiveIndicator, createSeekToLiveButton, createLiveController, } from './core/live';
|
|
49
|
+
export type { LiveConfig, LiveState, } from './core/live';
|
|
50
|
+
export { RemotePlaybackController, AirPlayButton, GoogleCastButton, createRemotePlaybackController, createAirPlayButton, createGoogleCastButton, isAirPlaySupported, isAirPlayAvailable, showAirPlayPicker, isAirPlaying, isGoogleCastSupported, loadGoogleCastSDK, initializeGoogleCast, requestCastSession, endCastSession, isCasting, getCastSession, castMedia, } from './core/remote-playback';
|
|
51
|
+
export type { RemotePlaybackType, RemotePlaybackState, RemoteDevice, RemotePlaybackConfig, } from './core/remote-playback';
|
|
52
|
+
export { ChaptersManager, ChapterMenu, createChaptersManager, createChapterMenu, parseChaptersVTT, } from './core/chapters';
|
|
53
|
+
export type { Chapter, ChaptersConfig, } from './core/chapters';
|
|
54
|
+
export { Spinner, createSpinner, SPINNER_STYLES, } from './core/spinner';
|
|
55
|
+
export type { SpinnerConfig } from './core/spinner';
|
|
56
|
+
export { CaptionStyleManager, CaptionSettingsMenu, createCaptionStyleManager, createCaptionSettingsMenu, defaultCaptionStyles, captionPresets, } from './core/caption-styles';
|
|
57
|
+
export type { CaptionStyleOptions, CaptionStylePreset, } from './core/caption-styles';
|
|
58
|
+
export { Tooltip, TooltipManager, createTooltip, createTooltipManager, TOOLTIP_STYLES, } from './core/tooltips';
|
|
59
|
+
export type { TooltipPlacement, TooltipConfig, } from './core/tooltips';
|
|
60
|
+
export { ErrorOverlay, createErrorOverlay, ERROR_OVERLAY_STYLES, } from './core/error-overlay';
|
|
61
|
+
export type { ErrorOverlayConfig } from './core/error-overlay';
|
|
62
|
+
export { SettingsMenu, createSettingsMenu, } from './core/settings-menu';
|
|
63
|
+
export type { SettingsMenuConfig, SettingsMenuState, } from './core/settings-menu';
|
|
64
|
+
export { BaseProvider, HTML5Provider, html5Loader, isHTML5Source, YouTubeProvider, youtubeLoader, isYouTubeSource, extractYouTubeId, VimeoProvider, vimeoLoader, isVimeoSource, extractVimeoId, extractVimeoHash, HLSProvider, hlsLoader, isHLSSource, isNativeHLSSupported, DASHProvider, dashLoader, isDASHSource, defaultLoaders, findLoader, detectMediaType, getPreconnectHints, } from './providers';
|
|
65
|
+
export type { DRMConfig, DASHProviderConfig } from './providers';
|
|
66
|
+
export { LayoutManager, createLayoutManager, getLayout, registerLayout, layouts, defaultLayout, minimalLayout, cinemaLayout, youtubeLayout, vimeoLayout, audioLayout, } from './layouts';
|
|
67
|
+
export type { LayoutConfig, LayoutName } from './layouts';
|
|
68
|
+
export { BaseComponent, PlayButton, MuteButton, FullscreenButton, PiPButton, TimeDisplay, Slider, ProgressBar, VolumeSlider, Menu, formatTime, UI_STYLES, } from './ui/components';
|
|
69
|
+
export type { MediaType, StreamType, ProviderType, MediaSource, YouTubeSource, VimeoSource, HLSSource, DASHSource, Src, PreloadStrategy, CrossOrigin, LoadingState, PlaybackState, TimeRange, VideoQuality, AudioTrack, TextTrack, TextTrackCue, PlayerState, PlayerOptions, ControlsConfig, CustomControl, KeyboardConfig, StorageConfig, Provider, ProviderLoader, MediaError, ProviderEventMap, PlayerEventMap, UIComponent, TooltipOptions, MenuItem, SliderOptions, VideoComponentProps, VideoDirectiveOptions, VideoRenderResult, } from './types';
|
|
70
|
+
export { renderVideoComponent, parseVideoComponent, createVideoDirective, videoDirective, registerVideoDirectives, } from './stx';
|
|
71
|
+
export { VideoAnalytics, createVideoAnalytics, analyticsPlugin, VASTParser, AdsManager, createAdsManager, adsPlugin, SkipSegmentsManager, createSkipSegments, skipSegmentsPlugin, EndScreenManager, createEndScreen, endScreenPlugin, WatermarkManager, createWatermarkManager, watermarkPlugin, } from './plugins';
|
|
72
|
+
export type { VideoEventName, VideoAnalyticsConfig, Ad, AdMediaFile, AdBreak, AdConfig, AdState, SegmentType, SkipSegment, SkipSegmentsConfig, SkipSegmentsState, EndScreenRecommendation, EndScreenConfig, EndScreenState, WatermarkPosition, WatermarkConfig, WatermarkAnimation, DynamicWatermark, } from './plugins';
|
|
73
|
+
import { createPlayer } from './player';
|
|
74
|
+
export default createPlayer;
|
|
75
|
+
export { isIOSSafari, isSafari, isStandalonePWA, detectVolumeAvailability, probeVolumeAvailability, detectFullscreenAvailability, isVideoOnlyFullscreen, detectPipAvailability, detectAllFeatures, enterFullscreen, exitFullscreen, enterPiP, exitPiP, } from './core/features';
|
|
76
|
+
export { VideoPlayerElement, VideoSkin, MediaPlayButton, MediaMuteButton, MediaFullscreenButton, MediaPipButton, MediaTimeDisplay, MediaTimeGroup, MediaTimeSeparator, MediaPreviewTime, MediaProgressBar, MediaVolumeSlider, MediaSettingsMenu, registerElements, formatTime as formatElementTime, formatTimePhrase, toISODuration, } from './elements';
|
|
77
|
+
export { playback, volume as volumeFeature, fullscreen as fullscreenFeature, pip as pipFeature, captions as captionsFeature, quality as qualityFeature, keyboard as keyboardFeature, gestures as gesturesFeature, videoFeatures, audioFeatures, minimalFeatures, createComposablePlayer, } from './features';
|
|
78
|
+
export type { Feature, FeatureContext, ComposablePlayer, ComposablePlayerOptions } from './features';
|
|
79
|
+
export { isMediaSessionSupported, createMediaSession, updateMetadata, } from './core/media-session';
|
|
80
|
+
export type { MediaSessionOptions } from './core/media-session';
|
|
81
|
+
export { isOrientationLockSupported, lockOrientation, unlockOrientation, } from './core/orientation';
|
|
82
|
+
export { computePosition, applyPosition, } from './core/popover';
|
|
83
|
+
export type { Rect, Placement, PositionOptions, PositionResult } from './core/popover';
|
|
84
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|