Collapsible

Tek bir içerik bölgesini gösterip gizleyen buton. Başlıklı birden çok bölüm için Accordion kullan.

Import

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

Anatomi

<Collapsible.Root>
  <Collapsible.Trigger />
  <Collapsible.Content />
</Collapsible.Root>
  • Root açık/kapalı state'ini tutar ve bir <div> render'lar.
  • Trigger, aria-expanded ve aria-controls taşıyan bir <button>'dır. asChild ile kendi butonuna birleşir.
  • Content bölgenin kendisidir; kapalıyken hidden'dır ve forceMount verilmedikçe children'ı unmount eder.

Örnekler

Controlled, kendi butonunla

API referansı

Root

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

PropTipVarsayılanAçıklama
openboolean–Controlled açık/kapalı state'i.
defaultOpenbooleanfalseUncontrolled kullanımda başlangıç state'i.
onOpenChange(open: boolean) => void–Açık/kapalı state'i değişmesi gerektiğinde çağrılır.
disabledbooleanfalseAçıp kapatmayı engeller; tetikleyici devre dışı kalır.
refRef<HTMLDivElement>–Root'a iletilen ref.

Trigger

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

PropTipVarsayılanAçıklama
asChildbooleanfalse<button> yerine tek child elemanı render'lar; props, ref ve handler'ları birleştirir.
refRef<HTMLButtonElement>–Butona iletilen ref.

Content

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

PropTipVarsayılanAçıklama
forceMountbooleanfalseKapalıyken de children'ı (gizli olarak) mount'lu tutar; örneğin form state'ini korumak ya da sayfa içi aramaya izin vermek için.
refRef<HTMLDivElement>–Bölgeye iletilen ref.

Stil verme

SınıfEleman
.mrd-collapsibleRoot
.mrd-collapsible__triggerTrigger (asChild değilse)
.mrd-collapsible__contentContent
AttributeNeredeDeğerler
data-stateRoot, Trigger, Contentopen, closed
data-disabledRoot, Triggerdevre dışıyken bulunur

Erişilebilirlik

WAI-ARIA Disclosure desenini izler. Tetikleyici gerçek bir buton olduğundan Enter ve Space ile çalışır ve açık/kapalı durumuyla birlikte okunur.

TuşNe yapar
EnterBölgeyi açar ya da kapatır.
SpaceBölgeyi açar ya da kapatır.

Kullanım ilkeleri

Yap

Neyin gösterileceğini söyle: "Build ayrıntılarını göster", "3 repository daha göster".

Kaçın

Zorunlu form alanlarını ya da hata mesajlarını kapalı bir bölgeye saklamak.

İlgili sayfalar

  • Accordion: başlıklı birden çok bölüm.
  • Tabs: eşit ağırlıktaki paneller arasında geçiş.