Divider
Divider (구분선)
Divider 컴포넌트는 가로 줄을 그려 주고 선택적으로 라벨을 넣거나, 세로 구분선으로도 사용할 수 있는 컴포넌트예요. 콘텐츠 사이를 시각적으로 분리할 때 사용해요.
출처: 문서
본문
Divider를 사용하면 텍스트 블록 사이에 구분선을 추가할 수 있어요.
import { Text, Divider } from '@mantine/core';
function Demo() {
return (
<>
<Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam, officiis! Fugit minus ea,
perferendis eum consectetur quae vitae. Aliquid, quam reprehenderit? Maiores sed pariatur
aliquid commodi atque sunt officiis natus?
</Text>
<Divider my="md" />
<Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam, officiis! Fugit minus ea,
perferendis eum consectetur quae vitae. Aliquid, quam reprehenderit? Maiores sed pariatur
aliquid commodi atque sunt officiis natus?
</Text>
<Divider my="md" />
<Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam, officiis! Fugit minus ea,
perferendis eum consectetur quae vitae. Aliquid, quam reprehenderit? Maiores sed pariatur
aliquid commodi atque sunt officiis natus?
</Text>
</>
);
}
변형 (Variants)
variant prop으로 구분선 스타일을 바꿀 수 있어요. solid(기본), dashed, dotted를 지원해요.
import { Divider } from '@mantine/core';
function Demo() {
return (
<>
<Divider my="sm" />
<Divider my="sm" variant="dashed" />
<Divider my="sm" variant="dotted" />
</>
);
}
라벨 추가 (With label)
label prop으로 구분선에 라벨을 넣을 수 있고, labelPosition으로 라벨 위치(left/center/right)를 지정할 수 있어요.
import { Divider, Box, Anchor } from '@mantine/core';
import { MagnifyingGlassIcon } from '@phosphor-icons/react';
function Demo() {
return (
<>
<Divider my="xs" label="Label on the left" labelPosition="left" />
<Divider my="xs" label="Label in the center" labelPosition="center" />
<Divider my="xs" label="Label on the right" labelPosition="right" />
<Divider
my="xs"
variant="dashed"
labelPosition="center"
label={
<>
<MagnifyingGlassIcon size={12} />
<Box ml={5}>Search results</Box>
</>
}
/>
<Divider
my="xs"
label={
<Anchor href="https://mantine.dev" target="_blank" inherit>
Link label
</Anchor>
}
/>
</>
);
}
크기 (Sizes)
size prop으로 구분선 두께를 조절할 수 있어요. xs부터 xl까지 그리고 숫자 값도 지원해요.
import { Divider } from '@mantine/core';
function Demo() {
return (
<>
<Divider size="xs" />
<Divider size="sm" />
<Divider size="md" />
<Divider size="lg" />
<Divider size="xl" />
<Divider size={10} />
</>
);
}
세로 방향 (Vertical orientation)
orientation="vertical"을 설정하면 세로 구분선으로 렌더링돼요. 가로로 배치된 요소들 사이를 분리할 때 유용해요.
import { Divider, Group, Text } from '@mantine/core';
function Demo() {
return (
<Group>
<Text>Label</Text>
<Divider orientation="vertical" />
<Text>Label</Text>
<Divider size="sm" orientation="vertical" />
<Text>Label</Text>
<Divider size="md" orientation="vertical" />
<Text>Label</Text>
<Divider size="lg" orientation="vertical" />
<Text>Label</Text>
<Divider size="xl" orientation="vertical" />
<Text>Label</Text>
</Group>
);
}