Skip to main content

Badge

The Badge component is a small label used to display additional information, such as a status, count, or tag.

Import

Phaselis exports one main component for Badge.

import { Badge } from "phaselis";
  • Badge: Main Component import for Badge

Usage

Basic Badge

import { Badge, Avatar } from "phaselis";

const Example = () => {
return (
<Badge text="999+" variation="secondary" left={-20} top={-4}>
<Avatar text="NA" />
</Badge>
);
};

export default Example;

Badge with Input Field

import { Badge, Textfield } from "phaselis";

const Example = () => {
return (
<Badge text="1" variation="primary" left={-15} top={-4}>
<Textfield />
</Badge>
);
};

export default Example;

Props

Badge has several customizable props to define its appearance and behavior.

text required

string

The text displayed inside the badge.

import { Avatar } from "phaselis";
<Badge text="9+">
<Avatar text="NA" />
</Badge>

children required

ReactNode

The component or content that the badge is associated with.

import { Avatar } from "phaselis";
<Badge text="xxx">
<Avatar text="SY" />
</Badge>

variation

default | default_outline | primary | primary_outline | secondary | secondary_outline | tertiary | tertiary_outline

Determines the style of the badge.

  • default: Applies the default badge style.
  • default_outline: Applies the default badge style with an outline.
  • primary: Applies the primary badge style.
  • primary_outline: Applies the primary badge style with an outline.
  • secondary: Applies the secondary badge style.
  • secondary_outline: Applies the secondary badge style with an outline.
  • tertiary: Applies the tertiary badge style.
  • tertiary_outline: Applies the tertiary badge style with an outline.
<Badge text="99+" variation="secondary_outline">
<Avatar text="NA" />
</Badge>

style

NameTypeDescription
containerViewStyleThe style for the badge's container element.
elementViewStyleThe style applied to the badge itself.
textTextStyleThe style applied to the text inside the badge.
leftIconTextStyleThe style applied to the left icon.
rightIconTextStyleThe style applied to the right icon.

You can style the badge with the style prop.

// Object with named styles
<Badge
text="999+"
style={{
element: {
backgroundColor: "#2a91ff",
},
text: {
color: "#d8eeff",
},
}}
>
<Avatar text="VA" />
</Badge>

// Direct element styling
<Badge
text="New"
style={{ backgroundColor: "red", borderRadius: 4, padding: 5 }}
>
<Avatar text="VA" />
</Badge>

containerStyle

ViewStyle

Additional style applied directly to the outer container.

<Badge text="9+" containerStyle={{ margin: 10 }}>
<Avatar text="VA" />
</Badge>

textStyle

TextStyle

Additional style applied directly to the badge text.

<Badge text="New" textStyle={{ fontWeight: 'bold' }}>
<Avatar text="VA" />
</Badge>

leftIconStyle

TextStyle

Additional style applied directly to the left icon.

<Badge leftIcon="Bell" leftIconStyle={{ color: '#FF5733' }}>
<Avatar text="VA" />
</Badge>

rightIconStyle

TextStyle

Additional style applied directly to the right icon.

<Badge rightIcon="AlertCircle" rightIconStyle={{ color: '#FF5733' }}>
<Avatar text="VA" />
</Badge>

top | right | bottom | left

number

Optional positioning values to adjust the badge’s placement.

import { Avatar } from "phaselis";
<Badge text="9+" tertiary outline left={-25} top={1}>
<Avatar text="VA" />
</Badge>