דילוג לתוכן
uiify

Toolbar

קבוצת פקדים עם תחנת Tab אחת וניווט באמצעות מקשי החצים.

דפדפנים
Chrome 123+Firefox 121+Safari 17.5+
שכבה
1
גודל חבילה דחוסה
2.45 kB
מגבלת פריסה כפויה
0 ms
מגבלת Axe
0
תואם SSR
כן
חוזה מפורסם
סביבת בדיקות

מגרש ניסויים

Toolbar

ברירת מחדל





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>
  );
}
/* Toolbar — grouped action buttons with separators. */

@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);
  }
}
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"—כיוון הכתיבה, ההופך את פעולות מקשי החצים שמאלה וימינה.
loopbooleantrueקובע אם הניווט במקשי החצים עובר במחזוריות בין הפריט הראשון לאחרון.
orientation"horizontal" | "vertical" | "both""horizontal"מקשי החצים שמעבירים את המיקוד בין הפריטים, והערך של data-orientation.

Toolbar.Button

מאפייןטיפוסברירת מחדלתיאור
ref / native propsnative element props—המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה.
selectedboolean—מצב ההחלפה של הכפתור: מגדיר aria-pressed וכשהערך true גם data-selected ואת הרקע הראשי המלא.
childrenReactNode—תוכן הכפתור.
classNamestring—המחלקה המוחלת על אלמנט הכפתור.
disabledbooleanfalseמשבית את הכפתור ומוציא אותו מסדר הניווט במיקוד נודד.

Toolbar.Link

Toolbar.Separator

מאפייןטיפוסברירת מחדלתיאור
ref / native propsnative element props—המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה.
classNamestring—המחלקה המוחלת על אלמנט ה-<hr>.
orientation"horizontal" | "vertical""vertical"מגדיר aria-orientation ו-data-orientation על המפריד.

Toolbar.ToggleGroup

מאפייןטיפוסברירת מחדלתיאור
id*string—בסיס למזהים הדטרמיניסטיים ולשם המשותף של קבוצת הקלטים.
type"single" | "multiple""single"קובע אם ניתן ללחוץ על כפתור החלפה אחד או כמה, באמצעות בחירה בין קלטי רדיו לתיבות סימון.
items*readonly ToggleGroupItem[]—כל פריט הוא { value, label, disabled? }.
defaultValuestring | readonly string[] | undefined—הערך הלחוץ בהצגה הראשונה. אינו מבוקר, ולכן נשמר גם ללא JavaScript.
orientation"horizontal" | "vertical""horizontal"הכיוון שבו כפתורי ההחלפה מסודרים.
classNamestring—המחלקה המוחלת על שורש הקבוצה.

מקלדת

מקשפעולה
Tabהעברת המיקוד אל הפקד או ממנו
Enter / Spaceהפעלה כשהפקד ממוקד (פקדים דמויי כפתור)

נגישות

משתמש ב-HTML סמנטי ככל האפשר. בדקו את הסימון המרונדר במגרש הניסויים — ARIA נוסף רק כאשר האלמנטים המובנים אינם מספיקים.

נקודות חיבור לעיצוב

data-disabled
דף זה תורגם אוטומטית וטרם נבדק.