インスペクターInspectorPanelExperimental
選択中の対象に紐づくプロパティを、セクションとフィールドで閲覧・編集するパネルです。
プレビュー
状態とバリエーション
標準表示
ヘッダー、本文、フッター操作を持つプロパティ編集パネルです。
長方形 1
レイアウト
外観
表示
コンパクト
小さなサイドパネルで少数の設定を扱います。
テキストレイヤー
タイポグラフィ
カスタムヘッダー
ヘッダー内に補助操作を置きたい場合は header を差し替えます。
画像設定
アセット
フッターなし
読み取り専用の補助情報では、フッター操作を省略できます。
読み取り専用メタデータ
詳細
- 形式
- PNG
- サイズ
- 2.4 MB
プロパティ
表は横にスクロールできます
| プロパティ | 型 | 初期値 | 説明 |
|---|---|---|---|
| title | string | - | 標準ヘッダーに表示するタイトルです。 |
| header | React.ReactNode | - | title の代わりに描画するカスタムヘッダーです。 |
| footer | React.ReactNode | - | 下部に固定表示する操作領域です。 |
| children | React.ReactNode | - | セクションやフィールドを含む本文です。 |
| className | string | - | サイズや枠線などを調整する追加 className です。 |
使い方
import {
Button,
HStack,
Input,
InspectorField,
InspectorPanel,
InspectorSection,
Switch,
} from "@gunjo/ui";
export function ShapeInspector() {
return (
<InspectorPanel
title="長方形 1"
className="h-[420px] w-[320px] rounded-lg border shadow-sm"
footer={
<HStack justify="between" className="w-full">
<Button variant="ghost" size="sm">リセット</Button>
<Button size="sm">適用</Button>
</HStack>
}
>
<InspectorSection title="レイアウト">
<div className="grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)] gap-2">
<InspectorField label="X"><Input defaultValue="24" className="h-8 w-full min-w-0" /></InspectorField>
<InspectorField label="Y"><Input defaultValue="48" className="h-8 w-full min-w-0" /></InspectorField>
<InspectorField label="W"><Input defaultValue="240" className="h-8 w-full min-w-0" /></InspectorField>
<InspectorField label="H"><Input defaultValue="160" className="h-8 w-full min-w-0" /></InspectorField>
</div>
</InspectorSection>
<InspectorSection title="外観">
<InspectorField label="塗り"><Input defaultValue="Primary" className="h-8 w-full min-w-0" /></InspectorField>
<HStack justify="between">
<span className="text-xs text-foreground">表示</span>
<Switch defaultChecked />
</HStack>
</InspectorSection>
</InspectorPanel>
);
}設計の判断
- 縦に流れるのは真ん中だけ。
InspectorPanelは題の行・中身・脚の3段で、流れるのは中身だけです。長い設定を下まで見ても、何を選んでいるかを示す題の行と、下の操作は動きません。横には流れないようにしてあります。 - ラベルは列で揃えず、上に積む。資料はラベルの列幅を64pxのように揃えることを勧めています。GUNJO の
InspectorFieldはラベルを入力欄の上に置く形にしました。日本語のラベルは長さの幅が大きく、固定の列にすると折り返すか切れるからです。上に積めば、ラベルの長さに関係なく入力欄の左端が揃います。 - 3段に分けて、平らに並べない。
InspectorPanel(枠)・InspectorSection(群の見出し)・InspectorField(1つの値)の3つに分かれています。設定を平らに並べず、意味のまとまりごとにInspectorSectionで区切ります。選んだものが変わったら遅れなく差し替える、という判断は資料に書いてあります。
いつ・なぜ使うか(UIXHERO)
「いつ・なぜ使うか」の判断は、姉妹サイト UIXHERO の記事で解説しています。