Resizable

Resizableは、キーボードのサポートを備えたサイズ変更可能なレイアウトコンポーネントです。

One
Two

使い方

import { Resizable } from "@yamada-ui/react"
<Resizable.Root>
  <Resizable.Item />
  <Resizable.Trigger />
</Resizable.Root>

バリアントを変更する

Border
Two
Spacer
Two

カラースキームを変更する

One
Two
One
Two

方向を変更する

方向を変更する場合は、orientation"horizontal"または"vertical"を設定します。デフォルトでは、"horizontal"が設定されています。

One
Two
One
Two

デフォルトサイズを使う

デフォルトサイズを使う場合は、Resizable.ItemdefaultSizeに文字列または数値を設定します。

One
Two

最小・最大サイズを使う

最小・最大サイズを使う場合は、Resizable.ItemminSizemaxSizeに文字列または数値を設定します。

One
Two

折りたたみを可能にする

折りたたみを可能にする場合は、collapsibletrueに設定します。

minSizeは折りたたむ前の文字列または数値を設定し、collapsedSizeは折りたたんだ状態の文字列または数値を設定します。

One
Two
One
Two

アイコンを追加する

アイコンを追加する場合は、Resizable.TriggericonReactNodeを設定します。

One
Two
One
Two

ネストした構造

Left
Top
Bottom
Top
Left
Right

無効にする

無効にする場合は、disabledtrueに設定します。

One
Two
Three
One
Two
Three

リサイズイベントをハンドルする

One
Two

ローカルストレージまたはCookieに値を保存する場合は、Resizable.useLayoutを使用します。

One
Two

ローカルストレージを使用する場合は、storagelocalStorageを設定します。

const { defaultLayout, onLayoutChanged } = Resizable.useLayout({
  id: "persistence",
  storage: localStorage,
})

制御する

One
Two

Props

アクセシビリティ

Resizableは、アクセシビリティに関してWAI-ARIA - Window Splitter Patternに従います。

キーボード操作

キー説明状態
ArrowRightkeyboardStepの値に基づいて値を増加します。orientation="horizontal"
ArrowLeftkeyboardStepの値に基づいて値を減少します。orientation="horizontal"
ArrowUpkeyboardStepの値に基づいて値を増加します。orientation="vertical"
ArrowDownkeyboardStepの値に基づいて値を減少します。orientation="vertical"
Enter折りたたみ前なら折りたたみ、折りたたみ後ならminSizeまで戻します。collapsible="true"
HomeminSizeの値を設定します。-
EndmaxSizeの値を設定します。-

ARIAロールと属性

コンポーネントロールと属性使い方
Resizable.ItemidResizable.Triggerと関連付けるために使用するid
Resizable.Triggerrole="separator"セパレーターであることを示します。
aria-controls関連したResizable.Itemidを設定します。
aria-orientationorientationの値に基づいて"horizontal"または"vertical"を設定します。デフォルトは"horizontal"です。
aria-valueminminSizeの値を設定します。デフォルトは0です。
aria-valuemaxmaxSizeの値を設定します。デフォルトは100です。
aria-valuenow現在の値を設定します。

類似のコンポーネント

ZStack

ZStackは、子要素を奥行き方向にスタックするために使用されます。

VStack

VStackは、子要素を垂直方向にスタックするために使用されます。

Wrap

Wrapは、Flexwrapを設定したコンポーネントです。Flexから便利なスタイルのショートハンドを継承しています。

Stack

Stackは、要素をグループ化し、子要素間にスペースを設けるコンポーネントです。

Spacer

Spacerは、要素間に空間を追加するために使用するコンポーネントです。

SimpleGrid

SimpleGridは、Gridをより使いやすくシンプルにしたコンポーネントです。

Separator

Separatorは、要素間において区切りを表すコンポーネントです。

Group

Groupは、複数の要素をまとめて扱うためのコンポーネントです。

使用しているコンポーネント・フック