19 lines
659 B
TypeScript
19 lines
659 B
TypeScript
/**
|
|
* 다크모드 대응 색상 유틸리티
|
|
* 화면 디자이너에서 기본값으로 저장된 어두운 색상을 감지하여
|
|
* 다크모드에서 자동으로 CSS 변수(foreground)로 대체
|
|
*/
|
|
|
|
const DEFAULT_DARK_COLORS = new Set([
|
|
"#212121", "#000000", "#333333", "#333", "#000",
|
|
"black", "#111111", "#1a1a1a", "#64748b",
|
|
]);
|
|
|
|
export const isDefaultDarkLabelColor = (color?: string): boolean => {
|
|
if (!color) return true;
|
|
return DEFAULT_DARK_COLORS.has(color.toLowerCase().trim());
|
|
};
|
|
|
|
export const getAdaptiveLabelColor = (labelColor?: string): string =>
|
|
isDefaultDarkLabelColor(labelColor) ? "hsl(var(--foreground))" : labelColor!;
|