@nocios/crudify-components 2.0.61 → 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 (363) hide show
  1. package/.scannerwork/.sonar_lock +0 -0
  2. package/.scannerwork/report-task.txt +6 -0
  3. package/coverage/components/CrudiaAutoGenerate.tsx.html +616 -0
  4. package/coverage/components/CrudiaFileField/CrudiaFileField.tsx.html +1312 -0
  5. package/coverage/components/CrudiaFileField/components/DeleteConfirmationDialog.tsx.html +355 -0
  6. package/coverage/components/CrudiaFileField/components/DropZone.tsx.html +523 -0
  7. package/coverage/components/CrudiaFileField/components/FileItemRow.tsx.html +835 -0
  8. package/coverage/components/CrudiaFileField/components/FileThumbnail.tsx.html +1585 -0
  9. package/coverage/components/CrudiaFileField/components/index.html +176 -0
  10. package/coverage/components/CrudiaFileField/components/index.ts.html +115 -0
  11. package/coverage/components/CrudiaFileField/hooks/index.html +146 -0
  12. package/coverage/components/CrudiaFileField/hooks/index.ts.html +112 -0
  13. package/coverage/components/CrudiaFileField/hooks/useDeleteConfirmation.ts.html +433 -0
  14. package/coverage/components/CrudiaFileField/hooks/useDragDrop.ts.html +409 -0
  15. package/coverage/components/CrudiaFileField/index.html +131 -0
  16. package/coverage/components/CrudiaFileField/index.ts.html +112 -0
  17. package/coverage/components/CrudiaFileField/utils/formatters.ts.html +169 -0
  18. package/coverage/components/CrudiaFileField/utils/icons.tsx.html +253 -0
  19. package/coverage/components/CrudiaFileField/utils/index.html +146 -0
  20. package/coverage/components/CrudiaFileField/utils/index.ts.html +103 -0
  21. package/coverage/components/CrudiaMarkdownField.tsx.html +676 -0
  22. package/coverage/components/CrudifyInitializer.tsx.html +712 -0
  23. package/coverage/components/CrudifyLogin/Forms/CheckCodeForm.tsx.html +640 -0
  24. package/coverage/components/CrudifyLogin/Forms/ForgotPasswordForm.tsx.html +730 -0
  25. package/coverage/components/CrudifyLogin/Forms/LoginForm.tsx.html +892 -0
  26. package/coverage/components/CrudifyLogin/Forms/ResetPasswordForm.tsx.html +1219 -0
  27. package/coverage/components/CrudifyLogin/Forms/components/CodeInput.tsx.html +289 -0
  28. package/coverage/components/CrudifyLogin/Forms/components/FormAlert.tsx.html +202 -0
  29. package/coverage/components/CrudifyLogin/Forms/components/PasswordInput.tsx.html +346 -0
  30. package/coverage/components/CrudifyLogin/Forms/components/index.html +161 -0
  31. package/coverage/components/CrudifyLogin/Forms/components/index.ts.html +106 -0
  32. package/coverage/components/CrudifyLogin/Forms/index.html +176 -0
  33. package/coverage/components/CrudifyLogin/Forms/index.ts.html +145 -0
  34. package/coverage/components/CrudifyLogin/Forms/utils/errorTranslation.ts.html +268 -0
  35. package/coverage/components/CrudifyLogin/Forms/utils/index.html +161 -0
  36. package/coverage/components/CrudifyLogin/Forms/utils/index.ts.html +121 -0
  37. package/coverage/components/CrudifyLogin/Forms/utils/paramUtils.ts.html +496 -0
  38. package/coverage/components/CrudifyLogin/Forms/utils/validation.ts.html +307 -0
  39. package/coverage/components/CrudifyLogin/components/CrudifyInitializer.tsx.html +268 -0
  40. package/coverage/components/CrudifyLogin/components/index.html +116 -0
  41. package/coverage/components/CrudifyLogin/context/CrudifyProvider.tsx.html +409 -0
  42. package/coverage/components/CrudifyLogin/context/I18nProvider.tsx.html +430 -0
  43. package/coverage/components/CrudifyLogin/context/LoginStateProvider.tsx.html +1261 -0
  44. package/coverage/components/CrudifyLogin/context/index.html +161 -0
  45. package/coverage/components/CrudifyLogin/context/index.ts.html +91 -0
  46. package/coverage/components/CrudifyLogin/hooks/index.html +131 -0
  47. package/coverage/components/CrudifyLogin/hooks/useCrudifyLogin.ts.html +463 -0
  48. package/coverage/components/CrudifyLogin/hooks/useTranslationsFromUrl.ts.html +391 -0
  49. package/coverage/components/CrudifyLogin/index.html +116 -0
  50. package/coverage/components/CrudifyLogin/index.tsx.html +466 -0
  51. package/coverage/components/CrudifyLogin/utils/index.html +116 -0
  52. package/coverage/components/CrudifyLogin/utils/secureStorage.ts.html +859 -0
  53. package/coverage/components/GlobalNotificationProvider.tsx.html +844 -0
  54. package/coverage/components/LoginComponent.tsx.html +676 -0
  55. package/coverage/components/PasswordRequirements/index.html +116 -0
  56. package/coverage/components/PasswordRequirements/index.tsx.html +232 -0
  57. package/coverage/components/PublicPolicies/FieldSelector/FieldSelector.tsx.html +1078 -0
  58. package/coverage/components/PublicPolicies/FieldSelector/index.html +131 -0
  59. package/coverage/components/PublicPolicies/FieldSelector/index.ts.html +88 -0
  60. package/coverage/components/PublicPolicies/Policies.tsx.html +625 -0
  61. package/coverage/components/PublicPolicies/PolicyItem/PolicyItem.tsx.html +886 -0
  62. package/coverage/components/PublicPolicies/PolicyItem/index.html +131 -0
  63. package/coverage/components/PublicPolicies/PolicyItem/index.ts.html +88 -0
  64. package/coverage/components/PublicPolicies/constants.ts.html +106 -0
  65. package/coverage/components/PublicPolicies/index.html +146 -0
  66. package/coverage/components/PublicPolicies/index.ts.html +88 -0
  67. package/coverage/components/Routing/AuthRoute.tsx.html +382 -0
  68. package/coverage/components/Routing/GuestRoute.tsx.html +352 -0
  69. package/coverage/components/Routing/ProtectedRoute.tsx.html +316 -0
  70. package/coverage/components/Routing/index.html +161 -0
  71. package/coverage/components/Routing/index.ts.html +109 -0
  72. package/coverage/components/SessionLoadingScreen/index.html +116 -0
  73. package/coverage/components/SessionLoadingScreen/index.tsx.html +379 -0
  74. package/coverage/components/SessionTimeIndicator/index.html +116 -0
  75. package/coverage/components/SessionTimeIndicator/index.tsx.html +523 -0
  76. package/coverage/components/UserProfile/UserProfileDisplay.tsx.html +931 -0
  77. package/coverage/components/UserProfile/index.html +131 -0
  78. package/coverage/components/UserProfile/index.ts.html +88 -0
  79. package/coverage/components/index.html +191 -0
  80. package/coverage/components/index.ts.html +178 -0
  81. package/coverage/core/CrossTabSyncManager.ts.html +853 -0
  82. package/coverage/core/CrudifyInitializationManager.ts.html +1279 -0
  83. package/coverage/core/SessionManager.ts.html +3064 -0
  84. package/coverage/core/index.html +146 -0
  85. package/coverage/coverage-final.json +74 -77
  86. package/coverage/hooks/index.html +191 -0
  87. package/coverage/hooks/index.ts.html +136 -0
  88. package/coverage/hooks/useAuth.ts.html +529 -0
  89. package/coverage/hooks/useAutoGenerate.ts.html +571 -0
  90. package/coverage/hooks/useCrudifyWithNotifications/constants.ts.html +247 -0
  91. package/coverage/hooks/useCrudifyWithNotifications/hooks/index.html +116 -0
  92. package/coverage/hooks/useCrudifyWithNotifications/hooks/useCrudOperations.ts.html +820 -0
  93. package/coverage/hooks/useCrudifyWithNotifications/index.html +146 -0
  94. package/coverage/hooks/useCrudifyWithNotifications/index.ts.html +118 -0
  95. package/coverage/hooks/useCrudifyWithNotifications/useCrudifyWithNotifications.ts.html +565 -0
  96. package/coverage/hooks/useCrudifyWithNotifications/utils/errorMessageResolver.ts.html +847 -0
  97. package/coverage/hooks/useCrudifyWithNotifications/utils/index.html +146 -0
  98. package/coverage/hooks/useCrudifyWithNotifications/utils/notificationFilters.ts.html +313 -0
  99. package/coverage/hooks/useCrudifyWithNotifications/utils/successMessageResolver.ts.html +265 -0
  100. package/coverage/hooks/useData.ts.html +829 -0
  101. package/coverage/hooks/useFileUpload/index.html +131 -0
  102. package/coverage/hooks/useFileUpload/index.ts.html +112 -0
  103. package/coverage/hooks/useFileUpload/services/index.html +131 -0
  104. package/coverage/hooks/useFileUpload/services/index.ts.html +106 -0
  105. package/coverage/hooks/useFileUpload/services/uploadService.ts.html +610 -0
  106. package/coverage/hooks/useFileUpload/useFileUpload.ts.html +2092 -0
  107. package/coverage/hooks/useFileUpload/utils/fileUtils.ts.html +271 -0
  108. package/coverage/hooks/useFileUpload/utils/index.html +161 -0
  109. package/coverage/hooks/useFileUpload/utils/index.ts.html +109 -0
  110. package/coverage/hooks/useFileUpload/utils/mimeTypes.ts.html +235 -0
  111. package/coverage/hooks/useFileUpload/utils/validation.ts.html +403 -0
  112. package/coverage/hooks/useSession/constants.ts.html +217 -0
  113. package/coverage/hooks/useSession/hooks/index.html +176 -0
  114. package/coverage/hooks/useSession/hooks/useAuthEventSubscriber.ts.html +331 -0
  115. package/coverage/hooks/useSession/hooks/useCrossTabSync.ts.html +535 -0
  116. package/coverage/hooks/useSession/hooks/useSessionActions.ts.html +664 -0
  117. package/coverage/hooks/useSession/hooks/useSessionState.ts.html +295 -0
  118. package/coverage/hooks/useSession/hooks/useTokenRefreshScheduler.ts.html +535 -0
  119. package/coverage/hooks/useSession/index.html +161 -0
  120. package/coverage/hooks/useSession/index.ts.html +127 -0
  121. package/coverage/hooks/useSession/types.ts.html +427 -0
  122. package/coverage/hooks/useSession/useSession.ts.html +526 -0
  123. package/coverage/hooks/useSession/utils/index.html +131 -0
  124. package/coverage/hooks/useSession/utils/initializeSession.ts.html +424 -0
  125. package/coverage/hooks/useSession/utils/tokenUtils.ts.html +298 -0
  126. package/coverage/hooks/useUserData.ts.html +1210 -0
  127. package/coverage/hooks/useUserProfile.ts.html +820 -0
  128. package/coverage/index.html +205 -235
  129. package/coverage/lcov-report/components/CrudiaAutoGenerate.tsx.html +616 -0
  130. package/coverage/lcov-report/components/CrudiaFileField/CrudiaFileField.tsx.html +1312 -0
  131. package/coverage/lcov-report/components/CrudiaFileField/components/DeleteConfirmationDialog.tsx.html +355 -0
  132. package/coverage/lcov-report/components/CrudiaFileField/components/DropZone.tsx.html +523 -0
  133. package/coverage/lcov-report/components/CrudiaFileField/components/FileItemRow.tsx.html +835 -0
  134. package/coverage/lcov-report/components/CrudiaFileField/components/FileThumbnail.tsx.html +1585 -0
  135. package/coverage/lcov-report/components/CrudiaFileField/components/index.html +176 -0
  136. package/coverage/lcov-report/components/CrudiaFileField/components/index.ts.html +115 -0
  137. package/coverage/lcov-report/components/CrudiaFileField/hooks/index.html +146 -0
  138. package/coverage/lcov-report/components/CrudiaFileField/hooks/index.ts.html +112 -0
  139. package/coverage/lcov-report/components/CrudiaFileField/hooks/useDeleteConfirmation.ts.html +433 -0
  140. package/coverage/lcov-report/components/CrudiaFileField/hooks/useDragDrop.ts.html +409 -0
  141. package/coverage/lcov-report/components/CrudiaFileField/index.html +131 -0
  142. package/coverage/lcov-report/components/CrudiaFileField/index.ts.html +112 -0
  143. package/coverage/lcov-report/components/CrudiaFileField/utils/formatters.ts.html +169 -0
  144. package/coverage/lcov-report/components/CrudiaFileField/utils/icons.tsx.html +253 -0
  145. package/coverage/lcov-report/components/CrudiaFileField/utils/index.html +146 -0
  146. package/coverage/lcov-report/components/CrudiaFileField/utils/index.ts.html +103 -0
  147. package/coverage/lcov-report/components/CrudiaMarkdownField.tsx.html +676 -0
  148. package/coverage/lcov-report/components/CrudifyInitializer.tsx.html +712 -0
  149. package/coverage/lcov-report/components/CrudifyLogin/Forms/CheckCodeForm.tsx.html +640 -0
  150. package/coverage/lcov-report/components/CrudifyLogin/Forms/ForgotPasswordForm.tsx.html +730 -0
  151. package/coverage/lcov-report/components/CrudifyLogin/Forms/LoginForm.tsx.html +892 -0
  152. package/coverage/lcov-report/components/CrudifyLogin/Forms/ResetPasswordForm.tsx.html +1219 -0
  153. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/CodeInput.tsx.html +289 -0
  154. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/FormAlert.tsx.html +202 -0
  155. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/PasswordInput.tsx.html +346 -0
  156. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/index.html +161 -0
  157. package/coverage/lcov-report/components/CrudifyLogin/Forms/components/index.ts.html +106 -0
  158. package/coverage/lcov-report/components/CrudifyLogin/Forms/index.html +176 -0
  159. package/coverage/lcov-report/components/CrudifyLogin/Forms/index.ts.html +145 -0
  160. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/errorTranslation.ts.html +268 -0
  161. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/index.html +161 -0
  162. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/index.ts.html +121 -0
  163. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/paramUtils.ts.html +496 -0
  164. package/coverage/lcov-report/components/CrudifyLogin/Forms/utils/validation.ts.html +307 -0
  165. package/coverage/lcov-report/components/CrudifyLogin/components/CrudifyInitializer.tsx.html +268 -0
  166. package/coverage/lcov-report/components/CrudifyLogin/components/index.html +116 -0
  167. package/coverage/lcov-report/components/CrudifyLogin/context/CrudifyProvider.tsx.html +409 -0
  168. package/coverage/lcov-report/components/CrudifyLogin/context/I18nProvider.tsx.html +430 -0
  169. package/coverage/lcov-report/components/CrudifyLogin/context/LoginStateProvider.tsx.html +1261 -0
  170. package/coverage/lcov-report/components/CrudifyLogin/context/index.html +161 -0
  171. package/coverage/lcov-report/components/CrudifyLogin/context/index.ts.html +91 -0
  172. package/coverage/lcov-report/components/CrudifyLogin/hooks/index.html +131 -0
  173. package/coverage/lcov-report/components/CrudifyLogin/hooks/useCrudifyLogin.ts.html +463 -0
  174. package/coverage/lcov-report/components/CrudifyLogin/hooks/useTranslationsFromUrl.ts.html +391 -0
  175. package/coverage/lcov-report/components/CrudifyLogin/index.html +116 -0
  176. package/coverage/lcov-report/components/CrudifyLogin/index.tsx.html +466 -0
  177. package/coverage/lcov-report/components/CrudifyLogin/utils/index.html +116 -0
  178. package/coverage/lcov-report/components/CrudifyLogin/utils/secureStorage.ts.html +859 -0
  179. package/coverage/lcov-report/components/GlobalNotificationProvider.tsx.html +844 -0
  180. package/coverage/lcov-report/components/LoginComponent.tsx.html +676 -0
  181. package/coverage/lcov-report/components/PasswordRequirements/index.html +116 -0
  182. package/coverage/lcov-report/components/PasswordRequirements/index.tsx.html +232 -0
  183. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/FieldSelector.tsx.html +1078 -0
  184. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/index.html +131 -0
  185. package/coverage/lcov-report/components/PublicPolicies/FieldSelector/index.ts.html +88 -0
  186. package/coverage/lcov-report/components/PublicPolicies/Policies.tsx.html +625 -0
  187. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/PolicyItem.tsx.html +886 -0
  188. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/index.html +131 -0
  189. package/coverage/lcov-report/components/PublicPolicies/PolicyItem/index.ts.html +88 -0
  190. package/coverage/lcov-report/components/PublicPolicies/constants.ts.html +106 -0
  191. package/coverage/lcov-report/components/PublicPolicies/index.html +146 -0
  192. package/coverage/lcov-report/components/PublicPolicies/index.ts.html +88 -0
  193. package/coverage/lcov-report/components/Routing/AuthRoute.tsx.html +382 -0
  194. package/coverage/lcov-report/components/Routing/GuestRoute.tsx.html +352 -0
  195. package/coverage/lcov-report/components/Routing/ProtectedRoute.tsx.html +316 -0
  196. package/coverage/lcov-report/components/Routing/index.html +161 -0
  197. package/coverage/lcov-report/components/Routing/index.ts.html +109 -0
  198. package/coverage/lcov-report/components/SessionLoadingScreen/index.html +116 -0
  199. package/coverage/lcov-report/components/SessionLoadingScreen/index.tsx.html +379 -0
  200. package/coverage/lcov-report/components/SessionTimeIndicator/index.html +116 -0
  201. package/coverage/lcov-report/components/SessionTimeIndicator/index.tsx.html +523 -0
  202. package/coverage/lcov-report/components/UserProfile/UserProfileDisplay.tsx.html +931 -0
  203. package/coverage/lcov-report/components/UserProfile/index.html +131 -0
  204. package/coverage/lcov-report/components/UserProfile/index.ts.html +88 -0
  205. package/coverage/lcov-report/components/index.html +191 -0
  206. package/coverage/lcov-report/components/index.ts.html +178 -0
  207. package/coverage/lcov-report/core/CrossTabSyncManager.ts.html +853 -0
  208. package/coverage/lcov-report/core/CrudifyInitializationManager.ts.html +1279 -0
  209. package/coverage/lcov-report/core/SessionManager.ts.html +3064 -0
  210. package/coverage/lcov-report/core/index.html +146 -0
  211. package/coverage/lcov-report/hooks/index.html +191 -0
  212. package/coverage/lcov-report/hooks/index.ts.html +136 -0
  213. package/coverage/lcov-report/hooks/useAuth.ts.html +529 -0
  214. package/coverage/lcov-report/hooks/useAutoGenerate.ts.html +571 -0
  215. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/constants.ts.html +247 -0
  216. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/hooks/index.html +116 -0
  217. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/hooks/useCrudOperations.ts.html +820 -0
  218. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/index.html +146 -0
  219. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/index.ts.html +118 -0
  220. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/useCrudifyWithNotifications.ts.html +565 -0
  221. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/errorMessageResolver.ts.html +847 -0
  222. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/index.html +146 -0
  223. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/notificationFilters.ts.html +313 -0
  224. package/coverage/lcov-report/hooks/useCrudifyWithNotifications/utils/successMessageResolver.ts.html +265 -0
  225. package/coverage/lcov-report/hooks/useData.ts.html +829 -0
  226. package/coverage/lcov-report/hooks/useFileUpload/index.html +131 -0
  227. package/coverage/lcov-report/hooks/useFileUpload/index.ts.html +112 -0
  228. package/coverage/lcov-report/hooks/useFileUpload/services/index.html +131 -0
  229. package/coverage/lcov-report/hooks/useFileUpload/services/index.ts.html +106 -0
  230. package/coverage/lcov-report/hooks/useFileUpload/services/uploadService.ts.html +610 -0
  231. package/coverage/lcov-report/hooks/useFileUpload/useFileUpload.ts.html +2092 -0
  232. package/coverage/lcov-report/hooks/useFileUpload/utils/fileUtils.ts.html +271 -0
  233. package/coverage/lcov-report/hooks/useFileUpload/utils/index.html +161 -0
  234. package/coverage/lcov-report/hooks/useFileUpload/utils/index.ts.html +109 -0
  235. package/coverage/lcov-report/hooks/useFileUpload/utils/mimeTypes.ts.html +235 -0
  236. package/coverage/lcov-report/hooks/useFileUpload/utils/validation.ts.html +403 -0
  237. package/coverage/lcov-report/hooks/useSession/constants.ts.html +217 -0
  238. package/coverage/lcov-report/hooks/useSession/hooks/index.html +176 -0
  239. package/coverage/lcov-report/hooks/useSession/hooks/useAuthEventSubscriber.ts.html +331 -0
  240. package/coverage/lcov-report/hooks/useSession/hooks/useCrossTabSync.ts.html +535 -0
  241. package/coverage/lcov-report/hooks/useSession/hooks/useSessionActions.ts.html +664 -0
  242. package/coverage/lcov-report/hooks/useSession/hooks/useSessionState.ts.html +295 -0
  243. package/coverage/lcov-report/hooks/useSession/hooks/useTokenRefreshScheduler.ts.html +535 -0
  244. package/coverage/lcov-report/hooks/useSession/index.html +161 -0
  245. package/coverage/lcov-report/hooks/useSession/index.ts.html +127 -0
  246. package/coverage/lcov-report/hooks/useSession/types.ts.html +427 -0
  247. package/coverage/lcov-report/hooks/useSession/useSession.ts.html +526 -0
  248. package/coverage/lcov-report/hooks/useSession/utils/index.html +131 -0
  249. package/coverage/lcov-report/hooks/useSession/utils/initializeSession.ts.html +424 -0
  250. package/coverage/lcov-report/hooks/useSession/utils/tokenUtils.ts.html +298 -0
  251. package/coverage/lcov-report/hooks/useUserData.ts.html +1210 -0
  252. package/coverage/lcov-report/hooks/useUserProfile.ts.html +820 -0
  253. package/coverage/lcov-report/index.html +205 -235
  254. package/coverage/lcov-report/providers/CrudifyThemeProvider.tsx.html +316 -0
  255. package/coverage/lcov-report/providers/SessionProvider.tsx.html +1120 -0
  256. package/coverage/lcov-report/providers/TranslationsProvider.tsx.html +1756 -0
  257. package/coverage/lcov-report/providers/index.html +146 -0
  258. package/coverage/lcov-report/services/credentialsEventBus.ts.html +319 -0
  259. package/coverage/lcov-report/services/crudifyAdminWrapper.ts.html +754 -0
  260. package/coverage/lcov-report/services/index.html +146 -0
  261. package/coverage/lcov-report/services/translationService.ts.html +1558 -0
  262. package/coverage/lcov-report/translations/critical.ts.html +1216 -0
  263. package/coverage/lcov-report/translations/index.html +116 -0
  264. package/coverage/lcov-report/types/index.html +116 -0
  265. package/coverage/lcov-report/types/password.ts.html +178 -0
  266. package/coverage/lcov-report/utils/authErrorDetector.ts.html +793 -0
  267. package/coverage/lcov-report/utils/authEventBus.ts.html +454 -0
  268. package/coverage/lcov-report/utils/configResolver.ts.html +460 -0
  269. package/coverage/lcov-report/utils/cookieSync.ts.html +595 -0
  270. package/coverage/lcov-report/utils/errorHandler.ts.html +1480 -0
  271. package/coverage/lcov-report/utils/errorTranslation.ts.html +868 -0
  272. package/coverage/lcov-report/utils/index.html +341 -0
  273. package/coverage/lcov-report/utils/index.ts.html +193 -0
  274. package/coverage/lcov-report/utils/jwtUtils.ts.html +325 -0
  275. package/coverage/lcov-report/utils/logger.ts.html +952 -0
  276. package/coverage/lcov-report/utils/navigationTracker.ts.html +562 -0
  277. package/coverage/lcov-report/utils/passwordValidation.ts.html +259 -0
  278. package/coverage/lcov-report/utils/preAuthCheck.ts.html +442 -0
  279. package/coverage/lcov-report/utils/redirectSecurity.ts.html +733 -0
  280. package/coverage/lcov-report/utils/tenantConfig.ts.html +712 -0
  281. package/coverage/lcov-report/utils/tokenStorage.ts.html +1825 -0
  282. package/coverage/lcov-report/utils/webCrypto.ts.html +490 -0
  283. package/coverage/lcov.info +14988 -14009
  284. package/coverage/providers/CrudifyThemeProvider.tsx.html +316 -0
  285. package/coverage/providers/SessionProvider.tsx.html +1120 -0
  286. package/coverage/providers/TranslationsProvider.tsx.html +1756 -0
  287. package/coverage/providers/index.html +146 -0
  288. package/coverage/services/credentialsEventBus.ts.html +319 -0
  289. package/coverage/services/crudifyAdminWrapper.ts.html +754 -0
  290. package/coverage/services/index.html +146 -0
  291. package/coverage/services/translationService.ts.html +1558 -0
  292. package/coverage/translations/critical.ts.html +1216 -0
  293. package/coverage/translations/index.html +116 -0
  294. package/coverage/types/index.html +116 -0
  295. package/coverage/types/password.ts.html +178 -0
  296. package/coverage/utils/authErrorDetector.ts.html +793 -0
  297. package/coverage/utils/authEventBus.ts.html +454 -0
  298. package/coverage/utils/configResolver.ts.html +460 -0
  299. package/coverage/utils/cookieSync.ts.html +595 -0
  300. package/coverage/utils/errorHandler.ts.html +1480 -0
  301. package/coverage/utils/errorTranslation.ts.html +868 -0
  302. package/coverage/utils/index.html +341 -0
  303. package/coverage/utils/index.ts.html +193 -0
  304. package/coverage/utils/jwtUtils.ts.html +325 -0
  305. package/coverage/utils/logger.ts.html +952 -0
  306. package/coverage/utils/navigationTracker.ts.html +562 -0
  307. package/coverage/utils/passwordValidation.ts.html +259 -0
  308. package/coverage/utils/preAuthCheck.ts.html +442 -0
  309. package/coverage/utils/redirectSecurity.ts.html +733 -0
  310. package/coverage/utils/tenantConfig.ts.html +712 -0
  311. package/coverage/utils/tokenStorage.ts.html +1825 -0
  312. package/coverage/utils/webCrypto.ts.html +490 -0
  313. package/dist/{CrudiaMarkdownField-CkiBwG-U.d.ts → CrudiaMarkdownField-DM6NR8zw.d.mts} +22 -22
  314. package/dist/{CrudiaMarkdownField-D-DqiXMQ.d.mts → CrudiaMarkdownField-UJaiSq9_.d.ts} +22 -22
  315. package/dist/{GlobalNotificationProvider-CdwdNv_8.d.mts → GlobalNotificationProvider-Cx540WKg.d.mts} +15 -15
  316. package/dist/{GlobalNotificationProvider-CdwdNv_8.d.ts → GlobalNotificationProvider-Cx540WKg.d.ts} +15 -15
  317. package/dist/chunk-2DXLCBOT.mjs +1 -0
  318. package/dist/chunk-DYRZIARH.js +1 -0
  319. package/dist/chunk-GCSJXEGT.mjs +1 -0
  320. package/dist/chunk-GJUZD5ZN.js +1 -0
  321. package/dist/chunk-K47I475N.js +1 -0
  322. package/dist/chunk-OCYZGEM5.mjs +1 -0
  323. package/dist/chunk-PI7HPRDB.js +1 -0
  324. package/dist/chunk-QVEUGJBY.mjs +1 -0
  325. package/dist/chunk-UROR7G7N.mjs +1 -0
  326. package/dist/chunk-XFT47DEL.js +1 -0
  327. package/dist/components.d.mts +8 -8
  328. package/dist/components.d.ts +8 -8
  329. package/dist/components.js +1 -1
  330. package/dist/components.mjs +1 -1
  331. package/dist/{errorTranslation-CF-5JClP.d.ts → errorTranslation-BEWwDbCH.d.ts} +1 -1
  332. package/dist/{errorTranslation-BcX8AaK7.d.mts → errorTranslation-DsGZon0M.d.mts} +1 -1
  333. package/dist/hooks.d.mts +3 -3
  334. package/dist/hooks.d.ts +3 -3
  335. package/dist/hooks.js +1 -1
  336. package/dist/hooks.mjs +1 -1
  337. package/dist/{index-DEDnmsdO.d.ts → index-Dnmttf62.d.ts} +131 -114
  338. package/dist/{index-D06kTP0C.d.mts → index-ZcF6nJt4.d.mts} +131 -114
  339. package/dist/index.d.mts +153 -106
  340. package/dist/index.d.ts +153 -106
  341. package/dist/index.js +2 -2
  342. package/dist/index.mjs +2 -2
  343. package/dist/{tenantConfig-CYnS9TPV.d.mts → tenantConfig-DxpfrAof.d.mts} +1 -1
  344. package/dist/{tenantConfig-CYnS9TPV.d.ts → tenantConfig-DxpfrAof.d.ts} +1 -1
  345. package/dist/utils.d.mts +25 -25
  346. package/dist/utils.d.ts +25 -25
  347. package/dist/utils.js +1 -1
  348. package/dist/utils.mjs +1 -1
  349. package/eslint.config.mjs +2 -2
  350. package/package.json +1 -1
  351. package/tests/helpers/mockFactories.ts +218 -0
  352. package/tests/helpers/testUtils.tsx +66 -1
  353. package/vitest.config.ts +1 -0
  354. package/dist/chunk-2WAUZ6KI.js +0 -1
  355. package/dist/chunk-3IGZNZCT.mjs +0 -1
  356. package/dist/chunk-43L2PP77.mjs +0 -1
  357. package/dist/chunk-6VS5OT3A.mjs +0 -1
  358. package/dist/chunk-BWJTTMKS.js +0 -1
  359. package/dist/chunk-EMPPCCVU.js +0 -1
  360. package/dist/chunk-J43UPGBE.js +0 -1
  361. package/dist/chunk-K6ZRXOJ7.mjs +0 -1
  362. package/dist/chunk-RYQQZTEP.js +0 -1
  363. package/dist/chunk-VTMSOK4V.mjs +0 -1
@@ -0,0 +1,391 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/CrudifyLogin/hooks/useTranslationsFromUrl.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/hooks</a> useTranslationsFromUrl.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">90.19% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>92/102</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">81.25% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>13/16</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'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">90.19% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>92/102</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>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
169
+ <span class="cline-any cline-yes">1x</span>
170
+ <span class="cline-any cline-yes">1x</span>
171
+ <span class="cline-any cline-yes">1x</span>
172
+ <span class="cline-any cline-yes">1x</span>
173
+ <span class="cline-any cline-yes">1x</span>
174
+ <span class="cline-any cline-yes">1x</span>
175
+ <span class="cline-any cline-yes">1x</span>
176
+ <span class="cline-any cline-yes">1x</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">13x</span>
180
+ <span class="cline-any cline-yes">13x</span>
181
+ <span class="cline-any cline-yes">13x</span>
182
+ <span class="cline-any cline-yes">13x</span>
183
+ <span class="cline-any cline-yes">13x</span>
184
+ <span class="cline-any cline-yes">13x</span>
185
+ <span class="cline-any cline-yes">13x</span>
186
+ <span class="cline-any cline-yes">13x</span>
187
+ <span class="cline-any cline-yes">13x</span>
188
+ <span class="cline-any cline-yes">13x</span>
189
+ <span class="cline-any cline-yes">13x</span>
190
+ <span class="cline-any cline-yes">13x</span>
191
+ <span class="cline-any cline-yes">13x</span>
192
+ <span class="cline-any cline-yes">13x</span>
193
+ <span class="cline-any cline-yes">13x</span>
194
+ <span class="cline-any cline-yes">13x</span>
195
+ <span class="cline-any cline-yes">13x</span>
196
+ <span class="cline-any cline-yes">13x</span>
197
+ <span class="cline-any cline-yes">13x</span>
198
+ <span class="cline-any cline-yes">13x</span>
199
+ <span class="cline-any cline-yes">13x</span>
200
+ <span class="cline-any cline-yes">13x</span>
201
+ <span class="cline-any cline-yes">13x</span>
202
+ <span class="cline-any cline-yes">11x</span>
203
+ <span class="cline-any cline-yes">11x</span>
204
+ <span class="cline-any cline-yes">10x</span>
205
+ <span class="cline-any cline-yes">10x</span>
206
+ <span class="cline-any cline-yes">1x</span>
207
+ <span class="cline-any cline-yes">1x</span>
208
+ <span class="cline-any cline-yes">11x</span>
209
+ <span class="cline-any cline-no">&nbsp;</span>
210
+ <span class="cline-any cline-no">&nbsp;</span>
211
+ <span class="cline-any cline-yes">1x</span>
212
+ <span class="cline-any cline-yes">1x</span>
213
+ <span class="cline-any cline-yes">1x</span>
214
+ <span class="cline-any cline-yes">1x</span>
215
+ <span class="cline-any cline-yes">1x</span>
216
+ <span class="cline-any cline-yes">1x</span>
217
+ <span class="cline-any cline-yes">1x</span>
218
+ <span class="cline-any cline-yes">1x</span>
219
+ <span class="cline-any cline-yes">1x</span>
220
+ <span class="cline-any cline-yes">1x</span>
221
+ <span class="cline-any cline-yes">1x</span>
222
+ <span class="cline-any cline-yes">1x</span>
223
+ <span class="cline-any cline-no">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
225
+ <span class="cline-any cline-no">&nbsp;</span>
226
+ <span class="cline-any cline-no">&nbsp;</span>
227
+ <span class="cline-any cline-yes">1x</span>
228
+ <span class="cline-any cline-yes">1x</span>
229
+ <span class="cline-any cline-no">&nbsp;</span>
230
+ <span class="cline-any cline-no">&nbsp;</span>
231
+ <span class="cline-any cline-no">&nbsp;</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
233
+ <span class="cline-any cline-yes">1x</span>
234
+ <span class="cline-any cline-yes">1x</span>
235
+ <span class="cline-any cline-yes">1x</span>
236
+ <span class="cline-any cline-yes">1x</span>
237
+ <span class="cline-any cline-yes">1x</span>
238
+ <span class="cline-any cline-yes">1x</span>
239
+ <span class="cline-any cline-yes">1x</span>
240
+ <span class="cline-any cline-yes">1x</span>
241
+ <span class="cline-any cline-yes">1x</span>
242
+ <span class="cline-any cline-yes">1x</span>
243
+ <span class="cline-any cline-yes">1x</span>
244
+ <span class="cline-any cline-yes">1x</span>
245
+ <span class="cline-any cline-yes">1x</span>
246
+ <span class="cline-any cline-yes">1x</span>
247
+ <span class="cline-any cline-yes">1x</span>
248
+ <span class="cline-any cline-yes">1x</span>
249
+ <span class="cline-any cline-yes">1x</span>
250
+ <span class="cline-any cline-yes">1x</span>
251
+ <span class="cline-any cline-yes">13x</span>
252
+ <span class="cline-any cline-yes">13x</span>
253
+ <span class="cline-any cline-yes">13x</span>
254
+ <span class="cline-any cline-yes">13x</span>
255
+ <span class="cline-any cline-yes">13x</span>
256
+ <span class="cline-any cline-yes">13x</span>
257
+ <span class="cline-any cline-yes">2x</span>
258
+ <span class="cline-any cline-yes">2x</span>
259
+ <span class="cline-any cline-yes">2x</span>
260
+ <span class="cline-any cline-yes">2x</span>
261
+ <span class="cline-any cline-yes">2x</span>
262
+ <span class="cline-any cline-yes">2x</span>
263
+ <span class="cline-any cline-yes">11x</span>
264
+ <span class="cline-any cline-yes">11x</span>
265
+ <span class="cline-any cline-yes">11x</span>
266
+ <span class="cline-any cline-yes">11x</span>
267
+ <span class="cline-any cline-yes">11x</span>
268
+ <span class="cline-any cline-yes">11x</span>
269
+ <span class="cline-any cline-yes">11x</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useState, useEffect, useMemo, useRef } from 'react';
271
+ import type { CrudifyLoginTranslations } from '../types';
272
+ import { logger } from '../../../utils/logger';
273
+ &nbsp;
274
+ interface UseTranslationsFromUrlReturn {
275
+ translations: CrudifyLoginTranslations;
276
+ loading: boolean;
277
+ error: string | null;
278
+ }
279
+ &nbsp;
280
+ export const useTranslationsFromUrl = (
281
+ url?: string,
282
+ providedTranslations?: CrudifyLoginTranslations
283
+ ): UseTranslationsFromUrlReturn =&gt; {
284
+ // Determine whether we should use the provided translations
285
+ const hasProvidedTranslations = useMemo(
286
+ () =&gt; providedTranslations &amp;&amp; Object.keys(providedTranslations).length &gt; 0,
287
+ [providedTranslations]
288
+ );
289
+ &nbsp;
290
+ // Determine if we need to fetch
291
+ const shouldFetch = !hasProvidedTranslations &amp;&amp; !!url;
292
+ &nbsp;
293
+ // State only for translations loaded from URL
294
+ const [fetchedTranslations, setFetchedTranslations] = useState&lt;CrudifyLoginTranslations&gt;({});
295
+ const [fetchState, setFetchState] = useState&lt;{ loading: boolean; error: string | null }&gt;({
296
+ loading: false,
297
+ error: null,
298
+ });
299
+ &nbsp;
300
+ // Ref to track the URL we are loading
301
+ const fetchingUrlRef = useRef&lt;string | null&gt;(null);
302
+ &nbsp;
303
+ useEffect(() =&gt; {
304
+ // Skip fetch if we have provided translations or no URL
305
+ if (!shouldFetch || !url) {
306
+ return;
307
+ }
308
+ &nbsp;
309
+ // Avoid double fetch of the same URL
310
+ if (fetchingUrlRef.current === url) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
311
+ <span class="cstat-no" title="statement not covered" > return;</span>
312
+ <span class="cstat-no" title="statement not covered" > }</span>
313
+ fetchingUrlRef.current = url;
314
+ &nbsp;
315
+ // Load from URL
316
+ let isCancelled = false;
317
+ &nbsp;
318
+ // Set loading state at start of async operation
319
+ // This is intentional - we need to show loading state when fetch starts
320
+ // eslint-disable-next-line react-hooks/set-state-in-effect
321
+ setFetchState({ loading: true, error: null });
322
+ &nbsp;
323
+ fetch(url)
324
+ .then((response) =&gt; {
325
+ <span class="cstat-no" title="statement not covered" > if (!response.ok) {</span>
326
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Failed to load translations: ${response.status}`);</span>
327
+ <span class="cstat-no" title="statement not covered" > }</span>
328
+ <span class="cstat-no" title="statement not covered" > return response.json();</span>
329
+ })
330
+ .then((data: CrudifyLoginTranslations) =&gt; {
331
+ <span class="cstat-no" title="statement not covered" > if (!isCancelled) {</span>
332
+ <span class="cstat-no" title="statement not covered" > setFetchedTranslations(data);</span>
333
+ <span class="cstat-no" title="statement not covered" > setFetchState({ loading: false, error: null });</span>
334
+ <span class="cstat-no" title="statement not covered" > }</span>
335
+ })
336
+ .catch((err: unknown) =&gt; {
337
+ if (!isCancelled) {
338
+ logger.error(
339
+ '[I18nProvider] Failed to load translations from URL',
340
+ err instanceof Error ? <span class="branch-0 cbranch-no" title="branch not covered" >err : { message: String(err), url }</span>
341
+ );
342
+ setFetchState({
343
+ loading: false,
344
+ error: err instanceof Error ? err.<span class="branch-0 cbranch-no" title="branch not covered" >message : String(err),</span>
345
+ });
346
+ setFetchedTranslations({});
347
+ }
348
+ });
349
+ &nbsp;
350
+ return () =&gt; {
351
+ isCancelled = true;
352
+ };
353
+ }, [shouldFetch, url]);
354
+ &nbsp;
355
+ // PRIORITY: providedTranslations &gt; fetchedTranslations
356
+ // This avoids setState in effect and directly returns the correct value
357
+ // If we have provided translations, we don't show loading/error from the fetch
358
+ if (hasProvidedTranslations) {
359
+ return {
360
+ translations: providedTranslations!,
361
+ loading: false,
362
+ error: null,
363
+ };
364
+ }
365
+ &nbsp;
366
+ return {
367
+ translations: fetchedTranslations,
368
+ loading: fetchState.loading,
369
+ error: fetchState.error,
370
+ };
371
+ };
372
+ &nbsp;</pre></td></tr></table></pre>
373
+
374
+ <div class='push'></div><!-- for sticky footer -->
375
+ </div><!-- /wrapper -->
376
+ <div class='footer quiet pad2 space-top1 center small'>
377
+ Code coverage generated by
378
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
379
+ at 2026-02-07T06:55:20.810Z
380
+ </div>
381
+ <script src="../../../prettify.js"></script>
382
+ <script>
383
+ window.onload = function () {
384
+ prettyPrint();
385
+ };
386
+ </script>
387
+ <script src="../../../sorter.js"></script>
388
+ <script src="../../../block-navigation.js"></script>
389
+ </body>
390
+ </html>
391
+
@@ -0,0 +1,116 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/CrudifyLogin</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</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">16.53% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>21/127</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'>0/0</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/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">16.53% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>21/127</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
+ <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 low" data-value="index.tsx"><a href="index.tsx.html">index.tsx</a></td>
83
+ <td data-value="16.53" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 16%"></div><div class="cover-empty" style="width: 84%"></div></div>
85
+ </td>
86
+ <td data-value="16.53" class="pct low">16.53%</td>
87
+ <td data-value="127" class="abs low">21/127</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="0" class="abs high">0/0</td>
90
+ <td data-value="0" class="pct low">0%</td>
91
+ <td data-value="2" class="abs low">0/2</td>
92
+ <td data-value="16.53" class="pct low">16.53%</td>
93
+ <td data-value="127" class="abs low">21/127</td>
94
+ </tr>
95
+
96
+ </tbody>
97
+ </table>
98
+ </div>
99
+ <div class='push'></div><!-- for sticky footer -->
100
+ </div><!-- /wrapper -->
101
+ <div class='footer quiet pad2 space-top1 center small'>
102
+ Code coverage generated by
103
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
+ at 2026-02-07T06:55:20.810Z
105
+ </div>
106
+ <script src="../../prettify.js"></script>
107
+ <script>
108
+ window.onload = function () {
109
+ prettyPrint();
110
+ };
111
+ </script>
112
+ <script src="../../sorter.js"></script>
113
+ <script src="../../block-navigation.js"></script>
114
+ </body>
115
+ </html>
116
+