Hover Card

Hover Card (호버 카드)

요소 위에 마우스를 올렸을 때 추가 콘텐츠를 표시하는 컴포넌트예요. 카드에 대한 부가 정보를 손쉽게 보여줘요.

출처: 문서

본문

사용법 (Usage)

import { HoverCard } from "@chakra-ui/react"
<HoverCard.Root>
  <HoverCard.Trigger />
  <HoverCard.Positioner>
    <HoverCard.Content>
      <HoverCard.Arrow>
        <HoverCard.ArrowTip />
      </HoverCard.Arrow>
    </HoverCard.Content>
  </HoverCard.Positioner>
</HoverCard.Root>

단축키 (Shortcuts)

HoverCard는 흔한 사용 사례에 대한 단축키를 제공해요.

Arrow

HoverCard.Arrow는 기본적으로 HoverCard.ArrowTip 컴포넌트를 내부에 렌더링해요.

이렇게 쓸 수 있어요:

<HoverCard.Arrow>
  <HoverCard.ArrowTip />
</HoverCard.Arrow>

화살표 팁을 커스터마이즈할 필요가 없다면 이렇게 더 간결하게 쓸 수도 있어요.

<HoverCard.Arrow />

예제 (Examples)

제어 (Controlled)

open과 onOpenChange prop을 사용해 호버 카드의 표시 여부를 제어해요.

여러 개의 트리거 (Multiple Triggers)

링크마다 호버 카드를 따로 마운트하지 마세요. 하나의 Root 아래 각 Trigger에 value를 넣으면 돼요. 다른 트리거에 마우스를 올리면 같은 카드가 그 위치로 이동해요.

지연 (Delays)

openDelay와 closeDelay prop을 사용해 열리고 닫히는 지연 시간을 제어해요.

배치 (Placement)

positioning.placement prop을 사용해 내부의 floating-ui 위치 지정 로직을 설정해요.

비활성화 (Disabled)

disabled prop을 사용해 상호작용 시 호버 카드가 열리지 않도록 방지해요.

다이얼로그에서 열기 (Open From Dialog)

Dialog 안에서 HoverCard를 사용할 때는 HoverCard.Positioner를 문서 body로 포탈하지 않아야 해요.

-<Portal>
  <HoverCard.Positioner>
    <HoverCard.Content>
      {/* ... */}
    </HoverCard.Content>
  </HoverCard.Positioner>
-</Portal>

접근성 (Accessibility)

HoverCard는 컨텍스트를 이해하는 데 필수적이지 않은 보충 정보에만 사용해야 해요.

스크린 리더로 접근할 수 없고 키보드로 활성화할 수도 없으므로, 중요한 콘텐츠를 그 안에 넣지 마세요.

Props

Root

HoverCard 컴포넌트의 Root 부분에 대한 prop 테이블 (대화형 문서 참고).

Trigger

HoverCard 컴포넌트의 Trigger 부분에 대한 prop 테이블 (대화형 문서 참고).

더 알아보기 (Learn more)