Storybook에서 Chakra UI 사용하기

Storybook에서 Chakra UI 사용하기 (Using Chakra UI in Storybook)

Storybook에서 Chakra UI를 사용하는 방법을 안내하는 가이드예요. provider를 설정하고 다크 모드 토글을 추가해 Storybook에서 Chakra 컴포넌트를 쉽게 개발할 수 있습니다.

출처: 문서

본문

설치 (Installation)

의존성 설치 (Install dependencies)

Chakra UI와 Storybook에 필요한 의존성을 설치하세요.

npm i @storybook/addon-themes @chakra-ui/react @emotion/react

Preview 설정 (Setup Preview)

.storybook/preview.tsx 파일을 편집해 Chakra UI provider를 포함하세요.

import { ChakraProvider, defaultSystem } from "@chakra-ui/react"
import type { Preview } from "@storybook/react"

const preview: Preview = {
  // ...
  decorators: [
    (Story) => (
      <ChakraProvider value={defaultSystem}>
        <Story />
      </ChakraProvider>
    ),
  ],
}

export default preview

다크 모드 토글 설정 (Setup dark mode toggle)

@storybook/addon-themes의 withThemeByClassName 데코레이터를 사용해 Storybook 툴바에 컬러 모드 토글을 추가하세요.

import { withThemeByClassName } from "@storybook/addon-themes"
import type { Preview, ReactRenderer } from "@storybook/react"

const preview: Preview = {
  decorators: [
    // ...
    withThemeByClassName({
      defaultTheme: "light",
      themes: { light: "", dark: "dark" },
    }),
  ],
}

export default preview

Storybook 서버 시작 (Start the Storybook server)

npm run storybook

즐거운 개발 되세요! (Enjoy!)

스토리에서 Chakra UI 컴포넌트를 사용하세요.

import { Button } from "@chakra-ui/react"

export const SampleStory = {
  render() {
    return <Button>Click me</Button>
  },
}

더 알아보기 (Learn more)