Tinyrack

Collapsible

制御付き・非制御状態に対応し、任意の詳細を表示する 1 つのトリガーとパネルです。

主なプロパティ

プロパティ既定値
状態open で制御、または defaultOpen で非制御閉じた状態
利用可否disabled操作可能
ライフサイクルアンマウント、keepMountedhiddenUntilFoundアンマウント

インストール

pnpm add @tinyrack/ui

長い行はコード領域を横にスクロールして確認できます。

スタイル

@import '@tinyrack/ui/components/collapsible.css';

長い行はコード領域を横にスクロールして確認できます。

インポート

import { TRCollapsible } from '@tinyrack/ui/components/collapsible';

長い行はコード領域を横にスクロールして確認できます。

プレイグラウンド

プレイグラウンドでは、open を重複するコントロールではなく操作状態として扱います。利用可否、ライフサイクル、トリガーのテキストを設定でき、リセットすると閉じてアンマウントする状態に戻ります。

使用方法

制御付き任意詳細 パーマリンク

ポインター、Enter キー、Space キーで操作すると表示結果が更新されます。

API

TRCollapsible.Root

プロパティ型 / 既定値用途
open / defaultOpenboolean / undefined, false制御付きの展開状態、または非制御の初期状態
onOpenChange(open, details) => voidトリガーとブラウザー検索による変更を通知
disabledboolean / falseトリガーをフォーカス可能なまま保ちつつ状態変更を無効化
render, className, style, refBase UI のルートプロパティ動作を保ったまま <div> のホスト要素をカスタマイズ

TRCollapsible.Trigger

aria-expandedaria-controls を持つボタンをレンダリングします。ネイティブボタンのプロパティ、renderstyleref を受け取ります。Enter キーと Space キーで開閉してもフォーカスはトリガーに残り、無効なトリガーは data-disabledaria-disabled を公開します。

TRCollapsible.Panel

閉じたコンテンツを DOM に残す場合は keepMounted、ブラウザーのページ内検索から表示可能にする場合は hiddenUntilFound を使います。両方を指定すると hiddenUntilFound が優先されます。既定では終了トランジション後にアンマウントします。パネルは --collapsible-panel-height--collapsible-panel-widthdata-starting-styledata-ending-style を公開します。

閉じた状態の SSR 出力は選択したライフサイクルに従い、公開された関連付けを変えずにハイドレートされます。Tinyrack CSS はデザインシステムのモーショントークンを使用し、視差効果を減らす設定では装飾的なトランジションを無効にします。TRCollapsibleRootTRCollapsibleTriggerTRCollapsiblePanel、各プロパティ型、Base UI の状態型は @tinyrack/ui/components/collapsible からエクスポートされ、CSS は明示的に読み込んだ場合だけ適用されます。