0.5.2 • Published 2 years ago

layout-component-hp v0.5.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Installation

In React App

# use npm
npm install layout-component-hp

#use yarn
yarn add layout-component-hp

Container

화면의 폭에 따라 내용의 폭을 조절하고 중앙에 배치하는 레이아웃 컴포넌트

Import

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

Props

propstypedescription
minWidth?numberContainer의 min-width값입니다.
maxWidth?numberContainer의 max-width값입니다.
centerContent?boolean (default: false)Container 자식 컴포넌트의 중앙 정렬 여부입니다.
css?CSSProperties (default: {})Container의 props를 제외한 기타 커스텀 스타일 속성입니다.
children?ReactNodeContainer의 자식 컴포넌트입니다.

Usage

<Container minWidth={300} maxWidth={900}>
  <div>Container</div>
</Container>

Grid

CSS Grid를 사용하여 자식 컴포넌트들을 격자 형태로 배열하는 레이아웃 컴포넌트

Import

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

Anatomy

  • Grid: CSS Grid를 지정한 컨테이너
  • Grid.Item: Grid 내 각 아이템 컨테이너

Grid Props

propsvaluedescription
areas?CSSProperties'gridTemplateAreas'Grid의 영역을 정의합니다.
rows?numberGrid의 행 수를 지정합니다.
columns?numberGrid의 열 수를 지정합니다.
gap?numberGrid 내 아이템 사이의 간격을 지정합니다.
rowGap?numberGrid의 행 사이의 간격을 지정합니다.
columnGap?numberGrid의 열 사이의 간격을 지정합니다.
css?CSSProperties (default: {})Grid의 props를 제외한 기타 커스텀 스타일 속성입니다.
children?ReactNodeGrid의 자식 컴포넌트입니다.

Grid.Item Props

propsvaluedescription
area?CSSProperties'gridArea'Grid.Item의 영역을 정의합니다.
row?number / 'auto'Grid.Item의 행 수를 지정합니다.
col?number / 'auto'Grid.Item의 열 수를 지정합니다.
rowStart?number / 'auto'Grid.Item의 행이 시작하는 위치를 지정합니다.
rowEnd?number / 'auto'Grid.Item의 행이 끝나는 위치를 지정합니다.
colStart?number / 'auto'Grid.Item의 열이 시작하는 위치를 지정합니다.
colEnd?number / 'auto'Grid.Item의 열이 끝나는 위치를 지정합니다.
css?CSSProperties (default: {})Grid의 props를 제외한 기타 커스텀 스타일 속성입니다.
children?ReactNodeGrid.Item의 자식 컴포넌트입니다.

Usage

<Grid columns={5} gap={4}>
  <Grid.Item col={2}>Item1</Grid.Item>
  <Grid.Item colStart={4} colEnd={6}>
    Item2
  </Grid.Item>
</Grid>

Flex

CSS Flexbox를 사용하여 자식 컴포넌트들을 유연하게 배열하는 레이아웃 컴포넌트

Import

import { Flex } from 'layout-component-hp';

Anatomy

  • Flex: CSS Flexbox를 지정한 컨테이너
  • Flex.Item: Flex 내 각 아이템 컨테이너

Flex Props

propsvaluedescription
direction?CSSProperties'flexDirection'Flex의 배치 방향을 설정합니다.
wrap?CSSProperties'flexWrap'Flex의 줄넘김 처리 설정합니다.
justify?CSSProperties'justifyContent'Flex의 메인축 방향 정렬을 지정합니다.
align?CSSProperties'alignItems'Flex의 수직축 방향 정렬을 지정합니다.
gap?numberFlex의 콘텐츠 사이 간격을 지정합니다.
css?CSSProperties (default: {})Flex의 props를 제외한 기타 커스텀 스타일 속성입니다.
children?ReactNodeFlex의 자식 컴포넌트입니다.

Flex.Item Props

propsvaluedescription
order?CSSProperties'order'Flex.Item의 배치 순서를 지정합니다.
basis?CSSProperties'flexBasis'Flex.Item의 기본 크기를 지정합니다.
grow?CSSProperties'flexGrow'basis 값보다 커질 수 있도록 지정합니다.
shrink?CSSProperties'flexShrink'basis 값보다 작아질 수 있도록 지정합니다.
align?CSSProperties'alignSelf'Flex.Item의 수직축 방향 정렬을 지정합니다.
css?CSSProperties (default: {})Flex.Item의 props를 제외한 기타 커스텀 스타일 속성입니다.
children?ReactNodeFlex.Item의 자식 컴포넌트입니다.

Usage

<Flex direction='column' gap={10}>
  <Flex.Item>Item1</Flex.Item>
  <Flex.Item>Item2</Flex.Item>
</Flex>

Drawer

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

Import

import { Drawer } from 'layout-component-hp';

Anatomy

  • Drawer: 화면의 한쪽에서 슬라이드 형태로 나타나는 메뉴나 사이드바
  • Drawer.Backdrop: Drawer 외부 백그라운드. 클릭으로 Drawer를 닫을 수 있습니다
  • Drawer.Content: Drawer 내부 컨텐트
  • Drawer.CloseButton: Drawer를 닫을 수 있는 버튼

useDisclosure

import { useDisclosure } from 'layout-component-hp';

const { isOpen, onOpen, onClose } = useDisclosure();

Drawer를 동작할 수 있는 useDisclosure 훅을 제공

  • isOpen: Drawer가 열려있는지에 대한 상태
  • onOpen: Drawer를 여는 함수
  • onClose: Drawer를 닫는 함수

Drawer Props

propsvaluedescription
isOpenbooleanDrawer가 열려있는지 여부입니다.
onClose() => voidDrawer를 닫는 함수입니다.
animation?boolean (default: true)Drawer의 열고 닫는 애니메이션 지정 여부입니다.
placement?'top' / 'right' / 'bottom' / 'left'Drawer의 위치입니다.
portalElementElement (default: document.body)Drawer가 렌더링될 위치입니다.
childrenReactElementDrawer의 자식 컴포넌트입니다.

Drawer.Content Props

propsvaluedescription
css?CSSProperties (default: {})Drawer.Content의 커스텀 스타일 속성입니다.
childrenReactNodeDrawer.Content의 자식 컴포넌트입니다.

Usage

import { Drawer, useDisclosure } from 'layout-component-hp';

function DrawerExample() {
  const { isOpen, onOpen, onClose } = useDisclosure();

  return (
    <>
      <button type='button' onClick={onOpen}>
        Open Drawer
      </button>
      <Drawer isOpen={isOpen} onClose={onClose} placement='right'>
        <Drawer.Backdrop />
        <Drawer.Content>
          <Drawer.CloseButton />
          <p>This is Drawer</p>
        </Drawer.Content>
      </Drawer>
    </>
  );
}
0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago