chex-layout-component v2.1.1
Chex's Layout Component π
μ¬μ¬μ© κ°λ₯ν κΈ°λ³Έ λ μ΄μμ μ»΄ν¬λνΈλ₯Ό λͺ¨μλμ λΌμ΄λΈλ¬λ¦¬μ λλ€.
- Container
- Grid
- Flex
- Tabs
Installation
npm
npm install chex-layout-component
yarn
yarn add chex-layout-component
Container
λ΄μ©μ μ΅μ, μ΅λ νμ μ ννκ³ μ€μμ λ°°μΉν μ μλ μ»΄ν¬λνΈ
Import
import { Container } from 'chex-layout-component';
Props
Props | Type | Default | Description |
---|---|---|---|
tag | keyof JSX.IntrinsicElements | 'div' | μ»΄ν¬λνΈμ HTML νκ·Έλ₯Ό μ§μ νλ μμ±μ λλ€. |
minWidth | string | 'auto' | μ»΄ν¬λνΈμ μ΅μ λλΉλ₯Ό μ§μ νλ μμ±μ λλ€. |
maxWidth | string | 'none' | μ»΄ν¬λνΈμ μ΅λ λλΉλ₯Ό μ§μ νλ μμ±μ λλ€. |
minHeight | string | 'auto' | μ»΄ν¬λνΈμ μ΅μ λμ΄λ₯Ό μ§μ νλ μμ±μ λλ€. |
maxHeight | string | 'none' | μ»΄ν¬λνΈμ μ΅λ λμ΄λ₯Ό μ§μ νλ μμ±μ λλ€. |
backgroundColor | CSSProperties'backgroundColor' | 'transparent' | μ»΄ν¬λνΈμ λ°°κ²½μμμ μ§μ νλ μμ±μ λλ€. |
css | CSSProp | '' | 컨ν μ΄λμ μ μ©ν CSS μ€νμΌμ μ€μ νλ μμ±μ λλ€. |
Grid
μμ μ»΄ν¬λνΈλ€μ 격μ ννλ‘ λ°°μ΄νλ μ»΄ν¬λνΈ
Import
import { Grid } from 'chex-layout-component';
Props
Props | Type | Default | Description |
---|---|---|---|
tag | keyof JSX.IntrinsicElements | 'div' | μ»΄ν¬λνΈμ HTML νκ·Έλ₯Ό μ§μ νλ μμ±μ λλ€. |
rows | number | '' | ν κ°μλ₯Ό μ§μ νλ μμ±μ λλ€. |
columns | number | '' | μ΄ κ°μλ₯Ό μ§μ νλ μμ±μ λλ€. |
autoRows | string | '' | μλμΌλ‘ μμ±λλ νμ ν¬κΈ°λ₯Ό μ§μ νλ μμ±μ λλ€. |
autoColumns | string | '' | μλμΌλ‘ μμ±λλ μ΄μ ν¬κΈ°λ₯Ό μ§μ νλ μμ±μ λλ€. |
areas | string | '' | 그리λ μμ΄ν μ λ°°μΉλ₯Ό μ§μ νλ μμ±μ λλ€. |
gap | string | '0' | 그리λ μμ΄ν μ¬μ΄μ κ°κ²©μ μ§μ νλ μμ±μ λλ€. |
rowGap | string | '0' | 그리λ μμ΄ν μ ν κ°κ²©μ μ§μ νλ μμ±μ λλ€. |
columnGap | string | '0' | 그리λ μμ΄ν μ μ΄ κ°κ²©μ μ§μ νλ μμ±μ λλ€. |
css | CSSProp | '' | 컨ν μ΄λμ μ μ©ν CSS μ€νμΌμ μ€μ νλ μμ±μ λλ€. |
Flex
CSS Flexboxλ₯Ό μ¬μ©νμ¬ μμ μ»΄ν¬λνΈλ€μ μ μ°νκ² λ°°μ΄νλ μ»΄ν¬λνΈ
Import
import { Flex } from 'chex-layout-component';
Props
Props | Type | Default | Description |
---|---|---|---|
tag | keyof JSX.IntrinsicElements | 'div' | μ»΄ν¬λνΈμ HTML νκ·Έλ₯Ό μ§μ νλ μμ±μ λλ€. |
display | 'flex' | 'inline-flex' | 'flex' | 컨ν μ΄λμ νμ λ°©μμ μ§μ νλ μμ±μ λλ€. 'flex'λ λΈλ‘μμ, 'inline-flex'λ μΈλΌμΈμμλ‘ μ€μ ν©λλ€. |
direction | 'row' | 'column' | 'row-reverse' | 'column-reverse' | 'row' | 컨ν μ΄λμ μ£ΌμΆ(main axis)μ μ€μ νλ μμ±μ λλ€. |
justify | 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'flex-start' | μ£ΌμΆ(main axis)μ μ λ ¬ λ°©λ²μ μ€μ νλ μμ±μ λλ€. |
align | 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'none' | κ΅μ°¨μΆ(cross axis)μ μ λ ¬ λ°©λ²μ μ€μ νλ μμ±μ λλ€. |
gap | string | '0' | Flex μμ΄ν μ¬μ΄μ κ°κ²©μ μ§μ νλ μμ±μ λλ€. |
wrap | 'nowrap' | 'wrap' | 'wrap-reverse' | 'nowrap' | Flex μμ΄ν μ΄ ν μ€μ λνλ μ§ μ¬λ¬ μ€λ‘ λνλ μ§λ₯Ό κ²°μ νλ μμ±μ λλ€. |
css | CSSProp | '' | 컨ν μ΄λμ μ μ©ν CSS μ€νμΌμ μ€μ νλ μμ±μ λλ€. |
Tabs
μ¬λ¬ κ°μ μ»΄ν¬λνΈ μ€ μ νν νμ λ°λ₯Έ ν κ°μ§λ§ 보μ¬μ£Όλ μ»΄ν¬λνΈ
Import
import { Tabs } from 'chex-layout-component';
Props
Props | Type | Default | Description |
---|---|---|---|
defaultTabPanelId | string | κΈ°λ³Έ νμ μ€μ νλ μμ±μ λλ€. | |
direction | 'horizontal' | 'vertical' | 'horizontal' | νμ λ°©ν₯μ μ€μ νλ μμ±μ λλ€. μν λλ μμ§ λ°©ν₯μΌλ‘ νμ λ°°μΉν μ μμ΅λλ€. |
primaryColor | string | 'Cornflowerblue' | νμ ν°νΈ μμκ³Ό νλ¨ κ²½κ³μ μ μμμ μ§μ νλ μμ±μ λλ€. |
backgroundColor | string | 'transparent' | νμ λ°±κ·ΈλΌμ΄λ μμμ μ§μ νλ μμ±μ λλ€. |
Example
<Tabs defaultTabId='item1' direction='horizontal' primaryColor='#6495ed'>
<Tabs.List>
<Tabs.Tab tabPanelId='item1'>ITEM ONE</Tabs.Tab>
<Tabs.Tab tabPanelId='item2'>ITEM TWO</Tabs.Tab>
<Tabs.Tab tabPanelId='item3'>ITEM THREE</Tabs.Tab>
</Tabs.List>
<Tabs.Panel id='item1'>
<Container css={{ width: '200px', margin: '2rem', textAlign: 'center' }}>π</Container>
</Tabs.Panel>
<Tabs.Panel id='item2'>
<Container css={{ width: '200px', margin: '2rem', textAlign: 'center' }}>πΎ</Container>
</Tabs.Panel>
<Tabs.Panel id='item3'>
<Container css={{ width: '200px', margin: '2rem', textAlign: 'center' }}>π</Container>
</Tabs.Panel>
</Tabs>
Author's Intent
λ―Έλμ μμ κ·Έλ¦¬κ³ κ°λ°μ λλ£λ€μ΄ μ¬μ©νλ€κ³ μκ°νκ³ λ§λ κΈ°λ³Έ λ μ΄μμ μ»΄ν¬λνΈμ
λλ€.
μ΄λ€ μμ±μ ν¬ν¨ν΄μΌ μ¬μ©νκΈ° νΈν κΉλ₯Ό κ³ λ―Όνμ¬ μ»΄ν¬λνΈ Prop
μ μ§μ νμμ΅λλ€. μ¬μ©μμ μμ λλ₯Ό λμ¬ μ μ°ν μ»΄ν¬λνΈλ‘μ μ¬μ¬μ©μ΄ μ©μ΄νλλ‘ λ§λ€κ³ μ νμ΅λλ€.
Development Environment
- React
- TypeScript
- Styled-components
- Vite
Storybook
Storybookμμ μμ λ‘κ² μ»΄ν¬λνΈλ₯Ό κ²½νν΄λ³΄μΈμ!
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago