import { Button } from '@mildang/design-system/Button';
import { HoverCard } from '@mildang/design-system/HoverCard';
import { css } from '@mildang/styled-system/css';
const POSITIONS = [
{ key: 'top-start', label: 'TOP-START', side: 'top', align: 'start', gridColumn: 1, gridRow: 1 },
{ key: 'top', label: 'TOP', side: 'top', align: 'center', gridColumn: 2, gridRow: 1 },
{ key: 'top-end', label: 'TOP-END', side: 'top', align: 'end', gridColumn: 3, gridRow: 1 },
{ key: 'left-start', label: 'LEFT-START', side: 'left', align: 'start', gridColumn: 1, gridRow: 3 },
{ key: 'left', label: 'LEFT', side: 'left', align: 'center', gridColumn: 1, gridRow: 5 },
{ key: 'left-end', label: 'LEFT-END', side: 'left', align: 'end', gridColumn: 1, gridRow: 7 },
{ key: 'right-start', label: 'RIGHT-START', side: 'right', align: 'start', gridColumn: 3, gridRow: 3 },
{ key: 'right', label: 'RIGHT', side: 'right', align: 'center', gridColumn: 3, gridRow: 5 },
{ key: 'right-end', label: 'RIGHT-END', side: 'right', align: 'end', gridColumn: 3, gridRow: 7 },
{ key: 'bottom-start', label: 'BOTTOM-START', side: 'bottom', align: 'start', gridColumn: 1, gridRow: 9 },
{ key: 'bottom', label: 'BOTTOM', side: 'bottom', align: 'center', gridColumn: 2, gridRow: 9 },
{ key: 'bottom-end', label: 'BOTTOM-END', side: 'bottom', align: 'end', gridColumn: 3, gridRow: 9 },
] as const;
export default function HoverCardPositionExample() {
return (
<div
className={css({
position: 'relative',
width: '1200px',
padding: '100px',
display: 'grid',
gridTemplateColumns: '1fr 1fr 1fr',
gridTemplateRows: 'auto 16px auto 120px auto 120px auto 16px auto',
columnGap: '16px',
})}
>
{POSITIONS.map(({ key, label, side, align, gridColumn, gridRow }) => (
<div key={key} style={{ gridColumn, gridRow }}>
<HoverCard
content={<div className={css({ width: '250px' })}>{label} 위치 HoverCard</div>}
ContentProps={{
side,
align,
'aria-label': `${label} HoverCard`,
}}
>
<Button variant="tertiary">{label}</Button>
</HoverCard>
</div>
))}
</div>
);
}