ナビゲーションと開示@neumorphism-ui/resizable

Resizable

サイズ計算と separator のアクセシビリティは react-resizable-panels に任せます。ニューモーフィズムはパネル境界と handle の表面だけを担当します。

@neumorphism-ui/resizable
Registry JSON

プレビュー

一覧
詳細

インストール

インストール: resizablenpx shadcn@latest add @neumorphism-ui/resizable

CLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。

この Registry を初めて使う場合は、先に namespace の設定 を完了してください。

使い方

Import

Resizable の import コード
"use client";
import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from "@/components/ui/resizable";

Example

Resizable の使用コード
export default function Example() {
  return <ResizablePanelGroup orientation="horizontal" className="h-48 max-w-lg">
    <ResizablePanel defaultSize={40} minSize={25}><div className="grid h-full place-items-center p-4">一覧</div></ResizablePanel>
    <ResizableHandle withHandle />
    <ResizablePanel defaultSize={60} minSize={30}><div className="grid h-full place-items-center p-4">詳細</div></ResizablePanel>
  </ResizablePanelGroup>;
}

API リファレンス

コンポーネントプロパティ型デフォルト説明
ResizablePanelGrouporientation必須"horizontal" | "vertical"—パネルの分割方向を指定します。
ResizablePaneldefaultSizenumber | string—初期パネルサイズを指定します。
ResizablePanelminSize / maxSizenumber | string—パネルが縮小・拡大できる範囲を制限します。
ResizableHandlewithHandlebooleanfalseseparator 中央に視覚的な grip を表示します。
ResizableHandledisabledbooleanfalseseparator を表示したままリサイズを無効にします。

アクセシビリティ

  • 01

    ResizableHandle はライブラリの separator 意味と現在値を使用するため、偽の slider を追加しません。

  • 02

    キーボード利用者は separator にフォーカスし、方向キーでパネルサイズを変更できます。

  • 03

    視覚的 grip は aria-hidden とし、操作の意味は separator 自体が担当します。