List Group

Bootstrap 5 List Group component

Responsive list groups built with the latest Bootstrap 5. List groups are responsive components for displaying a series of content. A beautiful alternative to unordered lists.

List groups are a flexible and powerful component for displaying a series of content. Modify and extend them to support just about any content within.

Note: Read the API tab to find all available options and advanced customization

Required ES init: Tab *
* UMD autoinits are enabled by default. This means that you don't need to initialize the component manually. However if you are using MDBootstrap ES format then you should pass the required components to the initMDB method.

Basic example

The most basic list group is an unordered list with list items and the proper classes. Build upon it with the options that follow, or with your own CSS as needed.

  • An item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
        
            
          <ul class="list-group list-group-light">
            <li class="list-group-item">An item</li>
            <li class="list-group-item">A second item</li>
            <li class="list-group-item">A third item</li>
            <li class="list-group-item">A fourth item</li>
            <li class="list-group-item">And a fifth one</li>
          </ul>
          
        
    

Small

If you need a more compact list, add a class .list-group-small which will reduce the padding of the items in the list.

  • An item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
        
            
  
            <ul class="list-group list-group-light list-group-small">
              <li class="list-group-item">An item</li>
              <li class="list-group-item">A second item</li>
              <li class="list-group-item">A third item</li>
              <li class="list-group-item">A fourth item</li>
              <li class="list-group-item">And a fifth one</li>
            </ul>
  
            
        
    

Active items

Add .active to a .list-group-item to indicate the current active selection. You also need to add extra padding with spacing classes to keep the text from sticking to the edge of the list and .border-0 to remove borders between items.

  • An active item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
        
            
          <ul class="list-group list-group-light">
            <li class="list-group-item px-3 border-0 active" aria-current="true">
              An active item
            </li>
            <li class="list-group-item px-3 border-0">A second item</li>
            <li class="list-group-item px-3 border-0">A third item</li>
            <li class="list-group-item px-3 border-0">A fourth item</li>
            <li class="list-group-item px-3 border-0">And a fifth one</li>
          </ul>
          
        
    

Disabled items

Add .disabled to a .list-group-item to make it appear disabled. Note that some elements with .disabled will also require custom JavaScript to fully disable their click events (e.g., links).

  • An disabled item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
        
            
            <ul class="list-group list-group-light">
              <li class="list-group-item disabled" aria-disabled="true">An disabled item</li>
              <li class="list-group-item">A second item</li>
              <li class="list-group-item">A third item</li>
              <li class="list-group-item">A fourth item</li>
              <li class="list-group-item">And a fifth one</li>
            </ul>
          
        
    


No borders

Add .border-0 to the items to remove all the borders.

  • An item
  • A second item
  • A third item
  • A fourth item
  • And a fifth one
        
            
                  <ul class="list-group list-group-light">
                    <li class="list-group-item border-0">An item</li>
                    <li class="list-group-item border-0">A second item</li>
                    <li class="list-group-item border-0">A third item</li>
                    <li class="list-group-item border-0">A fourth item</li>
                    <li class="list-group-item border-0">And a fifth one</li>
                  </ul>
                  
        
    

Numbered

Add the .list-group-numbered modifier class (and optionally use an <ol> element) to opt into numbered list group items. Numbers are generated via CSS (as opposed to a <ol>s default browser styling) for better placement inside list group items and to allow for better customization.

Numbers are generated by counter-reset on the <ol>, and then styled and placed with a ::before psuedo-element on the <li> with counter-increment and content.

  1. A list item
  2. A list item
  3. A list item
        
            
              <ol class="list-group list-group-light list-group-numbered">
                <li class="list-group-item">A list item</li>
                <li class="list-group-item">A list item</li>
                <li class="list-group-item">A list item</li>
              </ol>
            
        
    

These work great with custom content as well.

  1. Subheading
    Content for list item
    14
  2. Subheading
    Content for list item
    14
  3. Subheading
    Content for list item
    14
        
            
            <ol class="list-group list-group-light list-group-numbered">
              <li class="list-group-item d-flex justify-content-between align-items-start">
                <div class="ms-2 me-auto">
                  <div class="fw-bold">Subheading</div>
                  Content for list item
                </div>
                <span class="badge badge-primary rounded-pill">14</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-start">
                <div class="ms-2 me-auto">
                  <div class="fw-bold">Subheading</div>
                  Content for list item
                </div>
                <span class="badge badge-primary rounded-pill">14</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-start">
                <div class="ms-2 me-auto">
                  <div class="fw-bold">Subheading</div>
                  Content for list item
                </div>
                <span class="badge badge-primary rounded-pill">14</span>
              </li>
            </ol>
            
        
    

Horizontal

Add .list-group-horizontal to change the layout of list group items from vertical to horizontal across all breakpoints. Alternatively, choose a responsive variant .list-group-horizontal-{sm|md|lg|xl|xxl} to make a list group horizontal starting at that breakpoint’s min-width. Currently horizontal list groups cannot be combined with flush or light list groups.

ProTip: Want equal-width list group items when horizontal? Add .flex-fill to each list group item.

  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
  • An item
  • A second item
  • A third item
        
            
              <ul class="list-group list-group-horizontal">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
              <ul class="list-group list-group-horizontal-sm">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
              <ul class="list-group list-group-horizontal-md">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
              <ul class="list-group list-group-horizontal-lg">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
              <ul class="list-group list-group-horizontal-xl">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
              <ul class="list-group list-group-horizontal-xxl">
                <li class="list-group-item">An item</li>
                <li class="list-group-item">A second item</li>
                <li class="list-group-item">A third item</li>
              </ul>
            
        
    

Contextual classes

Use contextual classes to style list items with a stateful background and color.

  • A simple default list group item
  • A simple primary list group item
  • A simple secondary list group item
  • A simple success list group item
  • A simple danger list group item
  • A simple warning list group item
  • A simple info list group item
  • A simple light list group item
  • A simple dark list group item
        
            
              <ul class="list-group list-group-light">
                <li class="list-group-item px-3 border-0 rounded-3 mb-2">A simple default list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-primary mb-2">A simple primary list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-secondary mb-2">A simple secondary list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-success mb-2">A simple success list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-danger mb-2">A simple danger list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-warning mb-2">A simple warning list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-info mb-2">A simple info list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-light mb-2">A simple light list group item</li>
                <li class="list-group-item px-3 border-0 rounded-3 list-group-item-dark mb-2">A simple dark list group item</li>
              </ul>
            
        
    

Contextual classes also work with .list-group-item-action. Note the addition of the hover styles here not present in the previous example. Also supported is the .active state; apply it to indicate an active selection on a contextual list group item.

        
            
              <div class="list-group list-group-light">
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2">
                  A simple default list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-primary">
                  A simple primary list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-secondary">
                  A simple secondary list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-success">
                  A simple success list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-danger">
                  A simple danger list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-warning">
                  A simple warning list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-info">
                  A simple info list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 mb-2 list-group-item-light">
                  A simple light list group item</a>
                <a href="#" class="list-group-item list-group-item-action px-3 border-0 rounded-3 list-group-item-dark">
                   simple dark list group item</a>
              </div>
            
        
    

Conveying meaning to assistive technologies:
Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (e.g. the visible text), or is included through alternative means, such as additional text hidden with the .visually-hidden class.


Badges

Add badges to any list group item to show unread counts, activity, and more with the help of some flexbox utilities.

  • A list item 14
  • A second list item 2
  • A third list item 1
        
            
            <ul class="list-group list-group-light">
              <li class="list-group-item d-flex justify-content-between align-items-center">
                A list item
                <span class="badge badge-primary rounded-pill">14</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-center">
                A second list item
                <span class="badge badge-primary rounded-pill">2</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-center">
                A third list item
                <span class="badge badge-primary rounded-pill">1</span>
              </li>
            </ul>
            
        
    

Custom content

Add nearly any HTML within, even for linked list groups like the one below, with the help of flexbox utilities.

  • John Doe
    john.doe@gmail.com
    Active
  • Alex Ray
    alex.ray@gmail.com
    Onboarding
  • Kate Hunington
    kate.hunington@gmail.com
    Awaiting
        
            
            <ul class="list-group list-group-light">
              <li class="list-group-item d-flex justify-content-between align-items-center">
                <div>
                  <div class="fw-bold">John Doe</div>
                  <div class="text-muted">john.doe@gmail.com</div>
                </div>
                <span class="badge rounded-pill badge-success">Active</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-center">
                <div>
                  <div class="fw-bold">Alex Ray</div>
                  <div class="text-muted">alex.ray@gmail.com</div>
                </div>
                <span class="badge rounded-pill badge-primary">Onboarding</span>
              </li>
              <li class="list-group-item d-flex justify-content-between align-items-center">
                <div>
                  <div class="fw-bold">Kate Hunington</div>
                  <div class="text-muted">kate.hunington@gmail.com</div>
                </div>
                <span class="badge rounded-pill badge-warning">Awaiting</span>
              </li>
            </ul>
            
        
    

Checkboxes

Place Bootstrap’s checkboxes and radios within list group items and customize as needed. You can use them without <label>s, but please remember to include an aria-label attribute and value for accessibility.

  • First checkbox
  • Second checkbox
  • Third checkbox
  • Fourth checkbox
  • Fifth checkbox
        
            
              <ul class="list-group list-group-light">
                <li class="list-group-item">
                  <input class="form-check-input me-1" type="checkbox" value="" aria-label="..." />
                  First checkbox
                </li>
                <li class="list-group-item">
                  <input class="form-check-input me-1" type="checkbox" value="" aria-label="..." />
                  Second checkbox
                </li>
                <li class="list-group-item">
                  <input class="form-check-input me-1" type="checkbox" value="" aria-label="..." />
                  Third checkbox
                </li>
                <li class="list-group-item">
                  <input class="form-check-input me-1" type="checkbox" value="" aria-label="..." />
                  Fourth checkbox
                </li>
                <li class="list-group-item">
                  <input class="form-check-input me-1" type="checkbox" value="" aria-label="..." />
                  Fifth checkbox
                </li>
              </ul>
            
        
    

And if you want <label>s as the .list-group-item for large hit areas, you can do that, too.

  •         
                
                  <div class="list-group list-group-light">
                    <li class="list-group-item">
                      <input class="form-check-input" type="checkbox" value="" id="checkboxExample1" />
                      <label class="form-check-label" for="checkboxExample1">First checkbox</label>
                    </li>
                    <li class="list-group-item">
                      <input class="form-check-input" type="checkbox" value="" id="checkboxExample2" />
                      <label class="form-check-label" for="checkboxExample2">Second checkbox</label>
                    </li>
                    <li class="list-group-item">
                      <input class="form-check-input" type="checkbox" value="" id="checkboxExample3" />
                      <label class="form-check-label" for="checkboxExample3">Third checkbox</label>
                    </li>
                    <li class="list-group-item">
                      <input class="form-check-input" type="checkbox" value="" id="checkboxExample4" />
                      <label class="form-check-label" for="checkboxExample4">Fourth checkbox</label>
                    </li>
                    <li class="list-group-item">
                      <input class="form-check-input" type="checkbox" value="" id="checkboxExample5" />
                      <label class="form-check-label" for="checkboxExample5">Fifth checkbox</label>
                    </li>
                  </div>
                
            
        

    JavaScript behavior

    Use the tab JavaScript plugin to extend our list group to create tabbable panes of local content.

            
                
                      <div class="row">
                        <div class="col-4">
                          <div class="list-group list-group-light" id="list-tab" role="tablist">
                            <a class="list-group-item list-group-item-action active px-3 border-0" id="list-home-list"
                              data-mdb-list-init href="#list-home" role="tab" aria-controls="list-home">Home</a>
                            <a class="list-group-item list-group-item-action px-3 border-0" id="list-profile-list"
                              data-mdb-list-init href="#list-profile" role="tab" aria-controls="list-profile">Profile</a>
                            <a class="list-group-item list-group-item-action px-3 border-0" id="list-messages-list"
                              data-mdb-list-init href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
                            <a class="list-group-item list-group-item-action px-3 border-0" id="list-settings-list"
                              data-mdb-list-init href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
                          </div>
                        </div>
                        <div class="col-8">
                          <div class="tab-content" id="nav-tabContent">
                            <div class="tab-pane fade show active" id="list-home" role="tabpanel"
                              aria-labelledby="list-home-list">
                              Some placeholder content in a paragraph relating to "Home". And some more content, used here just to
                              pad out and fill this tab panel. In production, you would obviously have more real content here. And
                              not just text. It could be anything, really. Text, images, forms.
                            </div>
                            <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">
                              Some placeholder content in a paragraph relating to "Profile". And some more content, used here just
                              to pad out and fill this tab panel. In production, you would obviously have more real content here.
                              And not just text. It could be anything, really. Text, images, forms.
                            </div>
                            <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">
                              Some placeholder content in a paragraph relating to "Messages". And some more content, used here
                              just to pad out and fill this tab panel. In production, you would obviously have more real content
                              here. And not just text. It could be anything, really. Text, images, forms.
                            </div>
                            <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">
                              Some placeholder content in a paragraph relating to "Settings". And some more content, used here
                              just to pad out and fill this tab panel. In production, you would obviously have more real content
                              here. And not just text. It could be anything, really. Text, images, forms.
                            </div>
                          </div>
                        </div>
                      </div>
                      
            
        
            
                
                      // Initialization for ES Users
                        import { Tab, initMDB } from "mdb-ui-kit";
                        
                        initMDB({ Tab });
                    
            
        

    Fade effect

    To make tabs panel fade in, add .fade to each .tab-pane. The first tab pane must also have .show to make the initial content visible.

            
                
                    <div class="tab-content">
                      <div class="tab-pane fade show active" id="home" role="tabpanel">...</div>
                      <div class="tab-pane fade" id="profile" role="tabpanel">...</div>
                      <div class="tab-pane fade" id="messages" role="tabpanel">...</div>
                      <div class="tab-pane fade" id="settings" role="tabpanel">...</div>
                    </div>
                  
            
        

    Additional examples

    A few additional, practical examples with different types of content and elements.

    Images

    • John Doe

      john.doe@gmail.com

      Active
    • Alex Ray

      alex.ray@gmail.com

      Onboarding
    • Kate Hunington

      kate.hunington@gmail.com

      Awaiting
            
                
           
                    <ul class="list-group list-group-light">
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/8.jpg" alt="" style="width: 45px; height: 45px"
                            class="rounded-circle" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">John Doe</p>
                            <p class="text-muted mb-0">john.doe@gmail.com</p>
                          </div>
                        </div>
                        <span class="badge rounded-pill badge-success">Active</span>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/6.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Alex Ray</p>
                            <p class="text-muted mb-0">alex.ray@gmail.com</p>
                          </div>
                        </div>
                        <span class="badge rounded-pill badge-primary">Onboarding</span>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/7.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Kate Hunington</p>
                            <p class="text-muted mb-0">kate.hunington@gmail.com</p>
                          </div>
                        </div>
                        <span class="badge rounded-pill badge-warning">Awaiting</span>
                      </li>
                    </ul>
           
                     
            
        

    Headings

    Marketing team
    • John Doe

      john.doe@gmail.com

    • Alex Ray

      alex.ray@gmail.com

    • Kate Hunington

      kate.hunington@gmail.com

    Design team
    • Soraya Letto

      soraya.letto@gmail.com

    • Zeynep Dudley

      zeynep.dudley@gmail.com

    • Ayat Black

      ayat.black@gmail.com

            
                
           
                    <h6 class="bg-body-tertiary p-2 border-top border-bottom">Marketing team</h6>
                    
                    <ul class="list-group list-group-light mb-4">
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/8.jpg" alt="" style="width: 45px; height: 45px"
                            class="rounded-circle" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">John Doe</p>
                            <p class="text-muted mb-0">john.doe@gmail.com</p>
                          </div>
                        </div>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/6.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Alex Ray</p>
                            <p class="text-muted mb-0">alex.ray@gmail.com</p>
                          </div>
                        </div>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/7.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Kate Hunington</p>
                            <p class="text-muted mb-0">kate.hunington@gmail.com</p>
                          </div>
                        </div>
                      </li>
                    </ul>
                    
                    <h6 class="bg-body-tertiary p-2 border-top border-bottom">Design team</h6>
                    
                    <ul class="list-group list-group-light">
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/9.jpg" alt="" style="width: 45px; height: 45px"
                            class="rounded-circle" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Soraya Letto</p>
                            <p class="text-muted mb-0">soraya.letto@gmail.com</p>
                          </div>
                        </div>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/11.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Zeynep Dudley</p>
                            <p class="text-muted mb-0">zeynep.dudley@gmail.com</p>
                          </div>
                        </div>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/15.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Ayat Black</p>
                            <p class="text-muted mb-0">ayat.black@gmail.com</p>
                          </div>
                        </div>
                      </li>
                    </ul>
           
                     
            
        

    Action buttons

    • John Doe

      john.doe@gmail.com

      View
    • Alex Ray

      alex.ray@gmail.com

      View
    • Kate Hunington

      kate.hunington@gmail.com

      View
            
                
           
                    <ul class="list-group list-group-light">
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/8.jpg" alt="" style="width: 45px; height: 45px"
                            class="rounded-circle" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">John Doe</p>
                            <p class="text-muted mb-0">john.doe@gmail.com</p>
                          </div>
                        </div>
                        <a class="btn btn-link btn-rounded btn-sm" href="#" role="button">View</a>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/6.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Alex Ray</p>
                            <p class="text-muted mb-0">alex.ray@gmail.com</p>
                          </div>
                        </div>
                        <a class="btn btn-link btn-rounded btn-sm" href="#" role="button">View</a>
                      </li>
                      <li class="list-group-item d-flex justify-content-between align-items-center">
                        <div class="d-flex align-items-center">
                          <img src="https://mdbootstrap.com/img/new/avatars/7.jpg" class="rounded-circle" alt=""
                            style="width: 45px; height: 45px" />
                          <div class="ms-3">
                            <p class="fw-bold mb-1">Kate Hunington</p>
                            <p class="text-muted mb-0">kate.hunington@gmail.com</p>
                          </div>
                        </div>
                    
                        <a class="btn btn-link btn-rounded btn-sm" href="#" role="button">View</a>
                      </li>
                    </ul>
           
                     
            
        
            
                
                      // Initialization for ES Users
                      import { Ripple, initMDB } from "mdb-ui-kit";
                    
                      initMDB({ Ripple });
                     
            
        

    CTA

    • Our company starts its operations

      11 March 2020

      Some placeholder content in a paragraph relating to "Our company starts its operations". And some more content, used here just to pad out and fill this tab panel. In production, you would obviously have more real content here. And not just text. It could be anything, really. Text, images, forms.

    • First customer

      19 March 2020

      Some placeholder content in a paragraph relating to "First customer". And some more content, used here just to pad out and fill this tab panel. In production, you would obviously have more real content here. And not just text. It could be anything, really. Text, images, forms.

    • Our team exceeds 10 people

      24 June 2020

      Some placeholder content in a paragraph relating to "Our team exceeds 10 people". And some more content, used here just to pad out and fill this tab panel. In production, you would obviously have more real content here. And not just text. It could be anything, really. Text, images, forms.

    View all
            
                
           
                    <ul class="list-group list-group-light mb-3">
                      <li class="list-group-item">
                        <h5 class="fw-bold">Our company starts its operations</h5>
                        <p class="text-muted mb-2 fw-bold">11 March 2020</p>
                        <p class="text-muted mb-0">
                          Some placeholder content in a paragraph relating to "Our company starts its operations". And some
                          more content, used here just to pad out and fill this tab panel. In production, you would obviously
                          have more real content here. And not just text. It could be anything, really. Text, images, forms.
                        </p>
                        </li>
                        <li class="list-group-item">
                          <h5 class="fw-bold">First customer</h5>
                          <p class="text-muted mb-2 fw-bold">19 March 2020</p>
                          <p class="text-muted mb-0">
                            Some placeholder content in a paragraph relating to "First customer". And some more content,
                            used here just to pad out and fill this tab panel. In production, you would obviously have more real
                            content here. And not just text. It could be anything, really. Text, images, forms.
                          </p>
                        </li>
                        <li class="list-group-item">
                          <h5 class="fw-bold">Our team exceeds 10 people</h5>
                          <p class="text-muted mb-2 fw-bold">24 June 2020</p>
                          <p class="text-muted mb-0">
                            Some placeholder content in a paragraph relating to "Our team exceeds 10 people". And some more
                            content, used here just to pad out and fill this tab panel. In production, you would obviously
                            have more real content here. And not just text. It could be anything, really. Text, images, forms.
                          </p>
                      </li>
                    </ul>
                    <a class="btn btn-outline-dark btn-rounded w-100" href="#" role="button" data-mdb-ripple-init data-ripple-color="dark">View all</a>
           
                     
            
        
            
                
                     // Initialization for ES Users
                     import { Ripple, initMDB } from "mdb-ui-kit";
                   
                     initMDB({ Ripple });
                     
            
        

    Grid list

    John Doe

    john.doe@gmail.com

    Alex Ray

    alex.ray@gmail.com

    Kate Hunington

    kate.hunington@gmail.com

    Soraya Letto

    soraya.letto@gmail.com

    Zeynep Dudley

    zeynep.dudley@gmail.com

    Ayat Black

    ayat.black@gmail.com

            
                
           
                     <div class="row">
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/8.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">John Doe</p>
                                <p class="text-muted mb-0">john.doe@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/6.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">Alex Ray</p>
                                <p class="text-muted mb-0">alex.ray@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/7.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">Kate Hunington</p>
                                <p class="text-muted mb-0">kate.hunington@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/9.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">Soraya Letto</p>
                                <p class="text-muted mb-0">soraya.letto@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/11.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">Zeynep Dudley</p>
                                <p class="text-muted mb-0">zeynep.dudley@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-4 col-lg-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex align-items-center">
                              <img
                                src="https://mdbootstrap.com/img/new/avatars/15.jpg"
                                alt=""
                                style="width: 45px; height: 45px"
                                class="rounded-circle"
                              />
                              <div class="ms-3">
                                <p class="fw-bold mb-1">Ayat Black</p>
                                <p class="text-muted mb-0">ayat.black@gmail.com</p>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
           
                     
            
        

    Complex grid list

    John Doe

    john.doe@gmail.com

    Active

    Alex Ray

    alex.ray@gmail.com

    Onboarding

    Kate Hunington

    kate.hunington@gmail.com

    Awaiting

    Michael Bale

    michael.bale@gmail.com

    Removed
            
                
           
                     <div class="row">
                      <div class="col-xl-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex justify-content-between align-items-center">
                              <div class="d-flex align-items-center">
                                <img
                                  src="https://mdbootstrap.com/img/new/avatars/8.jpg"
                                  alt=""
                                  style="width: 45px; height: 45px"
                                  class="rounded-circle"
                                />
                                <div class="ms-3">
                                  <p class="fw-bold mb-1">John Doe</p>
                                  <p class="text-muted mb-0">john.doe@gmail.com</p>
                                </div>
                              </div>
                              <span class="badge rounded-pill badge-success">Active</span>
                            </div>
                          </div>
                          <div
                            class="card-footer border-0 bg-body-tertiary p-2 d-flex justify-content-around"
                          >
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Message<i class="fas fa-envelope ms-2"></i
                            ></a>
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Call<i class="fas fa-phone ms-2"></i
                            ></a>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex justify-content-between align-items-center">
                              <div class="d-flex align-items-center">
                                <img
                                  src="https://mdbootstrap.com/img/new/avatars/6.jpg"
                                  alt=""
                                  style="width: 45px; height: 45px"
                                  class="rounded-circle"
                                />
                                <div class="ms-3">
                                  <p class="fw-bold mb-1">Alex Ray</p>
                                  <p class="text-muted mb-0">alex.ray@gmail.com</p>
                                </div>
                              </div>
                              <span class="badge rounded-pill badge-primary"
                                >Onboarding</span
                              >
                            </div>
                          </div>
                          <div
                            class="card-footer border-0 bg-body-tertiary p-2 d-flex justify-content-around"
                          >
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Message<i class="fas fa-envelope ms-2"></i
                            ></a>
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Call<i class="fas fa-phone ms-2"></i
                            ></a>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex justify-content-between align-items-center">
                              <div class="d-flex align-items-center">
                                <img
                                  src="https://mdbootstrap.com/img/new/avatars/7.jpg"
                                  alt=""
                                  style="width: 45px; height: 45px"
                                  class="rounded-circle"
                                />
                                <div class="ms-3">
                                  <p class="fw-bold mb-1">Kate Hunington</p>
                                  <p class="text-muted mb-0">kate.hunington@gmail.com</p>
                                </div>
                              </div>
                              <span class="badge rounded-pill badge-warning">Awaiting</span>
                            </div>
                          </div>
                          <div
                            class="card-footer border-0 bg-body-tertiary p-2 d-flex justify-content-around"
                          >
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Message<i class="fas fa-envelope ms-2"></i
                            ></a>
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Call<i class="fas fa-phone ms-2"></i
                            ></a>
                          </div>
                        </div>
                      </div>
                      <div class="col-xl-6 mb-4">
                        <div class="card">
                          <div class="card-body">
                            <div class="d-flex justify-content-between align-items-center">
                              <div class="d-flex align-items-center">
                                <img
                                  src="https://mdbootstrap.com/img/new/avatars/3.jpg"
                                  alt=""
                                  style="width: 45px; height: 45px"
                                  class="rounded-circle"
                                />
                                <div class="ms-3">
                                  <p class="fw-bold mb-1">Michael Bale</p>
                                  <p class="text-muted mb-0">michael.bale@gmail.com</p>
                                </div>
                              </div>
                              <span class="badge rounded-pill badge-danger">Removed</span>
                            </div>
                          </div>
                          <div
                            class="card-footer border-0 bg-body-tertiary p-2 d-flex justify-content-around"
                          >
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Message<i class="fas fa-envelope ms-2"></i
                            ></a>
                            <a
                              class="btn btn-link m-0 text-reset"
                              href="#"
                              role="button"
                              data-ripple-color="primary"
                              data-mdb-ripple-init
                              >Call<i class="fas fa-phone ms-2"></i
                            ></a>
                          </div>
                        </div>
                      </div>
                    </div>
           
                     
            
        
            
                
                     // Initialization for ES Users
                     import { Ripple, initMDB } from "mdb-ui-kit";
                   
                     initMDB({ Ripple });
                     
            
        

    List Group - API


    Import

    Importing components depends on how your application works. If you intend to use the MDBootstrap ES format, you must first import the component and then initialize it with the initMDB method. If you are going to use the UMD format, just import the mdb-ui-kit package.

            
                
              import { Tab, initMDB } from "mdb-ui-kit";
              
              initMDB({ Tab });
            
            
        
            
                
              import "mdb-ui-kit"
            
            
        

    Usage

    Using data attributes

    Using the List Group component doesn't require any additional JavaScript code - simply add data-mdb-list-init attribute to every .list-group-item and use other data attributes to set all options. For ES format, you must first import and call the initMDB method.

            
                
                <!-- List group -->
                <div class="list-group" id="myList" role="tablist">
                  <a class="list-group-item list-group-item-action active" data-mdb-list-init href="#home" role="tab">Home</a>
                  <a class="list-group-item list-group-item-action" data-mdb-list-init href="#profile" role="tab">Profile</a>
                  <a class="list-group-item list-group-item-action" data-mdb-list-init href="#messages" role="tab">Messages</a>
                  <a class="list-group-item list-group-item-action" data-mdb-list-init href="#settings" role="tab">Settings</a>
                </div>
    
                <!-- Tab panes -->
                <div class="tab-content">
                  <div class="tab-pane active" id="home" role="tabpanel">...</div>
                  <div class="tab-pane" id="profile" role="tabpanel">...</div>
                  <div class="tab-pane" id="messages" role="tabpanel">...</div>
                  <div class="tab-pane" id="settings" role="tabpanel">...</div>
                </div>
              
            
        

    Via JavaScript

    Enable tabbable list item via JavaScript (each list item needs to be activated individually):

            
                
                const triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
                triggerTabList.forEach((triggerEl) => {
                  const tabTrigger = new Tab(triggerEl)
    
                  triggerEl.addEventListener('click', (e) => {
                    e.preventDefault()
                    tabTrigger.show()
                  })
                })
                
            
        
            
                
                const triggerTabList = [].slice.call(document.querySelectorAll('#myTab a'))
                triggerTabList.forEach((triggerEl) => {
                  const tabTrigger = new mdb.Tab(triggerEl)
    
                  triggerEl.addEventListener('click', (e) => {
                    e.preventDefault()
                    tabTrigger.show()
                  })
                })
              
            
        

    You can activate individual list item in several ways:

            
                
                const triggerEl = document.querySelector('#myTab a[href="#profile"]');
                Tab.getInstance(triggerEl).show() 
                
                const triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
                Tab.getInstance(triggerFirstTabEl).show() 
              
            
        
            
                
                const triggerEl = document.querySelector('#myTab a[href="#profile"]');
                mdb.Tab.getInstance(triggerEl).show() 
                
                const triggerFirstTabEl = document.querySelector('#myTab li:first-child a')
                mdb.Tab.getInstance(triggerFirstTabEl).show() 
              
            
        

    Methods

    Method Description Example
    show Selects the given list item and shows its associated pane. Any other list item that was previously selected becomes unselected and its associated pane is hidden. Returns to the caller before the tab pane has actually been shown (for example, before the shown.mdb.tab event occurs). instance.show()
    dispose Destroys an element’s tab. instance.dispose()
    getInstance Static method which allows you to get the tab instance associated with a DOM element. Tab.getInstance()
    getOrCreateInstance Static method which allows you to get the tab instance associated with a DOM element or create a new one in case it wasn't initialized. Tab.getOrCreateInstance()
            
                
                const triggerEl = document.querySelector('#trigger')
                const tab = new Tab(triggerEl);
                tab.show()
              
            
        
            
                
                const triggerEl = document.querySelector('#trigger')
                const tab = new mdb.Tab(triggerEl);
                tab.show()
              
            
        

    Events

    When showing a new tab, the events fire in the following order:

    1. hide.mdb.tab (on the current active tab)
    2. show.mdb.tab (on the to-be-shown tab)
    3. hidden.mdb.tab (on the previous active tab, the same one as for the hide.mdb.tab event)
    4. shown.mdb.tab (on the newly-active just-shown tab, the same one as for the show.mdb.tab event)

    If no tab was already active, the hide.mdb.tab and hidden.mdb.tab events will not be fired.

    Event type Description
    show.mdb.tab This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
    shown.mdb.tab This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
    hide.mdb.tab This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). Use event.target and event.relatedTarget to target the current active tab and the new soon-to-be-active tab, respectively.
    hidden.mdb.tab This event fires after a new tab is shown (and thus the previous active tab is hidden). Use event.target and event.relatedTarget to target the previous active tab and the new active tab, respectively.
            
                
                const tabEls = document.querySelectorAll('.list-group-item')
                tabEls.forEach((tabEl) => {
                  tabEl.addEventListener('shown.mdb.tab', (e) => {
                    console.log(e.target) // newly activated tab
                    console.log(e.relatedTarget) // previous active tab
                  })
                })
              
            
        

    CSS variables

    As part of MDB’s evolving CSS variables approach, list group now uses local CSS variables on .list-group for enhanced real-time customization. Values for the CSS variables are set via Sass, so Sass customization is still supported, too.

            
                
                // .list-group
                --#{$prefix}list-group-color: #{$list-group-color};
                --#{$prefix}list-group-bg: #{$list-group-bg};
                --#{$prefix}list-group-border-color: #{$list-group-border-color};
                --#{$prefix}list-group-border-width: #{$list-group-border-width};
                --#{$prefix}list-group-border-radius: #{$list-group-border-radius};
                --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};
                --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};
                --#{$prefix}list-group-item-transition-time: #{$list-group-item-transition-time};
                --#{$prefix}list-group-action-color: #{$list-group-action-color};
                --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
                --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};
                --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
                --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
                --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
                --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
                --#{$prefix}list-group-active-color: #{$list-group-active-color};
                --#{$prefix}list-group-active-bg: #{$list-group-active-bg};
                --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
    
                // .list-group-light
                --#{$prefix}list-group-light-item-py: #{$list-group-light-item-py};
                --#{$prefix}list-group-light-item-border: #{$list-group-light-item-border};
                --#{$prefix}list-group-light-item-border-width: #{$list-group-light-item-border-width};
                --#{$prefix}list-group-light-active-border-radius: #{$list-group-light-active-border-radius};
                --#{$prefix}list-group-light-active-bg: #{$list-group-light-active-bg};
                --#{$prefix}list-group-light-active-color: #{$list-group-light-active-color};
                
                // .list-group-small
                --#{$prefix}list-group-small-item-py: #{$list-group-small-item-py};
              
            
        

    SCSS variables

            
                
                $list-group-border-color: var(--#{$prefix}border-color);
                $list-group-border-width: var(--#{$prefix}border-width);
                $list-group-border-radius: $border-radius-lg;
                $list-group-item-padding-x: 1.5rem;
                $list-group-item-padding-y: $spacer * 0.5;
                $list-group-item-bg-scale: -80%;
                $list-group-item-color-scale: 40%;
                $list-group-item-transition-time: 0.5s;
                $list-group-color: var(--#{$prefix}body-color);
                $list-group-light-item-py: 1rem;
                $list-group-light-item-border: 2px solid var(--#{$prefix}divider-color);
                $list-group-light-item-border-width: 2px;
                $list-group-light-active-border-radius: 0.5rem;
                $list-group-light-active-bg: var(--#{$prefix}primary-bg-subtle);
                $list-group-light-active-color: var(--#{$prefix}primary-text-emphasis);
                $list-group-small-item-py: 0.5rem;
                $list-group-active-bg: rgb(223, 231, 246);
                $list-group-active-color: rgb(44, 88, 160);
                $list-group-active-border-color: $list-group-active-bg;
                $list-group-color: $gray-900;
                $list-group-bg: transparent;
                $list-group-hover-bg: var(--#{$prefix}tertiary-bg);
                $list-group-active-color: $component-active-color;
                $list-group-active-bg: $component-active-bg;
                $list-group-active-border-color: $list-group-active-bg;
                
                $list-group-disabled-color: var(--#{$prefix}secondary-color);
                $list-group-disabled-bg: $list-group-bg;
                
                $list-group-action-color: var(--#{$prefix}secondary-color);
                $list-group-action-hover-color: var(--#{$prefix}emphasis-color);
                
                $list-group-action-active-color: var(--#{$prefix}body-color);
                $list-group-action-active-bg: var(--#{$prefix}secondary-bg);