{"version":3,"sources":["../src/components/SendActivityModal/types.ts"],"sourcesContent":["import type { CategoryConfig } from '../CheckBoxGroup/CheckBoxGroup';\n\n// Re-export types from CheckboxGroup for easier imports\nexport type { CategoryConfig, Item } from '../CheckBoxGroup/CheckBoxGroup';\n\n/**\n * Activity subtype matching backend SIMULATION_SUBTYPE\n */\nexport enum ActivitySubtype {\n  TAREFA = 'TAREFA',\n  TRABALHO = 'TRABALHO',\n  PROVA = 'PROVA',\n}\n\n/**\n * Activity mode for presencial exams\n */\nexport enum ActivityMode {\n  ONLINE = 'ONLINE',\n  PRESENCIAL = 'PRESENCIAL',\n}\n\n/**\n * Activity mode options for UI selection\n */\nexport const ACTIVITY_MODE_OPTIONS: ReadonlyArray<{\n  value: ActivityMode;\n  label: string;\n}> = [\n  { value: ActivityMode.ONLINE, label: 'Online' },\n  { value: ActivityMode.PRESENCIAL, label: 'Presencial' },\n] as const;\n\n/**\n * Activity type options for UI selection\n */\nexport const ACTIVITY_TYPE_OPTIONS: ReadonlyArray<{\n  value: ActivitySubtype;\n  label: string;\n}> = [\n  { value: ActivitySubtype.TAREFA, label: 'Tarefa' },\n  { value: ActivitySubtype.TRABALHO, label: 'Trabalho' },\n  { value: ActivitySubtype.PROVA, label: 'Prova' },\n] as const;\n\n/**\n * Form data structure for sending activity\n */\nexport interface SendActivityFormData {\n  /** Activity subtype (Step 1) */\n  subtype: ActivitySubtype;\n  /** Activity mode for presencial exams (Step 1, required when subtype is PROVA and enableExamMode is true) */\n  mode?: ActivityMode;\n  /** Activity title (Step 1) */\n  title: string;\n  /** Notification message (Step 1) */\n  notification?: string;\n  /** Array of students to send activity to (Step 2) */\n  students: Array<{\n    studentId: string;\n    userInstitutionId: string;\n  }>;\n  /** Start date in YYYY-MM-DD format (Step 3) */\n  startDate: string;\n  /** Start time in HH:MM format (Step 3) */\n  startTime: string;\n  /** End date in YYYY-MM-DD format (Step 3) */\n  finalDate: string;\n  /** End time in HH:MM format (Step 3) */\n  finalTime: string;\n  /** Allow retry flag (Step 3) */\n  canRetry: boolean;\n}\n\n/**\n * Initial data for pre-filling the modal form\n */\nexport interface SendActivityModalInitialData {\n  /** Pre-filled activity title */\n  title?: string;\n  /** Pre-filled activity subtype */\n  subtype?: ActivitySubtype;\n  /** Pre-filled notification message */\n  notification?: string;\n}\n\n/**\n * Modal props\n */\nexport interface SendActivityModalProps {\n  /** Controls modal visibility */\n  isOpen: boolean;\n  /** Callback when modal is closed */\n  onClose: () => void;\n  /** Callback when activity is submitted */\n  onSubmit: (data: SendActivityFormData) => Promise<void>;\n  /** Recipient categories configuration (same format as CheckboxGroup) */\n  categories: CategoryConfig[];\n  /** Callback when categories change (optional - for controlled state) */\n  onCategoriesChange?: (categories: CategoryConfig[]) => void;\n  /** Loading state for submit button */\n  isLoading?: boolean;\n  /** Callback when submission fails (optional - if not provided, error propagates) */\n  onError?: (error: unknown) => void;\n  /** Initial data to pre-fill the form */\n  initialData?: SendActivityModalInitialData;\n  /** Enable \"Modo de prova\" field (Online/Presencial), required when subtype is PROVA */\n  enableExamMode?: boolean;\n  /** Force in-person exam mode: auto-selects PROVA subtype and PRESENCIAL mode */\n  isInPersonExam?: boolean;\n}\n\n/**\n * Step validation errors\n */\nexport interface StepErrors {\n  subtype?: string;\n  mode?: string;\n  title?: string;\n  students?: string;\n  startDate?: string;\n  startTime?: string;\n  finalDate?: string;\n  finalTime?: string;\n}\n\n/**\n * Step state for stepper\n */\nexport type StepState = 'pending' | 'current' | 'completed';\n\n/**\n * Step configuration\n */\nexport interface StepConfig {\n  label: string;\n  state: StepState;\n}\n"],"mappings":";AAQO,IAAK,kBAAL,kBAAKA,qBAAL;AACL,EAAAA,iBAAA,YAAS;AACT,EAAAA,iBAAA,cAAW;AACX,EAAAA,iBAAA,WAAQ;AAHE,SAAAA;AAAA,GAAA;AASL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,YAAS;AACT,EAAAA,cAAA,gBAAa;AAFH,SAAAA;AAAA,GAAA;AAQL,IAAM,wBAGR;AAAA,EACH,EAAE,OAAO,uBAAqB,OAAO,SAAS;AAAA,EAC9C,EAAE,OAAO,+BAAyB,OAAO,aAAa;AACxD;AAKO,IAAM,wBAGR;AAAA,EACH,EAAE,OAAO,uBAAwB,OAAO,SAAS;AAAA,EACjD,EAAE,OAAO,2BAA0B,OAAO,WAAW;AAAA,EACrD,EAAE,OAAO,qBAAuB,OAAO,QAAQ;AACjD;","names":["ActivitySubtype","ActivityMode"]}