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
@@ -0,0 +1,1248 @@
1
+ // src/components/Support/components/TicketModal.tsx
2
+ import { useState as useState2, useEffect as useEffect2, useCallback } from "react";
3
+ import dayjs from "dayjs";
4
+ import "dayjs/locale/pt-br";
5
+
6
+ // src/components/Badge/Badge.tsx
7
+ import { Bell } from "phosphor-react";
8
+
9
+ // src/utils/utils.ts
10
+ import { clsx } from "clsx";
11
+ import { twMerge } from "tailwind-merge";
12
+ function cn(...inputs) {
13
+ return twMerge(clsx(inputs));
14
+ }
15
+
16
+ // src/components/Badge/Badge.tsx
17
+ import { jsx, jsxs } from "react/jsx-runtime";
18
+ var VARIANT_ACTION_CLASSES = {
19
+ solid: {
20
+ error: "bg-error-background text-error-700 focus-visible:outline-none",
21
+ warning: "bg-warning text-warning-800 focus-visible:outline-none",
22
+ success: "bg-success text-success-800 focus-visible:outline-none",
23
+ info: "bg-info text-info-800 focus-visible:outline-none",
24
+ muted: "bg-background-muted text-background-800 focus-visible:outline-none"
25
+ },
26
+ outlined: {
27
+ error: "bg-error text-error-700 border border-error-300 focus-visible:outline-none",
28
+ warning: "bg-warning text-warning-800 border border-warning-300 focus-visible:outline-none",
29
+ success: "bg-success text-success-800 border border-success-300 focus-visible:outline-none",
30
+ info: "bg-info text-info-800 border border-info-300 focus-visible:outline-none",
31
+ muted: "bg-background-muted text-background-800 border border-border-300 focus-visible:outline-none"
32
+ },
33
+ exams: {
34
+ exam1: "bg-exam-1 text-info-700 focus-visible:outline-none",
35
+ exam2: "bg-exam-2 text-typography-1 focus-visible:outline-none",
36
+ exam3: "bg-exam-3 text-typography-2 focus-visible:outline-none",
37
+ exam4: "bg-exam-4 text-success-700 focus-visible:outline-none"
38
+ },
39
+ examsOutlined: {
40
+ exam1: "bg-exam-1 text-info-700 border border-info-700 focus-visible:outline-none",
41
+ exam2: "bg-exam-2 text-typography-1 border border-typography-1 focus-visible:outline-none",
42
+ exam3: "bg-exam-3 text-typography-2 border border-typography-2 focus-visible:outline-none",
43
+ exam4: "bg-exam-4 text-success-700 border border-success-700 focus-visible:outline-none"
44
+ },
45
+ resultStatus: {
46
+ negative: "bg-error text-error-800 focus-visible:outline-none",
47
+ positive: "bg-success text-success-800 focus-visible:outline-none"
48
+ },
49
+ notification: "text-primary"
50
+ };
51
+ var SIZE_CLASSES = {
52
+ small: "text-2xs px-2 py-1",
53
+ medium: "text-xs px-2 py-1",
54
+ large: "text-sm px-2 py-1"
55
+ };
56
+ var SIZE_CLASSES_ICON = {
57
+ small: "size-3",
58
+ medium: "size-3.5",
59
+ large: "size-4"
60
+ };
61
+ var Badge = ({
62
+ children,
63
+ iconLeft,
64
+ iconRight,
65
+ size = "medium",
66
+ variant = "solid",
67
+ action = "error",
68
+ className = "",
69
+ notificationActive = false,
70
+ ...props
71
+ }) => {
72
+ const sizeClasses = SIZE_CLASSES[size];
73
+ const sizeClassesIcon = SIZE_CLASSES_ICON[size];
74
+ const variantActionMap = VARIANT_ACTION_CLASSES[variant] || {};
75
+ const variantClasses = typeof variantActionMap === "string" ? variantActionMap : variantActionMap[action] ?? variantActionMap.muted ?? "";
76
+ const baseClasses = "inline-flex items-center justify-center rounded-xs font-normal gap-1 relative";
77
+ const baseClassesIcon = "flex items-center";
78
+ if (variant === "notification") {
79
+ return /* @__PURE__ */ jsxs(
80
+ "div",
81
+ {
82
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
83
+ ...props,
84
+ children: [
85
+ /* @__PURE__ */ jsx(Bell, { size: 24, className: "text-current", "aria-hidden": "true" }),
86
+ notificationActive && /* @__PURE__ */ jsx(
87
+ "span",
88
+ {
89
+ "data-testid": "notification-dot",
90
+ className: "absolute top-[5px] right-[10px] block h-2 w-2 rounded-full bg-indicator-error ring-2 ring-white"
91
+ }
92
+ )
93
+ ]
94
+ }
95
+ );
96
+ }
97
+ return /* @__PURE__ */ jsxs(
98
+ "div",
99
+ {
100
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
101
+ ...props,
102
+ children: [
103
+ iconLeft && /* @__PURE__ */ jsx("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconLeft }),
104
+ children,
105
+ iconRight && /* @__PURE__ */ jsx("span", { className: cn(baseClassesIcon, sizeClassesIcon), children: iconRight })
106
+ ]
107
+ }
108
+ );
109
+ };
110
+ var Badge_default = Badge;
111
+
112
+ // src/components/Button/Button.tsx
113
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
114
+ var VARIANT_ACTION_CLASSES2 = {
115
+ solid: {
116
+ 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",
117
+ 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",
118
+ 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"
119
+ },
120
+ outline: {
121
+ 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",
122
+ 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",
123
+ 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"
124
+ },
125
+ link: {
126
+ 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",
127
+ 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",
128
+ 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"
129
+ }
130
+ };
131
+ var SIZE_CLASSES2 = {
132
+ "extra-small": "text-xs px-3.5 py-2",
133
+ small: "text-sm px-4 py-2.5",
134
+ medium: "text-md px-5 py-2.5",
135
+ large: "text-lg px-6 py-3",
136
+ "extra-large": "text-lg px-7 py-3.5"
137
+ };
138
+ var Button = ({
139
+ children,
140
+ iconLeft,
141
+ iconRight,
142
+ size = "medium",
143
+ variant = "solid",
144
+ action = "primary",
145
+ className = "",
146
+ disabled,
147
+ type = "button",
148
+ ...props
149
+ }) => {
150
+ const sizeClasses = SIZE_CLASSES2[size];
151
+ const variantClasses = VARIANT_ACTION_CLASSES2[variant][action];
152
+ const baseClasses = "inline-flex items-center justify-center rounded-full cursor-pointer font-medium";
153
+ return /* @__PURE__ */ jsxs2(
154
+ "button",
155
+ {
156
+ className: cn(baseClasses, variantClasses, sizeClasses, className),
157
+ disabled,
158
+ type,
159
+ ...props,
160
+ children: [
161
+ iconLeft && /* @__PURE__ */ jsx2("span", { className: "mr-2 flex items-center", children: iconLeft }),
162
+ children,
163
+ iconRight && /* @__PURE__ */ jsx2("span", { className: "ml-2 flex items-center", children: iconRight })
164
+ ]
165
+ }
166
+ );
167
+ };
168
+ var Button_default = Button;
169
+
170
+ // src/components/Divider/Divider.tsx
171
+ import { jsx as jsx3 } from "react/jsx-runtime";
172
+ var Divider = ({
173
+ orientation = "horizontal",
174
+ className = "",
175
+ ...props
176
+ }) => {
177
+ const baseClasses = "bg-border-200 border-0";
178
+ const orientationClasses = {
179
+ horizontal: "w-full h-px",
180
+ vertical: "h-full w-px"
181
+ };
182
+ return /* @__PURE__ */ jsx3(
183
+ "hr",
184
+ {
185
+ className: cn(baseClasses, orientationClasses[orientation], className),
186
+ "aria-orientation": orientation,
187
+ ...props
188
+ }
189
+ );
190
+ };
191
+ var Divider_default = Divider;
192
+
193
+ // src/components/Modal/Modal.tsx
194
+ import { useEffect, useId } from "react";
195
+ import { X } from "phosphor-react";
196
+
197
+ // src/components/Modal/utils/videoUtils.ts
198
+ var isYouTubeUrl = (url) => {
199
+ const youtubeRegex = /^(https?:\/\/)?((www|m|music)\.)?(youtube\.com|youtu\.be|youtube-nocookie\.com)\/.+/i;
200
+ return youtubeRegex.test(url);
201
+ };
202
+ var isValidYouTubeHost = (host) => {
203
+ if (host === "youtu.be") return "youtu.be";
204
+ const isValidYouTubeCom = host === "youtube.com" || host.endsWith(".youtube.com") && /^(www|m|music)\.youtube\.com$/.test(host);
205
+ if (isValidYouTubeCom) return "youtube";
206
+ const isValidNoCookie = host === "youtube-nocookie.com" || host.endsWith(".youtube-nocookie.com") && /^(www|m|music)\.youtube-nocookie\.com$/.test(host);
207
+ if (isValidNoCookie) return "nocookie";
208
+ return null;
209
+ };
210
+ var extractYoutuBeId = (pathname) => {
211
+ const firstSeg = pathname.split("/").filter(Boolean)[0];
212
+ return firstSeg || null;
213
+ };
214
+ var extractYouTubeId = (pathname, searchParams) => {
215
+ const parts = pathname.split("/").filter(Boolean);
216
+ const [first, second] = parts;
217
+ if (first === "embed" && second) return second;
218
+ if (first === "shorts" && second) return second;
219
+ if (first === "live" && second) return second;
220
+ const v = searchParams.get("v");
221
+ if (v) return v;
222
+ return null;
223
+ };
224
+ var getYouTubeVideoId = (url) => {
225
+ try {
226
+ const u = new URL(url);
227
+ const hostType = isValidYouTubeHost(u.hostname.toLowerCase());
228
+ if (!hostType) return null;
229
+ if (hostType === "youtu.be") {
230
+ return extractYoutuBeId(u.pathname);
231
+ }
232
+ return extractYouTubeId(u.pathname, u.searchParams);
233
+ } catch {
234
+ return null;
235
+ }
236
+ };
237
+ var getYouTubeEmbedUrl = (videoId) => {
238
+ return `https://www.youtube-nocookie.com/embed/${videoId}?autoplay=0&rel=0&modestbranding=1`;
239
+ };
240
+
241
+ // src/components/Modal/Modal.tsx
242
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
243
+ var SIZE_CLASSES3 = {
244
+ xs: "max-w-[360px]",
245
+ sm: "max-w-[420px]",
246
+ md: "max-w-[510px]",
247
+ lg: "max-w-[640px]",
248
+ xl: "max-w-[970px]"
249
+ };
250
+ var Modal = ({
251
+ isOpen,
252
+ onClose,
253
+ title,
254
+ children,
255
+ size = "md",
256
+ className = "",
257
+ closeOnEscape = true,
258
+ footer,
259
+ hideCloseButton = false,
260
+ variant = "default",
261
+ description,
262
+ image,
263
+ imageAlt,
264
+ actionLink,
265
+ actionLabel,
266
+ contentClassName = ""
267
+ }) => {
268
+ const titleId = useId();
269
+ useEffect(() => {
270
+ if (!isOpen || !closeOnEscape) return;
271
+ const handleEscape = (event) => {
272
+ if (event.key === "Escape") {
273
+ onClose();
274
+ }
275
+ };
276
+ document.addEventListener("keydown", handleEscape);
277
+ return () => document.removeEventListener("keydown", handleEscape);
278
+ }, [isOpen, closeOnEscape, onClose]);
279
+ useEffect(() => {
280
+ if (!isOpen) return;
281
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
282
+ const originalOverflow = document.body.style.overflow;
283
+ const originalPaddingRight = document.body.style.paddingRight;
284
+ document.body.style.overflow = "hidden";
285
+ if (scrollbarWidth > 0) {
286
+ document.body.style.paddingRight = `${scrollbarWidth}px`;
287
+ const overlay = document.createElement("div");
288
+ overlay.id = "modal-scrollbar-overlay";
289
+ overlay.style.cssText = `
290
+ position: fixed;
291
+ top: 0;
292
+ right: 0;
293
+ width: ${scrollbarWidth}px;
294
+ height: 100vh;
295
+ background-color: rgb(0 0 0 / 0.6);
296
+ z-index: 40;
297
+ pointer-events: none;
298
+ `;
299
+ document.body.appendChild(overlay);
300
+ }
301
+ return () => {
302
+ document.body.style.overflow = originalOverflow;
303
+ document.body.style.paddingRight = originalPaddingRight;
304
+ const overlay = document.getElementById("modal-scrollbar-overlay");
305
+ if (overlay) {
306
+ overlay.remove();
307
+ }
308
+ };
309
+ }, [isOpen]);
310
+ if (!isOpen) return null;
311
+ const sizeClasses = SIZE_CLASSES3[size];
312
+ const baseClasses = "bg-secondary-50 rounded-3xl shadow-hard-shadow-2 border border-border-100 w-full mx-4";
313
+ const dialogResetClasses = "p-0 m-0 border-none outline-none max-h-none static";
314
+ const modalClasses = cn(
315
+ baseClasses,
316
+ sizeClasses,
317
+ dialogResetClasses,
318
+ className
319
+ );
320
+ const normalizeUrl = (href) => /^https?:\/\//i.test(href) ? href : `https://${href}`;
321
+ const handleActionClick = () => {
322
+ if (actionLink) {
323
+ window.open(normalizeUrl(actionLink), "_blank", "noopener,noreferrer");
324
+ }
325
+ };
326
+ if (variant === "activity") {
327
+ return /* @__PURE__ */ jsx4("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ jsxs3(
328
+ "dialog",
329
+ {
330
+ className: modalClasses,
331
+ "aria-labelledby": titleId,
332
+ "aria-modal": "true",
333
+ open: true,
334
+ children: [
335
+ /* @__PURE__ */ jsx4("div", { className: "flex justify-end p-6 pb-0", children: !hideCloseButton && /* @__PURE__ */ jsx4(
336
+ "button",
337
+ {
338
+ onClick: onClose,
339
+ className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
340
+ "aria-label": "Fechar modal",
341
+ children: /* @__PURE__ */ jsx4(X, { size: 18 })
342
+ }
343
+ ) }),
344
+ /* @__PURE__ */ jsxs3("div", { className: "flex flex-col items-center px-6 pb-6 gap-5", children: [
345
+ image && /* @__PURE__ */ jsx4("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx4(
346
+ "img",
347
+ {
348
+ src: image,
349
+ alt: imageAlt ?? "",
350
+ className: "w-[122px] h-[122px] object-contain"
351
+ }
352
+ ) }),
353
+ /* @__PURE__ */ jsx4(
354
+ "h2",
355
+ {
356
+ id: titleId,
357
+ className: "text-lg font-semibold text-text-950 text-center",
358
+ children: title
359
+ }
360
+ ),
361
+ description && /* @__PURE__ */ jsx4("p", { className: "text-sm font-normal text-text-400 text-center max-w-md leading-[21px]", children: description }),
362
+ actionLink && /* @__PURE__ */ jsxs3("div", { className: "w-full", children: [
363
+ (() => {
364
+ const normalized = normalizeUrl(actionLink);
365
+ const isYT = isYouTubeUrl(normalized);
366
+ if (!isYT) return null;
367
+ const id = getYouTubeVideoId(normalized);
368
+ if (!id) {
369
+ return /* @__PURE__ */ jsx4(
370
+ Button_default,
371
+ {
372
+ variant: "solid",
373
+ action: "primary",
374
+ size: "large",
375
+ className: "w-full",
376
+ onClick: handleActionClick,
377
+ children: actionLabel || "Iniciar Atividade"
378
+ }
379
+ );
380
+ }
381
+ return /* @__PURE__ */ jsx4(
382
+ "iframe",
383
+ {
384
+ src: getYouTubeEmbedUrl(id),
385
+ className: "w-full aspect-video rounded-lg",
386
+ allowFullScreen: true,
387
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
388
+ title: "V\xEDdeo YouTube"
389
+ }
390
+ );
391
+ })(),
392
+ !isYouTubeUrl(normalizeUrl(actionLink)) && /* @__PURE__ */ jsx4(
393
+ Button_default,
394
+ {
395
+ variant: "solid",
396
+ action: "primary",
397
+ size: "large",
398
+ className: "w-full",
399
+ onClick: handleActionClick,
400
+ children: actionLabel || "Iniciar Atividade"
401
+ }
402
+ )
403
+ ] })
404
+ ] })
405
+ ]
406
+ }
407
+ ) });
408
+ }
409
+ return /* @__PURE__ */ jsx4("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-xs border-none p-0 m-0 w-full cursor-default", children: /* @__PURE__ */ jsxs3(
410
+ "dialog",
411
+ {
412
+ className: modalClasses,
413
+ "aria-labelledby": titleId,
414
+ "aria-modal": "true",
415
+ open: true,
416
+ children: [
417
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between px-6 py-6", children: [
418
+ /* @__PURE__ */ jsx4("h2", { id: titleId, className: "text-lg font-semibold text-text-950", children: title }),
419
+ !hideCloseButton && /* @__PURE__ */ jsx4(
420
+ "button",
421
+ {
422
+ onClick: onClose,
423
+ className: "p-1 text-text-500 hover:text-text-700 hover:bg-background-50 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-indicator-info focus:ring-offset-2",
424
+ "aria-label": "Fechar modal",
425
+ children: /* @__PURE__ */ jsx4(X, { size: 18 })
426
+ }
427
+ )
428
+ ] }),
429
+ children && /* @__PURE__ */ jsx4("div", { className: cn("px-6 pb-6", contentClassName), children: /* @__PURE__ */ jsx4("div", { className: "text-text-500 font-normal text-sm leading-6", children }) }),
430
+ footer && /* @__PURE__ */ jsx4("div", { className: "flex justify-end gap-3 px-6 pb-6", children: footer })
431
+ ]
432
+ }
433
+ ) });
434
+ };
435
+ var Modal_default = Modal;
436
+
437
+ // src/components/Text/Text.tsx
438
+ import { jsx as jsx5 } from "react/jsx-runtime";
439
+ var Text = ({
440
+ children,
441
+ size = "md",
442
+ weight = "normal",
443
+ color = "text-text-950",
444
+ as,
445
+ className = "",
446
+ ...props
447
+ }) => {
448
+ let sizeClasses = "";
449
+ let weightClasses = "";
450
+ const sizeClassMap = {
451
+ "2xs": "text-2xs",
452
+ xs: "text-xs",
453
+ sm: "text-sm",
454
+ md: "text-md",
455
+ lg: "text-lg",
456
+ xl: "text-xl",
457
+ "2xl": "text-2xl",
458
+ "3xl": "text-3xl",
459
+ "4xl": "text-4xl",
460
+ "5xl": "text-5xl",
461
+ "6xl": "text-6xl"
462
+ };
463
+ sizeClasses = sizeClassMap[size] ?? sizeClassMap.md;
464
+ const weightClassMap = {
465
+ hairline: "font-hairline",
466
+ light: "font-light",
467
+ normal: "font-normal",
468
+ medium: "font-medium",
469
+ semibold: "font-semibold",
470
+ bold: "font-bold",
471
+ extrabold: "font-extrabold",
472
+ black: "font-black"
473
+ };
474
+ weightClasses = weightClassMap[weight] ?? weightClassMap.normal;
475
+ const baseClasses = "font-primary";
476
+ const Component = as ?? "p";
477
+ return /* @__PURE__ */ jsx5(
478
+ Component,
479
+ {
480
+ className: cn(baseClasses, sizeClasses, weightClasses, color, className),
481
+ ...props,
482
+ children
483
+ }
484
+ );
485
+ };
486
+ var Text_default = Text;
487
+
488
+ // src/components/TextArea/TextArea.tsx
489
+ import {
490
+ forwardRef,
491
+ useState,
492
+ useId as useId2
493
+ } from "react";
494
+ import { WarningCircle } from "phosphor-react";
495
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
496
+ var SIZE_CLASSES4 = {
497
+ small: {
498
+ textarea: "h-24 text-sm",
499
+ // 96px height, 14px font
500
+ textSize: "sm"
501
+ },
502
+ medium: {
503
+ textarea: "h-24 text-base",
504
+ // 96px height, 16px font
505
+ textSize: "md"
506
+ },
507
+ large: {
508
+ textarea: "h-24 text-lg",
509
+ // 96px height, 18px font
510
+ textSize: "lg"
511
+ },
512
+ extraLarge: {
513
+ textarea: "h-24 text-xl",
514
+ // 96px height, 20px font
515
+ textSize: "xl"
516
+ }
517
+ };
518
+ var BASE_TEXTAREA_CLASSES = "w-full box-border p-3 bg-background border border-solid rounded-[4px] resize-none focus:outline-none font-roboto font-normal leading-[150%] placeholder:text-text-600 transition-all duration-200";
519
+ var STATE_CLASSES = {
520
+ default: {
521
+ base: "border-border-300 bg-background text-text-600",
522
+ hover: "hover:border-border-400",
523
+ focus: "focus:border-border-500"
524
+ },
525
+ hovered: {
526
+ base: "border-border-400 bg-background text-text-600",
527
+ hover: "",
528
+ focus: "focus:border-border-500"
529
+ },
530
+ focused: {
531
+ base: "border-2 border-primary-950 bg-background text-text-900",
532
+ hover: "",
533
+ focus: ""
534
+ },
535
+ invalid: {
536
+ base: "border-2 border-red-700 bg-white text-gray-800",
537
+ hover: "hover:border-red-700",
538
+ focus: "focus:border-red-700"
539
+ },
540
+ disabled: {
541
+ base: "border-border-300 bg-background text-text-600 cursor-not-allowed opacity-40",
542
+ hover: "",
543
+ focus: ""
544
+ }
545
+ };
546
+ var TextArea = forwardRef(
547
+ ({
548
+ label,
549
+ size = "medium",
550
+ state = "default",
551
+ errorMessage,
552
+ helperMessage,
553
+ className = "",
554
+ labelClassName = "",
555
+ disabled,
556
+ id,
557
+ onChange,
558
+ placeholder,
559
+ required,
560
+ showCharacterCount = false,
561
+ maxLength,
562
+ value,
563
+ ...props
564
+ }, ref) => {
565
+ const generatedId = useId2();
566
+ const inputId = id ?? `textarea-${generatedId}`;
567
+ const [isFocused, setIsFocused] = useState(false);
568
+ const currentLength = typeof value === "string" ? value.length : 0;
569
+ const isNearLimit = maxLength && currentLength >= maxLength * 0.8;
570
+ const handleChange = (event) => {
571
+ onChange?.(event);
572
+ };
573
+ const handleFocus = (event) => {
574
+ setIsFocused(true);
575
+ props.onFocus?.(event);
576
+ };
577
+ const handleBlur = (event) => {
578
+ setIsFocused(false);
579
+ props.onBlur?.(event);
580
+ };
581
+ let currentState = disabled ? "disabled" : state;
582
+ if (isFocused && currentState !== "invalid" && currentState !== "disabled") {
583
+ currentState = "focused";
584
+ }
585
+ const sizeClasses = SIZE_CLASSES4[size];
586
+ const stateClasses = STATE_CLASSES[currentState];
587
+ const textareaClasses = cn(
588
+ BASE_TEXTAREA_CLASSES,
589
+ sizeClasses.textarea,
590
+ stateClasses.base,
591
+ stateClasses.hover,
592
+ stateClasses.focus,
593
+ className
594
+ );
595
+ return /* @__PURE__ */ jsxs4("div", { className: `flex flex-col`, children: [
596
+ label && /* @__PURE__ */ jsxs4(
597
+ Text_default,
598
+ {
599
+ as: "label",
600
+ htmlFor: inputId,
601
+ size: sizeClasses.textSize,
602
+ weight: "medium",
603
+ color: "text-text-950",
604
+ className: cn("mb-1.5", labelClassName),
605
+ children: [
606
+ label,
607
+ " ",
608
+ required && /* @__PURE__ */ jsx6("span", { className: "text-indicator-error", children: "*" })
609
+ ]
610
+ }
611
+ ),
612
+ /* @__PURE__ */ jsx6(
613
+ "textarea",
614
+ {
615
+ ref,
616
+ id: inputId,
617
+ disabled,
618
+ onChange: handleChange,
619
+ onFocus: handleFocus,
620
+ onBlur: handleBlur,
621
+ className: textareaClasses,
622
+ placeholder,
623
+ required,
624
+ maxLength,
625
+ value,
626
+ ...props
627
+ }
628
+ ),
629
+ errorMessage && /* @__PURE__ */ jsxs4("p", { className: "flex gap-1 items-center text-sm text-indicator-error mt-1.5", children: [
630
+ /* @__PURE__ */ jsx6(WarningCircle, { size: 16 }),
631
+ " ",
632
+ errorMessage
633
+ ] }),
634
+ !errorMessage && showCharacterCount && maxLength && /* @__PURE__ */ jsxs4(
635
+ Text_default,
636
+ {
637
+ size: "sm",
638
+ weight: "normal",
639
+ className: `mt-1.5 ${isNearLimit ? "text-indicator-warning" : "text-text-500"}`,
640
+ children: [
641
+ currentLength,
642
+ "/",
643
+ maxLength,
644
+ " caracteres"
645
+ ]
646
+ }
647
+ ),
648
+ !errorMessage && helperMessage && !(showCharacterCount && maxLength) && /* @__PURE__ */ jsx6(Text_default, { size: "sm", weight: "normal", className: "mt-1.5 text-text-500", children: helperMessage })
649
+ ] });
650
+ }
651
+ );
652
+ TextArea.displayName = "TextArea";
653
+ var TextArea_default = TextArea;
654
+
655
+ // src/components/Skeleton/Skeleton.tsx
656
+ import { forwardRef as forwardRef2 } from "react";
657
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
658
+ var SKELETON_ANIMATION_CLASSES = {
659
+ pulse: "animate-pulse",
660
+ none: ""
661
+ };
662
+ var SKELETON_VARIANT_CLASSES = {
663
+ text: "h-4 bg-background-200 rounded",
664
+ circular: "bg-background-200 rounded-full",
665
+ rectangular: "bg-background-200",
666
+ rounded: "bg-background-200 rounded-lg"
667
+ };
668
+ var SPACING_CLASSES = {
669
+ none: "",
670
+ small: "space-y-1",
671
+ medium: "space-y-2",
672
+ large: "space-y-3"
673
+ };
674
+ var Skeleton = forwardRef2(
675
+ ({
676
+ variant = "text",
677
+ width,
678
+ height,
679
+ animation = "pulse",
680
+ lines = 1,
681
+ spacing = "none",
682
+ className = "",
683
+ children,
684
+ ...props
685
+ }, ref) => {
686
+ const animationClass = SKELETON_ANIMATION_CLASSES[animation];
687
+ const variantClass = SKELETON_VARIANT_CLASSES[variant];
688
+ const spacingClass = SPACING_CLASSES[spacing];
689
+ const style = {
690
+ width: typeof width === "number" ? `${width}px` : width,
691
+ height: typeof height === "number" ? `${height}px` : height
692
+ };
693
+ if (variant === "text" && lines > 1) {
694
+ return /* @__PURE__ */ jsx7(
695
+ "div",
696
+ {
697
+ ref,
698
+ className: cn("flex flex-col", spacingClass, className),
699
+ ...props,
700
+ children: Array.from({ length: lines }, (_, index) => /* @__PURE__ */ jsx7(
701
+ "div",
702
+ {
703
+ className: cn(variantClass, animationClass),
704
+ style: index === lines - 1 ? { width: "60%" } : void 0
705
+ },
706
+ index
707
+ ))
708
+ }
709
+ );
710
+ }
711
+ return /* @__PURE__ */ jsx7(
712
+ "div",
713
+ {
714
+ ref,
715
+ className: cn(variantClass, animationClass, className),
716
+ style,
717
+ ...props,
718
+ children
719
+ }
720
+ );
721
+ }
722
+ );
723
+ var SkeletonText = forwardRef2(
724
+ (props, ref) => /* @__PURE__ */ jsx7(Skeleton, { ref, variant: "text", ...props })
725
+ );
726
+ var SkeletonCircle = forwardRef2((props, ref) => /* @__PURE__ */ jsx7(Skeleton, { ref, variant: "circular", ...props }));
727
+ var SkeletonRectangle = forwardRef2((props, ref) => /* @__PURE__ */ jsx7(Skeleton, { ref, variant: "rectangular", ...props }));
728
+ var SkeletonRounded = forwardRef2((props, ref) => /* @__PURE__ */ jsx7(Skeleton, { ref, variant: "rounded", ...props }));
729
+ var SkeletonCard = forwardRef2(
730
+ ({
731
+ showAvatar = true,
732
+ showTitle = true,
733
+ showDescription = true,
734
+ showActions = true,
735
+ lines = 2,
736
+ className = "",
737
+ ...props
738
+ }, ref) => {
739
+ return /* @__PURE__ */ jsxs5(
740
+ "div",
741
+ {
742
+ ref,
743
+ className: cn(
744
+ "w-full p-4 bg-background border border-border-200 rounded-lg",
745
+ className
746
+ ),
747
+ ...props,
748
+ children: [
749
+ /* @__PURE__ */ jsxs5("div", { className: "flex items-start space-x-3", children: [
750
+ showAvatar && /* @__PURE__ */ jsx7(SkeletonCircle, { width: 40, height: 40 }),
751
+ /* @__PURE__ */ jsxs5("div", { className: "flex-1 space-y-2", children: [
752
+ showTitle && /* @__PURE__ */ jsx7(SkeletonText, { width: "60%", height: 20 }),
753
+ showDescription && /* @__PURE__ */ jsx7(SkeletonText, { lines, spacing: "small" })
754
+ ] })
755
+ ] }),
756
+ showActions && /* @__PURE__ */ jsxs5("div", { className: "flex justify-end space-x-2 mt-4", children: [
757
+ /* @__PURE__ */ jsx7(SkeletonRectangle, { width: 80, height: 32 }),
758
+ /* @__PURE__ */ jsx7(SkeletonRectangle, { width: 80, height: 32 })
759
+ ] })
760
+ ]
761
+ }
762
+ );
763
+ }
764
+ );
765
+ var SkeletonList = forwardRef2(
766
+ ({
767
+ items = 3,
768
+ showAvatar = true,
769
+ showTitle = true,
770
+ showDescription = true,
771
+ lines = 1,
772
+ className = "",
773
+ ...props
774
+ }, ref) => {
775
+ return /* @__PURE__ */ jsx7("div", { ref, className: cn("space-y-3", className), ...props, children: Array.from({ length: items }, (_, index) => /* @__PURE__ */ jsxs5("div", { className: "flex items-start space-x-3 p-3", children: [
776
+ showAvatar && /* @__PURE__ */ jsx7(SkeletonCircle, { width: 32, height: 32 }),
777
+ /* @__PURE__ */ jsxs5("div", { className: "flex-1 space-y-2", children: [
778
+ showTitle && /* @__PURE__ */ jsx7(SkeletonText, { width: "40%", height: 16 }),
779
+ showDescription && /* @__PURE__ */ jsx7(SkeletonText, { lines, spacing: "small" })
780
+ ] })
781
+ ] }, index)) });
782
+ }
783
+ );
784
+ var SkeletonTable = forwardRef2(
785
+ ({ rows = 5, columns = 4, showHeader = true, className = "", ...props }, ref) => {
786
+ return /* @__PURE__ */ jsxs5("div", { ref, className: cn("w-full", className), ...props, children: [
787
+ showHeader && /* @__PURE__ */ jsx7("div", { className: "flex space-x-2 mb-3", children: Array.from({ length: columns }, (_, index) => /* @__PURE__ */ jsx7(
788
+ SkeletonText,
789
+ {
790
+ width: `${100 / columns}%`,
791
+ height: 20
792
+ },
793
+ index
794
+ )) }),
795
+ /* @__PURE__ */ jsx7("div", { className: "space-y-2", children: Array.from({ length: rows }, (_, rowIndex) => /* @__PURE__ */ jsx7("div", { className: "flex space-x-2", children: Array.from({ length: columns }, (_2, colIndex) => /* @__PURE__ */ jsx7(
796
+ SkeletonText,
797
+ {
798
+ width: `${100 / columns}%`,
799
+ height: 16
800
+ },
801
+ colIndex
802
+ )) }, rowIndex)) })
803
+ ] });
804
+ }
805
+ );
806
+
807
+ // src/types/support.ts
808
+ var getStatusBadgeAction = (status) => {
809
+ switch (status) {
810
+ case "aberto" /* ABERTO */:
811
+ return "success";
812
+ case "respondido" /* RESPONDIDO */:
813
+ return "warning";
814
+ case "encerrado" /* ENCERRADO */:
815
+ return "info";
816
+ default:
817
+ return "info";
818
+ }
819
+ };
820
+ var getStatusText = (status) => {
821
+ switch (status) {
822
+ case "aberto" /* ABERTO */:
823
+ return "Aberto";
824
+ case "respondido" /* RESPONDIDO */:
825
+ return "Respondido";
826
+ case "encerrado" /* ENCERRADO */:
827
+ return "Encerrado";
828
+ default:
829
+ return status;
830
+ }
831
+ };
832
+ var getCategoryText = (category) => {
833
+ if (!category) return "";
834
+ switch (category) {
835
+ case "acesso" /* ACESSO */:
836
+ return "Acesso";
837
+ case "tecnico" /* TECNICO */:
838
+ return "T\xE9cnico";
839
+ case "outros" /* OUTROS */:
840
+ return "Outros";
841
+ default:
842
+ return category;
843
+ }
844
+ };
845
+
846
+ // src/components/Support/utils/supportUtils.tsx
847
+ import { KeyIcon, BugIcon, InfoIcon } from "@phosphor-icons/react";
848
+ import { jsx as jsx8 } from "react/jsx-runtime";
849
+ var getCategoryIcon = (category, size = 16) => {
850
+ if (!category) return null;
851
+ switch (category) {
852
+ case "acesso" /* ACESSO */:
853
+ return /* @__PURE__ */ jsx8(KeyIcon, { size });
854
+ case "tecnico" /* TECNICO */:
855
+ return /* @__PURE__ */ jsx8(BugIcon, { size });
856
+ case "outros" /* OUTROS */:
857
+ return /* @__PURE__ */ jsx8(InfoIcon, { size });
858
+ default:
859
+ return /* @__PURE__ */ jsx8(InfoIcon, { size });
860
+ }
861
+ };
862
+
863
+ // src/components/Support/components/TicketModal.tsx
864
+ import { Fragment, jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
865
+ dayjs.locale("pt-br");
866
+ var AnswerSkeleton = () => /* @__PURE__ */ jsxs6("div", { className: "bg-background p-4 space-y-6 rounded-xl", children: [
867
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
868
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "80px", height: 16 }),
869
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "200px", height: 16 })
870
+ ] }),
871
+ /* @__PURE__ */ jsx9(Divider_default, {}),
872
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-start space-x-6", children: [
873
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "80px", height: 16 }),
874
+ /* @__PURE__ */ jsxs6("div", { className: "flex-1 space-y-2", children: [
875
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "100%", height: 16 }),
876
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "80%", height: 16 }),
877
+ /* @__PURE__ */ jsx9(SkeletonText, { width: "60%", height: 16 })
878
+ ] })
879
+ ] })
880
+ ] });
881
+ var TicketModal = ({
882
+ ticket,
883
+ isOpen,
884
+ onClose,
885
+ onTicketClose,
886
+ apiClient,
887
+ userId
888
+ }) => {
889
+ const [showCloseConfirmation, setShowCloseConfirmation] = useState2(false);
890
+ const [responseText, setResponseText] = useState2("");
891
+ const [answers, setAnswers] = useState2([]);
892
+ const [isSubmittingAnswer, setIsSubmittingAnswer] = useState2(false);
893
+ const [isLoadingAnswers, setIsLoadingAnswers] = useState2(false);
894
+ const handleCloseTicket = () => {
895
+ onTicketClose?.(ticket.id);
896
+ setShowCloseConfirmation(false);
897
+ onClose();
898
+ };
899
+ const fetchAnswers = useCallback(async () => {
900
+ if (!ticket.id || ticket.status !== "respondido" /* RESPONDIDO */) return;
901
+ setIsLoadingAnswers(true);
902
+ try {
903
+ const response = await apiClient.get(
904
+ `/support/answer/${ticket.id}`
905
+ );
906
+ setAnswers(response.data.data || []);
907
+ } catch (error) {
908
+ console.error("Erro ao buscar respostas:", error);
909
+ setAnswers([]);
910
+ } finally {
911
+ setIsLoadingAnswers(false);
912
+ }
913
+ }, [ticket.id, ticket.status, apiClient]);
914
+ const handleSubmitAnswer = async () => {
915
+ if (!responseText.trim() || !userId || !ticket.id) {
916
+ return;
917
+ }
918
+ setIsSubmittingAnswer(true);
919
+ try {
920
+ const requestData = {
921
+ userId,
922
+ supportId: ticket.id,
923
+ answer: responseText.trim()
924
+ };
925
+ await apiClient.post(
926
+ "/support/answer",
927
+ requestData
928
+ );
929
+ setResponseText("");
930
+ await fetchAnswers();
931
+ } catch (error) {
932
+ console.error("Erro ao enviar resposta:", error);
933
+ } finally {
934
+ setIsSubmittingAnswer(false);
935
+ }
936
+ };
937
+ const canCloseTicket = ticket.status !== "encerrado" /* ENCERRADO */;
938
+ useEffect2(() => {
939
+ if (isOpen) {
940
+ setResponseText("");
941
+ (async () => {
942
+ await fetchAnswers();
943
+ })().catch((error) => {
944
+ console.error("Erro ao carregar respostas:", error);
945
+ });
946
+ } else {
947
+ setAnswers([]);
948
+ }
949
+ }, [isOpen, fetchAnswers]);
950
+ return /* @__PURE__ */ jsxs6(Fragment, { children: [
951
+ /* @__PURE__ */ jsx9(
952
+ Modal_default,
953
+ {
954
+ isOpen,
955
+ onClose,
956
+ title: `Pedido: ${ticket.title}`,
957
+ size: "lg",
958
+ hideCloseButton: false,
959
+ closeOnEscape: true,
960
+ "data-testid": "ticket-modal",
961
+ children: /* @__PURE__ */ jsxs6("div", { className: "flex flex-col h-full max-h-[80vh]", children: [
962
+ /* @__PURE__ */ jsxs6("div", { className: "flex justify-between items-center mb-3", children: [
963
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "bold", className: "text-text-950", children: "Detalhes" }),
964
+ canCloseTicket && /* @__PURE__ */ jsx9(
965
+ Button_default,
966
+ {
967
+ variant: "outline",
968
+ size: "small",
969
+ action: "negative",
970
+ onClick: () => setShowCloseConfirmation(true),
971
+ children: "Encerrar Pedido"
972
+ }
973
+ )
974
+ ] }),
975
+ /* @__PURE__ */ jsxs6("div", { className: "flex-1 overflow-y-auto pr-2 space-y-6", children: [
976
+ /* @__PURE__ */ jsxs6("div", { className: "bg-background p-4 space-y-6 rounded-xl", children: [
977
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
978
+ /* @__PURE__ */ jsx9(
979
+ Text_default,
980
+ {
981
+ size: "md",
982
+ weight: "semibold",
983
+ className: "text-text-700 w-20",
984
+ children: "ID"
985
+ }
986
+ ),
987
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "normal", className: "text-text-600", children: ticket.id })
988
+ ] }),
989
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
990
+ /* @__PURE__ */ jsx9(
991
+ Text_default,
992
+ {
993
+ size: "md",
994
+ weight: "semibold",
995
+ className: "text-text-700 w-20",
996
+ children: "Aberto em"
997
+ }
998
+ ),
999
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "normal", className: "text-text-600", children: dayjs(ticket.createdAt).format("DD MMMM YYYY, [\xE0s] HH[h]") })
1000
+ ] }),
1001
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
1002
+ /* @__PURE__ */ jsx9(
1003
+ Text_default,
1004
+ {
1005
+ size: "md",
1006
+ weight: "semibold",
1007
+ className: "text-text-700 w-20",
1008
+ children: "Status"
1009
+ }
1010
+ ),
1011
+ /* @__PURE__ */ jsx9(
1012
+ Badge_default,
1013
+ {
1014
+ variant: "solid",
1015
+ size: "small",
1016
+ action: getStatusBadgeAction(ticket.status),
1017
+ className: "w-fit",
1018
+ children: getStatusText(ticket.status)
1019
+ }
1020
+ )
1021
+ ] }),
1022
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
1023
+ /* @__PURE__ */ jsx9(
1024
+ Text_default,
1025
+ {
1026
+ size: "md",
1027
+ weight: "semibold",
1028
+ className: "text-text-700 w-20",
1029
+ children: "Tipo"
1030
+ }
1031
+ ),
1032
+ /* @__PURE__ */ jsxs6(
1033
+ Badge_default,
1034
+ {
1035
+ variant: "solid",
1036
+ size: "small",
1037
+ action: "muted",
1038
+ className: "w-fit",
1039
+ children: [
1040
+ getCategoryIcon(ticket.category),
1041
+ getCategoryText(ticket.category)
1042
+ ]
1043
+ }
1044
+ )
1045
+ ] }),
1046
+ /* @__PURE__ */ jsx9(Divider_default, {}),
1047
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-start space-x-6", children: [
1048
+ /* @__PURE__ */ jsx9(
1049
+ Text_default,
1050
+ {
1051
+ size: "md",
1052
+ weight: "semibold",
1053
+ className: "text-text-700 w-20",
1054
+ children: "Descri\xE7\xE3o"
1055
+ }
1056
+ ),
1057
+ ticket.description && /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "normal", className: "text-text-600", children: ticket.description })
1058
+ ] })
1059
+ ] }),
1060
+ ticket.status === "respondido" /* RESPONDIDO */ && isLoadingAnswers && /* @__PURE__ */ jsxs6(Fragment, { children: [
1061
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "bold", className: "text-text-950 my-6", children: "Resposta de Suporte T\xE9cnico" }),
1062
+ /* @__PURE__ */ jsx9(AnswerSkeleton, {})
1063
+ ] }),
1064
+ !isLoadingAnswers && answers.some((answer) => answer.userId !== userId) && /* @__PURE__ */ jsxs6(Fragment, { children: [
1065
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "bold", className: "text-text-950 my-6", children: "Resposta de Suporte T\xE9cnico" }),
1066
+ answers.filter((answer) => answer.userId !== userId).sort(
1067
+ (a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
1068
+ ).slice(0, 1).map((answer) => /* @__PURE__ */ jsxs6(
1069
+ "div",
1070
+ {
1071
+ className: "bg-background p-4 space-y-6 rounded-xl",
1072
+ children: [
1073
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
1074
+ /* @__PURE__ */ jsx9(
1075
+ Text_default,
1076
+ {
1077
+ size: "md",
1078
+ weight: "semibold",
1079
+ className: "text-text-700 w-20",
1080
+ children: "Recebido"
1081
+ }
1082
+ ),
1083
+ /* @__PURE__ */ jsx9(
1084
+ Text_default,
1085
+ {
1086
+ size: "md",
1087
+ weight: "normal",
1088
+ className: "text-text-600",
1089
+ children: dayjs(answer.createdAt).format(
1090
+ "DD MMMM YYYY, [\xE0s] HH[h]"
1091
+ )
1092
+ }
1093
+ )
1094
+ ] }),
1095
+ /* @__PURE__ */ jsx9(Divider_default, {}),
1096
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-start space-x-6", children: [
1097
+ /* @__PURE__ */ jsx9(
1098
+ Text_default,
1099
+ {
1100
+ size: "md",
1101
+ weight: "semibold",
1102
+ className: "text-text-700 w-20",
1103
+ children: "Resposta"
1104
+ }
1105
+ ),
1106
+ /* @__PURE__ */ jsx9(
1107
+ Text_default,
1108
+ {
1109
+ size: "md",
1110
+ weight: "normal",
1111
+ className: "text-text-600",
1112
+ children: answer.answer
1113
+ }
1114
+ )
1115
+ ] })
1116
+ ]
1117
+ },
1118
+ answer.id
1119
+ ))
1120
+ ] }),
1121
+ !isLoadingAnswers && answers.some((answer) => answer.userId === userId) && /* @__PURE__ */ jsxs6(Fragment, { children: [
1122
+ /* @__PURE__ */ jsx9(Text_default, { size: "md", weight: "bold", className: "text-text-950 my-6", children: "Resposta enviada" }),
1123
+ answers.filter((answer) => answer.userId === userId).sort(
1124
+ (a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
1125
+ ).slice(0, 1).map((answer) => /* @__PURE__ */ jsxs6(
1126
+ "div",
1127
+ {
1128
+ className: "bg-background p-4 space-y-6 rounded-xl",
1129
+ children: [
1130
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-6", children: [
1131
+ /* @__PURE__ */ jsx9(
1132
+ Text_default,
1133
+ {
1134
+ size: "md",
1135
+ weight: "semibold",
1136
+ className: "text-text-700 w-20",
1137
+ children: "Enviada"
1138
+ }
1139
+ ),
1140
+ /* @__PURE__ */ jsx9(
1141
+ Text_default,
1142
+ {
1143
+ size: "md",
1144
+ weight: "normal",
1145
+ className: "text-text-600",
1146
+ children: dayjs(answer.createdAt).format(
1147
+ "DD MMMM YYYY, [\xE0s] HH[h]"
1148
+ )
1149
+ }
1150
+ )
1151
+ ] }),
1152
+ /* @__PURE__ */ jsx9(Divider_default, {}),
1153
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-start space-x-6", children: [
1154
+ /* @__PURE__ */ jsx9(
1155
+ Text_default,
1156
+ {
1157
+ size: "md",
1158
+ weight: "semibold",
1159
+ className: "text-text-700 w-20",
1160
+ children: "Resposta"
1161
+ }
1162
+ ),
1163
+ /* @__PURE__ */ jsx9(
1164
+ Text_default,
1165
+ {
1166
+ size: "md",
1167
+ weight: "normal",
1168
+ className: "text-text-600",
1169
+ children: answer.answer
1170
+ }
1171
+ )
1172
+ ] })
1173
+ ]
1174
+ },
1175
+ answer.id
1176
+ ))
1177
+ ] }),
1178
+ !isLoadingAnswers && answers.some((answer) => answer.userId !== userId) && /* @__PURE__ */ jsxs6(Fragment, { children: [
1179
+ /* @__PURE__ */ jsx9(Text_default, { size: "lg", weight: "bold", className: "text-text-950 my-6", children: "Responder" }),
1180
+ /* @__PURE__ */ jsxs6("div", { className: "space-y-4", children: [
1181
+ /* @__PURE__ */ jsx9(
1182
+ TextArea_default,
1183
+ {
1184
+ placeholder: "Detalhe o problema aqui.",
1185
+ rows: 4,
1186
+ className: "w-full",
1187
+ value: responseText,
1188
+ onChange: (e) => setResponseText(e.target.value)
1189
+ }
1190
+ ),
1191
+ responseText.trim().length > 0 && /* @__PURE__ */ jsx9("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx9(
1192
+ Button_default,
1193
+ {
1194
+ variant: "solid",
1195
+ size: "medium",
1196
+ onClick: handleSubmitAnswer,
1197
+ disabled: isSubmittingAnswer,
1198
+ children: isSubmittingAnswer ? "Enviando..." : "Enviar"
1199
+ }
1200
+ ) })
1201
+ ] })
1202
+ ] })
1203
+ ] })
1204
+ ] })
1205
+ }
1206
+ ),
1207
+ /* @__PURE__ */ jsx9(
1208
+ Modal_default,
1209
+ {
1210
+ isOpen: showCloseConfirmation,
1211
+ onClose: () => setShowCloseConfirmation(false),
1212
+ title: "Encerrar pedido?",
1213
+ size: "md",
1214
+ hideCloseButton: false,
1215
+ closeOnEscape: true,
1216
+ "data-testid": "close-ticket-modal",
1217
+ children: /* @__PURE__ */ jsxs6("div", { className: "space-y-6", children: [
1218
+ /* @__PURE__ */ jsx9(Text_default, { size: "sm", weight: "normal", className: "text-text-700", children: "Ao encerrar este pedido, ele ser\xE1 fechado e n\xE3o poder\xE1 mais ser atualizado." }),
1219
+ /* @__PURE__ */ jsxs6("div", { className: "flex gap-3 justify-end", children: [
1220
+ /* @__PURE__ */ jsx9(
1221
+ Button_default,
1222
+ {
1223
+ variant: "outline",
1224
+ size: "medium",
1225
+ onClick: () => setShowCloseConfirmation(false),
1226
+ children: "Cancelar"
1227
+ }
1228
+ ),
1229
+ /* @__PURE__ */ jsx9(
1230
+ Button_default,
1231
+ {
1232
+ variant: "solid",
1233
+ size: "medium",
1234
+ action: "negative",
1235
+ onClick: handleCloseTicket,
1236
+ children: "Encerrar"
1237
+ }
1238
+ )
1239
+ ] })
1240
+ ] })
1241
+ }
1242
+ )
1243
+ ] });
1244
+ };
1245
+ export {
1246
+ TicketModal
1247
+ };
1248
+ //# sourceMappingURL=index.mjs.map