{"version":3,"sources":["../../../src/types/common.ts","../../../src/types/activitiesHistory.ts"],"sourcesContent":["/**\n * Common Type Definitions\n * Shared types used across multiple features (activities, goals, etc.)\n */\n\n/**\n * Generic API status for activities and goals\n * Used by backend endpoints for status filtering\n */\nexport enum GenericApiStatus {\n  A_VENCER = 'A_VENCER',\n  VENCIDA = 'VENCIDA',\n  CONCLUIDA = 'CONCLUIDA',\n}\n\n/**\n * Generic display status for UI components\n * Used for Badge and status display in tables\n */\nexport enum GenericDisplayStatus {\n  ATIVA = 'ATIVA',\n  VENCIDA = 'VENCIDA',\n  CONCLUIDA = 'CONCLUÍDA',\n}\n\n/**\n * Badge action types for status visualization\n * Maps to Badge component action prop\n */\nexport enum BadgeActionType {\n  SUCCESS = 'success',\n  WARNING = 'warning',\n  ERROR = 'error',\n}\n\n/**\n * Get badge action based on display status\n * @param status - Display status value\n * @returns Badge action type for styling\n */\nexport const getStatusBadgeAction = (\n  status: GenericDisplayStatus\n): BadgeActionType => {\n  const actionMap: Record<GenericDisplayStatus, BadgeActionType> = {\n    [GenericDisplayStatus.CONCLUIDA]: BadgeActionType.SUCCESS,\n    [GenericDisplayStatus.ATIVA]: BadgeActionType.WARNING,\n    [GenericDisplayStatus.VENCIDA]: BadgeActionType.ERROR,\n  };\n  return actionMap[status] ?? BadgeActionType.WARNING;\n};\n\n/**\n * Map API status to display status\n * @param apiStatus - Status from backend API\n * @returns Formatted status for UI display\n */\nexport const mapApiStatusToDisplay = (\n  apiStatus: GenericApiStatus\n): GenericDisplayStatus => {\n  const statusMap: Record<GenericApiStatus, GenericDisplayStatus> = {\n    [GenericApiStatus.A_VENCER]: GenericDisplayStatus.ATIVA,\n    [GenericApiStatus.VENCIDA]: GenericDisplayStatus.VENCIDA,\n    [GenericApiStatus.CONCLUIDA]: GenericDisplayStatus.CONCLUIDA,\n  };\n  return statusMap[apiStatus];\n};\n","/**\n * Activities History Type Definitions\n * Types and interfaces for activities history and models functionality\n * Based on /activities/history and /activity-drafts endpoints\n */\n\nimport {\n  GenericApiStatus,\n  GenericDisplayStatus,\n  BadgeActionType,\n  getStatusBadgeAction,\n  mapApiStatusToDisplay,\n} from './common';\n\n/**\n * Activity status from backend API /activities/history\n * Re-exported from common for backward compatibility\n */\nexport { GenericApiStatus as ActivityApiStatus } from './common';\n\n/**\n * Activity status for display in UI (Badge component)\n * Re-exported from common for backward compatibility\n */\nexport { GenericDisplayStatus as ActivityDisplayStatus } from './common';\n\n/**\n * Badge action types for activity status visualization\n * Re-exported from common for backward compatibility\n */\nexport { BadgeActionType as ActivityBadgeActionType } from './common';\n\n/**\n * Activity draft type enum (matches backend ACTIVITY_DRAFT_TYPE)\n */\nexport enum ActivityDraftType {\n  MODELO = 'MODELO',\n  RASCUNHO = 'RASCUNHO',\n}\n\n/**\n * Activity history response from backend API /activities/history\n */\nexport interface ActivityHistoryResponse {\n  id: string;\n  title: string;\n  startDate: string | null;\n  finalDate: string | null;\n  status: GenericApiStatus;\n  completionPercentage: number;\n  subjectId?: string | null;\n  schoolId?: string;\n  schoolName?: string;\n  year?: string;\n  className?: string;\n  subjectName?: string;\n}\n\n/**\n * Activity table item interface for activities list table\n */\nexport interface ActivityTableItem extends Record<string, unknown> {\n  id: string;\n  startDate: string | null;\n  deadline: string | null;\n  title: string;\n  school: string;\n  year: string;\n  subject: string;\n  class: string;\n  status: GenericDisplayStatus;\n  completionPercentage: number;\n}\n\n/**\n * Pagination info from API\n */\nexport interface ActivityPagination {\n  total: number;\n  page: number;\n  limit: number;\n  totalPages: number;\n}\n\n/**\n * Activities history API complete response\n */\nexport interface ActivitiesHistoryApiResponse {\n  message: string;\n  data: {\n    activities: ActivityHistoryResponse[];\n    pagination: ActivityPagination;\n  };\n}\n\n/**\n * Activity history filters for API query parameters\n */\nexport interface ActivityHistoryFilters {\n  page?: number;\n  limit?: number;\n  status?: GenericApiStatus;\n  search?: string;\n  startDate?: string;\n  finalDate?: string;\n  subjectId?: string;\n  schoolId?: string;\n  sortBy?: 'finalDate' | 'title' | 'completionPercentage';\n  sortOrder?: 'asc' | 'desc';\n}\n\n/**\n * Activity draft filters object from backend\n */\nexport interface ActivityDraftFilters {\n  questionTypes?: string[];\n  questionBanks?: string[];\n  subjects?: string[];\n  topics?: string[];\n  subtopics?: string[];\n  contents?: string[];\n}\n\n/**\n * Activity model response from backend API (/activity-drafts)\n */\nexport interface ActivityModelResponse {\n  id: string;\n  type: ActivityDraftType;\n  title: string | null;\n  creatorUserInstitutionId: string | null;\n  subjectId: string | null;\n  filters: ActivityDraftFilters | null;\n  createdAt: string;\n  updatedAt: string;\n}\n\n/**\n * Activity model table item for display\n */\nexport interface ActivityModelTableItem extends Record<string, unknown> {\n  id: string;\n  title: string;\n  savedAt: string;\n  subject: string;\n  subjectId: string | null;\n}\n\n/**\n * Activity models API response\n */\nexport interface ActivityModelsApiResponse {\n  message: string;\n  data: {\n    activityDrafts: ActivityModelResponse[];\n    total: number;\n  };\n}\n\n/**\n * Activity model filters for API query\n */\nexport interface ActivityModelFilters {\n  page?: number;\n  limit?: number;\n  search?: string;\n  subjectId?: string;\n  type?: ActivityDraftType;\n}\n\n/**\n * Filter option for dropdowns\n * Extends with index signature to be compatible with CheckBoxGroup Item type\n */\nexport interface ActivityFilterOption {\n  id: string;\n  name: string;\n  [key: string]: unknown;\n}\n\n/**\n * User data for filter options (schools, classes, subjects)\n */\nexport interface ActivityUserFilterData {\n  schools?: Array<{ id: string; name: string }>;\n  classes?: Array<{ id: string; name: string; schoolId?: string }>;\n  subjects?: Array<{ id: string; name: string }>;\n  schoolYears?: Array<{ id: string; name: string }>;\n}\n\n/**\n * Get status badge action based on activity display status\n * @param status - Activity display status\n * @returns Badge action type for styling\n */\nexport const getActivityStatusBadgeAction = (\n  status: GenericDisplayStatus\n): BadgeActionType => getStatusBadgeAction(status);\n\n/**\n * Activity status options for filter\n */\nexport const ACTIVITY_FILTER_STATUS_OPTIONS: ActivityFilterOption[] = [\n  { id: GenericApiStatus.A_VENCER, name: 'A Vencer' },\n  { id: GenericApiStatus.VENCIDA, name: 'Vencida' },\n  { id: GenericApiStatus.CONCLUIDA, name: 'Concluída' },\n];\n\n/**\n * Map API status to display status\n * @param apiStatus - Status from backend API\n * @returns Formatted status for UI display\n */\nexport const mapActivityStatusToDisplay = (\n  apiStatus: GenericApiStatus\n): GenericDisplayStatus => mapApiStatusToDisplay(apiStatus);\n"],"mappings":";AASO,IAAK,mBAAL,kBAAKA,sBAAL;AACL,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AAUL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,sBAAA,WAAQ;AACR,EAAAA,sBAAA,aAAU;AACV,EAAAA,sBAAA,eAAY;AAHF,SAAAA;AAAA,GAAA;AAUL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,aAAU;AACV,EAAAA,iBAAA,WAAQ;AAHE,SAAAA;AAAA,GAAA;AAWL,IAAM,uBAAuB,CAClC,WACoB;AACpB,QAAM,YAA2D;AAAA,IAC/D,CAAC,8BAA8B,GAAG;AAAA,IAClC,CAAC,mBAA0B,GAAG;AAAA,IAC9B,CAAC,uBAA4B,GAAG;AAAA,EAClC;AACA,SAAO,UAAU,MAAM,KAAK;AAC9B;AAOO,IAAM,wBAAwB,CACnC,cACyB;AACzB,QAAM,YAA4D;AAAA,IAChE,CAAC,yBAAyB,GAAG;AAAA,IAC7B,CAAC,uBAAwB,GAAG;AAAA,IAC5B,CAAC,2BAA0B,GAAG;AAAA,EAChC;AACA,SAAO,UAAU,SAAS;AAC5B;;;AC9BO,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,cAAW;AAFD,SAAAA;AAAA,GAAA;AAgKL,IAAM,+BAA+B,CAC1C,WACoB,qBAAqB,MAAM;AAK1C,IAAM,iCAAyD;AAAA,EACpE,EAAE,+BAA+B,MAAM,WAAW;AAAA,EAClD,EAAE,6BAA8B,MAAM,UAAU;AAAA,EAChD,EAAE,iCAAgC,MAAM,eAAY;AACtD;AAOO,IAAM,6BAA6B,CACxC,cACyB,sBAAsB,SAAS;","names":["GenericApiStatus","GenericDisplayStatus","BadgeActionType","ActivityDraftType"]}