/** * CP 디자인 시스템 컬러 토큰 * Primary, Secondary, Tertiary, Semantic Colors */ declare const colors: { readonly primary: { readonly 50: "#f0fdfa"; readonly 200: "#99f6e4"; readonly 400: "#2dd4bf"; readonly 500: "#14b8a6"; readonly 600: "#0d9488"; readonly 800: "#115e59"; }; readonly secondary: { readonly 50: "#eef2ff"; readonly 500: "#6366f1"; readonly 600: "#4f46e5"; }; readonly tertiary: { readonly 50: "#eff6ff"; readonly 500: "#3b82f6"; readonly 600: "#2563eb"; }; readonly semantic: { readonly success: { readonly bg: "bg-green-50"; readonly text: "text-green-600"; readonly icon: "text-green-500"; }; readonly warning: { readonly bg: "bg-yellow-50"; readonly text: "text-amber-700"; readonly icon: "text-amber-500"; }; readonly error: { readonly bg: "bg-red-50"; readonly text: "text-red-600"; readonly icon: "text-red-500"; readonly border: "border-red-300"; }; readonly info: { readonly bg: "bg-blue-50"; readonly text: "text-blue-600"; readonly icon: "text-blue-500"; }; }; readonly surface: { readonly white: "#ffffff"; readonly slate50: "#f8fafc"; readonly slate100: "#f1f5f9"; readonly slate200: "#e2e8f0"; }; readonly text: { readonly slate900: "#0f172a"; readonly slate800: "#1e293b"; readonly slate500: "#64748b"; readonly slate400: "#94a3b8"; }; }; declare const getPrimaryColorClass: (level: keyof typeof colors.primary) => "bg-primary-50" | "bg-primary-200" | "bg-primary-400" | "bg-primary-500" | "bg-primary-600" | "bg-primary-800"; declare const getTextPrimaryColorClass: (level: keyof typeof colors.primary) => "text-primary-50" | "text-primary-200" | "text-primary-400" | "text-primary-500" | "text-primary-600" | "text-primary-800"; /** * 그림자 토큰 — teal 틴트를 포함한 부드러운 그림자 */ declare const shadows: { readonly soft: { readonly sm: "0 1px 2px rgba(0,0,0,0.05)"; readonly md: "0 1px 8px rgba(20,184,166,0.08)"; readonly lg: "0 4px 24px rgba(20,184,166,0.12)"; readonly xl: "0 8px 40px rgba(20,184,166,0.16)"; }; }; type ShadowKey = keyof typeof shadows.soft; declare const getShadowClass: (level: ShadowKey) => "shadow-soft-sm" | "shadow-soft-md" | "shadow-soft-lg" | "shadow-soft-xl"; /** * Typography 토큰 — 7 단계 타입 스케일 */ declare const typography: { readonly fontSize: { readonly 'display-lg': "48px"; readonly 'display-md': "36px"; readonly 'display-sm': "28px"; readonly h1: "24px"; readonly h2: "20px"; readonly h3: "16px"; readonly 'body-lg': "16px"; readonly 'body-md': "14px"; readonly 'body-sm': "13px"; readonly caption: "12px"; }; readonly fontWeight: { readonly normal: "400"; readonly medium: "500"; readonly semibold: "600"; readonly bold: "700"; }; readonly lineHeight: { readonly tight: 1.2; readonly snug: 1.25; readonly normal: 1.3; readonly relaxed: 1.35; readonly loose: 1.4; readonly body: 1.5; readonly relaxedBody: 1.6; }; }; type FontSizeKey = keyof typeof typography.fontSize; type FontWeightKey = keyof typeof typography.fontWeight; type LineHeightKey = keyof typeof typography.lineHeight; /** * Spacing 토큰 — 4px 기반 간격 스케일 */ declare const spacing: { readonly xs: "4px"; readonly sm: "8px"; readonly md: "16px"; readonly lg: "24px"; readonly xl: "32px"; readonly '2xl': "48px"; readonly '3xl': "64px"; }; type SpacingKey = keyof typeof spacing; declare const getSpacingClass: (level: SpacingKey, property?: "margin" | "padding") => "m-sm" | "m-md" | "m-lg" | "m-xl" | "m-2xl" | "m-xs" | "m-3xl" | "p-sm" | "p-md" | "p-lg" | "p-xl" | "p-2xl" | "p-xs" | "p-3xl"; declare const getSpacingValue: (level: SpacingKey) => string; /** * Border Radius 토큰 — 4 단계 */ declare const radius: { readonly sm: "6px"; readonly md: "8px"; readonly lg: "10px"; readonly xl: "14px"; readonly '2xl': "18px"; readonly full: "9999px"; }; type RadiusKey = keyof typeof radius; declare const getRadiusClass: (level: RadiusKey) => "rounded-sm" | "rounded-md" | "rounded-lg" | "rounded-xl" | "rounded-2xl" | "rounded-full"; export { type FontSizeKey, type FontWeightKey, type LineHeightKey, type RadiusKey, type ShadowKey, type SpacingKey, colors, getPrimaryColorClass, getRadiusClass, getShadowClass, getSpacingClass, getSpacingValue, getTextPrimaryColorClass, radius, shadows, spacing, typography };