Badge 
Badges are used for showing a small amount of color-categorized metadata, ideal for getting a user's attention.
< Badge  variant = "positive" > Licensed< / Badge > < Badge  variant = "positive" > Licensed< / Badge > < Badge  variant = "positive" > 
  Licensed
< / Badge > 
Badges can have a label, an icon, or both. An icon is provided by passing an icon component as a child to the Badge.
A visible label can be provided by passing a string or a Text component as a child, depending on whether the Badge has an accompanying icon.
import  { Text }  from  '@adobe/react-spectrum' ; 
import  CheckmarkCircle  from  '@spectrum-icons/workflow/CheckmarkCircle' ; 
< Badge  variant = "positive" > 
  < CheckmarkCircle  aria-label = "Done"  / > 
  < Text > Icon + Label< / Text > 
< / Badge > import  { Text }  from  '@adobe/react-spectrum' ; 
import  CheckmarkCircle  from  '@spectrum-icons/workflow/CheckmarkCircle' ; 
< Badge  variant = "positive" > 
  < CheckmarkCircle  aria-label = "Done"  / > 
  < Text > Icon + Label< / Text > 
< / Badge > import  { Text }  from  '@adobe/react-spectrum' ; 
import  CheckmarkCircle  from  '@spectrum-icons/workflow/CheckmarkCircle' ; 
< Badge  variant = "positive" > 
  < CheckmarkCircle  aria-label = "Done"  / > 
  < Text > 
    Icon + Label
  < / Text > 
< / Badge > 
If a visible label isn't specified, an aria-label must be provided to the icon for accessibility.
To internationalize a Badge, a localized string should be set as the child content of the Badge.
For languages that are read right-to-left (e.g. Hebrew and Arabic), the Badge is automatically flipped.
Name Type Description children ReactNode The content to display in the badge. variant 'neutral' 
  |  'info' 
  |  'positive' 
  |  'negative' 
  |  'indigo' 
  |  'yellow' 
  |  'magenta' 
  |  'fuchsia' 
  |  'purple' 
  |  'seafoam' The variant changes the background color of the badge.
When badge has a semantic meaning, they should use the variant for semantic colors.
Name Type Description flex Responsive < string 
  |  number 
  |  boolean > When used in a flex layout, specifies how the element will grow or shrink to fit the space available. See MDN . flexGrow Responsive < number > When used in a flex layout, specifies how the element will grow to fit the space available. See MDN . flexShrink Responsive < number > When used in a flex layout, specifies how the element will shrink to fit the space available. See MDN . flexBasis Responsive < number  |  string > When used in a flex layout, specifies the initial main size of the element. See MDN . alignSelf Responsive < 'auto' 
  |  'normal' 
  |  'start' 
  |  'end' 
  |  'center' 
  |  'flex-start' 
  |  'flex-end' 
  |  'self-start' 
  |  'self-end' 
  |  'stretch' > Overrides the alignItems property of a flex or grid container. See MDN . justifySelf Responsive < 'auto' 
  |  'normal' 
  |  'start' 
  |  'end' 
  |  'flex-start' 
  |  'flex-end' 
  |  'self-start' 
  |  'self-end' 
  |  'center' 
  |  'left' 
  |  'right' 
  |  'stretch' > Specifies how the element is justified inside a flex or grid container. See MDN . order Responsive < number > The layout order for the element within a flex or grid container. See MDN . gridArea Responsive < string > When used in a grid layout, specifies the named grid area that the element should be placed in within the grid. See MDN . gridColumn Responsive < string > When used in a grid layout, specifies the column the element should be placed in within the grid. See MDN . gridRow Responsive < string > When used in a grid layout, specifies the row the element should be placed in within the grid. See MDN . gridColumnStart Responsive < string > When used in a grid layout, specifies the starting column to span within the grid. See MDN . gridColumnEnd Responsive < string > When used in a grid layout, specifies the ending column to span within the grid. See MDN . gridRowStart Responsive < string > When used in a grid layout, specifies the starting row to span within the grid. See MDN . gridRowEnd Responsive < string > When used in a grid layout, specifies the ending row to span within the grid. See MDN . 
Name Type Description id string The element's unique identifier. See MDN . aria-label string Defines a string value that labels the current element. aria-labelledby string Identifies the element (or elements) that labels the current element. aria-describedby string Identifies the element (or elements) that describes the object. aria-details string Identifies the element (or elements) that provide a detailed, extended description for the object. 
Name Type Description UNSAFE_className string Sets the CSS className  for the element. Only use as a last resort . Use style props instead. UNSAFE_style CSSProperties Sets inline style  for the element. Only use as a last resort . Use style props instead. 
View guidelines 
When badges have a semantic meaning, they should use semantic colors.
Use the appropriate color to indicate status as follows.
import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex  direction = "column"  gap = { 8 } > 
  < Badge  variant = "positive" > 
    Green: Approved, Complete, Success, New, Purchased, Licensed
  < / Badge > 
  < Badge  variant = "info" > Blue: Active, In Use, Live, Published< / Badge > 
  < Badge  variant = "negative" > Red: Error, Alert, Rejected, Failed< / Badge > 
  < Badge  variant = "neutral" > 
    Gray: Archived, Deleted, Paused, Draft, Not Started, Ended
  < / Badge > 
< / Flex > import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex  direction = "column"  gap = { 8 } > 
  < Badge  variant = "positive" > 
    Green: Approved, Complete, Success, New, Purchased,
    Licensed
  < / Badge > 
  < Badge  variant = "info" > 
    Blue: Active, In Use, Live, Published
  < / Badge > 
  < Badge  variant = "negative" > 
    Red: Error, Alert, Rejected, Failed
  < / Badge > 
  < Badge  variant = "neutral" > 
    Gray: Archived, Deleted, Paused, Draft, Not Started,
    Ended
  < / Badge > 
< / Flex > import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex 
  direction = "column" 
  gap = { 8 } 
> 
  < Badge  variant = "positive" > 
    Green: Approved,
    Complete, Success,
    New, Purchased,
    Licensed
  < / Badge > 
  < Badge  variant = "info" > 
    Blue: Active, In
    Use, Live,
    Published
  < / Badge > 
  < Badge  variant = "negative" > 
    Red: Error, Alert,
    Rejected, Failed
  < / Badge > 
  < Badge  variant = "neutral" > 
    Gray: Archived,
    Deleted, Paused,
    Draft, Not Started,
    Ended
  < / Badge > 
< / Flex > 
When badges are used to color code categories, they use label colors. The ideal usage for these is when there
are 8 or fewer categories being color coded.
import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex  direction = "column"  gap = { 8 } > 
  < Badge  variant = "seafoam" > Seafoam< / Badge > 
  < Badge  variant = "indigo" > Indigo< / Badge > 
  < Badge  variant = "purple" > Purple< / Badge > 
  < Badge  variant = "fuchsia" > Fuchsia< / Badge > 
  < Badge  variant = "magenta" > Magenta< / Badge > 
  < Badge  variant = "yellow" > Yellow< / Badge > 
< / Flex > import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex  direction = "column"  gap = { 8 } > 
  < Badge  variant = "seafoam" > Seafoam< / Badge > 
  < Badge  variant = "indigo" > Indigo< / Badge > 
  < Badge  variant = "purple" > Purple< / Badge > 
  < Badge  variant = "fuchsia" > Fuchsia< / Badge > 
  < Badge  variant = "magenta" > Magenta< / Badge > 
  < Badge  variant = "yellow" > Yellow< / Badge > 
< / Flex > import  { Flex }  from  '@adobe/react-spectrum' ; 
< Flex 
  direction = "column" 
  gap = { 8 } 
> 
  < Badge  variant = "seafoam" > 
    Seafoam
  < / Badge > 
  < Badge  variant = "indigo" > 
    Indigo
  < / Badge > 
  < Badge  variant = "purple" > 
    Purple
  < / Badge > 
  < Badge  variant = "fuchsia" > 
    Fuchsia
  < / Badge > 
  < Badge  variant = "magenta" > 
    Magenta
  < / Badge > 
  < Badge  variant = "yellow" > 
    Yellow
  < / Badge > 
< / Flex >