垂直スタックVStackBeta
フォーム、カード、説明ブロックなどを縦方向に積み、余白・揃え・高さ内の配置を制御します。
プレビュー
状態とバリエーション
フォーム項目
ラベル、入力、操作を縦方向に積みます。
中央揃え
短い説明や空状態を中央にまとめます。
G
中央揃え
小さな空状態に向いています。
上下に分離
カード内で内容と操作を上下に分けます。
確認キュー
12件が待機中
右揃え
短い説明と操作を右端に揃えます。
請求情報の更新
短い説明と操作を右端に揃えます。
インライン
小さな説明ブロックを inline-flex として扱います。
インラインスタックテキストに近い流れの中で使えます。
プロパティ
表は横にスクロールできます
| プロパティ | 型 | 初期値 | 説明 |
|---|---|---|---|
| gap | 0..12 の数値ステップ | "none" | "xs" | "sm" | "md" | "lg" | "xl" | 2 | 子要素間の余白です。数値スケール(gap={6})でも文字列エイリアス(gap="lg")でも指定できます。size ではなくスペーシングトークンです。 |
| align | "start" | "center" | "end" | "stretch" | "stretch" | 横方向の揃え方です。 |
| justify | "start" | "center" | "end" | "between" | "around" | "evenly" | "start" | 縦方向の配置方法です。 |
| inline | boolean | false | inline-flex として描画します。 |
使い方
import { Button, Input, Label, VStack } from "@gunjo/ui";
export function AccountFormStack() {
return (
<VStack gap={4} className="w-full max-w-sm rounded-md border bg-background p-4">
<VStack gap={2}>
<Label htmlFor="name">名前</Label>
<Input id="name" defaultValue="Gunjo UI" className="w-full" />
</VStack>
<VStack gap={2}>
<Label htmlFor="email">メール</Label>
<Input id="email" defaultValue="team@example.com" className="w-full" />
</VStack>
<Button className="self-start">保存</Button>
</VStack>
);
}