# Text
URL: /react/components/typography/text
Source: https://github.com/daangn/seed-design/blob/dev/docs/content/react/components/(foundation)/typography/text.mdx
텍스트를 표시하는 기본 타이포그래피 컴포넌트입니다. 일관된 글꼴 스타일과 크기를 적용하여 텍스트를 렌더링할 때 사용됩니다.
## Preview
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextPreview() {
return (
t1Regular
t2Regular
t3Regular
t4Regular
t5Regular
t6Bold
t7Bold
t8Bold
t9Bold
t10Bold
t11Bold
t12Bold
t13Bold
t14Bold
);
}
```
## Usage
```tsx
import { Text } from "@seed-design/react";
```
```tsx
```
## Props
## Examples
### Text Styles
Figma의 Text Style과 대응되는 `textStyle` 속성을 사용하는 것이 기본 방법입니다. `textStyle`은 글꼴 크기, 줄 간격, 글꼴 굵기를 한 번에 설정합니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextTextStyles() {
return (
t1Regular
t2Regular
t3Regular
t4Regular
t5Regular
t6Bold
t7Bold
t8Bold
t9Bold
t10Bold
);
}
```
#### Font Sizes
더 구체적으로 변경이 필요한 경우 `fontSize` 및 `lineHeight` 속성을 각각 사용할 수 있습니다.
`lineHeight` 속성은 `fontSize`에 대응되는 기본값으로 설정되며, `lineHeight` 속성으로 변경이 가능합니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextFontSizes() {
return (
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
);
}
```
#### Font Weights
더 구체적으로 변경이 필요한 경우 `fontWeight` 속성을 사용할 수 있습니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextFontWeights() {
return (
regular
medium
bold
);
}
```
### Text Decoration Lines
`textDecorationLine` 속성을 사용하여 텍스트에 밑줄 또는 취소선을 추가할 수 있습니다.
- 링크가 아닌 텍스트를 강조하기 위해 밑줄을 적용할 때는 사용자 경험을 고려해야 합니다. 밑줄이 있는 텍스트는 링크로 인식될 수 있으므로, 혼동을 피하기 위해 적절한 상황에서만 사용해야 합니다.
- 본문 밖 영역에서 인라인 텍스트를 링크 용도로 사용하고자 하는 경우 [ActionButton](/react/components/action-button)을 `variant="ghost" bleedX="asPadding" bleedY="asPadding"` 옵션으로 사용하는 것을 고려해보세요.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextTextDecorationLines() {
return (
underline
line-through
);
}
```
### Max Lines
`maxLines` 속성을 사용하여 텍스트가 차지하는 최대 줄 수를 제한할 수 있습니다. 지정된 줄 수를 초과하는 텍스트는 생략 부호(ellipsis) `…` 로 표시됩니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextMaxLines() {
return (
maxLines=1 Aliquip pariatur adipisicing elit consectetur velit commodo Lorem nulla eu.
Occaecat sint voluptate ut dolore eiusmod minim qui reprehenderit. Do aliquip tempor ipsum
aliqua enim. Incididunt irure do ullamco esse sit enim mollit nisi anim laboris do. Ut
fugiat aliquip velit eiusmod ad incididunt. Consequat qui quis in ad culpa officia eu in
Lorem. Elit voluptate est veniam aliqua magna Lorem proident incididunt amet aliquip.
Aliquip sint sit ex eiusmod sint. Eiusmod incididunt consequat fugiat.
maxLines=2 Aliquip pariatur adipisicing elit consectetur velit commodo Lorem nulla eu.
Occaecat sint voluptate ut dolore eiusmod minim qui reprehenderit. Do aliquip tempor ipsum
aliqua enim. Incididunt irure do ullamco esse sit enim mollit nisi anim laboris do. Ut
fugiat aliquip velit eiusmod ad incididunt. Consequat qui quis in ad culpa officia eu in
Lorem. Elit voluptate est veniam aliqua magna Lorem proident incididunt amet aliquip.
Aliquip sint sit ex eiusmod sint. Eiusmod incididunt consequat fugiat.
maxLines=3 Aliquip pariatur adipisicing elit consectetur velit commodo Lorem nulla eu.
Occaecat sint voluptate ut dolore eiusmod minim qui reprehenderit. Do aliquip tempor ipsum
aliqua enim. Incididunt irure do ullamco esse sit enim mollit nisi anim laboris do. Ut
fugiat aliquip velit eiusmod ad incididunt. Consequat qui quis in ad culpa officia eu in
Lorem. Elit voluptate est veniam aliqua magna Lorem proident incididunt amet aliquip.
Aliquip sint sit ex eiusmod sint. Eiusmod incididunt consequat fugiat.
);
}
```
### User Select
`userSelect` 속성을 사용하여 사용자가 텍스트를 선택할 수 있는지 여부를 제어할 수 있습니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextUserSelect() {
return (
auto
none
text
);
}
```
### Static
폰트 스케일링에 반응하지 않는 static 토큰을 활용하는 텍스트 스타일을 적용할 수 있습니다.
```tsx
import { Flex, Text } from "@seed-design/react";
export default function TextStatic() {
return (
t1StaticRegular
t2StaticRegular
t3StaticRegular
t4StaticRegular
t5StaticRegular
t6StaticBold
t7StaticBold
t8StaticBold
t9StaticBold
t10StaticBold
);
}
```
### White Space
`whiteSpace` prop은 `maxLines` prop을 사용하지 않을 때만 적용됩니다.
```tsx
import { Box, Text, VStack } from "@seed-design/react";
const sampleText = `이것은 여러 개 의
공백, 줄바꿈과
들여쓰기를 포함한 샘플 텍스트입니다. 각각의 white-space 속성\n값이 어떻게 작동하는지 보여줍니다.`;
export default function TextWhiteSpace() {
return (
{(["normal", "nowrap", "pre", "pre-wrap", "pre-line", "break-spaces"] as const).map(
(value) => (
{value}
{sampleText}
),
)}
);
}
```