Sparkle Design for React

Sparkle Design for ReactはSparkle Designで定義されたコンポーネント群をReactで利用可能にするコンポーネントライブラリです。
shadcn/uiをベースに作られており、shadcn/ui registryによる機能を活用することもできます。詳細な使い方は以下のリポジトリを参照してください。
導入方法
Sparkle Design for Reactを導入するには、2つの方法があります。用途に応じて選択してください。
npm パッケージとして導入
全コンポーネントをまとめてインストールします。
npm install sparkle-designコンポーネントはパッケージから直接インポートして使用します。
import { Button } from "sparkle-design";shadcnレジストリから個別に追加
必要なコンポーネントだけを選んで追加できます。コンポーネントのソースコードがプロジェクトにコピーされるため、自由にカスタマイズが可能です。
npx shadcn@latest add @sparkle-design/button追加されたコンポーネントは src/components/ui/<component-name>/index.tsxに配置されます。ローカルファイルとしてインポートします。
import { Button } from "@/components/ui/button";スタイルのセットアップ
Sparkle Design のスタイルを適用するには、CSS 生成ツールでプロジェクトに合った CSS
を生成し、グローバルスタイルに読み込みます。
またフォントに関してはhead要素に読み込むコンポーネントを生成します。
1. 設定ファイルを用意する
プロジェクトルートに sparkle.config.json を配置します。Figma の Sparkle Design Theme Settings プラグインから書き出すか、手動で作成してください。
{
"primary": "blue",
"font-pro": "Noto Sans JP",
"font-mono": "Noto Sans Mono",
"radius": "md"
}設定項目:
primary: プライマリカラー(blue, red, orange など)font-pro: プロポーショナルフォント(Google Fonts の名前)font-mono: モノスペースフォント(Google Fonts の名前)radius: 角丸設定(sm, md, lg など)
2. CSSとフォント読み込み用コンポーネント を生成する
以下のコマンドで sparkle.config.json の設定に基づいた CSS を生成します。
npx sparkle-design-cli generateこのコマンドはプライマリカラー、フォント設定、角丸設定などのデザイントークンから sparkle-design.cssファイルと SparkleHead.tsx ファイルを生成します。
またTailwindのエントリポイントCSSには自動で必要な記述を追加します。
3. SparkleHeadを配置する
生成されたSparkleHeadは全体の <head> に相当する場所に配置してください。
import { SparkleHead } from "./SparkleHead";
export default function RootLayout({ children }) {
return (
<html>
<head>
<SparkleHead />
</head>
<body>{children}</body>
</html>
);
}基本的な使い方
コンポーネントの使用例
import { Button } from "sparkle-design";
export function SaveForm() {
return (
<div className="flex gap-4">
<Button variant="outline" size="md">
キャンセル
</Button>
<Button variant="primary" size="md">
保存する
</Button>
</div>
);
}各コンポーネントの Props やバリアントは、Guidelines の Components セクションで確認できます。
CLIツール
スタイルの生成に用いたsparkle-design-cliでは他にもいくつかの機能を提供しています。
- setupコマンド … sparkle-designのインストールからAIエージェント向けの調整まで一通りのセットアップを行えます
- checkコマンド … sparkle-designを利用するにあたって、アンチパターンの自動検出や、その他チェック項目のAIエージェント向けの提示などを行えます
詳細は npx sparkle-design-cli --help を参照してください。
