Video Player

16:9 video player with an overlay play action, actions bar, volume, progress with timestamp preview, playback speed and full screen. Figma V8.0: Size (sm / md / lg) × Playing.

import{ VideoPlayer } from "@pepulux/ui"

Size: sm / md / lg — Playing: false

Without src the player runs in demo mode and simulates playback, so every state is previewable.

00:00
-08:24
00:00
-08:24

Playing: true — with timestamp indicator

Hover the progress bar while playing to see the scrub preview.

02:08
-06:16
02:08
-06:16

Overlay action and actions bar toggles

00:00
-08:24

Real video

Pass src to play a real file; the controls drive the underlying video element.

00:00
-08:24

Props

PropTypeDefaultDescription
srcstring—Video URL. Omit for the simulated demo player
posterstring—Still image behind the controls
previewSrcstring—Thumbnail for the timestamp indicator (defaults to poster)
size"sm" | "md" | "lg""sm"Figma Size — max width 320 / 560 / 720px and which controls show
actionsBarbooleantrueFigma Actions bar — gradient control bar
overlayActionbooleantrueFigma Overlay action — centered play button while paused
timestampIndicatorbooleantrueScrub preview with time on progress hover (md, lg)
defaultPlayingbooleanfalseFigma Playing — initial state
defaultTimenumber0Start position in seconds
durationnumber504Length in seconds in demo mode (no src)
autoPlay / loopboolean—Native behaviour
onPlayingChange(playing: boolean) => void—Called when playback starts or stops
Base component → Video playerswww.pepulux.com

Notes and documentation

Space for notes, documentation, and best practices for using these components.

Controls people expect

Show play, scrub, time and volume. Provide captions and a poster image, and avoid autoplaying with sound.