Components

Tag

Color tag chip optimized for multi-select contexts

Overview

Tag is a color tag chip. Similar to Badge but optimized for multi-select contexts.

  • 6 colors — blue, gray, green, purple, red, yellow
  • Removable — Remove by passing tag id via removeFromTask
  • Add button — Add trigger with + icon via addTagButtonVariant

Basic Usage

import { Tag } from '@illog/ui'
 
// Read-only
<Tag tag={{ id: '1', name: 'Design', color: 'purple' }} />
 
// Removable
<Tag
  tag={{ id: '1', name: 'Development', color: 'blue' }}
  removeFromTask={(id) => handleRemoveTag(id)}
/>
 
// Add button
<Tag
  tag={{ name: 'Add Tag' }}
  addTagButtonVariant="default"
  openTagSelector={(e) => openSelector(e)}
/>

Differences from Badge

FeatureTagBadge
Selection modeMulti-selectSingle select
Add icon+ iconChevron icon
Remove callbackremoveFromTask(id)onRemove()
Color requiredRequired in TagTypeOptional in BadgeItem

Props

PropTypeDefaultDescription
tagTagType | OmittedTagrequiredTag data
addTagButtonVariant'default' | 'error'Add button mode
openTagSelector(e: MouseEvent) => voidAdd button click handler
removeFromTask(id: string) => voidTag remove handler

TagType

type TagColor = 'blue' | 'gray' | 'green' | 'purple' | 'red' | 'yellow'
 
type TagType = {
  id: string
  name: string
  color: TagColor
  createdAt: Date
  updatedAt: Date
  deletedAt: Date | null
}

Guidelines

  • Use Tag + TagSelector for multi-select; use Badge + BadgeSelector for single select
  • Tag can also be used for read-only display without add/remove UI