Toolbar
קבוצת פקדים עם תחנת Tab אחת וניווט באמצעות מקשי החצים.
- דפדפנים
- Chrome 123+, Firefox 121+, Safari 17.5+
- שכבה
- 1
- גודל חבילה דחוסה
- 2.45 kB
- מגבלת פריסה כפויה
- 0 ms
- מגבלת Axe
- 0
- תואם SSR
- כן
- חוזה מפורסם
- סביבת בדיקות
מגרש ניסויים
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
import { Toolbar } from "@gunkin/uiify";
export default function Example() {
return (
<Toolbar.Root className="" aria-label="Formatting">
<Toolbar.Button>Bold</Toolbar.Button>
<Toolbar.Separator className="" />
<Toolbar.Button>Italic</Toolbar.Button>
</Toolbar.Root>
);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
@layer components {
[data-uiify-toolbar][data-part="root"] {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
padding: var(--space-xs);
border: var(--border-width) solid var(--border);
border-radius: var(--radius-full);
background-color: var(--card);
}
[data-uiify-toolbar][data-part="root"] > hr[data-part="separator"][data-orientation] {
flex: none;
align-self: stretch;
inline-size: var(--border-width);
block-size: auto;
margin-inline: var(--space-md);
border: 0;
background-color: var(--border);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
import { Toolbar } from "@gunkin/uiify";
export default function Example() {
return (
<Toolbar.Root
className="
data-[part=root]:inline-flex data-[part=root]:items-center data-[part=root]:gap-xs data-[part=root]:p-xs
data-[part=root]:border-[length:var(--border-width)] data-[part=root]:border-solid
data-[part=root]:border-border data-[part=root]:rounded-[var(--radius-full)] data-[part=root]:bg-card
"
aria-label="Formatting"
>
<Toolbar.Button>Bold</Toolbar.Button>
<Toolbar.Separator
className="
flex-none self-stretch [inline-size:var(--border-width)] [block-size:auto] mx-md border-0 border-current
border-none bg-border
"
/>
<Toolbar.Button>Italic</Toolbar.Button>
</Toolbar.Root>
);
}
API
Toolbar.Root
dir | "ltr" | "rtl" | — | כיוון הכתיבה, ההופך את פעולות מקשי החצים שמאלה וימינה. |
loop | boolean | true | קובע אם הניווט במקשי החצים עובר במחזוריות בין הפריט הראשון לאחרון. |
orientation | "horizontal" | "vertical" | "both" | "horizontal" | מקשי החצים שמעבירים את המיקוד בין הפריטים, והערך של data-orientation. |
Toolbar.Button
ref / native props | native element props | — | המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה. |
selected | boolean | — | מצב ההחלפה של הכפתור: מגדיר aria-pressed וכשהערך true גם data-selected ואת הרקע הראשי המלא. |
children | ReactNode | — | תוכן הכפתור. |
className | string | — | המחלקה המוחלת על אלמנט הכפתור. |
disabled | boolean | false | משבית את הכפתור ומוציא אותו מסדר הניווט במיקוד נודד. |
Toolbar.Link
ref / native props | native element props | — | המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה. |
children | ReactNode | — | תוכן הקישור. |
className | string | — | המחלקה המוחלת על אלמנט הקישור. |
href* | string | — | יעד הקישור, המאפשר ניווט ללא JavaScript. |
Toolbar.Separator
ref / native props | native element props | — | המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה. |
className | string | — | המחלקה המוחלת על אלמנט ה-<hr>. |
orientation | "horizontal" | "vertical" | "vertical" | מגדיר aria-orientation ו-data-orientation על המפריד. |
Toolbar.ToggleGroup
id* | string | — | בסיס למזהים הדטרמיניסטיים ולשם המשותף של קבוצת הקלטים. |
type | "single" | "multiple" | "single" | קובע אם ניתן ללחוץ על כפתור החלפה אחד או כמה, באמצעות בחירה בין קלטי רדיו לתיבות סימון. |
items* | readonly ToggleGroupItem[] | — | כל פריט הוא { value, label, disabled? }. |
defaultValue | string | readonly string[] | undefined | — | הערך הלחוץ בהצגה הראשונה. אינו מבוקר, ולכן נשמר גם ללא JavaScript. |
orientation | "horizontal" | "vertical" | "horizontal" | הכיוון שבו כפתורי ההחלפה מסודרים. |
className | string | — | המחלקה המוחלת על שורש הקבוצה. |
מקלדת
| מקש | פעולה |
|---|
| Tab | העברת המיקוד אל הפקד או ממנו |
| Enter / Space | הפעלה כשהפקד ממוקד (פקדים דמויי כפתור) |
נגישות
משתמש ב-HTML סמנטי ככל האפשר. בדקו את הסימון המרונדר במגרש הניסויים — ARIA נוסף רק כאשר האלמנטים המובנים אינם מספיקים.
נקודות חיבור לעיצוב
data-disabled