Toolbar

İlişkili kontrollerden (biçimlendirme butonları, görünüm seçenekleri, bir menü) oluşan ve tek bir Tab durağı olan satır; kontroller arasında ok tuşlarıyla geçilir.

Import

import { Toolbar } from "@meridui/react";

Anatomi

<Toolbar.Root aria-label="…">
  <Toolbar.Group aria-label="…">
    <Toolbar.Button />
  </Toolbar.Group>
  <Toolbar.Separator />
  <Toolbar.Link />
</Toolbar.Root>
  • Root, role="toolbar" elemanıdır. Ona bir aria-label ver.
  • Button ve Link, ok tuşlarının arasında gezdiği öğelerdir. asChild ile her eleman katılabilir, örneğin bir DropdownMenu.Trigger.
  • Group (role="group") ve Separator öğeleri düzenler.

Örnekler

Açılıp kapanan butonlar

Bir biçimlendirme düğmesi, aria-pressed taşıyan bir Toolbar.Button'dır; basılı state accent-soft dolgu alır. Yalnızca birinin açık olabildiği bir set için state'i kendi component'inde tut.

Toolbar içinde menüler

Yukarıdaki örnekteki gibi bir Toolbar.Button'ı DropdownMenu.Trigger asChild ile sar. Menü Enter, Space ya da ArrowDown ile açılır; kapanınca focus toolbar'a döner.

API referansı

Root

Tüm <div> attribute'larını kabul eder.

PropTipVarsayılanAçıklama
aria-labelstring–Erişilebilir ad; aria-labelledby vermiyorsan zorunlu.
orientation"horizontal" | "vertical""horizontal"Yerleşim ve ok tuşu ekseni.
loopbooleantrueSon öğeden ilke döner.
refRef<HTMLDivElement>–İletilen ref.

Button

Tüm <button> attribute'larını kabul eder.

PropTipVarsayılanAçıklama
disabledbooleanfalsearia-disabled atar ve tıklamaları engeller; ok tuşları atlar.
asChildbooleanfalse<button> yerine tek child elemanı render'lar.
refRef<HTMLButtonElement>–İletilen ref.

Link tüm <a> attribute'larını ve asChild'ı kabul eder. Group ve Separator tüm <div> attribute'larını kabul eder; separator'ın aria-orientation'ı toolbar'a dik ayarlanır.

Stil verme

SınıfEleman
.mrd-toolbarRoot
.mrd-toolbar__groupGroup
.mrd-toolbar__button, .mrd-toolbar__linkButton ve Link (asChild değilse)
.mrd-toolbar__separatorSeparator
AttributeNeredeDeğerler
data-orientationRoothorizontal, vertical
aria-pressedButtontrue basılı stili alır
data-disabledButtondevre dışıyken bulunur

Erişilebilirlik

Roving tabindex ile WAI-ARIA Toolbar desenini izler: Tab sırasında yalnızca bir öğe bulunur ve toolbar son focus alan öğeyi hatırlar. Sağ ve Sol oklar RTL'de okuma yönünü izler.

TuşNe yapar
TabToolbar'a (son focus alan öğeye) girer ya da çıkar.
ArrowRightSonraki öğe; sona gelince başa döner (dikeyde ArrowDown).
ArrowLeftÖnceki öğe; başa gelince sona döner (dikeyde ArrowUp).
Homeİlk öğe.
EndSon öğe.
EnterSpaceFocus'taki butonu çalıştırır.

Kullanım ilkeleri

Yap

Aynı şey üzerinde çalışan üç ya da daha fazla ilişkili kontrolü grupla; örneğin bir editördeki metin.

Kaçın

Bir sayfanın birbiriyle ilgisiz butonlarını görünüm için toolbar'a sarmak; her biri kendi Tab durağını kaybeder.

İlgili sayfalar