@nocios/crudify-components 2.0.60 → 2.0.81

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 (362) hide show
  1. package/.scannerwork/report-task.txt +2 -2
  2. package/coverage/components/CrudiaAutoGenerate.tsx.html +616 -0
  3. package/coverage/components/CrudiaFileField/CrudiaFileField.tsx.html +1312 -0
  4. package/coverage/components/CrudiaFileField/components/DeleteConfirmationDialog.tsx.html +355 -0
  5. package/coverage/components/CrudiaFileField/components/DropZone.tsx.html +523 -0
  6. package/coverage/components/CrudiaFileField/components/FileItemRow.tsx.html +835 -0
  7. package/coverage/components/CrudiaFileField/components/FileThumbnail.tsx.html +1585 -0
  8. package/coverage/components/CrudiaFileField/components/index.html +176 -0
  9. package/coverage/components/CrudiaFileField/components/index.ts.html +115 -0
  10. package/coverage/components/CrudiaFileField/hooks/index.html +146 -0
  11. package/coverage/components/CrudiaFileField/hooks/index.ts.html +112 -0
  12. package/coverage/components/CrudiaFileField/hooks/useDeleteConfirmation.ts.html +433 -0
  13. package/coverage/components/CrudiaFileField/hooks/useDragDrop.ts.html +409 -0
  14. package/coverage/components/CrudiaFileField/index.html +131 -0
  15. package/coverage/components/CrudiaFileField/index.ts.html +112 -0
  16. package/coverage/components/CrudiaFileField/utils/formatters.ts.html +169 -0
  17. package/coverage/components/CrudiaFileField/utils/icons.tsx.html +253 -0
  18. package/coverage/components/CrudiaFileField/utils/index.html +146 -0
  19. package/coverage/components/CrudiaFileField/utils/index.ts.html +103 -0
  20. package/coverage/components/CrudiaMarkdownField.tsx.html +676 -0
  21. package/coverage/components/CrudifyInitializer.tsx.html +712 -0
  22. package/coverage/components/CrudifyLogin/Forms/CheckCodeForm.tsx.html +640 -0
  23. package/coverage/components/CrudifyLogin/Forms/ForgotPasswordForm.tsx.html +730 -0
  24. package/coverage/components/CrudifyLogin/Forms/LoginForm.tsx.html +892 -0
  25. package/coverage/components/CrudifyLogin/Forms/ResetPasswordForm.tsx.html +1219 -0
  26. package/coverage/components/CrudifyLogin/Forms/components/CodeInput.tsx.html +289 -0
  27. package/coverage/components/CrudifyLogin/Forms/components/FormAlert.tsx.html +202 -0
  28. package/coverage/components/CrudifyLogin/Forms/components/PasswordInput.tsx.html +346 -0
  29. package/coverage/components/CrudifyLogin/Forms/components/index.html +161 -0
  30. package/coverage/components/CrudifyLogin/Forms/components/index.ts.html +106 -0
  31. package/coverage/components/CrudifyLogin/Forms/index.html +176 -0
  32. package/coverage/components/CrudifyLogin/Forms/index.ts.html +145 -0
  33. package/coverage/components/CrudifyLogin/Forms/utils/errorTranslation.ts.html +268 -0
  34. package/coverage/components/CrudifyLogin/Forms/utils/index.html +161 -0
  35. package/coverage/components/CrudifyLogin/Forms/utils/index.ts.html +121 -0
  36. package/coverage/components/CrudifyLogin/Forms/utils/paramUtils.ts.html +496 -0
  37. package/coverage/components/CrudifyLogin/Forms/utils/validation.ts.html +307 -0
  38. package/coverage/components/CrudifyLogin/components/CrudifyInitializer.tsx.html +268 -0
  39. package/coverage/components/CrudifyLogin/components/index.html +116 -0
  40. package/coverage/components/CrudifyLogin/context/CrudifyProvider.tsx.html +409 -0
  41. package/coverage/components/CrudifyLogin/context/I18nProvider.tsx.html +430 -0
  42. package/coverage/components/CrudifyLogin/context/LoginStateProvider.tsx.html +1261 -0
  43. package/coverage/components/CrudifyLogin/context/index.html +161 -0
  44. package/coverage/components/CrudifyLogin/context/index.ts.html +91 -0
  45. package/coverage/components/CrudifyLogin/hooks/index.html +131 -0
  46. package/coverage/components/CrudifyLogin/hooks/useCrudifyLogin.ts.html +463 -0
  47. package/coverage/components/CrudifyLogin/hooks/useTranslationsFromUrl.ts.html +391 -0
  48. package/coverage/components/CrudifyLogin/index.html +116 -0
  49. package/coverage/components/CrudifyLogin/index.tsx.html +466 -0
  50. package/coverage/components/CrudifyLogin/utils/index.html +116 -0
  51. package/coverage/components/CrudifyLogin/utils/secureStorage.ts.html +859 -0
  52. package/coverage/components/GlobalNotificationProvider.tsx.html +844 -0
  53. package/coverage/components/LoginComponent.tsx.html +676 -0
  54. package/coverage/components/PasswordRequirements/index.html +116 -0
  55. package/coverage/components/PasswordRequirements/index.tsx.html +232 -0
  56. package/coverage/components/PublicPolicies/FieldSelector/FieldSelector.tsx.html +1078 -0
  57. package/coverage/components/PublicPolicies/FieldSelector/index.html +131 -0
  58. package/coverage/components/PublicPolicies/FieldSelector/index.ts.html +88 -0
  59. package/coverage/components/PublicPolicies/Policies.tsx.html +625 -0
  60. package/coverage/components/PublicPolicies/PolicyItem/PolicyItem.tsx.html +886 -0
  61. package/coverage/components/PublicPolicies/PolicyItem/index.html +131 -0
  62. package/coverage/components/PublicPolicies/PolicyItem/index.ts.html +88 -0
  63. package/coverage/components/PublicPolicies/constants.ts.html +106 -0
  64. package/coverage/components/PublicPolicies/index.html +146 -0
  65. package/coverage/components/PublicPolicies/index.ts.html +88 -0
  66. package/coverage/components/Routing/AuthRoute.tsx.html +382 -0
  67. package/coverage/components/Routing/GuestRoute.tsx.html +352 -0
  68. package/coverage/components/Routing/ProtectedRoute.tsx.html +316 -0
  69. package/coverage/components/Routing/index.html +161 -0
  70. package/coverage/components/Routing/index.ts.html +109 -0
  71. package/coverage/components/SessionLoadingScreen/index.html +116 -0
  72. package/coverage/components/SessionLoadingScreen/index.tsx.html +379 -0
  73. package/coverage/components/SessionTimeIndicator/index.html +116 -0
  74. package/coverage/components/SessionTimeIndicator/index.tsx.html +523 -0
  75. package/coverage/components/UserProfile/UserProfileDisplay.tsx.html +931 -0
  76. package/coverage/components/UserProfile/index.html +131 -0
  77. package/coverage/components/UserProfile/index.ts.html +88 -0
  78. package/coverage/components/index.html +191 -0
  79. package/coverage/components/index.ts.html +178 -0
  80. package/coverage/core/CrossTabSyncManager.ts.html +853 -0
  81. package/coverage/core/CrudifyInitializationManager.ts.html +1279 -0
  82. package/coverage/core/SessionManager.ts.html +3064 -0
  83. package/coverage/core/index.html +146 -0
  84. package/coverage/coverage-final.json +76 -79
  85. package/coverage/hooks/index.html +191 -0
  86. package/coverage/hooks/index.ts.html +136 -0
  87. package/coverage/hooks/useAuth.ts.html +529 -0
  88. package/coverage/hooks/useAutoGenerate.ts.html +571 -0
  89. package/coverage/hooks/useCrudifyWithNotifications/constants.ts.html +247 -0
  90. package/coverage/hooks/useCrudifyWithNotifications/hooks/index.html +116 -0
  91. package/coverage/hooks/useCrudifyWithNotifications/hooks/useCrudOperations.ts.html +820 -0
  92. package/coverage/hooks/useCrudifyWithNotifications/index.html +146 -0
  93. package/coverage/hooks/useCrudifyWithNotifications/index.ts.html +118 -0
  94. package/coverage/hooks/useCrudifyWithNotifications/useCrudifyWithNotifications.ts.html +565 -0
  95. package/coverage/hooks/useCrudifyWithNotifications/utils/errorMessageResolver.ts.html +847 -0
  96. package/coverage/hooks/useCrudifyWithNotifications/utils/index.html +146 -0
  97. package/coverage/hooks/useCrudifyWithNotifications/utils/notificationFilters.ts.html +313 -0
  98. package/coverage/hooks/useCrudifyWithNotifications/utils/successMessageResolver.ts.html +265 -0
  99. package/coverage/hooks/useData.ts.html +829 -0
  100. package/coverage/hooks/useFileUpload/index.html +131 -0
  101. package/coverage/hooks/useFileUpload/index.ts.html +112 -0
  102. package/coverage/hooks/useFileUpload/services/index.html +131 -0
  103. package/coverage/hooks/useFileUpload/services/index.ts.html +106 -0
  104. package/coverage/hooks/useFileUpload/services/uploadService.ts.html +610 -0
  105. package/coverage/hooks/useFileUpload/useFileUpload.ts.html +2092 -0
  106. package/coverage/hooks/useFileUpload/utils/fileUtils.ts.html +271 -0
  107. package/coverage/hooks/useFileUpload/utils/index.html +161 -0
  108. package/coverage/hooks/useFileUpload/utils/index.ts.html +109 -0
  109. package/coverage/hooks/useFileUpload/utils/mimeTypes.ts.html +235 -0
  110. package/coverage/hooks/useFileUpload/utils/validation.ts.html +403 -0
  111. package/coverage/hooks/useSession/constants.ts.html +217 -0
  112. package/coverage/hooks/useSession/hooks/index.html +176 -0
  113. package/coverage/hooks/useSession/hooks/useAuthEventSubscriber.ts.html +331 -0
  114. package/coverage/hooks/useSession/hooks/useCrossTabSync.ts.html +535 -0
  115. package/coverage/hooks/useSession/hooks/useSessionActions.ts.html +664 -0
  116. package/coverage/hooks/useSession/hooks/useSessionState.ts.html +295 -0
  117. package/coverage/hooks/useSession/hooks/useTokenRefreshScheduler.ts.html +535 -0
  118. package/coverage/hooks/useSession/index.html +161 -0
  119. package/coverage/hooks/useSession/index.ts.html +127 -0
  120. package/coverage/hooks/useSession/types.ts.html +427 -0
  121. package/coverage/hooks/useSession/useSession.ts.html +526 -0
  122. package/coverage/hooks/useSession/utils/index.html +131 -0
  123. package/coverage/hooks/useSession/utils/initializeSession.ts.html +424 -0
  124. package/coverage/hooks/useSession/utils/tokenUtils.ts.html +298 -0
  125. package/coverage/hooks/useUserData.ts.html +1210 -0
  126. package/coverage/hooks/useUserProfile.ts.html +820 -0
  127. package/coverage/index.html +205 -235
  128. package/coverage/lcov-report/components/CrudiaAutoGenerate.tsx.html +616 -0
  129. package/coverage/lcov-report/components/CrudiaFileField/CrudiaFileField.tsx.html +1312 -0
  130. package/coverage/lcov-report/components/CrudiaFileField/components/DeleteConfirmationDialog.tsx.html +355 -0
  131. package/coverage/lcov-report/components/CrudiaFileField/components/DropZone.tsx.html +523 -0
  132. package/coverage/lcov-report/components/CrudiaFileField/components/FileItemRow.tsx.html +835 -0
  133. package/coverage/lcov-report/components/CrudiaFileField/components/FileThumbnail.tsx.html +1585 -0
  134. package/coverage/lcov-report/components/CrudiaFileField/components/index.html +176 -0
  135. package/coverage/lcov-report/components/CrudiaFileField/components/index.ts.html +115 -0
  136. package/coverage/lcov-report/components/CrudiaFileField/hooks/index.html +146 -0
  137. package/coverage/lcov-report/components/CrudiaFileField/hooks/index.ts.html +112 -0
  138. package/coverage/lcov-report/components/CrudiaFileField/hooks/useDeleteConfirmation.ts.html +433 -0
  139. package/coverage/lcov-report/components/CrudiaFileField/hooks/useDragDrop.ts.html +409 -0
  140. package/coverage/lcov-report/components/CrudiaFileField/index.html +131 -0
  141. package/coverage/lcov-report/components/CrudiaFileField/index.ts.html +112 -0
  142. package/coverage/lcov-report/components/CrudiaFileField/utils/formatters.ts.html +169 -0
  143. package/coverage/lcov-report/components/CrudiaFileField/utils/icons.tsx.html +253 -0
  144. package/coverage/lcov-report/components/CrudiaFileField/utils/index.html +146 -0
  145. package/coverage/lcov-report/components/CrudiaFileField/utils/index.ts.html +103 -0
  146. package/coverage/lcov-report/components/CrudiaMarkdownField.tsx.html +676 -0
  147. package/coverage/lcov-report/components/CrudifyInitializer.tsx.html +712 -0
  148. package/coverage/lcov-report/components/CrudifyLogin/Forms/CheckCodeForm.tsx.html +640 -0
  149. package/coverage/lcov-report/components/CrudifyLogin/Forms/ForgotPasswordForm.tsx.html +730 -0
  150. package/coverage/lcov-report/components/CrudifyLogin/Forms/LoginForm.tsx.html +892 -0
  151. package/coverage/lcov-report/components/CrudifyLogin/Forms/ResetPasswordForm.tsx.html +1219 -0
  152. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/CodeInput.tsx.html +289 -0
  153. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/FormAlert.tsx.html +202 -0
  154. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/PasswordInput.tsx.html +346 -0
  155. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/index.html +161 -0
  156. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/index.ts.html +106 -0
  157. package/coverage/lcov-report/components/CrudifyLogin/Forms/index.html +176 -0
  158. package/coverage/lcov-report/components/CrudifyLogin/Forms/index.ts.html +145 -0
  159. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/errorTranslation.ts.html +268 -0
  160. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/index.html +161 -0
  161. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/index.ts.html +121 -0
  162. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/paramUtils.ts.html +496 -0
  163. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/validation.ts.html +307 -0
  164. package/coverage/lcov-report/components/CrudifyLogin/components/CrudifyInitializer.tsx.html +268 -0
  165. package/coverage/lcov-report/components/CrudifyLogin/components/index.html +116 -0
  166. package/coverage/lcov-report/components/CrudifyLogin/context/CrudifyProvider.tsx.html +409 -0
  167. package/coverage/lcov-report/components/CrudifyLogin/context/I18nProvider.tsx.html +430 -0
  168. package/coverage/lcov-report/components/CrudifyLogin/context/LoginStateProvider.tsx.html +1261 -0
  169. package/coverage/lcov-report/components/CrudifyLogin/context/index.html +161 -0
  170. package/coverage/lcov-report/components/CrudifyLogin/context/index.ts.html +91 -0
  171. package/coverage/lcov-report/components/CrudifyLogin/hooks/index.html +131 -0
  172. package/coverage/lcov-report/components/CrudifyLogin/hooks/useCrudifyLogin.ts.html +463 -0
  173. package/coverage/lcov-report/components/CrudifyLogin/hooks/useTranslationsFromUrl.ts.html +391 -0
  174. package/coverage/lcov-report/components/CrudifyLogin/index.html +116 -0
  175. package/coverage/lcov-report/components/CrudifyLogin/index.tsx.html +466 -0
  176. package/coverage/lcov-report/components/CrudifyLogin/utils/index.html +116 -0
  177. package/coverage/lcov-report/components/CrudifyLogin/utils/secureStorage.ts.html +859 -0
  178. package/coverage/lcov-report/components/GlobalNotificationProvider.tsx.html +844 -0
  179. package/coverage/lcov-report/components/LoginComponent.tsx.html +676 -0
  180. package/coverage/lcov-report/components/PasswordRequirements/index.html +116 -0
  181. package/coverage/lcov-report/components/PasswordRequirements/index.tsx.html +232 -0
  182. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/FieldSelector.tsx.html +1078 -0
  183. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/index.html +131 -0
  184. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/index.ts.html +88 -0
  185. package/coverage/lcov-report/components/PublicPolicies/Policies.tsx.html +625 -0
  186. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/PolicyItem.tsx.html +886 -0
  187. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/index.html +131 -0
  188. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/index.ts.html +88 -0
  189. package/coverage/lcov-report/components/PublicPolicies/constants.ts.html +106 -0
  190. package/coverage/lcov-report/components/PublicPolicies/index.html +146 -0
  191. package/coverage/lcov-report/components/PublicPolicies/index.ts.html +88 -0
  192. package/coverage/lcov-report/components/Routing/AuthRoute.tsx.html +382 -0
  193. package/coverage/lcov-report/components/Routing/GuestRoute.tsx.html +352 -0
  194. package/coverage/lcov-report/components/Routing/ProtectedRoute.tsx.html +316 -0
  195. package/coverage/lcov-report/components/Routing/index.html +161 -0
  196. package/coverage/lcov-report/components/Routing/index.ts.html +109 -0
  197. package/coverage/lcov-report/components/SessionLoadingScreen/index.html +116 -0
  198. package/coverage/lcov-report/components/SessionLoadingScreen/index.tsx.html +379 -0
  199. package/coverage/lcov-report/components/SessionTimeIndicator/index.html +116 -0
  200. package/coverage/lcov-report/components/SessionTimeIndicator/index.tsx.html +523 -0
  201. package/coverage/lcov-report/components/UserProfile/UserProfileDisplay.tsx.html +931 -0
  202. package/coverage/lcov-report/components/UserProfile/index.html +131 -0
  203. package/coverage/lcov-report/components/UserProfile/index.ts.html +88 -0
  204. package/coverage/lcov-report/components/index.html +191 -0
  205. package/coverage/lcov-report/components/index.ts.html +178 -0
  206. package/coverage/lcov-report/core/CrossTabSyncManager.ts.html +853 -0
  207. package/coverage/lcov-report/core/CrudifyInitializationManager.ts.html +1279 -0
  208. package/coverage/lcov-report/core/SessionManager.ts.html +3064 -0
  209. package/coverage/lcov-report/core/index.html +146 -0
  210. package/coverage/lcov-report/hooks/index.html +191 -0
  211. package/coverage/lcov-report/hooks/index.ts.html +136 -0
  212. package/coverage/lcov-report/hooks/useAuth.ts.html +529 -0
  213. package/coverage/lcov-report/hooks/useAutoGenerate.ts.html +571 -0
  214. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/constants.ts.html +247 -0
  215. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/hooks/index.html +116 -0
  216. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/hooks/useCrudOperations.ts.html +820 -0
  217. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/index.html +146 -0
  218. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/index.ts.html +118 -0
  219. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/useCrudifyWithNotifications.ts.html +565 -0
  220. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/errorMessageResolver.ts.html +847 -0
  221. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/index.html +146 -0
  222. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/notificationFilters.ts.html +313 -0
  223. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/successMessageResolver.ts.html +265 -0
  224. package/coverage/lcov-report/hooks/useData.ts.html +829 -0
  225. package/coverage/lcov-report/hooks/useFileUpload/index.html +131 -0
  226. package/coverage/lcov-report/hooks/useFileUpload/index.ts.html +112 -0
  227. package/coverage/lcov-report/hooks/useFileUpload/services/index.html +131 -0
  228. package/coverage/lcov-report/hooks/useFileUpload/services/index.ts.html +106 -0
  229. package/coverage/lcov-report/hooks/useFileUpload/services/uploadService.ts.html +610 -0
  230. package/coverage/lcov-report/hooks/useFileUpload/useFileUpload.ts.html +2092 -0
  231. package/coverage/lcov-report/hooks/useFileUpload/utils/fileUtils.ts.html +271 -0
  232. package/coverage/lcov-report/hooks/useFileUpload/utils/index.html +161 -0
  233. package/coverage/lcov-report/hooks/useFileUpload/utils/index.ts.html +109 -0
  234. package/coverage/lcov-report/hooks/useFileUpload/utils/mimeTypes.ts.html +235 -0
  235. package/coverage/lcov-report/hooks/useFileUpload/utils/validation.ts.html +403 -0
  236. package/coverage/lcov-report/hooks/useSession/constants.ts.html +217 -0
  237. package/coverage/lcov-report/hooks/useSession/hooks/index.html +176 -0
  238. package/coverage/lcov-report/hooks/useSession/hooks/useAuthEventSubscriber.ts.html +331 -0
  239. package/coverage/lcov-report/hooks/useSession/hooks/useCrossTabSync.ts.html +535 -0
  240. package/coverage/lcov-report/hooks/useSession/hooks/useSessionActions.ts.html +664 -0
  241. package/coverage/lcov-report/hooks/useSession/hooks/useSessionState.ts.html +295 -0
  242. package/coverage/lcov-report/hooks/useSession/hooks/useTokenRefreshScheduler.ts.html +535 -0
  243. package/coverage/lcov-report/hooks/useSession/index.html +161 -0
  244. package/coverage/lcov-report/hooks/useSession/index.ts.html +127 -0
  245. package/coverage/lcov-report/hooks/useSession/types.ts.html +427 -0
  246. package/coverage/lcov-report/hooks/useSession/useSession.ts.html +526 -0
  247. package/coverage/lcov-report/hooks/useSession/utils/index.html +131 -0
  248. package/coverage/lcov-report/hooks/useSession/utils/initializeSession.ts.html +424 -0
  249. package/coverage/lcov-report/hooks/useSession/utils/tokenUtils.ts.html +298 -0
  250. package/coverage/lcov-report/hooks/useUserData.ts.html +1210 -0
  251. package/coverage/lcov-report/hooks/useUserProfile.ts.html +820 -0
  252. package/coverage/lcov-report/index.html +205 -235
  253. package/coverage/lcov-report/providers/CrudifyThemeProvider.tsx.html +316 -0
  254. package/coverage/lcov-report/providers/SessionProvider.tsx.html +1120 -0
  255. package/coverage/lcov-report/providers/TranslationsProvider.tsx.html +1756 -0
  256. package/coverage/lcov-report/providers/index.html +146 -0
  257. package/coverage/lcov-report/services/credentialsEventBus.ts.html +319 -0
  258. package/coverage/lcov-report/services/crudifyAdminWrapper.ts.html +754 -0
  259. package/coverage/lcov-report/services/index.html +146 -0
  260. package/coverage/lcov-report/services/translationService.ts.html +1558 -0
  261. package/coverage/lcov-report/translations/critical.ts.html +1216 -0
  262. package/coverage/lcov-report/translations/index.html +116 -0
  263. package/coverage/lcov-report/types/index.html +116 -0
  264. package/coverage/lcov-report/types/password.ts.html +178 -0
  265. package/coverage/lcov-report/utils/authErrorDetector.ts.html +793 -0
  266. package/coverage/lcov-report/utils/authEventBus.ts.html +454 -0
  267. package/coverage/lcov-report/utils/configResolver.ts.html +460 -0
  268. package/coverage/lcov-report/utils/cookieSync.ts.html +595 -0
  269. package/coverage/lcov-report/utils/errorHandler.ts.html +1480 -0
  270. package/coverage/lcov-report/utils/errorTranslation.ts.html +868 -0
  271. package/coverage/lcov-report/utils/index.html +341 -0
  272. package/coverage/lcov-report/utils/index.ts.html +193 -0
  273. package/coverage/lcov-report/utils/jwtUtils.ts.html +325 -0
  274. package/coverage/lcov-report/utils/logger.ts.html +952 -0
  275. package/coverage/lcov-report/utils/navigationTracker.ts.html +562 -0
  276. package/coverage/lcov-report/utils/passwordValidation.ts.html +259 -0
  277. package/coverage/lcov-report/utils/preAuthCheck.ts.html +442 -0
  278. package/coverage/lcov-report/utils/redirectSecurity.ts.html +733 -0
  279. package/coverage/lcov-report/utils/tenantConfig.ts.html +712 -0
  280. package/coverage/lcov-report/utils/tokenStorage.ts.html +1825 -0
  281. package/coverage/lcov-report/utils/webCrypto.ts.html +490 -0
  282. package/coverage/lcov.info +15262 -14283
  283. package/coverage/providers/CrudifyThemeProvider.tsx.html +316 -0
  284. package/coverage/providers/SessionProvider.tsx.html +1120 -0
  285. package/coverage/providers/TranslationsProvider.tsx.html +1756 -0
  286. package/coverage/providers/index.html +146 -0
  287. package/coverage/services/credentialsEventBus.ts.html +319 -0
  288. package/coverage/services/crudifyAdminWrapper.ts.html +754 -0
  289. package/coverage/services/index.html +146 -0
  290. package/coverage/services/translationService.ts.html +1558 -0
  291. package/coverage/translations/critical.ts.html +1216 -0
  292. package/coverage/translations/index.html +116 -0
  293. package/coverage/types/index.html +116 -0
  294. package/coverage/types/password.ts.html +178 -0
  295. package/coverage/utils/authErrorDetector.ts.html +793 -0
  296. package/coverage/utils/authEventBus.ts.html +454 -0
  297. package/coverage/utils/configResolver.ts.html +460 -0
  298. package/coverage/utils/cookieSync.ts.html +595 -0
  299. package/coverage/utils/errorHandler.ts.html +1480 -0
  300. package/coverage/utils/errorTranslation.ts.html +868 -0
  301. package/coverage/utils/index.html +341 -0
  302. package/coverage/utils/index.ts.html +193 -0
  303. package/coverage/utils/jwtUtils.ts.html +325 -0
  304. package/coverage/utils/logger.ts.html +952 -0
  305. package/coverage/utils/navigationTracker.ts.html +562 -0
  306. package/coverage/utils/passwordValidation.ts.html +259 -0
  307. package/coverage/utils/preAuthCheck.ts.html +442 -0
  308. package/coverage/utils/redirectSecurity.ts.html +733 -0
  309. package/coverage/utils/tenantConfig.ts.html +712 -0
  310. package/coverage/utils/tokenStorage.ts.html +1825 -0
  311. package/coverage/utils/webCrypto.ts.html +490 -0
  312. package/dist/{CrudiaMarkdownField-CkiBwG-U.d.ts → CrudiaMarkdownField-DM6NR8zw.d.mts} +22 -22
  313. package/dist/{CrudiaMarkdownField-D-DqiXMQ.d.mts → CrudiaMarkdownField-UJaiSq9_.d.ts} +22 -22
  314. package/dist/{GlobalNotificationProvider-CdwdNv_8.d.mts → GlobalNotificationProvider-Cx540WKg.d.mts} +15 -15
  315. package/dist/{GlobalNotificationProvider-CdwdNv_8.d.ts → GlobalNotificationProvider-Cx540WKg.d.ts} +15 -15
  316. package/dist/chunk-2DXLCBOT.mjs +1 -0
  317. package/dist/chunk-DYRZIARH.js +1 -0
  318. package/dist/chunk-GCSJXEGT.mjs +1 -0
  319. package/dist/chunk-GJUZD5ZN.js +1 -0
  320. package/dist/chunk-K47I475N.js +1 -0
  321. package/dist/chunk-OCYZGEM5.mjs +1 -0
  322. package/dist/chunk-PI7HPRDB.js +1 -0
  323. package/dist/chunk-QVEUGJBY.mjs +1 -0
  324. package/dist/chunk-UROR7G7N.mjs +1 -0
  325. package/dist/chunk-XFT47DEL.js +1 -0
  326. package/dist/components.d.mts +8 -8
  327. package/dist/components.d.ts +8 -8
  328. package/dist/components.js +1 -1
  329. package/dist/components.mjs +1 -1
  330. package/dist/{errorTranslation-CF-5JClP.d.ts → errorTranslation-BEWwDbCH.d.ts} +1 -1
  331. package/dist/{errorTranslation-BcX8AaK7.d.mts → errorTranslation-DsGZon0M.d.mts} +1 -1
  332. package/dist/hooks.d.mts +3 -3
  333. package/dist/hooks.d.ts +3 -3
  334. package/dist/hooks.js +1 -1
  335. package/dist/hooks.mjs +1 -1
  336. package/dist/{index-DEDnmsdO.d.ts → index-Dnmttf62.d.ts} +131 -114
  337. package/dist/{index-D06kTP0C.d.mts → index-ZcF6nJt4.d.mts} +131 -114
  338. package/dist/index.d.mts +153 -106
  339. package/dist/index.d.ts +153 -106
  340. package/dist/index.js +2 -2
  341. package/dist/index.mjs +2 -2
  342. package/dist/{tenantConfig-CYnS9TPV.d.mts → tenantConfig-DxpfrAof.d.mts} +1 -1
  343. package/dist/{tenantConfig-CYnS9TPV.d.ts → tenantConfig-DxpfrAof.d.ts} +1 -1
  344. package/dist/utils.d.mts +25 -25
  345. package/dist/utils.d.ts +25 -25
  346. package/dist/utils.js +1 -1
  347. package/dist/utils.mjs +1 -1
  348. package/eslint.config.mjs +2 -2
  349. package/package.json +3 -3
  350. package/tests/helpers/mockFactories.ts +218 -0
  351. package/tests/helpers/testUtils.tsx +66 -1
  352. package/vitest.config.ts +1 -0
  353. package/dist/chunk-2WAUZ6KI.js +0 -1
  354. package/dist/chunk-3IGZNZCT.mjs +0 -1
  355. package/dist/chunk-43L2PP77.mjs +0 -1
  356. package/dist/chunk-6VS5OT3A.mjs +0 -1
  357. package/dist/chunk-BWJTTMKS.js +0 -1
  358. package/dist/chunk-EMPPCCVU.js +0 -1
  359. package/dist/chunk-J43UPGBE.js +0 -1
  360. package/dist/chunk-K6ZRXOJ7.mjs +0 -1
  361. package/dist/chunk-RYQQZTEP.js +0 -1
  362. package/dist/chunk-VTMSOK4V.mjs +0 -1
@@ -0,0 +1,176 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/CrudifyLogin/Forms</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> components/CrudifyLogin/Forms</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">91.65% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>978/1067</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">82.5% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>132/160</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">96.55% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>28/29</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">91.65% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>978/1067</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file high" data-value="CheckCodeForm.tsx"><a href="CheckCodeForm.tsx.html">CheckCodeForm.tsx</a></td>
83
+ <td data-value="95.67" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
85
+ </td>
86
+ <td data-value="95.67" class="pct high">95.67%</td>
87
+ <td data-value="185" class="abs high">177/185</td>
88
+ <td data-value="85" class="pct high">85%</td>
89
+ <td data-value="20" class="abs high">17/20</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="5" class="abs high">5/5</td>
92
+ <td data-value="95.67" class="pct high">95.67%</td>
93
+ <td data-value="185" class="abs high">177/185</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file high" data-value="ForgotPasswordForm.tsx"><a href="ForgotPasswordForm.tsx.html">ForgotPasswordForm.tsx</a></td>
98
+ <td data-value="99.06" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 99%"></div><div class="cover-empty" style="width: 1%"></div></div>
100
+ </td>
101
+ <td data-value="99.06" class="pct high">99.06%</td>
102
+ <td data-value="215" class="abs high">213/215</td>
103
+ <td data-value="97.43" class="pct high">97.43%</td>
104
+ <td data-value="39" class="abs high">38/39</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="6" class="abs high">6/6</td>
107
+ <td data-value="99.06" class="pct high">99.06%</td>
108
+ <td data-value="215" class="abs high">213/215</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file high" data-value="LoginForm.tsx"><a href="LoginForm.tsx.html">LoginForm.tsx</a></td>
113
+ <td data-value="97.02" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
115
+ </td>
116
+ <td data-value="97.02" class="pct high">97.02%</td>
117
+ <td data-value="269" class="abs high">261/269</td>
118
+ <td data-value="83.33" class="pct high">83.33%</td>
119
+ <td data-value="42" class="abs high">35/42</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="11" class="abs high">11/11</td>
122
+ <td data-value="97.02" class="pct high">97.02%</td>
123
+ <td data-value="269" class="abs high">261/269</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file high" data-value="ResetPasswordForm.tsx"><a href="ResetPasswordForm.tsx.html">ResetPasswordForm.tsx</a></td>
128
+ <td data-value="86.5" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
130
+ </td>
131
+ <td data-value="86.5" class="pct high">86.5%</td>
132
+ <td data-value="378" class="abs high">327/378</td>
133
+ <td data-value="72.41" class="pct medium">72.41%</td>
134
+ <td data-value="58" class="abs medium">42/58</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="6" class="abs high">6/6</td>
137
+ <td data-value="86.5" class="pct high">86.5%</td>
138
+ <td data-value="378" class="abs high">327/378</td>
139
+ </tr>
140
+
141
+ <tr>
142
+ <td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
143
+ <td data-value="0" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
+ </td>
146
+ <td data-value="0" class="pct low">0%</td>
147
+ <td data-value="20" class="abs low">0/20</td>
148
+ <td data-value="0" class="pct low">0%</td>
149
+ <td data-value="1" class="abs low">0/1</td>
150
+ <td data-value="0" class="pct low">0%</td>
151
+ <td data-value="1" class="abs low">0/1</td>
152
+ <td data-value="0" class="pct low">0%</td>
153
+ <td data-value="20" class="abs low">0/20</td>
154
+ </tr>
155
+
156
+ </tbody>
157
+ </table>
158
+ </div>
159
+ <div class='push'></div><!-- for sticky footer -->
160
+ </div><!-- /wrapper -->
161
+ <div class='footer quiet pad2 space-top1 center small'>
162
+ Code coverage generated by
163
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
+ at 2026-02-07T06:55:20.810Z
165
+ </div>
166
+ <script src="../../../prettify.js"></script>
167
+ <script>
168
+ window.onload = function () {
169
+ prettyPrint();
170
+ };
171
+ </script>
172
+ <script src="../../../sorter.js"></script>
173
+ <script src="../../../block-navigation.js"></script>
174
+ </body>
175
+ </html>
176
+
@@ -0,0 +1,145 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/CrudifyLogin/Forms/index.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">components/CrudifyLogin/Forms</a> index.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/20</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/20</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
87
+ <span class="cline-any cline-no">&nbsp;</span>
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-no">&nbsp;</span>
90
+ <span class="cline-any cline-no">&nbsp;</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
92
+ <span class="cline-any cline-no">&nbsp;</span>
93
+ <span class="cline-any cline-no">&nbsp;</span>
94
+ <span class="cline-any cline-no">&nbsp;</span>
95
+ <span class="cline-any cline-no">&nbsp;</span>
96
+ <span class="cline-any cline-no">&nbsp;</span>
97
+ <span class="cline-any cline-no">&nbsp;</span>
98
+ <span class="cline-any cline-no">&nbsp;</span>
99
+ <span class="cline-any cline-no">&nbsp;</span>
100
+ <span class="cline-any cline-no">&nbsp;</span>
101
+ <span class="cline-any cline-no">&nbsp;</span>
102
+ <span class="cline-any cline-no">&nbsp;</span>
103
+ <span class="cline-any cline-no">&nbsp;</span>
104
+ <span class="cline-any cline-no">&nbsp;</span>
105
+ <span class="cline-any cline-no">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
107
+ <span class="cstat-no" title="statement not covered" > * CrudifyLogin Forms</span>
108
+ <span class="cstat-no" title="statement not covered" > *</span>
109
+ <span class="cstat-no" title="statement not covered" > * This module exports all form components and their supporting utilities.</span>
110
+ <span class="cstat-no" title="statement not covered" > */</span>
111
+ <span class="cstat-no" title="statement not covered" ></span>
112
+ <span class="cstat-no" title="statement not covered" >// Form components</span>
113
+ <span class="cstat-no" title="statement not covered" >export { default as LoginForm } from './LoginForm';</span>
114
+ <span class="cstat-no" title="statement not covered" >export { default as ForgotPasswordForm } from './ForgotPasswordForm';</span>
115
+ <span class="cstat-no" title="statement not covered" >export { default as CheckCodeForm } from './CheckCodeForm';</span>
116
+ <span class="cstat-no" title="statement not covered" >export { default as ResetPasswordForm } from './ResetPasswordForm';</span>
117
+ <span class="cstat-no" title="statement not covered" ></span>
118
+ <span class="cstat-no" title="statement not covered" >// Types</span>
119
+ <span class="cstat-no" title="statement not covered" >export type * from './types';</span>
120
+ <span class="cstat-no" title="statement not covered" ></span>
121
+ <span class="cstat-no" title="statement not covered" >// Utilities (for advanced usage)</span>
122
+ <span class="cstat-no" title="statement not covered" >export * from './utils';</span>
123
+ <span class="cstat-no" title="statement not covered" ></span>
124
+ <span class="cstat-no" title="statement not covered" >// Shared components (for advanced usage)</span>
125
+ <span class="cstat-no" title="statement not covered" >export * from './components';</span>
126
+ &nbsp;</pre></td></tr></table></pre>
127
+
128
+ <div class='push'></div><!-- for sticky footer -->
129
+ </div><!-- /wrapper -->
130
+ <div class='footer quiet pad2 space-top1 center small'>
131
+ Code coverage generated by
132
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
+ at 2026-02-07T06:55:20.810Z
134
+ </div>
135
+ <script src="../../../prettify.js"></script>
136
+ <script>
137
+ window.onload = function () {
138
+ prettyPrint();
139
+ };
140
+ </script>
141
+ <script src="../../../sorter.js"></script>
142
+ <script src="../../../block-navigation.js"></script>
143
+ </body>
144
+ </html>
145
+
@@ -0,0 +1,268 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/CrudifyLogin/Forms/utils/errorTranslation.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">components/CrudifyLogin/Forms/utils</a> errorTranslation.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>61/61</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>7/7</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>61/61</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
128
+ <span class="cline-any cline-yes">1x</span>
129
+ <span class="cline-any cline-yes">1x</span>
130
+ <span class="cline-any cline-yes">1x</span>
131
+ <span class="cline-any cline-yes">1x</span>
132
+ <span class="cline-any cline-yes">1x</span>
133
+ <span class="cline-any cline-yes">1x</span>
134
+ <span class="cline-any cline-yes">1x</span>
135
+ <span class="cline-any cline-yes">1x</span>
136
+ <span class="cline-any cline-yes">1x</span>
137
+ <span class="cline-any cline-yes">1x</span>
138
+ <span class="cline-any cline-yes">1x</span>
139
+ <span class="cline-any cline-yes">1x</span>
140
+ <span class="cline-any cline-yes">1x</span>
141
+ <span class="cline-any cline-yes">1x</span>
142
+ <span class="cline-any cline-yes">1x</span>
143
+ <span class="cline-any cline-yes">1x</span>
144
+ <span class="cline-any cline-yes">1x</span>
145
+ <span class="cline-any cline-yes">1x</span>
146
+ <span class="cline-any cline-yes">1x</span>
147
+ <span class="cline-any cline-yes">1x</span>
148
+ <span class="cline-any cline-yes">1x</span>
149
+ <span class="cline-any cline-yes">1x</span>
150
+ <span class="cline-any cline-yes">1x</span>
151
+ <span class="cline-any cline-yes">1x</span>
152
+ <span class="cline-any cline-yes">1x</span>
153
+ <span class="cline-any cline-yes">1x</span>
154
+ <span class="cline-any cline-yes">1x</span>
155
+ <span class="cline-any cline-yes">1x</span>
156
+ <span class="cline-any cline-yes">631x</span>
157
+ <span class="cline-any cline-yes">13x</span>
158
+ <span class="cline-any cline-yes">13x</span>
159
+ <span class="cline-any cline-yes">13x</span>
160
+ <span class="cline-any cline-yes">13x</span>
161
+ <span class="cline-any cline-yes">13x</span>
162
+ <span class="cline-any cline-yes">13x</span>
163
+ <span class="cline-any cline-yes">13x</span>
164
+ <span class="cline-any cline-yes">13x</span>
165
+ <span class="cline-any cline-yes">13x</span>
166
+ <span class="cline-any cline-yes">61x</span>
167
+ <span class="cline-any cline-yes">61x</span>
168
+ <span class="cline-any cline-yes">61x</span>
169
+ <span class="cline-any cline-yes">2x</span>
170
+ <span class="cline-any cline-yes">2x</span>
171
+ <span class="cline-any cline-yes">61x</span>
172
+ <span class="cline-any cline-yes">11x</span>
173
+ <span class="cline-any cline-yes">11x</span>
174
+ <span class="cline-any cline-yes">13x</span>
175
+ <span class="cline-any cline-yes">13x</span>
176
+ <span class="cline-any cline-yes">631x</span>
177
+ <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-yes">1x</span>
179
+ <span class="cline-any cline-yes">1x</span>
180
+ <span class="cline-any cline-yes">1x</span>
181
+ <span class="cline-any cline-yes">1x</span>
182
+ <span class="cline-any cline-yes">1x</span>
183
+ <span class="cline-any cline-yes">1x</span>
184
+ <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-yes">1x</span>
186
+ <span class="cline-any cline-yes">1x</span>
187
+ <span class="cline-any cline-yes">1x</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
189
+ * Error translation utilities for Forms
190
+ * Provides consistent error message translation across all form components.
191
+ */
192
+ &nbsp;
193
+ import type { TranslationFunction, ErrorTranslator } from '../types';
194
+ import type { ParsedError } from '../../../../utils/errorHandler';
195
+ &nbsp;
196
+ /**
197
+ * Creates a form error translator function.
198
+ *
199
+ * The translator tries multiple translation key patterns in order:
200
+ * 1. errors.auth.{CODE}
201
+ * 2. errors.data.{CODE}
202
+ * 3. errors.system.{CODE}
203
+ * 4. errors.{CODE}
204
+ * 5. {namespace}.{code_lowercase}
205
+ *
206
+ * Falls back to the original error message or a generic error message.
207
+ *
208
+ * @param t - Translation function
209
+ * @param namespace - Form namespace (e.g., "resetPassword", "login", "forgotPassword")
210
+ * @returns Error translator function
211
+ *
212
+ * @example
213
+ * const translateError = createFormErrorTranslator(t, "resetPassword");
214
+ * const message = translateError({ code: "INVALID_CODE", message: "Code is invalid" });
215
+ */
216
+ export const createFormErrorTranslator = (t: TranslationFunction, namespace: string): ErrorTranslator =&gt; {
217
+ return (parsedError: { code: string; message?: string }): string =&gt; {
218
+ const possibleKeys = [
219
+ `errors.auth.${parsedError.code}`,
220
+ `errors.data.${parsedError.code}`,
221
+ `errors.system.${parsedError.code}`,
222
+ `errors.${parsedError.code}`,
223
+ `${namespace}.${parsedError.code.toLowerCase()}`,
224
+ ];
225
+ &nbsp;
226
+ for (const key of possibleKeys) {
227
+ const translated = t(key);
228
+ // If translation returns something different than the key, we found a match
229
+ if (translated !== key) {
230
+ return translated;
231
+ }
232
+ }
233
+ &nbsp;
234
+ // Fallback to original message or generic error
235
+ return parsedError.message || t('base.errors.errorUnknown');
236
+ };
237
+ };
238
+ &nbsp;
239
+ /**
240
+ * Translates an array of parsed errors using the provided translator.
241
+ *
242
+ * @param errors - Array of parsed errors
243
+ * @param translator - Error translator function
244
+ * @returns Array of translated error messages
245
+ */
246
+ export const translateErrors = (errors: ParsedError[], translator: ErrorTranslator): string[] =&gt; {
247
+ return errors.map(translator);
248
+ };
249
+ &nbsp;</pre></td></tr></table></pre>
250
+
251
+ <div class='push'></div><!-- for sticky footer -->
252
+ </div><!-- /wrapper -->
253
+ <div class='footer quiet pad2 space-top1 center small'>
254
+ Code coverage generated by
255
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
256
+ at 2026-02-07T06:55:20.810Z
257
+ </div>
258
+ <script src="../../../../prettify.js"></script>
259
+ <script>
260
+ window.onload = function () {
261
+ prettyPrint();
262
+ };
263
+ </script>
264
+ <script src="../../../../sorter.js"></script>
265
+ <script src="../../../../block-navigation.js"></script>
266
+ </body>
267
+ </html>
268
+