feat(blocks): SectionGrid/InfoCard/ContactForm + Konsolidierung (Tier 1)
Neue Komponenten: SectionGrid, InfoCard (tone/compact), ArrowLink, ContactFormBlock, SectionGridBlock. CMS-Blöcke section_grid + contact_form (info_card-Collection). OrganisationsBlock: presentation "grid" (SectionGrid + InfoCard-Tiles). Kontaktformular-Submit: size md + Send-Icon. Konsolidierung Tier 1: - .card-surface + Card-Atom → rounded-lg, .chip → rounded-full, Input-Atome → rounded-md - tote .btn-*-Klassen aus app.css entfernt (Atom nutzt --color-btn-*-Tokens) - hardcoded Hex → stein-Tokens (InfoCard, ContactFormBlock) - redundante rounded-sm auf card-surface-Nutzern entfernt Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+18
-1
@@ -370,7 +370,7 @@ export interface OrganisationsBlockData {
|
||||
action?: string | { url?: string; linkName?: string; newTab?: boolean };
|
||||
description?: string;
|
||||
/** default = Karten-Grid; compact = engere Karten, Logo links; carousel = horizontaler Slider (3 Desktop / 2 Mobile) */
|
||||
presentation?: "default" | "compact" | "carousel";
|
||||
presentation?: "default" | "compact" | "carousel" | "grid";
|
||||
addOrganisationTitle?: string;
|
||||
addOrganisationMarkdown?: string;
|
||||
/** Referenz auf link-Collection (aufgelöst: url, linkName, newTab) */
|
||||
@@ -588,6 +588,8 @@ export interface InfoCardData {
|
||||
linkLabel?: string;
|
||||
linkHref?: string;
|
||||
external?: boolean;
|
||||
/** Farbton der Kachel: default (weiß) oder green (grün getönt). */
|
||||
tone?: "default" | "green";
|
||||
}
|
||||
|
||||
/** Sektions-Grid (_type: "section_grid"): SectionHeader + info_card-Kacheln. */
|
||||
@@ -607,3 +609,18 @@ export interface SectionGridBlockData {
|
||||
cards?: (string | InfoCardData)[];
|
||||
layout?: BlockLayout;
|
||||
}
|
||||
|
||||
/** Zweispaltiger Formular-Block (_type: "contact_form"): Form links, Aside rechts. */
|
||||
export interface ContactFormBlockData {
|
||||
_type?: "contact_form";
|
||||
_slug?: string;
|
||||
headline?: string;
|
||||
kicker?: string;
|
||||
number?: string;
|
||||
action?: string | { url?: string; linkName?: string; newTab?: boolean };
|
||||
form?: "form-contact" | "form-mitmachen" | "form-newsletter" | "form-newsletter-inline";
|
||||
asideTitle?: string;
|
||||
asideText?: string;
|
||||
asideCards?: (string | InfoCardData)[];
|
||||
layout?: BlockLayout;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user