لوح منبثق

Popover

لوحة منبثقة في React مبنية على Radix لمحتوى غني مثبت على مشغل: نماذج تحرير مضمنة، مرشحات، ومعاينات، مع سهم اختياري وحصر للتركيز في وضع modal.

يعرض Popover محتوى غنياً مثبتاً على مشغل. تحمل اللوحة role="dialog"، لذلك أعطها aria-label. مرر modal لحصر التركيز.

متى تستخدمه

استخدم Popover حين تحتاج أداة إلى لوحة صغيرة من المحتوى التفاعلي بجانبها: نموذج تحرير مضمن، قائمة تواريخ جاهزة، أو مرشح سريع. استخدم Tooltip للتلميحات المخصصة للقراءة فقط، وModal للمهام التي يجب أن تحجب الصفحة.

مرر modal حين تحوي اللوحة نموذجاً يجب على المستخدم إنهاؤه.

أمثلة

افتراضي

مع سهم

نموذج تحرير مضمن

الخصائص

الخصائص التي يعرفها Popover. سمات العنصر الأصلي تمر كما هي.

<Popover>

الخاصيةالنوعالافتراضيالوصف
childrenReactNode
openboolean
defaultOpenboolean
onOpenChange(open: boolean) => void
modalboolean

<PopoverTrigger>

الخاصيةالنوعالافتراضيالوصف
asChildboolean

<PopoverAnchor>

الخاصيةالنوعالافتراضيالوصف
virtualRefReact.RefObject<Measurable>
asChildboolean

<PopoverContent>

الخاصيةالنوعالافتراضيالوصف
size"sm" | "md"
arrowbooleanShow a small arrow pointing at the trigger. Defaults to false.
deferPointerDownOutsidebooleanWhen true, a 'pointerdown' event outside of the layered element will wait for the interaction's click event before dispatching, allowing third-party code to stop propagation of later events and cancel dismissal.
onEscapeKeyDown(event: KeyboardEvent) => voidEvent handler called when the escape key is down. Can be prevented.
onPointerDownOutside(event: PointerDownOutsideEvent) => voidEvent handler called when the a pointerdown event happens outside of the DismissableLayer. Can be prevented.
onFocusOutside(event: FocusOutsideEvent) => voidEvent handler called when the focus moves outside of the DismissableLayer. Can be prevented.
onInteractOutside(event: PointerDownOutsideEvent | FocusOutsideEvent) => voidEvent handler called when an interaction happens outside the DismissableLayer. Specifically, when a pointerdown event happens outside or focus moves outside of it. Can be prevented.
forceMounttrueUsed to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
onOpenAutoFocus(event: Event) => voidEvent handler called when auto-focusing on open. Can be prevented.
onCloseAutoFocus(event: Event) => voidEvent handler called when auto-focusing on close. Can be prevented.
side"top" | "right" | "bottom" | "left"
sideOffsetnumber
align"center" | "start" | "end"
alignOffsetnumber
arrowPaddingnumber
avoidCollisionsboolean
collisionBoundaryElement | Element[]
collisionPaddingnumber | Partial<Record<"top" | "right" | "bottom" | "left", number>>
sticky"always" | "partial"
hideWhenDetachedboolean
updatePositionStrategy"always" | "optimized"

<PopoverClose>

الخاصيةالنوعالافتراضيالوصف
closeLabelstringLocalized label for the default corner-X button. Only used when no children (and no asChild) are provided. Defaults to "Close", or "إغلاق" when the DgaProvider locale is Arabic.
asChildboolean

إمكانية الوصول

تحمل اللوحة role="dialog"، لذلك أعطها aria-label أو aria-labelledby. يغلق مفتاح Escape اللوحة، ويعود التركيز إلى المشغل. عند تمرير modal، يبقى التركيز محصوراً داخل اللوحة.

اربط اللوحة بمشغل قابل للتركيز ليفتحها مستخدم لوحة المفاتيح.