テーマを作成する
デフォルトのテーマに基づいて新しいテーマを作成できます。例えば、purple-dark
というテーマが必要だとします。その場合、tailwind.config.js
ファイルに以下のコードを追加することで作成できます。
色のパレットは50
から900
の範囲で追加することをお勧めします。パレットの生成には、Eva Design System、Smart Watch、Palette、またはColor Boxなどのツールをご利用いただけます。
新しいテーマをプラグインに追加します
// tailwind.config.jsconst {nextui} = require("@nextui-org/react");/** @type {import('tailwindcss').Config} */module.exports = {plugins: [nextui({themes: {"purple-dark": {extend: "dark", // <- inherit default values from dark themecolors: {background: "#0D001A",foreground: "#ffffff",primary: {50: "#3B096C",100: "#520F83",200: "#7318A2",300: "#9823C2",400: "#c031e2",500: "#DD62ED",600: "#F182F6",700: "#FCADF9",800: "#FDD5F9",900: "#FEECFE",DEFAULT: "#DD62ED",foreground: "#ffffff",},focus: "#F182F6",},layout: {disabledOpacity: "0.3",radius: {small: "4px",medium: "6px",large: "8px",},borderWidth: {small: "1px",medium: "2px",large: "3px",},},},},}),],};
新しいテーマを適用します
新しいテーマの適用は、purple-dark
のようなテーマ名をclassName
にhtml
/ body
またはmain
要素に追加するだけで簡単です。
// main.tsx or main.jsximport React from "react";import ReactDOM from "react-dom/client";import {NextUIProvider} from "@nextui-org/react";import App from "./App";import "./index.css";ReactDOM.createRoot(document.getElementById("root")).render(<React.StrictMode><NextUIProvider><main className="purple-dark text-foreground bg-background"><App /></main></NextUIProvider></React.StrictMode>,);
新しいテーマを使用します
primary
カラーを使用するすべてのコンポーネントがこの変更の影響を受けます。
import {Button} from "@nextui-org/react";export default function App() {return (<div className="flex flex-wrap gap-4 items-center"><Button color="primary" variant="solid">Solid</Button><Button color="primary" variant="faded">Faded</Button><Button color="primary" variant="bordered">Bordered</Button><Button color="primary" variant="light">Light</Button><Button color="primary" variant="flat">Flat</Button><Button color="primary" variant="ghost">Ghost</Button><Button color="primary" variant="shadow">Shadow</Button></div>);}