byronwade/ui
Marketing & editorial

Video · Marketing & editorial

Shorts player

Versatile YouTube Shorts-style 9:16 player with preview and immersive variants, configurable engagement rail placement, caption modes, status/top-action slots, and replaceable author/overlay content.

@byronwade/foundation@byronwade/action-rail@byronwade/avatar@byronwade/verified-badge@byronwade/button@byronwade/utils@phosphor-icons/react

Feature showcase

Installation

Features

  • 3 examples

    Default, Preview, Immersive.

  • Tagged for youtube, video, tier:advanced

API

Props

PropTypeDefaultDescription
variant"default" | "preview" | "immersive"defaultControls the frame treatment.
rail"right" | "left" | "hidden"rightPlaces or hides the engagement rail.
density"comfortable" | "compact"comfortableTunes overlay spacing and caption scale.
captionMode"clamped" | "expanded" | "hidden"clampedControls caption visibility and line clamp.
authorShortsAuthor-Required author identity.
srcstring-Video source URL.
likeToggleState-Grouped like toggle for the action rail.
playToggleState-Grouped play/pause for built-in video.
captionReactNode-Bottom caption overlay.
authorActionReactNode-Custom author action replacing the built-in follow button.
topActionsReactNode-Custom controls near the top edge.

Dependencies

PackageKindDescription
@byronwade/foundationregistryInstalled through the byronwade/ui registry.
@byronwade/action-railregistryInstalled through the byronwade/ui registry.
@byronwade/avatarregistryInstalled through the byronwade/ui registry.
@byronwade/verified-badgeregistryInstalled through the byronwade/ui registry.
@byronwade/buttonregistryInstalled through the byronwade/ui registry.
@byronwade/utilsregistryInstalled through the byronwade/ui registry.
@phosphor-icons/reactnpmInstalled from npm.

Source and related

FilePath
Componentregistry/components/shorts-player.tsx
Default examplecontent/examples/shorts-player/default.tsx
Preview examplecontent/examples/shorts-player/preview.tsx
Immersive examplecontent/examples/shorts-player/immersive.tsx