AhaSlides Design
v0.52.0React · Vue · Lit

Components · Data Display

Carousel

A swipeable set of slides — onboarding, a feature tour, a gallery — rendered through the shared Carousel.

Examples

API

PropTypeDefaultNotes
autoplaybooleanfalseAdvance slides automatically
dotsbooleantrueShow the position dots
dotPositiontop | bottom | left | rightbottomWhere the dots sit relative to the track
effectscrollx | fadescrollxSlide transition style
arrowsbooleanfalseShow prev/next arrows
afterChange(current) => voidFires after the active slide changes

Install

# .npmrc — once: point the @ahaslides-product scope at GitHub Packages
@ahaslides-product:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}   # a GitHub token with read:packages

npm i @ahaslides-product/design
import '@ahaslides-product/design/tokens.css';   // once, at the app root
import '@ahaslides-product/design/carousel-theme';   // registers <carousel>

Agent feed for this component (absolute, fetchable anywhere): carousel.agent.json · carousel.md · carousel.llms.txt

When to use

When to use
  • Carousel — a small, ordered set of equally-weighted panels the user can browse at their own pace
  • Tabs — named sections the user jumps between directly, not in sequence
  • Steps — a linear process with a clear start and finish
Keep it to a handful of slides and always show the dots so people know there is more. Autoplay only for ambient galleries — never for content people need to read.
Surfaces
editor dashboard audience

Spec

Slide radius 8 · brand-tint #F9F5FF panel · Active dot brand #6A1EBB, wider (28px) · Rest dot 16×4, gap 8 · Dot position bottom (default) · top · left · right · Effect slide (scrollx, default) · fade · Arrows opt-in prev/next via the arrows prop · Motion antd's built-in slide/fade transition (kept) · Autoplay opt-in via the autoplay prop