UNPKG

analytica-frontend-lib

Version:

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

133 lines 4.61 kB
import { z } from 'zod'; import { SendActivityFormData, StepErrors } from './types'; /** * Error messages for validation */ export declare const ERROR_MESSAGES: { readonly SUBTYPE_REQUIRED: "Campo obrigatório! Por favor, selecione uma opção para continuar."; readonly TITLE_REQUIRED: "Campo obrigatório! Por favor, preencha este campo para continuar."; readonly STUDENTS_REQUIRED: "Campo obrigatório! Por favor, selecione pelo menos um aluno para continuar."; readonly START_DATE_REQUIRED: "Campo obrigatório! Por favor, preencha este campo para continuar."; readonly FINAL_DATE_REQUIRED: "Campo obrigatório! Por favor, preencha este campo para continuar."; readonly FINAL_DATE_INVALID: "A data final deve ser maior ou igual à data inicial."; }; /** * Zod schema for activity step (Step 1) */ export declare const activityStepSchema: z.ZodObject<{ subtype: z.ZodEnum<["TAREFA", "TRABALHO", "PROVA"]>; title: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>; notification: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { title: string; subtype: "PROVA" | "TAREFA" | "TRABALHO"; notification?: string | undefined; }, { title: string; subtype: "PROVA" | "TAREFA" | "TRABALHO"; notification?: string | undefined; }>; /** * Zod schema for recipient step (Step 2) */ export declare const recipientStepSchema: z.ZodObject<{ students: z.ZodArray<z.ZodObject<{ studentId: z.ZodString; userInstitutionId: z.ZodString; }, "strip", z.ZodTypeAny, { studentId: string; userInstitutionId: string; }, { studentId: string; userInstitutionId: string; }>, "many">; }, "strip", z.ZodTypeAny, { students: { studentId: string; userInstitutionId: string; }[]; }, { students: { studentId: string; userInstitutionId: string; }[]; }>; /** * Zod schema for deadline step with date comparison refinement */ export declare const deadlineStepSchema: z.ZodEffects<z.ZodObject<{ startDate: z.ZodString; startTime: z.ZodDefault<z.ZodString>; finalDate: z.ZodString; finalTime: z.ZodDefault<z.ZodString>; canRetry: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { startDate: string; finalDate: string; canRetry: boolean; startTime: string; finalTime: string; }, { startDate: string; finalDate: string; canRetry?: boolean | undefined; startTime?: string | undefined; finalTime?: string | undefined; }>, { startDate: string; finalDate: string; canRetry: boolean; startTime: string; finalTime: string; }, { startDate: string; finalDate: string; canRetry?: boolean | undefined; startTime?: string | undefined; finalTime?: string | undefined; }>; /** * Type inference from Zod schemas */ export type ActivityStepData = z.infer<typeof activityStepSchema>; export type RecipientStepData = z.infer<typeof recipientStepSchema>; export type DeadlineStepData = z.infer<typeof deadlineStepSchema>; /** * Validates the activity step (Step 1) using Zod * @param data - Partial form data * @returns StepErrors object with any validation errors */ export declare function validateActivityStep(data: Partial<SendActivityFormData>): StepErrors; /** * Validates the recipient step (Step 2) using Zod * @param data - Partial form data * @returns StepErrors object with any validation errors */ export declare function validateRecipientStep(data: Partial<SendActivityFormData>): StepErrors; /** * Validates the deadline step (Step 3) using Zod * @param data - Partial form data * @returns StepErrors object with any validation errors */ export declare function validateDeadlineStep(data: Partial<SendActivityFormData>): StepErrors; /** * Validates a specific step * @param step - Step number (1, 2, or 3) * @param data - Partial form data * @returns StepErrors object with any validation errors */ export declare function validateStep(step: number, data: Partial<SendActivityFormData>): StepErrors; /** * Checks if a specific step is valid * @param step - Step number (1, 2, or 3) * @param data - Partial form data * @returns true if the step is valid */ export declare function isStepValid(step: number, data: Partial<SendActivityFormData>): boolean; /** * Checks if all steps are valid (form can be submitted) * @param data - Partial form data * @returns true if all steps are valid */ export declare function isFormValid(data: Partial<SendActivityFormData>): boolean; //# sourceMappingURL=validation.d.ts.map