🐟Shad/cnをRemixで使う(30日目)

わしの
·
公開:2024/2/6

📝きょうの学習

Next.jsを勉強していた時に使っていたUIライブラリ「Shad/cn」をおさらいしていきます。あらためてShad/cnってなに?ってChatGPTに聞いてみた。

shad/cnは、Vercelに所属するエンジニアによって開発されています12. このプロジェクトは、Radix UIとTailwind CSSを組み合わせたコンポーネントのカタログであり、カスタマイズ性に定評があります。

通常のコンポーネントライブラリとは異なり、shad/cnはnpmパッケージとして配布されていないため、依存関係に影響しません。代わりにCLIを通じてプロジェクトに直接コンポーネント(コード)を配置する仕組みを採用しています。この方法により、コードの所有権と制御をプロジェクト開発者に提供し、コンポーネントのビルドとスタイリング方法を自由に決定できます。

簡潔に言えば、shad/cnはデザインシステムをコードとして宣言するメカニズムであり、必要なコンポーネントを都度プロジェクトに取り込むことができます。カスタマイズ性に優れ、フロントエンドの実装に時間をかけたくない開発者にとって便利な選択肢です。

長いよ…。簡単に言うと

という感じです。MUIやChakraUIのようにコンポーネントをそのまま使うイメージとはやや異なります。こんな風に↓ソースがダウンロードされるんですよ。インストールしてみると分かります。

💻インストール

公式サイトのDoc / installationを見ながらインストールします。Remix用のドキュメントもあります。

コマンドを打ちます。

npx shadcn-ui@latest init

質問項目に回答していきます。base colorどうする?っていうのが迷うけど、とりあえずデフォルトのままにした。全部デフォルトのまま。

Would you like to use TypeScript (recommended)? no / yes

Which style would you like to use? › Default

Which color would you like to use as base color? › Slate

Where is your global CSS file? › app/tailwind.css

Do you want to use CSS variables for colors? › no / yes

Where is your tailwind.config.js located? › tailwind.config.js

Configure the import alias for components: › ~/components

Configure the import alias for utils: › ~/lib/utils

Are you using React Server Components? › no

ベースカラーを変えたいときは「CSS variables」をYesで選択したときはglobal.cssを修正すればよいようです。Noを選択したときはすべてインストールし直しとのこと。

cssVariablesがtrueに設定されている場合、globals.cssファイル内にcss変数を生成するために使用されます。 cssVariablesを使用せずに新しいコンポーネントを追加すると、そのベースカラーは設定ファイル内のものと同じになります。そのため、ベースカラーを変更したい場合は、すべてのコンポーネントを再インストールする必要があります

で、先ほど挙げたRemix用のInstallationページの「7.That's it」までていねいに進めます。

🎉できた

なんか、初期のスタイルダサいね。こんなだっけか…?

今日はここまで。

🍚きょうのごはん

きょうの夕飯は麻婆豆腐です。いつもちくわを入れてます。ちくわを入れると意外と味がぐっときわ立って美味しいんですよ。おすすめ。ちなみにウィンナーはダメです。脂っこくなってすごく癖が強くなります。

@wassy
ものづくりが好き。