# Media Carousel Controls

Photo and video gallery of a project with a counter and access to each asset's detail.

- id: `media-carousel-controls`
- Page: https://agentic-ui-kit.com/components/media-carousel-controls
- Live preview: https://agentic-ui-kit.com/live/component/media-carousel-controls

## Install

```bash
agentic-ui add media-carousel-controls
npx shadcn@4.17.0 add @agentic-ui/media-carousel-controls
```

## Metadata

- **Level:** block
- **Category:** block
- **Installable in:** Radix UI (registry variant new-york), Base UI (registry variant base-vega)
- **Capabilities:** controlled-index, previous-next-navigation, direct-slide-selection, touch-swipe-navigation, keyboard-navigation, optional-loop, pausable-autoplay, reduced-motion-fallback, live-status-announcement, empty-state-fallback, error-state-fallback, dark-mode
- **Intents:** navigate, explore-detail, show-composition
- **Suits domains:** media, ecommerce, travel, marketing, social, music
- **Interaction:** tap, click, swipe, drag, keyboard-navigation, autoplay
- **Screen role:** overview
- **Density:** medium
- **Dark mode:** yes
- **Use it for:** photo and video gallery of a project with a counter and access to each asset's detail, product image carousel with direct selection by thumbnail or dot, campaign hero with autoplay that pauses on mouse hover or when focusing a button, destination tour with infinite loop and touch swipe on mobile
- **Avoid when:** content that must be compared side by side or scanned in full at a glance, long lists of more than 15 items where a grid or scrolling rail is more efficient, critical or business messages that must not be hidden behind an inactive slide
- **Preserve when adapting:** controlled-index-contract, keyboard-model, autoplay-pause-rules, reduced-motion-fallback, slide-accessibility-semantics
- **Replace when adapting:** slide-content, aspect-ratio, interval-and-loop-defaults, domain-copy
- **Adaptation effort:** low
- **Coupling:** low
- **Quality breakdown:** visual 8/10, responsive 9/10, accessibility 9/10, code 9/10
- **Uses primitives:** button
- **npm dependencies:** lucide-react
- **npm dependencies (registry):** clsx@^2.1.1, lucide-react@0.577.0, tailwind-merge@3.5.0
- **Registry dependencies:** lib-primitives, lib-tokens
