はじめに
Kaze (風) は、白と温かみのあるグレーを基調にした超ミニマルな React デザインシステムです。 日本語組版とデータ密度の高い管理画面・金融 UI に最適化されており、明快さ・情報密度・ 落ち着いた美しさを軸に設計しています。派手な装飾ではなく、長時間見続けても疲れない静かな インターフェースを目指しています。
前提条件
- React 18 以上(React 19 推奨)
- TypeScript 5 以上(任意・推奨)
- 任意のバンドラー: Vite, Next.js, Remix, webpack
- SSR / RSC 対応: CSS カスタムプロパティのみで動作
- Tailwind CSS と併用可(レイヤーは kaze.* に分離。併用時は css/core を読み込む)
インストール
npm で Kaze デザインシステムのパッケージをインストールします。
npm install kaze-design-system
CSS の読み込み
推奨: CSS を一括で読み込む方法です。
import "kaze-design-system/css/all";
上級: 個別の CSS ファイルを読み込んで、必要なスタイルだけに絞ることもできます。
import "kaze-design-system/css/tokens"; // デザイントークン(カラー、スペーシング、タイポグラフィ) import "kaze-design-system/css/reset"; // CSS リセット import "kaze-design-system/css/components"; // コンポーネントスタイル import "kaze-design-system/css/utilities"; // ユーティリティクラス
基本的な使い方
パッケージからコンポーネントを import して、React アプリケーションで使用します。
import { Button, Card, CardHeader, CardTitle, CardBody } from "kaze-design-system";
function Dashboard() {
return (
<Card>
<CardHeader>
<CardTitle>ポートフォリオ</CardTitle>
</CardHeader>
<CardBody>
<p>資産の概要をご確認ください。</p>
<Button>詳細を見る</Button>
</CardBody>
</Card>
);
}LP・キャンペーンページ向けの Marketing コンポーネント(Hero, PricingGrid, CTABanner など)は kaze-design-system/marketing サブパスからも import できます。管理画面では Application UI 層だけを、LP では Marketing 層だけを使う、というレイヤーの使い分けを import 文で表現できます。
// Marketing レイヤー(ルートからの import も引き続き有効)
import { Hero, PricingGrid, CTABanner } from "kaze-design-system/marketing";テーマの設定
アプリケーションを ThemeProvider で囲むと、 ライト / ダークテーマの切り替えが有効になります。
import { ThemeProvider } from "kaze-design-system";
function App() {
return (
<ThemeProvider defaultTheme="light">
<YourApp />
</ThemeProvider>
);
}ThemeProvider の defaultTheme には "light"、 "dark"、 "system" を指定できます。
テーマは CSS custom properties (カスタムプロパティ)で実装されています。data-theme 属性の切り替えだけで全コンポーネントが自動的にテーマに追従するため、ランタイムコストはゼロです。 トークンの上書きも通常の CSS で簡単に行えます。
収録コンポーネント
Kaze には 9 カテゴリ・78 個のプロダクション対応コンポーネントが含まれています。 詳細は コンポーネント一覧をご覧ください。
フォーム: Button, FAB, Input, NumberField, Select, Combobox, DatePicker, Checkbox, Radio, Textarea, Switch, FormField, FilterPill, SegmentedControl
データ表示: Card, Badge, StatusBadge, Table, Metric, Avatar, BarList, Tracker, Watermark
チャート: BarChart, DonutChart, Sparkline, LineChart, ColumnChart, Heatmap, CategoryBar, ChartLegend
フィードバック: Alert, Progress, Meter, Skeleton, EmptyState, Spinner, TypingIndicator, Toast
ナビゲーション: Tabs, Sidebar, TopBar, Link, Breadcrumb, Pagination, Stepper, Disclosure
オーバーレイ: Dialog, Drawer, Tooltip, Popover, HelpButton, Dropdown, CommandPalette
レイアウト: Layout (AppLayout), Divider, Grid, Search, Logo, Icon, Heading, Text, VisuallyHidden
リスト: List, DescriptionList, Timeline
マーケティング: AnnouncementBar, Navbar, Hero, Section, SplitSection, FeatureGrid, Stats, Pricing, Testimonial, FAQ, CTABanner, LPFooter
デザインの考え方
Kaze は可読性・情報密度・視覚的な静けさを重視した、明確なデザイン原則に基づいています。
温かみのあるニュートラルグレーのミニマルパレット: カラーシステム全体を わずかに温度を帯びたグレースケールで統一し、集中を妨げない落ち着いたインターフェースを 実現しています。アクセントカラーは意図的に最小限に抑え、データそのものを主役にします。
日本語に最適化した組版: プロポーショナルかな(palt)を全体にかけて字間を整え、 本文の行間は 1.625 とゆったりめにとっています。
Montserrat + Noto Sans JP: 英数字は Montserrat、かなと漢字は Noto Sans JP で組みます。数字や英語のラベルまで、Kaze らしい形にそろいます。