analytica-frontend-lib 1.2.25 → 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 (355) hide show
  1. package/dist/Accordation/index.d.ts +4 -5
  2. package/dist/Accordation/index.d.ts.map +1 -0
  3. package/dist/ActivityDetails/index.css +19293 -0
  4. package/dist/ActivityDetails/index.css.map +1 -0
  5. package/dist/ActivityDetails/index.d.ts +31 -0
  6. package/dist/ActivityDetails/index.d.ts.map +1 -0
  7. package/dist/ActivityDetails/index.js +7359 -0
  8. package/dist/ActivityDetails/index.js.map +1 -0
  9. package/dist/ActivityDetails/index.mjs +7408 -0
  10. package/dist/ActivityDetails/index.mjs.map +1 -0
  11. package/dist/ActivityFilters/index.css +112 -0
  12. package/dist/ActivityFilters/index.css.map +1 -1
  13. package/dist/ActivityFilters/index.d.ts +44 -5
  14. package/dist/ActivityFilters/index.d.ts.map +1 -0
  15. package/dist/ActivityFilters/index.js +34 -30
  16. package/dist/ActivityFilters/index.js.map +1 -1
  17. package/dist/ActivityFilters/index.mjs +56 -52
  18. package/dist/ActivityFilters/index.mjs.map +1 -1
  19. package/dist/Alert/index.d.ts +3 -5
  20. package/dist/Alert/index.d.ts.map +1 -0
  21. package/dist/AlertDialog/index.d.ts +2 -4
  22. package/dist/AlertDialog/index.d.ts.map +1 -0
  23. package/dist/AlertManager/index.css +112 -0
  24. package/dist/AlertManager/index.css.map +1 -1
  25. package/dist/AlertManager/index.d.ts +4 -8
  26. package/dist/AlertManager/index.d.ts.map +1 -0
  27. package/dist/AlertManager/index.js +23 -19
  28. package/dist/AlertManager/index.js.map +1 -1
  29. package/dist/AlertManager/index.mjs +45 -41
  30. package/dist/AlertManager/index.mjs.map +1 -1
  31. package/dist/AlertManagerView/index.d.ts +6 -10
  32. package/dist/AlertManagerView/index.d.ts.map +1 -0
  33. package/dist/Alternative/index.d.ts +6 -9
  34. package/dist/Alternative/index.d.ts.map +1 -0
  35. package/dist/Auth/AuthProvider/index.d.ts +324 -3
  36. package/dist/Auth/AuthProvider/index.d.ts.map +1 -0
  37. package/dist/Auth/ProtectedRoute/index.d.ts +324 -3
  38. package/dist/Auth/ProtectedRoute/index.d.ts.map +1 -0
  39. package/dist/Auth/PublicRoute/index.d.ts +324 -3
  40. package/dist/Auth/PublicRoute/index.d.ts.map +1 -0
  41. package/dist/Auth/getRootDomain/index.d.ts +324 -3
  42. package/dist/Auth/getRootDomain/index.d.ts.map +1 -0
  43. package/dist/Auth/index.d.ts +24 -26
  44. package/dist/Auth/index.d.ts.map +1 -0
  45. package/dist/Auth/useApiConfig/index.d.ts +3 -3
  46. package/dist/Auth/useApiConfig/index.d.ts.map +1 -0
  47. package/dist/Auth/useAuth/index.d.ts +324 -3
  48. package/dist/Auth/useAuth/index.d.ts.map +1 -0
  49. package/dist/Auth/useAuthGuard/index.d.ts +324 -3
  50. package/dist/Auth/useAuthGuard/index.d.ts.map +1 -0
  51. package/dist/Auth/useRouteAuth/index.d.ts +324 -3
  52. package/dist/Auth/useRouteAuth/index.d.ts.map +1 -0
  53. package/dist/Auth/useUrlAuthentication/index.d.ts +3 -4
  54. package/dist/Auth/useUrlAuthentication/index.d.ts.map +1 -0
  55. package/dist/Auth/withAuth/index.d.ts +324 -3
  56. package/dist/Auth/withAuth/index.d.ts.map +1 -0
  57. package/dist/Auth/zustandAuthAdapter/index.d.ts +2 -3
  58. package/dist/Auth/zustandAuthAdapter/index.d.ts.map +1 -0
  59. package/dist/Badge/index.d.ts +4 -6
  60. package/dist/Badge/index.d.ts.map +1 -0
  61. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.ts +5 -7
  62. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.ts.map +1 -0
  63. package/dist/BreadcrumbMenu/index.d.ts +4 -8
  64. package/dist/BreadcrumbMenu/index.d.ts.map +1 -0
  65. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.ts +7 -10
  66. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.ts.map +1 -0
  67. package/dist/BreadcrumbMenu/useUrlParams/index.d.ts +3 -4
  68. package/dist/BreadcrumbMenu/useUrlParams/index.d.ts.map +1 -0
  69. package/dist/Button/index.d.ts +4 -6
  70. package/dist/Button/index.d.ts.map +1 -0
  71. package/dist/Calendar/index.d.ts +9 -11
  72. package/dist/Calendar/index.d.ts.map +1 -0
  73. package/dist/Card/index.d.ts +17 -19
  74. package/dist/Card/index.d.ts.map +1 -0
  75. package/dist/CheckBox/index.d.ts +6 -8
  76. package/dist/CheckBox/index.d.ts.map +1 -0
  77. package/dist/Chips/index.d.ts +4 -6
  78. package/dist/Chips/index.d.ts.map +1 -0
  79. package/dist/CorrectActivityModal/index.d.ts +39 -0
  80. package/dist/CorrectActivityModal/index.d.ts.map +1 -0
  81. package/dist/CorrectActivityModal/index.js +3674 -0
  82. package/dist/CorrectActivityModal/index.js.map +1 -0
  83. package/dist/CorrectActivityModal/index.mjs +3689 -0
  84. package/dist/CorrectActivityModal/index.mjs.map +1 -0
  85. package/dist/Divider/index.d.ts +3 -5
  86. package/dist/Divider/index.d.ts.map +1 -0
  87. package/dist/DownloadButton/index.d.ts +5 -7
  88. package/dist/DownloadButton/index.d.ts.map +1 -0
  89. package/dist/DropdownMenu/index.d.ts +26 -28
  90. package/dist/DropdownMenu/index.d.ts.map +1 -0
  91. package/dist/EmptyState/index.d.ts +5 -7
  92. package/dist/EmptyState/index.d.ts.map +1 -0
  93. package/dist/FileAttachment/index.d.ts +72 -0
  94. package/dist/FileAttachment/index.d.ts.map +1 -0
  95. package/dist/FileAttachment/index.js +239 -0
  96. package/dist/FileAttachment/index.js.map +1 -0
  97. package/dist/FileAttachment/index.mjs +213 -0
  98. package/dist/FileAttachment/index.mjs.map +1 -0
  99. package/dist/IconButton/index.d.ts +6 -8
  100. package/dist/IconButton/index.d.ts.map +1 -0
  101. package/dist/IconRender/index.d.ts +5 -6
  102. package/dist/IconRender/index.d.ts.map +1 -0
  103. package/dist/IconRoundedButton/index.d.ts +4 -6
  104. package/dist/IconRoundedButton/index.d.ts.map +1 -0
  105. package/dist/Input/index.d.ts +5 -7
  106. package/dist/Input/index.d.ts.map +1 -0
  107. package/dist/LatexRenderer/index.d.ts +5 -6
  108. package/dist/LatexRenderer/index.d.ts.map +1 -0
  109. package/dist/LoadingModal/index.d.ts +3 -5
  110. package/dist/LoadingModal/index.d.ts.map +1 -0
  111. package/dist/Menu/index.d.ts +12 -14
  112. package/dist/Menu/index.d.ts.map +1 -0
  113. package/dist/Modal/index.d.ts +3 -5
  114. package/dist/Modal/index.d.ts.map +1 -0
  115. package/dist/Modal/utils/videoUtils/index.d.ts +4 -5
  116. package/dist/Modal/utils/videoUtils/index.d.ts.map +1 -0
  117. package/dist/MultipleChoice/index.d.ts +2 -4
  118. package/dist/MultipleChoice/index.d.ts.map +1 -0
  119. package/dist/NavButton/index.d.ts +5 -7
  120. package/dist/NavButton/index.d.ts.map +1 -0
  121. package/dist/NoSearchResult/index.d.ts +4 -6
  122. package/dist/NoSearchResult/index.d.ts.map +1 -0
  123. package/dist/NotFound/index.d.ts +4 -6
  124. package/dist/NotFound/index.d.ts.map +1 -0
  125. package/dist/NotificationCard/index.d.ts +218 -3
  126. package/dist/NotificationCard/index.d.ts.map +1 -0
  127. package/dist/ProgressBar/index.d.ts +4 -6
  128. package/dist/ProgressBar/index.d.ts.map +1 -0
  129. package/dist/ProgressCircle/index.d.ts +4 -6
  130. package/dist/ProgressCircle/index.d.ts.map +1 -0
  131. package/dist/Quiz/index.d.ts +19 -23
  132. package/dist/Quiz/index.d.ts.map +1 -0
  133. package/dist/Quiz/useQuizStore/index.d.ts +14 -17
  134. package/dist/Quiz/useQuizStore/index.d.ts.map +1 -0
  135. package/dist/Radio/index.d.ts +14 -15
  136. package/dist/Radio/index.d.ts.map +1 -0
  137. package/dist/Search/index.d.ts +4 -6
  138. package/dist/Search/index.d.ts.map +1 -0
  139. package/dist/Select/index.d.ts +12 -14
  140. package/dist/Select/index.d.ts.map +1 -0
  141. package/dist/SelectionButton/index.d.ts +5 -7
  142. package/dist/SelectionButton/index.d.ts.map +1 -0
  143. package/dist/Skeleton/index.d.ts +10 -12
  144. package/dist/Skeleton/index.d.ts.map +1 -0
  145. package/dist/StatisticsCard/index.d.ts +3 -5
  146. package/dist/StatisticsCard/index.d.ts.map +1 -0
  147. package/dist/Stepper/index.d.ts +6 -8
  148. package/dist/Stepper/index.d.ts.map +1 -0
  149. package/dist/SubjectInfo/index.d.ts +17 -2
  150. package/dist/SubjectInfo/index.d.ts.map +1 -0
  151. package/dist/Support/TicketModal/index.d.ts +14 -0
  152. package/dist/Support/TicketModal/index.d.ts.map +1 -0
  153. package/dist/Support/TicketModal/index.js +1279 -0
  154. package/dist/Support/TicketModal/index.js.map +1 -0
  155. package/dist/Support/TicketModal/index.mjs +1248 -0
  156. package/dist/Support/TicketModal/index.mjs.map +1 -0
  157. package/dist/Support/index.d.ts +8 -0
  158. package/dist/Support/index.d.ts.map +1 -0
  159. package/dist/Support/index.js +2686 -0
  160. package/dist/Support/index.js.map +1 -0
  161. package/dist/Support/index.mjs +2676 -0
  162. package/dist/Support/index.mjs.map +1 -0
  163. package/dist/Table/TablePagination/index.d.ts +4 -6
  164. package/dist/Table/TablePagination/index.d.ts.map +1 -0
  165. package/dist/Table/index.d.ts +18 -19
  166. package/dist/Table/index.d.ts.map +1 -0
  167. package/dist/TableProvider/index.css +112 -0
  168. package/dist/TableProvider/index.css.map +1 -1
  169. package/dist/TableProvider/index.d.ts +198 -4
  170. package/dist/TableProvider/index.d.ts.map +1 -0
  171. package/dist/TableProvider/index.js +23 -19
  172. package/dist/TableProvider/index.js.map +1 -1
  173. package/dist/TableProvider/index.mjs +45 -41
  174. package/dist/TableProvider/index.mjs.map +1 -1
  175. package/dist/Text/index.d.ts +4 -6
  176. package/dist/Text/index.d.ts.map +1 -0
  177. package/dist/TextArea/index.d.ts +6 -8
  178. package/dist/TextArea/index.d.ts.map +1 -0
  179. package/dist/ThemeToggle/index.d.ts +4 -8
  180. package/dist/ThemeToggle/index.d.ts.map +1 -0
  181. package/dist/Toast/ToastStore/index.d.ts +3 -5
  182. package/dist/Toast/ToastStore/index.d.ts.map +1 -0
  183. package/dist/Toast/Toaster/index.d.ts +4 -6
  184. package/dist/Toast/Toaster/index.d.ts.map +1 -0
  185. package/dist/Toast/index.d.ts +3 -5
  186. package/dist/Toast/index.d.ts.map +1 -0
  187. package/dist/VideoPlayer/index.d.ts +4 -6
  188. package/dist/VideoPlayer/index.d.ts.map +1 -0
  189. package/dist/Whiteboard/index.d.ts +5 -7
  190. package/dist/Whiteboard/index.d.ts.map +1 -0
  191. package/dist/assets/icons/subjects/BookOpenText.d.ts +5 -0
  192. package/dist/assets/icons/subjects/BookOpenText.d.ts.map +1 -0
  193. package/dist/assets/icons/subjects/ChatEN.d.ts +5 -0
  194. package/dist/assets/icons/subjects/ChatEN.d.ts.map +1 -0
  195. package/dist/assets/icons/subjects/ChatES.d.ts +5 -0
  196. package/dist/assets/icons/subjects/ChatES.d.ts.map +1 -0
  197. package/dist/assets/icons/subjects/ChatPT.d.ts +5 -0
  198. package/dist/assets/icons/subjects/ChatPT.d.ts.map +1 -0
  199. package/dist/assets/icons/subjects/HeadCircuit.d.ts +5 -0
  200. package/dist/assets/icons/subjects/HeadCircuit.d.ts.map +1 -0
  201. package/dist/assets/icons/subjects/Microscope.d.ts +5 -0
  202. package/dist/assets/icons/subjects/Microscope.d.ts.map +1 -0
  203. package/dist/enums/SubjectEnum.d.ts +19 -0
  204. package/dist/enums/SubjectEnum.d.ts.map +1 -0
  205. package/dist/hooks/useAppContent.d.ts +55 -0
  206. package/dist/hooks/useAppContent.d.ts.map +1 -0
  207. package/dist/hooks/useAppInitialization.d.ts +21 -0
  208. package/dist/hooks/useAppInitialization.d.ts.map +1 -0
  209. package/dist/hooks/useInstitution.d.ts +2 -0
  210. package/dist/hooks/useInstitution.d.ts.map +1 -0
  211. package/dist/hooks/useMobile/index.d.ts +4 -5
  212. package/dist/hooks/useMobile/index.d.ts.map +1 -0
  213. package/dist/hooks/useNotificationStore.d.ts +34 -0
  214. package/dist/hooks/useNotificationStore.d.ts.map +1 -0
  215. package/dist/hooks/useNotifications.d.ts +129 -0
  216. package/dist/hooks/useNotifications.d.ts.map +1 -0
  217. package/dist/hooks/useScreen.d.ts +38 -0
  218. package/dist/hooks/useScreen.d.ts.map +1 -0
  219. package/dist/hooks/useTheme/index.d.ts +4 -7
  220. package/dist/hooks/useTheme/index.d.ts.map +1 -0
  221. package/dist/index.css +112 -0
  222. package/dist/index.css.map +1 -1
  223. package/dist/index.d.ts +127 -789
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +9005 -7016
  226. package/dist/index.js.map +1 -1
  227. package/dist/index.mjs +9049 -7071
  228. package/dist/index.mjs.map +1 -1
  229. package/dist/store/appStore.d.ts +27 -0
  230. package/dist/store/appStore.d.ts.map +1 -0
  231. package/dist/store/authStore.d.ts +75 -0
  232. package/dist/store/authStore.d.ts.map +1 -0
  233. package/dist/store/notificationStore.d.ts +89 -0
  234. package/dist/store/notificationStore.d.ts.map +1 -0
  235. package/dist/{themeStore-P2X64zC-.d.ts → store/themeStore.d.ts} +8 -12
  236. package/dist/store/themeStore.d.ts.map +1 -0
  237. package/dist/styles.css +112 -0
  238. package/dist/styles.css.map +1 -1
  239. package/dist/suporthistory-W5LBGAUP.png +0 -0
  240. package/dist/types/activityDetails.d.ts +127 -0
  241. package/dist/types/activityDetails.d.ts.map +1 -0
  242. package/dist/types/activityFilters.d.ts +51 -0
  243. package/dist/types/activityFilters.d.ts.map +1 -0
  244. package/dist/types/auth.d.ts +53 -0
  245. package/dist/types/auth.d.ts.map +1 -0
  246. package/dist/types/notifications.d.ts +199 -0
  247. package/dist/types/notifications.d.ts.map +1 -0
  248. package/dist/types/questionTypes.d.ts +6 -0
  249. package/dist/types/questionTypes.d.ts.map +1 -0
  250. package/dist/types/studentActivityCorrection.d.ts +57 -0
  251. package/dist/types/studentActivityCorrection.d.ts.map +1 -0
  252. package/dist/types/support/index.d.ts +111 -0
  253. package/dist/types/support/index.d.ts.map +1 -0
  254. package/dist/types/support/index.js +115 -0
  255. package/dist/types/support/index.js.map +1 -0
  256. package/dist/types/support/index.mjs +84 -0
  257. package/dist/types/support/index.mjs.map +1 -0
  258. package/dist/utils/activityFilters.d.ts +23 -0
  259. package/dist/utils/activityFilters.d.ts.map +1 -0
  260. package/dist/utils/dropdown.d.ts +12 -0
  261. package/dist/utils/dropdown.d.ts.map +1 -0
  262. package/dist/utils/index.d.ts +6 -43
  263. package/dist/utils/index.d.ts.map +1 -0
  264. package/dist/utils/keys.d.ts +24 -0
  265. package/dist/utils/keys.d.ts.map +1 -0
  266. package/package.json +20 -4
  267. package/dist/Accordation/index.d.mts +0 -15
  268. package/dist/ActivityFilters/index.d.mts +0 -5
  269. package/dist/ActivityFilters-Cs3TpGAY.d.ts +0 -97
  270. package/dist/ActivityFilters-CsX8y41f.d.mts +0 -97
  271. package/dist/Alert/index.d.mts +0 -13
  272. package/dist/AlertDialog/index.d.mts +0 -36
  273. package/dist/AlertManager/index.d.mts +0 -17
  274. package/dist/AlertManagerView/index.d.mts +0 -31
  275. package/dist/Alternative/index.d.mts +0 -81
  276. package/dist/Auth/AuthProvider/index.d.mts +0 -3
  277. package/dist/Auth/ProtectedRoute/index.d.mts +0 -3
  278. package/dist/Auth/PublicRoute/index.d.mts +0 -3
  279. package/dist/Auth/getRootDomain/index.d.mts +0 -3
  280. package/dist/Auth/index.d.mts +0 -326
  281. package/dist/Auth/useApiConfig/index.d.mts +0 -43
  282. package/dist/Auth/useAuth/index.d.mts +0 -3
  283. package/dist/Auth/useAuthGuard/index.d.mts +0 -3
  284. package/dist/Auth/useRouteAuth/index.d.mts +0 -3
  285. package/dist/Auth/useUrlAuthentication/index.d.mts +0 -69
  286. package/dist/Auth/withAuth/index.d.mts +0 -3
  287. package/dist/Auth/zustandAuthAdapter/index.d.mts +0 -75
  288. package/dist/Badge/index.d.mts +0 -46
  289. package/dist/BreadcrumbMenu/breadcrumbStore/index.d.mts +0 -77
  290. package/dist/BreadcrumbMenu/index.d.mts +0 -31
  291. package/dist/BreadcrumbMenu/useBreadcrumbBuilder/index.d.mts +0 -48
  292. package/dist/BreadcrumbMenu/useUrlParams/index.d.mts +0 -28
  293. package/dist/Button/index.d.mts +0 -45
  294. package/dist/Calendar/index.d.mts +0 -60
  295. package/dist/Card/index.d.mts +0 -150
  296. package/dist/CheckBox/index.d.mts +0 -74
  297. package/dist/CheckBoxGroup-9n5C0OH4.d.mts +0 -24
  298. package/dist/CheckBoxGroup-9n5C0OH4.d.ts +0 -24
  299. package/dist/Chips/index.d.mts +0 -41
  300. package/dist/Divider/index.d.mts +0 -32
  301. package/dist/DownloadButton/index.d.mts +0 -46
  302. package/dist/DropdownMenu/index.d.mts +0 -82
  303. package/dist/EmptyState/index.d.mts +0 -65
  304. package/dist/IconButton/index.d.mts +0 -76
  305. package/dist/IconRender/index.d.mts +0 -36
  306. package/dist/IconRoundedButton/index.d.mts +0 -34
  307. package/dist/Input/index.d.mts +0 -27
  308. package/dist/LatexRenderer/index.d.mts +0 -50
  309. package/dist/LoadingModal/index.d.mts +0 -11
  310. package/dist/Menu/index.d.mts +0 -48
  311. package/dist/Modal/index.d.mts +0 -76
  312. package/dist/Modal/utils/videoUtils/index.d.mts +0 -28
  313. package/dist/MultipleChoice/index.d.mts +0 -20
  314. package/dist/NavButton/index.d.mts +0 -57
  315. package/dist/NoSearchResult/index.d.mts +0 -37
  316. package/dist/NotFound/index.d.mts +0 -58
  317. package/dist/NotificationCard/index.d.mts +0 -3
  318. package/dist/NotificationCard-4GgB0Nsf.d.mts +0 -417
  319. package/dist/NotificationCard-4GgB0Nsf.d.ts +0 -417
  320. package/dist/ProgressBar/index.d.mts +0 -95
  321. package/dist/ProgressCircle/index.d.mts +0 -60
  322. package/dist/Quiz/index.d.mts +0 -55
  323. package/dist/Quiz/useQuizStore/index.d.mts +0 -258
  324. package/dist/Radio/index.d.mts +0 -203
  325. package/dist/Search/index.d.mts +0 -27
  326. package/dist/Select/index.d.mts +0 -59
  327. package/dist/SelectionButton/index.d.mts +0 -57
  328. package/dist/Skeleton/index.d.mts +0 -40
  329. package/dist/StatisticsCard/index.d.mts +0 -79
  330. package/dist/Stepper/index.d.mts +0 -169
  331. package/dist/SubjectInfo/index.d.mts +0 -2
  332. package/dist/SubjectInfo-Dvt0OodP.d.mts +0 -37
  333. package/dist/SubjectInfo-Dvt0OodP.d.ts +0 -37
  334. package/dist/Table/TablePagination/index.d.mts +0 -64
  335. package/dist/Table/index.d.mts +0 -93
  336. package/dist/TableProvider/index.d.mts +0 -4
  337. package/dist/TableProvider-BnAnv3OV.d.mts +0 -239
  338. package/dist/TableProvider-GfPlLqzg.d.ts +0 -239
  339. package/dist/Text/index.d.mts +0 -58
  340. package/dist/TextArea/index.d.mts +0 -74
  341. package/dist/ThemeToggle/index.d.mts +0 -12
  342. package/dist/Toast/ToastStore/index.d.mts +0 -19
  343. package/dist/Toast/Toaster/index.d.mts +0 -16
  344. package/dist/Toast/index.d.mts +0 -17
  345. package/dist/VideoPlayer/index.d.mts +0 -52
  346. package/dist/Whiteboard/index.d.mts +0 -34
  347. package/dist/hooks/useMobile/index.d.mts +0 -29
  348. package/dist/hooks/useTheme/index.d.mts +0 -17
  349. package/dist/index.d.mts +0 -789
  350. package/dist/styles.d.mts +0 -2
  351. package/dist/styles.d.ts +0 -2
  352. package/dist/themeStore-P2X64zC-.d.mts +0 -79
  353. package/dist/types-DqZRjqxh.d.ts +0 -67
  354. package/dist/types-pd3QVhSu.d.mts +0 -67
  355. package/dist/utils/index.d.mts +0 -51
@@ -0,0 +1,213 @@
1
+ // src/components/FileAttachment/FileAttachment.tsx
2
+ import { useRef } from "react";
3
+ import { Paperclip, FileText, X } from "phosphor-react";
4
+
5
+ // src/utils/utils.ts
6
+ import { clsx } from "clsx";
7
+ import { twMerge } from "tailwind-merge";
8
+ function cn(...inputs) {
9
+ return twMerge(clsx(inputs));
10
+ }
11
+
12
+ // src/components/Button/Button.tsx
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ var VARIANT_ACTION_CLASSES = {
15
+ solid: {
16
+ primary: "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",
17
+ positive: "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",
18
+ negative: "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"
19
+ },
20
+ outline: {
21
+ primary: "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",
22
+ positive: "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",
23
+ negative: "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"
24
+ },
25
+ link: {
26
+ primary: "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",
27
+ positive: "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",
28
+ negative: "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"
29
+ }
30
+ };
31
+ var SIZE_CLASSES = {
32
+ "extra-small": "text-xs px-3.5 py-2",
33
+ small: "text-sm px-4 py-2.5",
34
+ medium: "text-md px-5 py-2.5",
35
+ large: "text-lg px-6 py-3",
36
+ "extra-large": "text-lg px-7 py-3.5"
37
+ };
38
+ var Button = ({
39
+ children,
40
+ iconLeft,
41
+ iconRight,
42
+ size = "medium",
43
+ variant = "solid",
44
+ action = "primary",
45
+ className = "",
46
+ disabled,
47
+ type = "button",
48
+ ...props
49
+ }) => {
50
+ const sizeClasses = SIZE_CLASSES[size];
51
+ const variantClasses = VARIANT_ACTION_CLASSES[variant][action];
52
+ const baseClasses = "inline-flex items-center justify-center rounded-full cursor-pointer font-medium";
53
+ return /* @__PURE__ */ jsxs(
54
+ "button",
55
+ {
56
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
57
+ disabled,
58
+ type,
59
+ ...props,
60
+ children: [
61
+ iconLeft && /* @__PURE__ */ jsx("span", { className: "mr-2 flex items-center", children: iconLeft }),
62
+ children,
63
+ iconRight && /* @__PURE__ */ jsx("span", { className: "ml-2 flex items-center", children: iconRight })
64
+ ]
65
+ }
66
+ );
67
+ };
68
+ var Button_default = Button;
69
+
70
+ // src/components/Text/Text.tsx
71
+ import { jsx as jsx2 } from "react/jsx-runtime";
72
+ var Text = ({
73
+ children,
74
+ size = "md",
75
+ weight = "normal",
76
+ color = "text-text-950",
77
+ as,
78
+ className = "",
79
+ ...props
80
+ }) => {
81
+ let sizeClasses = "";
82
+ let weightClasses = "";
83
+ const sizeClassMap = {
84
+ "2xs": "text-2xs",
85
+ xs: "text-xs",
86
+ sm: "text-sm",
87
+ md: "text-md",
88
+ lg: "text-lg",
89
+ xl: "text-xl",
90
+ "2xl": "text-2xl",
91
+ "3xl": "text-3xl",
92
+ "4xl": "text-4xl",
93
+ "5xl": "text-5xl",
94
+ "6xl": "text-6xl"
95
+ };
96
+ sizeClasses = sizeClassMap[size] ?? sizeClassMap.md;
97
+ const weightClassMap = {
98
+ hairline: "font-hairline",
99
+ light: "font-light",
100
+ normal: "font-normal",
101
+ medium: "font-medium",
102
+ semibold: "font-semibold",
103
+ bold: "font-bold",
104
+ extrabold: "font-extrabold",
105
+ black: "font-black"
106
+ };
107
+ weightClasses = weightClassMap[weight] ?? weightClassMap.normal;
108
+ const baseClasses = "font-primary";
109
+ const Component = as ?? "p";
110
+ return /* @__PURE__ */ jsx2(
111
+ Component,
112
+ {
113
+ className: cn(baseClasses, sizeClasses, weightClasses, color, className),
114
+ ...props,
115
+ children
116
+ }
117
+ );
118
+ };
119
+ var Text_default = Text;
120
+
121
+ // src/components/FileAttachment/FileAttachment.tsx
122
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
123
+ var formatFileSize = (bytes) => {
124
+ if (bytes < 1024) return `${bytes} B`;
125
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
126
+ if (bytes < 1024 * 1024 * 1024)
127
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
128
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
129
+ };
130
+ var generateFileId = () => {
131
+ return crypto.randomUUID();
132
+ };
133
+ var FileAttachment = ({
134
+ files,
135
+ onFilesAdd,
136
+ onFileRemove,
137
+ readOnly = false,
138
+ buttonLabel = "Anexar",
139
+ multiple = true,
140
+ className,
141
+ hideButton = false
142
+ }) => {
143
+ const fileInputRef = useRef(null);
144
+ const handleFileChange = (event) => {
145
+ const selectedFiles = event.target.files;
146
+ if (selectedFiles && selectedFiles.length > 0) {
147
+ const filesArray = Array.from(selectedFiles);
148
+ onFilesAdd(filesArray);
149
+ }
150
+ if (fileInputRef.current) {
151
+ fileInputRef.current.value = "";
152
+ }
153
+ };
154
+ const handleAttachClick = () => {
155
+ fileInputRef.current?.click();
156
+ };
157
+ return /* @__PURE__ */ jsxs2("div", { className: cn("flex flex-col gap-2", className), children: [
158
+ /* @__PURE__ */ jsx3(
159
+ "input",
160
+ {
161
+ type: "file",
162
+ ref: fileInputRef,
163
+ className: "hidden",
164
+ onChange: handleFileChange,
165
+ multiple,
166
+ "aria-label": "Selecionar arquivos"
167
+ }
168
+ ),
169
+ !readOnly && !hideButton && /* @__PURE__ */ jsxs2(
170
+ Button_default,
171
+ {
172
+ type: "button",
173
+ variant: "outline",
174
+ size: "small",
175
+ onClick: handleAttachClick,
176
+ className: "self-start flex items-center gap-2",
177
+ children: [
178
+ /* @__PURE__ */ jsx3(Paperclip, { size: 16 }),
179
+ buttonLabel
180
+ ]
181
+ }
182
+ ),
183
+ files.length > 0 && /* @__PURE__ */ jsx3("div", { className: "flex flex-wrap gap-2", children: files.map((attachedFile) => /* @__PURE__ */ jsxs2(
184
+ "div",
185
+ {
186
+ className: "flex items-center gap-2 bg-background-50 px-3 py-2 rounded-lg border border-border-100",
187
+ children: [
188
+ /* @__PURE__ */ jsx3(FileText, { size: 16, className: "text-text-500 shrink-0" }),
189
+ /* @__PURE__ */ jsx3(Text_default, { className: "text-sm text-text-700 truncate max-w-[200px]", children: attachedFile.file.name }),
190
+ /* @__PURE__ */ jsx3(Text_default, { className: "text-xs text-text-400 shrink-0", children: formatFileSize(attachedFile.file.size) }),
191
+ !readOnly && /* @__PURE__ */ jsx3(
192
+ "button",
193
+ {
194
+ type: "button",
195
+ onClick: () => onFileRemove(attachedFile.id),
196
+ className: "text-text-400 hover:text-error-500 transition-colors shrink-0",
197
+ "aria-label": `Remover ${attachedFile.file.name}`,
198
+ children: /* @__PURE__ */ jsx3(X, { size: 14 })
199
+ }
200
+ )
201
+ ]
202
+ },
203
+ attachedFile.id
204
+ )) })
205
+ ] });
206
+ };
207
+ var FileAttachment_default = FileAttachment;
208
+ export {
209
+ FileAttachment_default as default,
210
+ formatFileSize,
211
+ generateFileId
212
+ };
213
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/FileAttachment/FileAttachment.tsx","../../src/utils/utils.ts","../../src/components/Button/Button.tsx","../../src/components/Text/Text.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { Paperclip, FileText, X } from 'phosphor-react';\nimport Button from '../Button/Button';\nimport Text from '../Text/Text';\nimport { cn } from '../../utils/utils';\n\n/**\n * Represents an attached file with unique identifier\n */\nexport interface AttachedFile {\n /** The file object */\n file: File;\n /** Unique identifier for the file */\n id: string;\n}\n\n/**\n * Props for the FileAttachment component\n */\nexport interface FileAttachmentProps {\n /** List of attached files */\n files: AttachedFile[];\n /** Callback when files are added */\n onFilesAdd: (files: File[]) => void;\n /** Callback when a file is removed */\n onFileRemove: (id: string) => void;\n /** Whether the files are read-only (no removal allowed) */\n readOnly?: boolean;\n /** Text for the attach button */\n buttonLabel?: string;\n /** Whether to accept multiple files */\n multiple?: boolean;\n /** Additional CSS class */\n className?: string;\n /** Whether to hide the attach button */\n hideButton?: boolean;\n}\n\n/**\n * Formats file size to human-readable string\n * @param bytes - File size in bytes\n * @returns Formatted string (e.g., \"1.5 MB\")\n */\nconst formatFileSize = (bytes: number): string => {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n if (bytes < 1024 * 1024 * 1024)\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;\n};\n\n/**\n * Generates a unique ID for file tracking\n * @returns Unique string identifier\n */\nconst generateFileId = (): string => {\n return crypto.randomUUID();\n};\n\n/**\n * Reusable file attachment component\n *\n * Allows users to attach multiple files with preview and removal functionality.\n * No file size or type restrictions are applied on the client side.\n *\n * @param props - Component props\n * @returns JSX element\n *\n * @example\n * ```tsx\n * const [files, setFiles] = useState<AttachedFile[]>([]);\n *\n * <FileAttachment\n * files={files}\n * onFilesAdd={(newFiles) => {\n * const attachedFiles = newFiles.map(file => ({\n * file,\n * id: generateFileId()\n * }));\n * setFiles(prev => [...prev, ...attachedFiles]);\n * }}\n * onFileRemove={(id) => setFiles(prev => prev.filter(f => f.id !== id))}\n * multiple\n * />\n * ```\n */\nconst FileAttachment = ({\n files,\n onFilesAdd,\n onFileRemove,\n readOnly = false,\n buttonLabel = 'Anexar',\n multiple = true,\n className,\n hideButton = false,\n}: FileAttachmentProps) => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n /**\n * Handle file input change\n * @param event - Input change event\n */\n const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const selectedFiles = event.target.files;\n if (selectedFiles && selectedFiles.length > 0) {\n const filesArray: File[] = Array.from(selectedFiles);\n onFilesAdd(filesArray);\n }\n // Reset input to allow selecting the same file again\n if (fileInputRef.current) {\n fileInputRef.current.value = '';\n }\n };\n\n /**\n * Trigger file input click\n */\n const handleAttachClick = () => {\n fileInputRef.current?.click();\n };\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n {/* Hidden file input */}\n <input\n type=\"file\"\n ref={fileInputRef}\n className=\"hidden\"\n onChange={handleFileChange}\n multiple={multiple}\n aria-label=\"Selecionar arquivos\"\n />\n\n {/* Attach button */}\n {!readOnly && !hideButton && (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"small\"\n onClick={handleAttachClick}\n className=\"self-start flex items-center gap-2\"\n >\n <Paperclip size={16} />\n {buttonLabel}\n </Button>\n )}\n\n {/* Attached files list */}\n {files.length > 0 && (\n <div className=\"flex flex-wrap gap-2\">\n {files.map((attachedFile) => (\n <div\n key={attachedFile.id}\n className=\"flex items-center gap-2 bg-background-50 px-3 py-2 rounded-lg border border-border-100\"\n >\n <FileText size={16} className=\"text-text-500 shrink-0\" />\n <Text className=\"text-sm text-text-700 truncate max-w-[200px]\">\n {attachedFile.file.name}\n </Text>\n <Text className=\"text-xs text-text-400 shrink-0\">\n {formatFileSize(attachedFile.file.size)}\n </Text>\n {!readOnly && (\n <button\n type=\"button\"\n onClick={() => onFileRemove(attachedFile.id)}\n className=\"text-text-400 hover:text-error-500 transition-colors shrink-0\"\n aria-label={`Remover ${attachedFile.file.name}`}\n >\n <X size={14} />\n </button>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport { generateFileId, formatFileSize };\nexport default FileAttachment;\n","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 { 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 { 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"],"mappings":"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","names":["jsx","jsx","jsxs"]}
@@ -1,10 +1,8 @@
1
- import * as react from 'react';
2
- import { ReactNode, ButtonHTMLAttributes } from 'react';
3
-
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
4
2
  /**
5
3
  * IconButton component props interface
6
4
  */
7
- type IconButtonProps = {
5
+ export type IconButtonProps = {
8
6
  /** Ícone a ser exibido no botão */
9
7
  icon: ReactNode;
10
8
  /** Tamanho do botão */
@@ -62,7 +60,7 @@ type IconButtonProps = {
62
60
  * />
63
61
  * ```
64
62
  */
65
- declare const IconButton: react.ForwardRefExoticComponent<{
63
+ declare const IconButton: import("react").ForwardRefExoticComponent<{
66
64
  /** Ícone a ser exibido no botão */
67
65
  icon: ReactNode;
68
66
  /** Tamanho do botão */
@@ -71,6 +69,6 @@ declare const IconButton: react.ForwardRefExoticComponent<{
71
69
  active?: boolean;
72
70
  /** Additional CSS classes to apply */
73
71
  className?: string;
74
- } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
75
-
76
- export { type IconButtonProps, IconButton as default };
72
+ } & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
73
+ export default IconButton;
74
+ //# sourceMappingURL=IconButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAGpE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,mCAAmC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,uBAAuB;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,8GAA8G;IAC9G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,QAAA,MAAM,UAAU;IA1Dd,mCAAmC;UAC7B,SAAS;IACf,uBAAuB;WAChB,IAAI,GAAG,IAAI;IAClB,8GAA8G;aACrG,OAAO;IAChB,sCAAsC;gBAC1B,MAAM;+FA+GnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,5 @@
1
- import { ReactElement, JSX } from 'react';
2
-
3
- interface IconRenderProps {
1
+ import { JSX, ReactElement } from 'react';
2
+ export interface IconRenderProps {
4
3
  /**
5
4
  * The name of the icon to render
6
5
  */
@@ -31,6 +30,6 @@ interface IconRenderProps {
31
30
  * @param weight - The weight/style of the icon (for Phosphor icons)
32
31
  * @returns JSX element with the corresponding icon
33
32
  */
34
- declare const IconRender: ({ iconName, color, size, weight, }: IconRenderProps) => JSX.Element;
35
-
36
- export { IconRender, type IconRenderProps, IconRender as default };
33
+ export declare const IconRender: ({ iconName, color, size, weight, }: IconRenderProps) => JSX.Element;
34
+ export default IconRender;
35
+ //# sourceMappingURL=IconRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconRender.d.ts","sourceRoot":"","sources":["../../../src/components/IconRender/IconRender.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAavE,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,oCAKxB,eAAe,KAAG,GAAG,CAAC,OA0BxB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,4 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode, ButtonHTMLAttributes } from 'react';
3
-
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
4
2
  /**
5
3
  * IconRoundedButton component props interface
6
4
  */
@@ -29,6 +27,6 @@ type IconRoundedButtonProps = {
29
27
  * />
30
28
  * ```
31
29
  */
32
- declare const IconRoundedButton: ({ icon, className, disabled, ...props }: IconRoundedButtonProps) => react_jsx_runtime.JSX.Element;
33
-
34
- export { IconRoundedButton as default };
30
+ declare const IconRoundedButton: ({ icon, className, disabled, ...props }: IconRoundedButtonProps) => import("react/jsx-runtime").JSX.Element;
31
+ export default IconRoundedButton;
32
+ //# sourceMappingURL=IconRoundedButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconRoundedButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconRoundedButton/IconRoundedButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxD;;GAEG;AACH,KAAK,sBAAsB,GAAG;IAC5B,mCAAmC;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,iBAAiB,GAAI,yCAKxB,sBAAsB,4CAiCxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,7 +1,5 @@
1
- import * as react from 'react';
2
- import { ReactNode, InputHTMLAttributes } from 'react';
3
-
4
- declare const Input: react.ForwardRefExoticComponent<{
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ declare const Input: import("react").ForwardRefExoticComponent<{
5
3
  /** Label text displayed above the input */
6
4
  label?: string;
7
5
  /** Helper text displayed below the input */
@@ -22,6 +20,6 @@ declare const Input: react.ForwardRefExoticComponent<{
22
20
  className?: string;
23
21
  /** Additional CSS classes to apply to the container */
24
22
  containerClassName?: string;
25
- } & Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & react.RefAttributes<HTMLInputElement>>;
26
-
27
- export { Input as default };
23
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & import("react").RefAttributes<HTMLInputElement>>;
24
+ export default Input;
25
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,SAAS,EAKV,MAAM,OAAO,CAAC;AA0Kf,QAAA,MAAM,KAAK;IAnIT,2CAA2C;YACnC,MAAM;IACd,4CAA4C;iBAC/B,MAAM;IACnB,8CAA8C;mBAC/B,MAAM;IACrB,wBAAwB;WACjB,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa;IACnD,kCAAkC;cACxB,UAAU,GAAG,YAAY,GAAG,SAAS;IAC/C,iCAAiC;YACzB,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW;IACtD,oDAAoD;eACzC,SAAS;IACpB,qDAAqD;gBACzC,SAAS;IACrB,mDAAmD;gBACvC,MAAM;IAClB,uDAAuD;yBAClC,MAAM;0GAwP5B,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,10 +1,9 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import { CSSProperties, ReactNode } from 'react';
3
-
2
+ import 'katex/dist/katex.min.css';
4
3
  /**
5
4
  * Props for the LatexRenderer component
6
5
  */
7
- interface LatexRendererProps {
6
+ export interface LatexRendererProps {
8
7
  /** HTML content containing LaTeX expressions to render */
9
8
  content: string;
10
9
  /** Additional CSS classes to apply */
@@ -45,6 +44,6 @@ interface LatexRendererProps {
45
44
  * />
46
45
  * ```
47
46
  */
48
- declare const LatexRenderer: ({ content, className, style, onError, }: LatexRendererProps) => react_jsx_runtime.JSX.Element;
49
-
50
- export { type LatexRendererProps, LatexRenderer as default };
47
+ declare const LatexRenderer: ({ content, className, style, onError, }: LatexRendererProps) => import("react/jsx-runtime").JSX.Element;
48
+ export default LatexRenderer;
49
+ //# sourceMappingURL=LatexRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LatexRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/LatexRenderer/LatexRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,0BAA0B,CAAC;AAUlC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;CACxC;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,aAAa,GAAI,yCAKpB,kBAAkB,4CA4HpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,11 +1,9 @@
1
- import * as react from 'react';
2
1
  import { HTMLAttributes } from 'react';
3
-
4
2
  interface LoadingModalProps extends HTMLAttributes<HTMLDivElement> {
5
3
  open: boolean;
6
4
  title?: string;
7
5
  subtitle?: string;
8
6
  }
9
- declare const LoadingModal: react.ForwardRefExoticComponent<LoadingModalProps & react.RefAttributes<HTMLDivElement>>;
10
-
11
- export { LoadingModal as default };
7
+ declare const LoadingModal: import("react").ForwardRefExoticComponent<LoadingModalProps & import("react").RefAttributes<HTMLDivElement>>;
8
+ export default LoadingModal;
9
+ //# sourceMappingURL=loadingModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadingModal.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingModal/loadingModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnD,UAAU,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAChE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,YAAY,8GAgDjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,8 +1,5 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import { HTMLAttributes, ReactNode } from 'react';
4
1
  import { StoreApi } from 'zustand';
5
-
2
+ import { ReactNode, HTMLAttributes } from 'react';
6
3
  type MenuVariant = 'menu' | 'menu2' | 'menu-overflow' | 'breadcrumb';
7
4
  interface MenuStore {
8
5
  value: string;
@@ -10,7 +7,7 @@ interface MenuStore {
10
7
  onValueChange?: (value: string) => void;
11
8
  }
12
9
  type MenuStoreApi = StoreApi<MenuStore>;
13
- declare const useMenuStore: (externalStore?: MenuStoreApi) => MenuStoreApi;
10
+ export declare const useMenuStore: (externalStore?: MenuStoreApi) => MenuStoreApi;
14
11
  interface MenuProps extends HTMLAttributes<HTMLDivElement> {
15
12
  children: ReactNode;
16
13
  defaultValue: string;
@@ -18,12 +15,12 @@ interface MenuProps extends HTMLAttributes<HTMLDivElement> {
18
15
  variant?: MenuVariant;
19
16
  onValueChange?: (value: string) => void;
20
17
  }
21
- declare const Menu: react.ForwardRefExoticComponent<MenuProps & react.RefAttributes<HTMLDivElement>>;
18
+ declare const Menu: import("react").ForwardRefExoticComponent<MenuProps & import("react").RefAttributes<HTMLDivElement>>;
22
19
  interface MenuContentProps extends HTMLAttributes<HTMLUListElement> {
23
20
  children: ReactNode;
24
21
  variant?: MenuVariant;
25
22
  }
26
- declare const MenuContent: react.ForwardRefExoticComponent<MenuContentProps & react.RefAttributes<HTMLUListElement>>;
23
+ declare const MenuContent: import("react").ForwardRefExoticComponent<MenuContentProps & import("react").RefAttributes<HTMLUListElement>>;
27
24
  interface MenuItemProps extends HTMLAttributes<HTMLLIElement> {
28
25
  value: string;
29
26
  disabled?: boolean;
@@ -31,18 +28,19 @@ interface MenuItemProps extends HTMLAttributes<HTMLLIElement> {
31
28
  variant?: MenuVariant;
32
29
  separator?: boolean;
33
30
  }
34
- declare const MenuItem: react.ForwardRefExoticComponent<MenuItemProps & react.RefAttributes<HTMLLIElement>>;
31
+ declare const MenuItem: import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<HTMLLIElement>>;
35
32
  declare const MenuItemIcon: ({ className, icon, ...props }: HTMLAttributes<HTMLSpanElement> & {
36
33
  icon: ReactNode;
37
- }) => react_jsx_runtime.JSX.Element;
38
- declare const internalScroll: (container: HTMLUListElement | null, direction: "left" | "right") => void;
39
- declare const internalCheckScroll: (container: HTMLUListElement | null, setShowLeftArrow: (v: boolean) => void, setShowRightArrow: (v: boolean) => void) => void;
34
+ }) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const internalScroll: (container: HTMLUListElement | null, direction: "left" | "right") => void;
36
+ export declare const internalCheckScroll: (container: HTMLUListElement | null, setShowLeftArrow: (v: boolean) => void, setShowRightArrow: (v: boolean) => void) => void;
40
37
  interface MenuOverflowProps extends HTMLAttributes<HTMLDivElement> {
41
38
  children: ReactNode;
42
39
  defaultValue: string;
43
40
  value?: string;
44
41
  onValueChange?: (value: string) => void;
45
42
  }
46
- declare const MenuOverflow: ({ children, className, defaultValue, value, onValueChange, ...props }: MenuOverflowProps) => react_jsx_runtime.JSX.Element;
47
-
48
- export { Menu, MenuContent, MenuItem, MenuItemIcon, MenuOverflow, Menu as default, internalCheckScroll, internalScroll, useMenuStore };
43
+ declare const MenuOverflow: ({ children, className, defaultValue, value, onValueChange, ...props }: MenuOverflowProps) => import("react/jsx-runtime").JSX.Element;
44
+ export default Menu;
45
+ export { Menu, MenuContent, MenuItem, MenuOverflow, MenuItemIcon };
46
+ //# sourceMappingURL=Menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAY,MAAM,SAAS,CAAC;AACrD,OAAO,EACL,SAAS,EAIT,cAAc,EAQf,MAAM,OAAO,CAAC;AAIf,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,YAAY,CAAC;AAErE,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,KAAK,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAcxC,eAAO,MAAM,YAAY,GAAI,gBAAgB,YAAY,iBAGxD,CAAC;AAEF,UAAU,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxD,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AASD,QAAA,MAAM,IAAI,sGA0CT,CAAC;AAGF,UAAU,gBAAiB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACjE,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,QAAA,MAAM,WAAW,+GA6BhB,CAAC;AAGF,UAAU,aAAc,SAAQ,cAAc,CAAC,aAAa,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,QAAQ,yGA0Ib,CAAC;AAGF,QAAA,MAAM,YAAY,GAAI,+BAInB,cAAc,CAAC,eAAe,CAAC,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,4CAUvD,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,WAAW,gBAAgB,GAAG,IAAI,EAClC,WAAW,MAAM,GAAG,OAAO,SAO5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,WAAW,gBAAgB,GAAG,IAAI,EAClC,kBAAkB,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EACtC,mBAAmB,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,SAMxC,CAAC;AAEF,UAAU,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAChE,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,YAAY,GAAI,uEAOnB,iBAAiB,4CA8DnB,CAAC;AAgBF,eAAe,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -1,6 +1,4 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import { ReactNode } from 'react';
3
-
4
2
  /**
5
3
  * Modal component props interface
6
4
  */
@@ -71,6 +69,6 @@ type ModalProps = {
71
69
  * </Modal>
72
70
  * ```
73
71
  */
74
- declare const Modal: ({ isOpen, onClose, title, children, size, className, closeOnEscape, footer, hideCloseButton, variant, description, image, imageAlt, actionLink, actionLabel, contentClassName, }: ModalProps) => react_jsx_runtime.JSX.Element | null;
75
-
76
- export { Modal as default };
72
+ declare const Modal: ({ isOpen, onClose, title, children, size, className, closeOnEscape, footer, hideCloseButton, variant, description, image, imageAlt, actionLink, actionLabel, contentClassName, }: ModalProps) => import("react/jsx-runtime").JSX.Element | null;
73
+ export default Modal;
74
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAqBpD;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,KAAK,GAAI,kLAiBZ,UAAU,mDAyOZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -9,20 +9,19 @@
9
9
  * @param url - The URL to check
10
10
  * @returns true if the URL is from YouTube, false otherwise
11
11
  */
12
- declare const isYouTubeUrl: (url: string) => boolean;
12
+ export declare const isYouTubeUrl: (url: string) => boolean;
13
13
  /**
14
14
  * Extract YouTube video ID from URL
15
15
  *
16
16
  * @param url - The YouTube URL
17
17
  * @returns The video ID if found, null otherwise
18
18
  */
19
- declare const getYouTubeVideoId: (url: string) => string | null;
19
+ export declare const getYouTubeVideoId: (url: string) => string | null;
20
20
  /**
21
21
  * Generate YouTube embed URL for iframe
22
22
  *
23
23
  * @param videoId - The YouTube video ID
24
24
  * @returns The embed URL for the video
25
25
  */
26
- declare const getYouTubeEmbedUrl: (videoId: string) => string;
27
-
28
- export { getYouTubeEmbedUrl, getYouTubeVideoId, isYouTubeUrl };
26
+ export declare const getYouTubeEmbedUrl: (videoId: string) => string;
27
+ //# sourceMappingURL=videoUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"videoUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/Modal/utils/videoUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,OAI1C,CAAC;AAiEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAexD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MAEpD,CAAC"}
@@ -1,6 +1,4 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
1
  import { HtmlHTMLAttributes } from 'react';
3
-
4
2
  interface Choice {
5
3
  value: string;
6
4
  label: string;
@@ -15,6 +13,6 @@ interface MultipleChoiceListProps extends HtmlHTMLAttributes<HTMLDivElement> {
15
13
  onHandleSelectedValues?: (values: string[]) => void;
16
14
  mode?: 'interactive' | 'readonly';
17
15
  }
18
- declare const MultipleChoiceList: ({ disabled, className, choices, name, selectedValues, onHandleSelectedValues, mode, }: MultipleChoiceListProps) => react_jsx_runtime.JSX.Element;
19
-
16
+ declare const MultipleChoiceList: ({ disabled, className, choices, name, selectedValues, onHandleSelectedValues, mode, }: MultipleChoiceListProps) => import("react/jsx-runtime").JSX.Element;
20
17
  export { MultipleChoiceList };
18
+ //# sourceMappingURL=MultipleChoice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipleChoice.d.ts","sourceRoot":"","sources":["../../../src/components/MultipleChoice/MultipleChoice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,OAAO,CAAC;AAMhE,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,uBAAwB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,IAAI,CAAC,EAAE,aAAa,GAAG,UAAU,CAAC;CACnC;AAED,QAAA,MAAM,kBAAkB,GAAI,uFAQzB,uBAAuB,4CA6IzB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,6 +1,4 @@
1
- import * as react from 'react';
2
- import { ReactNode, ButtonHTMLAttributes } from 'react';
3
-
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
4
2
  /**
5
3
  * NavButton component for Analytica Ensino platforms
6
4
  *
@@ -43,7 +41,7 @@ import { ReactNode, ButtonHTMLAttributes } from 'react';
43
41
  * />
44
42
  * ```
45
43
  */
46
- declare const NavButton: react.ForwardRefExoticComponent<{
44
+ declare const NavButton: import("react").ForwardRefExoticComponent<{
47
45
  /** Ícone a ser exibido no botão */
48
46
  icon: ReactNode;
49
47
  /** Texto/label a ser exibido ao lado do ícone */
@@ -52,6 +50,6 @@ declare const NavButton: react.ForwardRefExoticComponent<{
52
50
  selected?: boolean;
53
51
  /** Additional CSS classes to apply */
54
52
  className?: string;
55
- } & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
56
-
57
- export { NavButton as default };
53
+ } & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
54
+ export default NavButton;
55
+ //# sourceMappingURL=NavButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavButton.d.ts","sourceRoot":"","sources":["../../../src/components/NavButton/NavButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAiBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,QAAA,MAAM,SAAS;IApDb,mCAAmC;UAC7B,SAAS;IACf,iDAAiD;WAC1C,MAAM;IACb,iCAAiC;eACtB,OAAO;IAClB,sCAAsC;gBAC1B,MAAM;+FA6FnB,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -1,6 +1,4 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
-
3
- interface NoSearchResultProps {
1
+ export interface NoSearchResultProps {
4
2
  /**
5
3
  * Image source for the illustration
6
4
  */
@@ -32,6 +30,6 @@ interface NoSearchResultProps {
32
30
  * />
33
31
  * ```
34
32
  */
35
- declare const NoSearchResult: ({ image, title, description }: NoSearchResultProps) => react_jsx_runtime.JSX.Element;
36
-
37
- export { type NoSearchResultProps, NoSearchResult as default };
33
+ declare const NoSearchResult: ({ image, title, description }: NoSearchResultProps) => import("react/jsx-runtime").JSX.Element;
34
+ export default NoSearchResult;
35
+ //# sourceMappingURL=NoSearchResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoSearchResult.d.ts","sourceRoot":"","sources":["../../../src/components/NoSearchResult/NoSearchResult.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,cAAc,GAAI,+BAA+B,mBAAmB,4CAwCzE,CAAC;AAEF,eAAe,cAAc,CAAC"}