analytica-frontend-lib 1.6.21 → 1.6.22

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 (405) hide show
  1. package/dist/AccessReportModal/index.js +1 -1
  2. package/dist/AccessReportModal/index.mjs +1 -1
  3. package/dist/AccessibilityWidget/index.js +1 -1
  4. package/dist/AccessibilityWidget/index.mjs +1 -1
  5. package/dist/Accordation/index.js +1 -1
  6. package/dist/Accordation/index.mjs +1 -1
  7. package/dist/ActivitiesHistory/index.js +19 -19
  8. package/dist/ActivitiesHistory/index.mjs +18 -18
  9. package/dist/ActivityCardQuestionBanks/index.js +19 -19
  10. package/dist/ActivityCardQuestionBanks/index.mjs +18 -18
  11. package/dist/ActivityCardQuestionPreview/index.js +19 -19
  12. package/dist/ActivityCardQuestionPreview/index.mjs +18 -18
  13. package/dist/ActivityCreate/ActivityCreate.utils/index.js +3 -3
  14. package/dist/ActivityCreate/ActivityCreate.utils/index.mjs +2 -2
  15. package/dist/ActivityCreate/ActivityCreateContent/index.js +19 -19
  16. package/dist/ActivityCreate/ActivityCreateContent/index.mjs +18 -18
  17. package/dist/ActivityCreate/index.js +19 -19
  18. package/dist/ActivityCreate/index.mjs +18 -18
  19. package/dist/ActivityDetails/index.js +19 -19
  20. package/dist/ActivityDetails/index.mjs +18 -18
  21. package/dist/ActivityFilters/index.js +19 -19
  22. package/dist/ActivityFilters/index.mjs +18 -18
  23. package/dist/ActivityPageLayout/index.js +19 -19
  24. package/dist/ActivityPageLayout/index.mjs +18 -18
  25. package/dist/ActivityPreview/index.js +19 -19
  26. package/dist/ActivityPreview/index.mjs +18 -18
  27. package/dist/Alert/index.js +1 -1
  28. package/dist/Alert/index.mjs +1 -1
  29. package/dist/AlertDialog/index.js +1 -1
  30. package/dist/AlertDialog/index.mjs +1 -1
  31. package/dist/AlertManager/index.js +19 -19
  32. package/dist/AlertManager/index.mjs +18 -18
  33. package/dist/AlertManagerView/index.js +1 -1
  34. package/dist/AlertManagerView/index.mjs +1 -1
  35. package/dist/Alternative/index.js +1 -1
  36. package/dist/Alternative/index.mjs +1 -1
  37. package/dist/AnnouncementModal/index.js +1 -1
  38. package/dist/AnnouncementModal/index.mjs +1 -1
  39. package/dist/AnnouncementsGate/index.js +1 -1
  40. package/dist/AnnouncementsGate/index.mjs +1 -1
  41. package/dist/AnswerKeyModal/index.js +1 -1
  42. package/dist/AnswerKeyModal/index.mjs +1 -1
  43. package/dist/AppHeader/index.js +1 -1
  44. package/dist/AppHeader/index.mjs +1 -1
  45. package/dist/AppLayout/index.js +1 -1
  46. package/dist/AppLayout/index.mjs +1 -1
  47. package/dist/Avatar/index.js +1 -1
  48. package/dist/Avatar/index.mjs +1 -1
  49. package/dist/Badge/index.js +1 -1
  50. package/dist/Badge/index.mjs +1 -1
  51. package/dist/BreadcrumbMenu/index.js +1 -1
  52. package/dist/BreadcrumbMenu/index.mjs +1 -1
  53. package/dist/Button/index.js +1 -1
  54. package/dist/Button/index.mjs +1 -1
  55. package/dist/Calendar/index.js +1 -1
  56. package/dist/Calendar/index.mjs +1 -1
  57. package/dist/CalendarCard/index.js +1 -1
  58. package/dist/CalendarCard/index.mjs +1 -1
  59. package/dist/Card/index.js +1 -1
  60. package/dist/Card/index.mjs +1 -1
  61. package/dist/ChartComponents/index.js +1 -1
  62. package/dist/ChartComponents/index.mjs +1 -1
  63. package/dist/Chat/index.js +1 -1
  64. package/dist/Chat/index.mjs +1 -1
  65. package/dist/Chatbot/index.js +1 -1
  66. package/dist/Chatbot/index.mjs +1 -1
  67. package/dist/CheckBox/index.js +1 -1
  68. package/dist/CheckBox/index.mjs +1 -1
  69. package/dist/CheckBoxGroup/index.js +19 -19
  70. package/dist/CheckBoxGroup/index.mjs +18 -18
  71. package/dist/Chips/index.js +1 -1
  72. package/dist/Chips/index.mjs +1 -1
  73. package/dist/ChoroplethMap/index.js +1 -1
  74. package/dist/ChoroplethMap/index.mjs +1 -1
  75. package/dist/ColorPicker/index.js +1 -1
  76. package/dist/ColorPicker/index.mjs +1 -1
  77. package/dist/ComparatorChart/ComparatorView/index.js +1 -1
  78. package/dist/ComparatorChart/ComparatorView/index.mjs +1 -1
  79. package/dist/CorrectActivityModal/index.js +6 -6
  80. package/dist/CorrectActivityModal/index.mjs +5 -5
  81. package/dist/Divider/index.js +1 -1
  82. package/dist/Divider/index.mjs +1 -1
  83. package/dist/DownloadButton/index.js +1 -1
  84. package/dist/DownloadButton/index.mjs +1 -1
  85. package/dist/DownloadModal/index.js +1 -1
  86. package/dist/DownloadModal/index.mjs +1 -1
  87. package/dist/DragHandleButton/index.js +1 -1
  88. package/dist/DragHandleButton/index.mjs +1 -1
  89. package/dist/DropdownMenu/index.js +1 -1
  90. package/dist/DropdownMenu/index.mjs +1 -1
  91. package/dist/EmptyState/index.js +1 -1
  92. package/dist/EmptyState/index.mjs +1 -1
  93. package/dist/EnemClassroomStartModal/index.d.ts +0 -2
  94. package/dist/EnemClassroomStartModal/index.d.ts.map +1 -1
  95. package/dist/EnemClassroomStartModal/index.js +4 -6
  96. package/dist/EnemClassroomStartModal/index.js.map +1 -1
  97. package/dist/EnemClassroomStartModal/index.mjs +3 -5
  98. package/dist/EssayThemePicker/index.js +1 -1
  99. package/dist/EssayThemePicker/index.mjs +1 -1
  100. package/dist/ExamDetailsLayout/ExamDetailsPage/index.js +19 -19
  101. package/dist/ExamDetailsLayout/ExamDetailsPage/index.mjs +18 -18
  102. package/dist/ExamPageLayout/examsTableConfig/index.js +1 -1
  103. package/dist/ExamPageLayout/examsTableConfig/index.mjs +1 -1
  104. package/dist/ExamPageLayout/index.js +19 -19
  105. package/dist/ExamPageLayout/index.mjs +18 -18
  106. package/dist/FileAttachment/index.js +1 -1
  107. package/dist/FileAttachment/index.mjs +1 -1
  108. package/dist/FileDropzone/index.js +1 -1
  109. package/dist/FileDropzone/index.mjs +1 -1
  110. package/dist/Forum/index.js +4 -4
  111. package/dist/Forum/index.mjs +3 -3
  112. package/dist/HtmlMathRenderer/index.js +1 -1
  113. package/dist/HtmlMathRenderer/index.mjs +1 -1
  114. package/dist/IconButton/index.js +1 -1
  115. package/dist/IconButton/index.mjs +1 -1
  116. package/dist/IconRoundedButton/index.js +1 -1
  117. package/dist/IconRoundedButton/index.mjs +1 -1
  118. package/dist/ImagePreviewCard/index.js +1 -1
  119. package/dist/ImagePreviewCard/index.mjs +1 -1
  120. package/dist/ImageUpload/index.js +1 -1
  121. package/dist/ImageUpload/index.mjs +1 -1
  122. package/dist/LatexRenderer/index.js +1 -1
  123. package/dist/LatexRenderer/index.mjs +1 -1
  124. package/dist/LevelBar/index.js +1 -1
  125. package/dist/LevelBar/index.mjs +1 -1
  126. package/dist/Menu/index.js +1 -1
  127. package/dist/Menu/index.mjs +1 -1
  128. package/dist/MetricBox/index.js +1 -1
  129. package/dist/MetricBox/index.mjs +1 -1
  130. package/dist/Modal/index.js +1 -1
  131. package/dist/Modal/index.mjs +1 -1
  132. package/dist/ModalComponents/index.js +1 -1
  133. package/dist/ModalComponents/index.mjs +1 -1
  134. package/dist/MultiSearchSelect/index.js +1 -1
  135. package/dist/MultiSearchSelect/index.mjs +1 -1
  136. package/dist/MultipleChoice/index.js +1 -1
  137. package/dist/MultipleChoice/index.mjs +1 -1
  138. package/dist/NavButton/index.js +1 -1
  139. package/dist/NavButton/index.mjs +1 -1
  140. package/dist/NoSearchResult/index.js +1 -1
  141. package/dist/NoSearchResult/index.mjs +1 -1
  142. package/dist/NotFound/index.js +1 -1
  143. package/dist/NotFound/index.mjs +1 -1
  144. package/dist/NotificationCard/index.js +1 -1
  145. package/dist/NotificationCard/index.mjs +1 -1
  146. package/dist/PerformanceDistributionChart/index.js +1 -1
  147. package/dist/PerformanceDistributionChart/index.mjs +1 -1
  148. package/dist/PerformanceQuestionsData/index.js +1 -1
  149. package/dist/PerformanceQuestionsData/index.mjs +1 -1
  150. package/dist/PerformanceRanking/index.js +1 -1
  151. package/dist/PerformanceRanking/index.mjs +1 -1
  152. package/dist/PerformanceReport/index.js +1 -1
  153. package/dist/PerformanceReport/index.mjs +1 -1
  154. package/dist/PerformanceReportModal/index.js +1 -1
  155. package/dist/PerformanceReportModal/index.mjs +1 -1
  156. package/dist/PeriodSelector/index.js +1 -1
  157. package/dist/PeriodSelector/index.mjs +1 -1
  158. package/dist/PrintableUsersTable/index.js +19 -19
  159. package/dist/PrintableUsersTable/index.mjs +18 -18
  160. package/dist/ProficiencyChart/index.js +1 -1
  161. package/dist/ProficiencyChart/index.mjs +1 -1
  162. package/dist/ProgressBar/index.js +1 -1
  163. package/dist/ProgressBar/index.mjs +1 -1
  164. package/dist/ProgressCircle/index.js +1 -1
  165. package/dist/ProgressCircle/index.mjs +1 -1
  166. package/dist/ProgressModal/index.js +1 -1
  167. package/dist/ProgressModal/index.mjs +1 -1
  168. package/dist/QuestionsData/index.js +1 -1
  169. package/dist/QuestionsData/index.mjs +1 -1
  170. package/dist/QuestionsPerformanceCard/index.js +19 -19
  171. package/dist/QuestionsPerformanceCard/index.mjs +18 -18
  172. package/dist/Quiz/QuizResult/index.d.ts.map +1 -1
  173. package/dist/Quiz/QuizResult/index.js +4 -4
  174. package/dist/Quiz/QuizResult/index.mjs +3 -3
  175. package/dist/Quiz/TeacherFeedbackSection/index.js +3 -3
  176. package/dist/Quiz/TeacherFeedbackSection/index.mjs +2 -2
  177. package/dist/Quiz/TeacherQuestionComment/index.js +3 -3
  178. package/dist/Quiz/TeacherQuestionComment/index.mjs +2 -2
  179. package/dist/Quiz/index.d.ts.map +1 -1
  180. package/dist/Quiz/index.js +6 -6
  181. package/dist/Quiz/index.mjs +5 -5
  182. package/dist/Quiz/useQuizStore/index.d.ts +6 -0
  183. package/dist/Quiz/useQuizStore/index.d.ts.map +1 -1
  184. package/dist/Quiz/useQuizStore/index.js +2 -2
  185. package/dist/Quiz/useQuizStore/index.mjs +1 -1
  186. package/dist/QuizTimer/index.js +3 -3
  187. package/dist/QuizTimer/index.mjs +2 -2
  188. package/dist/Radio/index.js +1 -1
  189. package/dist/Radio/index.mjs +1 -1
  190. package/dist/RangeGauge/index.js +1 -1
  191. package/dist/RangeGauge/index.mjs +1 -1
  192. package/dist/RecommendedLessonCreate/index.js +19 -19
  193. package/dist/RecommendedLessonCreate/index.mjs +18 -18
  194. package/dist/RecommendedLessonDetails/index.js +1 -1
  195. package/dist/RecommendedLessonDetails/index.mjs +1 -1
  196. package/dist/RecommendedLessonsHistory/index.js +19 -19
  197. package/dist/RecommendedLessonsHistory/index.mjs +18 -18
  198. package/dist/ReportDetailModal/index.js +1 -1
  199. package/dist/ReportDetailModal/index.mjs +1 -1
  200. package/dist/RestrictedAccess/index.js +1 -1
  201. package/dist/RestrictedAccess/index.mjs +1 -1
  202. package/dist/RichEditor/index.js +3 -3
  203. package/dist/RichEditor/index.mjs +2 -2
  204. package/dist/{RichEditorCore-F5QPQLEK.js → RichEditorCore-NEIZKFKE.js} +2 -2
  205. package/dist/{RichEditorCore-F5QPQLEK.js.map → RichEditorCore-NEIZKFKE.js.map} +1 -1
  206. package/dist/{RichEditorCore-QZYPHNRY.mjs → RichEditorCore-TLAFZ5XG.mjs} +2 -2
  207. package/dist/ScoreCircle/index.js +1 -1
  208. package/dist/ScoreCircle/index.mjs +1 -1
  209. package/dist/Search/index.js +1 -1
  210. package/dist/Search/index.mjs +1 -1
  211. package/dist/SearchSelect/index.js +1 -1
  212. package/dist/SearchSelect/index.mjs +1 -1
  213. package/dist/Select/index.js +1 -1
  214. package/dist/Select/index.mjs +1 -1
  215. package/dist/SelectionButton/index.js +1 -1
  216. package/dist/SelectionButton/index.mjs +1 -1
  217. package/dist/SendActivityModal/SendActivityModal.js +19 -19
  218. package/dist/SendActivityModal/SendActivityModal.mjs +18 -18
  219. package/dist/SendActivityModal/index.js +19 -19
  220. package/dist/SendActivityModal/index.mjs +18 -18
  221. package/dist/SendLessonModal/index.js +19 -19
  222. package/dist/SendLessonModal/index.mjs +18 -18
  223. package/dist/SimpleBarChart/index.js +1 -1
  224. package/dist/SimpleBarChart/index.mjs +1 -1
  225. package/dist/SimulatedPerformance/SimulatedPerformanceView/index.js +19 -19
  226. package/dist/SimulatedPerformance/SimulatedPerformanceView/index.mjs +18 -18
  227. package/dist/SimulatedPerformance/useSimulatedPerformance/index.js +1 -1
  228. package/dist/SimulatedPerformance/useSimulatedPerformance/index.mjs +1 -1
  229. package/dist/SimulatedStudentSimulationsModal/index.js +19 -19
  230. package/dist/SimulatedStudentSimulationsModal/index.mjs +5 -5
  231. package/dist/SimulationsPage/index.js +19 -19
  232. package/dist/SimulationsPage/index.mjs +18 -18
  233. package/dist/Skeleton/index.js +1 -1
  234. package/dist/Skeleton/index.mjs +1 -1
  235. package/dist/StatisticsCard/index.js +1 -1
  236. package/dist/StatisticsCard/index.mjs +1 -1
  237. package/dist/Stepper/index.js +1 -1
  238. package/dist/Stepper/index.mjs +1 -1
  239. package/dist/StudentLessonProgressModal/index.js +1 -1
  240. package/dist/StudentLessonProgressModal/index.mjs +1 -1
  241. package/dist/StudentPerformanceDetailsModal/index.js +1 -1
  242. package/dist/StudentPerformanceDetailsModal/index.mjs +1 -1
  243. package/dist/StudentRanking/index.js +1 -1
  244. package/dist/StudentRanking/index.mjs +1 -1
  245. package/dist/SubjectIcons/index.js +1 -1
  246. package/dist/SubjectIcons/index.mjs +1 -1
  247. package/dist/SubjectMenuOverflow/index.js +1 -1
  248. package/dist/SubjectMenuOverflow/index.mjs +1 -1
  249. package/dist/Support/TicketModal/index.js +1 -1
  250. package/dist/Support/TicketModal/index.mjs +1 -1
  251. package/dist/Support/index.js +1 -1
  252. package/dist/Support/index.mjs +1 -1
  253. package/dist/Table/TablePagination/index.js +1 -1
  254. package/dist/Table/TablePagination/index.mjs +1 -1
  255. package/dist/Table/index.js +1 -1
  256. package/dist/Table/index.mjs +1 -1
  257. package/dist/TableProvider/index.js +19 -19
  258. package/dist/TableProvider/index.mjs +18 -18
  259. package/dist/Text/index.js +1 -1
  260. package/dist/Text/index.mjs +1 -1
  261. package/dist/TextArea/index.js +1 -1
  262. package/dist/TextArea/index.mjs +1 -1
  263. package/dist/ThemeToggle/index.js +1 -1
  264. package/dist/ThemeToggle/index.mjs +1 -1
  265. package/dist/TimeChart/index.js +1 -1
  266. package/dist/TimeChart/index.mjs +1 -1
  267. package/dist/TimeReport/index.js +1 -1
  268. package/dist/TimeReport/index.mjs +1 -1
  269. package/dist/Toast/Toaster/index.js +1 -1
  270. package/dist/Toast/Toaster/index.mjs +1 -1
  271. package/dist/Toast/index.js +1 -1
  272. package/dist/Toast/index.mjs +1 -1
  273. package/dist/ToggleSwitch/index.js +1 -1
  274. package/dist/ToggleSwitch/index.mjs +1 -1
  275. package/dist/TokenValidation/index.js +1 -1
  276. package/dist/TokenValidation/index.mjs +1 -1
  277. package/dist/Tooltip/index.js +1 -1
  278. package/dist/Tooltip/index.mjs +1 -1
  279. package/dist/TruncatedText/index.js +1 -1
  280. package/dist/TruncatedText/index.mjs +1 -1
  281. package/dist/TypeSelector/index.js +1 -1
  282. package/dist/TypeSelector/index.mjs +1 -1
  283. package/dist/UnifiedDraftModelPage/index.js +19 -19
  284. package/dist/UnifiedDraftModelPage/index.mjs +18 -18
  285. package/dist/UnifiedHistoryPage/index.js +19 -19
  286. package/dist/UnifiedHistoryPage/index.mjs +18 -18
  287. package/dist/VerticalBarChart/index.js +1 -1
  288. package/dist/VerticalBarChart/index.mjs +1 -1
  289. package/dist/VideoPlayer/index.js +1 -1
  290. package/dist/VideoPlayer/index.mjs +1 -1
  291. package/dist/Whiteboard/index.js +1 -1
  292. package/dist/Whiteboard/index.mjs +1 -1
  293. package/dist/{chunk-JBAGQ7L5.js → chunk-3VG5MEMY.js} +14 -13
  294. package/dist/chunk-3VG5MEMY.js.map +1 -0
  295. package/dist/{chunk-ED23HOE6.mjs → chunk-5NIU4XJY.mjs} +7 -6
  296. package/dist/chunk-5NIU4XJY.mjs.map +1 -0
  297. package/dist/{chunk-DDZDNGBU.mjs → chunk-64WGFT5E.mjs} +3 -1
  298. package/dist/chunk-64WGFT5E.mjs.map +1 -0
  299. package/dist/{chunk-QN32O3J3.js → chunk-6MK23BTK.js} +62 -62
  300. package/dist/{chunk-QN32O3J3.js.map → chunk-6MK23BTK.js.map} +1 -1
  301. package/dist/{chunk-XX4WE4TL.js → chunk-726PIA5M.js} +1 -1
  302. package/dist/chunk-726PIA5M.js.map +1 -0
  303. package/dist/{chunk-VZJKHIHN.mjs → chunk-7KALNPIG.mjs} +4 -4
  304. package/dist/{chunk-NQNEG4KR.mjs → chunk-7VKFZHWP.mjs} +11 -10
  305. package/dist/chunk-7VKFZHWP.mjs.map +1 -0
  306. package/dist/{chunk-GYQUB3VW.js → chunk-BBFV3NDF.js} +8 -6
  307. package/dist/chunk-BBFV3NDF.js.map +1 -0
  308. package/dist/{chunk-I3Z2BHGN.js → chunk-BJHYT75K.js} +3 -3
  309. package/dist/{chunk-I3Z2BHGN.js.map → chunk-BJHYT75K.js.map} +1 -1
  310. package/dist/{chunk-CFTQ24UT.mjs → chunk-CMYBNZ74.mjs} +2 -2
  311. package/dist/{chunk-R7NS5KFE.mjs → chunk-CWUNF7U6.mjs} +3 -3
  312. package/dist/{chunk-NAOHJW6H.mjs → chunk-DLHV7CZN.mjs} +6 -6
  313. package/dist/{chunk-7EXSCXPK.mjs → chunk-DMYETMZG.mjs} +2 -2
  314. package/dist/{chunk-RQPSA4QV.js → chunk-GQUTHDV2.js} +3 -3
  315. package/dist/{chunk-RQPSA4QV.js.map → chunk-GQUTHDV2.js.map} +1 -1
  316. package/dist/{chunk-OZWPOXVU.mjs → chunk-GVGDUCVF.mjs} +2 -2
  317. package/dist/{chunk-QFWY46XU.js → chunk-IMDS5NQL.js} +16 -16
  318. package/dist/{chunk-QFWY46XU.js.map → chunk-IMDS5NQL.js.map} +1 -1
  319. package/dist/{chunk-KYGFYAU7.js → chunk-JHN35HPH.js} +3 -3
  320. package/dist/{chunk-KYGFYAU7.js.map → chunk-JHN35HPH.js.map} +1 -1
  321. package/dist/{chunk-DMZTDCUF.js → chunk-JPQI2RIV.js} +3 -3
  322. package/dist/{chunk-DMZTDCUF.js.map → chunk-JPQI2RIV.js.map} +1 -1
  323. package/dist/{chunk-LXX5KU3O.mjs → chunk-LMDAF6LA.mjs} +2 -2
  324. package/dist/{chunk-FL4W4S6J.mjs → chunk-MOSP7FR5.mjs} +1 -1
  325. package/dist/chunk-MOSP7FR5.mjs.map +1 -0
  326. package/dist/{chunk-HZXXADG4.js → chunk-NLPBW3SW.js} +44 -43
  327. package/dist/chunk-NLPBW3SW.js.map +1 -0
  328. package/dist/{chunk-TAABXGZL.mjs → chunk-O3JP6ZMQ.mjs} +2 -2
  329. package/dist/{chunk-MFO4S7T5.js → chunk-PJOBOBNJ.js} +3 -3
  330. package/dist/{chunk-MFO4S7T5.js.map → chunk-PJOBOBNJ.js.map} +1 -1
  331. package/dist/{chunk-CWGYVJTQ.mjs → chunk-PORNR2NU.mjs} +3 -3
  332. package/dist/chunk-QF3UKRIJ.js +33 -0
  333. package/dist/chunk-QF3UKRIJ.js.map +1 -0
  334. package/dist/chunk-RAHXO5YU.mjs +33 -0
  335. package/dist/chunk-RAHXO5YU.mjs.map +1 -0
  336. package/dist/{chunk-BTZANNVO.js → chunk-RQ65U5G2.js} +3 -3
  337. package/dist/{chunk-BTZANNVO.js.map → chunk-RQ65U5G2.js.map} +1 -1
  338. package/dist/{chunk-Q56I63FO.mjs → chunk-RVGLLMWG.mjs} +2 -2
  339. package/dist/{chunk-VVRRAF6H.js → chunk-S2S7TK3L.js} +49 -36
  340. package/dist/chunk-S2S7TK3L.js.map +1 -0
  341. package/dist/{chunk-INIH23HU.js → chunk-VF6QXUX3.js} +2 -2
  342. package/dist/{chunk-INIH23HU.js.map → chunk-VF6QXUX3.js.map} +1 -1
  343. package/dist/{chunk-QWC5GC2Q.mjs → chunk-WY7V5UJN.mjs} +2 -2
  344. package/dist/{chunk-OCKO7T7L.js → chunk-XQAYZBLL.js} +3 -3
  345. package/dist/{chunk-OCKO7T7L.js.map → chunk-XQAYZBLL.js.map} +1 -1
  346. package/dist/{chunk-ATGLKKXI.js → chunk-Y7ZBWTD7.js} +17 -17
  347. package/dist/{chunk-ATGLKKXI.js.map → chunk-Y7ZBWTD7.js.map} +1 -1
  348. package/dist/{chunk-7XWWI5EY.js → chunk-YFIB3YNQ.js} +11 -11
  349. package/dist/{chunk-7XWWI5EY.js.map → chunk-YFIB3YNQ.js.map} +1 -1
  350. package/dist/{chunk-UCWTF336.mjs → chunk-YWGJAB63.mjs} +2 -2
  351. package/dist/{chunk-4MPXVPBQ.mjs → chunk-YYHS2TM6.mjs} +43 -30
  352. package/dist/chunk-YYHS2TM6.mjs.map +1 -0
  353. package/dist/components/Quiz/Quiz.utils.d.ts +8 -0
  354. package/dist/components/Quiz/Quiz.utils.d.ts.map +1 -1
  355. package/dist/hooks/useAppContent/index.js +19 -19
  356. package/dist/hooks/useAppContent/index.mjs +18 -18
  357. package/dist/hooks/useComparator/index.js +1 -1
  358. package/dist/hooks/useComparator/index.mjs +1 -1
  359. package/dist/hooks/useDraftAutoSave/index.js +3 -3
  360. package/dist/hooks/useDraftAutoSave/index.mjs +2 -2
  361. package/dist/index.js +19 -19
  362. package/dist/index.mjs +18 -18
  363. package/dist/types/enemClassroom/index.d.ts +29 -2
  364. package/dist/types/enemClassroom/index.d.ts.map +1 -1
  365. package/dist/types/enemClassroom/index.js +4 -2
  366. package/dist/types/enemClassroom/index.js.map +1 -1
  367. package/dist/types/enemClassroom/index.mjs +3 -1
  368. package/dist/types/enemClassroom.d.ts +29 -2
  369. package/dist/types/enemClassroom.d.ts.map +1 -1
  370. package/dist/types/questionTypes/index.js +1 -1
  371. package/dist/types/questionTypes/index.mjs +1 -1
  372. package/dist/utils/index.js +1 -1
  373. package/dist/utils/index.mjs +1 -1
  374. package/dist/utils/renderSubjectCell/index.js +1 -1
  375. package/dist/utils/renderSubjectCell/index.mjs +1 -1
  376. package/dist/utils/renderTextCell/index.js +1 -1
  377. package/dist/utils/renderTextCell/index.mjs +1 -1
  378. package/package.json +1 -1
  379. package/dist/chunk-4MPXVPBQ.mjs.map +0 -1
  380. package/dist/chunk-DDZDNGBU.mjs.map +0 -1
  381. package/dist/chunk-ED23HOE6.mjs.map +0 -1
  382. package/dist/chunk-FL4W4S6J.mjs.map +0 -1
  383. package/dist/chunk-GYQUB3VW.js.map +0 -1
  384. package/dist/chunk-HZXXADG4.js.map +0 -1
  385. package/dist/chunk-JBAGQ7L5.js.map +0 -1
  386. package/dist/chunk-ND5M3DZA.mjs +0 -21
  387. package/dist/chunk-ND5M3DZA.mjs.map +0 -1
  388. package/dist/chunk-NQNEG4KR.mjs.map +0 -1
  389. package/dist/chunk-NYKBCQUO.js +0 -21
  390. package/dist/chunk-NYKBCQUO.js.map +0 -1
  391. package/dist/chunk-VVRRAF6H.js.map +0 -1
  392. package/dist/chunk-XX4WE4TL.js.map +0 -1
  393. /package/dist/{RichEditorCore-QZYPHNRY.mjs.map → RichEditorCore-TLAFZ5XG.mjs.map} +0 -0
  394. /package/dist/{chunk-VZJKHIHN.mjs.map → chunk-7KALNPIG.mjs.map} +0 -0
  395. /package/dist/{chunk-CFTQ24UT.mjs.map → chunk-CMYBNZ74.mjs.map} +0 -0
  396. /package/dist/{chunk-R7NS5KFE.mjs.map → chunk-CWUNF7U6.mjs.map} +0 -0
  397. /package/dist/{chunk-NAOHJW6H.mjs.map → chunk-DLHV7CZN.mjs.map} +0 -0
  398. /package/dist/{chunk-7EXSCXPK.mjs.map → chunk-DMYETMZG.mjs.map} +0 -0
  399. /package/dist/{chunk-OZWPOXVU.mjs.map → chunk-GVGDUCVF.mjs.map} +0 -0
  400. /package/dist/{chunk-LXX5KU3O.mjs.map → chunk-LMDAF6LA.mjs.map} +0 -0
  401. /package/dist/{chunk-TAABXGZL.mjs.map → chunk-O3JP6ZMQ.mjs.map} +0 -0
  402. /package/dist/{chunk-CWGYVJTQ.mjs.map → chunk-PORNR2NU.mjs.map} +0 -0
  403. /package/dist/{chunk-Q56I63FO.mjs.map → chunk-RVGLLMWG.mjs.map} +0 -0
  404. /package/dist/{chunk-QWC5GC2Q.mjs.map → chunk-WY7V5UJN.mjs.map} +0 -0
  405. /package/dist/{chunk-UCWTF336.mjs.map → chunk-YWGJAB63.mjs.map} +0 -0
@@ -88,7 +88,7 @@ import {
88
88
  shouldUpdateUrl,
89
89
  shouldUseCustomAddActivityCallback,
90
90
  validateSendActivityResponses
91
- } from "./chunk-UCWTF336.mjs";
91
+ } from "./chunk-YWGJAB63.mjs";
92
92
  import {
93
93
  useQuestionFiltersStore
94
94
  } from "./chunk-HL7UCODK.mjs";
@@ -112,7 +112,7 @@ import {
112
112
  } from "./chunk-WJQCWDGQ.mjs";
113
113
  import {
114
114
  SimulationsDetailModal
115
- } from "./chunk-CWGYVJTQ.mjs";
115
+ } from "./chunk-PORNR2NU.mjs";
116
116
  import {
117
117
  createUseSimulations
118
118
  } from "./chunk-MHRJKJBN.mjs";
@@ -210,10 +210,10 @@ import {
210
210
  import {
211
211
  CorrectActivityModal_default,
212
212
  renderFromMap
213
- } from "./chunk-VZJKHIHN.mjs";
213
+ } from "./chunk-7KALNPIG.mjs";
214
214
  import {
215
215
  convertApiResponseToCorrectionData
216
- } from "./chunk-7EXSCXPK.mjs";
216
+ } from "./chunk-DMYETMZG.mjs";
217
217
  import {
218
218
  AccordionGroup
219
219
  } from "./chunk-ILCBSWZF.mjs";
@@ -225,7 +225,7 @@ import {
225
225
  } from "./chunk-L2YGLO5B.mjs";
226
226
  import {
227
227
  prependLetterToHtml
228
- } from "./chunk-DDZDNGBU.mjs";
228
+ } from "./chunk-64WGFT5E.mjs";
229
229
  import {
230
230
  highlightSearchTerm,
231
231
  normalizeText,
@@ -20668,4 +20668,4 @@ export {
20668
20668
  ExamDetailsPage,
20669
20669
  ExamDetailsPage_default
20670
20670
  };
20671
- //# sourceMappingURL=chunk-NAOHJW6H.mjs.map
20671
+ //# sourceMappingURL=chunk-DLHV7CZN.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getStatusStyles
3
- } from "./chunk-R7NS5KFE.mjs";
3
+ } from "./chunk-CWUNF7U6.mjs";
4
4
  import {
5
5
  stripHtmlTags
6
6
  } from "./chunk-YVX5YDST.mjs";
@@ -425,4 +425,4 @@ export {
425
425
  FillQuestionContent,
426
426
  TrueFalseStatementList
427
427
  };
428
- //# sourceMappingURL=chunk-7EXSCXPK.mjs.map
428
+ //# sourceMappingURL=chunk-DMYETMZG.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkXX4WE4TLjs = require('./chunk-XX4WE4TL.js');
3
+ var _chunk726PIA5Mjs = require('./chunk-726PIA5M.js');
4
4
 
5
5
  // src/hooks/useDraftAutoSave.ts
6
6
  var _react = require('react');
@@ -9,7 +9,7 @@ function useDraftAutoSave({
9
9
  enabled,
10
10
  endpoint = "/activities/{activityId}/draft"
11
11
  }) {
12
- const { setDraftApiClient, saveDraft } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
12
+ const { setDraftApiClient, saveDraft } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
13
13
  const draftApiClient = _react.useMemo.call(void 0,
14
14
  () => ({
15
15
  saveDraft: async (activityId, payload) => {
@@ -65,4 +65,4 @@ function isActivityGone(error) {
65
65
 
66
66
 
67
67
  exports.useDraftAutoSave = useDraftAutoSave;
68
- //# sourceMappingURL=chunk-RQPSA4QV.js.map
68
+ //# sourceMappingURL=chunk-GQUTHDV2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-RQPSA4QV.js","../src/hooks/useDraftAutoSave.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACJA,8BAAmC;AA8C5B,SAAS,gBAAA,CAAiB;AAAA,EAC/B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,EAAW;AACb,CAAA,EAAkC;AAChC,EAAA,MAAM,EAAE,iBAAA,EAAmB,UAAU,EAAA,EAAI,2CAAA,CAAa;AAGtD,EAAA,MAAM,eAAA,EAAiC,4BAAA;AAAA,IACrC,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,SAAA,EAAW,MAAA,CAAO,UAAA,EAAoB,OAAA,EAAA,GAA8B;AAClE,QAAA,MAAM,IAAA,EAAM,QAAA,CAAS,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAA;AAEvD,QAAA,IAAI;AACF,UAAA,MAAM,SAAA,CAAU,IAAA,CAAK,GAAA,EAAK,OAAO,CAAA;AACjC,UAAA,OAAO,EAAE,OAAA,EAAS,KAAK,CAAA;AAAA,QACzB,EAAA,MAAA,CAAS,KAAA,EAAO;AAKd,UAAA,GAAA,CAAI,cAAA,CAAe,KAAK,CAAA,EAAG;AACzB,YAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,YAAA,EAAc,KAAK,CAAA;AAAA,UAC9C;AACA,UAAA,MAAM,KAAA;AAAA,QACR;AAAA,MACF,CAAA;AAAA,MACA,SAAA,EAAW,MAAA,CAAO,UAAA,EAAA,GAAuB;AACvC,QAAA,MAAM,IAAA,EAAM,QAAA,CAAS,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAA;AACvD,QAAA,MAAM,SAAA,EAAW,MAAM,SAAA,CAAU,GAAA,CAE9B,GAAG,CAAA;AACN,QAAA,MAAM,KAAA,kBAAO,QAAA,mBAAS,IAAA,6BAAM,MAAA;AAC5B,QAAA,OAAO,KAAA,EACH;AAAA,UACE,QAAA,EAAU,IAAA,CAAK,QAAA;AAAA,UACf,OAAA,EAAS,IAAA,CAAK,QAAA,GAAW,CAAC;AAAA,QAC5B,EAAA,EACA,IAAA;AAAA,MACN;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,QAAQ;AAAA,EACtB,CAAA;AAGA,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,iBAAA,CAAkB,cAAc,CAAA;AAAA,IAClC,EAAA,KAAO;AACL,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB;AAEA,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,cAAA,EAAgB,iBAAiB,CAAC,CAAA;AAG/C,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,CAAC,OAAA,EAAS,MAAA;AAEd,IAAA,MAAM,uBAAA,EAAyB,CAAA,EAAA,GAAM;AACnC,MAAA,GAAA,CAAI,QAAA,CAAS,gBAAA,IAAoB,QAAA,EAAU;AACzC,QAAA,SAAA,CAAU,CAAA;AAAA,MACZ;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,kBAAA,EAAoB,sBAAsB,CAAA;AACpE,IAAA,OAAO,CAAA,EAAA,GACL,QAAA,CAAS,mBAAA,CAAoB,kBAAA,EAAoB,sBAAsB,CAAA;AAAA,EAC3E,CAAA,EAAG,CAAC,OAAA,EAAS,SAAS,CAAC,CAAA;AACzB;AAYA,SAAS,cAAA,CAAe,KAAA,EAAyB;AAC/C,EAAA,MAAM,OAAA,kBAAU,KAAA,6BAA8C,QAAA,6BAC1D,QAAA;AACJ,EAAA,OAAO,OAAA,IAAW,GAAA;AACpB;ADtEA;AACA;AACE;AACF,4CAAC","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-RQPSA4QV.js","sourcesContent":[null,"import { useEffect, useMemo } from 'react';\nimport {\n useQuizStore,\n DraftApiClient,\n DraftAnswerItem,\n SaveDraftPayload,\n} from '../components/Quiz/useQuizStore';\n\n/**\n * API client interface that the hook accepts\n * Compatible with axios-like clients\n */\nexport interface ApiClient {\n post: <T = unknown>(url: string, data?: unknown) => Promise<{ data: T }>;\n get: <T = unknown>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * Options for the useDraftAutoSave hook\n */\nexport interface UseDraftAutoSaveOptions {\n /** The API client (axios instance or similar) */\n apiClient: ApiClient;\n /** Whether draft auto-save is enabled (typically true for ATIVIDADE, false for SIMULADO) */\n enabled: boolean;\n /** Optional: custom endpoint pattern. Default: '/activities/{activityId}/draft' */\n endpoint?: string;\n}\n\n/**\n * Hook that sets up automatic draft saving for the quiz.\n *\n * Features:\n * - Saves draft when navigating between questions (Avançar/Voltar)\n * - Saves draft when page visibility changes (tab switch, minimize)\n * - Loads and applies existing drafts when quiz starts\n *\n * @example\n * ```tsx\n * // In your QuizWrapper component:\n * useDraftAutoSave({\n * apiClient: api, // your axios instance\n * enabled: quizType === QUIZ_TYPE.ATIVIDADE,\n * });\n * ```\n */\nexport function useDraftAutoSave({\n apiClient,\n enabled,\n endpoint = '/activities/{activityId}/draft',\n}: UseDraftAutoSaveOptions): void {\n const { setDraftApiClient, saveDraft } = useQuizStore();\n\n // Create draft API client\n const draftApiClient: DraftApiClient = useMemo(\n () => ({\n saveDraft: async (activityId: string, payload: SaveDraftPayload) => {\n const url = endpoint.replace('{activityId}', activityId);\n\n try {\n await apiClient.post(url, payload);\n return { success: true };\n } catch (error) {\n // 404 means the activity was deleted while the student still had it\n // open — a regenerated questionnaire drops the old one. Retrying can\n // never succeed, so tell the store to stop instead of letting every\n // navigation resend the same payload.\n if (isActivityGone(error)) {\n return { success: false, activityGone: true };\n }\n throw error;\n }\n },\n loadDraft: async (activityId: string) => {\n const url = endpoint.replace('{activityId}', activityId);\n const response = await apiClient.get<{\n data?: { hasDraft: boolean; answers: DraftAnswerItem[] };\n }>(url);\n const data = response.data?.data;\n return data\n ? {\n hasDraft: data.hasDraft,\n answers: data.answers || [],\n }\n : null;\n },\n }),\n [apiClient, endpoint]\n );\n\n // Configure draft API client based on enabled state\n useEffect(() => {\n if (enabled) {\n setDraftApiClient(draftApiClient);\n } else {\n setDraftApiClient(null);\n }\n\n return () => {\n setDraftApiClient(null);\n };\n }, [enabled, draftApiClient, setDraftApiClient]);\n\n // Save draft when page visibility changes\n useEffect(() => {\n if (!enabled) return;\n\n const handleVisibilityChange = () => {\n if (document.visibilityState === 'hidden') {\n saveDraft();\n }\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n return () =>\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n }, [enabled, saveDraft]);\n}\n\n/**\n * Whether a failed draft save means the activity itself is gone\n *\n * The backend answers 404 once the activity no longer exists. Anything else —\n * a network blip, a 500 — is transient and must stay retryable, so only this\n * one status stops the autosave.\n *\n * @param error - Rejection from the API client\n * @returns True when the server reported the activity as missing\n */\nfunction isActivityGone(error: unknown): boolean {\n const status = (error as { response?: { status?: number } })?.response\n ?.status;\n return status === 404;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-GQUTHDV2.js","../src/hooks/useDraftAutoSave.ts"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACJA,8BAAmC;AA8C5B,SAAS,gBAAA,CAAiB;AAAA,EAC/B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,EAAW;AACb,CAAA,EAAkC;AAChC,EAAA,MAAM,EAAE,iBAAA,EAAmB,UAAU,EAAA,EAAI,2CAAA,CAAa;AAGtD,EAAA,MAAM,eAAA,EAAiC,4BAAA;AAAA,IACrC,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,SAAA,EAAW,MAAA,CAAO,UAAA,EAAoB,OAAA,EAAA,GAA8B;AAClE,QAAA,MAAM,IAAA,EAAM,QAAA,CAAS,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAA;AAEvD,QAAA,IAAI;AACF,UAAA,MAAM,SAAA,CAAU,IAAA,CAAK,GAAA,EAAK,OAAO,CAAA;AACjC,UAAA,OAAO,EAAE,OAAA,EAAS,KAAK,CAAA;AAAA,QACzB,EAAA,MAAA,CAAS,KAAA,EAAO;AAKd,UAAA,GAAA,CAAI,cAAA,CAAe,KAAK,CAAA,EAAG;AACzB,YAAA,OAAO,EAAE,OAAA,EAAS,KAAA,EAAO,YAAA,EAAc,KAAK,CAAA;AAAA,UAC9C;AACA,UAAA,MAAM,KAAA;AAAA,QACR;AAAA,MACF,CAAA;AAAA,MACA,SAAA,EAAW,MAAA,CAAO,UAAA,EAAA,GAAuB;AACvC,QAAA,MAAM,IAAA,EAAM,QAAA,CAAS,OAAA,CAAQ,cAAA,EAAgB,UAAU,CAAA;AACvD,QAAA,MAAM,SAAA,EAAW,MAAM,SAAA,CAAU,GAAA,CAE9B,GAAG,CAAA;AACN,QAAA,MAAM,KAAA,kBAAO,QAAA,mBAAS,IAAA,6BAAM,MAAA;AAC5B,QAAA,OAAO,KAAA,EACH;AAAA,UACE,QAAA,EAAU,IAAA,CAAK,QAAA;AAAA,UACf,OAAA,EAAS,IAAA,CAAK,QAAA,GAAW,CAAC;AAAA,QAC5B,EAAA,EACA,IAAA;AAAA,MACN;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,QAAQ;AAAA,EACtB,CAAA;AAGA,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,OAAA,EAAS;AACX,MAAA,iBAAA,CAAkB,cAAc,CAAA;AAAA,IAClC,EAAA,KAAO;AACL,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB;AAEA,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,iBAAA,CAAkB,IAAI,CAAA;AAAA,IACxB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,cAAA,EAAgB,iBAAiB,CAAC,CAAA;AAG/C,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,CAAC,OAAA,EAAS,MAAA;AAEd,IAAA,MAAM,uBAAA,EAAyB,CAAA,EAAA,GAAM;AACnC,MAAA,GAAA,CAAI,QAAA,CAAS,gBAAA,IAAoB,QAAA,EAAU;AACzC,QAAA,SAAA,CAAU,CAAA;AAAA,MACZ;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,kBAAA,EAAoB,sBAAsB,CAAA;AACpE,IAAA,OAAO,CAAA,EAAA,GACL,QAAA,CAAS,mBAAA,CAAoB,kBAAA,EAAoB,sBAAsB,CAAA;AAAA,EAC3E,CAAA,EAAG,CAAC,OAAA,EAAS,SAAS,CAAC,CAAA;AACzB;AAYA,SAAS,cAAA,CAAe,KAAA,EAAyB;AAC/C,EAAA,MAAM,OAAA,kBAAU,KAAA,6BAA8C,QAAA,6BAC1D,QAAA;AACJ,EAAA,OAAO,OAAA,IAAW,GAAA;AACpB;ADtEA;AACA;AACE;AACF,4CAAC","file":"/home/runner/work/analytica-frontend-lib/analytica-frontend-lib/dist/chunk-GQUTHDV2.js","sourcesContent":[null,"import { useEffect, useMemo } from 'react';\nimport {\n useQuizStore,\n DraftApiClient,\n DraftAnswerItem,\n SaveDraftPayload,\n} from '../components/Quiz/useQuizStore';\n\n/**\n * API client interface that the hook accepts\n * Compatible with axios-like clients\n */\nexport interface ApiClient {\n post: <T = unknown>(url: string, data?: unknown) => Promise<{ data: T }>;\n get: <T = unknown>(url: string) => Promise<{ data: T }>;\n}\n\n/**\n * Options for the useDraftAutoSave hook\n */\nexport interface UseDraftAutoSaveOptions {\n /** The API client (axios instance or similar) */\n apiClient: ApiClient;\n /** Whether draft auto-save is enabled (typically true for ATIVIDADE, false for SIMULADO) */\n enabled: boolean;\n /** Optional: custom endpoint pattern. Default: '/activities/{activityId}/draft' */\n endpoint?: string;\n}\n\n/**\n * Hook that sets up automatic draft saving for the quiz.\n *\n * Features:\n * - Saves draft when navigating between questions (Avançar/Voltar)\n * - Saves draft when page visibility changes (tab switch, minimize)\n * - Loads and applies existing drafts when quiz starts\n *\n * @example\n * ```tsx\n * // In your QuizWrapper component:\n * useDraftAutoSave({\n * apiClient: api, // your axios instance\n * enabled: quizType === QUIZ_TYPE.ATIVIDADE,\n * });\n * ```\n */\nexport function useDraftAutoSave({\n apiClient,\n enabled,\n endpoint = '/activities/{activityId}/draft',\n}: UseDraftAutoSaveOptions): void {\n const { setDraftApiClient, saveDraft } = useQuizStore();\n\n // Create draft API client\n const draftApiClient: DraftApiClient = useMemo(\n () => ({\n saveDraft: async (activityId: string, payload: SaveDraftPayload) => {\n const url = endpoint.replace('{activityId}', activityId);\n\n try {\n await apiClient.post(url, payload);\n return { success: true };\n } catch (error) {\n // 404 means the activity was deleted while the student still had it\n // open — a regenerated questionnaire drops the old one. Retrying can\n // never succeed, so tell the store to stop instead of letting every\n // navigation resend the same payload.\n if (isActivityGone(error)) {\n return { success: false, activityGone: true };\n }\n throw error;\n }\n },\n loadDraft: async (activityId: string) => {\n const url = endpoint.replace('{activityId}', activityId);\n const response = await apiClient.get<{\n data?: { hasDraft: boolean; answers: DraftAnswerItem[] };\n }>(url);\n const data = response.data?.data;\n return data\n ? {\n hasDraft: data.hasDraft,\n answers: data.answers || [],\n }\n : null;\n },\n }),\n [apiClient, endpoint]\n );\n\n // Configure draft API client based on enabled state\n useEffect(() => {\n if (enabled) {\n setDraftApiClient(draftApiClient);\n } else {\n setDraftApiClient(null);\n }\n\n return () => {\n setDraftApiClient(null);\n };\n }, [enabled, draftApiClient, setDraftApiClient]);\n\n // Save draft when page visibility changes\n useEffect(() => {\n if (!enabled) return;\n\n const handleVisibilityChange = () => {\n if (document.visibilityState === 'hidden') {\n saveDraft();\n }\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n return () =>\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n }, [enabled, saveDraft]);\n}\n\n/**\n * Whether a failed draft save means the activity itself is gone\n *\n * The backend answers 404 once the activity no longer exists. Anything else —\n * a network blip, a 500 — is transient and must stay retryable, so only this\n * one status stops the autosave.\n *\n * @param error - Rejection from the API client\n * @returns True when the server reported the activity as missing\n */\nfunction isActivityGone(error: unknown): boolean {\n const status = (error as { response?: { status?: number } })?.response\n ?.status;\n return status === 404;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useQuizStore
3
- } from "./chunk-FL4W4S6J.mjs";
3
+ } from "./chunk-MOSP7FR5.mjs";
4
4
 
5
5
  // src/hooks/useDraftAutoSave.ts
6
6
  import { useEffect, useMemo } from "react";
@@ -65,4 +65,4 @@ function isActivityGone(error) {
65
65
  export {
66
66
  useDraftAutoSave
67
67
  };
68
- //# sourceMappingURL=chunk-OZWPOXVU.mjs.map
68
+ //# sourceMappingURL=chunk-GVGDUCVF.mjs.map
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkGYQUB3VWjs = require('./chunk-GYQUB3VW.js');
5
+ var _chunkBBFV3NDFjs = require('./chunk-BBFV3NDF.js');
6
6
 
7
7
 
8
8
  var _chunk4XUEJUISjs = require('./chunk-4XUEJUIS.js');
@@ -39,7 +39,7 @@ var _chunkANT66KVKjs = require('./chunk-ANT66KVK.js');
39
39
  var _chunkTN3AYOMVjs = require('./chunk-TN3AYOMV.js');
40
40
 
41
41
 
42
- var _chunkXX4WE4TLjs = require('./chunk-XX4WE4TL.js');
42
+ var _chunk726PIA5Mjs = require('./chunk-726PIA5M.js');
43
43
 
44
44
  // src/components/shared/ImageAnswerView.tsx
45
45
  var _jsxruntime = require('react/jsx-runtime');
@@ -291,7 +291,7 @@ var QuizAlternative = ({ paddingBottom }) => {
291
291
  getQuestionResultByQuestionId,
292
292
  getCurrentAnswer,
293
293
  variant
294
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
294
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
295
295
  const currentQuestion = getCurrentQuestion();
296
296
  const currentQuestionResult = getQuestionResultByQuestionId(
297
297
  _optionalChain([currentQuestion, 'optionalAccess', _9 => _9.id]) || ""
@@ -352,9 +352,9 @@ var QuizMultipleChoice = ({ paddingBottom }) => {
352
352
  selectMultipleAnswer,
353
353
  getQuestionResultByQuestionId,
354
354
  variant
355
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
355
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
356
356
  const currentQuestion = getCurrentQuestion();
357
- const userAnswers = _chunkXX4WE4TLjs.useQuizStore.call(void 0, (state) => state.userAnswers);
357
+ const userAnswers = _chunk726PIA5Mjs.useQuizStore.call(void 0, (state) => state.userAnswers);
358
358
  const allCurrentAnswers = _react.useMemo.call(void 0,
359
359
  () => currentQuestion ? userAnswers.filter(
360
360
  (answer) => answer.questionId === currentQuestion.id
@@ -467,7 +467,7 @@ var QuizDissertative = ({ paddingBottom }) => {
467
467
  getQuestionResultByQuestionId,
468
468
  variant,
469
469
  getDissertativeCharLimit
470
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
470
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
471
471
  const currentQuestion = getCurrentQuestion();
472
472
  const currentQuestionResult = getQuestionResultByQuestionId(
473
473
  _optionalChain([currentQuestion, 'optionalAccess', _55 => _55.id]) || ""
@@ -531,7 +531,7 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
531
531
  selectDissertativeAnswer,
532
532
  getQuestionResultByQuestionId,
533
533
  getUserAnswerByQuestionId
534
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
534
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
535
535
  const currentQuestion = getCurrentQuestion();
536
536
  const currentAnswer = getCurrentAnswer();
537
537
  const currentQuestionResult = getQuestionResultByQuestionId(
@@ -591,13 +591,13 @@ var QuizTrueOrFalse = ({ paddingBottom }) => {
591
591
  correctAnswer,
592
592
  isStudentCorrect,
593
593
  variantCorrect
594
- } = _chunkGYQUB3VWjs.getTrueOrFalseOptionState.call(void 0,
594
+ } = _chunkBBFV3NDFjs.getTrueOrFalseOptionState.call(void 0,
595
595
  option.id,
596
596
  variant,
597
597
  currentQuestionResult,
598
598
  localAnswers
599
599
  );
600
- const contentWithLetter = _chunkGYQUB3VWjs.prependLetterToHtml.call(void 0,
600
+ const contentWithLetter = _chunkBBFV3NDFjs.prependLetterToHtml.call(void 0,
601
601
  getLetterByIndex(index),
602
602
  option.option
603
603
  );
@@ -667,7 +667,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
667
667
  selectDissertativeAnswer,
668
668
  getQuestionResultByQuestionId,
669
669
  getUserAnswerByQuestionId
670
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
670
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
671
671
  const currentQuestion = getCurrentQuestion();
672
672
  const currentQuestionResult = getQuestionResultByQuestionId(
673
673
  _optionalChain([currentQuestion, 'optionalAccess', _73 => _73.id]) || ""
@@ -679,7 +679,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
679
679
  }, [_optionalChain([currentQuestion, 'optionalAccess', _75 => _75.options])]);
680
680
  const dotsOptions = _react.useMemo.call(void 0, () => {
681
681
  const dots = questionOptions.map((opt) => ({ label: opt.correctValue || "" })).filter((opt) => opt.label !== "");
682
- return _chunkGYQUB3VWjs.shuffleWithSeed.call(void 0, dots, _optionalChain([currentQuestion, 'optionalAccess', _76 => _76.id]) || "");
682
+ return _chunkBBFV3NDFjs.shuffleWithSeed.call(void 0, dots, _optionalChain([currentQuestion, 'optionalAccess', _76 => _76.id]) || "");
683
683
  }, [questionOptions, _optionalChain([currentQuestion, 'optionalAccess', _77 => _77.id])]);
684
684
  const options = _react.useMemo.call(void 0, () => {
685
685
  return questionOptions.map((opt) => ({
@@ -782,7 +782,7 @@ var QuizConnectDots = ({ paddingBottom }) => {
782
782
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
783
783
  _chunk5W7C4GZVjs.HtmlMathRenderer_default,
784
784
  {
785
- content: _chunkGYQUB3VWjs.prependLetterToHtml.call(void 0,
785
+ content: _chunkBBFV3NDFjs.prependLetterToHtml.call(void 0,
786
786
  getLetterByIndex(index),
787
787
  option.label
788
788
  ),
@@ -845,7 +845,7 @@ var QuizFill = ({ paddingBottom }) => {
845
845
  selectDissertativeAnswer,
846
846
  variant,
847
847
  getUserAnswerByQuestionId
848
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
848
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
849
849
  const currentQuestion = getCurrentQuestion();
850
850
  const currentQuestionResult = getQuestionResultByQuestionId(
851
851
  _optionalChain([currentQuestion, 'optionalAccess', _85 => _85.id]) || ""
@@ -855,7 +855,7 @@ var QuizFill = ({ paddingBottom }) => {
855
855
  const additionalContent = variant === "result" /* RESULT */ ? _optionalChain([currentQuestionResult, 'optionalAccess', _86 => _86.additionalContent]) || _optionalChain([currentQuestion, 'optionalAccess', _87 => _87.additionalContent]) || "" : _optionalChain([currentQuestion, 'optionalAccess', _88 => _88.additionalContent]) || "";
856
856
  const questionOptions = variant === "result" /* RESULT */ ? _optionalChain([currentQuestionResult, 'optionalAccess', _89 => _89.options]) || _optionalChain([currentQuestion, 'optionalAccess', _90 => _90.options]) || [] : _optionalChain([currentQuestion, 'optionalAccess', _91 => _91.options]) || [];
857
857
  const shuffledOptions = _react.useMemo.call(void 0, () => {
858
- return _chunkGYQUB3VWjs.shuffleWithSeed.call(void 0, questionOptions, _optionalChain([currentQuestion, 'optionalAccess', _92 => _92.id]) || "");
858
+ return _chunkBBFV3NDFjs.shuffleWithSeed.call(void 0, questionOptions, _optionalChain([currentQuestion, 'optionalAccess', _92 => _92.id]) || "");
859
859
  }, [questionOptions, _optionalChain([currentQuestion, 'optionalAccess', _93 => _93.id])]);
860
860
  const parsedAnswers = _react.useMemo.call(void 0, () => {
861
861
  if (variant === "result" /* RESULT */ && _optionalChain([currentQuestionResult, 'optionalAccess', _94 => _94.fillAnswers])) {
@@ -1096,7 +1096,7 @@ var QuizImageQuestion = ({ paddingBottom }) => {
1096
1096
  getCurrentAnswer,
1097
1097
  selectDissertativeAnswer,
1098
1098
  getQuestionResultByQuestionId
1099
- } = _chunkXX4WE4TLjs.useQuizStore.call(void 0, );
1099
+ } = _chunk726PIA5Mjs.useQuizStore.call(void 0, );
1100
1100
  const currentQuestion = getCurrentQuestion();
1101
1101
  const currentAnswer = getCurrentAnswer();
1102
1102
  const currentQuestionResult = getQuestionResultByQuestionId(
@@ -1278,4 +1278,4 @@ var QuizImageQuestion = ({ paddingBottom }) => {
1278
1278
 
1279
1279
 
1280
1280
  exports.ImageAnswerView = ImageAnswerView; exports.DEFAULT_IMAGE_TOLERANCE = DEFAULT_IMAGE_TOLERANCE; exports.parseImageCorrectPoint = parseImageCorrectPoint; exports.parseImageStudentPoint = parseImageStudentPoint; exports.getStatusBadge = getStatusBadge; exports.getStatusStyles = getStatusStyles; exports.QuizAlternative = QuizAlternative; exports.QuizMultipleChoice = QuizMultipleChoice; exports.QuizDissertative = QuizDissertative; exports.QuizTrueOrFalse = QuizTrueOrFalse; exports.QuizConnectDots = QuizConnectDots; exports.QuizFill = QuizFill; exports.QuizImageQuestion = QuizImageQuestion;
1281
- //# sourceMappingURL=chunk-QFWY46XU.js.map
1281
+ //# sourceMappingURL=chunk-IMDS5NQL.js.map