analytica-frontend-lib 1.2.47 → 1.2.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityCardQuestionBanks/index.css +28 -2
- package/dist/ActivityCardQuestionBanks/index.css.map +1 -1
- package/dist/ActivityCardQuestionPreview/index.css +28 -2
- package/dist/ActivityCardQuestionPreview/index.css.map +1 -1
- package/dist/ActivityDetails/index.css +28 -2
- package/dist/ActivityDetails/index.css.map +1 -1
- package/dist/ActivityFilters/index.css +28 -2
- package/dist/ActivityFilters/index.css.map +1 -1
- package/dist/ActivityPreview/index.css +28 -2
- package/dist/ActivityPreview/index.css.map +1 -1
- package/dist/AlertManager/index.css +28 -2
- package/dist/AlertManager/index.css.map +1 -1
- package/dist/ProgressCircle/index.d.ts.map +1 -1
- package/dist/ProgressCircle/index.js +8 -8
- package/dist/ProgressCircle/index.js.map +1 -1
- package/dist/ProgressCircle/index.mjs +8 -8
- package/dist/ProgressCircle/index.mjs.map +1 -1
- package/dist/RecommendedLessonDetails/index.d.ts +4 -0
- package/dist/RecommendedLessonDetails/index.d.ts.map +1 -0
- package/dist/RecommendedLessonDetails/index.js +2250 -0
- package/dist/RecommendedLessonDetails/index.js.map +1 -0
- package/dist/RecommendedLessonDetails/index.mjs +2242 -0
- package/dist/RecommendedLessonDetails/index.mjs.map +1 -0
- package/dist/RecommendedLessonsHistory/index.css +28 -2
- package/dist/RecommendedLessonsHistory/index.css.map +1 -1
- package/dist/RecommendedLessonsHistory/index.js +3 -5
- package/dist/RecommendedLessonsHistory/index.js.map +1 -1
- package/dist/RecommendedLessonsHistory/index.mjs +3 -5
- package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
- package/dist/SendActivityModal/SendActivityModal.css +19353 -0
- package/dist/SendActivityModal/SendActivityModal.css.map +1 -0
- package/dist/SendActivityModal/SendActivityModal.d.ts +12 -0
- package/dist/SendActivityModal/SendActivityModal.d.ts.map +1 -0
- package/dist/SendActivityModal/SendActivityModal.js +6446 -0
- package/dist/SendActivityModal/SendActivityModal.js.map +1 -0
- package/dist/SendActivityModal/SendActivityModal.mjs +6486 -0
- package/dist/SendActivityModal/SendActivityModal.mjs.map +1 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts +43 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts.map +1 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.js +269 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.js.map +1 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.mjs +243 -0
- package/dist/SendActivityModal/hooks/useSendActivityModal.mjs.map +1 -0
- package/dist/SendActivityModal/index.css +28 -2
- package/dist/SendActivityModal/index.css.map +1 -1
- package/dist/SendActivityModal/types.d.ts +95 -0
- package/dist/SendActivityModal/types.d.ts.map +1 -0
- package/dist/SendActivityModal/types.js +35 -0
- package/dist/SendActivityModal/types.js.map +1 -0
- package/dist/SendActivityModal/types.mjs +10 -0
- package/dist/SendActivityModal/types.mjs.map +1 -0
- package/dist/SendActivityModal/validation.d.ts +133 -0
- package/dist/SendActivityModal/validation.d.ts.map +1 -0
- package/dist/SendActivityModal/validation.js +178 -0
- package/dist/SendActivityModal/validation.js.map +1 -0
- package/dist/SendActivityModal/validation.mjs +144 -0
- package/dist/SendActivityModal/validation.mjs.map +1 -0
- package/dist/TableProvider/index.css +28 -2
- package/dist/TableProvider/index.css.map +1 -1
- package/dist/hooks/useRecommendedLessonDetails/index.d.ts +780 -0
- package/dist/hooks/useRecommendedLessonDetails/index.d.ts.map +1 -0
- package/dist/hooks/useRecommendedLessonDetails/index.js +204 -0
- package/dist/hooks/useRecommendedLessonDetails/index.js.map +1 -0
- package/dist/hooks/useRecommendedLessonDetails/index.mjs +174 -0
- package/dist/hooks/useRecommendedLessonDetails/index.mjs.map +1 -0
- package/dist/hooks/useRecommendedLessonDetails.d.ts +780 -0
- package/dist/hooks/useRecommendedLessonDetails.d.ts.map +1 -0
- package/dist/index.css +28 -2
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +657 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +645 -10
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +28 -2
- package/dist/styles.css.map +1 -1
- package/dist/types/recommendedLessons/index.d.ts +156 -0
- package/dist/types/recommendedLessons/index.d.ts.map +1 -1
- package/dist/types/recommendedLessons/index.js +47 -2
- package/dist/types/recommendedLessons/index.js.map +1 -1
- package/dist/types/recommendedLessons/index.mjs +41 -1
- package/dist/types/recommendedLessons/index.mjs.map +1 -1
- package/dist/types/recommendedLessons.d.ts +156 -0
- package/dist/types/recommendedLessons.d.ts.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/SendActivityModal/validation.ts"],"sourcesContent":["import { z } from 'zod';\nimport { SendActivityFormData, StepErrors } from './types';\n\n/**\n * Error messages for validation\n */\nexport const ERROR_MESSAGES = {\n SUBTYPE_REQUIRED:\n 'Campo obrigatório! Por favor, selecione uma opção para continuar.',\n TITLE_REQUIRED:\n 'Campo obrigatório! Por favor, preencha este campo para continuar.',\n STUDENTS_REQUIRED:\n 'Campo obrigatório! Por favor, selecione pelo menos um aluno para continuar.',\n START_DATE_REQUIRED:\n 'Campo obrigatório! Por favor, preencha este campo para continuar.',\n FINAL_DATE_REQUIRED:\n 'Campo obrigatório! Por favor, preencha este campo para continuar.',\n FINAL_DATE_INVALID: 'A data final deve ser maior ou igual à data inicial.',\n} as const;\n\n/**\n * Zod schema for activity step (Step 1)\n */\nexport const activityStepSchema = z.object({\n subtype: z.enum(['TAREFA', 'TRABALHO', 'PROVA'], {\n errorMap: () => ({ message: ERROR_MESSAGES.SUBTYPE_REQUIRED }),\n }),\n title: z\n .string({ required_error: ERROR_MESSAGES.TITLE_REQUIRED })\n .transform((val) => val.trim())\n .refine((val) => val.length > 0, {\n message: ERROR_MESSAGES.TITLE_REQUIRED,\n }),\n notification: z.string().optional(),\n});\n\n/**\n * Zod schema for recipient step (Step 2)\n */\nexport const recipientStepSchema = z.object({\n students: z\n .array(\n z.object({\n studentId: z.string(),\n userInstitutionId: z.string(),\n }),\n {\n required_error: ERROR_MESSAGES.STUDENTS_REQUIRED,\n invalid_type_error: ERROR_MESSAGES.STUDENTS_REQUIRED,\n }\n )\n .min(1, ERROR_MESSAGES.STUDENTS_REQUIRED),\n});\n\n/**\n * Regex patterns for date and time validation\n */\nconst DATE_REGEX = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst TIME_REGEX = /^\\d{2}:\\d{2}$/;\n\n/**\n * Zod schema for deadline step (Step 3) - base validation\n */\nconst deadlineStepBaseSchema = z.object({\n startDate: z\n .string({\n required_error: ERROR_MESSAGES.START_DATE_REQUIRED,\n invalid_type_error: ERROR_MESSAGES.START_DATE_REQUIRED,\n })\n .min(1, ERROR_MESSAGES.START_DATE_REQUIRED)\n .regex(DATE_REGEX, ERROR_MESSAGES.START_DATE_REQUIRED),\n startTime: z.string().regex(TIME_REGEX).default('00:00'),\n finalDate: z\n .string({\n required_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED,\n invalid_type_error: ERROR_MESSAGES.FINAL_DATE_REQUIRED,\n })\n .min(1, ERROR_MESSAGES.FINAL_DATE_REQUIRED)\n .regex(DATE_REGEX, ERROR_MESSAGES.FINAL_DATE_REQUIRED),\n finalTime: z.string().regex(TIME_REGEX).default('23:59'),\n canRetry: z.boolean().default(false),\n});\n\n/**\n * Zod schema for deadline step with date comparison refinement\n */\nexport const deadlineStepSchema = deadlineStepBaseSchema.refine(\n (data) => {\n const start = new Date(`${data.startDate}T${data.startTime}`);\n const end = new Date(`${data.finalDate}T${data.finalTime}`);\n return end >= start;\n },\n { message: ERROR_MESSAGES.FINAL_DATE_INVALID, path: ['finalDate'] }\n);\n\n/**\n * Type inference from Zod schemas\n */\nexport type ActivityStepData = z.infer<typeof activityStepSchema>;\nexport type RecipientStepData = z.infer<typeof recipientStepSchema>;\nexport type DeadlineStepData = z.infer<typeof deadlineStepSchema>;\n\n/**\n * Validates the activity step (Step 1) using Zod\n * @param data - Partial form data\n * @returns StepErrors object with any validation errors\n */\nexport function validateActivityStep(\n data: Partial<SendActivityFormData>\n): StepErrors {\n const errors: StepErrors = {};\n\n const result = activityStepSchema.safeParse({\n subtype: data.subtype,\n title: data.title,\n notification: data.notification,\n });\n\n if (!result.success) {\n result.error.issues.forEach((issue) => {\n const field = issue.path[0] as keyof StepErrors;\n if (field === 'subtype' || field === 'title') {\n errors[field] = issue.message;\n }\n });\n }\n\n return errors;\n}\n\n/**\n * Validates the recipient step (Step 2) using Zod\n * @param data - Partial form data\n * @returns StepErrors object with any validation errors\n */\nexport function validateRecipientStep(\n data: Partial<SendActivityFormData>\n): StepErrors {\n const errors: StepErrors = {};\n\n const result = recipientStepSchema.safeParse({\n students: data.students,\n });\n\n if (!result.success) {\n result.error.issues.forEach((issue) => {\n if (issue.path[0] === 'students') {\n errors.students = issue.message;\n }\n });\n }\n\n return errors;\n}\n\n/**\n * Validates the deadline step (Step 3) using Zod\n * @param data - Partial form data\n * @returns StepErrors object with any validation errors\n */\nexport function validateDeadlineStep(\n data: Partial<SendActivityFormData>\n): StepErrors {\n const errors: StepErrors = {};\n\n // First validate individual fields\n if (!data.startDate) {\n errors.startDate = ERROR_MESSAGES.START_DATE_REQUIRED;\n }\n\n if (!data.finalDate) {\n errors.finalDate = ERROR_MESSAGES.FINAL_DATE_REQUIRED;\n }\n\n // If both dates exist, validate with the full schema (including refinement)\n if (data.startDate && data.finalDate) {\n const result = deadlineStepSchema.safeParse({\n startDate: data.startDate,\n startTime: data.startTime ?? '00:00',\n finalDate: data.finalDate,\n finalTime: data.finalTime ?? '23:59',\n canRetry: data.canRetry ?? false,\n });\n\n if (!result.success) {\n result.error.issues.forEach((issue) => {\n const field = issue.path[0] as keyof StepErrors;\n if (field === 'startDate' || field === 'finalDate') {\n errors[field] = issue.message;\n }\n });\n }\n }\n\n return errors;\n}\n\n/**\n * Validates a specific step\n * @param step - Step number (1, 2, or 3)\n * @param data - Partial form data\n * @returns StepErrors object with any validation errors\n */\nexport function validateStep(\n step: number,\n data: Partial<SendActivityFormData>\n): StepErrors {\n switch (step) {\n case 1:\n return validateActivityStep(data);\n case 2:\n return validateRecipientStep(data);\n case 3:\n return validateDeadlineStep(data);\n default:\n return {};\n }\n}\n\n/**\n * Checks if a specific step is valid\n * @param step - Step number (1, 2, or 3)\n * @param data - Partial form data\n * @returns true if the step is valid\n */\nexport function isStepValid(\n step: number,\n data: Partial<SendActivityFormData>\n): boolean {\n const errors = validateStep(step, data);\n return Object.keys(errors).length === 0;\n}\n\n/**\n * Checks if all steps are valid (form can be submitted)\n * @param data - Partial form data\n * @returns true if all steps are valid\n */\nexport function isFormValid(data: Partial<SendActivityFormData>): boolean {\n return isStepValid(1, data) && isStepValid(2, data) && isStepValid(3, data);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -827,6 +827,10 @@
|
|
|
827
827
|
width: calc(var(--spacing) * 4.5);
|
|
828
828
|
height: calc(var(--spacing) * 4.5);
|
|
829
829
|
}
|
|
830
|
+
.size-5 {
|
|
831
|
+
width: calc(var(--spacing) * 5);
|
|
832
|
+
height: calc(var(--spacing) * 5);
|
|
833
|
+
}
|
|
830
834
|
.size-6 {
|
|
831
835
|
width: calc(var(--spacing) * 6);
|
|
832
836
|
height: calc(var(--spacing) * 6);
|
|
@@ -835,6 +839,10 @@
|
|
|
835
839
|
width: calc(var(--spacing) * 7.5);
|
|
836
840
|
height: calc(var(--spacing) * 7.5);
|
|
837
841
|
}
|
|
842
|
+
.size-8 {
|
|
843
|
+
width: calc(var(--spacing) * 8);
|
|
844
|
+
height: calc(var(--spacing) * 8);
|
|
845
|
+
}
|
|
838
846
|
.size-10 {
|
|
839
847
|
width: calc(var(--spacing) * 10);
|
|
840
848
|
height: calc(var(--spacing) * 10);
|
|
@@ -947,6 +955,9 @@
|
|
|
947
955
|
.h-\[90px\] {
|
|
948
956
|
height: 90px;
|
|
949
957
|
}
|
|
958
|
+
.h-\[107px\] {
|
|
959
|
+
height: 107px;
|
|
960
|
+
}
|
|
950
961
|
.h-\[120px\] {
|
|
951
962
|
height: 120px;
|
|
952
963
|
}
|
|
@@ -1040,6 +1051,9 @@
|
|
|
1040
1051
|
.min-h-24 {
|
|
1041
1052
|
min-height: calc(var(--spacing) * 24);
|
|
1042
1053
|
}
|
|
1054
|
+
.min-h-28 {
|
|
1055
|
+
min-height: calc(var(--spacing) * 28);
|
|
1056
|
+
}
|
|
1043
1057
|
.min-h-96 {
|
|
1044
1058
|
min-height: calc(var(--spacing) * 96);
|
|
1045
1059
|
}
|
|
@@ -1172,6 +1186,9 @@
|
|
|
1172
1186
|
.w-\[100px\] {
|
|
1173
1187
|
width: 100px;
|
|
1174
1188
|
}
|
|
1189
|
+
.w-\[107px\] {
|
|
1190
|
+
width: 107px;
|
|
1191
|
+
}
|
|
1175
1192
|
.w-\[110px\] {
|
|
1176
1193
|
width: 110px;
|
|
1177
1194
|
}
|
|
@@ -1184,6 +1201,9 @@
|
|
|
1184
1201
|
.w-\[131px\] {
|
|
1185
1202
|
width: 131px;
|
|
1186
1203
|
}
|
|
1204
|
+
.w-\[140px\] {
|
|
1205
|
+
width: 140px;
|
|
1206
|
+
}
|
|
1187
1207
|
.w-\[152px\] {
|
|
1188
1208
|
width: 152px;
|
|
1189
1209
|
}
|
|
@@ -1251,12 +1271,15 @@
|
|
|
1251
1271
|
.max-w-20 {
|
|
1252
1272
|
max-width: calc(var(--spacing) * 20);
|
|
1253
1273
|
}
|
|
1254
|
-
.max-w-\[
|
|
1255
|
-
max-width:
|
|
1274
|
+
.max-w-\[85px\] {
|
|
1275
|
+
max-width: 85px;
|
|
1256
1276
|
}
|
|
1257
1277
|
.max-w-\[90px\] {
|
|
1258
1278
|
max-width: 90px;
|
|
1259
1279
|
}
|
|
1280
|
+
.max-w-\[100px\] {
|
|
1281
|
+
max-width: 100px;
|
|
1282
|
+
}
|
|
1260
1283
|
.max-w-\[140px\] {
|
|
1261
1284
|
max-width: 140px;
|
|
1262
1285
|
}
|
|
@@ -3117,6 +3140,9 @@
|
|
|
3117
3140
|
.py-8 {
|
|
3118
3141
|
padding-block: calc(var(--spacing) * 8);
|
|
3119
3142
|
}
|
|
3143
|
+
.py-12 {
|
|
3144
|
+
padding-block: calc(var(--spacing) * 12);
|
|
3145
|
+
}
|
|
3120
3146
|
.py-\[17px\] {
|
|
3121
3147
|
padding-block: 17px;
|
|
3122
3148
|
}
|