Contact Info

Contact information display

Marketing BlockContact

Overview

Renders a list of contact items, each with an icon determined by its type, a label, and a value. Email and phone values are automatically wrapped in mailto: and tel: links.

Usage

import { ContactInfo } from "@leanicon/web-builder-library";

Default

All four item types: address, email, phone, and hours.

Pass socialLinks to display a row of platform links below the contact items.

Email and phone only

A minimal set with just email and phone items.

Single item

A single contact item.

With custom href

Override the auto-generated link via the href field — e.g. a mailto: with a subject or a Google Maps link for an address.

A single contact item paired with social links.

With social icons

Set showSocialIcons to render platform icons (from Lucide) instead of text labels. Supports twitter, linkedin, github, youtube, instagram, facebook, and discord.

Dark mode

Email and phone only — dark mode

Single item — dark mode

With custom href — dark mode

With social icons — dark mode

Props

Prop

Type

Default

Description

items

ContactInfoItem[]

—

Contact detail items (required)

socialLinks

SocialLink[]?

—

Optional row of social platform links

showSocialIcons

boolean

false

Render platform icons instead of text labels

colorScheme

"light" | "dark"

—

Force light or dark mode

className

string

—

Additional CSS classes on root

ContactInfoItem

Field

Type

Description

type

"address" | "email" | "phone" | "hours"

Determines the icon (MapPin, Mail, Phone, Clock)

label

string

Uppercase label above the value

value

string

Display text

href

string?

Custom link — overrides auto-generated mailto: / tel:

Field

Type

Description

platform

string

Platform name (displayed)

href

string

Link URL

label

string?

Accessible label (aria-label)

Notes

  • Email items automatically generate mailto: links; phone items generate tel: links.
  • Provide href on an item to override the auto-generated link (e.g., a custom mailto with subject or a Google Maps link for an address).
  • Social link text is capitalized via CSS when showSocialIcons is off.
  • showSocialIcons renders Lucide icons for known platforms: twitter/x, linkedin, github, youtube, instagram, facebook, discord. Unknown platforms fall back to text.
  • Dark mode: pass colorScheme="dark" or place inside a .dark ancestor.

Props

NameTypeDefaultRequiredDescription
itemsContactInfoItem[]—Yes
socialLinksSocialLink[]—No
showSocialIconsboolean—No
colorSchemeenum—No
classNamestring—No