HoverCard

Bir link'in üzerine gelince ya da ona focus verince kısa bir gecikmeden sonra görünen önizleme kartı: bir profil, bir repository, bir sayfa özeti.

İki saat önce @ada tarafından incelendi.

Import

import { HoverCard } from "@meridui/react";

Anatomi

<HoverCard.Root>
  <HoverCard.Trigger />
  <HoverCard.Content />
</HoverCard.Root>
  • Root açık/kapalı state'ini ve gecikmeleri tutar. Kendisi bir eleman render'lamaz.
  • Trigger bir <a>'dır; asChild ile kendi Link'ine ya da router link'ine birleşir.
  • Content, tetikleyiciye göre konumlanan ve portal'lanan karttır. Yalnızca açıkken mount edilir.

Örnekler

Gecikmeler ve konum

openDelay (varsayılan 500ms) imleç üzerinden geçerken kartların yanıp sönmesini önler; closeDelay (varsayılan 300ms) imlecin link'ten karta geçmesine izin verir, kart hover'dayken açık kalır.

API referansı

Root

PropTipVarsayılanAçıklama
openboolean–Controlled açık/kapalı state'i.
defaultOpenbooleanfalseUncontrolled kullanımda başlangıç state'i.
onOpenChange(open: boolean) => void–Açık/kapalı state'i değişmesi gerektiğinde çağrılır.
openDelaynumber500Hover ya da focus'ta açılmadan önceki gecikme, ms.
closeDelaynumber300İmleç ayrıldıktan sonra kapanmadan önceki gecikme, ms.

Trigger

Tüm <a> attribute'larını kabul eder.

PropTipVarsayılanAçıklama
asChildbooleanfalse<a> yerine tek child elemanı (örneğin kendi Link'ini) render'lar; props, ref ve handler'ları birleştirir.
refRef<HTMLAnchorElement>–İletilen ref.

Content

Tüm <div> attribute'larını kabul eder.

PropTipVarsayılanAçıklama
placementPlacement"bottom"Tetikleyiciye göre tercih edilen konum.
sideOffsetnumber8Tetikleyiciye px cinsinden uzaklık.
containerElement | nulldocument.bodyPortal hedefi.
refRef<HTMLDivElement>–Karta iletilen ref.

Stil verme

SınıfEleman
.mrd-hover-cardContent
AttributeNeredeDeğerler
data-stateTriggeropen, closed
data-stateContentopen

Erişilebilirlik

Hover card tamamlayıcıdır: hover'da ve klavye focus'unda açılır ama ekran okuyuculara bildirilmez ve içeriği Tab sırasında değildir. Tetikleyici tek başına anlamlı olmalı (link tam profile gider); kritik ya da etkileşimli hiçbir şey yalnızca kartta durmamalı. Dokunmatik hover yok sayılır. Etkileşimli içerik için Popover kullan.

TuşNe yapar
TabTetikleyiciye focus vermek kartı openDelay sonra açar; ayrılmak kapatır.
EscapeKartı kapatır.

Kullanım ilkeleri

Yap

Link'in gösterdiği şeyi önizle: bir kişinin kim olduğu, bir repository'nin içinde ne olduğu.

Kaçın

Hover card'a buton, form ya da bilginin tek kopyasını koymak.

İlgili sayfalar

  • Tooltip: bir kontrol için kısa metin etiketi.
  • Popover: tıklamayla açılan, etkileşimli içerik taşıyabilen panel.