Rainbow logo
RainbowKit
2.2.10

テーマ設定

テーマ設定

テーマの使用とカスタマイズ

RainbowKit UIを、簡単にブランドに合わせて調整できます。いくつかの事前定義されたアクセントカラーとボーダー半径の構成から選べます。

3つの組み込みテーマ関数があります:

  • lightTheme   (デフォルト)
  • darkTheme
  • midnightTheme

テーマ関数はテーマオブジェクトを返します。そのオブジェクトをRainbowKitProviderテーマプロパティに渡すことができます。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
export const App = () => (
<RainbowKitProvider theme={darkTheme()} {...etc}>
{/* Your App */}
</RainbowKitProvider>
);

希望に応じて、accentColoraccentColorForegroundborderRadiusfontStackoverlayBlurをカスタマイズできます。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
export const App = () => (
<RainbowKitProvider theme={darkTheme({ accentColor: '#7b3fe4', accentColorForeground: 'white', borderRadius: 'small', fontStack: 'system', overlayBlur: 'small', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);

組み込みのテーマ関数は、オプションオブジェクトを受け取り、いくつかの異なるビジュアルスタイルから選べるようにします。

PropTypeDefault
accentColorstring "#0E76FD"
accentColorForegroundstring "white"
borderRadiusenum large
fontStackenum rounded
overlayBlurenum none

例えば、暗いテーマを紫のアクセントカラーとmediumのボーダー半径のスケールでカスタマイズするには:

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ accentColor: '#7b3fe4', accentColorForeground: 'white', borderRadius: 'medium', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

各テーマは、オプションオブジェクトに設定できる複数のアクセントカラープリセット(bluegreenorangepinkpurplered)も提供します。例えば、pinkアクセントカラープリセットを使うには:

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ ...darkTheme.accentColors.pink, })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

こちらは、テーマプロップを使用するいくつかの異なる方法です。

darkThemeテーマを使用。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
export const App = () => (
<RainbowKitProvider theme={darkTheme()} {...etc}>
{/* Your App */}
</RainbowKitProvider>
);

midnightThemeテーマを使用。

import { RainbowKitProvider, midnightTheme, } from '@rainbow-me/rainbowkit';
export const App = () => (
<RainbowKitProvider theme={midnightTheme()} {...etc}>
{/* Your App */}
</RainbowKitProvider>
);

こちらは、accentColor構成を使用するいくつかの異なる方法です。

アクセントカラーをカスタムの紫色に設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ accentColor: '#7b3fe4', accentColorForeground: 'white', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

アクセントカラーを組み込みのgreenプリセットに設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ ...darkTheme.accentColors.green, })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

こちらは、borderRadius構成を使用するいくつかの異なる方法です。

ボーダー半径をmediumに設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ borderRadius: 'medium', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

ボーダー半径をnoneに設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ borderRadius: 'none', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

リマインダー: 利用可能なボーダー半径の値は、large (デフォルト)、mediumsmallnoneです。

デフォルトでは、fontStackroundedに設定されていますが、こちらがfontStack構成を使用する方法です。

フォントスタックをsystemに設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ fontStack: 'system', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

デフォルトでは、overlayBlurnoneに設定されていますが、こちらがoverlayBlur構成を使用する方法です。

オーバーレイぼかしをsmallに設定。

import { RainbowKitProvider, darkTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={darkTheme({ overlayBlur: 'small', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

こちらがaccentColorborderRadiusfontStackプロップを組み合わせて異なるテーマを使用するいくつかの方法です。

  • lightThemeテーマを使用
  • アクセントカラーをカスタムの紫色に設定
  • ボーダー半径をmediumに設定
  • フォントスタックをsystemに設定
import { RainbowKitProvider, lightTheme } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={lightTheme({ accentColor: '#7b3fe4', accentColorForeground: 'white', borderRadius: 'medium', fontStack: 'system', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};
  • midnightThemeテーマを使用
  • アクセントカラーを組み込みのpinkプリセットに設定。
  • ボーダー半径をsmallに設定
  • フォントスタックをsystemに設定
import { RainbowKitProvider, midnightTheme, } from '@rainbow-me/rainbowkit';
const App = () => {
return (
<RainbowKitProvider theme={midnightTheme({ ...midnightTheme.accentColors.pink, borderRadius: 'small', fontStack: 'system', })} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);
};

アプリケーションで標準のprefers-color-scheme: darkメディアクエリを使用してライトモードとダークモードを切り替えている場合、オプションでlightModedarkMode値を含む動的テーマオブジェクトを提供できます。

import { RainbowKitProvider, lightTheme, darkTheme, } from '@rainbow-me/rainbowkit';
const App = () => (
<RainbowKitProvider theme={{ lightMode: lightTheme(), darkMode: darkTheme(), }} {...etc} >
{/* Your App */}
</RainbowKitProvider>
);