svelte-player
Advanced tools
Comparing version 0.0.15 to 0.0.16
@@ -49,1 +49,2 @@ export type DailyMotionPlayerOptionsParams = { | ||
}; | ||
export type DailyMotionSDKReady = 'dmAsyncInit' | 'fbAsyncInit'; |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -54,1 +54,2 @@ export type FacebookPlayerSubscribeStartedPlayingEvent = 'startedPlaying'; | ||
}; | ||
export type FacebookSDKReady = 'fbAsyncInit'; |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -42,3 +42,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -45,0 +45,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -1,10 +0,11 @@ | ||
import type { YT } from './youtube.global.types'; | ||
import type { YT, YTSDKReady } from './youtube.global.types'; | ||
import type { Twitch } from './twitch.global.types'; | ||
import type { SoundCloud } from './soundcloud.global.types'; | ||
import type { MixcloudPlayer } from './mixcloud.global.types'; | ||
import type { DailyMotion } from './dailymotion.global.types'; | ||
import type { Facebook } from './facebook.global.types'; | ||
import type { DailyMotion, DailyMotionSDKReady } from './dailymotion.global.types'; | ||
import type { Facebook, FacebookSDKReady } from './facebook.global.types'; | ||
import type { Vimeo } from './vimeo.global.types'; | ||
import type { PlayerJS } from './playerjs.global.types'; | ||
import type { Wistia } from './wistia.global.types'; | ||
import type { Vidyard, VidyardSDKReady } from './vidyard.global.types'; | ||
import type { HlsJS, DashJS, FlvJS, Hls } from './fileplayer.global.types'; | ||
@@ -21,2 +22,3 @@ export type GlobalSDK = { | ||
Mixcloud: MixcloudPlayer; | ||
VidyardV4: Vidyard; | ||
Hls: HlsJS; | ||
@@ -36,2 +38,3 @@ dashjs: DashJS; | ||
export type GlobalSDKMixcloudKey = Extract<GlobalSDKType, 'Mixcloud'>; | ||
export type GlobalSDKVidyardKey = Extract<GlobalSDKType, 'VidyardV4'>; | ||
export type GlobalSDKHLSKey = Extract<GlobalSDKType, 'Hls'>; | ||
@@ -50,2 +53,3 @@ export type GlobalSDKDASHKey = Extract<GlobalSDKType, 'dashjs'>; | ||
export type GlobalSDKMixcloud = Extract<GlobalSDKValue, MixcloudPlayer>; | ||
export type GlobalSDKVidyard = Extract<GlobalSDKValue, Vidyard>; | ||
export type GlobalSDKHLSClass = Hls; | ||
@@ -55,5 +59,6 @@ export type GlobalSDKHLS = Extract<GlobalSDKValue, HlsJS>; | ||
export type GlobalSDKFLV = Extract<GlobalSDKValue, FlvJS>; | ||
export type GlobalSDKReady = 'onYouTubeIframeAPIReady' | 'dmAsyncInit' | 'fbAsyncInit'; | ||
export type GlobalSDKYTReady = Extract<GlobalSDKReady, 'onYouTubeIframeAPIReady'>; | ||
export type GlobalSDKDailyMotionReady = Extract<GlobalSDKReady, 'dmAsyncInit'>; | ||
export type GlobalSDKFacebookReady = Extract<GlobalSDKReady, 'fbAsyncInit'>; | ||
export type GlobalSDKReady = YTSDKReady | DailyMotionSDKReady | FacebookSDKReady | VidyardSDKReady; | ||
export type GlobalSDKYTReady = Extract<GlobalSDKReady, YTSDKReady>; | ||
export type GlobalSDKDailyMotionReady = Extract<GlobalSDKReady, DailyMotionSDKReady>; | ||
export type GlobalSDKFacebookReady = Extract<GlobalSDKReady, FacebookSDKReady>; | ||
export type GlobalSDKVidyardReady = Extract<GlobalSDKReady, VidyardSDKReady>; |
import type { FilePlayerUrl } from './types'; | ||
import { canPlayYoutube, canPlayFile, canPlayTwitch, canPlaySoundCloud, canPlayMixcloud, canPlayDailyMotion, canPlayFacebook, canPlayVimeo, canPlayStreamable, canPlayKaltura, canPlayWistia } from './patterns'; | ||
import { canPlayYoutube, canPlayFile, canPlayTwitch, canPlaySoundCloud, canPlayMixcloud, canPlayDailyMotion, canPlayFacebook, canPlayVimeo, canPlayStreamable, canPlayKaltura, canPlayWistia, canPlayVidyard } from './patterns'; | ||
declare const players: readonly [{ | ||
@@ -67,2 +67,9 @@ readonly key: "youtube"; | ||
}, { | ||
readonly key: "vidyard"; | ||
readonly canPlay: typeof canPlayVidyard; | ||
readonly canEnablePIP: undefined; | ||
readonly loopOnEnded: undefined; | ||
readonly forceLoad: undefined; | ||
readonly loadComponent: () => Promise<typeof import("./Vidyard.svelte")>; | ||
}, { | ||
readonly key: "kaltura"; | ||
@@ -69,0 +76,0 @@ readonly canPlay: typeof canPlayKaltura; |
@@ -1,2 +0,2 @@ | ||
import { canPlayYoutube, canPlayFile, AUDIO_EXTENSIONS, canPlayTwitch, canPlaySoundCloud, canPlayMixcloud, canPlayDailyMotion, canPlayFacebook, canPlayVimeo, canPlayStreamable, canPlayKaltura, canPlayWistia } from './patterns'; | ||
import { canPlayYoutube, canPlayFile, AUDIO_EXTENSIONS, canPlayTwitch, canPlaySoundCloud, canPlayMixcloud, canPlayDailyMotion, canPlayFacebook, canPlayVimeo, canPlayStreamable, canPlayKaltura, canPlayWistia, canPlayVidyard } from './patterns'; | ||
import { supportsWebKitPresentationMode } from './utils'; | ||
@@ -95,2 +95,12 @@ const players = [ | ||
{ | ||
key: 'vidyard', | ||
canPlay: canPlayVidyard, | ||
canEnablePIP: undefined, | ||
loopOnEnded: undefined, | ||
forceLoad: undefined, | ||
loadComponent: () => { | ||
return import('./Vidyard.svelte'); | ||
} | ||
}, | ||
{ | ||
key: 'kaltura', | ||
@@ -97,0 +107,0 @@ canPlay: canPlayKaltura, |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -43,3 +43,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -46,0 +46,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -13,2 +13,3 @@ import type { FilePlayerUrl } from './types'; | ||
export declare const MATCH_URL_MIXCLOUD: RegExp; | ||
export declare const MATCH_URL_VIDYARD: RegExp; | ||
export declare const MATCH_URL_KALTURA: RegExp; | ||
@@ -30,3 +31,4 @@ export declare const AUDIO_EXTENSIONS: RegExp; | ||
export declare function canPlayMixcloud(url: FilePlayerUrl): boolean; | ||
export declare function canPlayVidyard(url: FilePlayerUrl): boolean; | ||
export declare function canPlayKaltura(url: FilePlayerUrl): boolean; | ||
export declare function canPlayFile(url: FilePlayerUrl): boolean; |
@@ -15,2 +15,3 @@ import { isMediaStream, isBlobUrl } from './utils'; | ||
export const MATCH_URL_MIXCLOUD = /mixcloud\.com\/([^/]+\/[^/]+)/; | ||
export const MATCH_URL_VIDYARD = /vidyard.com\/(?:watch\/)?([a-zA-Z0-9-_]+)/; | ||
export const MATCH_URL_KALTURA = /^https?:\/\/[a-zA-Z]+\.kaltura.(com|org)\/p\/([0-9]+)\/sp\/([0-9]+)00\/embedIframeJs\/uiconf_id\/([0-9]+)\/partner_id\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/; | ||
@@ -87,2 +88,8 @@ export const AUDIO_EXTENSIONS = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i; | ||
} | ||
export function canPlayVidyard(url) { | ||
if (url instanceof Array) { | ||
return false; | ||
} | ||
return MATCH_URL_VIDYARD.test(url); | ||
} | ||
export function canPlayKaltura(url) { | ||
@@ -89,0 +96,0 @@ if (url instanceof Array) { |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -39,3 +39,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -42,0 +42,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -41,3 +41,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -44,0 +44,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -14,3 +14,4 @@ import type { SvelteComponent } from 'svelte'; | ||
import type { WistiaPlayer } from './wistia.global.types'; | ||
export type PlayerInstance = YTPlayer | TwitchPlayer | HTMLAudioElement | HTMLVideoElement | NotImplementedPlayer | SoundCloudPlayer | DailyMotionPlayer | MixcloudWidget | FacebookPlayer | VimeoPlayer | PlayerJSPlayer | WistiaPlayer; | ||
import type { VidyardPlayer } from './vidyard.global.types'; | ||
export type PlayerInstance = YTPlayer | TwitchPlayer | HTMLAudioElement | HTMLVideoElement | NotImplementedPlayer | SoundCloudPlayer | DailyMotionPlayer | MixcloudWidget | FacebookPlayer | VimeoPlayer | PlayerJSPlayer | WistiaPlayer | VidyardPlayer; | ||
export type SDKBase<T extends keyof GlobalSDK> = { | ||
@@ -82,3 +83,3 @@ url: string; | ||
bufferEnd: undefined | Event; | ||
seek: number; | ||
seek: number | [number, number]; | ||
ended: undefined | Event; | ||
@@ -85,0 +86,0 @@ error: OnErrorProps; |
@@ -1,2 +0,2 @@ | ||
import type { GlobalSDKYT, GlobalSDK, GlobalSDKType, GlobalSDKFLV, GlobalSDKDASH, GlobalSDKHLS, GlobalSDKTwitch, GlobalSDKSoundCloud, GlobalSDKMixcloud, GlobalSDKDailyMotion, GlobalSDKFacebook, GlobalSDKVimeo, GlobalSDKPlayerJS, GlobalSDKWistia } from './global.types'; | ||
import type { GlobalSDKYT, GlobalSDK, GlobalSDKType, GlobalSDKFLV, GlobalSDKDASH, GlobalSDKHLS, GlobalSDKTwitch, GlobalSDKSoundCloud, GlobalSDKMixcloud, GlobalSDKDailyMotion, GlobalSDKFacebook, GlobalSDKVimeo, GlobalSDKPlayerJS, GlobalSDKWistia, GlobalSDKVidyard } from './global.types'; | ||
import type { WistiaWQ } from './wistia.global.types'; | ||
@@ -19,2 +19,4 @@ import type { GetSDKParams, FilePlayerUrl } from './types'; | ||
Mixcloud: GlobalSDKMixcloud; | ||
VidyardV4: GlobalSDKVidyard; | ||
onVidyardAPI(): void; | ||
Hls: GlobalSDKHLS; | ||
@@ -21,0 +23,0 @@ dashjs: GlobalSDKDASH; |
@@ -41,3 +41,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -44,0 +44,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -40,3 +40,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -43,0 +43,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -177,1 +177,2 @@ import type { AnyFunction } from './utility.types'; | ||
}; | ||
export type YTSDKReady = 'onYouTubeIframeAPIReady'; |
@@ -41,3 +41,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
bufferEnd: CustomEvent<Event | undefined>; | ||
seek: CustomEvent<number>; | ||
seek: CustomEvent<number | [number, number]>; | ||
ended: CustomEvent<Event | undefined>; | ||
@@ -44,0 +44,0 @@ error: CustomEvent<import("./types").OnErrorProps>; |
@@ -74,3 +74,6 @@ // eslint-disable-next-line @typescript-eslint/no-empty-function | ||
}, | ||
vidyard: { | ||
options: {} | ||
}, | ||
'not-implemented': {} | ||
}; |
@@ -29,3 +29,3 @@ import { SvelteComponentTyped } from "svelte"; | ||
getSecondsLoaded?: (() => number | null) | undefined; | ||
getInternalPlayer?: ((key?: InternalPlayerKey) => import("./players/youtube.global.types").YTPlayer | import("./players/twitch.global.types").TwitchPlayer | import("./players/soundcloud.global.types").SoundCloudPlayer | import("./players/mixcloud.global.types").MixcloudWidget | import("./players/dailymotion.global.types").DailyMotionPlayer | import("./players/facebook.global.types").FacebookPlayer | import("./players/vimeo.global.types").VimeoPlayer | import("./players/playerjs.global.types").PlayerJSPlayer | import("./players/wistia.global.types").WistiaPlayer | import("./players/notimplemented.global.types").NotImplementedPlayer | HTMLAudioElement | null) | undefined; | ||
getInternalPlayer?: ((key?: InternalPlayerKey) => import("./players/youtube.global.types").YTPlayer | import("./players/twitch.global.types").TwitchPlayer | import("./players/soundcloud.global.types").SoundCloudPlayer | import("./players/mixcloud.global.types").MixcloudWidget | import("./players/dailymotion.global.types").DailyMotionPlayer | import("./players/facebook.global.types").FacebookPlayer | import("./players/vimeo.global.types").VimeoPlayer | import("./players/playerjs.global.types").PlayerJSPlayer | import("./players/wistia.global.types").WistiaPlayer | import("./players/vidyard.global.types").VidyardPlayer | import("./players/notimplemented.global.types").NotImplementedPlayer | HTMLAudioElement | null) | undefined; | ||
seekTo?: ((fraction: number, type?: SeekToType, keepPlaying?: boolean) => null | undefined) | undefined; | ||
@@ -71,5 +71,5 @@ }; | ||
get getSecondsLoaded(): () => number | null; | ||
get getInternalPlayer(): (key?: InternalPlayerKey) => import("./players/youtube.global.types").YTPlayer | import("./players/twitch.global.types").TwitchPlayer | import("./players/soundcloud.global.types").SoundCloudPlayer | import("./players/mixcloud.global.types").MixcloudWidget | import("./players/dailymotion.global.types").DailyMotionPlayer | import("./players/facebook.global.types").FacebookPlayer | import("./players/vimeo.global.types").VimeoPlayer | import("./players/playerjs.global.types").PlayerJSPlayer | import("./players/wistia.global.types").WistiaPlayer | import("./players/notimplemented.global.types").NotImplementedPlayer | HTMLAudioElement | null; | ||
get getInternalPlayer(): (key?: InternalPlayerKey) => import("./players/youtube.global.types").YTPlayer | import("./players/twitch.global.types").TwitchPlayer | import("./players/soundcloud.global.types").SoundCloudPlayer | import("./players/mixcloud.global.types").MixcloudWidget | import("./players/dailymotion.global.types").DailyMotionPlayer | import("./players/facebook.global.types").FacebookPlayer | import("./players/vimeo.global.types").VimeoPlayer | import("./players/playerjs.global.types").PlayerJSPlayer | import("./players/wistia.global.types").WistiaPlayer | import("./players/vidyard.global.types").VidyardPlayer | import("./players/notimplemented.global.types").NotImplementedPlayer | HTMLAudioElement | null; | ||
get seekTo(): (fraction: number, type?: SeekToType | undefined, keepPlaying?: boolean | undefined) => null | undefined; | ||
} | ||
export {}; |
@@ -10,2 +10,3 @@ import type { InternalPlayerKey, Dispatcher, PlayerUrl, PlayerInstance } from './players/types'; | ||
import type { MixcloudConfig } from './players/mixcloud.types'; | ||
import type { VidyardConfig } from './players/vidyard.types'; | ||
import type { FileConfig } from './players/file.types'; | ||
@@ -45,2 +46,3 @@ import type { NotImplementedConfig } from './players/notimplemented.types'; | ||
mixcloud: MixcloudConfig; | ||
vidyard: VidyardConfig; | ||
kaltura: undefined; | ||
@@ -47,0 +49,0 @@ file: FileConfig; |
{ | ||
"name": "svelte-player", | ||
"version": "0.0.15", | ||
"version": "0.0.16", | ||
"license": "MIT", | ||
@@ -9,2 +9,20 @@ "repository": { | ||
}, | ||
"keywords": [ | ||
"svelte", | ||
"media", | ||
"player", | ||
"video", | ||
"audio", | ||
"youtube", | ||
"facebook", | ||
"twitch", | ||
"soundcloud", | ||
"streamable", | ||
"vimeo", | ||
"wistia", | ||
"dailymotion", | ||
"hls", | ||
"dash", | ||
"svelte-component" | ||
], | ||
"scripts": { | ||
@@ -21,2 +39,3 @@ "dev": "vite dev", | ||
"lint": "prettier --plugin-search-dir . --check . && eslint .", | ||
"lint-staged": "lint-staged", | ||
"format": "prettier --plugin-search-dir . --write .", | ||
@@ -54,2 +73,3 @@ "prepare": "husky install" | ||
"jsdom": "^22.1.0", | ||
"lint-staged": "^13.2.3", | ||
"prettier": "^2.8.8", | ||
@@ -56,0 +76,0 @@ "prettier-plugin-svelte": "^2.10.1", |
215036
101
3461
25