List Group
List groups display a series of items: plain lists, menus of links, option pickers, inboxes and settings screens. Make items actionable, colour or number them, lay them out horizontally, or switch content panes with data-bs-toggle="list".
1Basic list
An unordered list with .list-group and .list-group-item.
- Secure file sharing
- Smart reporting
- Workflow automation
- API integrations
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Secure file sharing</li>
<li class="list-group-item">Smart reporting</li>
<li class="list-group-item">Workflow automation</li>
<li class="list-group-item">API integrations</li>
</ul>2Active and disabled
Highlight the current item and dim unavailable ones.
- Current plan
- Upgrade options
- Enterprise (contact sales)
- Billing history
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item active" aria-current="true">Current plan</li>
<li class="list-group-item">Upgrade options</li>
<li class="list-group-item disabled" aria-disabled="true">Enterprise (contact sales)</li>
<li class="list-group-item">Billing history</li>
</ul>3Links and buttons
list-group-item-action adds hover and focus states to links and buttons.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">Overview</a><a href="#" class="list-group-item list-group-item-action">Members</a>
<button type="button" class="list-group-item list-group-item-action">Integrations</button>
<button type="button" class="list-group-item list-group-item-action" disabled>Audit log</button>
</div>4Flush list
list-group-flush removes outer borders so the list sits flush in a parent.
- Open API
- Real-time collaboration
- Dark mode
<ul class="list-group list-group-flush border-top border-bottom">
<li class="list-group-item">Open API</li>
<li class="list-group-item">Real-time collaboration</li>
<li class="list-group-item">Dark mode</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 14What we learned shipping 200 releasesOct 2, 2026
- 26Seven automations every team should set upMay 29, 2026
- 23How to choose the right planJul 3, 2026
<ol class="list-group list-group-numbered" style="max-width: 420px;">
<li class="list-group-item d-flex justify-content-between align-items-start"><div class="ms-2 me-auto"><div class="fw-semibold">What we learned shipping 200 releases</div><span class="small text-body-secondary">Oct 2, 2026</span></div><span class="badge text-bg-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-semibold">Seven automations every team should set up</div><span class="small text-body-secondary">May 29, 2026</span></div><span class="badge text-bg-primary rounded-pill">26</span></li>
<li class="list-group-item d-flex justify-content-between align-items-start"><div class="ms-2 me-auto"><div class="fw-semibold">How to choose the right plan</div><span class="small text-body-secondary">Jul 3, 2026</span></div><span class="badge text-bg-primary rounded-pill">23</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 3.5kVisitors
- 297Sign-ups
- 9%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-fill text-center"><div class="fw-bold">3.5k</div><small class="text-body-secondary">Visitors</small></li>
<li class="list-group-item flex-fill text-center"><div class="fw-bold">297</div><small class="text-body-secondary">Sign-ups</small></li>
<li class="list-group-item flex-fill text-center"><div class="fw-bold">9%</div><small class="text-body-secondary">Conversion</small></li>
</ul>7Contextual colours
list-group-item-* colours individual items.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">Primary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-secondary">Secondary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-success">Success item</a><a href="#" class="list-group-item list-group-item-action list-group-item-danger">Danger item</a><a href="#" class="list-group-item list-group-item-action list-group-item-warning">Warning item</a><a href="#" class="list-group-item list-group-item-action list-group-item-info">Info item</a><a href="#" class="list-group-item list-group-item-action list-group-item-light">Light item</a><a href="#" class="list-group-item list-group-item-action list-group-item-dark">Dark item</a>
</div>8With badges
Pill badges at the end of each item show counts.
- Projects10
- Tasks41
- Issues8
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-folder-fill" aria-hidden="true"></i> Projects</span><span class="badge text-bg-primary rounded-pill">10</span></li>
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-check2-square" aria-hidden="true"></i> Tasks</span><span class="badge text-bg-success rounded-pill">41</span></li>
<li class="list-group-item d-flex justify-content-between align-items-center"><span><i class="bi bi-exclamation-circle-fill" aria-hidden="true"></i> Issues</span><span class="badge text-bg-danger rounded-pill">8</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
Inside our product roadmap for next year
1 days agoStart free, upgrade when you grow and cancel any time with one click.
Diego HughesHow one support team cut first replies to 20 minutes
32 min agoClear prices, honest advice and no surprises along the way.
Mason DuarteWriting status updates people actually read
49 min agoSet up in an afternoon, connect the tools you use and invite your team.
Ravi Ibrahim<div class="list-group" style="max-width: 520px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">Inside our product roadmap for next year</h6>
<small>1 days ago</small>
</div>
<p class="mb-1 small">Start free, upgrade when you grow and cancel any time with one click.</p>
<small class="">Diego Hughes</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">How one support team cut first replies to 20 minutes</h6>
<small>32 min ago</small>
</div>
<p class="mb-1 small">Clear prices, honest advice and no surprises along the way.</p>
<small class="text-body-secondary">Mason Duarte</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">Writing status updates people actually read</h6>
<small>49 min ago</small>
</div>
<p class="mb-1 small">Set up in an afternoon, connect the tools you use and invite your team.</p>
<small class="text-body-secondary">Ravi Ibrahim</small></a>
</div>10Checkbox list
Checkboxes and labels in items make a simple to-do list.
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-982" checked><label class="form-check-label text-decoration-line-through text-body-secondary" for="lg-chk-982">Secure launch honest</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-983" checked><label class="form-check-label text-decoration-line-through text-body-secondary" for="lg-chk-983">Calm workflow powerful</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-984"><label class="form-check-label" for="lg-chk-984">Focused release focused</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-985"><label class="form-check-label" for="lg-chk-985">Friendly team honest</label></li>
</ul>11Radio option list
Whole list items as labels for radio buttons, e.g. a plan picker.
<div class="list-group" style="max-width: 420px;">
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-987"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-987"><span><span class="d-block fw-semibold">Starter</span><small class="text-body-secondary">$9 / month</small></span></label>
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-988"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-988" checked><span><span class="d-block fw-semibold">Team</span><small class="text-body-secondary">$29 / month</small></span></label>
<label class="list-group-item d-flex gap-3" for="lg-radio-opt-989"><input class="form-check-input flex-shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-989"><span><span class="d-block fw-semibold">Business</span><small class="text-body-secondary">$79 / month</small></span></label>
</div>12List as tabs
data-bs-toggle="list" turns the list into tab navigation for panes next to it.
Start free, upgrade when you grow and cancel any time with one click.
Two-step verification is on.
Our open API and ready-made integrations fit into the stack you already have.
<div class="row g-3">
<div class="col-sm-4">
<div class="list-group" role="tablist">
<a class="list-group-item list-group-item-action active" id="lg-tab-990-tab" data-bs-toggle="list" href="#lg-tab-990" role="tab" aria-controls="lg-tab-990" aria-selected="true">Profile</a><a class="list-group-item list-group-item-action" id="lg-tab-991-tab" data-bs-toggle="list" href="#lg-tab-991" role="tab" aria-controls="lg-tab-991" aria-selected="false">Security</a><a class="list-group-item list-group-item-action" id="lg-tab-992-tab" data-bs-toggle="list" href="#lg-tab-992" role="tab" aria-controls="lg-tab-992" aria-selected="false">Notifications</a>
</div>
</div>
<div class="col-sm-8">
<div class="tab-content border rounded p-3 h-100">
<div class="tab-pane fade show active" id="lg-tab-990" role="tabpanel" aria-labelledby="lg-tab-990-tab">
<p class="mb-0">Start free, upgrade when you grow and cancel any time with one click.</p>
</div>
<div class="tab-pane fade" id="lg-tab-991" role="tabpanel" aria-labelledby="lg-tab-991-tab">
<p class="mb-0"><i class="bi bi-shield-lock-fill" aria-hidden="true"></i> Two-step verification is on.</p>
</div>
<div class="tab-pane fade" id="lg-tab-992" role="tabpanel" aria-labelledby="lg-tab-992-tab">
<p class="mb-0">Our open API and ready-made integrations fit into the stack you already have.</p>
</div>
</div>
</div>
</div>13Notification list
Avatars, message and time, with a dot for unread items.
<div class="list-group" style="max-width: 440px;">
<a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-1.svg" alt="Felix Rossi" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Felix Rossi</strong><small class="text-body-secondary text-nowrap ms-2">yesterday</small>
</div>
<div class="small text-body-secondary">
Thousands of customers already trust us, and we work hard to keep it that way.
</div>
</div>
<span class="p-1 bg-primary rounded-circle align-self-center"><span class="visually-hidden">Unread</span></span></a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-8.svg" alt="Lea Ashford" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Lea Ashford</strong><small class="text-body-secondary text-nowrap ms-2">5 days ago</small>
</div>
<div class="small text-body-secondary">
Friendly people answer your questions quickly, by phone, chat or email.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 py-3"><img src="../assets/img/avatar-8.svg" alt="Sofia Sato" class="rounded-circle flex-shrink-0" width="40" height="40">
<div class="flex-grow-1">
<div class="d-flex justify-content-between">
<strong class="small">Sofia Sato</strong><small class="text-body-secondary text-nowrap ms-2">2 days ago</small>
</div>
<div class="small text-body-secondary">
Our team has done this many times, so you never have to guess.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- how-we-cut-our-release-cycle-in-half.pdf164 KB · Feb 1, 2026
- how-remote-teams-keep-projects-on-track.png698 KB · Oct 13, 2025
- five-things-we-learned-this-year.xlsx857 KB · Jan 25, 2026
- how-we-cut-our-release-cycle-in-half.zip113 KB · May 9, 2026
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-danger"><i class="bi bi-file-earmark-pdf-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">how-we-cut-our-release-cycle-in-half.pdf</div><div class="small text-body-secondary">164 KB · Feb 1, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-success"><i class="bi bi-file-earmark-image-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">how-remote-teams-keep-projects-on-track.png</div><div class="small text-body-secondary">698 KB · Oct 13, 2025</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-primary"><i class="bi bi-file-earmark-spreadsheet-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">five-things-we-learned-this-year.xlsx</div><div class="small text-body-secondary">857 KB · Jan 25, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="fs-4 text-warning"><i class="bi bi-file-earmark-zip-fill" aria-hidden="true"></i></span><div class="flex-grow-1 text-truncate"><div class="small fw-semibold text-truncate">how-we-cut-our-release-cycle-in-half.zip</div><div class="small text-body-secondary">113 KB · May 9, 2026</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
</ul>15Contact list
People with role and quick call and email actions.
- Amara NovakMarketing Lead
- Ella CarterQA Engineer
- Chloe KowalskiMarketing Lead
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-8.svg" alt="Amara Novak" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Amara Novak</div><div class="small text-body-secondary">Marketing Lead</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Amara"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-7.svg" alt="Ella Carter" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Ella Carter</div><div class="small text-body-secondary">QA Engineer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Ella"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
<li class="list-group-item d-flex align-items-center gap-3"><img src="../assets/img/avatar-10.svg" alt="Chloe Kowalski" class="rounded-circle flex-shrink-0" width="40" height="40"><div class="flex-grow-1"><div class="fw-semibold small">Chloe Kowalski</div><div class="small text-body-secondary">Marketing Lead</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Chloe"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
</ul>16Settings with switches
Each setting has an icon, a description and a switch on the right.
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-bell-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-993"><span class="d-block fw-semibold small">Push notifications</span><span class="small text-body-secondary">Get alerts on your phone</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-993" checked></div></li>
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-envelope-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-994"><span class="d-block fw-semibold small">Weekly digest</span><span class="small text-body-secondary">A summary every Monday</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-994" checked></div></li>
<li class="list-group-item d-flex align-items-center gap-3 py-3"><span class="fs-5 text-primary"><i class="bi bi-moon-fill" aria-hidden="true"></i></span><label class="flex-grow-1" for="lg-switch-995"><span class="d-block fw-semibold small">Dark mode</span><span class="small text-body-secondary">Easier on the eyes at night</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-995"></div></li>
</ul>17Task progress list
Progress bars inside items track several jobs at once.
- Bright update100%
- Reliable workflow61%
- Clear workflow85%
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Bright update</span><span class="text-body-secondary">100%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-success" style="width: 100%;"></div></div></li>
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Reliable workflow</span><span class="text-body-secondary">61%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="61" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-primary" style="width: 61%;"></div></div></li>
<li class="list-group-item"><div class="d-flex justify-content-between small mb-1"><span class="fw-semibold">Clear workflow</span><span class="text-body-secondary">85%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-primary" style="width: 85%;"></div></div></li>
</ul>18Inbox list
Unread messages in bold with a tinted edge; long lines are truncated.
<div class="list-group" style="max-width: 560px;">
<a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start ca-unread"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="fw-bold">Hana Mensah</span><small class="text-body-secondary ms-2 text-nowrap">12:00</small>
</div>
<div class="small text-truncate fw-semibold">
What our customers asked us most
</div>
<div class="small text-body-secondary text-truncate">
Your data is encrypted, backed up daily and hosted in the region you choose.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start ca-unread"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="fw-bold">Kenji Ortega</span><small class="text-body-secondary ms-2 text-nowrap">19:15</small>
</div>
<div class="small text-truncate fw-semibold">
Five things we learned this year
</div>
<div class="small text-body-secondary text-truncate">
Onboarding guides and live chat help new colleagues get going on day one.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="">Luna Fischer</span><small class="text-body-secondary ms-2 text-nowrap">18:00</small>
</div>
<div class="small text-truncate text-body-secondary">
How remote teams keep projects on track
</div>
<div class="small text-body-secondary text-truncate">
Clear reports turn weekly numbers into decisions in minutes, not days.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-3 align-items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="flex-grow-1 text-truncate">
<div class="d-flex justify-content-between">
<span class="">Tariq Alvarez</span><small class="text-body-secondary ms-2 text-nowrap">13:45</small>
</div>
<div class="small text-truncate text-body-secondary">
A practical guide to async work
</div>
<div class="small text-body-secondary text-truncate">
Clear prices, honest advice and no surprises along the way.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Jonah Moreau888 pts
- 2
Isla Varga786 pts
- 3
Zoe Harlow560 pts
- 4
Nora Delgado203 pts
<ol class="list-group" style="max-width: 420px;">
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-warning ca-rank">1</span><img src="../assets/img/avatar-5.svg" alt="Jonah Moreau" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Jonah Moreau</span><span class="small">888 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-secondary ca-rank">2</span><img src="../assets/img/avatar-10.svg" alt="Isla Varga" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Isla Varga</span><span class="small">786 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-danger ca-rank">3</span><img src="../assets/img/avatar-10.svg" alt="Zoe Harlow" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Zoe Harlow</span><span class="small">560 pts</span></li>
<li class="list-group-item d-flex align-items-center gap-3"><span class="badge rounded-circle text-bg-light ca-rank">4</span><img src="../assets/img/avatar-11.svg" alt="Nora Delgado" class="rounded-circle flex-shrink-0" width="36" height="36"><span class="flex-grow-1 small fw-semibold">Nora Delgado</span><span class="small">203 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- 99.99% uptime1
- Dark mode2
- Real-time collaboration3
- Open API4
<ul class="list-group" style="max-width: 420px;">
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">99.99% uptime</span><span class="badge bg-body-secondary text-body-secondary">1</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Dark mode</span><span class="badge bg-body-secondary text-body-secondary">2</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Real-time collaboration</span><span class="badge bg-body-secondary text-body-secondary">3</span></li>
<li class="list-group-item d-flex align-items-center gap-2"><span class="text-body-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="flex-grow-1">Open API</span><span class="badge bg-body-secondary text-body-secondary">4</span></li>
</ul>