컬러

색상 시스템과 테마

색상 시스템

Podo UI는 8가지 시맨틱 컬러를 제공하며, 각 컬러는 7가지 변형(base, hover, pressed, focus, fill, reverse, outline)을 가집니다. CSS 변수 기반으로 구축되어 있어 라이트/다크 모드를 쉽게 전환할 수 있습니다.

컬러 팔레트

Primary

primary

주요 액션 및 브랜드 색상

Default

default

기본 UI 요소

Default Deep

default-deep

강조된 기본 색상

Info

info

정보성 메시지

Link

link

링크 및 네비게이션

Success

success

성공 상태 표시

Warning

warning

경고 메시지

Danger

danger

위험/오류 상태

컬러 변형

각 컬러는 다양한 상태에 대응하는 7가지 변형을 제공합니다:

Base

기본 색상

primary-base

Hover

호버 상태

primary-hover

Pressed

눌림 상태

primary-pressed

Focus

포커스 상태

primary-focus

Fill

배경 색상

primary-fill

Reverse

반전 색상 (텍스트)

primary-reverse

Outline

아웃라인 색상

primary-outline

SCSS에서 사용하기

SCSS 모듈에서 color() 함수를 사용하여 컬러를 적용할 수 있습니다:

component.module.scss
@use 'podo-ui/mixin' as *;

.button {
  // 기본 색상
  background: color(primary);
  color: color(primary-reverse);
  border: 1px solid color(primary);

  // 호버 상태
  &:hover {
    background: color(primary-hover);
    border-color: color(primary-hover);
  }

  // 눌림 상태
  &:active {
    background: color(primary-pressed);
  }

  // 포커스 상태
  &:focus {
    outline: 2px solid color(primary-outline);
  }
}

// Fill 스타일 버튼
.buttonFill {
  background: color(primary-fill);
  color: color(primary);
  border: 1px solid color(primary-outline);
}

CSS 클래스로 사용하기

HTML 요소에 직접 컬러 클래스를 적용할 수 있습니다:

HTML
<!-- 텍스트 색상 -->
<div class="primary">Primary Text</div>
<div class="danger">Danger Text</div>

<!-- 배경 색상 -->
<div class="bg-primary">Primary Background</div>
<div class="bg-success-fill">Success Fill Background</div>

<!-- 테두리 색상 -->
<div class="border-primary">Primary Border</div>
<div class="border-warning">Warning Border</div>
실제 예제:
Primary Text
Info Text
Success Text
Warning Text
Danger Text

다크 모드

Podo UI는 자동으로 다크 모드를 지원합니다. 오른쪽 상단의 테마 토글 버튼을 클릭하여 라이트/다크 모드를 전환해보세요.

JavaScript
// Light 모드
document.documentElement.setAttribute('data-color-mode', 'light');

// Dark 모드
document.documentElement.setAttribute('data-color-mode', 'dark');

// 자동 (브라우저 설정 따름)
document.documentElement.setAttribute('data-color-mode', '');
팁: CSS 변수 기반으로 구축되어 있어 페이지 새로고침 없이 즉시 테마가 전환됩니다.

전체 컬러 스와치

모든 컬러와 변형을 한눈에 확인하세요:

Primary (primary)

Base
primary-base
Hover
primary-hover
Pressed
primary-pressed
Focus
primary-focus
Fill
primary-fill
Reverse
primary-reverse
Outline
primary-outline

Default (default)

Base
default-base
Hover
default-hover
Pressed
default-pressed
Focus
default-focus
Fill
default-fill
Reverse
default-reverse
Outline
default-outline

Default Deep (default-deep)

Base
default-deep-base
Hover
default-deep-hover
Pressed
default-deep-pressed
Focus
default-deep-focus
Fill
default-deep-fill
Reverse
default-deep-reverse
Outline
default-deep-outline

Info (info)

Base
info-base
Hover
info-hover
Pressed
info-pressed
Focus
info-focus
Fill
info-fill
Reverse
info-reverse
Outline
info-outline

Link (link)

Base
link-base
Hover
link-hover
Pressed
link-pressed
Focus
link-focus
Fill
link-fill
Reverse
link-reverse
Outline
link-outline

Success (success)

Base
success-base
Hover
success-hover
Pressed
success-pressed
Focus
success-focus
Fill
success-fill
Reverse
success-reverse
Outline
success-outline

Warning (warning)

Base
warning-base
Hover
warning-hover
Pressed
warning-pressed
Focus
warning-focus
Fill
warning-fill
Reverse
warning-reverse
Outline
warning-outline

Danger (danger)

Base
danger-base
Hover
danger-hover
Pressed
danger-pressed
Focus
danger-focus
Fill
danger-fill
Reverse
danger-reverse
Outline
danger-outline