Files
DABEEO-DETECTION-APPLICATION/web-app/app/shared/components/tooltip/Tooltip.stories.tsx

107 lines
3.2 KiB
TypeScript

import type { Meta, StoryObj } from '@storybook/react'
import { Button, TooltipTrigger } from 'react-aria-components'
import { Tooltip } from './Tooltip'
const meta = {
title: 'Components/Tooltip',
component: Tooltip,
args: {
children: '툴팁 내용',
},
argTypes: {
bgColor: {
control: 'select',
options: ['white', 'tertiary'],
},
},
} satisfies Meta<typeof Tooltip>
export default meta
type Story = StoryObj<typeof meta>
export const Default: Story = {
render: () => (
<TooltipTrigger>
<Button className="px-4 py-2 bg-primary text-white rounded"> </Button>
<Tooltip> .</Tooltip>
</TooltipTrigger>
),
}
export const WhiteBackground: Story = {
render: () => (
<TooltipTrigger>
<Button className="px-4 py-2 bg-primary text-white rounded"> </Button>
<Tooltip bgColor="white"> .</Tooltip>
</TooltipTrigger>
),
}
export const TertiaryBackground: Story = {
render: () => (
<TooltipTrigger>
<Button className="px-4 py-2 bg-primary text-white rounded">Tertiary </Button>
<Tooltip bgColor="tertiary">Tertiary .</Tooltip>
</TooltipTrigger>
),
}
export const LongContent: Story = {
render: () => (
<TooltipTrigger>
<Button className="px-4 py-2 bg-primary text-white rounded"> </Button>
<Tooltip>
. 200px로 .
.
</Tooltip>
</TooltipTrigger>
),
}
export const MultilineContent: Story = {
render: () => (
<TooltipTrigger>
<Button className="px-4 py-2 bg-primary text-white rounded"> </Button>
<Tooltip>{`첫 번째 줄\n두 번째 줄\n세 번째 줄`}</Tooltip>
</TooltipTrigger>
),
}
export const PlacementVariants: Story = {
render: () => (
<div className="flex gap-8 p-16">
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">Top ()</Button>
<Tooltip placement="top"> </Tooltip>
</TooltipTrigger>
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">Bottom</Button>
<Tooltip placement="bottom"> </Tooltip>
</TooltipTrigger>
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">Left</Button>
<Tooltip placement="left"> </Tooltip>
</TooltipTrigger>
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">Right</Button>
<Tooltip placement="right"> </Tooltip>
</TooltipTrigger>
</div>
),
}
export const AllBackgroundColors: Story = {
render: () => (
<div className="flex gap-8 p-8">
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">White</Button>
<Tooltip bgColor="white">White </Tooltip>
</TooltipTrigger>
<TooltipTrigger>
<Button className="px-4 py-2 bg-gray-200 rounded">Tertiary</Button>
<Tooltip bgColor="tertiary">Tertiary </Tooltip>
</TooltipTrigger>
</div>
),
}