PRO

Accordion Frames

A horizontal focus accordion: a row of thin image slats that spring open to a wide panel on hover (or tap), with a bordered focus indicator and light beams that track the open frame. Pure React, motion handled entirely by one CSS transition.

Component
Install
npx shadcn@latest add https://ui.aryank.space/r/accordion-frames.json

Installs from ui.aryank.space. To add it by hand, copy the files in Usage below, or register the @compronents namespace via the docs.

Files

API
PropTypeDefaultDescription
imagesstring[]spotlight-1…20 (Compronents assets)Panel image URLs. The accordion shows up to desktopCount of them.
desktopCountnumber20How many panels to show on wide viewports.
mobileCountnumber10How many panels to show below mobileBreakpoint.
expandedWidthnumber400Open-panel width in px on desktop.
mobileExpandedWidthnumber100Open-panel width in px on mobile.
collapsedWidthnumber20Resting slat width in px.
gapnumber5Gap between slats in px.
panelHeightnumber400Track height in px on desktop.
mobilePanelHeightnumber260Track height in px on mobile.
mobileBreakpointnumber1000Viewport width under which the mobile layout applies.
defaultFocusnumber0Index of the panel open on first paint.
focusIndicatorbooleantrueDraw the bordered focus box with the vertical beams.
accentColorstring"#ffffff"Focus indicator and beam color.
backgroundstring"#0f0f0f"Frame background color.
Customize
accentColorcolor

Focus indicator border and the vertical beam color.

backgroundcolor

Frame backdrop behind the panels.

expandedWidthtext

Open-panel width in px; the resting slats stay thin.

imagesasset-url

Panel images, hosted through https://ui.aryank.space/assets/accordion-frames/spotlight-1.jpg and the rest of the numbered set.

Dependencies
None.