// ===== pop-status-bar 전용 타입 =====
// 상태 칩 대시보드 컴포넌트. 카드 데이터를 집계하여 상태별 건수 표시 + 필터 발행.

/** 상태 칩 표시 스타일 */
export type StatusChipStyle = "tab" | "pill";

/** 개별 옵션 */
export interface StatusChipOption {
  value: string;
  label: string;
}

/** status-bar 전용 설정 */
export interface StatusBarConfig {
  showCount?: boolean;
  countColumn?: string;
  allowAll?: boolean;
  allLabel?: string;
  chipStyle?: StatusChipStyle;
  /** 하위 필터 적용 시 집계 컬럼 자동 전환 (카드가 전달하는 가상 컬럼 사용) */
  useSubCount?: boolean;
  /** 하위 필터(공정 선택 등)가 활성화되기 전까지 칩을 숨김 */
  hideUntilSubFilter?: boolean;
  /** 칩 숨김 상태일 때 표시할 안내 문구 */
  hiddenMessage?: string;

  options?: StatusChipOption[];

  /** 필터 대상 컬럼명 (기본: countColumn) */
  filterColumn?: string;
  /** 추가 필터 대상 컬럼 (하위 테이블 등) */
  filterColumns?: string[];
}

/** 기본 설정값 */
export const DEFAULT_STATUS_BAR_CONFIG: StatusBarConfig = {
  showCount: true,
  allowAll: true,
  allLabel: "전체",
  chipStyle: "tab",
  options: [],
};

/** 칩 스타일 라벨 (설정 패널용) */
export const STATUS_CHIP_STYLE_LABELS: Record<StatusChipStyle, string> = {
  tab: "탭 (큰 숫자)",
  pill: "알약 (작은 뱃지)",
};
