<IntegrationStackCarousel
title="Every tool has a role"
description={
"Show the complete systems behind your product, " +
"not just the logos on the box."
}
stacks={stacks}
/>
Integration Stack Carousel is a free React integration carousel for Next.js and Tailwind that presents complete software relationships as layered cards instead of a passive logo strip. Each stack names the tools, explains their roles and closes with a practical outcome, so visitors can understand how the system works before they follow a link.
Motion retargets the layered transform from its current visual state whenever a visitor uses the previous, next or labelled position controls. The tallest card stays reserved for zero layout shift, stable IDs preserve selection through data changes, fine pointers receive a restrained spring tilt, and reduced-motion or coarse-pointer visitors keep a calm, fully operable carousel.
Install
Add the @te registry to your components.json once:
Three to seven connected stack stories. Every stack and nested integration requires a unique, stable ID.
activeId
string
undefined
Controlled active stack ID.
defaultActiveId
string
first stack ID
Initial stack ID for uncontrolled usage.
onActiveChange
(id: string) => void
undefined
Called with a valid stable ID after previous, next or position navigation.
cardSpread
number
22
Horizontal layer spread in pixels, clamped from 10 to 44.
depth
number
12
Per-layer z-depth in pixels, clamped from 4 to 24.
maxTilt
number
5
Maximum fine-pointer active-card tilt in degrees, clamped from 0 to 8.
transitionDuration
number
0.52
Transition duration in seconds, clamped from 0.2 to 1.
className
string
undefined
Additional classes merged onto the section root.
Customisation
The content stays in the stacks array while effect geometry remains independent. Tune cardSpread for the visible fan, depth for the layered perspective, maxTilt for fine-pointer response and transitionDuration for the navigation cadence. Every value is clamped to the component's tested range.
<IntegrationStackCarousel
title="Systems built around the customer"
stacks={stacks}
cardSpread={30}
depth={16}
maxTilt={3}
transitionDuration={0.65}
/>
Frequently asked questions
Is Integration Stack Carousel free for commercial use?
Yes. Integration Stack Carousel is MIT licensed, so you can use it in personal and commercial projects without attribution.
Is the integration carousel accessible and stable?
Yes. Before JavaScript, every stack is readable in a static horizontal grid. After enhancement, the region, slides, previous and next controls, labelled position buttons, active state, inert inactive links and polite user-triggered status follow accessible carousel behaviour. Intrinsic sizer cards reserve the tallest story, so navigation produces zero layout shift.
How do I customise the layered card effect?
Use cardSpread, depth, maxTilt and transitionDuration to change geometry and pace without editing stack wording. Reduced motion removes translation, scale, depth and tilt automatically, while coarse pointers never enable the tilt interaction.