@wendermedia/astro-components npm Paket mit 150 Komponenten, Terminal und Storybook
10 min read

astro-components v2.0 — 150 Komponenten auf npm

#Astro #npm #Open Source #Component Library #Storybook #Design System

Heute habe ich @wendermedia/astro-components v2.0 als öffentliches npm-Paket veröffentlicht. Die Library enthält 150 Astro-Komponenten in 17 Kategorien — von Accessibility-Werkzeugen über SEO-Komponenten bis hin zu kompletten Seitenabschnitten. Alles mit CSS Custom Properties, ohne externe Abhängigkeiten, DSGVO-konform.

150
Komponenten
17
Kategorien
549
Storybook Stories
0
Externe Abhängigkeiten

Nicht glauben — anschauen

Wer Komponentenbibliotheken evaluiert, will keine Bullet-Listen. Man will sehen, wie die Komponenten tatsächlich aussehen und sich verhalten.

Genau dafür gibt es das Live-Storybook: wm-astro-components.netlify.app

549 Stories — jede Komponente mit interaktiven Controls, verschiedenen Zuständen und Varianten. Accessibility-Checks sind direkt integriert. Keine lokale Installation nötig, keine Registrierung. Einfach öffnen und durchklicken.

Was ist drin?

Die 17 Kategorien decken ab, was man für eine vollständige Astro-Website braucht:

Accessibility (12)

SkipLinks, FocusTrap, FontResizer, ThemeToggle, AccessibilityToolbar, TextToSpeech, LiveRegion — alles für BFSG 2025.

SEO (8)

Meta-Tags, JSON-LD, OpenGraph, TwitterCard, Hreflang, Canonical, RichSnippets — strukturierte Daten für jede Seite.

Sections (68)

Hero, CTA, Pricing, FAQ, Team, Testimonials, Timeline, Awards, Blog, Contact — fertige Seitenabschnitte.

UI (19)

Accordion, Modal, Tabs, Toast, Tooltip, CommandPalette, Drawer, Dropdown — interaktive Elemente ohne Runtime.

Layouts (15)

Bento, Magazine, Dashboard, Portfolio, Newspaper, Split, Landing, Docs — komplette Seitentemplates.

E-Commerce (5)

ProductCard, Cart, Wishlist, QuickView, AddToCart — Shopping-Bausteine ohne Framework-Lock-in.

Navigation (4)

Breadcrumbs, MobileNav, Pagination, Sidebar — alle mit Keyboard-Support und ARIA.

Maps (2)

GoogleMap und OpenStreetMap — DSGVO-konform mit Zwei-Klick-Consent.

Media (3)

VideoPlayer, AudioPlayer, ImageGallery — Lazy Loading und Consent-Gates integriert.

Dazu kommen Forms, Content-Utilities, Social-Komponenten, ein Design-System-Provider, optimierte Bildkomponenten und eine Gallery mit Before/After-Slider.

Diese Library vs. Alternativen

Bevor man sich für eine Komponentenbibliothek entscheidet, lohnt der Vergleich. Hier die drei gängigsten Ansätze:

Kriterium @wendermedia/astro-components Recommended Alles selbst bauen Andere Astro-Libraries
Komponenten 150 fertig getestet Unbegrenzt, aber Eigenaufwand Variiert (10–50 typisch)
Setup-Zeit < 2 Minuten Wochen bis Monate 5–15 Minuten
Accessibility BFSG 2025 / WCAG 2.2 AA Muss selbst implementiert werden Teilweise
SEO-Komponenten 8 dedizierte (JSON-LD, OG, etc.) Manuell pro Seite Selten enthalten
Design Tokens Vollständiges Token-System Eigenes System nötig Meist Tailwind-abhängig
Externe Abhängigkeiten 0 0 (wenn konsequent) React/Preact oft nötig
Storybook-Dokumentation 549 Stories live Muss selbst aufgesetzt werden Selten vorhanden
DSGVO-konform Ja, Consent-Gates integriert Muss selbst implementiert werden Selten berücksichtigt
Lizenz MIT (Copyright erhalten) Variiert

Schnellstart: Installation und erste Komponente

In zwei Minuten von null auf eine funktionierende Seite mit SEO, Accessibility und Design System:

Von npm install zur fertigen Seite

  1. Paket installieren

    npm install @wendermedia/astro-components — ein Befehl, keine weiteren Abhängigkeiten.

  2. Komponenten importieren

    Jede Kategorie hat einen eigenen Import-Pfad. Nur laden, was gebraucht wird.

  3. In die Seite einbauen

    Komponenten wie gewohnt in Astro-Templates verwenden. Props übergeben, fertig.

  4. Design anpassen

    CSS Custom Properties überschreiben oder den DesignSystemProvider nutzen.

Import-Beispiele nach Kategorie

Je nach Projekttyp braucht man unterschiedliche Kategorien. Hier drei typische Setups:

---
// Seitenabschnitte und Layout-Komponenten
import { Hero, Features, FAQ, CTA, Pricing } from '@wendermedia/astro-components/sections';
import { Testimonials, Team, Timeline } from '@wendermedia/astro-components/sections';
import { BentoLayout, MagazineLayout } from '@wendermedia/astro-components/layouts';
import { Header, Footer } from '@wendermedia/astro-components/layout';
---

<Header />
<Hero title="Willkommen" subtitle="Untertitel" />
<Features features={[{ title: 'Schnell', description: 'Zero JS.' }]} />
<FAQ items={[{ question: 'Frage?', answer: 'Antwort.' }]} />
<Footer />
---
// SEO-Komponenten für strukturierte Daten
import { SEO } from '@wendermedia/astro-components/seo';
import { JsonLd } from '@wendermedia/astro-components/seo';
import { OpenGraph } from '@wendermedia/astro-components/seo';
import { Hreflang } from '@wendermedia/astro-components/seo';
import { Canonical } from '@wendermedia/astro-components/seo';
---

<SEO title="Meine Seite" description="Beschreibung" />
<JsonLd type="LocalBusiness" data={{
  name: 'Firmenname',
  address: { street: 'Straße 1', city: 'Stadt' }
}} />
<Hreflang alternates={[
  { lang: 'de', href: '/de/' },
  { lang: 'en', href: '/en/' },
]} />
---
// Barrierefreiheit / BFSG 2025
import { SkipLinks } from '@wendermedia/astro-components/accessibility';
import { FocusTrap } from '@wendermedia/astro-components/accessibility';
import { AccessibilityToolbar } from '@wendermedia/astro-components/accessibility';
import { FontResizer } from '@wendermedia/astro-components/accessibility';
import { ThemeToggle } from '@wendermedia/astro-components/accessibility';
import { TextToSpeech } from '@wendermedia/astro-components/accessibility';
import { LiveRegion } from '@wendermedia/astro-components/accessibility';
---

<SkipLinks />
<AccessibilityToolbar position="right" />
<FontResizer />
<ThemeToggle />
<TextToSpeech selector="article" />
<LiveRegion politeness="polite" />

Warum Open Source?

Diese Komponenten sind über 187 Projekte hinweg entstanden und getestet. Sie laufen auf Websites, Prototypen, Landing Pages und E-Commerce-Shops. Irgendwann macht es keinen Sinn mehr, das nur intern zu halten.

Open Source bedeutet hier nicht “Community-Projekt mit Issues und Pull Requests” — es bedeutet: Die Library ist öffentlich verfügbar, der Quellcode ist einsehbar, und Projekte können darauf aufbauen.

CLI-Tool inklusive

Das Paket enthält ein CLI-Tool zum Scaffolden neuer Projekte:

npx create-wm-component

Acht Templates stehen zur Auswahl: Blog, E-Commerce, Landing Page, Portfolio, Corporate, Docs, SaaS und Affiliate. Jedes Template setzt die richtigen Komponenten, Layouts und Design Tokens auf.

Design System als Basis

Alle 150 Komponenten nutzen dasselbe Token-System: CSS Custom Properties für Farben, Typografie, Abstände, Schatten und Radien. Ein DesignSystemProvider in der design-system-Kategorie liefert die Basis-Tokens. Eigene Werte überschreiben die Defaults — das Branding bleibt konsistent.

---
import { DesignSystemProvider } from '@wendermedia/astro-components/design-system';
---

<DesignSystemProvider
  primaryColor="#2563eb"
  fontFamily="Inter, sans-serif"
  borderRadius="0.5rem"
/>

Wer lieber direkt CSS schreibt, kann die Tokens auch manuell in einer globalen CSS-Datei setzen:

:root {
  --color-primary-500: #2563eb;
  --font-family-body: 'Inter', sans-serif;
  --radius-md: 0.5rem;
}

Häufig gestellte Fragen

FAQ zur Library

Was kommt als Nächstes?

Die Library ist stabil und production-ready. Geplant sind:

  • Framework-Integrationen: React-, Vue-, Svelte- und Solid-Wrapper existieren bereits im integrations/-Ordner
  • Storybook-Erweiterung: Weitere Stories und Varianten für Edge Cases
  • Design Token Presets: Vordefinierte Themes für verschiedene Branchen

Der Quellcode, das npm-Paket und das Storybook: