Zum Inhalt springen
UI Kit
Accent

Kontaktformulare und Kontakt-Sections

Formulare mit Prüfung, Kanäle, Karte, Terminbuchung, Öffnungszeiten, Hilfecenter und Vertriebsformular.

8 Variants
Kategorie wechseln

Formular, Karte oder Öffnungszeiten

Im Kontaktbereich wird aus Interesse ein Gespräch. Die acht Varianten hier bringen Formulare mit echter Validierung und Fehlern als Text neben jedem Feld, so bleibt niemand an einem roten Rahmen hängen, ohne zu wissen, warum.

„Geteilt mit Formular“ ist der Standard, mit dem Formular auf der einen und den Kontaktwegen auf der anderen Seite. Kanalkarten passen zu Firmen mit mehreren Teams. Standortkarte und Öffnungszeiten eignen sich für Läden, Praxen und Restaurants, die Terminbuchung lässt direkt einen Termin wählen. Das Hilfecenter lenkt Fragen zuerst zu Hilfeartikeln, der Vertriebskontakt fragt die wenigen Felder ab, die ein Vertrieb braucht.

Frag nur ab, was du für die Antwort brauchst, oft reichen Name, E-Mail und Nachricht. Sag, wie schnell du antwortest. Das Formular sendet nicht von selbst, du gibst dein eigenes onSubmit mit, damit läuft es mit jedem Backend, Formulardienst oder jeder Server Action.

Kontakt

Geteilt mit Formular

Kontaktwege links, ein geprüftes Formular rechts.

Im Studio öffnen

Kanalkarten

Eine Karte je Team mit Adresse und Antwortzeit.

Im Studio öffnen

Standortkarte

Eine breite Karte mit Adresse, heutigem Status und Anfahrt in einer Karte.

Im Studio öffnen

Terminbuchung

Tage und Uhrzeiten als echte Auswahlknöpfe, die Wahl erscheint daneben.

Im Studio öffnen

Minimal

Eine große E-Mail-Adresse zum Kopieren, drei ruhige Wege daneben.

Im Studio öffnen

Öffnungszeiten

Die Woche auf einen Blick, heute hervorgehoben und ein Hinweis, ob gerade offen ist.

Im Studio öffnen

Hilfecenter

Zuerst suchen, dann Themen, dann Menschen. Mit Statuszeile.

Im Studio öffnen

Vertriebskontakt

Was als Nächstes passiert, eine Kundenstimme und ein kurzes Formular mit Teamgröße.

Im Studio öffnen

Details

Was Kontakt mitbringt, aus Registry und Quellcode gelesen.

Bereich
Content
Variants
8
Version
1.0.0 · seit 1.0.0
Datei
components/ui/contact.tsx
Bringt mit
utilskitbuttonbadgeiconsectionreveal
npm-Pakete
Keine
Sprachen
Englisch und Deutsch, 47 eigene Texte

Props

Die Schnittstelle ContactProps aus components/ui/contact.tsx. Beschreibungen stammen aus den Kommentaren im Code und sind auf Englisch.

  • variantoptional
    ContactVariant

    split-formchannel-cardslocation-mapbookingminimalopening-hourssupport-centersales-contact

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • channelsoptional
    ContactChannel[]
  • topicsoptional
    string[]

    Options for the topic select (split-form)

  • mapoptional
    React.ReactNode

    Map or picture for location-map and opening-hours

  • addressoptional
    { label?: string; lines: string[]; directionsHref?: string; phone?: string }
  • hoursoptional
    ContactHours[]

    Monday first

  • hoursNoteoptional
    string
  • daysoptional
    ContactDay[]

    Booking: free days and times

  • meetingoptional
    { title: string; duration: number; text?: string; person?: ContactPerson }

    Booking: what is being booked

  • emailoptional
    string

    minimal

  • phoneoptional
    string
  • helpTopicsoptional
    ContactTopic[]

    support-center

  • popularSearchesoptional
    string[]
  • teamSizesoptional
    string[]

    sales-contact

  • expectationsoptional
    string[]
  • quoteoptional
    { text: string; person: ContactPerson }
  • logosoptional
    React.ReactNode[]
  • onSubmitoptional
    (data: FormData) => void | Promise<void>

    Called with the form data. Without it the form shows its success state right away.

Eingebaute Texte

Diese Texte schreibt Kontakt selbst. Die Sprache folgt dem KitProvider, über die Prop labels ersetzt du einzelne.

Alle 47 Texte anzeigen
nameEnglisch NameDeutsch Name
firstNameEnglisch First nameDeutsch Vorname
lastNameEnglisch Last nameDeutsch Nachname
emailEnglisch EmailDeutsch E-Mail
workEmailEnglisch Work emailDeutsch Geschäftliche E-Mail
companyEnglisch CompanyDeutsch Firma
optionalEnglisch optionalDeutsch optional
topicEnglisch TopicDeutsch Thema
messageEnglisch MessageDeutsch Nachricht
messagePlaceholderEnglisch What can we help with?Deutsch Wobei können wir helfen?
consentEnglisch I agree that my details are used to answer this request.Deutsch Ich bin einverstanden, dass meine Angaben zur Beantwortung genutzt werden.
sendEnglisch Send messageDeutsch Nachricht senden
sendingEnglisch SendingDeutsch Wird gesendet
requiredEnglisch Please fill in this field.Deutsch Bitte fülle dieses Feld aus.
invalidEmailEnglisch Please enter a valid email address.Deutsch Bitte gib eine gültige E-Mail-Adresse ein.
consentRequiredEnglisch Please agree so we can answer you.Deutsch Bitte stimme zu, damit wir dir antworten können.
successTitleEnglisch Thank you, your message is on its wayDeutsch Danke, deine Nachricht ist unterwegs
successTextEnglisch We reply within one working day. A copy is in your inbox.Deutsch Wir antworten innerhalb eines Werktags. Eine Kopie liegt in deinem Postfach.
againEnglisch Write another messageDeutsch Weitere Nachricht schreiben
openEnglisch Open nowDeutsch Jetzt geöffnet
closedEnglisch Closed nowDeutsch Jetzt geschlossen
closedDayEnglisch ClosedDeutsch Geschlossen
todayEnglisch TodayDeutsch Heute
directionsEnglisch Get directionsDeutsch Route planen
callEnglisch CallDeutsch Anrufen
copyEnglisch CopyDeutsch Kopieren
copiedEnglisch CopiedDeutsch Kopiert
pickDayEnglisch Pick a dayDeutsch Tag wählen
pickTimeEnglisch Pick a timeDeutsch Uhrzeit wählen
noSlotsEnglisch Fully bookedDeutsch Ausgebucht
bookEnglisch Book this timeDeutsch Diesen Termin buchen
bookedEnglisch You are bookedDeutsch Dein Termin steht
bookedTextEnglisch A calendar invitation for {when} is on its way to your inbox.Deutsch Eine Kalendereinladung für {when} ist auf dem Weg in dein Postfach.
selectedEnglisch {day} at {time}Deutsch {day} um {time} Uhr
chooseEnglisch Choose a day and a timeDeutsch Wähle einen Tag und eine Uhrzeit
durationEnglisch {n} minDeutsch {n} Min.
videoEnglisch Video callDeutsch Videoanruf
searchEnglisch Search the help centerDeutsch Hilfe durchsuchen
searchPlaceholderEnglisch Search for answersDeutsch Nach Antworten suchen
popularEnglisch PopularDeutsch Beliebt
articlesEnglisch {n} articlesDeutsch {n} Artikel
statusEnglisch All systems runningDeutsch Alle Systeme laufen
teamSizeEnglisch Team sizeDeutsch Teamgröße
talkToSalesEnglisch Talk to salesDeutsch Mit dem Vertrieb sprechen
expectEnglisch What to expectDeutsch Was dich erwartet
weekdaysEnglisch Sun,Mon,Tue,Wed,Thu,Fri,SatDeutsch So,Mo,Di,Mi,Do,Fr,Sa
monthsEnglisch Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,DecDeutsch Jan.,Feb.,März,Apr.,Mai,Juni,Juli,Aug.,Sept.,Okt.,Nov.,Dez.

Barrierefreiheit

Aus dem Quellcode der Component abgeleitet.

  • Setzt aria-describedby, aria-invalid und aria-live, damit Screenreader Zweck und Zustand ansagen.
  • Nutzt die Rollen search und status.
  • Meldet Änderungen über eine Live-Region, ohne den Fokus zu verschieben.
  • Jedes Feld hat ein Label, sichtbar oder für Screenreader.
  • Ergänzt Text für Screenreader, wo Icons und Grafiken allein stehen.
  • Zeigt bei Bedienung mit der Tastatur einen sichtbaren Fokusring.
  • Der Server rendert den Startzustand vollständig, JavaScript ergänzt nur die Interaktion.

Bewegung

  • Erscheint beim ersten Sichtkontakt mit einem kurzen Auftritt (kit-rise, useInView).
  • Bringt eigene Animationen mit, ruhig getaktet und ohne Wackeln.
  • Bei reduzierter Bewegung (prefers-reduced-motion) bleibt sie ruhig. 8 Stellen im Code schalten Bewegung dann ab.

Häufige Fragen

Wie installiere ich Kontakt?

Mit aiw add @ai-website/contact. Der Befehl legt die Datei components/ui/contact.tsx in dein Projekt, der Code gehört danach dir. Mit dabei sind button, badge, icon, section und reveal. Weitere npm-Pakete braucht sie nicht.

Welche Varianten hat Kontakt?

8 Varianten, Geteilt mit Formular, Kanalkarten, Standortkarte, Terminbuchung, Minimal, Öffnungszeiten, Hilfecenter und Vertriebskontakt. Du wählst sie mit der Prop variant, zum Beispiel variant="channel-cards".

Kann ich die Texte von Kontakt übersetzen?

Ja. Kontakt bringt 47 eigene Texte auf Deutsch und Englisch mit, etwa „Name“, „Vorname“ und „Nachname“. Die Sprache folgt dem KitProvider, einzelne Texte ersetzt du über die Prop labels.

Kann ein KI-Assistent Kontakt einbauen?

Ja. Über den MCP-Server der aiw CLI finden Claude, Cursor, GitHub Copilot, Windsurf, Codex und Gemini Kontakt mit aiw_components und installieren sie mit aiw_add @ai-website/contact. Nenn im Prompt die Variante, etwa variant="split-form", dann schreibt der Assistent deine Inhalte direkt in die Props.

Kann ich Kontakt ohne Code anpassen?

Ja, im Studio. Alle 8 Varianten lassen sich dort bearbeiten, Texte, Listen und Schalter. Das Studio schreibt den passenden Contact-Code zum Kopieren.

Oft gesucht

Direkt zu

In die Zwischenablage kopiert