UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

1 lines 7.86 kB
{"version":3,"sources":["../src/types/comparator.ts"],"sourcesContent":["export type ComparisonType = 'school' | 'schoolYear';\n\nexport enum ComparatorTabValue {\n KNOWLEDGE_AREAS = 'knowledge-areas',\n CURRICULAR_COMPONENTS = 'curricular-components',\n COMPETENCIES = 'competencies',\n NATIONAL_AVERAGES = 'national-averages',\n}\n\nexport type ComparatorTabType = `${ComparatorTabValue}`;\n\nexport interface ComparisonItem {\n id: string;\n name: string;\n color: string;\n}\n\nexport interface KnowledgeAreaData {\n area: string;\n values: { itemId: string; percentage: number }[];\n}\n\nexport interface CurricularComponentData {\n component: string;\n values: { itemId: string; percentage: number }[];\n}\n\nexport interface CompetencyData {\n competency: string;\n values: { itemId: string; percentage: number }[];\n}\n\nexport interface NationalAverageData {\n itemId: string;\n itemName: string;\n simulatedProficiency: number;\n publicAverage: number;\n privateAverage: number;\n details: {\n languages: number;\n humanities: number;\n essay: number;\n naturalSciences: number;\n mathematics: number;\n };\n status: 'above' | 'below';\n}\n\nexport interface ComparatorData {\n knowledgeAreas: KnowledgeAreaData[];\n curricularComponents: CurricularComponentData[];\n competencies: CompetencyData[];\n nationalAverages: NationalAverageData[];\n}\n\n// API Response types\nexport interface AreaPerformance {\n id: string;\n name: string;\n icon: string | null;\n color: string | null;\n percentage: number;\n questionsTotal: number;\n questionsCorrect: number;\n}\n\nexport interface KnowledgeAreasApiItem {\n itemId: string;\n itemName: string;\n areas: AreaPerformance[];\n}\n\nexport interface CurricularComponentsApiItem {\n itemId: string;\n itemName: string;\n subjects: AreaPerformance[];\n}\n\nexport interface CompetencyPerformance {\n competencyNumber: number;\n name: string;\n averageScore: number;\n averagePercentage: number;\n essaysCount: number;\n studentsCount: number;\n}\n\nexport interface CompetenciesApiItem {\n itemId: string;\n itemName: string;\n competencies: CompetencyPerformance[];\n totalEssays: number;\n totalStudents: number;\n}\n\nexport interface NationalAverageAreaPerformance {\n id: string;\n name: string;\n triScore: number;\n questionsTotal: number;\n questionsCorrect: number;\n}\n\nexport interface NationalAveragesApiItem {\n itemId: string;\n itemName: string;\n overallTriScore: number;\n areas: NationalAverageAreaPerformance[];\n publicSchoolAverage: number;\n privateSchoolAverage: number;\n status: 'above' | 'below';\n}\n\n// API Client interface for dependency injection\nexport interface ComparatorApiClient {\n post: <T>(url: string, data: unknown) => Promise<{ data: { data: T } }>;\n}\n\n// Store types\nexport interface ComparatorStoreState {\n comparisonType: ComparisonType | null;\n selectedItems: ComparisonItem[];\n setComparisonType: (type: ComparisonType | null) => void;\n setSelectedItems: (items: ComparisonItem[]) => void;\n addItem: (item: ComparisonItem) => void;\n removeItem: (itemId: string) => void;\n clearSelection: () => void;\n}\n\n// Hook return type\nexport interface UseComparatorReturn {\n data: ComparatorData;\n loading: boolean;\n error: string | null;\n fetchData: (\n ids: string[],\n type: ComparisonType,\n tab: ComparatorTabType\n ) => Promise<void>;\n}\n\n// Labels for customization\nexport interface ComparatorLabels {\n title: string;\n selectComparison: string;\n selectSchools: string;\n selectSchoolYears: string;\n schools: string;\n schoolYears: string;\n school: string;\n schoolYear: string;\n compareSchoolsDescription: string;\n compareSchoolYearsDescription: string;\n selectComparisonType: string;\n noAccessMessage: string;\n emptyStateDescriptionBoth: string;\n emptyStateDescriptionSchools: string;\n emptyStateDescriptionSchoolYears: string;\n selectItemInstruction: string;\n search: string;\n maxLimitWarning: string;\n confirm: string;\n back: string;\n filters: string;\n knowledgeAreasTitle: string;\n curricularComponentsTitle: string;\n competenciesTitle: string;\n nationalAveragesTitle: string;\n simulatedProficiency: string;\n publicSchoolAverage: string;\n privateSchoolAverage: string;\n aboveAverage: string;\n belowAverage: string;\n ofSelected: string;\n}\n\nexport const DEFAULT_COMPARATOR_LABELS: ComparatorLabels = {\n title: 'Comparador',\n selectComparison: 'Selecionar comparação',\n selectSchools: 'Selecionar escolas',\n selectSchoolYears: 'Selecionar turmas',\n schools: 'Escolas',\n schoolYears: 'Turmas',\n school: 'escola',\n schoolYear: 'turma',\n compareSchoolsDescription: 'Compare o desempenho entre escolas',\n compareSchoolYearsDescription: 'Compare o desempenho entre turmas',\n selectComparisonType: 'Selecione o tipo de comparação.',\n noAccessMessage:\n 'Você precisa ter acesso a mais de uma escola ou turma para usar o comparador.',\n emptyStateDescriptionBoth:\n 'Selecione escolas ou turmas para visualizar a comparação',\n emptyStateDescriptionSchools:\n 'Selecione escolas para visualizar a comparação',\n emptyStateDescriptionSchoolYears:\n 'Selecione turmas para visualizar a comparação',\n selectItemInstruction: 'Selecione uma {item} para comparar.',\n search: 'Buscar',\n maxLimitWarning: 'Limite máximo de 5 itens atingido',\n confirm: 'Confirmar',\n back: 'Voltar',\n filters: 'Filtros',\n knowledgeAreasTitle: 'Proficiência média das escolas por área do Enem',\n curricularComponentsTitle: 'Proficiência média por componente curricular',\n competenciesTitle: 'Proficiência média por competência',\n nationalAveragesTitle:\n 'Proficiência média dos simulados comparada com dados oficiais do INEP',\n simulatedProficiency: 'Proficiência Simulados',\n publicSchoolAverage: 'Média Escolas Públicas (INEP)',\n privateSchoolAverage: 'Média Escolas Privadas (INEP)',\n aboveAverage: 'Esta escola está acima da média nacional.',\n belowAverage: 'Esta escola está abaixo da média nacional.',\n ofSelected: 'selecionadas',\n};\n\n// Tab configuration\nexport interface ComparatorTab {\n value: ComparatorTabType;\n label: string;\n}\n\nexport const DEFAULT_COMPARATOR_TABS: ComparatorTab[] = [\n { value: ComparatorTabValue.KNOWLEDGE_AREAS, label: 'Áreas do conhecimento' },\n {\n value: ComparatorTabValue.CURRICULAR_COMPONENTS,\n label: 'Componentes curriculares',\n },\n { value: ComparatorTabValue.COMPETENCIES, label: 'Competências' },\n {\n value: ComparatorTabValue.NATIONAL_AVERAGES,\n label: 'Médias Nacionais ENEM',\n },\n];\n\n// Chart colors\nexport const COMPARATOR_CHART_COLORS = [\n '#1E40AF',\n '#F59E0B',\n '#10B981',\n '#EF4444',\n '#8B5CF6',\n];\n"],"mappings":";AAEO,IAAK,qBAAL,kBAAKA,wBAAL;AACL,EAAAA,oBAAA,qBAAkB;AAClB,EAAAA,oBAAA,2BAAwB;AACxB,EAAAA,oBAAA,kBAAe;AACf,EAAAA,oBAAA,uBAAoB;AAJV,SAAAA;AAAA,GAAA;AA8KL,IAAM,4BAA8C;AAAA,EACzD,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,2BAA2B;AAAA,EAC3B,+BAA+B;AAAA,EAC/B,sBAAsB;AAAA,EACtB,iBACE;AAAA,EACF,2BACE;AAAA,EACF,8BACE;AAAA,EACF,kCACE;AAAA,EACF,uBAAuB;AAAA,EACvB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,uBACE;AAAA,EACF,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,YAAY;AACd;AAQO,IAAM,0BAA2C;AAAA,EACtD,EAAE,OAAO,yCAAoC,OAAO,2BAAwB;AAAA,EAC5E;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA,EAAE,OAAO,mCAAiC,OAAO,kBAAe;AAAA,EAChE;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAGO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":["ComparatorTabValue"]}