analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
168 lines • 4.64 kB
TypeScript
export type ComparisonType = 'school' | 'schoolYear';
export declare enum ComparatorTabValue {
KNOWLEDGE_AREAS = "knowledge-areas",
CURRICULAR_COMPONENTS = "curricular-components",
COMPETENCIES = "competencies",
NATIONAL_AVERAGES = "national-averages"
}
export type ComparatorTabType = `${ComparatorTabValue}`;
export interface ComparisonItem {
id: string;
name: string;
color: string;
}
export interface KnowledgeAreaData {
area: string;
values: {
itemId: string;
percentage: number;
}[];
}
export interface CurricularComponentData {
component: string;
values: {
itemId: string;
percentage: number;
}[];
}
export interface CompetencyData {
competency: string;
values: {
itemId: string;
percentage: number;
}[];
}
export interface NationalAverageData {
itemId: string;
itemName: string;
simulatedProficiency: number;
publicAverage: number;
privateAverage: number;
details: {
languages: number;
humanities: number;
essay: number;
naturalSciences: number;
mathematics: number;
};
status: 'above' | 'below';
}
export interface ComparatorData {
knowledgeAreas: KnowledgeAreaData[];
curricularComponents: CurricularComponentData[];
competencies: CompetencyData[];
nationalAverages: NationalAverageData[];
}
export interface AreaPerformance {
id: string;
name: string;
icon: string | null;
color: string | null;
percentage: number;
questionsTotal: number;
questionsCorrect: number;
}
export interface KnowledgeAreasApiItem {
itemId: string;
itemName: string;
areas: AreaPerformance[];
}
export interface CurricularComponentsApiItem {
itemId: string;
itemName: string;
subjects: AreaPerformance[];
}
export interface CompetencyPerformance {
competencyNumber: number;
name: string;
averageScore: number;
averagePercentage: number;
essaysCount: number;
studentsCount: number;
}
export interface CompetenciesApiItem {
itemId: string;
itemName: string;
competencies: CompetencyPerformance[];
totalEssays: number;
totalStudents: number;
}
export interface NationalAverageAreaPerformance {
id: string;
name: string;
triScore: number;
questionsTotal: number;
questionsCorrect: number;
}
export interface NationalAveragesApiItem {
itemId: string;
itemName: string;
overallTriScore: number;
areas: NationalAverageAreaPerformance[];
publicSchoolAverage: number;
privateSchoolAverage: number;
status: 'above' | 'below';
}
export interface ComparatorApiClient {
post: <T>(url: string, data: unknown) => Promise<{
data: {
data: T;
};
}>;
}
export interface ComparatorStoreState {
comparisonType: ComparisonType | null;
selectedItems: ComparisonItem[];
setComparisonType: (type: ComparisonType | null) => void;
setSelectedItems: (items: ComparisonItem[]) => void;
addItem: (item: ComparisonItem) => void;
removeItem: (itemId: string) => void;
clearSelection: () => void;
}
export interface UseComparatorReturn {
data: ComparatorData;
loading: boolean;
error: string | null;
fetchData: (ids: string[], type: ComparisonType, tab: ComparatorTabType) => Promise<void>;
}
export interface ComparatorLabels {
title: string;
selectComparison: string;
selectSchools: string;
selectSchoolYears: string;
schools: string;
schoolYears: string;
school: string;
schoolYear: string;
compareSchoolsDescription: string;
compareSchoolYearsDescription: string;
selectComparisonType: string;
noAccessMessage: string;
emptyStateDescriptionBoth: string;
emptyStateDescriptionSchools: string;
emptyStateDescriptionSchoolYears: string;
selectItemInstruction: string;
search: string;
maxLimitWarning: string;
confirm: string;
back: string;
filters: string;
knowledgeAreasTitle: string;
curricularComponentsTitle: string;
competenciesTitle: string;
nationalAveragesTitle: string;
simulatedProficiency: string;
publicSchoolAverage: string;
privateSchoolAverage: string;
aboveAverage: string;
belowAverage: string;
ofSelected: string;
}
export declare const DEFAULT_COMPARATOR_LABELS: ComparatorLabels;
export interface ComparatorTab {
value: ComparatorTabType;
label: string;
}
export declare const DEFAULT_COMPARATOR_TABS: ComparatorTab[];
export declare const COMPARATOR_CHART_COLORS: string[];
//# sourceMappingURL=comparator.d.ts.map