@smartimpact-it/modern-video-embed 2.0.1
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/README.md +1205 -0
- package/dist/components/VimeoEmbed.d.ts +143 -0
- package/dist/components/VimeoEmbed.d.ts.map +1 -0
- package/dist/components/VimeoEmbed.js +1176 -0
- package/dist/components/VimeoEmbed.js.map +1 -0
- package/dist/components/VimeoEmbed.min.js +1 -0
- package/dist/components/YouTubeEmbed.d.ts +225 -0
- package/dist/components/YouTubeEmbed.d.ts.map +1 -0
- package/dist/components/YouTubeEmbed.js +1354 -0
- package/dist/components/YouTubeEmbed.js.map +1 -0
- package/dist/components/YouTubeEmbed.min.js +1 -0
- package/dist/css/components.css +349 -0
- package/dist/css/components.css.map +1 -0
- package/dist/css/components.min.css +1 -0
- package/dist/css/main.css +12210 -0
- package/dist/css/main.css.map +1 -0
- package/dist/css/main.min.css +7 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/vimeo-only.d.ts +7 -0
- package/dist/vimeo-only.d.ts.map +1 -0
- package/dist/vimeo-only.js +8 -0
- package/dist/vimeo-only.js.map +1 -0
- package/dist/vimeo-only.min.js +1 -0
- package/dist/youtube-only.d.ts +7 -0
- package/dist/youtube-only.d.ts.map +1 -0
- package/dist/youtube-only.js +8 -0
- package/dist/youtube-only.js.map +1 -0
- package/dist/youtube-only.min.js +1 -0
- package/package.json +75 -0
- package/src/components/VimeoEmbed.ts +1340 -0
- package/src/components/YouTubeEmbed.ts +1568 -0
- package/src/index.ts +3 -0
- package/src/styles/README.md +56 -0
- package/src/styles/components.scss +7 -0
- package/src/styles/main.scss +10 -0
- package/src/styles/vimeo-embed.scss +255 -0
- package/src/styles/youtube-embed.scss +261 -0
- package/src/types/common.d.ts +198 -0
- package/src/types/index.ts +7 -0
- package/src/types/vimeo-embed.d.ts +80 -0
- package/src/types/youtube-embed.d.ts +83 -0
- package/src/vimeo-only.ts +9 -0
- package/src/youtube-only.ts +9 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export declare class VimeoEmbed extends HTMLElement {
|
|
2
|
+
#private;
|
|
3
|
+
private iframe;
|
|
4
|
+
private player;
|
|
5
|
+
private static apiLoaded;
|
|
6
|
+
private static apiReady;
|
|
7
|
+
private static instanceCount;
|
|
8
|
+
private static DEBUG;
|
|
9
|
+
private playerReady;
|
|
10
|
+
private playPauseButton;
|
|
11
|
+
private initialized;
|
|
12
|
+
private setCustomControlState;
|
|
13
|
+
private updatingAttribute;
|
|
14
|
+
private updatingMutedState;
|
|
15
|
+
private posterClickHandler;
|
|
16
|
+
private keyboardHandler;
|
|
17
|
+
private ariaLiveRegion;
|
|
18
|
+
private apiLoadRetries;
|
|
19
|
+
private static readonly MAX_API_RETRIES;
|
|
20
|
+
private static readonly API_RETRY_DELAY;
|
|
21
|
+
private static readonly API_LOAD_TIMEOUT;
|
|
22
|
+
private intersectionObserver;
|
|
23
|
+
private hasLoadedVideo;
|
|
24
|
+
static get observedAttributes(): string[];
|
|
25
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
26
|
+
get url(): string;
|
|
27
|
+
set url(value: string);
|
|
28
|
+
get videoId(): string;
|
|
29
|
+
set videoId(value: string);
|
|
30
|
+
get autoplay(): boolean;
|
|
31
|
+
set autoplay(value: boolean);
|
|
32
|
+
get controls(): boolean;
|
|
33
|
+
set controls(value: boolean);
|
|
34
|
+
get lazy(): boolean;
|
|
35
|
+
set lazy(value: boolean);
|
|
36
|
+
get muted(): boolean;
|
|
37
|
+
set muted(value: boolean);
|
|
38
|
+
get poster(): string;
|
|
39
|
+
set poster(value: string);
|
|
40
|
+
get playing(): boolean;
|
|
41
|
+
get background(): boolean;
|
|
42
|
+
set background(value: boolean);
|
|
43
|
+
get playerVars(): Record<string, string | number | boolean>;
|
|
44
|
+
set playerVars(vars: Record<string, string | number | boolean>);
|
|
45
|
+
private extractVideoId;
|
|
46
|
+
private log;
|
|
47
|
+
private warn;
|
|
48
|
+
private error;
|
|
49
|
+
private dispatchCustomEvent;
|
|
50
|
+
private isValidPosterUrl;
|
|
51
|
+
/**
|
|
52
|
+
* Setup fullscreen change event listener
|
|
53
|
+
*/
|
|
54
|
+
private setupFullscreenListener;
|
|
55
|
+
/**
|
|
56
|
+
* Setup keyboard event handlers for accessibility
|
|
57
|
+
*/
|
|
58
|
+
private setupKeyboardHandlers;
|
|
59
|
+
/**
|
|
60
|
+
* Announce message to screen readers
|
|
61
|
+
*/
|
|
62
|
+
private announceToScreenReader;
|
|
63
|
+
/**
|
|
64
|
+
* Add preconnect and dns-prefetch hints for Vimeo domains
|
|
65
|
+
*/
|
|
66
|
+
private addResourceHints;
|
|
67
|
+
/**
|
|
68
|
+
* Setup Intersection Observer for lazy loading
|
|
69
|
+
*/
|
|
70
|
+
private setupIntersectionObserver;
|
|
71
|
+
/**
|
|
72
|
+
* Display error message to user with retry option
|
|
73
|
+
*/
|
|
74
|
+
private showErrorMessage;
|
|
75
|
+
connectedCallback(): void;
|
|
76
|
+
disconnectedCallback(): void;
|
|
77
|
+
private reinitializePlayer;
|
|
78
|
+
private showPoster;
|
|
79
|
+
private initializePlayer;
|
|
80
|
+
private static loadVimeoAPI;
|
|
81
|
+
/**
|
|
82
|
+
* Load Vimeo API with retry mechanism
|
|
83
|
+
*/
|
|
84
|
+
private static loadVimeoAPIWithRetry;
|
|
85
|
+
private addCustomControls;
|
|
86
|
+
play(): Promise<void>;
|
|
87
|
+
pause(): void;
|
|
88
|
+
stopVideo(): void;
|
|
89
|
+
mute(): void;
|
|
90
|
+
unmute(): void;
|
|
91
|
+
togglePlay(): void;
|
|
92
|
+
toggleMute(): void;
|
|
93
|
+
static toggleDebug(forceState?: boolean): void;
|
|
94
|
+
getPlayerState(): {
|
|
95
|
+
playing: boolean;
|
|
96
|
+
muted: boolean;
|
|
97
|
+
videoId: string;
|
|
98
|
+
ready: boolean;
|
|
99
|
+
initialized: boolean;
|
|
100
|
+
};
|
|
101
|
+
isPlaying(): boolean;
|
|
102
|
+
isMuted(): Promise<boolean>;
|
|
103
|
+
getCurrentTime(): Promise<number>;
|
|
104
|
+
/**
|
|
105
|
+
* Request fullscreen mode
|
|
106
|
+
*/
|
|
107
|
+
enterFullscreen(): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Exit fullscreen mode
|
|
110
|
+
*/
|
|
111
|
+
exitFullscreen(): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Toggle fullscreen mode
|
|
114
|
+
*/
|
|
115
|
+
toggleFullscreen(): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Check if currently in fullscreen mode
|
|
118
|
+
*/
|
|
119
|
+
isFullscreen(): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Get available quality levels for the current video
|
|
122
|
+
* @returns Array of available quality levels
|
|
123
|
+
*/
|
|
124
|
+
getAvailableQualities(): Promise<string[]>;
|
|
125
|
+
/**
|
|
126
|
+
* Get the current playback quality
|
|
127
|
+
* @returns Current quality level
|
|
128
|
+
*/
|
|
129
|
+
getCurrentQuality(): Promise<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Set the playback quality
|
|
132
|
+
* @param quality The desired quality level
|
|
133
|
+
*/
|
|
134
|
+
setQuality(quality: string): Promise<void>;
|
|
135
|
+
loadVideo(videoIdOrUrl: string): void;
|
|
136
|
+
}
|
|
137
|
+
declare global {
|
|
138
|
+
interface Window {
|
|
139
|
+
Vimeo?: any;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export {};
|
|
143
|
+
//# sourceMappingURL=VimeoEmbed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VimeoEmbed.d.ts","sourceRoot":"","sources":["../../src/components/VimeoEmbed.ts"],"names":[],"mappings":"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"}
|