Tooltip
요소에 대한 추가 정보를 제공하는 툴팁 컴포넌트입니다'use client';
import { Button, Tooltip } from '@vapor-ui/core';
export default function DefaultTooltip() {
return (
<Tooltip.Root>
<Tooltip.Trigger render={<Button>툴팁 보기</Button>} />
<Tooltip.Popup>유용한 정보를 제공하는 툴팁입니다.</Tooltip.Popup>
</Tooltip.Root>
);
}Property
Positioning
Tooltip의 표시 위치를 설정합니다.
import { Button, Tooltip } from '@vapor-ui/core';
export default function TooltipPositioning() {
return (
<div className="flex flex-wrap gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>상단</Button>} />
<Tooltip.Popup positionerElement={<Tooltip.PositionerPrimitive side="top" />}>
상단에 표시되는 툴팁
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>우측</Button>} />
<Tooltip.Popup positionerElement={<Tooltip.PositionerPrimitive side="right" />}>
우측에 표시되는 툴팁
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>하단</Button>} />
<Tooltip.Popup positionerElement={<Tooltip.PositionerPrimitive side="bottom" />}>
하단에 표시되는 툴팁
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>좌측</Button>} />
<Tooltip.Popup positionerElement={<Tooltip.PositionerPrimitive side="left" />}>
좌측에 표시되는 툴팁
</Tooltip.Popup>
</Tooltip.Root>
</div>
);
}Alignment
Tooltip의 정렬 위치를 설정합니다.
import { Button, Tooltip } from '@vapor-ui/core';
export default function TooltipAlignment() {
return (
<div className="space-y-8">
<div>
<h4 className="text-sm font-medium mb-4">하단 정렬</h4>
<div className="flex gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>시작</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="bottom" align="start" />
}
>
시작 위치에 정렬된 툴팁
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>중앙</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="bottom" align="center" />
}
>
중앙에 정렬된 툴팁
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>끝</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="bottom" align="end" />
}
>
끝 위치에 정렬된 툴팁
</Tooltip.Popup>
</Tooltip.Root>
</div>
</div>
<div>
<h4 className="text-sm font-medium mb-4">우측 정렬</h4>
<div className="flex flex-col gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>시작</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="right" align="start" />
}
>
상단 시작 위치
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>중앙</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="right" align="center" />
}
>
중앙 위치
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>끝</Button>} />
<Tooltip.Popup
positionerElement={
<Tooltip.PositionerPrimitive side="right" align="end" />
}
>
하단 끝 위치
</Tooltip.Popup>
</Tooltip.Root>
</div>
</div>
</div>
);
}Delay
Tooltip의 지연 시간을 설정합니다.
import { Button, Tooltip } from '@vapor-ui/core';
export default function TooltipDelay() {
return (
<div className="flex gap-4">
<Tooltip.Root delay={0}>
<Tooltip.Trigger render={<Button>즉시 표시</Button>} />
<Tooltip.Popup>지연 없이 바로 표시되는 툴팁</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root delay={500}>
<Tooltip.Trigger render={<Button>0.5초 지연</Button>} />
<Tooltip.Popup>0.5초 후에 표시되는 툴팁</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root delay={1000}>
<Tooltip.Trigger render={<Button>1초 지연</Button>} />
<Tooltip.Popup>1초 후에 표시되는 툴팁</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root delay={2000}>
<Tooltip.Trigger render={<Button>2초 지연</Button>} />
<Tooltip.Popup>2초 후에 표시되는 툴팁</Tooltip.Popup>
</Tooltip.Root>
</div>
);
}Offset
Tooltip의 거리와 정렬 오프셋을 조정할 수 있습니다.
import { Button, Tooltip } from '@vapor-ui/core';
export default function TooltipOffset() {
return (
<div className="space-y-8">
<div>
<h4 className="text-sm font-medium mb-4">Side Offset (거리 조정)</h4>
<div className="flex gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>0px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive sideOffset={0} />}
>
거리 0px
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>10px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive sideOffset={10} />}
>
거리 10px
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>20px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive sideOffset={20} />}
>
거리 20px
</Tooltip.Popup>
</Tooltip.Root>
</div>
</div>
<div>
<h4 className="text-sm font-medium mb-4">Align Offset (정렬 오프셋)</h4>
<div className="flex gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>-20px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive alignOffset={-20} />}
>
정렬 오프셋 -20px
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>0px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive alignOffset={0} />}
>
정렬 오프셋 0px
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>+20px</Button>} />
<Tooltip.Popup
positionerElement={<Tooltip.PositionerPrimitive alignOffset={20} />}
>
정렬 오프셋 +20px
</Tooltip.Popup>
</Tooltip.Root>
</div>
</div>
</div>
);
}Examples
Content Variations
다양한 형태의 툴팁 내용을 표시할 수 있습니다.
'use client';
import { Button, Tooltip } from '@vapor-ui/core';
export default function TooltipPopup() {
return (
<div className="flex flex-wrap gap-4">
<Tooltip.Root>
<Tooltip.Trigger render={<Button>간단한 텍스트</Button>} />
<Tooltip.Popup>간단한 툴팁 메시지</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>긴 텍스트</Button>} />
<Tooltip.Popup>
이것은 더 긴 툴팁 메시지입니다. 여러 줄에 걸쳐 표시될 수 있으며 유용한 정보를
제공합니다.
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>포맷된 텍스트</Button>} />
<Tooltip.Popup>
<div className="space-y-1">
<div className="font-bold">제목</div>
<div className="text-sm">설명 텍스트가 여기에 있습니다.</div>
<div className="text-xs text-gray-600">추가 정보</div>
</div>
</Tooltip.Popup>
</Tooltip.Root>
<Tooltip.Root>
<Tooltip.Trigger render={<Button>키보드 단축키</Button>} />
<Tooltip.Popup>
<div className="flex items-center gap-2">
<span>저장하기</span>
<kbd className="px-1.5 py-0.5 text-xs bg-gray-200 rounded">Ctrl+S</kbd>
</div>
</Tooltip.Popup>
</Tooltip.Root>
</div>
);
}Props Table
Tooltip.Root
Loading component documentation...
Tooltip.Trigger
Loading component documentation...
Tooltip.Popup
Loading component documentation...
Tooltip.PortalPrimitive
Loading component documentation...
Tooltip.PositionerPrimitive
Loading component documentation...
Tooltip.PopupPrimitive
Loading component documentation...