Vinyl UI logoVinyl UI

파운데이션

색·간격·타이포 등 디자인 시스템의 기반 토큰

컴포넌트는 컬러를 시맨틱 토큰(layout.*·text.*)으로만 참조하고, 시맨틱 토큰은 Primitive colors 팔레트를 참조합니다. 테마 교체는 preset에서 이 값을 재정의해 이뤄지며 컴포넌트 코드는 그대로입니다.

Primitive Colors

Primitive Colors 는 시맨틱 토큰의 재료입니다. 컴포넌트·화면에서 직접 참조하지 말고 아래 시맨틱 토큰을 사용하세요.

navy

100#EEF0F7
200#D0D5E8
300#A4AED0
400#6878B0
500#27396B
600#1E2D56
700#152244
800#0C1530

orange

100#FEF0E7
200#FDD4B3
300#FAAA72
400#F27D3A
500#EB6013
600#B84200
700#8A3200
800#5C2000

green

100#EAF4EA
200#C0E0BF
300#8DC48B
400#62A960
500#498F47
600#376E35
700#276B25
800#174D15

emerald-green

100#EAFAF2
200#C1EDDA
300#87DAB7
400#42C18E
500#259E6E
600#1B7955
700#165B3E
800#0F3B2A

red

100#FDECEC
200#F9BFBF
300#F18787
400#E85656
500#DB3535
600#A01A1A
700#7A1111
800#520808

black

100#F2F3F5
200#D9DBE1
300#B0B4BF
400#80869A
500#565B6E
600#353A49
700#22263A
800#13172A

white

default#FFFFFF

Semantic Colors — layout

토큰미리보기기본 토큰역할
layout.primarynavy.500브랜드 대표 컬러. 버튼·링크·포커스 등 주요 인터랙티브 요소에 사용
layout.primary-darknavy.600primary 요소의 hover·pressed 상태에 사용
layout.primary-subtlenavy.100강조 라벨·경고 배지·이슈 영역 배경에 사용
layout.emphasisblack.500브랜드 컬러 외 강조 컬러. 헤더·주요 콘텐츠 배경·브랜드 강조 영역에 사용
layout.emphasis-darkblack.600emphasis 요소의 hover·pressed 상태에 사용
layout.neutral-grayblack.400네이비 계열 서비스에서 중립적인 보조 UI 요소에 사용
layout.accent-secondarygreen.500완료·정상·가능 등 긍정적 상태를 나타낼 때 사용(화면의 30% 이상 금지)
layout.issuered.500오류·경고·공휴일 등 부정적 상태를 나타낼 때 사용(화면의 30% 이상 금지)
layout.bg-soft-grayblack.200구분선·비활성 보더 등 미묘한 경계 표현에 사용
layout.bg-layerrgba(0,0,0,0.6)모달·바텀시트 등 오버레이 생성 시 배경 딤 처리에 사용
layout.bg-lightwhite.default기본 흰색 배경. 카드·시트·팝업 등 콘텐츠 영역 배경에 사용
layout.bg-light-bluenavy.100네이비 계열의 연한 배경. 선택 상태·활성 탭·강조 영역 배경에 사용
layout.bg-light-greengreen.100초록 계열의 연한 배경. 완료·정상·가능 상태의 라벨 배경에 사용
layout.bg-light-grayblack.100페이지 기본 배경. 콘텐츠 구분이 필요한 영역의 배경에 사용
layout.bg-disableblack.100비활성화된 모든 컨트롤의 배경
layout.bg-issuered.100오류·경고 상태의 인풋 보더·구분선에 쓰이는 배경
layout.default-lineblack.200카드·인풋·섹션 구분 등 기본 보더·구분선에 사용
layout.strong-lineblack.500선택·포커스 등 강한 강조가 필요한 보더에 사용
layout.highlight-linenavy.300네이비 계열 강조 보더. 활성 탭·선택된 항목 표시에 사용
layout.issue-linered.500오류·경고 상태의 인풋 보더·구분선에 사용
layout.table-headerblack.100테이블 헤더 배경에 사용

Semantic Colors - text

토큰미리보기기본 토큰역할
text.displayblack.800디스플레이 헤딩에 사용. 가장 큰 타이틀 텍스트 전용
text.headingblack.800페이지 및 섹션 타이틀에 사용
text.strongblack.800본문·리스트에서 강조가 필요한 텍스트에 사용
text.defaultblack.600본문·리스트 등 모든 일반 텍스트에 사용
text.default-lightwhite.default어둡거나 채도 높은 배경 위의 반전 텍스트에 사용
text.softblack.500보조 설명·캡션·레벨이 낮은 텍스트에 사용
text.accent-primarynavy.500강조 텍스트에 제한적으로 사용(화면의 30% 이상 금지)
text.accent-secondarygreen.600완료·정상·가능 등 긍정 상태 강조 텍스트에 사용(화면의 30% 이상 금지)
text.inputblack.600인풋 필드 입력 텍스트에 사용
text.input-softblack.300인풋 플레이스홀더 및 보조 아이콘에 사용
text.input-strongblack.600인풋 보조 아이콘 강조에 사용
text.disableblack.300모든 비활성화 상태의 텍스트에 사용
text.issuered.500오류·경고·공휴일 등 이슈 상태 텍스트에 사용

Spacing

px 값을 키로, 값은 rem(10px = 1rem) 기준입니다. 예: spacing.161.6rem.

40.4rem
80.8rem
121.2rem
161.6rem
242.4rem
323.2rem
404rem
484.8rem
606rem
808rem
10010rem
12012rem

Typography - textStyle

{name}.{size}-{weight} 형태의 합성 스타일입니다. 굵기: light 400 · normal 500 · bold 700.

textStyle크기굵기
heading.xlarge-bold4rembold
heading.large-bold2.4rembold
heading.medium-bold1.8rembold
heading.small-bold1.6rembold
body.large-bold1.8rembold
body.large-normal1.8remnormal
body.large-light1.8remlight
body.medium-bold1.6rembold
body.medium-normal1.6remnormal
body.medium-light1.6remlight
body.small-bold1.4rembold
body.small-normal1.4remnormal
body.small-light1.4remlight
body.xsmall-light1.2remlight
button.large-normal1.8remnormal
button.medium-normal1.6remnormal
button.small-normal1.4remnormal
input.medium-light1.8remlight
input.small-light1.6remlight
input.xsmall-light1.4remlight

Radius (radii)

40.4rem
80.8rem
161.6rem
242.4rem
404rem
full1000px

Shadows

xs0 1px 2px 0 rgba(0,0,0,0.05)
sm0 1px 3px 0 rgba(0,0,0,0.10), 0 1px 2px -1px rgba(0,0,0,0.10)
md0 4px 6px -1px rgba(0,0,0,0.10), 0 2px 4px -2px rgba(0,0,0,0.10)
lg0 10px 15px -3px rgba(0,0,0,0.10), 0 4px 6px -4px rgba(0,0,0,0.10)
xl0 20px 25px -5px rgba(0,0,0,0.10), 0 8px 10px -6px rgba(0,0,0,0.10)
innerinset 0 2px 4px 0 rgba(0,0,0,0.06)

Fonts

body"Spoqa Han Sans Neo", sans-serif

기본 브랜드 폰트는 Spoqa Han Sans Neo입니다. 폰트는 직접 로드하거나 아래처럼 fonts.body를 재정의해 다른 폰트로 브랜딩합니다.

import { defineConfig } from '@pandacss/dev';
import { preset } from '@bigmobility/vinyl-ui/preset';

export default defineConfig({
  presets: [preset],
  theme: {
    extend: {
      tokens: {
        fonts: { body: { value: '"Pretendard", sans-serif' } },
      },
    },
  },
});