Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Animator Frame Scrubber Profile Block for React

An animator profile as a frame scrubber: a drawn stage worked out from the frame number, a slider through 96 frames at 24 a second with the timecode and shot name, shots as buttons that jump to their first frame, and the credits.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Let a producer scrub an animator's reel without a video, with this frame scrubber profile for React with Base UI. A compact header holds the title and one sentence, and the hairline frame under it opens on the animator: initials, name, role and place. A band holds a stage drawn in greyscale and worked out from the frame number alone: a ball that falls, squashes on the floor and rises (Bounce), a figure walking in place (Walk cycle) and a title card that wipes in (Title card). A Slider moves through ninety-six frames at 24 a second, and the timecode (minutes, seconds, frames, "00:02:12") and the name of the shot follow it. Each shot is a button in a row of hairline cells that jumps to its first frame, with its frames and length worked out from the data. The credits at the end are a Data List of role, studio and year. Nothing plays, and the stage says "No video in this demo". It's built from Slider, Data List, Badge, Avatar and Guides, with inline SVG and a CSS entrance only. The animator and studios are invented. For an animation reel host, a studio's artist page or any profile that shows motion without a player.

FAQ

How do I fill it with my own reel?

Edit SHOTS for the shots (a name and the first and last frame, counting from 1), FRAMES and FPS for the length and speed, and CREDITS for the credits. The stage here is drawn from the frame number by three small functions, bounceAt, walkAt and titleAt: in your app replace Stage with the video's own frame (a poster image or a paused player) and keep the slider, the timecode and the shot buttons. The timecode, the length of each shot and the status line are worked out from the data.

How is the timecode worked out?

Frame 1 is 00:00:00. The frame's index (the frame number less one) gives whole seconds by dividing by 24, minutes from those, and the frames left over: so frame 61 reads 00:02:12, which is two seconds and twelve frames. It reads minutes, seconds and frames, always two digits each, and it keeps its order in a right-to-left layout.

How do I use the slider?

Drag it, or use the arrow keys for one frame at a time and Home and End for the first and last frame. A screen reader hears the frame, the timecode and the shot ("Frame 53, 00:02:04, Walk cycle"). The slider keeps left-to-right order in a right-to-left layout because it is a time axis. Here the slider is named by its label through aria-labelledby.

What do the shot buttons do?

Each one moves the slider to the first frame of its shot and says so in the status line ("Jumped to Walk cycle, frame 41."). The button for the shot that holds the current frame is marked with aria-current and a solid tint, and it follows the slider as you scrub. Nothing plays and nothing loops.

Is it accessible?

The stage is a picture and is hidden from assistive technology; what it shows is said by the timecode, the frame and the shot name beside it, and by the slider's value text. The shots are real buttons with their frames written out. The status line is a polite live region present from the start and it speaks only when you jump, not on every frame. Nothing animates by itself, so reduced motion needs no special case: the stage changes only when you move the slider.

How does it look on a phone?

The stage fills the width, the timecode and frame sit above the slider, and the three shots stack as full-width buttons. The credits are one line each. Nothing moves except what the frame number draws.

  • Pro

    A videographer profile as a project table with a poster: eight projects in a sortable table with a kind menu, and the row you pick fills a detail cell with a drawn poster frame, its credits and the reel runtime worked out from the rows.

  • Pro

    A film director profile as a filmography on a year axis: eight films as pickable bars of box office on a fixed axis with a star over award winners, a genre filter that dims the other films, and rows for the picked film's budget, earnings, awards and collaborators.

  • Pro

    A graphic designer profile as an annotated poster: one drawn poster in a frame and four principles (grid, scale, contrast, restraint) that switch on as layers over it, each with one line whose numbers are worked out from the poster itself.

  • Pro

    An illustrator profile as a commission builder beside her drawn pieces: eight pieces as one radio group, and a size, a character count, a background and a turnaround that work the price and the delivery day out line by line.

  • Pro

    Stepped Before and After Gallery

    Compare, crop and zoom

    One drawn room in three layers, bare plaster, mid-job and finished, revealed from the foot of the picture by a slider with three stops, with room tabs and a line on each visit.

  • Pro

    A sound engineer profile as an A/B master compare: a segmented control that swaps a drawn waveform of the mix and the master, with integrated loudness, true peak and dynamic range and the difference in words, and three credits as ruled rows.