summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/tag.stories.tsx
blob: 73ae880ba1c25e5a19e35eaf294af92d65e119c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// @ts-nocheck
import * as mod from "./tag"
import { create } from "../storybook/scaffold"

const docs = `### Overview
Small label tag for metadata and status chips.

Use alongside headings or lists for quick metadata.

### API
- Optional: \`size\` (normal | large).
- Accepts standard span props.

### Variants and states
- Size variants only.

### Behavior
- Inline element; size controls padding and font size via CSS.

### Accessibility
- Ensure text conveys meaning; avoid color-only distinction.

### Theming/tokens
- Uses \`data-component="tag"\` with size data attributes.

`

const story = create({ title: "UI/Tag", mod, args: { children: "Tag" } })
export default {
  title: "UI/Tag",
  id: "components-tag",
  component: story.meta.component,
  tags: ["autodocs"],
  parameters: {
    docs: {
      description: {
        component: docs,
      },
    },
  },
  argTypes: {
    size: {
      control: "select",
      options: ["normal", "large"],
    },
  },
}

export const Basic = story.Basic

export const Sizes = {
  render: () => (
    <div style={{ display: "flex", gap: "8px", "align-items": "center" }}>
      <mod.Tag size="normal">Normal</mod.Tag>
      <mod.Tag size="large">Large</mod.Tag>
    </div>
  ),
}