{"version":3,"sources":["../src/components/StudentLessonProgressModal/types.ts"],"sourcesContent":["/**\n * Status of lesson progress\n */\nexport type LessonProgressStatus = 'completed' | 'in_progress' | 'no_data';\n\n/**\n * Content item (deepest level - individual lessons)\n */\nexport interface ContentProgressItem {\n  content: {\n    id: string;\n    name: string;\n  };\n  progress: number;\n  isCompleted: boolean;\n}\n\n/**\n * Subtopic item with contents\n */\nexport interface SubtopicProgressItem {\n  subtopic: {\n    id: string;\n    name: string;\n  };\n  progress: number;\n  status: LessonProgressStatus;\n  contents: ContentProgressItem[];\n}\n\n/**\n * Topic item with subtopics (top level)\n */\nexport interface TopicProgressItem {\n  topic: {\n    id: string;\n    name: string;\n  };\n  progress: number;\n  status: LessonProgressStatus;\n  subtopics: SubtopicProgressItem[];\n}\n\n/**\n * Student lesson progress data structure\n * Matches backend GET /performance/student/:studentId response directly\n */\nexport interface StudentLessonProgressData {\n  /** Student name */\n  name: string;\n  /** Overall completion rate percentage (0-100) */\n  overallCompletionRate: number;\n  /** Topic with best result */\n  bestResult: string | null;\n  /** Topic with biggest difficulty */\n  biggestDifficulty: string | null;\n  /** Lesson progress items by topic */\n  lessonProgress: TopicProgressItem[];\n}\n\n/**\n * Customizable labels for the modal\n */\nexport interface StudentLessonProgressLabels {\n  /** Modal title */\n  title: string;\n  /** Completion rate label */\n  completionRateLabel: string;\n  /** Best result label */\n  bestResultLabel: string;\n  /** Biggest difficulty label */\n  biggestDifficultyLabel: string;\n  /** Lesson progress section title */\n  lessonProgressTitle: string;\n  /** No data message */\n  noDataMessage: string;\n  /** Error message prefix */\n  errorMessagePrefix: string;\n}\n\n/**\n * Default labels in Portuguese (pt-BR)\n */\nexport const DEFAULT_LESSON_PROGRESS_LABELS: StudentLessonProgressLabels = {\n  title: 'Desempenho',\n  completionRateLabel: 'CONCLUÍDO',\n  bestResultLabel: 'MELHOR RESULTADO',\n  biggestDifficultyLabel: 'MAIOR DIFICULDADE',\n  lessonProgressTitle: 'Conclusão das aulas',\n  noDataMessage: 'Sem dados ainda!',\n  errorMessagePrefix: 'Erro ao carregar dados',\n};\n\n/**\n * Props for StudentLessonProgressModal component\n */\nexport interface StudentLessonProgressModalProps {\n  /** Whether the modal is open */\n  isOpen: boolean;\n  /** Callback to close the modal */\n  onClose: () => void;\n  /** Student lesson progress data */\n  data: StudentLessonProgressData | null;\n  /** Loading state */\n  loading?: boolean;\n  /** Error message */\n  error?: string | null;\n  /** Custom labels */\n  labels?: Partial<StudentLessonProgressLabels>;\n}\n"],"mappings":";AAmFO,IAAM,iCAA8D;AAAA,EACzE,OAAO;AAAA,EACP,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,oBAAoB;AACtB;","names":[]}