インスペクターInspectorPanelExperimental

選択中の対象に紐づくプロパティを、セクションとフィールドで閲覧・編集するパネルです。

プレビュー

状態とバリエーション

標準表示

ヘッダー、本文、フッター操作を持つプロパティ編集パネルです。

長方形 1

レイアウト

外観

表示

コンパクト

小さなサイドパネルで少数の設定を扱います。

テキストレイヤー

タイポグラフィ

カスタムヘッダー

ヘッダー内に補助操作を置きたい場合は header を差し替えます。

画像設定

アセット

読み取り専用の補助情報では、フッター操作を省略できます。

読み取り専用メタデータ

詳細

形式
PNG
サイズ
2.4 MB

プロパティ

表は横にスクロールできます
プロパティ初期値説明
titlestring-標準ヘッダーに表示するタイトルです。
headerReact.ReactNode-title の代わりに描画するカスタムヘッダーです。
footerReact.ReactNode-下部に固定表示する操作領域です。
childrenReact.ReactNode-セクションやフィールドを含む本文です。
classNamestring-サイズや枠線などを調整する追加 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 の記事で解説しています。