0.3.6 • Published 7 months ago

conan-layout-component v0.3.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Installation

In React App

# use npm
npm install conan-layout-component

Container

화면의 폭에 따라 내용의 최대 폭을 제한하고 중앙에 배치하는 레이아웃을 만들기 위한 컴포넌트입니다.

Import

import { Container } from 'conan-layout-component';

Props

propstypedescription
as?ElementTypeContainer 컴포넌트의 태그를 변경합니다.
minWidth?CSSProperties'maxWidth'Container의 최소 넓이 값입니다.
maxWidth?CSSProperties'minWidth'Container의 최대 넓이 값입니다.
style?CSSProperties위 스타일 요소를 제외하고 추가적인 스타일링이 가능합니다.
children?ReactNodeContainer의 자식 컴포넌트입니다.

Usage

<Container minWidth={300} maxWidth={900}>
  <div style={{ backgroundColor: '#81D4FA' }}>Item</div>
</Container>

Grid

CSS Grid를 사용하여 자식 컴포넌트들을 격자 형태로 배열하는 컴포넌트입니다.

Import

import { Grid } from 'conan-layout-component';

Grid Props

propsvaluedescription
as?ElementTypeGrid 컴포넌트의 태그를 변경합니다.
rows?numberGrid row의 갯수를 지정합니다.
columns?numberGrid column의 갯수를 지정합니다.
rowGap?CSSProperties'rowGap'Grid의 row 간의 간격을 지정합니다.
columnGap?CSSProperties'columnGap'Grid의 column 간의 간격을 지정합니다.
gap?CSSProperties'gap'Grid 아이템들의 간격을 지정합니다.
style?CSSProperties위 스타일 요소를 제외하고 추가적인 스타일링이 가능합니다.
children?ReactNodeGrid의 자식 컴포넌트입니다.

Usage

<Grid rows={2} columns={4} gap={20}>
  <div style={{ backgroundColor: '#81D4FA' }}>Item 1</div>
  <div style={{ backgroundColor: '#4FC3F7' }}>Item 2</div>
  <div style={{ backgroundColor: '#29B6F6' }}>Item 3</div>
  <div style={{ backgroundColor: '#03A9F4' }}>Item 4</div>
  <div style={{ backgroundColor: '#039BE5' }}>Item 5</div>
  <div style={{ backgroundColor: '#0288D1' }}>Item 6</div>
  <div style={{ backgroundColor: '#0277BD' }}>Item 7</div>
  <div style={{ backgroundColor: '#01579B' }}>Item 8</div>
</Grid>

Flex

CSS Flexbox를 사용하여 자식 컴포넌트들을 유연하게 배열하는 컴포넌트입니다.

Import

import { Container } from 'conan-layout-component';

Flex Props

propsvaluedescription
as?stringFlex 컴포넌트의 태그를 변경합니다.
direction?CSSProperties'flexDirection'Flex의 방향을 지정합니다.
wrap?CSSProperties'flexWrap'Flex 아이템들의 묶음(줄 바꿈)을 지정합니다.
justify?CSSProperties'justifyContent'Flex direction의 수평축 정렬을 지정합니다.
align?CSSProperties'alignItems'Flex direction의 수직축 정렬을 지정합니다.
gap?CSSProperties'gap'Flex 아이템들의 간격을 지정합니다.
style?CSSProperties위 스타일 요소를 제외하고 추가적인 스타일링이 가능합니다.
children?ReactNodeFlex의 자식 컴포넌트입니다.

Usage

<Flex direction="column" gap={10}>
  <div style={{ backgroundColor: '#81D4FA' }}>Item 1</div>
  <div style={{ backgroundColor: '#4FC3F7' }}>Item 2</div>
  <div style={{ backgroundColor: '#29B6F6' }}>Item 3</div>
  <div style={{ backgroundColor: '#03A9F4' }}>Item 4</div>
  <div style={{ backgroundColor: '#039BE5' }}>Item 5</div>
  <div style={{ backgroundColor: '#0288D1' }}>Item 6</div>
  <div style={{ backgroundColor: '#0277BD' }}>Item 7</div>
  <div style={{ backgroundColor: '#01579B' }}>Item 8</div>
</Flex>

Drawer

화면의 한쪽에서 슬라이드 형태로 나타나는 메뉴나 사이드바를 제공하는 컴포넌트입니다.

Import

import { Drawer, useModal } from 'conan-layout-component';

useModal

propvaluedescription
defaultOpen?boolean모달의 열림/닫힘에 대한 기본값입니다.
returnvaluedescription
isOpenboolean모달의 열림/닫힘에 대한 값입니다. 해당 값을 이용해 모달을 조건부 렌더링합니다.
openModal() => void모달을 여는 함수입니다.
closeModal() => void모달을 닫는 함수입니다.
const { isOpen, openModal, closeModal } = useModal();

Drawer Props

propsvaluedescription
placement'left' | 'right' | 'top' | 'bottom'Drawer 컴포넌트의 위치를 지정합니다.
onClose() => voidDrawer 컴포넌트를 닫는 함수를 주입받습니다.
children?ReactNodeDrawer의 자식 컴포넌트입니다.

Usage

const App = () => {
  const { isOpen, openModal, closeModal } = useModal();

  return (
    <>
      <button type="button" onClick={openModal}>
        Drawer 열기
      </button>
      {isOpen && (
        <Drawer placement="left" onClose={closeModal}>
          <div style={{ width: '20vw', height: '100vh', backgroundColor: '#81D4FA' }}>Contents</div>
        </Drawer>
      )}
    </>
  );
};
0.3.6

7 months ago

0.3.5

7 months ago

0.3.4

7 months ago

0.3.3

8 months ago

0.3.2

8 months ago

0.3.1

8 months ago

0.3.0

8 months ago

0.2.0

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago