Vinyl UI logoVinyl UI

Icon

lucide 아이콘을 렌더링하는 컴포넌트

lucide 아이콘을 이름으로 렌더합니다. 사용 가능한 이름은 Lucide 아이콘 목록에서 확인하세요.

기본 예시

import { Icon } from '@bigmobility/vinyl-ui';

export default function IconExample() {
  return (
    <>
      <Icon name="chevron-right" />
      <Icon name="check" />
      <Icon name="search" />
      <Icon name="settings" />
    </>
  );
}

Color 변경

아이콘 컴포넌트는 별도 지정이 없으면 부모 요소의 color에 맞춰 변경됩니다.

import { styled } from 'styled-system/jsx';

import { Icon } from '@bigmobility/vinyl-ui';

const Container = styled('span', {
  base: {
    color: 'text.issue',
  },
});

export default function ColorfulIcon() {
  return (
    <Container>
      <Icon name="heart" />
    </Container>
  );
}

Size 변경

아이콘 컴포넌트는 부모의 font-size에 맞춰 변경됩니다.

import { styled } from 'styled-system/jsx';

import { Icon } from '@bigmobility/vinyl-ui';

const Container = styled('span', {
  base: {
    fontSize: '4rem',
  },
});

export default function ResizingIcon() {
  return (
    <Container>
      <Icon name="heart" />
    </Container>
  );
}

Props

PropTypeDefaultDescription
nameIconNamelucide 아이콘 이름. 존재하지 않는 이름은 file-x로 폴백

name을 제외하고 lucide의 LucideProps를 그대로 전달할 수 있습니다.

접근성

  • 아이콘은 기본적으로 aria-hidden(장식용) 으로 렌더됩니다.
  • 아이콘이 단독으로 의미를 가질 때는 감싸는 상호작용 요소에 aria-label을 제공하세요.