Get StartedFoundationsComponentsPatternsIntegration
01.Get Started
02.Foundations
03.Components
04.Patterns
05.Integration
Overview
Accordion
Badge
Breadcrumb
Button
Gradient Button
FAB
Icon Button
Card
Checkbox
Chips
Date Picker
Dialogs
Divider
List
Loading
Menu
Options
Pagination
Radio
Scrollbar
Search
Selector
Skeleton
Slider
Swiper
Switch
Tabs
Text Field
TextArea
Toast
Tooltip

BADGE

PreviousAccordion
BreadcrumbNext
ELFBAR Design

V 0.1.0

A design system built for BMD teams.

Brand Marketing Department

Resources

  • GitHub
  • Storybook
  • Figma

Documentation

  • Changelog
  • Components
  • Tokens
  • Global market globe

Brands

  • ELFBAR Official
  • LostMary Official

Copyright © 2026 ELFBAR. All rights reserved.

When to Use

Example: unread badges in message list

Messages

Alice Chen2m

Your order has shipped.

Promotions1h

Weekend sale ends tonight.

9
SupportYesterday

Ticket #4821 has a new reply.

  • Indicating unread count on icons such as notifications or messages
  • Showing online/offline presence on avatars or contact lists
  • Highlighting new or updated items in navigation or lists
  • Avoid using Badge purely for decoration — it should convey meaningful status

Usage Guidelines

DO

Use Dot for presence/absence cues (e.g. new notifications) and Count for specific counts like "N unread"

Don’t

Don't place multiple badges on the same host element — visually confusing and imprecise

DO

Place the badge at the top-right corner of the host element, avoiding obscuring critical content

Don’t

Don't use badges purely for decoration — they carry semantic meaning and overuse dilutes that

Interaction Behavior

StateBehavior
Static displayShown alongside the host element; does not receive independent pointer events
Count updateRecommend a scale animation on number change for visual feedback
AppearScale from 0 to 1, duration ≈ 200ms
DisappearReverse scale to 0, duration ≈ 200ms
Collapsecount > maxCount shows {maxCount}+, no longer increases

Accessibility

RequirementImplementation
Semantic labelHost element or badge itself uses aria-label="3 unread messages"
Dot typearia-label="New notifications" indicating presence/absence
Live updatesWrap with aria-live="polite" to announce count changes
ContrastBadge background-to-host/page contrast ≥ 3:1
Pointer eventsBadge has pointer-events: none to not interfere with host interactions