होवर कार्ड
होवर करने पर खुलने वाला एक फ्लोटिंग पूर्वावलोकन — प्रोफ़ाइल झलकियाँ, लिंक पूर्वावलोकन, शब्दावली शब्द — नियोब्रूटलिस्ट बॉर्डर्स-और-शैडोज़ ट्रीटमेंट के साथ।
import {
Avatar,
AvatarFallback,होवर कार्ड ट्रिगर पर पॉइंटर रुकने पर पेज पर समृद्ध प्रीव्यू कंटेंट का पैनल तैरता है — क्लिक की ज़रूरत नहीं। यह Base UI Preview Card प्रिमिटिव पर बना है और नियोब्रूटलिस्ट रेसिपी के अनुसार स्टाइल किया गया है: मोटे बॉर्डर, कठोर छायाएँ और बोल्ड टाइपोग्राफ़ी।
इसे इन स्थितियों में चुनें:
- प्रोफ़ाइल झलक — @mention या अवतार पर होवर करके बायो, स्टैट और follow बटन दिखाएँ।
- लिंक प्रीव्यू — क्लिक से पहले पेज का टाइटल और सार दिखाएँ।
- ग्लॉसरी शब्द — डॉक्स में jargon इनलाइन परिभाषित करें, बिना कहीं और गए।
इंस्टॉलेशन#
pnpm dlx shadcn@latest add https://neobrutalism.com/r/base/hover-card.jsonnpx shadcn@latest add https://neobrutalism.com/r/base/hover-card.jsonyarn dlx shadcn@latest add https://neobrutalism.com/r/base/hover-card.jsonbunx --bun shadcn@latest add https://neobrutalism.com/r/base/hover-card.json
निम्नलिखित डिपेंडेंसी इंस्टॉल करें:
pnpm add @base-ui/reactnpm install @base-ui/reactyarn add @base-ui/reactbun add @base-ui/react
निम्नलिखित कोड को अपने प्रोजेक्ट में कॉपी और पेस्ट करें.
"use client"
import * as React from "react"
import { HoverCard as HoverCardPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
function HoverCard({
...props
}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {
return <HoverCardPrimitive.Root data-slot="hover-card" {...props} />
}
function HoverCardTrigger({
...props
}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {
return (
<HoverCardPrimitive.Trigger data-slot="hover-card-trigger" {...props} />
)
}
function HoverCardContent({
className,
align = "center",
sideOffset = 4,
...props
}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {
return (
<HoverCardPrimitive.Portal data-slot="hover-card-portal">
<HoverCardPrimitive.Content
data-slot="hover-card-content"
align={align}
sideOffset={sideOffset}
className={cn(
"z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded border-2 bg-popover p-2.5 text-sm text-popover-foreground shadow-md outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
className
)}
{...props}
/>
</HoverCardPrimitive.Portal>
)
}
export { HoverCard, HoverCardTrigger, HoverCardContent }
अपने प्रोजेक्ट सेटअप के अनुसार इंपोर्ट पाथ अपडेट करें.
उपयोग#
import {
HoverCard,
HoverCardContent,
HoverCardTrigger,
} from "@/components/ui/hover-card"<HoverCard>
<HoverCardTrigger>Hover</HoverCardTrigger>
<HoverCardContent>
The React Framework – created and maintained by @vercel.
</HoverCardContent>
</HoverCard>कंपोज़िशन#
HoverCard बनाने के लिए निम्नलिखित कंपोज़िशन का उपयोग करें:
HoverCard
├── HoverCardTrigger
└── HoverCardContentट्रिगर डिले#
कार्ड कब खुलता और बंद होता है यह नियंत्रित करने के लिए ट्रिगर पर delay और
closeDelay का उपयोग करें.
<HoverCard>
<HoverCardTrigger delay={100} closeDelay={200}>
Hover
</HoverCardTrigger>
<HoverCardContent>Content</HoverCardContent>
</HoverCard>पोज़िशनिंग#
प्लेसमेंट नियंत्रित करने के लिए HoverCardContent पर side और align प्रॉप्स का उपयोग करें.
<HoverCard>
<HoverCardTrigger>Hover</HoverCardTrigger>
<HoverCardContent side="top" align="start">
Content
</HoverCardContent>
</HoverCard>उदाहरण#
बुनियादी#
import {
Avatar,
AvatarFallback,Sides#
import { Button } from "@/components/ui/button"
import {
HoverCard,RTL#
Neobrutalism में RTL सपोर्ट सक्षम करने के लिए, RTL कॉन्फ़िगरेशन गाइड देखें.
"use client"
import {एक्सेसिबिलिटी#
होवर कार्ड के लिए समर्पित WAI-ARIA पैटर्न नहीं है — सबसे करीब Tooltip पैटर्न है। Base UI प्रिमिटिव ट्रिगर के कीबोर्ड फ़ोकस पर कार्ड खोलता है और Escape से बंद करता है। फिर भी कंटेंट को दृष्टि वाले उपयोगकर्ताओं के लिए पूरक समझें और ट्रिगर असली लिंक रखें ताकि पूरा कंटेंट गंतव्य पर पहुँच-योग्य रहे।
कीबोर्ड इंटरैक्शन:
| कुंजी | क्रिया |
|---|---|
Tab / Shift + Tab | ट्रिगर पर फ़ोकस ले जाएँ — फ़ोकस से कार्ड खुलता है, छोड़ने पर बंद |
Escape | कार्ड बंद करें |
Enter | ट्रिगर लिंक का पालन करें |
API रेफ़रेंस#
अधिक जानकारी के लिए Base UI डॉक्युमेंटेशन देखें.