tween
ComponentsTemplatesShowcaseContact

Command Palette

Search for a command to run...

Getting Started
  • Introduction
  • Installation
  • StoryNew
Guides
  • Motion Principles
  • Scroll and Smooth Scroll
  • Performance and Accessibility
Scroll Animations
  • Sticky Cards Scroll
  • Rise Fan Cards Scroll
  • Rotate Stack Scroll
  • Doodle Lens ScrollNew
  • Slit Open Hero ScrollNew
  • Logo Mask Zoom ScrollNew
  • ASCII Dissolve ScrollNew
  • Lottie Flight ScrollNew
  • Inline Icon Text ScrollNew
  • Starfield ScrollNew
  • Name Swap ScrollNew
  • Spotlight Gallery HeroNew
  • Slit Rotate Hero ScrollNew
  • Stroke Cover ScrollNew
  • Stroke Rows ScrollNew
Text Animations
  • Text Skew Reveal
  • Block Text Reveal
Hover & Cursor
  • Image Trail Cursor
  • Cursor Depth Logo
  • Physics Tag Drop
  • Elastic Card ListNew
  • Magnetic Cards SpringNew
Sliders & Carousels
  • Wheel Fullscreen Carousel
  • Ripple Displacement Slider
  • Three.js Blend Slider
  • Stacked Deck Slider
  • Orbit Cylinder SliderNew
  • Fan Stack SliderNew
  • Exponential Strip SliderNew
  • Dual Column SliderNew
Galleries & Grids
  • Scroll Wave Gallery
Menus & Navigation
  • Shrink Page MenuNew
Preloaders & Intros
  • Floating Items RevealNew
  • Word Cycle RevealNew
  • Tile Grid LoaderNew
Page Transitions
  • Panel Assembly TransitionNew
3D & WebGL
  • Fractal Glass Hero
  • Fluid Cursor Canvas
  • Fluid Portrait Hero
  • Fluid Gradient Canvas
  • Inversion Lens HoverNew
UI Elements
  • Circular Widgets
  • Vinyl Cover
  • Image Explosion Footer
  • Accordion Image FramesNew

(Tween) — Motion registry

Animated components & full sites, one command away.

Product

  • Components
  • Templates
  • Installation
  • Guides
  • Blog
  • Contact

Categories

  • Scroll Animations
  • Text Animations
  • Hover & Cursor
  • Sliders & Carousels
  • Galleries & Grids
  • Menus & Navigation
  • Preloaders & Intros
  • Page Transitions
  • 3D & WebGL
  • UI Elements
TWEEN
ease: power2.inOut0.00s
© 2026 TweenBack to topBuilt by mohammad
  1. Docs/
  2. Components/
  3. Vinyl Cover

Vinyl Cover

PreviousNext

A spinning vinyl record with a centered album cover and text streamed along curved arcs above and below the disk.

Open in
vinyl-cover-demo
Hymns for Low WaterHymns for Low WaterHymns for Low WaterSide A — First Pressing, 180g
Hymns for Low Water album cover
components/ui/vinyl-cover-demo.tsx
import { VinylCover } from "@/registry/tween/vinyl-cover"

export function VinylCoverDemo() {
  return (
    <div className="w-full">
      <VinylCover />
    </div>
  )
}

Installation

pnpm dlx shadcn@latest add https://tweenui.dev/r/vinyl-cover.json

Usage

import { VinylCover } from "@/components/ui/vinyl-cover"
<VinylCover
  textsPrimary={[
    "Hymns for Low Water",
    "Now spinning at 33⅓ RPM",
    "Pressed at Harrow Lane",
  ]}
  textSecondary="Side A — First Pressing, 180g"
  coverImage="https://images.unsplash.com/photo-1566039541962-d2e5195504f0?q=80&w=900&h=900&fit=crop"
/>

The disk rotates continuously while the album cover stays fixed at its center. Each line in textsPrimary travels along the upper arc in turn, and textSecondary sits statically on the lower arc beneath the record.

Props

PropTypeDefaultDescription
textsPrimaryreadonly string[]3 × default copyLines streamed along the upper arc. Pass N copies for N slots.
textSecondarystring"Side A — First…"Single static line on the lower arc.
diskImagestringBundled diskSource for the vinyl disk image (/vinyl-cover/disk.png).
coverImagestringRemote cover photoSource for the album cover at the center.
heightnumber | stringvar(--preview-h…)Outer container height.
diskSizenumber550Disk diameter in pixels.
coverSizenumber250Cover diameter in pixels.
rotationDurationnumber2Seconds for one full disk rotation.
textDurationnumber6Seconds for one pass of a single text line along the upper arc.
classNamestring—Extra classes on the outer container.

Behavior

When prefers-reduced-motion: reduce is set, the disk stops spinning and the arc text holds in place so the layout stays legible without continuous motion.

Circular WidgetsImage Explosion Footer

On This Page

InstallationUsagePropsBehavior

Contribute

  • Report an issue
  • Request a feature
  • Edit this page