{"version":3,"sources":["../src/utils/examFilterHelpers.ts"],"sourcesContent":["import type { FilterConfig } from '../components/Filter/useTableFilter';\nimport type { ExamFilterOption } from '../types/examsHistory';\n\n/**\n * Exam status options for filters\n * Used in exam history page - specific PROVA status values\n */\nexport const EXAM_STATUS_OPTIONS: ExamFilterOption[] = [\n  { id: 'AGENDADA', name: 'Agendada' },\n  { id: 'EM_ANDAMENTO', name: 'Em andamento' },\n  { id: 'FINALIZADA', name: 'Finalizada' },\n  { id: 'CANCELADA', name: 'Cancelada' },\n];\n\n/**\n * Filter category keys for exams\n */\nexport enum EXAM_FILTER_CATEGORY {\n  SCHOOL = 'school',\n  SCHOOL_YEAR = 'schoolYear',\n  CLASS = 'class',\n  SUBJECT = 'subject',\n  STATUS = 'status',\n}\n\n/**\n * Filter group keys for exams\n */\nexport enum EXAM_FILTER_GROUP {\n  ACADEMIC = 'academic',\n  CONTENT = 'content',\n  STATUS = 'status',\n}\n\n/**\n * Create filter configuration for exam drafts/models\n * Only subject filter (simpler than exams history)\n *\n * @param subjectOptions - Subject options for the filter\n * @returns Filter configuration array for drafts/models pages\n *\n * @example\n * ```tsx\n * const filterConfigs = createExamDraftsModelsFiltersConfig(subjectOptions);\n * ```\n */\nexport const createExamDraftsModelsFiltersConfig = (\n  subjectOptions: ExamFilterOption[]\n): FilterConfig[] => [\n  {\n    key: EXAM_FILTER_GROUP.CONTENT,\n    label: 'CONTEÚDO',\n    categories: [\n      {\n        key: EXAM_FILTER_CATEGORY.SUBJECT,\n        label: 'Matéria',\n        selectedIds: [],\n        itens: subjectOptions,\n      },\n    ],\n  },\n];\n\n/**\n * Create full filter configuration for exam history\n * Includes status, academic data, and content filters\n *\n * @param options - Filter options object with schools, classes, subjects, schoolYears\n * @returns Filter configuration array for exam history page\n *\n * @example\n * ```tsx\n * const filterConfigs = createExamHistoryFiltersConfig({\n *   schools: [...],\n *   classes: [...],\n *   subjects: [...],\n *   schoolYears: [...],\n * });\n * ```\n */\nexport const createExamHistoryFiltersConfig = (options: {\n  schools?: ExamFilterOption[];\n  classes?: ExamFilterOption[];\n  subjects?: ExamFilterOption[];\n  schoolYears?: ExamFilterOption[];\n}): FilterConfig[] => [\n  {\n    key: EXAM_FILTER_GROUP.STATUS,\n    label: 'STATUS',\n    categories: [\n      {\n        key: EXAM_FILTER_CATEGORY.STATUS,\n        label: 'Status da Prova',\n        selectedIds: [],\n        itens: EXAM_STATUS_OPTIONS,\n      },\n    ],\n  },\n  {\n    key: EXAM_FILTER_GROUP.ACADEMIC,\n    label: 'DADOS ACADÊMICOS',\n    categories: [\n      {\n        key: EXAM_FILTER_CATEGORY.SCHOOL,\n        label: 'Escola',\n        selectedIds: [],\n        itens: options.schools ?? [],\n      },\n      {\n        key: EXAM_FILTER_CATEGORY.SCHOOL_YEAR,\n        label: 'Ano',\n        selectedIds: [],\n        itens: options.schoolYears ?? [],\n      },\n      {\n        key: EXAM_FILTER_CATEGORY.CLASS,\n        label: 'Turma',\n        selectedIds: [],\n        itens: options.classes ?? [],\n      },\n    ],\n  },\n  {\n    key: EXAM_FILTER_GROUP.CONTENT,\n    label: 'CONTEÚDO',\n    categories: [\n      {\n        key: EXAM_FILTER_CATEGORY.SUBJECT,\n        label: 'Matéria',\n        selectedIds: [],\n        itens: options.subjects ?? [],\n      },\n    ],\n  },\n];\n"],"mappings":";AAOO,IAAM,sBAA0C;AAAA,EACrD,EAAE,IAAI,YAAY,MAAM,WAAW;AAAA,EACnC,EAAE,IAAI,gBAAgB,MAAM,eAAe;AAAA,EAC3C,EAAE,IAAI,cAAc,MAAM,aAAa;AAAA,EACvC,EAAE,IAAI,aAAa,MAAM,YAAY;AACvC;AAKO,IAAK,uBAAL,kBAAKA,0BAAL;AACL,EAAAA,sBAAA,YAAS;AACT,EAAAA,sBAAA,iBAAc;AACd,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,aAAU;AACV,EAAAA,sBAAA,YAAS;AALC,SAAAA;AAAA,GAAA;AAWL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAkBL,IAAM,sCAAsC,CACjD,mBACmB;AAAA,EACnB;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAmBO,IAAM,iCAAiC,CAAC,YAKzB;AAAA,EACpB;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,WAAW,CAAC;AAAA,MAC7B;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,eAAe,CAAC;AAAA,MACjC;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,WAAW,CAAC;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,MACV;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,CAAC;AAAA,QACd,OAAO,QAAQ,YAAY,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;","names":["EXAM_FILTER_CATEGORY","EXAM_FILTER_GROUP"]}