Team
Showcase team members to build trust and authority
Use the Team
component to display team members with details like names, roles, bios, and social links.






---import { Card } from 'webcoreui/astro'
import Team from '@blocks/Team.astro'
const members = [ { img: 'img/alice.png', name: 'Alice Johnson', role: 'Frontend Developer', description: 'Alice is our creative frontend developer.', socials: [ 'https://linkedin.com/', 'https://github.com/' ] }, { ... }]---
<Card title="Preview" secondary={true}> <Team members={members} /></Card>
The Team
component expects a members
property that defines team members. Each member
object can have the above properties. The component will display members in a 3-column layout by default. This can be configured using the columns
prop. Social links are displayed with social icons. See the documentation of the Socials
component for supported platforms.
No Avatars
Only the name
property is required. If no img
is provided, a fallback icon will be rendered:
---const members = [ { name: 'Alice Johnson' }, { ... }]---
<Team members={members} />
Custom Avatars
You can customize avatar images by specifying an avatar
prop with one of the following properties:
size
: Sets the size of the image.lazy
: Enables lazy loading.borderColor
: Sets a border color for the image.






<Team members={members} avatar={{ borderColor: 'var(--w-color-info)' }}/>
Customizing Columns
The Team
component is rendered with a 3 column layout. You can customize this through the className
property by passing additional CSS, or simply set the columns
property:






<Team members={members} columns={2}/>
The component is responsive, it’s displayed as a single column for small devices. If the column
property is set to greater than 1, it’ll only apply to devices above sm
. If the column
property is greater than 2, it’ll only apply to devices above md
.
API
type TeamProps = { members: { img?: string name: string role?: string description?: string socials?: string[] }[] avatar?: Pick<AvatarProps, 'size' | 'lazy' | 'borderColor'> columns?: 1 | 2 | 3 | 4, className?: string} & Pick<CardProps, 'compact' | 'secondary'>
Prop | Purpose |
---|---|
members.img | Sets an avatar for the team member. |
members.name | Sets the name of the team member. |
members.role | Sets the role of the team member. |
members.description | Sets a short description about the team member. Supports HTML tags. |
members.socials | Sets a list of social links for the team member. |
avatar | Sets the size, loading, or border of images. |
columns | Sets the number of columns. Defaults to 3. |
className | Pass additional CSS classes for your section. |