List
Material Design 3 list component for displaying organized content with support for icons, avatars, and multiple line variants
List
Lists are continuous, vertical indexes of text or images. They present multiple line items in a vertical arrangement as a single connected element.
Basic Usage
Basic List
-
List Item 1
-
List Item 2
-
List Item 3
<ul class="list">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">List Item 1</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">List Item 2</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">List Item 3</span>
</div>
</li>
</ul>List Items
Simple List Items
Basic single-line list items:
Simple List Items
-
Photos
-
Videos
-
Documents
<ul class="list">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Photos</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Videos</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Documents</span>
</div>
</li>
</ul>Two-Line List Items
List items with primary and secondary text:
Two-Line List Items
-
Brunch this weekend? Ali Connors — I'll be in your neighborhood
-
Summer BBQ to Alex, Scott, Jennifer — Wish I could come
<ul class="list">
<li class="list-item list-item-two-line">
<div class="list-item-content">
<span class="list-item-text">Brunch this weekend?</span>
<span class="list-item-secondary">Ali Connors — I'll be in your neighborhood</span>
</div>
</li>
<li class="list-item list-item-two-line">
<div class="list-item-content">
<span class="list-item-text">Summer BBQ</span>
<span class="list-item-secondary">to Alex, Scott, Jennifer — Wish I could come</span>
</div>
</li>
</ul>Three-Line List Items
List items with expanded secondary text:
Three-Line List Items
-
Oui Oui Sandra Adams — Do you have Paris recommendations? Have you ever been? I'm looking for ideas for our upcoming trip.
-
Birthday Gift Trevor Hansen — Have any ideas about what we should get for the party? I was thinking about getting a board game.
<ul class="list">
<li class="list-item list-item-three-line">
<div class="list-item-content">
<span class="list-item-text">Oui Oui</span>
<span class="list-item-secondary">Sandra Adams — Do you have Paris recommendations? Have you ever been? I'm looking for ideas for our upcoming trip.</span>
</div>
</li>
<li class="list-item list-item-three-line">
<div class="list-item-content">
<span class="list-item-text">Birthday Gift</span>
<span class="list-item-secondary">Trevor Hansen — Have any ideas about what we should get for the party? I was thinking about getting a board game.</span>
</div>
</li>
</ul>Interactive Lists
Clickable List Items
Add hover and active states to list items:
Clickable List Items
-
Inbox
-
Starred
-
Sent Mail
<ul class="list">
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Inbox</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Starred</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Sent Mail</span>
</div>
</li>
</ul>Selected List Items
Show selected state with primary color:
Selected List Items
-
Inbox
-
Starred
-
Sent Mail
<ul class="list">
<li class="list-item list-item-interactive list-item-active">
<div class="list-item-content">
<span class="list-item-text">Inbox</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Starred</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Sent Mail</span>
</div>
</li>
</ul>Active State Variants
Use different color schemes for selected items:
Active State Variants
<!-- Primary active state (default) -->
<li class="list-item list-item-interactive list-item-active-primary">
<div class="list-item-content">
<span class="list-item-text">Primary Selected</span>
</div>
</li>
<!-- Secondary active state -->
<li class="list-item list-item-interactive list-item-active-secondary">
<div class="list-item-content">
<span class="list-item-text">Secondary Selected</span>
</div>
</li>
<!-- Tertiary active state -->
<li class="list-item list-item-interactive list-item-active-tertiary">
<div class="list-item-content">
<span class="list-item-text">Tertiary Selected</span>
</div>
</li>List Items with Icons
Leading Icons
Add icons to the start of list items:
List Items with Leading Icons
-
Inbox
-
Starred
-
Sent
<ul class="list">
<li class="list-item list-item-interactive">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Inbox</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Starred</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Sent</span>
</div>
</li>
</ul>Trailing Icons
Add icons or actions to the end of list items:
List Items with Trailing Icons
-
Notifications
-
Privacy
<ul class="list">
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Notifications</span>
</div>
<div class="list-item-trailing">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Privacy</span>
</div>
<div class="list-item-trailing">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
</svg>
</div>
</li>
</ul>Both Leading and Trailing Elements
Combine leading and trailing elements:
Leading and Trailing Elements
-
Brunch this weekend? Ali Connors10:30 AM
<ul class="list">
<li class="list-item list-item-interactive list-item-two-line">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Brunch this weekend?</span>
<span class="list-item-secondary">Ali Connors</span>
</div>
<div class="list-item-trailing">
<span class="text-xs text-on-surface-variant">10:30 AM</span>
</div>
</li>
</ul>List Items with Avatars
Use avatars for user-centric lists:
List Items with Avatars
-
Ali Connors Brunch this weekend?
-
Jennifer Smith Dinner reservations
<ul class="list">
<li class="list-item list-item-interactive list-item-two-line">
<div class="list-item-leading">
<img src="https://picsum.photos/seed/ali/80/80" alt="Ali Connors" class="w-10 h-10 rounded-full">
</div>
<div class="list-item-content">
<span class="list-item-text">Ali Connors</span>
<span class="list-item-secondary">Brunch this weekend?</span>
</div>
</li>
<li class="list-item list-item-interactive list-item-two-line">
<div class="list-item-leading">
<img src="https://picsum.photos/seed/jennifer/80/80" alt="Jennifer Smith" class="w-10 h-10 rounded-full">
</div>
<div class="list-item-content">
<span class="list-item-text">Jennifer Smith</span>
<span class="list-item-secondary">Dinner reservations</span>
</div>
</li>
</ul>List Dividers
Standard Dividers
Separate list items with dividers:
Standard Dividers
-
Item 1
-
Item 2
-
Item 3
<ul class="list">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Item 1</span>
</div>
</li>
<hr class="list-divider">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Item 2</span>
</div>
</li>
<hr class="list-divider">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Item 3</span>
</div>
</li>
</ul>Inset Dividers
Use inset dividers for lists with leading elements:
Inset Dividers
-
John Doe
-
Jane Smith
<ul class="list">
<li class="list-item">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">John Doe</span>
</div>
</li>
<hr class="list-divider list-divider-inset">
<li class="list-item">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Jane Smith</span>
</div>
</li>
</ul>List Subheaders
Organize lists with subheaders:
List Subheaders
-
Meeting with team 10:00 AM - 11:00 AM
-
Lunch break 12:00 PM - 1:00 PM
-
Project review 9:00 AM - 10:00 AM
<ul class="list">
<div class="list-subheader">Today</div>
<li class="list-item list-item-two-line">
<div class="list-item-content">
<span class="list-item-text">Meeting with team</span>
<span class="list-item-secondary">10:00 AM - 11:00 AM</span>
</div>
</li>
<li class="list-item list-item-two-line">
<div class="list-item-content">
<span class="list-item-text">Lunch break</span>
<span class="list-item-secondary">12:00 PM - 1:00 PM</span>
</div>
</li>
<div class="list-subheader">Tomorrow</div>
<li class="list-item list-item-two-line">
<div class="list-item-content">
<span class="list-item-text">Project review</span>
<span class="list-item-secondary">9:00 AM - 10:00 AM</span>
</div>
</li>
</ul>List Density
Compact Lists
More condensed spacing for data-dense interfaces:
Compact Lists
-
Compact Item 1
-
Compact Item 2
<ul class="list list-compact">
<li class="list-item">
<div class="list-item-leading">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Compact Item 1</span>
</div>
</li>
<li class="list-item">
<div class="list-item-leading">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Compact Item 2</span>
</div>
</li>
</ul>Comfortable Lists
More spacious for better readability:
Comfortable Lists
-
Documents
-
Images
<ul class="list list-comfortable">
<li class="list-item">
<div class="list-item-leading">
<svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Documents</span>
</div>
</li>
<li class="list-item">
<div class="list-item-leading">
<svg class="w-7 h-7" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Images</span>
</div>
</li>
</ul>Surface Variants
Container Surfaces
Apply different surface elevations:
Container Surfaces
-
Default Surface
-
Container Surface
-
Container Low Surface
-
Container High Surface
<!-- Default surface -->
<ul class="list">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Default Surface</span>
</div>
</li>
</ul>
<!-- Surface container -->
<ul class="list list-surface-container">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Container Surface</span>
</div>
</li>
</ul>
<!-- Surface container low -->
<ul class="list list-surface-container-low">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Container Low Surface</span>
</div>
</li>
</ul>
<!-- Surface container high -->
<ul class="list list-surface-container-high">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Container High Surface</span>
</div>
</li>
</ul>Bordered Lists
Add borders to lists:
Bordered Lists
-
Bordered Item 1
-
Bordered Item 2
-
Bordered Item 3
<ul class="list list-bordered">
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Bordered Item 1</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Bordered Item 2</span>
</div>
</li>
<li class="list-item">
<div class="list-item-content">
<span class="list-item-text">Bordered Item 3</span>
</div>
</li>
</ul>Nested Lists
Create hierarchical list structures:
Nested Lists
-
Projects
-
Website Redesign
-
Mobile App
-
Team
<ul class="list">
<li class="list-item list-item-interactive">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Projects</span>
</div>
</li>
<ul class="list list-nested">
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Website Redesign</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Mobile App</span>
</div>
</li>
</ul>
<li class="list-item list-item-interactive">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Team</span>
</div>
</li>
</ul>Disabled State
Disable interaction with list items:
Disabled List Items
-
Available Item
-
Disabled Item
-
Available Item
<ul class="list">
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Available Item</span>
</div>
</li>
<li class="list-item list-item-disabled">
<div class="list-item-content">
<span class="list-item-text">Disabled Item</span>
</div>
</li>
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Available Item</span>
</div>
</li>
</ul>Best Practices
Content Organization
- Use subheaders to group related list items
- Keep list item text concise and scannable
- Use two-line and three-line variants for additional context
- Place the most important information in the primary text
Visual Hierarchy
Visual Hierarchy Best Practice
-
Featured Item This is the active selection
-
Standard Item
-
Unavailable Item
<ul class="list">
<!-- Important item with icon and active state -->
<li class="list-item list-item-interactive list-item-active list-item-two-line">
<div class="list-item-leading">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z" />
</svg>
</div>
<div class="list-item-content">
<span class="list-item-text">Featured Item</span>
<span class="list-item-secondary">This is the active selection</span>
</div>
</li>
<!-- Standard items -->
<li class="list-item list-item-interactive">
<div class="list-item-content">
<span class="list-item-text">Standard Item</span>
</div>
</li>
<!-- Disabled/unavailable item -->
<li class="list-item list-item-disabled">
<div class="list-item-content">
<span class="list-item-text">Unavailable Item</span>
</div>
</li>
</ul>Accessibility
- Use semantic HTML (
<ul>,<li>) for proper structure - Provide meaningful alt text for avatars and images
- Ensure interactive items are keyboard accessible
- Use
aria-labelfor icon-only actions
Accessible List Example
-
John Doe Online
<ul class="list" role="list">
<li class="list-item list-item-interactive" role="listitem">
<div class="list-item-leading">
<img src="https://picsum.photos/seed/profile/80/80" alt="User profile picture" class="w-10 h-10 rounded-full">
</div>
<div class="list-item-content">
<span class="list-item-text">John Doe</span>
<span class="list-item-secondary">Online</span>
</div>
<div class="list-item-trailing">
<button class="btn btn-icon btn-icon-sm" aria-label="More options">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" />
</svg>
</button>
</div>
</li>
</ul>Touch Targets
Ensure list items are large enough for touch interaction:
- Default list items: 48px minimum height
- Two-line items: 64px minimum height
- Three-line items: 88px minimum height
- Use
.list-comfortablefor more generous touch targets
Framework Examples
React
interface ListItemProps {
primary: string;
secondary?: string;
icon?: React.ReactNode;
avatar?: string;
active?: boolean;
interactive?: boolean;
onClick?: () => void;
}
export function ListItem({
primary,
secondary,
icon,
avatar,
active = false,
interactive = false,
onClick
}: ListItemProps) {
const classes = [
'list-item',
secondary && 'list-item-two-line',
interactive && 'list-item-interactive',
active && 'list-item-active'
].filter(Boolean).join(' ');
return (
<li className={classes} onClick={onClick}>
{(icon || avatar) && (
<div className="list-item-leading">
{avatar ? (
<img src={avatar} alt="" className="w-10 h-10 rounded-full" />
) : icon}
</div>
)}
<div className="list-item-content">
<span className="list-item-text">{primary}</span>
{secondary && (
<span className="list-item-secondary">{secondary}</span>
)}
</div>
</li>
);
}
// Usage
<ul className="list">
<ListItem
primary="Inbox"
secondary="5 new messages"
icon={<InboxIcon />}
interactive
active
/>
<ListItem
primary="Starred"
icon={<StarIcon />}
interactive
/>
</ul>
Vue
<template>
<li :class="classes" @click="onClick">
<div v-if="icon || avatar" class="list-item-leading">
<img v-if="avatar" :src="avatar" alt="" class="w-10 h-10 rounded-full" />
<slot v-else name="icon"></slot>
</div>
<div class="list-item-content">
<span class="list-item-text">{{ primary }}</span>
<span v-if="secondary" class="list-item-secondary">{{ secondary }}</span>
</div>
<div v-if="$slots.trailing" class="list-item-trailing">
<slot name="trailing"></slot>
</div>
</li>
</template>
<script setup>
import { computed } from 'vue';
const props = defineProps({
primary: String,
secondary: String,
avatar: String,
active: Boolean,
interactive: Boolean
});
const emit = defineEmits(['click']);
const classes = computed(() => [
'list-item',
props.secondary && 'list-item-two-line',
props.interactive && 'list-item-interactive',
props.active && 'list-item-active'
].filter(Boolean).join(' '));
const onClick = () => {
if (props.interactive) {
emit('click');
}
};
</script>
<!-- Usage -->
<ul class="list">
<ListItem
primary="Inbox"
secondary="5 new messages"
:interactive="true"
:active="true"
>
<template #icon>
<InboxIcon />
</template>
</ListItem>
</ul>
API Reference
Class Names
| Class | Description |
|---|---|
.list | Base list container (required) |
.list-item | Base list item (required) |
.list-item-content | Content wrapper for text |
.list-item-text | Primary text content |
.list-item-secondary | Secondary/supporting text |
.list-item-leading | Leading element (icon, avatar) |
.list-item-trailing | Trailing element (icon, action) |
.list-item-interactive | Adds hover/active states |
.list-item-active | Active/selected state (primary) |
.list-item-active-primary | Active state with primary color |
.list-item-active-secondary | Active state with secondary color |
.list-item-active-tertiary | Active state with tertiary color |
.list-item-two-line | Two-line list item variant |
.list-item-three-line | Three-line list item variant |
.list-divider | Horizontal divider line |
.list-divider-inset | Inset divider (with leading element) |
.list-subheader | Section subheader |
.list-compact | Compact density variant |
.list-comfortable | Comfortable density variant |
.list-surface-container | Container surface elevation |
.list-surface-container-low | Low container surface |
.list-surface-container-high | High container surface |
.list-bordered | Add border to list |
.list-nested | Nested/indented list |
.list-item-disabled | Disabled list item |
CSS Custom Properties
Lists use the Material Design 3 color tokens:
--color-surface- List background--color-on-surface- List item text--color-on-surface-variant- Secondary text--color-outline-variant- Divider color--color-primary-container- Active item background--color-on-primary-container- Active item text--color-secondary-container- Secondary active background--color-tertiary-container- Tertiary active background