インストール
Tinyrack UI を導入し、テーマを適用した React コントロールを表示します。
React 19 アプリケーションに Tailwind CSS 4.3 以上、5 未満と Tinyrack UI を設定し、テーマを 適用した主要なアクションを表示します。既存の Vite React アプリケーションと Node.js 24 以降が必要です。
1. パッケージをインストールする
pnpm add @tinyrack/ui react react-dom
2. Vite に Tailwind CSS を追加する
@tailwindcss/vite を開発依存関係としてインストールし、Tailwind の Vite プラグインを
設定に追加してください。
pnpm add -D tailwindcss@^4.3.0 @tailwindcss/vite@^4.3.0
import tailwindcss from '@tailwindcss/vite';
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [react(), tailwindcss()],
});
3. CSS の読み込み順を設定する
Tailwind CSS を最初に読み込んでください。次に、グローバルエントリーポイントで
core.css を一度だけ読み込み、すべてのコンポーネントスタイルより前に配置します。
コンポーネントの JavaScript は CSS を自動で読み込みません。
@import "tailwindcss";
@import "@tinyrack/ui/core.css";
@import "@tinyrack/ui/components/button.css";
4. テーマを選ぶ
ドキュメントのルート要素に data-theme="tinyrack-light" を設定してください。暗い
インターフェースでは、組み込みの tinyrack-dark も利用できます。
core.css は、選択したテーマの --tinyrack-surface と --tinyrack-text を
html と body に適用します。ページキャンバスに別の表現が必要な場合は、
後から読み込むアプリケーション CSS で上書きしてください。
<html data-theme="tinyrack-light">
5. 主要アクションを表示する
公開サブパスからコンポーネントを読み込み、intent でアクションの意味を
指定してください。
import { TRButton } from '@tinyrack/ui/components/button';
export function DeployButton() {
return <TRButton intent="primary">変更をデプロイ</TRButton>;
}
結果を確認する
Vite 開発サーバーを起動してください。ボタンにライトテーマと主要アクションの
スタイルが適用され、キーボードフォーカスが表示されます。スタイルが適用されない
場合は、core.css が button.css より前にあることを確認してください。
基礎でシステムのルールを理解するか、 Button コンポーネントからインターフェースを構築してください。
CI でデザインシステムを適用する
@tinyrack/ui に含まれるチェッカーは、デフォルトで src と app の
プロダクションコードを検査します。
pnpm exec tinyrack-ui-check
pnpm exec tinyrack-ui-check --format=github
視覚的なリテラル値、p-4 などの標準 Tailwind デザインユーティリティ、
Tinyrack の非公開パス、公開 TR コンポーネントに置き換えられるネイティブ
コントロール、読み込まれていない基礎 CSS やコンポーネント CSS を違反として
報告します。p-tinyrack-md などの Tinyrack ユーティリティと公開トークンを
使用してください。違反時の終了コードは 1、設定またはソースを解析できない
場合は 2 です。
デフォルトのパスを変更する場合は、プロジェクトルートに
tinyrack.check.json を追加してください。
{
"include": ["packages/client/src/**"],
"exclude": ["packages/client/src/generated/**"]
}
baseline モードはありません。トークンで表現できない構造的な値には、ルール ID とレビュー可能な理由を記載した次行だけの抑制を使用できます。
/* tinyrack-check-ignore-next-line tokens/no-literal -- 座標はチャートデータで決まります */
.plot-origin { left: 12px; }