@wurathh/player-svelte
v1.0.2
Published
Svelte wrapper for @wurathh/player-core.
Maintainers
Readme
@wurathh/player-svelte
Svelte wrapper for @wurathh/player-core.
Installation
bun add @wurathh/player-svelte @wurathh/player-coreStyles
import "@wurathh/player-svelte/styles.css";Usage
The Svelte wrapper supports direct component props, so you can use it without building an options object first.
<script lang="ts">
import { VideoPlayer } from "@wurathh/player-svelte";
import "@wurathh/player-svelte/styles.css";
function handlePause() {
console.log("paused");
}
</script>
<VideoPlayer
src="https://example.com/video.mp4"
poster="https://example.com/poster.jpg"
onPause={handlePause}
onReady={() => {
console.log("ready");
}}
/>Player Events
The wrapper forwards core player events as Svelte component events.
<script lang="ts">
import { VideoPlayer } from "@wurathh/player-svelte";
function handleInstance(event: CustomEvent) {
console.log("instance", event.detail);
}
function handlePlay(event: CustomEvent) {
console.log("play event payload", event.detail);
}
</script>
<VideoPlayer
src="https://example.com/video.mp4"
on:instance={handleInstance}
on:play={handlePlay}
/>Subtitles And Config
<VideoPlayer
src="https://example.com/video.mp4"
subtitles={[
{
src: "https://example.com/subtitles/en.vtt",
srcLang: "en",
label: "English",
default: true,
},
]}
config={{
i18n: {
locale: "auto",
numberingSystem: "auto",
translations: {},
customLocales: {},
},
}}
/>Backward Compatibility
The old options prop is still supported.
<script lang="ts">
import { VideoPlayer } from "@wurathh/player-svelte";
const options = {
src: "https://example.com/video.mp4",
onPause: () => {
console.log("paused");
},
};
</script>
<VideoPlayer {options} />Notes
- Direct props are the recommended API for new Svelte usage.
id,className, andstyleapply to the wrapper container element.- You can either pass callbacks such as
onPauseas props or listen to forwarded Svelte events likeon:pause.
