Showcase

Animations from past Functn projects, adapted for TaylorUI. Copy the components into your project and wire them up to your own data.


This Product carousel is copied from the functndev/wsk-bank-relaunch project and adapted to TaylorUI. See it live in the Unsere Produkte section on wsk-bank.at.

The carousel combines TaylorUI carousel primitives with embla-carousel-fade so slides crossfade in place. A fixed text region above animates title and description on slide change (fadeUp from @/animations). The thumbnail rail below expands the active item and accepts clicks to jump between slides.

To reuse in your project:

  1. Copy src/ui/components/carousel/product-carousel.tsx into your app.
  2. Ensure TaylorUI carousel primitives are available (see file list below).
  3. Install embla-carousel-fade alongside embla-carousel-react.
  4. Replace placeholderProductList in @/assets with your own slide data — each slide needs a title, description, optional links, and an image.

Files to copy (skip any your project already has):

  • src/ui/components/carousel/product-carousel.tsx
  • src/ui/components/carousel/carousel.tsx
  • src/lib/cn.ts
  • src/animations/framer/variants.ts (for fadeUp)

Dependencies: embla-carousel-react, embla-carousel-fade, framer-motion, next, react

import { ProductCarouselShowcase } from '@/ui/components/carousel/product-carousel';
 
// Renders with placeholder slides from @/assets.
export function ProductsSection() {
  return (
    <section>
      <ProductCarouselShowcase />
    </section>
  );
}

To customise slide content, map your data to the ProductSlide type from @/assets:

import type { ProductSlide } from '@/assets';
 
const products: ProductSlide[] = items.map((item) => ({
  productTitle: item.title,
  productText: item.description,
  productLinks: item.links,
  image: item.image,
}));