/**
 * Constants and types for ChunkBrowserQA component.
 */

export type RegGroupKey =
  | 'eu_regulation'
  | 'eu_directive'
  | 'de_law'
  | 'at_law'
  | 'ch_law'
  | 'national_law'
  | 'bsi_standard'
  | 'eu_guideline'
  | 'international_standard'
  | 'other'

export const GROUP_LABELS: Record<RegGroupKey, string> = {
  eu_regulation: 'EU Verordnungen',
  eu_directive: 'EU Richtlinien',
  de_law: 'DE Gesetze',
  at_law: 'AT Gesetze',
  ch_law: 'CH Gesetze',
  national_law: 'Nationale Gesetze (EU)',
  bsi_standard: 'BSI Standards',
  eu_guideline: 'EDPB / Guidelines',
  international_standard: 'Internationale Standards',
  other: 'Sonstige',
}

export const GROUP_ORDER: RegGroupKey[] = [
  'eu_regulation', 'eu_directive', 'de_law', 'at_law', 'ch_law',
  'national_law', 'bsi_standard', 'eu_guideline', 'international_standard', 'other',
]

export const COLLECTIONS = [
  'bp_compliance_gesetze',
  'bp_compliance_ce',
  'bp_compliance_datenschutz',
  'bp_dsfa_corpus',
  'bp_compliance_recht',
  'bp_legal_templates',
  'bp_nibis_eh',
]

export const STRUCTURAL_KEYS = new Set([
  'article', 'artikel', 'paragraph', 'section_title', 'section', 'chapter',
  'abschnitt', 'kapitel', 'pages', 'page',
])

export const HIDDEN_KEYS = new Set([
  'text', 'content', 'chunk_text', 'id', 'embedding',
])
