analytica-frontend-lib 1.2.24 → 1.2.28

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 (446) hide show
  1. package/dist/Accordation/index.d.ts +4 -5
  2. package/dist/Accordation/index.d.ts.map +1 -0
  3. package/dist/Accordation/index.js.map +1 -1
  4. package/dist/Accordation/index.mjs.map +1 -1
  5. package/dist/ActivityDetails/index.css +19293 -0
  6. package/dist/ActivityDetails/index.css.map +1 -0
  7. package/dist/ActivityDetails/index.d.ts +31 -0
  8. package/dist/ActivityDetails/index.d.ts.map +1 -0
  9. package/dist/ActivityDetails/index.js +7359 -0
  10. package/dist/ActivityDetails/index.js.map +1 -0
  11. package/dist/ActivityDetails/index.mjs +7408 -0
  12. package/dist/ActivityDetails/index.mjs.map +1 -0
  13. package/dist/ActivityFilters/index.css +19293 -0
  14. package/dist/ActivityFilters/index.css.map +1 -0
  15. package/dist/ActivityFilters/index.d.ts +44 -0
  16. package/dist/ActivityFilters/index.d.ts.map +1 -0
  17. package/dist/ActivityFilters/index.js +4906 -0
  18. package/dist/ActivityFilters/index.js.map +1 -0
  19. package/dist/ActivityFilters/index.mjs +4921 -0
  20. package/dist/ActivityFilters/index.mjs.map +1 -0
  21. package/dist/Alert/index.d.ts +3 -5
  22. package/dist/Alert/index.d.ts.map +1 -0
  23. package/dist/Alert/index.js.map +1 -1
  24. package/dist/Alert/index.mjs.map +1 -1
  25. package/dist/AlertDialog/index.d.ts +2 -4
  26. package/dist/AlertDialog/index.d.ts.map +1 -0
  27. package/dist/AlertDialog/index.js.map +1 -1
  28. package/dist/AlertDialog/index.mjs.map +1 -1
  29. package/dist/AlertManager/index.css +127 -0
  30. package/dist/AlertManager/index.css.map +1 -1
  31. package/dist/AlertManager/index.d.ts +4 -8
  32. package/dist/AlertManager/index.d.ts.map +1 -0
  33. package/dist/AlertManager/index.js +23 -19
  34. package/dist/AlertManager/index.js.map +1 -1
  35. package/dist/AlertManager/index.mjs +45 -41
  36. package/dist/AlertManager/index.mjs.map +1 -1
  37. package/dist/AlertManagerView/index.d.ts +6 -10
  38. package/dist/AlertManagerView/index.d.ts.map +1 -0
  39. package/dist/AlertManagerView/index.js.map +1 -1
  40. package/dist/AlertManagerView/index.mjs.map +1 -1
  41. package/dist/Alternative/index.d.ts +6 -9
  42. package/dist/Alternative/index.d.ts.map +1 -0
  43. package/dist/Alternative/index.js.map +1 -1
  44. package/dist/Alternative/index.mjs.map +1 -1
  45. package/dist/Auth/AuthProvider/index.d.ts +324 -3
  46. package/dist/Auth/AuthProvider/index.d.ts.map +1 -0
  47. package/dist/Auth/ProtectedRoute/index.d.ts +324 -3
  48. package/dist/Auth/ProtectedRoute/index.d.ts.map +1 -0
  49. package/dist/Auth/PublicRoute/index.d.ts +324 -3
  50. package/dist/Auth/PublicRoute/index.d.ts.map +1 -0
  51. package/dist/Auth/getRootDomain/index.d.ts +324 -3
  52. package/dist/Auth/getRootDomain/index.d.ts.map +1 -0
  53. package/dist/Auth/index.d.ts +24 -26
  54. package/dist/Auth/index.d.ts.map +1 -0
  55. package/dist/Auth/useApiConfig/index.d.ts +3 -3
  56. package/dist/Auth/useApiConfig/index.d.ts.map +1 -0
  57. package/dist/Auth/useAuth/index.d.ts +324 -3
  58. package/dist/Auth/useAuth/index.d.ts.map +1 -0
  59. package/dist/Auth/useAuthGuard/index.d.ts +324 -3
  60. package/dist/Auth/useAuthGuard/index.d.ts.map +1 -0
  61. package/dist/Auth/useRouteAuth/index.d.ts +324 -3
  62. package/dist/Auth/useRouteAuth/index.d.ts.map +1 -0
  63. package/dist/Auth/useUrlAuthentication/index.d.ts +3 -4
  64. package/dist/Auth/useUrlAuthentication/index.d.ts.map +1 -0
  65. package/dist/Auth/withAuth/index.d.ts +324 -3
  66. package/dist/Auth/withAuth/index.d.ts.map +1 -0
  67. package/dist/Auth/zustandAuthAdapter/index.d.ts +2 -3
  68. package/dist/Auth/zustandAuthAdapter/index.d.ts.map +1 -0
  69. package/dist/Badge/index.d.ts +4 -6
  70. package/dist/Badge/index.d.ts.map +1 -0
  71. package/dist/Badge/index.js.map +1 -1
  72. package/dist/Badge/index.mjs.map +1 -1
  73. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.ts +5 -7
  74. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.ts.map +1 -0
  75. package/dist/BreadcrumbMenu/index.d.ts +4 -8
  76. package/dist/BreadcrumbMenu/index.d.ts.map +1 -0
  77. package/dist/BreadcrumbMenu/index.js.map +1 -1
  78. package/dist/BreadcrumbMenu/index.mjs.map +1 -1
  79. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.ts +7 -10
  80. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.ts.map +1 -0
  81. package/dist/BreadcrumbMenu/useUrlParams/index.d.ts +3 -4
  82. package/dist/BreadcrumbMenu/useUrlParams/index.d.ts.map +1 -0
  83. package/dist/Button/index.d.ts +4 -6
  84. package/dist/Button/index.d.ts.map +1 -0
  85. package/dist/Button/index.js.map +1 -1
  86. package/dist/Button/index.mjs.map +1 -1
  87. package/dist/Calendar/index.d.ts +9 -11
  88. package/dist/Calendar/index.d.ts.map +1 -0
  89. package/dist/Calendar/index.js.map +1 -1
  90. package/dist/Calendar/index.mjs.map +1 -1
  91. package/dist/Card/index.d.ts +17 -19
  92. package/dist/Card/index.d.ts.map +1 -0
  93. package/dist/Card/index.js.map +1 -1
  94. package/dist/Card/index.mjs.map +1 -1
  95. package/dist/CheckBox/index.d.ts +6 -8
  96. package/dist/CheckBox/index.d.ts.map +1 -0
  97. package/dist/CheckBox/index.js.map +1 -1
  98. package/dist/CheckBox/index.mjs.map +1 -1
  99. package/dist/Chips/index.d.ts +4 -6
  100. package/dist/Chips/index.d.ts.map +1 -0
  101. package/dist/Chips/index.js.map +1 -1
  102. package/dist/Chips/index.mjs.map +1 -1
  103. package/dist/CorrectActivityModal/index.d.ts +39 -0
  104. package/dist/CorrectActivityModal/index.d.ts.map +1 -0
  105. package/dist/CorrectActivityModal/index.js +3674 -0
  106. package/dist/CorrectActivityModal/index.js.map +1 -0
  107. package/dist/CorrectActivityModal/index.mjs +3689 -0
  108. package/dist/CorrectActivityModal/index.mjs.map +1 -0
  109. package/dist/Divider/index.d.ts +3 -5
  110. package/dist/Divider/index.d.ts.map +1 -0
  111. package/dist/Divider/index.js.map +1 -1
  112. package/dist/Divider/index.mjs.map +1 -1
  113. package/dist/DownloadButton/index.d.ts +5 -7
  114. package/dist/DownloadButton/index.d.ts.map +1 -0
  115. package/dist/DownloadButton/index.js.map +1 -1
  116. package/dist/DownloadButton/index.mjs.map +1 -1
  117. package/dist/DropdownMenu/index.d.ts +26 -28
  118. package/dist/DropdownMenu/index.d.ts.map +1 -0
  119. package/dist/DropdownMenu/index.js.map +1 -1
  120. package/dist/DropdownMenu/index.mjs.map +1 -1
  121. package/dist/EmptyState/index.d.ts +5 -7
  122. package/dist/EmptyState/index.d.ts.map +1 -0
  123. package/dist/EmptyState/index.js.map +1 -1
  124. package/dist/EmptyState/index.mjs.map +1 -1
  125. package/dist/FileAttachment/index.d.ts +72 -0
  126. package/dist/FileAttachment/index.d.ts.map +1 -0
  127. package/dist/FileAttachment/index.js +239 -0
  128. package/dist/FileAttachment/index.js.map +1 -0
  129. package/dist/FileAttachment/index.mjs +213 -0
  130. package/dist/FileAttachment/index.mjs.map +1 -0
  131. package/dist/IconButton/index.d.ts +6 -8
  132. package/dist/IconButton/index.d.ts.map +1 -0
  133. package/dist/IconButton/index.js.map +1 -1
  134. package/dist/IconButton/index.mjs.map +1 -1
  135. package/dist/IconRender/index.d.ts +5 -6
  136. package/dist/IconRender/index.d.ts.map +1 -0
  137. package/dist/IconRoundedButton/index.d.ts +4 -6
  138. package/dist/IconRoundedButton/index.d.ts.map +1 -0
  139. package/dist/IconRoundedButton/index.js.map +1 -1
  140. package/dist/IconRoundedButton/index.mjs.map +1 -1
  141. package/dist/Input/index.d.ts +5 -7
  142. package/dist/Input/index.d.ts.map +1 -0
  143. package/dist/LatexRenderer/index.d.ts +5 -6
  144. package/dist/LatexRenderer/index.d.ts.map +1 -0
  145. package/dist/LatexRenderer/index.js.map +1 -1
  146. package/dist/LatexRenderer/index.mjs.map +1 -1
  147. package/dist/LoadingModal/index.d.ts +3 -5
  148. package/dist/LoadingModal/index.d.ts.map +1 -0
  149. package/dist/Menu/index.d.ts +12 -14
  150. package/dist/Menu/index.d.ts.map +1 -0
  151. package/dist/Menu/index.js.map +1 -1
  152. package/dist/Menu/index.mjs.map +1 -1
  153. package/dist/Modal/index.d.ts +3 -5
  154. package/dist/Modal/index.d.ts.map +1 -0
  155. package/dist/Modal/index.js.map +1 -1
  156. package/dist/Modal/index.mjs.map +1 -1
  157. package/dist/Modal/utils/videoUtils/index.d.ts +4 -5
  158. package/dist/Modal/utils/videoUtils/index.d.ts.map +1 -0
  159. package/dist/MultipleChoice/index.d.ts +2 -4
  160. package/dist/MultipleChoice/index.d.ts.map +1 -0
  161. package/dist/MultipleChoice/index.js.map +1 -1
  162. package/dist/MultipleChoice/index.mjs.map +1 -1
  163. package/dist/NavButton/index.d.ts +5 -7
  164. package/dist/NavButton/index.d.ts.map +1 -0
  165. package/dist/NavButton/index.js.map +1 -1
  166. package/dist/NavButton/index.mjs.map +1 -1
  167. package/dist/NoSearchResult/index.d.ts +4 -6
  168. package/dist/NoSearchResult/index.d.ts.map +1 -0
  169. package/dist/NoSearchResult/index.js.map +1 -1
  170. package/dist/NoSearchResult/index.mjs.map +1 -1
  171. package/dist/NotFound/index.d.ts +4 -6
  172. package/dist/NotFound/index.d.ts.map +1 -0
  173. package/dist/NotFound/index.js.map +1 -1
  174. package/dist/NotFound/index.mjs.map +1 -1
  175. package/dist/NotificationCard/index.d.ts +218 -3
  176. package/dist/NotificationCard/index.d.ts.map +1 -0
  177. package/dist/NotificationCard/index.js.map +1 -1
  178. package/dist/NotificationCard/index.mjs.map +1 -1
  179. package/dist/ProgressBar/index.d.ts +4 -6
  180. package/dist/ProgressBar/index.d.ts.map +1 -0
  181. package/dist/ProgressBar/index.js.map +1 -1
  182. package/dist/ProgressBar/index.mjs.map +1 -1
  183. package/dist/ProgressCircle/index.d.ts +4 -6
  184. package/dist/ProgressCircle/index.d.ts.map +1 -0
  185. package/dist/ProgressCircle/index.js.map +1 -1
  186. package/dist/ProgressCircle/index.mjs.map +1 -1
  187. package/dist/Quiz/index.d.ts +19 -23
  188. package/dist/Quiz/index.d.ts.map +1 -0
  189. package/dist/Quiz/index.js.map +1 -1
  190. package/dist/Quiz/index.mjs.map +1 -1
  191. package/dist/Quiz/useQuizStore/index.d.ts +14 -17
  192. package/dist/Quiz/useQuizStore/index.d.ts.map +1 -0
  193. package/dist/Radio/index.d.ts +14 -15
  194. package/dist/Radio/index.d.ts.map +1 -0
  195. package/dist/Radio/index.js.map +1 -1
  196. package/dist/Radio/index.mjs.map +1 -1
  197. package/dist/Search/index.d.ts +4 -6
  198. package/dist/Search/index.d.ts.map +1 -0
  199. package/dist/Search/index.js.map +1 -1
  200. package/dist/Search/index.mjs.map +1 -1
  201. package/dist/Select/index.d.ts +12 -14
  202. package/dist/Select/index.d.ts.map +1 -0
  203. package/dist/Select/index.js.map +1 -1
  204. package/dist/Select/index.mjs.map +1 -1
  205. package/dist/SelectionButton/index.d.ts +5 -7
  206. package/dist/SelectionButton/index.d.ts.map +1 -0
  207. package/dist/SelectionButton/index.js.map +1 -1
  208. package/dist/SelectionButton/index.mjs.map +1 -1
  209. package/dist/Skeleton/index.d.ts +10 -12
  210. package/dist/Skeleton/index.d.ts.map +1 -0
  211. package/dist/Skeleton/index.js.map +1 -1
  212. package/dist/Skeleton/index.mjs.map +1 -1
  213. package/dist/StatisticsCard/index.d.ts +3 -5
  214. package/dist/StatisticsCard/index.d.ts.map +1 -0
  215. package/dist/StatisticsCard/index.js.map +1 -1
  216. package/dist/StatisticsCard/index.mjs.map +1 -1
  217. package/dist/Stepper/index.d.ts +6 -8
  218. package/dist/Stepper/index.d.ts.map +1 -0
  219. package/dist/Stepper/index.js.map +1 -1
  220. package/dist/Stepper/index.mjs.map +1 -1
  221. package/dist/SubjectInfo/index.d.ts +17 -2
  222. package/dist/SubjectInfo/index.d.ts.map +1 -0
  223. package/dist/Support/TicketModal/index.d.ts +14 -0
  224. package/dist/Support/TicketModal/index.d.ts.map +1 -0
  225. package/dist/Support/TicketModal/index.js +1279 -0
  226. package/dist/Support/TicketModal/index.js.map +1 -0
  227. package/dist/Support/TicketModal/index.mjs +1248 -0
  228. package/dist/Support/TicketModal/index.mjs.map +1 -0
  229. package/dist/Support/index.d.ts +8 -0
  230. package/dist/Support/index.d.ts.map +1 -0
  231. package/dist/Support/index.js +2686 -0
  232. package/dist/Support/index.js.map +1 -0
  233. package/dist/Support/index.mjs +2676 -0
  234. package/dist/Support/index.mjs.map +1 -0
  235. package/dist/Table/TablePagination/index.d.ts +4 -6
  236. package/dist/Table/TablePagination/index.d.ts.map +1 -0
  237. package/dist/Table/TablePagination/index.js.map +1 -1
  238. package/dist/Table/TablePagination/index.mjs.map +1 -1
  239. package/dist/Table/index.d.ts +18 -19
  240. package/dist/Table/index.d.ts.map +1 -0
  241. package/dist/Table/index.js.map +1 -1
  242. package/dist/Table/index.mjs.map +1 -1
  243. package/dist/TableProvider/index.css +127 -0
  244. package/dist/TableProvider/index.css.map +1 -1
  245. package/dist/TableProvider/index.d.ts +198 -4
  246. package/dist/TableProvider/index.d.ts.map +1 -0
  247. package/dist/TableProvider/index.js +23 -19
  248. package/dist/TableProvider/index.js.map +1 -1
  249. package/dist/TableProvider/index.mjs +45 -41
  250. package/dist/TableProvider/index.mjs.map +1 -1
  251. package/dist/Text/index.d.ts +4 -6
  252. package/dist/Text/index.d.ts.map +1 -0
  253. package/dist/Text/index.js.map +1 -1
  254. package/dist/Text/index.mjs.map +1 -1
  255. package/dist/TextArea/index.d.ts +6 -8
  256. package/dist/TextArea/index.d.ts.map +1 -0
  257. package/dist/TextArea/index.js.map +1 -1
  258. package/dist/TextArea/index.mjs.map +1 -1
  259. package/dist/ThemeToggle/index.d.ts +4 -8
  260. package/dist/ThemeToggle/index.d.ts.map +1 -0
  261. package/dist/ThemeToggle/index.js.map +1 -1
  262. package/dist/ThemeToggle/index.mjs.map +1 -1
  263. package/dist/Toast/ToastStore/index.d.ts +3 -5
  264. package/dist/Toast/ToastStore/index.d.ts.map +1 -0
  265. package/dist/Toast/Toaster/index.d.ts +4 -6
  266. package/dist/Toast/Toaster/index.d.ts.map +1 -0
  267. package/dist/Toast/Toaster/index.js.map +1 -1
  268. package/dist/Toast/Toaster/index.mjs.map +1 -1
  269. package/dist/Toast/index.d.ts +3 -5
  270. package/dist/Toast/index.d.ts.map +1 -0
  271. package/dist/Toast/index.js.map +1 -1
  272. package/dist/Toast/index.mjs.map +1 -1
  273. package/dist/VideoPlayer/index.d.ts +4 -6
  274. package/dist/VideoPlayer/index.d.ts.map +1 -0
  275. package/dist/VideoPlayer/index.js.map +1 -1
  276. package/dist/VideoPlayer/index.mjs.map +1 -1
  277. package/dist/Whiteboard/index.d.ts +5 -7
  278. package/dist/Whiteboard/index.d.ts.map +1 -0
  279. package/dist/Whiteboard/index.js.map +1 -1
  280. package/dist/Whiteboard/index.mjs.map +1 -1
  281. package/dist/assets/icons/subjects/BookOpenText.d.ts +5 -0
  282. package/dist/assets/icons/subjects/BookOpenText.d.ts.map +1 -0
  283. package/dist/assets/icons/subjects/ChatEN.d.ts +5 -0
  284. package/dist/assets/icons/subjects/ChatEN.d.ts.map +1 -0
  285. package/dist/assets/icons/subjects/ChatES.d.ts +5 -0
  286. package/dist/assets/icons/subjects/ChatES.d.ts.map +1 -0
  287. package/dist/assets/icons/subjects/ChatPT.d.ts +5 -0
  288. package/dist/assets/icons/subjects/ChatPT.d.ts.map +1 -0
  289. package/dist/assets/icons/subjects/HeadCircuit.d.ts +5 -0
  290. package/dist/assets/icons/subjects/HeadCircuit.d.ts.map +1 -0
  291. package/dist/assets/icons/subjects/Microscope.d.ts +5 -0
  292. package/dist/assets/icons/subjects/Microscope.d.ts.map +1 -0
  293. package/dist/enums/SubjectEnum.d.ts +19 -0
  294. package/dist/enums/SubjectEnum.d.ts.map +1 -0
  295. package/dist/hooks/useAppContent.d.ts +55 -0
  296. package/dist/hooks/useAppContent.d.ts.map +1 -0
  297. package/dist/hooks/useAppInitialization.d.ts +21 -0
  298. package/dist/hooks/useAppInitialization.d.ts.map +1 -0
  299. package/dist/hooks/useInstitution.d.ts +2 -0
  300. package/dist/hooks/useInstitution.d.ts.map +1 -0
  301. package/dist/hooks/useMobile/index.d.ts +4 -5
  302. package/dist/hooks/useMobile/index.d.ts.map +1 -0
  303. package/dist/hooks/useNotificationStore.d.ts +34 -0
  304. package/dist/hooks/useNotificationStore.d.ts.map +1 -0
  305. package/dist/hooks/useNotifications.d.ts +129 -0
  306. package/dist/hooks/useNotifications.d.ts.map +1 -0
  307. package/dist/hooks/useScreen.d.ts +38 -0
  308. package/dist/hooks/useScreen.d.ts.map +1 -0
  309. package/dist/hooks/useTheme/index.d.ts +4 -7
  310. package/dist/hooks/useTheme/index.d.ts.map +1 -0
  311. package/dist/index.css +127 -0
  312. package/dist/index.css.map +1 -1
  313. package/dist/index.d.ts +127 -783
  314. package/dist/index.d.ts.map +1 -0
  315. package/dist/index.js +9257 -6883
  316. package/dist/index.js.map +1 -1
  317. package/dist/index.mjs +9330 -6973
  318. package/dist/index.mjs.map +1 -1
  319. package/dist/store/appStore.d.ts +27 -0
  320. package/dist/store/appStore.d.ts.map +1 -0
  321. package/dist/store/authStore.d.ts +75 -0
  322. package/dist/store/authStore.d.ts.map +1 -0
  323. package/dist/store/notificationStore.d.ts +89 -0
  324. package/dist/store/notificationStore.d.ts.map +1 -0
  325. package/dist/{themeStore-P2X64zC-.d.mts → store/themeStore.d.ts} +8 -12
  326. package/dist/store/themeStore.d.ts.map +1 -0
  327. package/dist/styles.css +127 -0
  328. package/dist/styles.css.map +1 -1
  329. package/dist/suporthistory-W5LBGAUP.png +0 -0
  330. package/dist/types/activityDetails.d.ts +127 -0
  331. package/dist/types/activityDetails.d.ts.map +1 -0
  332. package/dist/types/activityFilters.d.ts +51 -0
  333. package/dist/types/activityFilters.d.ts.map +1 -0
  334. package/dist/types/auth.d.ts +53 -0
  335. package/dist/types/auth.d.ts.map +1 -0
  336. package/dist/types/notifications.d.ts +199 -0
  337. package/dist/types/notifications.d.ts.map +1 -0
  338. package/dist/types/questionTypes.d.ts +6 -0
  339. package/dist/types/questionTypes.d.ts.map +1 -0
  340. package/dist/types/studentActivityCorrection.d.ts +57 -0
  341. package/dist/types/studentActivityCorrection.d.ts.map +1 -0
  342. package/dist/types/support/index.d.ts +111 -0
  343. package/dist/types/support/index.d.ts.map +1 -0
  344. package/dist/types/support/index.js +115 -0
  345. package/dist/types/support/index.js.map +1 -0
  346. package/dist/types/support/index.mjs +84 -0
  347. package/dist/types/support/index.mjs.map +1 -0
  348. package/dist/utils/activityFilters.d.ts +23 -0
  349. package/dist/utils/activityFilters.d.ts.map +1 -0
  350. package/dist/utils/dropdown.d.ts +12 -0
  351. package/dist/utils/dropdown.d.ts.map +1 -0
  352. package/dist/utils/index.d.ts +6 -19
  353. package/dist/utils/index.d.ts.map +1 -0
  354. package/dist/utils/index.js +24 -2
  355. package/dist/utils/index.js.map +1 -1
  356. package/dist/utils/index.mjs +20 -1
  357. package/dist/utils/index.mjs.map +1 -1
  358. package/dist/utils/keys.d.ts +24 -0
  359. package/dist/utils/keys.d.ts.map +1 -0
  360. package/package.json +21 -4
  361. package/dist/Accordation/index.d.mts +0 -15
  362. package/dist/Alert/index.d.mts +0 -13
  363. package/dist/AlertDialog/index.d.mts +0 -36
  364. package/dist/AlertManager/index.d.mts +0 -17
  365. package/dist/AlertManagerView/index.d.mts +0 -31
  366. package/dist/Alternative/index.d.mts +0 -81
  367. package/dist/Auth/AuthProvider/index.d.mts +0 -3
  368. package/dist/Auth/ProtectedRoute/index.d.mts +0 -3
  369. package/dist/Auth/PublicRoute/index.d.mts +0 -3
  370. package/dist/Auth/getRootDomain/index.d.mts +0 -3
  371. package/dist/Auth/index.d.mts +0 -326
  372. package/dist/Auth/useApiConfig/index.d.mts +0 -43
  373. package/dist/Auth/useAuth/index.d.mts +0 -3
  374. package/dist/Auth/useAuthGuard/index.d.mts +0 -3
  375. package/dist/Auth/useRouteAuth/index.d.mts +0 -3
  376. package/dist/Auth/useUrlAuthentication/index.d.mts +0 -69
  377. package/dist/Auth/withAuth/index.d.mts +0 -3
  378. package/dist/Auth/zustandAuthAdapter/index.d.mts +0 -75
  379. package/dist/Badge/index.d.mts +0 -46
  380. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.mts +0 -77
  381. package/dist/BreadcrumbMenu/index.d.mts +0 -31
  382. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.mts +0 -48
  383. package/dist/BreadcrumbMenu/useUrlParams/index.d.mts +0 -28
  384. package/dist/Button/index.d.mts +0 -45
  385. package/dist/Calendar/index.d.mts +0 -60
  386. package/dist/Card/index.d.mts +0 -150
  387. package/dist/CheckBox/index.d.mts +0 -74
  388. package/dist/CheckBoxGroup-9n5C0OH4.d.mts +0 -24
  389. package/dist/CheckBoxGroup-9n5C0OH4.d.ts +0 -24
  390. package/dist/Chips/index.d.mts +0 -41
  391. package/dist/Divider/index.d.mts +0 -32
  392. package/dist/DownloadButton/index.d.mts +0 -46
  393. package/dist/DropdownMenu/index.d.mts +0 -82
  394. package/dist/EmptyState/index.d.mts +0 -65
  395. package/dist/IconButton/index.d.mts +0 -76
  396. package/dist/IconRender/index.d.mts +0 -36
  397. package/dist/IconRoundedButton/index.d.mts +0 -34
  398. package/dist/Input/index.d.mts +0 -27
  399. package/dist/LatexRenderer/index.d.mts +0 -50
  400. package/dist/LoadingModal/index.d.mts +0 -11
  401. package/dist/Menu/index.d.mts +0 -48
  402. package/dist/Modal/index.d.mts +0 -76
  403. package/dist/Modal/utils/videoUtils/index.d.mts +0 -28
  404. package/dist/MultipleChoice/index.d.mts +0 -20
  405. package/dist/NavButton/index.d.mts +0 -57
  406. package/dist/NoSearchResult/index.d.mts +0 -37
  407. package/dist/NotFound/index.d.mts +0 -58
  408. package/dist/NotificationCard/index.d.mts +0 -3
  409. package/dist/NotificationCard-4GgB0Nsf.d.mts +0 -417
  410. package/dist/NotificationCard-4GgB0Nsf.d.ts +0 -417
  411. package/dist/ProgressBar/index.d.mts +0 -95
  412. package/dist/ProgressCircle/index.d.mts +0 -60
  413. package/dist/Quiz/index.d.mts +0 -55
  414. package/dist/Quiz/useQuizStore/index.d.mts +0 -258
  415. package/dist/Radio/index.d.mts +0 -203
  416. package/dist/Search/index.d.mts +0 -27
  417. package/dist/Select/index.d.mts +0 -59
  418. package/dist/SelectionButton/index.d.mts +0 -57
  419. package/dist/Skeleton/index.d.mts +0 -40
  420. package/dist/StatisticsCard/index.d.mts +0 -79
  421. package/dist/Stepper/index.d.mts +0 -169
  422. package/dist/SubjectInfo/index.d.mts +0 -2
  423. package/dist/SubjectInfo-Dvt0OodP.d.mts +0 -37
  424. package/dist/SubjectInfo-Dvt0OodP.d.ts +0 -37
  425. package/dist/Table/TablePagination/index.d.mts +0 -64
  426. package/dist/Table/index.d.mts +0 -93
  427. package/dist/TableProvider/index.d.mts +0 -4
  428. package/dist/TableProvider-BnAnv3OV.d.mts +0 -239
  429. package/dist/TableProvider-GfPlLqzg.d.ts +0 -239
  430. package/dist/Text/index.d.mts +0 -58
  431. package/dist/TextArea/index.d.mts +0 -74
  432. package/dist/ThemeToggle/index.d.mts +0 -12
  433. package/dist/Toast/ToastStore/index.d.mts +0 -19
  434. package/dist/Toast/Toaster/index.d.mts +0 -16
  435. package/dist/Toast/index.d.mts +0 -17
  436. package/dist/VideoPlayer/index.d.mts +0 -52
  437. package/dist/Whiteboard/index.d.mts +0 -34
  438. package/dist/hooks/useMobile/index.d.mts +0 -29
  439. package/dist/hooks/useTheme/index.d.mts +0 -17
  440. package/dist/index.d.mts +0 -783
  441. package/dist/styles.d.mts +0 -2
  442. package/dist/styles.d.ts +0 -2
  443. package/dist/themeStore-P2X64zC-.d.ts +0 -79
  444. package/dist/types-DqZRjqxh.d.ts +0 -67
  445. package/dist/types-pd3QVhSu.d.mts +0 -67
  446. package/dist/utils/index.d.mts +0 -27
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts","../../src/components/Text/Text.tsx","../../src/components/Button/Button.tsx","../../src/components/NotFound/NotFound.tsx"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Base text component props\n */\ntype BaseTextProps = {\n /** Content to be displayed */\n children?: ReactNode;\n /** Text size variant */\n size?:\n | '2xs'\n | 'xs'\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n | '2xl'\n | '3xl'\n | '4xl'\n | '5xl'\n | '6xl';\n /** Font weight variant */\n weight?:\n | 'hairline'\n | 'light'\n | 'normal'\n | 'medium'\n | 'semibold'\n | 'bold'\n | 'extrabold'\n | 'black';\n /** Color variant - white for light backgrounds, black for dark backgrounds */\n color?: string;\n /** Additional CSS classes to apply */\n className?: string;\n};\n\n/**\n * Polymorphic text component props that ensures type safety based on the 'as' prop\n */\ntype TextProps<T extends ElementType = 'p'> = BaseTextProps & {\n /** HTML tag to render */\n as?: T;\n} & Omit<ComponentPropsWithoutRef<T>, keyof BaseTextProps>;\n\n/**\n * Text component for Analytica Ensino platforms\n *\n * A flexible polymorphic text component with multiple sizes, weights, and colors.\n * Automatically adapts to dark and light themes with full type safety.\n *\n * @param children - The content to display\n * @param size - The text size variant (2xs, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl)\n * @param weight - The font weight variant (hairline, light, normal, medium, semibold, bold, extrabold, black)\n * @param color - The color variant - adapts to theme\n * @param as - The HTML tag to render - determines allowed attributes via TypeScript\n * @param className - Additional CSS classes\n * @param props - HTML attributes valid for the chosen tag only\n * @returns A styled text element with type-safe attributes\n *\n * @example\n * ```tsx\n * <Text size=\"lg\" weight=\"bold\" color=\"text-info-800\">\n * This is a large, bold text\n * </Text>\n *\n * <Text as=\"a\" href=\"/link\" target=\"_blank\">\n * Link with type-safe anchor attributes\n * </Text>\n *\n * <Text as=\"button\" onClick={handleClick} disabled>\n * Button with type-safe button attributes\n * </Text>\n * ```\n */\nconst Text = <T extends ElementType = 'p'>({\n children,\n size = 'md',\n weight = 'normal',\n color = 'text-text-950',\n as,\n className = '',\n ...props\n}: TextProps<T>) => {\n let sizeClasses = '';\n let weightClasses = '';\n\n // Text size classes mapping\n const sizeClassMap = {\n '2xs': 'text-2xs',\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-md',\n lg: 'text-lg',\n xl: 'text-xl',\n '2xl': 'text-2xl',\n '3xl': 'text-3xl',\n '4xl': 'text-4xl',\n '5xl': 'text-5xl',\n '6xl': 'text-6xl',\n } as const;\n\n sizeClasses = sizeClassMap[size] ?? sizeClassMap.md;\n\n // Font weight classes mapping\n const weightClassMap = {\n hairline: 'font-hairline',\n light: 'font-light',\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extrabold: 'font-extrabold',\n black: 'font-black',\n } as const;\n\n weightClasses = weightClassMap[weight] ?? weightClassMap.normal;\n\n const baseClasses = 'font-primary';\n const Component = as ?? ('p' as ElementType);\n\n return (\n <Component\n className={cn(baseClasses, sizeClasses, weightClasses, color, className)}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nexport default Text;\n","import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n primary:\n 'bg-primary-950 text-text border border-primary-950 hover:bg-primary-800 hover:border-primary-800 focus-visible:outline-none focus-visible:bg-primary-950 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-primary-700 active:border-primary-700 disabled:bg-primary-500 disabled:border-primary-500 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-success-500 text-text border border-success-500 hover:bg-success-600 hover:border-success-600 focus-visible:outline-none focus-visible:bg-success-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-success-700 active:border-success-700 disabled:bg-success-500 disabled:border-success-500 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-error-500 text-text border border-error-500 hover:bg-error-600 hover:border-error-600 focus-visible:outline-none focus-visible:bg-error-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-error-700 active:border-error-700 disabled:bg-error-500 disabled:border-error-500 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n outline: {\n primary:\n 'bg-transparent text-primary-950 border border-primary-950 hover:bg-background-50 hover:text-primary-400 hover:border-primary-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 active:border-primary-700 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-transparent text-success-500 border border-success-300 hover:bg-background-50 hover:text-success-400 hover:border-success-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 active:border-success-700 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-transparent text-error-500 border border-error-300 hover:bg-background-50 hover:text-error-400 hover:border-error-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 active:border-error-700 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n link: {\n primary:\n 'bg-transparent text-primary-950 hover:text-primary-400 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-transparent text-success-500 hover:text-success-400 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-transparent text-error-500 hover:text-error-400 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n} as const;\n\n/**\n * Lookup table for size classes\n */\nconst SIZE_CLASSES = {\n 'extra-small': 'text-xs px-3.5 py-2',\n small: 'text-sm px-4 py-2.5',\n medium: 'text-md px-5 py-2.5',\n large: 'text-lg px-6 py-3',\n 'extra-large': 'text-lg px-7 py-3.5',\n} as const;\n\n/**\n * Button component props interface\n */\ntype ButtonProps = {\n /** Content to be displayed inside the button */\n children: ReactNode;\n /** Ícone à esquerda do texto */\n iconLeft?: ReactNode;\n /** Ícone à direita do texto */\n iconRight?: ReactNode;\n /** Size of the button */\n size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';\n /** Visual variant of the button */\n variant?: 'solid' | 'outline' | 'link';\n /** Action type of the button */\n action?: 'primary' | 'positive' | 'negative';\n /** Additional CSS classes to apply */\n className?: string;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\n/**\n * Button component for Analytica Ensino platforms\n *\n * A flexible button component with multiple variants, sizes and actions.\n *\n * @param children - The content to display inside the button\n * @param size - The size variant (extra-small, small, medium, large, extra-large)\n * @param variant - The visual style variant (solid, outline, link)\n * @param action - The action type (primary, positive, negative)\n * @param className - Additional CSS classes\n * @param props - All other standard button HTML attributes\n * @returns A styled button element\n *\n * @example\n * ```tsx\n * <Button variant=\"solid\" action=\"primary\" size=\"medium\" onClick={() => console.log('clicked')}>\n * Click me\n * </Button>\n * ```\n */\nconst Button = ({\n children,\n iconLeft,\n iconRight,\n size = 'medium',\n variant = 'solid',\n action = 'primary',\n className = '',\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) => {\n // Get classes from lookup tables\n const sizeClasses = SIZE_CLASSES[size];\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const baseClasses =\n 'inline-flex items-center justify-center rounded-full cursor-pointer font-medium';\n\n return (\n <button\n className={cn(baseClasses, variantClasses, sizeClasses, className)}\n disabled={disabled}\n type={type}\n {...props}\n >\n {iconLeft && <span className=\"mr-2 flex items-center\">{iconLeft}</span>}\n {children}\n {iconRight && <span className=\"ml-2 flex items-center\">{iconRight}</span>}\n </button>\n );\n};\n\nexport default Button;\n","import { MouseEvent } from 'react';\nimport Text from '../Text/Text';\nimport Button from '../Button/Button';\nimport { cn } from '../../utils/utils';\n\n/**\n * Props interface for the NotFound component\n *\n * @interface NotFoundProps\n * @property {string} [title] - Custom title text (default: \"Página não encontrada\")\n * @property {string} [description] - Custom description text\n * @property {string} [buttonText] - Custom button text (default: \"Voltar\")\n * @property {() => void} [onButtonClick] - Callback function for button click\n * @property {string} [className] - Additional CSS classes for the container\n * @property {'404' | '500' | 'custom'} [errorType] - Type of error to display (default: '404')\n * @property {string} [customErrorCode] - Custom error code when errorType is 'custom'\n */\nexport interface NotFoundProps {\n title?: string;\n description?: string;\n buttonText?: string;\n onButtonClick?: () => void;\n className?: string;\n errorType?: '404' | '500' | 'custom';\n customErrorCode?: string;\n}\n\n/**\n * NotFound component for displaying error pages\n *\n * A reusable component for displaying 404, 500, or custom error pages\n * with configurable content and navigation button.\n *\n * @param {NotFoundProps} props - The component props\n * @returns {JSX.Element} The NotFound component\n *\n * @example\n * ```typescript\n * // Basic 404 page\n * <NotFound onButtonClick={() => navigate('/dashboard')} />\n *\n * // Custom error page\n * <NotFound\n * errorType=\"500\"\n * title=\"Erro interno do servidor\"\n * description=\"Algo deu errado. Tente novamente mais tarde.\"\n * buttonText=\"Tentar novamente\"\n * onButtonClick={() => window.location.reload()}\n * />\n *\n * // Custom error code\n * <NotFound\n * errorType=\"custom\"\n * customErrorCode=\"403\"\n * title=\"Acesso negado\"\n * description=\"Você não tem permissão para acessar esta página.\"\n * />\n * ```\n */\nconst NotFound = ({\n title,\n description,\n buttonText = 'Voltar',\n onButtonClick,\n className = '',\n errorType = '404',\n customErrorCode,\n}: NotFoundProps) => {\n const getErrorCode = () => {\n if (errorType === 'custom') {\n return customErrorCode?.trim() || 'ERROR';\n }\n return errorType;\n };\n\n const getDefaultTitle = () => {\n switch (errorType) {\n case '404':\n return 'Página não encontrada';\n case '500':\n return 'Erro interno do servidor';\n default:\n return 'Erro';\n }\n };\n\n const getDefaultDescription = () => {\n switch (errorType) {\n case '404':\n return 'Oops! A página que você está procurando não existe ou foi removida.';\n case '500':\n return 'Algo deu errado em nossos servidores. Tente novamente mais tarde.';\n default:\n return 'Ocorreu um erro inesperado.';\n }\n };\n\n const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n onButtonClick?.();\n };\n\n const errorTitle = title || getDefaultTitle();\n const errorDescription = description || getDefaultDescription();\n const errorCode = getErrorCode();\n\n return (\n <div\n className={cn(\n 'flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4',\n className\n )}\n >\n <main\n role=\"main\"\n aria-labelledby=\"error-title\"\n aria-describedby=\"error-description\"\n className=\"flex flex-col items-center text-center max-w-md space-y-6\"\n >\n <section aria-label={`Erro ${errorCode}`}>\n {/* Error Code */}\n <div\n className=\"text-8xl font-bold text-primary-300 select-none\"\n aria-label={`Código de erro: ${errorCode}`}\n >\n {errorCode}\n </div>\n\n {/* Main message */}\n <header className=\"space-y-2\">\n <Text\n size=\"xl\"\n weight=\"bold\"\n className=\"text-text-950\"\n id=\"error-title\"\n aria-level={1}\n >\n {errorTitle}\n </Text>\n <Text size=\"md\" className=\"text-text-600\" id=\"error-description\">\n {errorDescription}\n </Text>\n </header>\n\n {/* Back button */}\n {onButtonClick && (\n <nav aria-label=\"Navegação de erro\">\n <Button\n onClick={handleButtonClick}\n variant=\"solid\"\n size=\"medium\"\n className=\"mt-8\"\n aria-describedby=\"error-description\"\n aria-label={`${buttonText}. ${errorDescription}`}\n >\n {buttonText}\n </Button>\n </nav>\n )}\n </section>\n </main>\n </div>\n );\n};\n\nexport default NotFound;\n"],"mappings":"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","names":["jsx","jsx","jsxs"]}
1
+ {"version":3,"sources":["../../src/utils/utils.ts","../../src/components/Text/Text.tsx","../../src/components/Button/Button.tsx","../../src/components/NotFound/NotFound.tsx"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport { syncDropdownState } from './dropdown';\nexport {\n getSelectedIdsFromCategories,\n toggleArrayItem,\n toggleSingleValue,\n} from './activityFilters';\n\n/**\n * Retorna a cor hexadecimal com opacidade 0.3 (4d) se não estiver em dark mode.\n * Se estiver em dark mode, retorna a cor original.\n *\n * @param hexColor - Cor hexadecimal (ex: \"#0066b8\" ou \"0066b8\")\n * @param isDark - booleano indicando se está em dark mode\n * @returns string - cor hexadecimal com opacidade se necessário\n */\nexport function getSubjectColorWithOpacity(\n hexColor: string | undefined,\n isDark: boolean\n): string | undefined {\n if (!hexColor) return undefined;\n // Remove o '#' se existir\n let color = hexColor.replace(/^#/, '').toLowerCase();\n\n if (isDark) {\n // Se está em dark mode, sempre remove opacidade se existir\n if (color.length === 8) {\n color = color.slice(0, 6);\n }\n return `#${color}`;\n } else {\n // Se não está em dark mode (light mode)\n let resultColor: string;\n if (color.length === 6) {\n // Adiciona opacidade 0.3 (4D) para cores de 6 dígitos\n resultColor = `#${color}4d`;\n } else if (color.length === 8) {\n // Já tem opacidade, retorna como está\n resultColor = `#${color}`;\n } else {\n // Para outros tamanhos (3, 4, 5 dígitos), retorna como está\n resultColor = `#${color}`;\n }\n return resultColor;\n }\n}\n","import { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Base text component props\n */\ntype BaseTextProps = {\n /** Content to be displayed */\n children?: ReactNode;\n /** Text size variant */\n size?:\n | '2xs'\n | 'xs'\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n | '2xl'\n | '3xl'\n | '4xl'\n | '5xl'\n | '6xl';\n /** Font weight variant */\n weight?:\n | 'hairline'\n | 'light'\n | 'normal'\n | 'medium'\n | 'semibold'\n | 'bold'\n | 'extrabold'\n | 'black';\n /** Color variant - white for light backgrounds, black for dark backgrounds */\n color?: string;\n /** Additional CSS classes to apply */\n className?: string;\n};\n\n/**\n * Polymorphic text component props that ensures type safety based on the 'as' prop\n */\ntype TextProps<T extends ElementType = 'p'> = BaseTextProps & {\n /** HTML tag to render */\n as?: T;\n} & Omit<ComponentPropsWithoutRef<T>, keyof BaseTextProps>;\n\n/**\n * Text component for Analytica Ensino platforms\n *\n * A flexible polymorphic text component with multiple sizes, weights, and colors.\n * Automatically adapts to dark and light themes with full type safety.\n *\n * @param children - The content to display\n * @param size - The text size variant (2xs, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl)\n * @param weight - The font weight variant (hairline, light, normal, medium, semibold, bold, extrabold, black)\n * @param color - The color variant - adapts to theme\n * @param as - The HTML tag to render - determines allowed attributes via TypeScript\n * @param className - Additional CSS classes\n * @param props - HTML attributes valid for the chosen tag only\n * @returns A styled text element with type-safe attributes\n *\n * @example\n * ```tsx\n * <Text size=\"lg\" weight=\"bold\" color=\"text-info-800\">\n * This is a large, bold text\n * </Text>\n *\n * <Text as=\"a\" href=\"/link\" target=\"_blank\">\n * Link with type-safe anchor attributes\n * </Text>\n *\n * <Text as=\"button\" onClick={handleClick} disabled>\n * Button with type-safe button attributes\n * </Text>\n * ```\n */\nconst Text = <T extends ElementType = 'p'>({\n children,\n size = 'md',\n weight = 'normal',\n color = 'text-text-950',\n as,\n className = '',\n ...props\n}: TextProps<T>) => {\n let sizeClasses = '';\n let weightClasses = '';\n\n // Text size classes mapping\n const sizeClassMap = {\n '2xs': 'text-2xs',\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-md',\n lg: 'text-lg',\n xl: 'text-xl',\n '2xl': 'text-2xl',\n '3xl': 'text-3xl',\n '4xl': 'text-4xl',\n '5xl': 'text-5xl',\n '6xl': 'text-6xl',\n } as const;\n\n sizeClasses = sizeClassMap[size] ?? sizeClassMap.md;\n\n // Font weight classes mapping\n const weightClassMap = {\n hairline: 'font-hairline',\n light: 'font-light',\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n extrabold: 'font-extrabold',\n black: 'font-black',\n } as const;\n\n weightClasses = weightClassMap[weight] ?? weightClassMap.normal;\n\n const baseClasses = 'font-primary';\n const Component = as ?? ('p' as ElementType);\n\n return (\n <Component\n className={cn(baseClasses, sizeClasses, weightClasses, color, className)}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nexport default Text;\n","import { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { cn } from '../../utils/utils';\n\n/**\n * Lookup table for variant and action class combinations\n */\nconst VARIANT_ACTION_CLASSES = {\n solid: {\n primary:\n 'bg-primary-950 text-text border border-primary-950 hover:bg-primary-800 hover:border-primary-800 focus-visible:outline-none focus-visible:bg-primary-950 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-primary-700 active:border-primary-700 disabled:bg-primary-500 disabled:border-primary-500 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-success-500 text-text border border-success-500 hover:bg-success-600 hover:border-success-600 focus-visible:outline-none focus-visible:bg-success-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-success-700 active:border-success-700 disabled:bg-success-500 disabled:border-success-500 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-error-500 text-text border border-error-500 hover:bg-error-600 hover:border-error-600 focus-visible:outline-none focus-visible:bg-error-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-error-700 active:border-error-700 disabled:bg-error-500 disabled:border-error-500 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n outline: {\n primary:\n 'bg-transparent text-primary-950 border border-primary-950 hover:bg-background-50 hover:text-primary-400 hover:border-primary-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 active:border-primary-700 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-transparent text-success-500 border border-success-300 hover:bg-background-50 hover:text-success-400 hover:border-success-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 active:border-success-700 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-transparent text-error-500 border border-error-300 hover:bg-background-50 hover:text-error-400 hover:border-error-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 active:border-error-700 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n link: {\n primary:\n 'bg-transparent text-primary-950 hover:text-primary-400 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 disabled:opacity-40 disabled:cursor-not-allowed',\n positive:\n 'bg-transparent text-success-500 hover:text-success-400 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 disabled:opacity-40 disabled:cursor-not-allowed',\n negative:\n 'bg-transparent text-error-500 hover:text-error-400 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 disabled:opacity-40 disabled:cursor-not-allowed',\n },\n} as const;\n\n/**\n * Lookup table for size classes\n */\nconst SIZE_CLASSES = {\n 'extra-small': 'text-xs px-3.5 py-2',\n small: 'text-sm px-4 py-2.5',\n medium: 'text-md px-5 py-2.5',\n large: 'text-lg px-6 py-3',\n 'extra-large': 'text-lg px-7 py-3.5',\n} as const;\n\n/**\n * Button component props interface\n */\ntype ButtonProps = {\n /** Content to be displayed inside the button */\n children: ReactNode;\n /** Ícone à esquerda do texto */\n iconLeft?: ReactNode;\n /** Ícone à direita do texto */\n iconRight?: ReactNode;\n /** Size of the button */\n size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';\n /** Visual variant of the button */\n variant?: 'solid' | 'outline' | 'link';\n /** Action type of the button */\n action?: 'primary' | 'positive' | 'negative';\n /** Additional CSS classes to apply */\n className?: string;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\n/**\n * Button component for Analytica Ensino platforms\n *\n * A flexible button component with multiple variants, sizes and actions.\n *\n * @param children - The content to display inside the button\n * @param size - The size variant (extra-small, small, medium, large, extra-large)\n * @param variant - The visual style variant (solid, outline, link)\n * @param action - The action type (primary, positive, negative)\n * @param className - Additional CSS classes\n * @param props - All other standard button HTML attributes\n * @returns A styled button element\n *\n * @example\n * ```tsx\n * <Button variant=\"solid\" action=\"primary\" size=\"medium\" onClick={() => console.log('clicked')}>\n * Click me\n * </Button>\n * ```\n */\nconst Button = ({\n children,\n iconLeft,\n iconRight,\n size = 'medium',\n variant = 'solid',\n action = 'primary',\n className = '',\n disabled,\n type = 'button',\n ...props\n}: ButtonProps) => {\n // Get classes from lookup tables\n const sizeClasses = SIZE_CLASSES[size];\n const variantClasses = VARIANT_ACTION_CLASSES[variant][action];\n\n const baseClasses =\n 'inline-flex items-center justify-center rounded-full cursor-pointer font-medium';\n\n return (\n <button\n className={cn(baseClasses, variantClasses, sizeClasses, className)}\n disabled={disabled}\n type={type}\n {...props}\n >\n {iconLeft && <span className=\"mr-2 flex items-center\">{iconLeft}</span>}\n {children}\n {iconRight && <span className=\"ml-2 flex items-center\">{iconRight}</span>}\n </button>\n );\n};\n\nexport default Button;\n","import { MouseEvent } from 'react';\nimport Text from '../Text/Text';\nimport Button from '../Button/Button';\nimport { cn } from '../../utils/utils';\n\n/**\n * Props interface for the NotFound component\n *\n * @interface NotFoundProps\n * @property {string} [title] - Custom title text (default: \"Página não encontrada\")\n * @property {string} [description] - Custom description text\n * @property {string} [buttonText] - Custom button text (default: \"Voltar\")\n * @property {() => void} [onButtonClick] - Callback function for button click\n * @property {string} [className] - Additional CSS classes for the container\n * @property {'404' | '500' | 'custom'} [errorType] - Type of error to display (default: '404')\n * @property {string} [customErrorCode] - Custom error code when errorType is 'custom'\n */\nexport interface NotFoundProps {\n title?: string;\n description?: string;\n buttonText?: string;\n onButtonClick?: () => void;\n className?: string;\n errorType?: '404' | '500' | 'custom';\n customErrorCode?: string;\n}\n\n/**\n * NotFound component for displaying error pages\n *\n * A reusable component for displaying 404, 500, or custom error pages\n * with configurable content and navigation button.\n *\n * @param {NotFoundProps} props - The component props\n * @returns {JSX.Element} The NotFound component\n *\n * @example\n * ```typescript\n * // Basic 404 page\n * <NotFound onButtonClick={() => navigate('/dashboard')} />\n *\n * // Custom error page\n * <NotFound\n * errorType=\"500\"\n * title=\"Erro interno do servidor\"\n * description=\"Algo deu errado. Tente novamente mais tarde.\"\n * buttonText=\"Tentar novamente\"\n * onButtonClick={() => window.location.reload()}\n * />\n *\n * // Custom error code\n * <NotFound\n * errorType=\"custom\"\n * customErrorCode=\"403\"\n * title=\"Acesso negado\"\n * description=\"Você não tem permissão para acessar esta página.\"\n * />\n * ```\n */\nconst NotFound = ({\n title,\n description,\n buttonText = 'Voltar',\n onButtonClick,\n className = '',\n errorType = '404',\n customErrorCode,\n}: NotFoundProps) => {\n const getErrorCode = () => {\n if (errorType === 'custom') {\n return customErrorCode?.trim() || 'ERROR';\n }\n return errorType;\n };\n\n const getDefaultTitle = () => {\n switch (errorType) {\n case '404':\n return 'Página não encontrada';\n case '500':\n return 'Erro interno do servidor';\n default:\n return 'Erro';\n }\n };\n\n const getDefaultDescription = () => {\n switch (errorType) {\n case '404':\n return 'Oops! A página que você está procurando não existe ou foi removida.';\n case '500':\n return 'Algo deu errado em nossos servidores. Tente novamente mais tarde.';\n default:\n return 'Ocorreu um erro inesperado.';\n }\n };\n\n const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n onButtonClick?.();\n };\n\n const errorTitle = title || getDefaultTitle();\n const errorDescription = description || getDefaultDescription();\n const errorCode = getErrorCode();\n\n return (\n <div\n className={cn(\n 'flex flex-col w-full h-screen items-center justify-center bg-background-50 px-4',\n className\n )}\n >\n <main\n role=\"main\"\n aria-labelledby=\"error-title\"\n aria-describedby=\"error-description\"\n className=\"flex flex-col items-center text-center max-w-md space-y-6\"\n >\n <section aria-label={`Erro ${errorCode}`}>\n {/* Error Code */}\n <div\n className=\"text-8xl font-bold text-primary-300 select-none\"\n aria-label={`Código de erro: ${errorCode}`}\n >\n {errorCode}\n </div>\n\n {/* Main message */}\n <header className=\"space-y-2\">\n <Text\n size=\"xl\"\n weight=\"bold\"\n className=\"text-text-950\"\n id=\"error-title\"\n aria-level={1}\n >\n {errorTitle}\n </Text>\n <Text size=\"md\" className=\"text-text-600\" id=\"error-description\">\n {errorDescription}\n </Text>\n </header>\n\n {/* Back button */}\n {onButtonClick && (\n <nav aria-label=\"Navegação de erro\">\n <Button\n onClick={handleButtonClick}\n variant=\"solid\"\n size=\"medium\"\n className=\"mt-8\"\n aria-describedby=\"error-description\"\n aria-label={`${buttonText}. ${errorDescription}`}\n >\n {buttonText}\n </Button>\n </nav>\n )}\n </section>\n </main>\n </div>\n );\n};\n\nexport default NotFound;\n"],"mappings":"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","names":["jsx","jsx","jsxs"]}
@@ -1,3 +1,218 @@
1
- import 'react/jsx-runtime';
2
- import 'react';
3
- export { j as LegacyNotificationCard, L as LegacyNotificationCardProps, i as NotificationCardProps, b as NotificationGroup, f as NotificationItem, e as default } from '../NotificationCard-4GgB0Nsf.js';
1
+ import { ReactNode } from 'react';
2
+ import type { Notification, NotificationGroup, NotificationEntityType } from '../../types/notifications';
3
+ export interface NotificationItem extends Omit<Notification, 'createdAt'> {
4
+ time: string;
5
+ createdAt: string | Date;
6
+ }
7
+ interface BaseNotificationProps {
8
+ /**
9
+ * Additional CSS classes
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Empty state image path
14
+ */
15
+ emptyStateImage?: string;
16
+ /**
17
+ * Empty state title
18
+ */
19
+ emptyStateTitle?: string;
20
+ /**
21
+ * Empty state description
22
+ */
23
+ emptyStateDescription?: string;
24
+ }
25
+ interface SingleNotificationCardMode extends BaseNotificationProps {
26
+ /**
27
+ * Component mode - single card
28
+ */
29
+ mode: 'single';
30
+ /**
31
+ * The notification title
32
+ */
33
+ title: string;
34
+ /**
35
+ * The notification message content
36
+ */
37
+ message: string;
38
+ /**
39
+ * Time displayed (e.g., "Há 3h", "12 Fev")
40
+ */
41
+ time: string;
42
+ /**
43
+ * Whether the notification has been read
44
+ */
45
+ isRead: boolean;
46
+ /**
47
+ * Callback when user marks notification as read
48
+ */
49
+ onMarkAsRead: () => void;
50
+ /**
51
+ * Callback when user deletes notification
52
+ */
53
+ onDelete: () => void;
54
+ /**
55
+ * Optional callback for navigation action
56
+ */
57
+ onNavigate?: () => void;
58
+ /**
59
+ * Label for the action button (only shown if onNavigate is provided)
60
+ */
61
+ actionLabel?: string;
62
+ }
63
+ interface NotificationListMode extends BaseNotificationProps {
64
+ /**
65
+ * Component mode - list
66
+ */
67
+ mode: 'list';
68
+ /**
69
+ * Array of notifications for list mode
70
+ */
71
+ notifications?: NotificationItem[];
72
+ /**
73
+ * Array of grouped notifications
74
+ */
75
+ groupedNotifications?: NotificationGroup[];
76
+ /**
77
+ * Loading state for list mode
78
+ */
79
+ loading?: boolean;
80
+ /**
81
+ * Error state for list mode
82
+ */
83
+ error?: string | null;
84
+ /**
85
+ * Callback for retry when error occurs
86
+ */
87
+ onRetry?: () => void;
88
+ /**
89
+ * Callback when user marks a notification as read in list mode
90
+ */
91
+ onMarkAsReadById?: (id: string) => void;
92
+ /**
93
+ * Callback when user deletes a notification in list mode
94
+ */
95
+ onDeleteById?: (id: string) => void;
96
+ /**
97
+ * Callback when user navigates from a notification in list mode
98
+ */
99
+ onNavigateById?: (entityType?: NotificationEntityType, entityId?: string) => void;
100
+ /**
101
+ * Callback when user clicks on a global notification
102
+ */
103
+ onGlobalNotificationClick?: (notification: Notification) => void;
104
+ /**
105
+ * Function to get action label for a notification
106
+ */
107
+ getActionLabel?: (entityType?: NotificationEntityType) => string | undefined;
108
+ /**
109
+ * Custom empty state component
110
+ */
111
+ renderEmpty?: () => ReactNode;
112
+ }
113
+ interface NotificationCenterMode extends BaseNotificationProps {
114
+ /**
115
+ * Component mode - center
116
+ */
117
+ mode: 'center';
118
+ /**
119
+ * Array of grouped notifications
120
+ */
121
+ groupedNotifications?: NotificationGroup[];
122
+ /**
123
+ * Loading state for center mode
124
+ */
125
+ loading?: boolean;
126
+ /**
127
+ * Error state for center mode
128
+ */
129
+ error?: string | null;
130
+ /**
131
+ * Callback for retry when error occurs
132
+ */
133
+ onRetry?: () => void;
134
+ /**
135
+ * Whether center mode is currently active (controls dropdown/modal visibility)
136
+ */
137
+ isActive?: boolean;
138
+ /**
139
+ * Callback when center mode is toggled
140
+ */
141
+ onToggleActive?: () => void;
142
+ /**
143
+ * Number of unread notifications for badge display
144
+ */
145
+ unreadCount?: number;
146
+ /**
147
+ * Callback when all notifications should be marked as read
148
+ */
149
+ onMarkAllAsRead?: () => void;
150
+ /**
151
+ * Callback to fetch notifications (called when center opens)
152
+ */
153
+ onFetchNotifications?: () => void;
154
+ /**
155
+ * Callback when user marks a notification as read in center mode
156
+ */
157
+ onMarkAsReadById?: (id: string) => void;
158
+ /**
159
+ * Callback when user deletes a notification in center mode
160
+ */
161
+ onDeleteById?: (id: string) => void;
162
+ /**
163
+ * Callback when user navigates from a notification in center mode
164
+ */
165
+ onNavigateById?: (entityType?: NotificationEntityType, entityId?: string) => void;
166
+ /**
167
+ * Function to get action label for a notification
168
+ */
169
+ getActionLabel?: (entityType?: NotificationEntityType) => string | undefined;
170
+ /**
171
+ * Callback when dropdown open state changes (for synchronization with parent)
172
+ */
173
+ onOpenChange?: (open: boolean) => void;
174
+ }
175
+ export type NotificationCardProps = SingleNotificationCardMode | NotificationListMode | NotificationCenterMode;
176
+ export interface LegacyNotificationCardProps extends BaseNotificationProps {
177
+ title?: string;
178
+ message?: string;
179
+ time?: string;
180
+ isRead?: boolean;
181
+ onMarkAsRead?: () => void;
182
+ onDelete?: () => void;
183
+ onNavigate?: () => void;
184
+ actionLabel?: string;
185
+ notifications?: NotificationItem[];
186
+ groupedNotifications?: NotificationGroup[];
187
+ loading?: boolean;
188
+ error?: string | null;
189
+ onRetry?: () => void;
190
+ onMarkAsReadById?: (id: string) => void;
191
+ onDeleteById?: (id: string) => void;
192
+ onNavigateById?: (entityType?: NotificationEntityType, entityId?: string) => void;
193
+ onGlobalNotificationClick?: (notification: Notification) => void;
194
+ getActionLabel?: (entityType?: NotificationEntityType) => string | undefined;
195
+ renderEmpty?: () => ReactNode;
196
+ variant?: 'card' | 'center';
197
+ isActive?: boolean;
198
+ onToggleActive?: () => void;
199
+ unreadCount?: number;
200
+ onMarkAllAsRead?: () => void;
201
+ onFetchNotifications?: () => void;
202
+ onOpenChange?: (open: boolean) => void;
203
+ }
204
+ /**
205
+ * NotificationCard component - can display single notification, list of notifications, or center mode
206
+ *
207
+ * @param props - The notification card properties
208
+ * @returns JSX element representing the notification card, list, or center
209
+ */
210
+ declare const NotificationCard: (props: NotificationCardProps) => import("react/jsx-runtime").JSX.Element;
211
+ /**
212
+ * Legacy NotificationCard component for backward compatibility
213
+ * Automatically detects mode based on provided props
214
+ */
215
+ export declare const LegacyNotificationCard: (props: LegacyNotificationCardProps) => import("react/jsx-runtime").JSX.Element;
216
+ export default NotificationCard;
217
+ export type { NotificationGroup };
218
+ //# sourceMappingURL=NotificationCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationCard.d.ts","sourceRoot":"","sources":["../../../src/components/NotificationCard/NotificationCard.tsx"],"names":[],"mappings":"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"}