最小限のインストール
パッケージをインストールする
Yamada UIのコアやユーティリティをインストールします。
ターミナルで次のコマンドのいずれかを実行します。
pnpm add @yamada-ui/core @yamada-ui/utils
ui
を使用する
インストール後、アプリケーション内でui
を呼び出します。
ui
は、Yamada UIのスタイルシステムを有効にしたJSX要素のオブジェクトであり、カスタムコンポーネントがYamada UIのスタイルシステムを受け取るための関数としても使用できます。
ui.
の記法を使用して、スタイルシステムを備えた基本のHTML要素を生成します。
例えば、スタイルシステムを備えたプレーンなHTML要素のdiv
を生成する場合は、
と記述します。
import { ui } from "@yamada-ui/core"const Demo = () => {return (<ui.div><ui.p>This is div</ui.p></ui.div>)}
スタイルを設定するには、props
を渡します。
今回は、button
でやってみましょう。
編集可能な例
<ui.button background="#ef4444" color="#ffffff" padding="1rem" borderRadius=".5rem" _hover={{ background: "#dc2626" }} > Click me! </ui.button>
Style props
をもっと学びたい場合は、こちらをご覧ください。
コンポーネントを作る
ui
は、JSX要素の
とJSX要素を返す関数のui('div')
と2つの使い方ができます。
関数は、簡単なコンポーネントを生成するのに適しています。
import { ui } from "@yamada-ui/core"const Button = ui("button")const Demo = () => {return <Button>Click me!</Button>}
デフォルトのスタイルを設定することもできます。
import { ui } from "@yamada-ui/core"const Button = ui("button", {baseStyle: {background: "#ef4444",color: "#ffffff",padding: "1rem",borderRadius: ".5rem",_hover: { background: "#dc2626" },},})const Demo = () => {return <Button>Click me!</Button>}
アニメーションを使用したい場合
Yamada UIは、アニメーションに特化したコンポーネントのMotion
やCSSのkeyframes
のように記述できるuseAnimation
など、多くのユーティリティを提供しています。
useAnimation
を使う
@yamada-ui/use-animation
をインストールします。
pnpm add @yamada-ui/use-animation
編集可能な例
const animation = useAnimation({ keyframes: { "0%": { bg: "#ef4444", }, "20%": { bg: "#22c55e", }, "40%": { bg: "#a855f7", }, "60%": { bg: "#eab308", }, "80%": { bg: "#3b82f6", }, "100%": { bg: "#ef4444", }, }, duration: "10s", iterationCount: "infinite", timingFunction: "linear", }) return <ui.div w="full" h="xs" animation={animation} />
Motion
を使う
@yamada-ui/motion
をインストールします。
pnpm add @yamada-ui/motion
編集可能な例
<ui.div display="flex" placeContent="center" placeItems="center" w="100%" h="24rem" > <Motion animate={{ scale: [1, 2, 2, 1, 1], rotate: [0, 0, 180, 180, 0], borderRadius: ["0%", "0%", "50%", "50%", "0%"], }} transition={{ duration: 2, ease: "easeInOut", times: [0, 0.2, 0.5, 0.8, 1], repeat: Infinity, repeatDelay: 1, }} w="7.5rem" h="7.5rem" bg="primary" /> </ui.div>
アニメーションをもっと学びたい場合は、こちらをご覧ください。
色やスペースなどのトークンを使用したい場合
Yamada UIのデフォルトのテーマを使用したい場合は、@yamada-ui/theme
をインストールします。
pnpm add @yamada-ui/theme
テーマをインストール後、アプリケーションのルートにThemeProvider
, ResetStyle
, GlobalStyle
を追加し、@yamada-ui/theme
からデフォルトのテーマとデフォルトのコンフィグを渡します。もし、あなたのテーマやコンフィグがある場合は、そちらを渡します。
import { ThemeProvider, ResetStyle, GlobalStyle } from "@yamada-ui/core"import { baseTheme, defaultConfig } from "@yamada-ui/theme"const App = () => {return (<ThemeProvider theme={baseTheme} config={defaultConfig}><ResetStyle /><GlobalStyle /><YourApplication /></ThemeProvider>)}
ダークモードを対応させたい場合は、ColorModeProvider
も追加します。
import {ThemeProvider,ColorModeProvider,ResetStyle,GlobalStyle,} from "@yamada-ui/core"import { baseTheme, defaultConfig } from "@yamada-ui/theme"const App = () => {return (<ThemeProvider theme={baseTheme} config={defaultConfig}><ColorModeProvider config={defaultConfig}><ResetStyle /><GlobalStyle /><YourApplication /></ColorModeProvider></ThemeProvider>)}
テーマやコンフィグをカスタマイズしたい場合は、テーマをカスタマイズするとコンフィグをカスタマイズするをご覧ください。
theme
やconfig
をThemeProvider
に渡さない場合、トークンは反映されません。
学習を開始する
Yamada UIを知るために、基本やテーマを学んでみませんか?😎
基本を学ぶ
3分間のチュートリアルを読んで、Yamada UIのテーマ・スタイル・レスポンシブ・ダークモード・アニメーションの基本を学ぶ。
テーマについて学ぶ
Yamada UIのデフォルトのテーマを知り、色・フォント・その他のテーマの値を作成・変更する方法を学ぶ。
コンポーネントを探索する
Yamada UIは、100以上の柔軟性が高いコンポーネントを提供しています。すべてのコンポーネントは、アニメーション・ダークモードをサポートしています。
ソースコードを探索する
Yamada UIのパッケージ・ドキュメントサイトはオープンソースです。Yamada UIを気に入ったら、スターを付けてください。
GitHubでこのページを編集する