Limeplay - Open Source Video Player UI ComponentsLimeplay

use-picture-in-picture

Feature for toggling Picture-in-Picture mode.

Installation

npx shadcn add @limeplay/use-picture-in-picture

Register the feature:

lib/media.ts
"use client"

import { pictureInPictureFeature } from "@/hooks/limeplay/use-picture-in-picture"

createMediaKit({
  features: [..., pictureInPictureFeature()] as const,
})

Store

Access via usePictureInPictureStore(selector):

import { usePictureInPictureStore } from "@/hooks/limeplay/use-picture-in-picture"

const active = usePictureInPictureStore(s => s.active)
const supported = usePictureInPictureStore(s => s.supported)
const toggle = usePictureInPictureStore(s => s.toggle)

State

FieldTypeDescription
activebooleanWhether PiP is currently active
supportedbooleanWhether browser supports PiP

Actions

MethodDescription
enter()Enter PiP mode
exit()Exit PiP mode
toggle()Toggle PiP on/off

Browser Support

PiP API is not natively supported in Firefox. The supported field will be false on unsupported browsers. Reference

Events

EventPayloadWhen
enterpictureinpictureEnters PiP mode
leavepictureinpictureLeaves PiP mode

On this page