Closed9
shadcn/uiのcolorを@radix-ui/colorsを使ってカスタマイズする
shadcn/uiは色もカスタマイズしやすいようにCSS変数によってコントロールしている。CSS変数自体を切り替えることによってダークモードにも半自動的に対応している(dark:
とかやる必要がない)。
もともとイケてるThemeなのは間違いないけれど、育てていくうちに色を変えたくなるに違いない。
@radix-ui/colorsの豊富なパレットを利用して、どんなテーマでも対応できるようにする。
このプラグインが便利。
plugins: [require("windy-radix-palette")],
しておくだけで、Tailwindで@radix-ui/colorsが全部使える。CSS変数も使える。
ただ、せっかくshadcnが貼っておいてくれた text-primary
などをいちいち text-green-10
などに張り替えるのはイケてない。なのでCSS変数の中身を書き換える。
例えばこんな感じ。プラグイン側でダークモードをやってくれているので、.dark
を書く必要すらない。
各色こんな感じ、yellow-backgroundは色をわかりやすくするために恣意的に貼ってる。
destructiveに関しては張り替える必要がなさそうなのでそのままにしている。別に --red10とかしても良いと思う
これで、shadcn/uiのclassNamesをそのまま利用しつつ、色だけいじることができる。
escape hatchで局所的に text-green-8
とかすることもできる。
このスクラップは2023/06/11にクローズされました