Early research preview — this project is an experiment and may change significantly.
Bloktastic

content

Teaser Card

Card-style teaser with image, text, badge, and optional CTA button.

#card#teaser#promo#content

Storyblok Schema

json

{
  "$bloktastic": {
    "version": "1.0.0"
  },
  "name": "teaser",
  "display_name": "Teaser",
  "is_root": false,
  "is_nestable": true,
  "schema": {
    "eyebrow": {
      "type": "text",
      "pos": 0,
      "display_name": "Eyebrow"
    },
    "headline": {
      "type": "text",
      "pos": 1,
      "required": true,
      "display_name": "Headline"
    },
    "body": {
      "type": "textarea",
      "pos": 2,
      "display_name": "Body"
    },
    "image": {
      "type": "bloks",
      "pos": 3,
      "restrict_components": true,
      "component_whitelist": [
        "image"
      ],
      "maximum": 1
    },
    "cta": {
      "type": "bloks",
      "pos": 4,
      "restrict_components": true,
      "component_whitelist": [
        "button"
      ],
      "maximum": 1
    },
    "theme": {
      "type": "option",
      "pos": 5,
      "default_value": "light",
      "options": [
        {
          "name": "Light",
          "value": "light"
        },
        {
          "name": "Dark",
          "value": "dark"
        },
        {
          "name": "Gradient",
          "value": "gradient"
        }
      ]
    }
  },
  "preview_field": "headline"
}

Generation Prompt

md

# Teaser Card Component

## Purpose
Build a reusable teaser card for featured content, services, or product snippets.

## Storyblok Schema Fields
- `eyebrow` (text)
- `headline` (text, required)
- `body` (textarea)
- `image` (bloks: image)
- `cta` (bloks: button)
- `theme` (option)

## Visual Requirements
- Card with clear spacing and hierarchy.
- Optional media at top.
- CTA anchored near bottom when present.
- Hover elevation and subtle motion.

## Accessibility
- Maintain heading hierarchy.
- Ensure card remains readable in all themes.
- Provide meaningful alt text for media.

## Edge Cases
- No image: keep balanced spacing.
- No CTA: render as informational card.
- Long headline/body: avoid layout collapse.

README

md

# @bloktastic/teaser

Card-style teaser with optional image and CTA.

## Install

```bash
bloktastic add @bloktastic/teaser
```