컬러
색상 시스템과 테마
색상 시스템
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-baseHover
호버 상태
primary-hoverPressed
눌림 상태
primary-pressedFocus
포커스 상태
primary-focusFill
배경 색상
primary-fillReverse
반전 색상 (텍스트)
primary-reverseOutline
아웃라인 색상
primary-outlineSCSS에서 사용하기
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-baseHover
primary-hoverPressed
primary-pressedFocus
primary-focusFill
primary-fillReverse
primary-reverseOutline
primary-outlineDefault (default)
Base
default-baseHover
default-hoverPressed
default-pressedFocus
default-focusFill
default-fillReverse
default-reverseOutline
default-outlineDefault Deep (default-deep)
Base
default-deep-baseHover
default-deep-hoverPressed
default-deep-pressedFocus
default-deep-focusFill
default-deep-fillReverse
default-deep-reverseOutline
default-deep-outlineInfo (info)
Base
info-baseHover
info-hoverPressed
info-pressedFocus
info-focusFill
info-fillReverse
info-reverseOutline
info-outlineLink (link)
Base
link-baseHover
link-hoverPressed
link-pressedFocus
link-focusFill
link-fillReverse
link-reverseOutline
link-outlineSuccess (success)
Base
success-baseHover
success-hoverPressed
success-pressedFocus
success-focusFill
success-fillReverse
success-reverseOutline
success-outlineWarning (warning)
Base
warning-baseHover
warning-hoverPressed
warning-pressedFocus
warning-focusFill
warning-fillReverse
warning-reverseOutline
warning-outlineDanger (danger)
Base
danger-baseHover
danger-hoverPressed
danger-pressedFocus
danger-focusFill
danger-fillReverse
danger-reverseOutline
danger-outline