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.
Files changed (86) hide show
  1. package/dist/ActivityCardQuestionBanks/index.css +28 -2
  2. package/dist/ActivityCardQuestionBanks/index.css.map +1 -1
  3. package/dist/ActivityCardQuestionPreview/index.css +28 -2
  4. package/dist/ActivityCardQuestionPreview/index.css.map +1 -1
  5. package/dist/ActivityDetails/index.css +28 -2
  6. package/dist/ActivityDetails/index.css.map +1 -1
  7. package/dist/ActivityFilters/index.css +28 -2
  8. package/dist/ActivityFilters/index.css.map +1 -1
  9. package/dist/ActivityPreview/index.css +28 -2
  10. package/dist/ActivityPreview/index.css.map +1 -1
  11. package/dist/AlertManager/index.css +28 -2
  12. package/dist/AlertManager/index.css.map +1 -1
  13. package/dist/ProgressCircle/index.d.ts.map +1 -1
  14. package/dist/ProgressCircle/index.js +8 -8
  15. package/dist/ProgressCircle/index.js.map +1 -1
  16. package/dist/ProgressCircle/index.mjs +8 -8
  17. package/dist/ProgressCircle/index.mjs.map +1 -1
  18. package/dist/RecommendedLessonDetails/index.d.ts +4 -0
  19. package/dist/RecommendedLessonDetails/index.d.ts.map +1 -0
  20. package/dist/RecommendedLessonDetails/index.js +2250 -0
  21. package/dist/RecommendedLessonDetails/index.js.map +1 -0
  22. package/dist/RecommendedLessonDetails/index.mjs +2242 -0
  23. package/dist/RecommendedLessonDetails/index.mjs.map +1 -0
  24. package/dist/RecommendedLessonsHistory/index.css +28 -2
  25. package/dist/RecommendedLessonsHistory/index.css.map +1 -1
  26. package/dist/RecommendedLessonsHistory/index.js +3 -5
  27. package/dist/RecommendedLessonsHistory/index.js.map +1 -1
  28. package/dist/RecommendedLessonsHistory/index.mjs +3 -5
  29. package/dist/RecommendedLessonsHistory/index.mjs.map +1 -1
  30. package/dist/SendActivityModal/SendActivityModal.css +19353 -0
  31. package/dist/SendActivityModal/SendActivityModal.css.map +1 -0
  32. package/dist/SendActivityModal/SendActivityModal.d.ts +12 -0
  33. package/dist/SendActivityModal/SendActivityModal.d.ts.map +1 -0
  34. package/dist/SendActivityModal/SendActivityModal.js +6446 -0
  35. package/dist/SendActivityModal/SendActivityModal.js.map +1 -0
  36. package/dist/SendActivityModal/SendActivityModal.mjs +6486 -0
  37. package/dist/SendActivityModal/SendActivityModal.mjs.map +1 -0
  38. package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts +43 -0
  39. package/dist/SendActivityModal/hooks/useSendActivityModal.d.ts.map +1 -0
  40. package/dist/SendActivityModal/hooks/useSendActivityModal.js +269 -0
  41. package/dist/SendActivityModal/hooks/useSendActivityModal.js.map +1 -0
  42. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs +243 -0
  43. package/dist/SendActivityModal/hooks/useSendActivityModal.mjs.map +1 -0
  44. package/dist/SendActivityModal/index.css +28 -2
  45. package/dist/SendActivityModal/index.css.map +1 -1
  46. package/dist/SendActivityModal/types.d.ts +95 -0
  47. package/dist/SendActivityModal/types.d.ts.map +1 -0
  48. package/dist/SendActivityModal/types.js +35 -0
  49. package/dist/SendActivityModal/types.js.map +1 -0
  50. package/dist/SendActivityModal/types.mjs +10 -0
  51. package/dist/SendActivityModal/types.mjs.map +1 -0
  52. package/dist/SendActivityModal/validation.d.ts +133 -0
  53. package/dist/SendActivityModal/validation.d.ts.map +1 -0
  54. package/dist/SendActivityModal/validation.js +178 -0
  55. package/dist/SendActivityModal/validation.js.map +1 -0
  56. package/dist/SendActivityModal/validation.mjs +144 -0
  57. package/dist/SendActivityModal/validation.mjs.map +1 -0
  58. package/dist/TableProvider/index.css +28 -2
  59. package/dist/TableProvider/index.css.map +1 -1
  60. package/dist/hooks/useRecommendedLessonDetails/index.d.ts +780 -0
  61. package/dist/hooks/useRecommendedLessonDetails/index.d.ts.map +1 -0
  62. package/dist/hooks/useRecommendedLessonDetails/index.js +204 -0
  63. package/dist/hooks/useRecommendedLessonDetails/index.js.map +1 -0
  64. package/dist/hooks/useRecommendedLessonDetails/index.mjs +174 -0
  65. package/dist/hooks/useRecommendedLessonDetails/index.mjs.map +1 -0
  66. package/dist/hooks/useRecommendedLessonDetails.d.ts +780 -0
  67. package/dist/hooks/useRecommendedLessonDetails.d.ts.map +1 -0
  68. package/dist/index.css +28 -2
  69. package/dist/index.css.map +1 -1
  70. package/dist/index.d.ts +6 -2
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +657 -10
  73. package/dist/index.js.map +1 -1
  74. package/dist/index.mjs +645 -10
  75. package/dist/index.mjs.map +1 -1
  76. package/dist/styles.css +28 -2
  77. package/dist/styles.css.map +1 -1
  78. package/dist/types/recommendedLessons/index.d.ts +156 -0
  79. package/dist/types/recommendedLessons/index.d.ts.map +1 -1
  80. package/dist/types/recommendedLessons/index.js +47 -2
  81. package/dist/types/recommendedLessons/index.js.map +1 -1
  82. package/dist/types/recommendedLessons/index.mjs +41 -1
  83. package/dist/types/recommendedLessons/index.mjs.map +1 -1
  84. package/dist/types/recommendedLessons.d.ts +156 -0
  85. package/dist/types/recommendedLessons.d.ts.map +1 -1
  86. package/package.json +3 -1
@@ -0,0 +1,780 @@
1
+ import { z } from 'zod';
2
+ import type { LessonDetailsData, GoalApiResponse, GoalDetailsApiResponse, GoalsHistoryApiResponse } from '../types/recommendedLessons';
3
+ /**
4
+ * Schema for /goals/{id} API response
5
+ */
6
+ export declare const goalApiResponseSchema: z.ZodObject<{
7
+ message: z.ZodString;
8
+ data: z.ZodObject<{
9
+ id: z.ZodString;
10
+ title: z.ZodString;
11
+ startDate: z.ZodString;
12
+ finalDate: z.ZodString;
13
+ progress: z.ZodNumber;
14
+ lessonsGoals: z.ZodArray<z.ZodObject<{
15
+ goalId: z.ZodString;
16
+ supLessonsProgressId: z.ZodString;
17
+ supLessonsProgress: z.ZodObject<{
18
+ id: z.ZodString;
19
+ userId: z.ZodString;
20
+ lessonId: z.ZodString;
21
+ progress: z.ZodNumber;
22
+ lesson: z.ZodObject<{
23
+ id: z.ZodString;
24
+ content: z.ZodObject<{
25
+ id: z.ZodString;
26
+ name: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ id: string;
29
+ name: string;
30
+ }, {
31
+ id: string;
32
+ name: string;
33
+ }>;
34
+ subtopic: z.ZodObject<{
35
+ id: z.ZodString;
36
+ name: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ id: string;
39
+ name: string;
40
+ }, {
41
+ id: string;
42
+ name: string;
43
+ }>;
44
+ topic: z.ZodObject<{
45
+ id: z.ZodString;
46
+ name: z.ZodString;
47
+ }, "strip", z.ZodTypeAny, {
48
+ id: string;
49
+ name: string;
50
+ }, {
51
+ id: string;
52
+ name: string;
53
+ }>;
54
+ subject: z.ZodObject<{
55
+ id: z.ZodString;
56
+ name: z.ZodString;
57
+ color: z.ZodString;
58
+ icon: z.ZodString;
59
+ }, "strip", z.ZodTypeAny, {
60
+ id: string;
61
+ name: string;
62
+ color: string;
63
+ icon: string;
64
+ }, {
65
+ id: string;
66
+ name: string;
67
+ color: string;
68
+ icon: string;
69
+ }>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ id: string;
72
+ content: {
73
+ id: string;
74
+ name: string;
75
+ };
76
+ subject: {
77
+ id: string;
78
+ name: string;
79
+ color: string;
80
+ icon: string;
81
+ };
82
+ topic: {
83
+ id: string;
84
+ name: string;
85
+ };
86
+ subtopic: {
87
+ id: string;
88
+ name: string;
89
+ };
90
+ }, {
91
+ id: string;
92
+ content: {
93
+ id: string;
94
+ name: string;
95
+ };
96
+ subject: {
97
+ id: string;
98
+ name: string;
99
+ color: string;
100
+ icon: string;
101
+ };
102
+ topic: {
103
+ id: string;
104
+ name: string;
105
+ };
106
+ subtopic: {
107
+ id: string;
108
+ name: string;
109
+ };
110
+ }>;
111
+ }, "strip", z.ZodTypeAny, {
112
+ id: string;
113
+ progress: number;
114
+ userId: string;
115
+ lesson: {
116
+ id: string;
117
+ content: {
118
+ id: string;
119
+ name: string;
120
+ };
121
+ subject: {
122
+ id: string;
123
+ name: string;
124
+ color: string;
125
+ icon: string;
126
+ };
127
+ topic: {
128
+ id: string;
129
+ name: string;
130
+ };
131
+ subtopic: {
132
+ id: string;
133
+ name: string;
134
+ };
135
+ };
136
+ lessonId: string;
137
+ }, {
138
+ id: string;
139
+ progress: number;
140
+ userId: string;
141
+ lesson: {
142
+ id: string;
143
+ content: {
144
+ id: string;
145
+ name: string;
146
+ };
147
+ subject: {
148
+ id: string;
149
+ name: string;
150
+ color: string;
151
+ icon: string;
152
+ };
153
+ topic: {
154
+ id: string;
155
+ name: string;
156
+ };
157
+ subtopic: {
158
+ id: string;
159
+ name: string;
160
+ };
161
+ };
162
+ lessonId: string;
163
+ }>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ goalId: string;
166
+ supLessonsProgressId: string;
167
+ supLessonsProgress: {
168
+ id: string;
169
+ progress: number;
170
+ userId: string;
171
+ lesson: {
172
+ id: string;
173
+ content: {
174
+ id: string;
175
+ name: string;
176
+ };
177
+ subject: {
178
+ id: string;
179
+ name: string;
180
+ color: string;
181
+ icon: string;
182
+ };
183
+ topic: {
184
+ id: string;
185
+ name: string;
186
+ };
187
+ subtopic: {
188
+ id: string;
189
+ name: string;
190
+ };
191
+ };
192
+ lessonId: string;
193
+ };
194
+ }, {
195
+ goalId: string;
196
+ supLessonsProgressId: string;
197
+ supLessonsProgress: {
198
+ id: string;
199
+ progress: number;
200
+ userId: string;
201
+ lesson: {
202
+ id: string;
203
+ content: {
204
+ id: string;
205
+ name: string;
206
+ };
207
+ subject: {
208
+ id: string;
209
+ name: string;
210
+ color: string;
211
+ icon: string;
212
+ };
213
+ topic: {
214
+ id: string;
215
+ name: string;
216
+ };
217
+ subtopic: {
218
+ id: string;
219
+ name: string;
220
+ };
221
+ };
222
+ lessonId: string;
223
+ };
224
+ }>, "many">;
225
+ }, "strip", z.ZodTypeAny, {
226
+ id: string;
227
+ title: string;
228
+ progress: number;
229
+ startDate: string;
230
+ finalDate: string;
231
+ lessonsGoals: {
232
+ goalId: string;
233
+ supLessonsProgressId: string;
234
+ supLessonsProgress: {
235
+ id: string;
236
+ progress: number;
237
+ userId: string;
238
+ lesson: {
239
+ id: string;
240
+ content: {
241
+ id: string;
242
+ name: string;
243
+ };
244
+ subject: {
245
+ id: string;
246
+ name: string;
247
+ color: string;
248
+ icon: string;
249
+ };
250
+ topic: {
251
+ id: string;
252
+ name: string;
253
+ };
254
+ subtopic: {
255
+ id: string;
256
+ name: string;
257
+ };
258
+ };
259
+ lessonId: string;
260
+ };
261
+ }[];
262
+ }, {
263
+ id: string;
264
+ title: string;
265
+ progress: number;
266
+ startDate: string;
267
+ finalDate: string;
268
+ lessonsGoals: {
269
+ goalId: string;
270
+ supLessonsProgressId: string;
271
+ supLessonsProgress: {
272
+ id: string;
273
+ progress: number;
274
+ userId: string;
275
+ lesson: {
276
+ id: string;
277
+ content: {
278
+ id: string;
279
+ name: string;
280
+ };
281
+ subject: {
282
+ id: string;
283
+ name: string;
284
+ color: string;
285
+ icon: string;
286
+ };
287
+ topic: {
288
+ id: string;
289
+ name: string;
290
+ };
291
+ subtopic: {
292
+ id: string;
293
+ name: string;
294
+ };
295
+ };
296
+ lessonId: string;
297
+ };
298
+ }[];
299
+ }>;
300
+ }, "strip", z.ZodTypeAny, {
301
+ data: {
302
+ id: string;
303
+ title: string;
304
+ progress: number;
305
+ startDate: string;
306
+ finalDate: string;
307
+ lessonsGoals: {
308
+ goalId: string;
309
+ supLessonsProgressId: string;
310
+ supLessonsProgress: {
311
+ id: string;
312
+ progress: number;
313
+ userId: string;
314
+ lesson: {
315
+ id: string;
316
+ content: {
317
+ id: string;
318
+ name: string;
319
+ };
320
+ subject: {
321
+ id: string;
322
+ name: string;
323
+ color: string;
324
+ icon: string;
325
+ };
326
+ topic: {
327
+ id: string;
328
+ name: string;
329
+ };
330
+ subtopic: {
331
+ id: string;
332
+ name: string;
333
+ };
334
+ };
335
+ lessonId: string;
336
+ };
337
+ }[];
338
+ };
339
+ message: string;
340
+ }, {
341
+ data: {
342
+ id: string;
343
+ title: string;
344
+ progress: number;
345
+ startDate: string;
346
+ finalDate: string;
347
+ lessonsGoals: {
348
+ goalId: string;
349
+ supLessonsProgressId: string;
350
+ supLessonsProgress: {
351
+ id: string;
352
+ progress: number;
353
+ userId: string;
354
+ lesson: {
355
+ id: string;
356
+ content: {
357
+ id: string;
358
+ name: string;
359
+ };
360
+ subject: {
361
+ id: string;
362
+ name: string;
363
+ color: string;
364
+ icon: string;
365
+ };
366
+ topic: {
367
+ id: string;
368
+ name: string;
369
+ };
370
+ subtopic: {
371
+ id: string;
372
+ name: string;
373
+ };
374
+ };
375
+ lessonId: string;
376
+ };
377
+ }[];
378
+ };
379
+ message: string;
380
+ }>;
381
+ /**
382
+ * Schema for /goals/{id}/details API response
383
+ */
384
+ export declare const goalDetailsApiResponseSchema: z.ZodObject<{
385
+ message: z.ZodString;
386
+ data: z.ZodObject<{
387
+ students: z.ZodArray<z.ZodObject<{
388
+ userInstitutionId: z.ZodString;
389
+ userId: z.ZodString;
390
+ name: z.ZodString;
391
+ progress: z.ZodNumber;
392
+ completedAt: z.ZodNullable<z.ZodString>;
393
+ avgScore: z.ZodNullable<z.ZodNumber>;
394
+ daysToComplete: z.ZodNullable<z.ZodNumber>;
395
+ }, "strip", z.ZodTypeAny, {
396
+ name: string;
397
+ progress: number;
398
+ userId: string;
399
+ userInstitutionId: string;
400
+ completedAt: string | null;
401
+ avgScore: number | null;
402
+ daysToComplete: number | null;
403
+ }, {
404
+ name: string;
405
+ progress: number;
406
+ userId: string;
407
+ userInstitutionId: string;
408
+ completedAt: string | null;
409
+ avgScore: number | null;
410
+ daysToComplete: number | null;
411
+ }>, "many">;
412
+ aggregated: z.ZodObject<{
413
+ completionPercentage: z.ZodNumber;
414
+ avgScore: z.ZodNullable<z.ZodNumber>;
415
+ }, "strip", z.ZodTypeAny, {
416
+ completionPercentage: number;
417
+ avgScore: number | null;
418
+ }, {
419
+ completionPercentage: number;
420
+ avgScore: number | null;
421
+ }>;
422
+ contentPerformance: z.ZodObject<{
423
+ best: z.ZodNullable<z.ZodObject<{
424
+ contentId: z.ZodString;
425
+ contentName: z.ZodString;
426
+ rate: z.ZodNumber;
427
+ }, "strip", z.ZodTypeAny, {
428
+ contentId: string;
429
+ contentName: string;
430
+ rate: number;
431
+ }, {
432
+ contentId: string;
433
+ contentName: string;
434
+ rate: number;
435
+ }>>;
436
+ worst: z.ZodNullable<z.ZodObject<{
437
+ contentId: z.ZodString;
438
+ contentName: z.ZodString;
439
+ rate: z.ZodNumber;
440
+ }, "strip", z.ZodTypeAny, {
441
+ contentId: string;
442
+ contentName: string;
443
+ rate: number;
444
+ }, {
445
+ contentId: string;
446
+ contentName: string;
447
+ rate: number;
448
+ }>>;
449
+ }, "strip", z.ZodTypeAny, {
450
+ best: {
451
+ contentId: string;
452
+ contentName: string;
453
+ rate: number;
454
+ } | null;
455
+ worst: {
456
+ contentId: string;
457
+ contentName: string;
458
+ rate: number;
459
+ } | null;
460
+ }, {
461
+ best: {
462
+ contentId: string;
463
+ contentName: string;
464
+ rate: number;
465
+ } | null;
466
+ worst: {
467
+ contentId: string;
468
+ contentName: string;
469
+ rate: number;
470
+ } | null;
471
+ }>;
472
+ }, "strip", z.ZodTypeAny, {
473
+ students: {
474
+ name: string;
475
+ progress: number;
476
+ userId: string;
477
+ userInstitutionId: string;
478
+ completedAt: string | null;
479
+ avgScore: number | null;
480
+ daysToComplete: number | null;
481
+ }[];
482
+ aggregated: {
483
+ completionPercentage: number;
484
+ avgScore: number | null;
485
+ };
486
+ contentPerformance: {
487
+ best: {
488
+ contentId: string;
489
+ contentName: string;
490
+ rate: number;
491
+ } | null;
492
+ worst: {
493
+ contentId: string;
494
+ contentName: string;
495
+ rate: number;
496
+ } | null;
497
+ };
498
+ }, {
499
+ students: {
500
+ name: string;
501
+ progress: number;
502
+ userId: string;
503
+ userInstitutionId: string;
504
+ completedAt: string | null;
505
+ avgScore: number | null;
506
+ daysToComplete: number | null;
507
+ }[];
508
+ aggregated: {
509
+ completionPercentage: number;
510
+ avgScore: number | null;
511
+ };
512
+ contentPerformance: {
513
+ best: {
514
+ contentId: string;
515
+ contentName: string;
516
+ rate: number;
517
+ } | null;
518
+ worst: {
519
+ contentId: string;
520
+ contentName: string;
521
+ rate: number;
522
+ } | null;
523
+ };
524
+ }>;
525
+ }, "strip", z.ZodTypeAny, {
526
+ data: {
527
+ students: {
528
+ name: string;
529
+ progress: number;
530
+ userId: string;
531
+ userInstitutionId: string;
532
+ completedAt: string | null;
533
+ avgScore: number | null;
534
+ daysToComplete: number | null;
535
+ }[];
536
+ aggregated: {
537
+ completionPercentage: number;
538
+ avgScore: number | null;
539
+ };
540
+ contentPerformance: {
541
+ best: {
542
+ contentId: string;
543
+ contentName: string;
544
+ rate: number;
545
+ } | null;
546
+ worst: {
547
+ contentId: string;
548
+ contentName: string;
549
+ rate: number;
550
+ } | null;
551
+ };
552
+ };
553
+ message: string;
554
+ }, {
555
+ data: {
556
+ students: {
557
+ name: string;
558
+ progress: number;
559
+ userId: string;
560
+ userInstitutionId: string;
561
+ completedAt: string | null;
562
+ avgScore: number | null;
563
+ daysToComplete: number | null;
564
+ }[];
565
+ aggregated: {
566
+ completionPercentage: number;
567
+ avgScore: number | null;
568
+ };
569
+ contentPerformance: {
570
+ best: {
571
+ contentId: string;
572
+ contentName: string;
573
+ rate: number;
574
+ } | null;
575
+ worst: {
576
+ contentId: string;
577
+ contentName: string;
578
+ rate: number;
579
+ } | null;
580
+ };
581
+ };
582
+ message: string;
583
+ }>;
584
+ /**
585
+ * Schema for history API response (partial)
586
+ */
587
+ export declare const historyApiResponseSchema: z.ZodObject<{
588
+ message: z.ZodString;
589
+ data: z.ZodObject<{
590
+ goals: z.ZodArray<z.ZodObject<{
591
+ goal: z.ZodObject<{
592
+ id: z.ZodString;
593
+ }, "strip", z.ZodTypeAny, {
594
+ id: string;
595
+ }, {
596
+ id: string;
597
+ }>;
598
+ breakdown: z.ZodArray<z.ZodObject<{
599
+ classId: z.ZodString;
600
+ className: z.ZodString;
601
+ schoolId: z.ZodString;
602
+ schoolName: z.ZodString;
603
+ studentCount: z.ZodNumber;
604
+ completedCount: z.ZodNumber;
605
+ }, "strip", z.ZodTypeAny, {
606
+ className: string;
607
+ schoolName: string;
608
+ schoolId: string;
609
+ classId: string;
610
+ completedCount: number;
611
+ studentCount: number;
612
+ }, {
613
+ className: string;
614
+ schoolName: string;
615
+ schoolId: string;
616
+ classId: string;
617
+ completedCount: number;
618
+ studentCount: number;
619
+ }>, "many">;
620
+ }, "strip", z.ZodTypeAny, {
621
+ goal: {
622
+ id: string;
623
+ };
624
+ breakdown: {
625
+ className: string;
626
+ schoolName: string;
627
+ schoolId: string;
628
+ classId: string;
629
+ completedCount: number;
630
+ studentCount: number;
631
+ }[];
632
+ }, {
633
+ goal: {
634
+ id: string;
635
+ };
636
+ breakdown: {
637
+ className: string;
638
+ schoolName: string;
639
+ schoolId: string;
640
+ classId: string;
641
+ completedCount: number;
642
+ studentCount: number;
643
+ }[];
644
+ }>, "many">;
645
+ total: z.ZodNumber;
646
+ }, "strip", z.ZodTypeAny, {
647
+ total: number;
648
+ goals: {
649
+ goal: {
650
+ id: string;
651
+ };
652
+ breakdown: {
653
+ className: string;
654
+ schoolName: string;
655
+ schoolId: string;
656
+ classId: string;
657
+ completedCount: number;
658
+ studentCount: number;
659
+ }[];
660
+ }[];
661
+ }, {
662
+ total: number;
663
+ goals: {
664
+ goal: {
665
+ id: string;
666
+ };
667
+ breakdown: {
668
+ className: string;
669
+ schoolName: string;
670
+ schoolId: string;
671
+ classId: string;
672
+ completedCount: number;
673
+ studentCount: number;
674
+ }[];
675
+ }[];
676
+ }>;
677
+ }, "strip", z.ZodTypeAny, {
678
+ data: {
679
+ total: number;
680
+ goals: {
681
+ goal: {
682
+ id: string;
683
+ };
684
+ breakdown: {
685
+ className: string;
686
+ schoolName: string;
687
+ schoolId: string;
688
+ classId: string;
689
+ completedCount: number;
690
+ studentCount: number;
691
+ }[];
692
+ }[];
693
+ };
694
+ message: string;
695
+ }, {
696
+ data: {
697
+ total: number;
698
+ goals: {
699
+ goal: {
700
+ id: string;
701
+ };
702
+ breakdown: {
703
+ className: string;
704
+ schoolName: string;
705
+ schoolId: string;
706
+ classId: string;
707
+ completedCount: number;
708
+ studentCount: number;
709
+ }[];
710
+ }[];
711
+ };
712
+ message: string;
713
+ }>;
714
+ /**
715
+ * Hook state interface
716
+ */
717
+ export interface UseRecommendedLessonDetailsState {
718
+ data: LessonDetailsData | null;
719
+ loading: boolean;
720
+ error: string | null;
721
+ }
722
+ /**
723
+ * Hook return type
724
+ */
725
+ export interface UseRecommendedLessonDetailsReturn extends UseRecommendedLessonDetailsState {
726
+ refetch: () => Promise<void>;
727
+ }
728
+ /**
729
+ * API client interface for fetching lesson details
730
+ */
731
+ export interface LessonDetailsApiClient {
732
+ /** Fetch goal metadata from /goals/{id} */
733
+ fetchGoal: (id: string) => Promise<GoalApiResponse>;
734
+ /** Fetch goal details from /goals/{id}/details */
735
+ fetchGoalDetails: (id: string) => Promise<GoalDetailsApiResponse>;
736
+ /** Optional: Fetch breakdown from /recommended-class/history */
737
+ fetchBreakdown?: (id: string) => Promise<GoalsHistoryApiResponse>;
738
+ }
739
+ /**
740
+ * Handle errors during lesson details fetch
741
+ * @param error - Error object
742
+ * @returns Error message for UI display
743
+ */
744
+ export declare const handleLessonDetailsFetchError: (error: unknown) => string;
745
+ /**
746
+ * Factory function to create useRecommendedLessonDetails hook
747
+ *
748
+ * @param apiClient - Object containing API fetch functions
749
+ * @returns Hook for managing recommended lesson details
750
+ *
751
+ * @example
752
+ * ```tsx
753
+ * // In your app setup
754
+ * const apiClient = {
755
+ * fetchGoal: async (id) => {
756
+ * const response = await api.get(`/goals/${id}`);
757
+ * return response.data;
758
+ * },
759
+ * fetchGoalDetails: async (id) => {
760
+ * const response = await api.get(`/goals/${id}/details`);
761
+ * return response.data;
762
+ * },
763
+ * fetchBreakdown: async (id) => {
764
+ * const response = await api.get(`/recommended-class/history?search=${id}&limit=1`);
765
+ * return response.data;
766
+ * },
767
+ * };
768
+ *
769
+ * const useGoalDetails = createUseRecommendedLessonDetails(apiClient);
770
+ *
771
+ * // In your component
772
+ * const { data, loading, error, refetch } = useGoalDetails('goal-id-123');
773
+ * ```
774
+ */
775
+ export declare const createUseRecommendedLessonDetails: (apiClient: LessonDetailsApiClient) => (lessonId: string | undefined) => UseRecommendedLessonDetailsReturn;
776
+ /**
777
+ * Alias for createUseRecommendedLessonDetails
778
+ */
779
+ export declare const createRecommendedLessonDetailsHook: (apiClient: LessonDetailsApiClient) => (lessonId: string | undefined) => UseRecommendedLessonDetailsReturn;
780
+ //# sourceMappingURL=useRecommendedLessonDetails.d.ts.map