Arc UI について
Arc UIは、Next.jsやViteを使う開発者向けの、アニメーション付きReactコンポーネントとブロックのライブラリです。shadcn CLIで導入するか、ソースをコピーして直接カスタマイズできます。
主な機能
- 01Reactコンポーネントとページブロック
- 02組み込みアニメーションと軽減表示
- 03キーボード操作への対応
- 04shadcn CLIまたはファイルコピーで導入
- 05CSSモジュールとデザイントークン
- 06ダークテーマとアクセント色の設定
活用シーン
- 01Next.jsプロジェクトにUIコンポーネントを追加
- 02ViteでインタラクティブなUIを構築
- 03フォームやデータ表示に動きを追加
- 04テーマやモーショントークンを調整
MCP 対応
READMEにはAIとMCPへの言及がありますが、MCPの機能やインターフェースは説明されていません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://uiarc.dev/api/mcpclaude mcp add --transport http dev-uiarc-arc https://uiarc.dev/api/mcp{"mcpServers":{"dev-uiarc-arc":{"type":"http","url":"https://uiarc.dev/api/mcp"}}}Cursor で開く{"servers":{"dev-uiarc-arc":{"type":"http","url":"https://uiarc.dev/api/mcp"}}}VS Code で開く{"mcpServers":{"dev-uiarc-arc":{"type":"http","url":"https://uiarc.dev/api/mcp"}}}{"mcpServers":{"dev-uiarc-arc":{"serverUrl":"https://uiarc.dev/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://uiarc.dev/api/mcp認証が必要ツール
詳細
ドキュメント · コンポーネント · インストール · AI と MCP · Pro
Arc は、モーションを組み込んだ React コンポーネントとブロックのライブラリです。各アイテムは、所有権がお客様にあるプレーンなソースです。少数のデザイントークンを使った CSS モジュール、アニメーション用の Motion、キーボードサポート、そしてすべてのアニメーションに用意された動きを抑えるための設定が含まれます。shadcn CLI でインストールするか、ファイルを手動でコピーできます。Tailwind の有無を問わず、Next.js と Vite で動作します。このリポジトリには無料のオープンソース版が含まれており、119 個のコンポーネントと 22 個のブロックに加えて、それらに共通するデザインおよびモーショントークンも収録されています。すべてのアイテムを uiarc.dev でライブプレビューできます。
ショーケース
uiarc.dev からライブで記録した、おすすめのアイテムをいくつか紹介します。Pro のマークが付いたアイテムは Arc Pro の一部で、このリポジトリには含まれていません。それ以外はすべて、ここから無料でインストールできます。
カバーフロー Pro 投げるように動かせる写真の奥行きのあるレール。柔らかな接地影と控えめな反射を備えています。 |
ドーナツチャート データセットを切り替えると弧が変形し、合計値が中央に収まります。 |
請求切り替え 月額料金と年額料金が切り替わり、割引額も表示されます。 |
オービットロゴ Pro 連携サービスが製品ロゴの周りを回ります。カテゴリで絞り込めます。 |
ウォレットスタック Pro カードの束を扇状に広げ、1枚を持ち上げて利用状況を確認できます。 |
折れ線グラフ 期間を切り替えると、前の期間と比較できるように線が描き直されます。 |
数値フィールド 上限に達すると知らせてくれる、範囲制限付きのステッパーです。 |
アクティビティリング Pro 毎日の目標が進み、カウントアップし、100%を超えて2周目を描きます。 |
インストール
要件
- TypeScript を使用した React 19。ソースは
strict、noUncheckedIndexedAccess、verbatimModuleSyntaxの設定でコンパイルでき、libは ES2023 以降が必要です(いくつかの項目でfindLastを使用します)。 - Next.js(App Router)または Vite
- アニメーション用の motion。項目によっては lucide-react や Radix UI のプリミティブも使用します。CLI が項目に必要なものをインストールします。
@/*インポートエイリアス(Next.js と shadcn ではデフォルトで設定されています)
Tailwind は必要ありません。Arc のスタイルは CSS 変数を参照する CSS モジュールです。
shadcn CLI を使う
components.json に @uiarc 名前空間を一度登録します。
{
"registries": {
"@uiarc": "https://uiarc.dev/r/{name}.json"
}
}
次に、名前を指定して項目を追加します。ブロック内のコンポーネントなど、ローカルの依存関係も自動的に追加されます。
npx shadcn@latest add @uiarc/button @uiarc/dialog
components.json を変更せずに、各項目の完全な URL を指定してインストールすることもできます。
npx shadcn@latest add https://uiarc.dev/r/button.json
npx shadcn@latest add @uiarc/arc-foundation を実行して、アプリごとにデザイントークンを一度インストールし、アプリのルートでインポートしてください。コンポーネントが取り込むのはモーションプリセット(arc-motion-tokens)だけで、foundation.css が再インストールされることはありません。そのため、トークンを独自のテーマパッケージに含めることもできます。
// app/layout.tsx (Next.js) or src/main.tsx (Vite)
import "@/components/arc/foundation.css";
新しいプロジェクトのセットアップ
Next.js
npx create-next-app@latest my-app
cd my-app
npx shadcn@latest init
デフォルトの @/* インポートエイリアスを選択してください。
Vite
npm create vite@latest my-app -- --template react-ts
cd my-app
npx shadcn@latest init
shadcn の想定に合わせて、tsconfig.json と vite.config.ts で @/* を src にマッピングします。
{
"compilerOptions": {
"baseUrl": ".",
"paths": { "@/*": ["./src/*"] }
}
}
import path from "node:path";
import react from "@vitejs/plugin-react";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [react()],
resolve: { alias: { "@": path.resolve(__dirname, "./src") } },
});
コピー&ペースト
- 共通パッケージをインストールします:
npm install motion lucide-react。 - このリポジトリから
registry/foundation.css、registry/motion-tokens.ts、lib/motion-tokens.tsを@/ルート配下の同じパスにコピーし、CSS をルートで一度インポートします。 - 項目のフォルダーを
registry/components/<id>/またはregistry/blocks/<id>/から、パスを維持したままコピーします。コピーしたファイルはこのリポジトリの構成を維持し、互いに@/経由でインポートします。上記の CLI インストールを使うと、パスは自動的に書き換えられます。public/r/<id>.jsonファイルに、必要なファイルと npm パッケージがすべて記載されています。
uiarc.dev の各ページには、正確なファイルを確認できる Manual タブもあります。
使い方
CLI は、components.json の components エイリアス配下にある arc/ フォルダーにすべてのファイルを配置します。たとえば components/arc/button/button.tsx、または src/ を使うプロジェクトやモノレポのパッケージでは src/components/arc/… になります。Arc のファイルは相対パスで互いをインポートするため、どのようなエイリアス設定でも使えます。別の場所に置きたい場合は、arc/ フォルダー全体を移動してください。通常のローカルコンポーネントと同じように使えます。
import { Button } from "@/components/arc/button/button";
export default function Page() {
return <Button>Save changes</Button>;
}
コードはあなたのものです。編集、名前変更、移動は自由です。同期を保つ必要のあるランタイムパッケージはありません。
テーマ設定
コンポーネントは意味的なトークンを参照し、生の色を直接参照することはありません。foundation.css(CLI のインストール後は components/arc/foundation.css)のトークンを変更すると、両方のテーマですべてのコンポーネントに反映されます。
| トークン | 用途 |
|---|---|
--background | すべての背後にあるページ |
--surface、--surface-raised、--surface-muted | カードと入力欄、浮遊レイヤー、控えめな塗りつぶし |
--foreground、--text-secondary、--text-muted | メインテキスト、補足テキスト、ヒントテキスト |
--border、--border-subtle、--border-strong | 区切り線と境界線 |
--accent、--accent-strong、--accent-subtle | 選択、進行状況、有用なコンテキスト |
--success、--warning、--danger | ステータス。常にラベルと組み合わせて使用します |
--radius-control、--radius-panel、--radius-surface | コントロール、メニュー、カード |
--font-display、--font-body | 見出しには Geist、それ以外には Inter |
- ダークモード:
<html>にdata-theme="dark"を設定します。ダークテーマの値は反転ではなく、個別に調整されています。 - アクセント:
<html>のdata-accentにneutral、violet、blue、green、amber、orange、coral、roseのいずれかを設定します。 - モーション: スプリングと再生時間は
lib/motion-tokens.ts(CLI のインストール後はcomponents/arc/lib/motion-tokens.ts)に定義されています。すべてのアニメーションはprefers-reduced-motionに従います。
詳しくは、テーマ設定のドキュメントとモーションのドキュメントをご覧ください。
コンポーネント
無料のコンポーネントを119種類、サイトと同じ分類で掲載しています。名前をクリックすると、ライブプレビューとドキュメントを確認できます。
アクション (20) · 入力 (37) · 開閉 (14) · フィードバック (11) · データ (32) · テキスト (4) · 特別 (1)
アクション
ボタン
| コンポーネント | 説明 | インストール |
|---|---|---|
| ボタン | 控えめなセカンダリ状態を備えた、明確で応答性の高いアクションです。 | npx shadcn@latest add @uiarc/button |
| アクションボタン | 頻繁に使うツールバーアクション向けのコンパクトなボタンです。 | npx shadcn@latest add @uiarc/action-button |
| 分割ボタン | メニューから近くの代替アクションを選べる、主要なアクションです。 | npx shadcn@latest add @uiarc/split-button |
| ボタングループ | 関連するアクションを細い区切り線で一つの面にまとめます。ホバー時のハイライトはセグメント間を滑らかに移動し、押したボタンはその場で応答します。付属のメニューで行を閉じることもできます。 | npx shadcn@latest add @uiarc/button-group |
| フローティングボタングループ | 控えめなトレイに独立した柔らかなボタンを配置します。共有ハイライトは移動に合わせてボタン間で形を変えながら移動し、押したボタンはその場で落ち着きます。 | npx shadcn@latest add @uiarc/floating-button-group |
| 拡張ボタングループ | コンパクトなグループにアイコンボタンを配置します。ポインターを合わせるかフォーカスしたボタンはラベルを表示しながら広がり、隣のボタンは横に移動します。アクションはその場で確定します。 | npx shadcn@latest add @uiarc/expanding-button-group |
| コピーボタン | 値をコピーすると、すぐに確認が表示されます。 | npx shadcn@latest add @uiarc/copy-button |
| アクション切り替え | 配置と意図を保ったまま、アクションのラベルを切り替えます。 | npx shadcn@latest add @uiarc/action-swap |
| アイコン変形 | メニューから閉じる、再生から一時停止、コピーからチェックなど、状態に応じて変形するアイコンです。 | npx shadcn@latest add @uiarc/icon-morph |
| 確認変形 | 破壊的なボタンがインラインの確認、スピナー、取り消し可能な結果へと変形します。 | npx shadcn@latest add @uiarc/confirm-morph |
ジェスチャー
| コンポーネント | 説明 | インストール |
|---|---|---|
| 長押しで確認 | タップではなく長押しして、破壊的な操作を確認します。 | npx shadcn@latest add @uiarc/hold-to-confirm |
| スワイプアクション | スワイプするか、同じアクションをメニューから選択して、行のアクションを表示します。 | npx shadcn@latest add @uiarc/swipe-actions |
| リアクション | 数字が回転するカウント付きで、ワンタップで投稿に反応します。 | npx shadcn@latest add @uiarc/reactions |
メニュー
| コンポーネント | 説明 | インストール |
|---|---|---|
| ドロップダウンメニュー | トリガーに紐づいた、操作に集中できるアクションリストです。 | npx shadcn@latest add @uiarc/dropdown-menu |
| コンテキストメニュー | 選択したオブジェクトのすぐ近くに表示される、追加のアクションです。 | npx shadcn@latest add @uiarc/context-menu |
| ユーザーメニュー | アバターの背後に、アカウント、設定、テーマ、サインアウトをまとめます。スマートフォンではボトムシートとして開きます。 | npx shadcn@latest add @uiarc/user-menu |
テーマ
| コンポーネント | 説明 | インストール |
|---|---|---|
| テーマ切り替え | ライトとダークの表示を切り替える、4つの滑らかな方法です。 | npx shadcn@latest add @uiarc/theme-switch |
| エクリプス | 次の表示が、日食のようにページを横切ります。 | npx shadcn@latest add @uiarc/theme-switch-eclipse |
| 分割 | 次の表示が、中央の細い境界線から広がります。 | npx shadcn@latest add @uiarc/theme-switch-split |
| 上昇 | 次の表示が、上昇しながら定位置に収まります。 | npx shadcn@latest add @uiarc/theme-switch-rise |
入力
テキストフィールド
| コンポーネント | 説明 | インストール |
|---|---|---|
| 入力 | わかりやすいラベルと便利な状態を備えた、1行の入力フィールドです。 | npx shadcn@latest add @uiarc/input |
| テキストエリア | メモ、説明、長文に使える複数行の入力フィールドです。 | npx shadcn@latest add @uiarc/textarea |
| パスワードフィールド | 入力内容を表示するコントロールを備えた、機密テキストの入力欄です。 | npx shadcn@latest add @uiarc/password-field |
| パスワード強度 | 新しいパスワードの入力中に、その強度を表示します。 | npx shadcn@latest add @uiarc/password-strength |
| 検索フィールド | 検索の入り口としてわかりやすく、操作方法も明確な入力欄です。 | npx shadcn@latest add @uiarc/search-field |
| 展開する検索 | アイコンが検索フィールドに変化し、その下に結果を表示します。 | npx shadcn@latest add @uiarc/expanding-search |
| インライン編集 | その場で名前を変更できます。テキストが移動せずに入力欄へ変わります。 | npx shadcn@latest add @uiarc/inline-edit |
特殊な入力
| コンポーネント | 説明 | インストール |
|---|---|---|
| 数値フィールド | 増減ボタンで値を明確に調整できる、範囲指定可能な数値を入力します。 | npx shadcn@latest add @uiarc/number-field |
| 金額入力 | 入力中の桁区切り、安定した幅、数字のスクロール表示、マイナーユニット形式での出力に対応した通貨フィールドです。 | npx shadcn@latest add @uiarc/money-input |
| 電話番号入力 | 国の選択、入力中の書式設定、E.164 形式での出力に対応した電話番号フィールドです。 | npx shadcn@latest add @uiarc/phone-input |
| スクラブ入力 | Figma スタイルの数値フィールドです。ラベルをドラッグして値を調整するか、値、単位、計算式を入力できます。 | npx shadcn@latest add @uiarc/scrub-input |
| タグ入力 | 短いテキスト値を、削除可能なタグに変換します。 | npx shadcn@latest add @uiarc/tag-input |
| メンション入力 | @ユーザーや #チャンネルのメンションを単一のトークンとして扱い、カーソル位置に候補を表示するテキストエリアです。 | npx shadcn@latest add @uiarc/mention-input |
| ショートカットレコーダー | キーの組み合わせをキーキャップに記録できます。競合警告、Kbd、検索可能なチートシートも備えています。 | npx shadcn@latest add @uiarc/shortcut-recorder |
セレクト
| コンポーネント | 説明 | インストール |
|---|---|---|
| セレクト | キーボード操作に対応したメニューを備えた、コンパクトな選択フィールドです。 | npx shadcn@latest add @uiarc/select |
| コンボボックス | フィールドから離れずに、リストを検索して選択できます。 | npx shadcn@latest add @uiarc/combobox |
| マルチセレクト | フィールドの見やすさを保ちながら、複数の値を選択できます。 | npx shadcn@latest add @uiarc/multi-select |
| モーフセレクト | トリガーがリストに展開し、ハイライトが滑らかに移動する、入力による絞り込みに対応したセレクトです。 | npx shadcn@latest add @uiarc/morph-select |
| チップグループ | チップが選択に応じて変化し、いくつかの切り口で絞り込めます。 | npx shadcn@latest add @uiarc/chip-group |
トグル
| コンポーネント | 説明 | インストール |
|---|---|---|
| ラジオカード | スライドする選択リング、価格と説明のスロット、ラジオボタンと同様のキーボード操作を備えた、選択可能なオプションカードです。 | npx shadcn@latest add @uiarc/radio-cards |
| 請求期間トグル | 節約額のバッジ付きで月払いと年払いを切り替え、新しい金額へ価格がスクロールして切り替わります。 | npx shadcn@latest add @uiarc/billing-toggle |
| チェックボックス | 状態が明確で読み取りやすい、二択の選択肢です。 | npx shadcn@latest add @uiarc/checkbox |
| ラジオグループ | 表示された選択肢の中から1つを選びます。 | npx shadcn@latest add @uiarc/radio-group |
| スイッチ | 変更がすぐに反映される設定向けの、触覚的なトグルです。 | npx shadcn@latest add @uiarc/switch |
| セグメントコントロール | 関連する少数のビューを切り替えます。 | npx shadcn@latest add @uiarc/segmented-control |
| 評価 | 数値による評価を簡単かつアクセシブルに入力できます。 | npx shadcn@latest add @uiarc/rating |
スライダー
| コンポーネント | 説明 | インストール |
|---|---|---|
| スライダー | 指の動きに追従するトラック上で、値または範囲を選択できます。 | npx shadcn@latest add @uiarc/slider |
| エラスティックスライダー | 端を越えるとゴムのように伸び、揺れる値タグが表示され、つまみがカチッとはまる目盛りがあるスライダーです。 | npx shadcn@latest add @uiarc/elastic-slider |
| 範囲ヒストグラムスライダー | データのリアルタイムヒストグラム上で価格範囲を選択します。範囲内の棒が点灯し、棒の端に沿って調整されます。 | npx shadcn@latest add @uiarc/range-histogram-slider |
ピッカー
| コンポーネント | 説明 | インストール |
|---|---|---|
| カレンダー | 見やすくコンパクトな月表示で日付を確認できます。 | npx shadcn@latest add @uiarc/calendar |
| 日付ピッカー | 前後の状況を見失わずに日付を選択できます。 | npx shadcn@latest add @uiarc/date-picker |
| 日付範囲ピッカー | トリガーから2か月分の表示へ展開する範囲ピッカーです。プリセットと伸縮する範囲ハイライトを備えています。 | npx shadcn@latest add @uiarc/date-range-picker |
| 時間ピッカー | 使いやすいキーボード操作で時刻を選択できます。 | npx shadcn@latest add @uiarc/time-picker |
| カラーピッカー | 展開してカラーピッカーになる色見本です。形式の切り替え、スポイト、保存済みの色見本、コントラスト表示を備えています。 | npx shadcn@latest add @uiarc/color-picker |
エディター
| コンポーネント | 説明 | インストール |
|---|---|---|
| リッチテキストエディター | Markdown ショートカット、フローティングツールバー、スラッシュメニュー、HTML と Markdown の出力に対応した軽量エディターです。 | npx shadcn@latest add @uiarc/rich-text-editor |
| 署名パッド | 速度に応じて線が細くなる滑らかな描画に対応し、元に戻す、再生、PNG または SVG へのエクスポートができます。 | npx shadcn@latest add @uiarc/signature-pad |
| ファイルドロップゾーン | 1つ以上のファイルをドロップできる広い領域です。 | npx shadcn@latest add @uiarc/file-dropzone |
開示
ナビゲーション
| コンポーネント | 説明 | インストール |
|---|---|---|
| タブ | 同じコンテキスト内の関連コンテンツを切り替えます。 | npx shadcn@latest add @uiarc/tabs |
| パンくずリスト | 階層内でページがどこに位置するかを示します。 | npx shadcn@latest add @uiarc/breadcrumb |
| ページネーション | 明確な範囲を示しながら、長いコンテンツを移動します。 | npx shadcn@latest add @uiarc/pagination |
展開
| コンポーネント | 説明 | インストール |
|---|---|---|
| スクロール領域 | 細いオーバーレイスクロールバーと、コンテンツがはみ出したときだけ表示される端のフェードを備えた、ネイティブのスクロールコンテナーです。 | npx shadcn@latest add @uiarc/scroll-area |
| アコーディオン | 補足情報をその場で段階的に表示します。 | npx shadcn@latest add @uiarc/accordion |
| 展開可能なカード | 必要に応じて、情報量の多いカードを広げられます。 | npx shadcn@latest add @uiarc/expandable-card |
| サイズ変更可能なパネル | パネル間の仕切りをドラッグして、スペースの配分を調整します。 | npx shadcn@latest add @uiarc/resizable-panels |
| 展開可能なテキスト | 長いテキストを数行に制限し、「続きを読む」でなめらかにフェードしながら展開、「閉じる」で折りたたみます。テキストがはみ出す場合にのみ表示されます。 | npx shadcn@latest add @uiarc/expandable-text |
オーバーレイ
| コンポーネント | 説明 | インストール |
|---|---|---|
| ダイアログ | 注意を要する判断のための、集中できる画面です。 | npx shadcn@latest add @uiarc/dialog |
| ドロワー | 集中して作業するための、一時的なサイド画面です。 | npx shadcn@latest add @uiarc/drawer |
| ボトムシート | のぞき見できる高さ、または全画面の高さで表示され、指の動きに追従するシートです。 | npx shadcn@latest add @uiarc/bottom-sheet |
| ポップオーバー | コンテキスト情報を表示する、小さなアンカー付き画面です。 | npx shadcn@latest add @uiarc/popover |
| ホバーカード | ページを離れることなく、ホバーまたはフォーカス時に人物やリンクをプレビューします。 | npx shadcn@latest add @uiarc/hover-card |
| ツールチップ | なじみのないコントロールを補足する短いテキストです。 | npx shadcn@latest add @uiarc/tooltip |
フィードバック
メッセージ
| コンポーネント | 説明 | インストール |
|---|---|---|
| アラート | ユーザーが問題から回復したり、作業を続けたりするのに役立つ、表示され続けるメッセージです。 | npx shadcn@latest add @uiarc/alert |
| トースト | バックグラウンド処理の完了を簡潔に知らせます。 | npx shadcn@latest add @uiarc/toast |
| トーストスタック | 短い結果を画面端に積み重ね、確認するまで表示しておきます。 | npx shadcn@latest add @uiarc/toast-stack |
| お知らせバー | メッセージを切り替えて表示し、カウントダウンを行い、閉じるとスムーズに折りたたまれる上部バナーです。 | npx shadcn@latest add @uiarc/announcement-bar |
| Cookie 同意 | 設定画面に変化し、再度開くためのボタンに折りたたまれる同意バーです。 | npx shadcn@latest add @uiarc/cookie-consent |
進捗
| コンポーネント | 説明 | インストール |
|---|---|---|
| 進捗状況 | 完了までの作業量が分かっているタスクの進捗を表示します。 | npx shadcn@latest add @uiarc/progress |
| スケルトン | コンテンツの読み込み中にスペースを確保します。 | npx shadcn@latest add @uiarc/skeleton |
| ステッパー | 複数ステップのフローにおける現在の位置と、完了した項目を表示します。 | npx shadcn@latest add @uiarc/stepper |
| カウントダウン | 数字が回転して切り替わるカウントダウンを表示し、ゼロになるとリアルタイム表示に変化します。 | npx shadcn@latest add @uiarc/countdown |
| 使用量メーター | 利用枠の使用状況と、上限までの残りを表示します。 | npx shadcn@latest add @uiarc/usage-meter |
| オンボーディングチェックリスト | 新しいワークスペースのセットアップを、一つずつ順を追って案内します。 | npx shadcn@latest add @uiarc/onboarding-checklist |
データ
アバター
| コンポーネント | 説明 | インストール |
|---|---|---|
| アバター | ユーザーやアカウントを示すコンパクトな識別マークです。 | npx shadcn@latest add @uiarc/avatar |
| アバターグループ | チームや貢献者のグループを限られたスペースに表示します。 | npx shadcn@latest add @uiarc/avatar-group |
| バッジ | ステータス、カテゴリ、メタデータを示す小さなラベルです。 | npx shadcn@latest add @uiarc/badge |
カード
| コンポーネント | 説明 | インストール |
|---|---|---|
| カード | 関連するコンテンツやアクションをまとめて表示します。 | npx shadcn@latest add @uiarc/card |
| メトリックカード | 背景情報が必要な数値をコンパクトにまとめて表示します。 | npx shadcn@latest add @uiarc/metric-card |
| 空の状態 | まだ表示するものがない場合に、次に役立つ操作を提示します。 | npx shadcn@latest add @uiarc/empty-state |
チャート
| コンポーネント | 説明 | インストール |
|---|---|---|
| 折れ線グラフ | 滑らかに動く十字カーソル、凡例の切り替え、範囲間で形状が変化するパスを備えた複数系列の折れ線グラフです。 | npx shadcn@latest add @uiarc/line-chart |
| 棒グラフ | 日ごとの指標を比較し、任意の棒にカーソルを合わせて値を確認できます。 | npx shadcn@latest add @uiarc/bar-chart |
| ドーナツグラフ | データセット間で弧の形状が変化し、選択中の値が中央に表示されるドーナツグラフです。 | npx shadcn@latest add @uiarc/donut-chart |
| ストリームグラフ | ウィグルベースライン上に積層されたストリームが範囲間で形状を変えます。レイヤーを単独表示して、週ごとの値を確認できます。 | npx shadcn@latest add @uiarc/streamgraph |
| ブラシチャート | 概要ストリップ付きの高密度な時系列データです。ウィンドウをドラッグして拡大し、ハンドルでサイズを変更して、その場でイベントを確認できます。 | npx shadcn@latest add @uiarc/brush-chart |
| ワッフルチャート | 各セルが1%を表す10×10の単位チャートです。データが変化すると、セルが新しいグループへ移動します。 | npx shadcn@latest add @uiarc/waffle-chart |
| スロープチャート | 2つの軸で前後を比較できます。線が描画され、各値の横に順位の変化が表示されます。データセットを切り替えると、すべての線が新しい傾きへ移動します。 | npx shadcn@latest add @uiarc/slope-chart |
| スパークライン | 値の横にコンパクトな傾向を表示します。 | npx shadcn@latest add @uiarc/sparkline |
| ゲージ | 既知の範囲に対する値を表示します。 | npx shadcn@latest add @uiarc/gauge |
| アクティビティヒートマップ | 1日につき1つの四角形で、1年分のアクティビティを一覧できます。 | npx shadcn@latest add @uiarc/activity-heatmap |
| アニメーションカウンター | 変化する合計値の動きを明確に示します。 | npx shadcn@latest add @uiarc/animated-counter |
| リッジライン | グループごとに1つのリッジを重ねた分布図です。カーソルを合わせるとリッジが浮き上がり、四分位数を確認できます。データセットを切り替えると、すべての曲線が変化します。 | npx shadcn@latest add @uiarc/ridgeline |
| ツリーマップ | 矩形分割されたツリーマップです。クリックして掘り下げるとタイルが拡大して表示領域を埋めます。パンくずリストで戻ることができ、指標の変化に合わせてすべてのタイルが変化します。 | npx shadcn@latest add @uiarc/treemap |
テーブル
| コンポーネント | 説明 | インストール |
|---|---|---|
| ソート可能なデータテーブル | 列を並べ替えて、構造化されたレコードを比較できます。 | npx shadcn@latest add @uiarc/sortable-data-table |
| ツリーテーブル | ネストされた行、3状態選択、階層を保った並べ替え、遅延読み込みの子要素を備えたテーブルです。 | npx shadcn@latest add @uiarc/tree-table |
| ツリービュー | ネストされたフォルダーや構造化されたコンテンツをたどれます。 | npx shadcn@latest add @uiarc/tree-view |
| 並べ替え可能なリスト | ドラッグ&ドロップで項目を整理できます。 | npx shadcn@latest add @uiarc/reorderable-list |
| フィルターツールバー | コレクションのフィルターを近くに配置し、簡単にリセットできます。 | npx shadcn@latest add @uiarc/filter-toolbar |
| コードブロック | 見やすい階層構造とコピー機能を備えたコードを表示します。 | npx shadcn@latest add @uiarc/code-block |
| JSON ビューアー | 検索、長い配列のページ分割、値またはパスのコピーに対応した、折りたたみ可能な JSON ツリーです。 | npx shadcn@latest add @uiarc/json-viewer |
アクティビティ
| コンポーネント | 説明 | インストール |
|---|---|---|
| タイムライン | 新しいものから順に、日ごとにグループ化して出来事をたどります。 | npx shadcn@latest add @uiarc/timeline |
| コメントスレッド | 返信、リアクション、メンション、インライン編集、解決機能を備えたスレッド形式のコメントです。 | npx shadcn@latest add @uiarc/comment-thread |
| チャットスレッド | メッセージのグループ化、リアクション、既読通知、入力中表示、添付ファイルに対応した入力欄を備えたチャットスレッドです。 | npx shadcn@latest add @uiarc/chat-thread |
メディア
| コンポーネント | 説明 | インストール |
|---|---|---|
| 画像比較 | 2枚の画像の間で仕切りをドラッグして、変更点を確認できます。 | npx shadcn@latest add @uiarc/image-compare |
| カルーセル | ドラッグ、フリック、または矢印キーでスライドを横に閲覧できます。 | npx shadcn@latest add @uiarc/carousel |
| カードスタック | カードを1枚ずつ確認し、投げ捨てたり元に戻したりできます。 | npx shadcn@latest add @uiarc/card-stack |
テキスト
テキストエフェクト
| コンポーネント | 説明 | インストール |
|---|---|---|
| テキストリビール | 控えめな動きで短いコンテンツを表示します。 | npx shadcn@latest add @uiarc/text-reveal |
| インビュータイトル | スクロールして表示範囲に入ると、セクションタイトルが現れます。 | npx shadcn@latest add @uiarc/in-view-title |
| テキストモーフ | ラベルを1文字ずつ変化させて、次の状態に切り替えます。 | npx shadcn@latest add @uiarc/text-morph |
| テキストシマー | 言葉の上を穏やかな光が流れ、処理中であることを示します。 | npx shadcn@latest add @uiarc/text-shimmer |
特殊
タイプ
| コンポーネント | 説明 | インストール |
|---|---|---|
| スロットテキスト | スロットマシンのリールのように、テキストや数字が時間差で回転して新しい値に切り替わります。 | npx shadcn@latest add @uiarc/slot-text |
ブロック
Arc コンポーネントで構築された、セクションや画面一式の無料ブロックが22種類あります。
アプリシェル
| ブロック | 説明 | インストール |
|---|---|---|
| ページヘッダー | スクロールするとコンパクトなバーに折りたたまれるプロジェクトページのヘッダーです。タブの件数はロール表示されます。 | npx shadcn@latest add @uiarc/page-header |
| コマンドパレット | 検索、グループ化された結果、ショートカットを備えた、キーボード操作によるアクション画面一式です。 | npx shadcn@latest add @uiarc/command-palette |
| 通知センター | 既読状態、グループ化された情報、アニメーション付きの開閉表示を備えた更新情報の表示場所です。 | npx shadcn@latest add @uiarc/notification-center |
| 空の状態 | タブを切り替えると、シーン間で図形が変化する1つのイラストに、4種類の空の状態を表示します。 | npx shadcn@latest add @uiarc/empty-states |
認証
| ブロック | 説明 | インストール |
|---|---|---|
| サインアップフォーム | フィールド検証、パスワード強度、わかりやすい完了状態を備えたアカウント作成フローです。 | npx shadcn@latest add @uiarc/signup-form |
| サインイン | メールアドレスからアカウント用の6桁コードへと切り替わるサインインカードです。 | npx shadcn@latest add @uiarc/sign-in |
| 中央配置のログイン | 控えめなリング状の背景の上で、メールアドレスとコードの入力へ切り替わるパスキー優先のログインカードです。 | npx shadcn@latest add @uiarc/login-centered |
| OTP入力 | ペーストに対応し、キーボードで操作できる6桁の認証フローです。 | npx shadcn@latest add @uiarc/otp-input |
料金プラン
| ブロック | 説明 | インストール |
|---|---|---|
| プラン比較 | プランや請求期間ごとの重要な違いを比較できます。 | npx shadcn@latest add @uiarc/plan-comparison |
メディア
| ブロック | 説明 | インストール |
|---|---|---|
| ファイルアップロード | 制約、進捗、エラー表示を備えた、ファイル選択の一連のフローです。 | npx shadcn@latest add @uiarc/file-upload |
ヒーロー
| ブロック | 説明 | インストール |
|---|---|---|
| ヒーローセクション | 全画面表示のSaaS向けヒーローを3種類収録しています。漂うメッシュの上で画面下端から立ち上がるライブダッシュボード、サンプルイベントをノードごとにルーティングするワークフローグラフ、メッシュグラデーションの上に配置したエディトリアルなタイポグラフィです。 | npx shadcn@latest add @uiarc/hero-section |
特長
| ブロック | 説明 | インストール |
|---|---|---|
| 比較表 | 固定ヘッダー、強調表示された列、スマートフォン向けの縦積み表示を備えた、自社と競合を比較する表です。 | npx shadcn@latest add @uiarc/comparison-table |
ソーシャルプルーフ
| ブロック | 説明 | インストール |
|---|---|---|
| ロゴマーキー | 一時停止コントロール付きで、ブランドロゴが控えめに途切れることなく流れる表示です。 | npx shadcn@latest add @uiarc/logo-marquee |
| 統計バンド | 表示範囲に入るとカウントアップする大きな数値、それぞれの数値を裏付ける小さなビジュアル、ホバー時に表示される説明文を備えています。シンプルな表示と細い罫線のグリッド表示を選べます。 | npx shadcn@latest add @uiarc/stats-band |
コンテンツ
| ブロック | 説明 | インストール |
|---|---|---|
| 変更履歴フィード | 絞り込みやページ内での展開が可能で、月ごとにスクロールして読めるリリースノートです。 | npx shadcn@latest add @uiarc/changelog-feed |
| FAQセクション | アコーディオン、トピック一覧、または一致箇所を強調表示する検索可能なリストとしてFAQを表示します。 | npx shadcn@latest add @uiarc/faq-section |
| お問い合わせセクション | 確認画面へ切り替わる入力検証付きのお問い合わせフォーム、サポート窓口、現地時刻を表示するオフィスカードを備えています。 | npx shadcn@latest add @uiarc/contact-section |
| ブロググリッド | 注目記事、カテゴリーフィルター、記事カード、ページネーション、ページ内リーダーを備えたブログ一覧です。 | npx shadcn@latest add @uiarc/blog-grid |
ヘッダーとフッター
| ブロック | 説明 | インストール |
|---|---|---|
| サイトヘッダー | スクロールすると背景が不透明になり、アクティブなリンクが滑らかに移動するメガメニューパネルとモバイルシートを備えた、固定表示のウェブサイトヘッダーです。 | npx shadcn@latest add @uiarc/site-header |
| サイトフッター | リンク列とニュースレターを備えたウェブサイトフッターです。最小限のレイアウトと、大きくフェードする Arc マークが特徴です。 | npx shadcn@latest add @uiarc/site-footer |
| CTA セクション | 中央揃えの締めくくりセクション、セットアップカードの横に配置され自動で完成する分割レイアウト、または閉じることができるバナーとして表示する、行動喚起セクションです。 | npx shadcn@latest add @uiarc/cta-section |
| ニュースレター登録 | 過去の号を重ねたデザインのメール登録フォームです。登録すると、次の号があなた宛てに表紙の上へ置かれます。 | npx shadcn@latest add @uiarc/newsletter-signup |
AI ツール
Arc は、AI コーディングツールから利用できるように構築されています。
-
MCP サーバー:
https://uiarc.dev/api/mcp(Streamable HTTP、無料アイテムはキー不要)。Claude Code、Cursor、VS Code、Codex から検索、ドキュメントの閲覧、ソースの取得ができます。claude mcp add --transport http arc https://uiarc.dev/api/mcp -
llms.txt: インデックスは
https://uiarc.dev/llms.txt、すべてを1つのファイルにまとめたものはllms-full.txtをご覧ください。 -
Markdown ドキュメント: すべてのページに
/components/<id>/markdownの Markdown 版があります。
各クライアントのセットアップについては、AI と MCP のドキュメントをご覧ください。
トラブルシューティング
モジュール @/registry/... が見つからない
Arc のファイルは @/* エイリアスを介して相互にインポートします。tsconfig.json(Vite の場合は vite.config.ts も)で、プロジェクトのルートにマッピングしてください。新しいプロジェクトのセットアップを参照してください。
コンポーネントがスタイルや色なしで表示される
ルートでトークンを一度だけインポートします。import "@/registry/foundation.css";。ファイルが見つからない場合は、npx shadcn@latest add @uiarc/arc-foundation を実行してください。
CLI に @uiarc が不明なレジストリだと表示される
components.json に registries エントリーを追加するか(shadcn CLI の使用を参照)、完全な URL からインストールします。npx shadcn@latest add https://uiarc.dev/r/<id>.json。
ダークモードが切り替わらない
Arc は <html> の dark クラスではなく、data-theme 属性に従います。ライトテーマのちらつきを防ぐには、ページが描画される前に data-theme="dark" を設定してください。
リンクと画像:next/link、next/image、自作コンポーネントを使用する
コンポーネントは通常の <a> と <img> を描画するため、Vite、Remix、Astro、または通常の React で動作します。Next.js や独自の Link(ロケール対応のものなど)経由でルーティングするには、アプリを一度 ArcProvider でラップしてください。これは、使用するコンポーネントと一緒にインストールされます。
"use client";
import Image from "next/image";
import Link from "next/link";
import { ArcProvider } from "@/components/arc/lib/arc-provider";
export function Providers({ children }: { children: React.ReactNode }) {
return <ArcProvider link={Link} image={Image}>{children}</ArcProvider>;
}
link は href とアンカー属性を受け取り、image は src、alt、width、height、または fill、sizes、priority を受け取ります。これらは next/image が受け取るものと同じプロパティです。
一部のブロックは Next.js のページ例であり、引き続き next/image または next/link を直接インポートします:changelog-feed、site-header、newsletter-signup。別のフレームワークでは、Image を <img>(または arc-provider の ArcImage)に、Link を <a> に置き換えてください。
アニメーションが再生されない
Arc はオペレーティングシステムの視差効果を減らす設定に従い、動きをシンプルなフェードに切り替えます。すべての動きを確認するには、この設定をオフにし、motion がインストールされていることを確認してください。
CLI が foundation.css の上書きを求める
foundation.css を書き込むのは arc-foundation だけです。コンポーネントとブロックは、代わりに arc-motion-tokens に依存します。トークンをカスタマイズした後に add @uiarc/arc-foundation を再実行する場合は、ファイルを保持するため「いいえ」と答えるか、後から読み込む別のスタイルシートにオーバーライドを記述してください。
リリースの仕組み
新しい無料コンポーネントとブロックは、少しずつ定期的にリリースされます。各リリースでは、このリポジトリ、@uiarc レジストリ、変更履歴がまとめて更新されるため、ここにあるコードは常に CLI からインストールされるものと一致します。新しいアイテムを知るには、リポジトリをウォッチまたはスターしてください。
リポジトリの構成
registry/foundation.css design tokens, light and dark themes
registry/motion-tokens.ts motion presets
lib/motion-tokens.ts motion presets, shared path
lib/ small shared helpers
registry/components/<id>/ components
registry/blocks/<id>/ blocks
registry.json shadcn registry index
public/r/<id>.json prebuilt registry items, one per component or block
Arc Pro
Arc Pro では、このライブラリに加えて、さらに 156 個のコンポーネントとブロックが利用できます。上記の Cover フローのようなギャラリー、ウォレットや金融関連の画面、より充実したチャート、製品画面一式が含まれます。ここにあるすべてのものと同じ方針に沿っており、所有できるプレーンなソース、両方のテーマ、キーボード対応、視差効果を減らす設定への対応を備えています。
- すべての Pro コンポーネントとブロックのソース。個人用トークンを使って同じ shadcn CLI から、または MCP サーバー経由でインストールできます
- Pro の新しいリリースすべてに加え、すでに利用しているアイテムの修正と更新
- 年払い、または生涯アクセス権を一括払いで購入できます。料金をご覧ください
このリポジトリにあるものはすべて、引き続き無料で、MIT ライセンスで提供されます。
貢献
バグ報告、修正、コンポーネントのアイデアを歓迎します。まずCONTRIBUTING.mdを読み、行動規範に従ってください。セキュリティ上の問題を報告するには、SECURITY.mdをご覧ください。
ライセンス
MIT © 2026 Elia Kuratli
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。