opize-design-system

Opize Design System


License
MIT
Install
npm install opize-design-system@0.17.0

Documentation

Opize Calendar2notion

opize-design-system

Opize ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋””์ž์ธ ์‹œ์Šคํ…œ

Language


Overview

Opize Design System์€ ๋””์ž์ธ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ ๋Œ€์‹ , ์•„์ด๋””์–ด๋ฅผ ํ˜„์‹ค๋กœ ๋งŒ๋“ค๋„๋ก ๋„์™€์ฃผ๋Š” Opize์˜ ๋””์ž์ธ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

Opize Design System Storybook

โš ๏ธ Work In Process - ๊ฐœ๋ฐœ์ค‘์ธ ํ”„๋กœ์ ํŠธ

โš ๏ธ warn: ์ตœ๊ทผ์— v1 ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ๋งŽ์€ ๋ถ€๋ถ„์ด ๋‹ฌ๋ผ์กŒ์–ด์š”. ๋ฌธ์„œ๋ฅผ ์ž˜ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

Opize Design System์€ ํ˜„์žฌ ๊ฐœ๋ฐœ์ค‘์ธ ํ”„๋กœ์ ํŠธ๋กœ, ์•„์ง์€ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•˜์ง€ ์•Š์•„์š”.

  1. ์ปดํฌ๋„ŒํŠธ์˜ ์†์„ฑ๊ณผ ํƒ€์ž…์ด ์˜ˆ๊ณ  ์—†์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์–ด์š”.
  2. ํ•ด๊ฒฐ๋˜์ง€ ๋ชปํ•œ ๋ฒ„๊ทธ๋กœ ์ธํ•ด ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด์š”.
  3. ์ฝ”๋“œ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•„ ํผํฌ๋จผ์Šค์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์–ด์š”.
  4. ์ž‘์„ฑ & ๋ณด์™„๋˜์ง€ ์•Š์€ ๋ฌธ์„œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์–ด์š”.

Quick Start

Install

> npm install opize-design-system styled-components @phosphor-icons/react

> yarn add opize-design-system styled-components @phosphor-icons/react

Setup

Opize Design System์€ ๋‚ด๋ถ€์ ์œผ๋กœ Context๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” <OpizeWrapper> ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

import React from 'react';
import ReactDOM from 'react-dom';
import { OpizeWrapper } from 'opize-design-system';

import App from './App';

ReactDOM.render(
    <OpizeWrapper>
        <App />
    </OpizeWrapper>,
    document.getElementById('root')
);

In NextJS

  • Page Router (pages ํด๋”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ _app.tsx ํŒŒ์ผ์— <OpizeWrapper> ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  • App Router (app ํด๋”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ app ํด๋” ๋ฐ”๋กœ ์•„๋ž˜์˜ layout.tsx ํŒŒ์ผ์— <OpizeWrapper> ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

Usage

import { Button } from 'opize-design-system';

<Button>Button</Button>;

In NextJS

NextJS์˜ App Router์—์„œ๋Š” ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์š”. ์ด ๊ฒฝ์šฐ .์„ ์ œ์™ธํ•˜๊ณ  ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.

// ์ผ๋ฐ˜์ ์ธ React
import { Flex } from 'opize-design-system';

<Flex.Column>...</Flex.Column>;

// NextJS (App Router)
import { FlexColumn } from 'opize-design-system';

<FlexColumn>...</FlexColumn>;

Contact

ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ์š”์ฒญ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์งˆ๋ฌธ, ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์งˆ๋ฌธ ๋“ฑ ์–ด๋– ํ•œ ๋‚ด์šฉ์˜ ์—ฐ๋ฝ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋ฉ”์ผ - Opize: hello@opize.me
  • ์ด๋ฉ”์ผ - Hyuns(๊ฐœ๋ฐœ์ž): hyuns@hyuns.dev
  • ๋””์Šค์ฝ”๋“œ: hyunsdev