Skip to content
BaseLayer Themes

Docs

Hero 17

Full-bleed slide carousel — overlay, height, placement, slider controls

Live preview

Interior detail
Featured work

Spaces that feel considered from the first scroll

Full-bleed storytelling for hospitality, retail, and brand launches — image first, copy where it lands hardest.

Portrait in soft light
Available for freelance

I build websites that work as hard as you do

Astro, React, and headless CMS for brands that need speed, clarity, and craft — without a redesign every quarter.

Architectural study
Performance & polish

Ship a polished site without rebuilding the foundations

Composable blocks, token-driven themes, and image pipelines so every launch stays fast and on-brand.

File: src/blocks/hero/Hero17.astro

Full-bleed Keen Slider hero. Each slide is image + overlay + eyebrow, title, text, and CTAs. Controls for height, overlay color/opacity, text placement/align, arrows, dots, and autoplay.

Config (blocks.tshero17)

hero17: {
    width: "wide",
    slides: [
      {
        image: photos.interior,
        imageAlt: "Interior detail",
        eyebrow: "Featured work",
        heading: "Spaces that feel considered from the first scroll",
        subheading:
          "Full-bleed storytelling for hospitality, retail, and brand launches — image first, copy where it lands hardest.",
        primaryCta: "View my work",
        primaryCtaUrl: "/work/",
        secondaryCta: "Get in touch",
        secondaryCtaUrl: "/contact/",
      },
      {
        image: photos.karla,
        imageAlt: "Portrait in soft light",
        eyebrow: "Available for freelance",
        heading: "I build websites that work as hard as you do",
        subheading:
          "Astro, React, and headless CMS for brands that need speed, clarity, and craft — without a redesign every quarter.",
        primaryCta: "Start a project",
        primaryCtaUrl: "/contact/",
        secondaryCta: "See services",
        secondaryCtaUrl: "/#services",
      },
      {
        image: photos.alexander,
        imageAlt: "Architectural study",
        eyebrow: "Performance & polish",
        heading: "Ship a polished site without rebuilding the foundations",
        subheading:
          "Composable blocks, token-driven themes, and image pipelines so every launch stays fast and on-brand.",
        primaryCta: "Browse work",
        primaryCtaUrl: "/work/",
        secondaryCta: "About",
        secondaryCtaUrl: "/about/",
      },
    ],
    overlayColor: "#000000",
    overlayOpacity: 0.45,
    contentTone: "light",
    height: "md",
    textPlacement: "center",
    textAlign: "left",
    sliderAutoplay: false,
    sliderSpeed: "normal",
    showDots: true,
    showArrows: true,
    sliderPauseOnHover: true,
    borderBottom: false,
    borderThickness: "sm",
    borderColor: "soft",
  },

Add to a page

---
import Hero17 from "@/blocks/hero/Hero17.astro";
---

<Hero17 />

Props override matching keys from config:

<Hero17
  height="lg"
  overlayOpacity={0.55}
  textPlacement="bottom"
  textAlign="center"
  sliderAutoplay
  sliderSpeed="fast"
  showArrows={false}
/>

Props

Prop Config key Type / values Default / notes
width hero17.width standard | narrow | wide Inner copy wrapper max-width
slides hero17.slides Array of slide objects (see below)
overlayColor hero17.overlayColor CSS color string Shared overlay for all slides
contentTone hero17.contentTone light | dark light = light text / CTAs on dark overlay
overlayOpacity hero17.overlayOpacity number (0–1)
height hero17.height auto | sm | md | lg | full Viewport min-height
textPlacement hero17.textPlacement top | center | bottom Vertical placement of copy
textAlign hero17.textAlign left | center | right Horizontal justification
sliderAutoplay hero17.sliderAutoplay boolean Auto-advance slides
sliderSpeed hero17.sliderSpeed slow (6s) | normal (4s) | fast (2.5s) When autoplay is on
showDots hero17.showDots boolean Pagination dots
showArrows hero17.showArrows boolean Prev / next arrows
sliderPauseOnHover hero17.sliderPauseOnHover boolean Pause autoplay on hover/focus
borderBottom hero17.borderBottom boolean
borderThickness hero17.borderThickness sm | md | lg
borderColor hero17.borderColor soft | medium | hard

Slide object

Field Type Notes
image LocalImageSource Prefer photos.*
imageAlt string
eyebrow string Optional
heading string
subheading string Optional
primaryCta / primaryCtaUrl string Optional
secondaryCta / secondaryCtaUrl string Optional

Also include: Keen Slider (keen-slider). Prefer photos.*Images. Pass real CSS colors for overlayColor (not Tailwind class names).

← Hero versions · Blocks overview · Images