Skip to content

Tag

Tag

A tag component for labels, categories, and removable items.

Import

import { Tag } from '@primitivekit/react';

Basic Usage

<Tag>Default Tag</Tag>

Color Schemes

<Tag colorScheme="primary">Primary</Tag>
<Tag colorScheme="secondary">Secondary</Tag>
<Tag colorScheme="success">Success</Tag>
<Tag colorScheme="warning">Warning</Tag>
<Tag colorScheme="danger">Danger</Tag>
<Tag colorScheme="info">Info</Tag>

Variants

<Tag variant="solid" colorScheme="primary">Solid</Tag>
<Tag variant="subtle" colorScheme="success">Subtle</Tag>
<Tag variant="outline" colorScheme="warning">Outline</Tag>

Sizes

<Tag size="small">Small</Tag>
<Tag size="medium">Medium</Tag>
<Tag size="large">Large</Tag>

Closable

<Tag closable onClose={() => console.log('Tag closed')}>
  Closable Tag
</Tag>

With Icon

import { CheckIcon } from 'your-icon-library';

<Tag icon={<CheckIcon />} colorScheme="success">
  Verified
</Tag>

Props

PropTypeDefaultDescription
variant'solid' | 'subtle' | 'outline''solid'Tag variant
colorScheme'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info''primary'Color scheme
size'small' | 'medium' | 'large''medium'Tag size
closablebooleanfalseShow close button
onClosefunction-Close handler
iconReactNode-Tag icon
childrenReactNoderequiredTag content
classNamestring-Additional CSS classes

Customization

<Tag
  style={{
    '--tag-bg': 'rgba(255, 230, 230, 1)',
    '--tag-color': 'rgba(200, 0, 0, 1)',
    '--tag-border-radius': '20px',
    '--tag-padding-x': '16px',
  }}
>
  Custom Tag
</Tag>

Examples

Tag Group

function TagGroup() {
  const [tags, setTags] = useState(['React', 'TypeScript', 'CSS']);

  const removeTag = (tagToRemove) => {
    setTags(tags.filter(tag => tag !== tagToRemove));
  };

  return (
    <Space wrap>
      {tags.map(tag => (
        <Tag 
          key={tag} 
          closable 
          onClose={() => removeTag(tag)}
        >
          {tag}
        </Tag>
      ))}
    </Space>
  );
}

Category Tags

<Space wrap>
  <Tag colorScheme="primary">JavaScript</Tag>
  <Tag colorScheme="success">React</Tag>
  <Tag colorScheme="info">TypeScript</Tag>
  <Tag colorScheme="warning">CSS</Tag>
</Space>

Accessibility

  • ✅ Semantic HTML
  • ✅ Keyboard navigation for close button
  • ✅ Focus indicators
  • ✅ Screen reader support

Related Components