Closed9

shadcn/uiのcolorを@radix-ui/colorsを使ってカスタマイズする

hajimismhajimism

https://ui.shadcn.com/docs/theming

shadcn/uiは色もカスタマイズしやすいようにCSS変数によってコントロールしている。CSS変数自体を切り替えることによってダークモードにも半自動的に対応している(dark:とかやる必要がない)。

もともとイケてるThemeなのは間違いないけれど、育てていくうちに色を変えたくなるに違いない。
@radix-ui/colorsの豊富なパレットを利用して、どんなテーマでも対応できるようにする。
https://www.radix-ui.com/colors

hajimismhajimism

このプラグインが便利。
https://github.com/brattonross/windy-radix-palette

plugins: [require("windy-radix-palette")],しておくだけで、Tailwindで@radix-ui/colorsが全部使える。CSS変数も使える。

hajimismhajimism

ただ、せっかくshadcnが貼っておいてくれた text-primaryなどをいちいち text-green-10などに張り替えるのはイケてない。なのでCSS変数の中身を書き換える。

hajimismhajimism

destructiveに関しては張り替える必要がなさそうなのでそのままにしている。別に --red10とかしても良いと思う

hajimismhajimism

これで、shadcn/uiのclassNamesをそのまま利用しつつ、色だけいじることができる。
escape hatchで局所的に text-green-8とかすることもできる。

このスクラップは2023/06/11にクローズされました