Drawer
לוח שמחליק פנימה מקצה המסך.
- דפדפנים
- Chrome 123+Firefox 121+Safari 17.5+
- שכבה
- 0
- גודל חבילה דחוסה
- 3.95 kB
- מגבלת פריסה כפויה
- 0 ms
- מגבלת Axe
- 0
- תואם SSR
- כן
- מבוסס על
- elements/dialog
- חוזה מפורסם
- סביבת בדיקות
מגרש ניסויים
API
DrawerPanel
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
size | "sm" | "md" | "lg" | "full" | "md" | רוחבים במחשב: 24rem, 32rem, 40rem או הרוחב הזמין. בנייד כל גודל הופך ללוח תחתון אנכי. |
dismiss | "any" | "closerequest" | "none" | "any" | מדיניות סגירה מובנית. Any מאפשר לחיצה על הרקע, Escape והחלקה מטה בנייד; none מחייב פקד סגירה מפורש. |
backdrop | "opaque" | "transparent" | "opaque" | מראה הרקע; אינו משנה את המשמעות המודאלית. |
footer | ReactNode | — | הפעולות שאחרי הגוף הניתן לגלילה. |
id* | string | — | מזהה ייחודי לתיבת הדו-שיח שאליו מכוונים כפתורי הפתיחה והסגירה, כדי שהמגירה תיפתח ותיסגר לפני ההידרציה. |
trigger* | ReactNode | — | תוכן הכפתור שפותח את המגירה. |
title* | ReactNode | — | כותרת המוצגת בתוך המגירה ומשמשת כשמה הנגיש. |
description | ReactNode | — | טקסט משלים המוצג מתחת לכותרת ומקושר באמצעות aria-describedby. |
children | ReactNode | — | תוכן הגוף המוצב בין התיאור לכפתור הסגירה. |
side | "top" | "right" | "bottom" | "left" | "bottom" | הקצה שממנו המגירה מחליקה פנימה. |
closeLabel | string | "Close" | תווית נגישה לאייקון הסגירה העגול. |
className | string | — | המחלקה המוחלת על אלמנט השורש של DrawerPanel. |
slotProps | DrawerSlotProps | — | מאפיינים מובנים לחלקים ש-DrawerPanel יוצר; השורש שלו מקבל מאפיינים מובנים ישירות. |
Drawer.Root (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
open | boolean | — | מצב פתיחה מבוקר. |
defaultOpen | boolean | — | מצב פתיחה התחלתי לא מבוקר. |
onOpenChange | DialogChangeHandler | — | נקראת עם מצב הפתיחה הבא ופרטי הגורם לשינוי. |
side | "top" | "right" | "bottom" | "left" | "bottom" | הקצה שממנו המגירה מחליקה פנימה, הקובע גם את ציר הגרירה. |
modal | boolean | true | פתיחה באמצעות showModal() כך ששאר העמוד אינו אינטראקטיבי מאחורי רקע חוצץ. |
dismissible | boolean | true | מאפשר גרירה מעבר לנקודת ההצמדה האחרונה לסגירת המגירה. |
snapPoints | readonly number[] | — | חלקים יחסיים מגודל המגירה שבהם הלוח מתייצב בעת גרירה. |
activeSnapPoint | number | — | נקודת הצמדה מבוקרת, כאחד הערכים ב-snapPoints. |
defaultActiveSnapPoint | number | — | נקודת הצמדה התחלתית לא מבוקרת. |
onSnapChange | (snap: number) => void | — | נקראת עם נקודת ההצמדה שבה המגירה התייצבה. |
children | ReactNode | — | החלקים Trigger, Content והחלקים הפנימיים. |
Drawer.Trigger (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על כפתור הפתיחה. |
onClick | (event: MouseEvent<HTMLButtonElement>) => void | — | נקראת בלחיצה על כפתור הפתיחה, לפני שהמגירה נפתחת. |
ref | Ref<HTMLButtonElement> | — | ref לכפתור הפתיחה, שמקבל שוב מיקוד כשהמגירה נסגרת. |
children | ReactNode | — | תוכן כפתור הפתיחה. |
Drawer.Content (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על אלמנט תיבת הדו-שיח. |
style | CSSProperties | — | סגנון מוטבע המתמזג עם טרנספורמציית הגרירה שהמגירה מחילה. |
onCancel | ReactEventHandler<HTMLDialogElement> | — | נקראת באירוע cancel המובנה של תיבת הדו-שיח, כגון לחיצה על Escape. |
onClose | ReactEventHandler<HTMLDialogElement> | — | נקראת באירוע close המובנה של תיבת הדו-שיח. |
ref | Ref<HTMLDialogElement> | — | ref לאלמנט תיבת הדו-שיח. |
children | ReactNode | — | תוכן המגירה. |
Drawer.Title (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על אלמנט הכותרת. |
children | ReactNode | — | תוכן הכותרת, שהופך לשם הנגיש של המגירה. |
Drawer.Description (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על אלמנט התיאור. |
children | ReactNode | — | תוכן התיאור, המקושר באמצעות aria-describedby. |
Drawer.Close (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על כפתור הסגירה. |
onClick | (event: MouseEvent<HTMLButtonElement>) => void | — | נקראת בלחיצה על כפתור הסגירה, לפני שהמגירה נסגרת. |
children | ReactNode | — | תוכן כפתור הסגירה. |
Drawer.Handle (client)
| מאפיין | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
className | string | — | המחלקה המוחלת על ידית הגרירה. |
onPointerDown | (event: PointerEvent<HTMLDivElement>) => void | — | נקראת כשהגרירה מתחילה על הידית. |
onPointerMove | (event: PointerEvent<HTMLDivElement>) => void | — | נקראת כשהמצביע נע במהלך גרירה. |
onPointerUp | (event: PointerEvent<HTMLDivElement>) => void | — | נקראת כשהגרירה מסתיימת והמגירה מתייצבת בנקודת הצמדה. |
onPointerCancel | (event: PointerEvent<HTMLDivElement>) => void | — | נקראת כשהדפדפן מבטל את הגרירה. |
מקלדת
| מקש | פעולה |
|---|---|
| Enter / Space | פתיחת תיבת הדו-שיח מהמפעיל שלה או הפעלת Close |
| Escape | בקשת סגירה, אלא אם dismiss הוא none |
| Tab / Shift+Tab | מעבר בתוך תיבת הדו-שיח המודאלית |
נגישות
DrawerPanel משתמש בתיבת דו-שיח עם מזהי יעד, כך שפתיחה, סגירה, כליאת מיקוד והחזרת מיקוד פועלות לפני הידרציה; dismiss שולט ברקע וב-Escape. הלוחות זמינים ברוחבים sm, md, lg ו-full והופכים ליריעות תחתונות בטלפונים. ההחלקה מתחילה בידית או בכותרת, כך שהגוף עדיין נגלל. ה-API בצד הלקוח מוסיף מצב מבוקר ונקודות עצירה.
נקודות חיבור לעיצוב
data-uiify-drawerdata-partdata-sidedata-sizedata-backdropdata-statedata-dragging--uiify-drawer-inline-size--uiify-drawer-transform--uiify-sheet-offset