Skip to content
BaseLayer Themes

Testimonials 02

Carousel / slider of testimonials

Live preview

What clients say

Swipe through more feedback from recent projects.

“Delivered ahead of schedule with zero hand-holding. The site scores 98 on Lighthouse and our bounce rate dropped 30%.”

Sarah Chen
Sarah Chen

Founder, Northline Studio

“Finally a developer who speaks design. Every component was thoughtful, documented, and easy for us to extend.”

Marcus Webb
Marcus Webb

Creative Director, Form & Field

“Our Sanity + Astro rebuild cut hosting costs in half and made content updates painless for the whole team.”

Elena Ruiz

Head of Marketing, Scalepath

“Delivered ahead of schedule with zero hand-holding. The site scores 98 on Lighthouse and our bounce rate dropped 30%.”

Sarah Chen
Sarah Chen

Founder, Northline Studio

“Finally a developer who speaks design. Every component was thoughtful, documented, and easy for us to extend.”

Marcus Webb
Marcus Webb

Creative Director, Form & Field

“Our Sanity + Astro rebuild cut hosting costs in half and made content updates painless for the whole team.”

Elena Ruiz

Head of Marketing, Scalepath

File: src/blocks/testimonials/Testimonials02.astro

Carousel of testimonial cards with configurable slides-per-view and arrow placement.

Config (blocks.tstestimonialsSlider)

testimonialsSlider: {
    width: "standard",
    heading: "What clients say",
    subheading: "Swipe through more feedback from recent projects.",
    slidesPerView: 1,
    slidesPerViewMd: 2,
    slidesPerViewLg: 3,
    arrowPosition: "header",
    gap: 24,
    items: [
      {
        quote:
          "Delivered ahead of schedule with zero hand-holding. The site scores 98 on Lighthouse and our bounce rate dropped 30%.",
        name: "Sarah Chen",
        role: "Founder, Northline Studio",
        initials: "SC",
        image: photos.karla,
        imageAlt: "Sarah Chen",
      },
      {
        quote:
          "Finally a developer who speaks design. Every component was thoughtful, documented, and easy for us to extend.",
        name: "Marcus Webb",
        role: "Creative Director, Form & Field",
        initials: "MW",
        image: photos.edgar,
        imageAlt: "Marcus Webb",
      },
      {
        quote:
          "Our Sanity + Astro rebuild cut hosting costs in half and made content updates painless for the whole team.",
        name: "Elena Ruiz",
        role: "Head of Marketing, Scalepath",
        initials: "ER",
      },
      {
        quote:
          "Delivered ahead of schedule with zero hand-holding. The site scores 98 on Lighthouse and our bounce rate dropped 30%.",
        name: "Sarah Chen",
        role: "Founder, Northline Studio",
        initials: "SC",
        image: photos.karla,
        imageAlt: "Sarah Chen",
      },
      {
        quote:
          "Finally a developer who speaks design. Every component was thoughtful, documented, and easy for us to extend.",
        name: "Marcus Webb",
        role: "Creative Director, Form & Field",
        initials: "MW",
        image: photos.edgar,
        imageAlt: "Marcus Webb",
      },
      {
        quote:
          "Our Sanity + Astro rebuild cut hosting costs in half and made content updates painless for the whole team.",
        name: "Elena Ruiz",
        role: "Head of Marketing, Scalepath",
        initials: "ER",
      },
    ],
  },

Add to a page

---
import Testimonials02 from "@/blocks/testimonials/Testimonials02.astro";
---

<Testimonials02 />

Props override matching keys from config:

<Testimonials02
  heading="Custom headline"
/>

Props

Prop Config key Type / values Default / notes
sectionId testimonialsSlider.sectionId string Default "testimonials"; DOM id for the section; not in config
heading testimonialsSlider.heading string
subheading testimonialsSlider.subheading string
items testimonialsSlider.items Array of { quote, name, role?, image?, imageAlt? } — image is LocalImageSource Content list for this block
slidesPerView testimonialsSlider.slidesPerView number Slides visible on small screens
slidesPerViewMd testimonialsSlider.slidesPerViewMd number Slides visible from md
slidesPerViewLg testimonialsSlider.slidesPerViewLg number Slides visible from lg
arrowPosition testimonialsSlider.arrowPosition sides | header Slider arrow placement
gap testimonialsSlider.gap number Gap between slides (px) or marquee items

Also include: TestimonialCard.astro, TestimonialSliderArrows.astro.

← Testimonials versions · Blocks overview