keycloakify 9.6.6 → 10.0.0-rc.0

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 (424) hide show
  1. package/README.md +1 -1
  2. package/account/Template.js +34 -14
  3. package/account/Template.js.map +1 -1
  4. package/account/i18n/baseMessages/de.d.ts +1 -1
  5. package/account/i18n/baseMessages/de.js +1 -1
  6. package/account/i18n/baseMessages/de.js.map +1 -1
  7. package/account/i18n/baseMessages/en.d.ts +2 -0
  8. package/account/i18n/baseMessages/en.js +2 -0
  9. package/account/i18n/baseMessages/en.js.map +1 -1
  10. package/account/i18n/baseMessages/es.d.ts +230 -0
  11. package/account/i18n/baseMessages/es.js +231 -1
  12. package/account/i18n/baseMessages/es.js.map +1 -1
  13. package/account/i18n/baseMessages/index.d.ts +353 -407
  14. package/account/i18n/baseMessages/index.js +1 -0
  15. package/account/i18n/baseMessages/index.js.map +1 -1
  16. package/account/i18n/baseMessages/pl.d.ts +115 -1
  17. package/account/i18n/baseMessages/pl.js +115 -1
  18. package/account/i18n/baseMessages/pl.js.map +1 -1
  19. package/account/i18n/baseMessages/tr.d.ts +1 -1
  20. package/account/i18n/baseMessages/tr.js +1 -1
  21. package/account/i18n/baseMessages/tr.js.map +1 -1
  22. package/account/i18n/baseMessages/uk.d.ts +337 -0
  23. package/account/i18n/baseMessages/uk.js +342 -0
  24. package/account/i18n/baseMessages/uk.js.map +1 -0
  25. package/account/i18n/baseMessages/zh-CN.d.ts +10 -0
  26. package/account/i18n/baseMessages/zh-CN.js +10 -0
  27. package/account/i18n/baseMessages/zh-CN.js.map +1 -1
  28. package/bin/constants.d.ts +0 -1
  29. package/bin/constants.js +1 -2
  30. package/bin/constants.js.map +1 -1
  31. package/bin/download-builtin-keycloak-theme.js +12 -2
  32. package/bin/download-builtin-keycloak-theme.js.map +1 -1
  33. package/bin/keycloakify/buildJars/buildJar.d.ts +14 -0
  34. package/bin/keycloakify/buildJars/buildJar.js +216 -0
  35. package/bin/keycloakify/buildJars/buildJar.js.map +1 -0
  36. package/bin/keycloakify/buildJars/buildJars.d.ts +10 -0
  37. package/bin/keycloakify/buildJars/buildJars.js +95 -0
  38. package/bin/keycloakify/buildJars/buildJars.js.map +1 -0
  39. package/bin/keycloakify/buildJars/extensionVersions.d.ts +12 -0
  40. package/bin/keycloakify/buildJars/extensionVersions.js +7 -0
  41. package/bin/keycloakify/buildJars/extensionVersions.js.map +1 -0
  42. package/bin/keycloakify/buildJars/generatePom.d.ts +13 -0
  43. package/bin/keycloakify/buildJars/generatePom.js +94 -0
  44. package/bin/keycloakify/buildJars/generatePom.js.map +1 -0
  45. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.d.ts +6 -0
  46. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js +35 -0
  47. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js.map +1 -0
  48. package/bin/keycloakify/buildJars/index.d.ts +1 -0
  49. package/bin/keycloakify/buildJars/index.js +18 -0
  50. package/bin/keycloakify/buildJars/index.js.map +1 -0
  51. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.d.ts +0 -8
  52. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js +1 -3
  53. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js.map +1 -1
  54. package/bin/keycloakify/buildOptions/buildOptions.d.ts +0 -2
  55. package/bin/keycloakify/buildOptions/buildOptions.js +3 -5
  56. package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -1
  57. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js +1 -1
  58. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map +1 -1
  59. package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +103 -232
  60. package/bin/keycloakify/generateFtl/generateFtl.js +17 -39
  61. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  62. package/bin/keycloakify/generateFtl/pageId.d.ts +1 -1
  63. package/bin/keycloakify/generateFtl/pageId.js +11 -3
  64. package/bin/keycloakify/generateFtl/pageId.js.map +1 -1
  65. package/bin/keycloakify/generateStartKeycloakTestingContainer.d.ts +0 -1
  66. package/bin/keycloakify/generateStartKeycloakTestingContainer.js +3 -6
  67. package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +1 -1
  68. package/bin/keycloakify/generateTheme/bringInAccountV1.d.ts +1 -1
  69. package/bin/keycloakify/generateTheme/bringInAccountV1.js +5 -9
  70. package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -1
  71. package/bin/keycloakify/generateTheme/generateSrcMainResources.d.ts +21 -0
  72. package/bin/keycloakify/generateTheme/generateSrcMainResources.js +340 -0
  73. package/bin/keycloakify/generateTheme/generateSrcMainResources.js.map +1 -0
  74. package/bin/keycloakify/generateTheme/generateTheme.d.ts +5 -13
  75. package/bin/keycloakify/generateTheme/generateTheme.js +30 -293
  76. package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
  77. package/bin/keycloakify/generateTheme/generateThemeVariants.d.ts +5 -0
  78. package/bin/keycloakify/generateTheme/generateThemeVariants.js +67 -0
  79. package/bin/keycloakify/generateTheme/generateThemeVariants.js.map +1 -0
  80. package/bin/keycloakify/generateTheme/readFieldNameUsage.js +54 -18
  81. package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +1 -1
  82. package/bin/keycloakify/keycloakify.js +28 -104
  83. package/bin/keycloakify/keycloakify.js.map +1 -1
  84. package/lib/useGetClassName.js +2 -2
  85. package/lib/useGetClassName.js.map +1 -1
  86. package/login/Fallback.d.ts +7 -1
  87. package/login/Fallback.js +32 -8
  88. package/login/Fallback.js.map +1 -1
  89. package/login/Template.js +76 -20
  90. package/login/Template.js.map +1 -1
  91. package/login/TemplateProps.d.ts +4 -2
  92. package/login/UserProfileFormFields.d.ts +22 -0
  93. package/login/UserProfileFormFields.js +327 -0
  94. package/login/UserProfileFormFields.js.map +1 -0
  95. package/login/i18n/baseMessages/ar.d.ts +3 -0
  96. package/login/i18n/baseMessages/ar.js +3 -0
  97. package/login/i18n/baseMessages/ar.js.map +1 -1
  98. package/login/i18n/baseMessages/ca.d.ts +1 -0
  99. package/login/i18n/baseMessages/ca.js +1 -0
  100. package/login/i18n/baseMessages/ca.js.map +1 -1
  101. package/login/i18n/baseMessages/cs.d.ts +3 -0
  102. package/login/i18n/baseMessages/cs.js +3 -0
  103. package/login/i18n/baseMessages/cs.js.map +1 -1
  104. package/login/i18n/baseMessages/da.d.ts +1 -0
  105. package/login/i18n/baseMessages/da.js +1 -0
  106. package/login/i18n/baseMessages/da.js.map +1 -1
  107. package/login/i18n/baseMessages/de.d.ts +1 -0
  108. package/login/i18n/baseMessages/de.js +1 -0
  109. package/login/i18n/baseMessages/de.js.map +1 -1
  110. package/login/i18n/baseMessages/el.d.ts +1 -0
  111. package/login/i18n/baseMessages/el.js +1 -0
  112. package/login/i18n/baseMessages/el.js.map +1 -1
  113. package/login/i18n/baseMessages/en.d.ts +7 -0
  114. package/login/i18n/baseMessages/en.js +23 -16
  115. package/login/i18n/baseMessages/en.js.map +1 -1
  116. package/login/i18n/baseMessages/es.d.ts +239 -0
  117. package/login/i18n/baseMessages/es.js +240 -1
  118. package/login/i18n/baseMessages/es.js.map +1 -1
  119. package/login/i18n/baseMessages/fa.d.ts +1 -0
  120. package/login/i18n/baseMessages/fa.js +1 -0
  121. package/login/i18n/baseMessages/fa.js.map +1 -1
  122. package/login/i18n/baseMessages/fi.d.ts +1 -0
  123. package/login/i18n/baseMessages/fi.js +1 -0
  124. package/login/i18n/baseMessages/fi.js.map +1 -1
  125. package/login/i18n/baseMessages/fr.d.ts +1 -0
  126. package/login/i18n/baseMessages/fr.js +2 -1
  127. package/login/i18n/baseMessages/fr.js.map +1 -1
  128. package/login/i18n/baseMessages/hu.d.ts +1 -0
  129. package/login/i18n/baseMessages/hu.js +1 -0
  130. package/login/i18n/baseMessages/hu.js.map +1 -1
  131. package/login/i18n/baseMessages/index.d.ts +211 -416
  132. package/login/i18n/baseMessages/index.js +1 -0
  133. package/login/i18n/baseMessages/index.js.map +1 -1
  134. package/login/i18n/baseMessages/it.d.ts +1 -0
  135. package/login/i18n/baseMessages/it.js +1 -0
  136. package/login/i18n/baseMessages/it.js.map +1 -1
  137. package/login/i18n/baseMessages/ja.d.ts +1 -0
  138. package/login/i18n/baseMessages/ja.js +1 -0
  139. package/login/i18n/baseMessages/ja.js.map +1 -1
  140. package/login/i18n/baseMessages/lt.d.ts +1 -0
  141. package/login/i18n/baseMessages/lt.js +1 -0
  142. package/login/i18n/baseMessages/lt.js.map +1 -1
  143. package/login/i18n/baseMessages/lv.d.ts +1 -0
  144. package/login/i18n/baseMessages/lv.js +1 -0
  145. package/login/i18n/baseMessages/lv.js.map +1 -1
  146. package/login/i18n/baseMessages/nl.d.ts +1 -0
  147. package/login/i18n/baseMessages/nl.js +1 -0
  148. package/login/i18n/baseMessages/nl.js.map +1 -1
  149. package/login/i18n/baseMessages/no.d.ts +1 -0
  150. package/login/i18n/baseMessages/no.js +1 -0
  151. package/login/i18n/baseMessages/no.js.map +1 -1
  152. package/login/i18n/baseMessages/pl.d.ts +1 -0
  153. package/login/i18n/baseMessages/pl.js +1 -0
  154. package/login/i18n/baseMessages/pl.js.map +1 -1
  155. package/login/i18n/baseMessages/pt-BR.d.ts +1 -0
  156. package/login/i18n/baseMessages/pt-BR.js +1 -0
  157. package/login/i18n/baseMessages/pt-BR.js.map +1 -1
  158. package/login/i18n/baseMessages/ru.d.ts +1 -0
  159. package/login/i18n/baseMessages/ru.js +1 -0
  160. package/login/i18n/baseMessages/ru.js.map +1 -1
  161. package/login/i18n/baseMessages/sk.d.ts +2 -0
  162. package/login/i18n/baseMessages/sk.js +3 -1
  163. package/login/i18n/baseMessages/sk.js.map +1 -1
  164. package/login/i18n/baseMessages/sv.d.ts +1 -0
  165. package/login/i18n/baseMessages/sv.js +1 -0
  166. package/login/i18n/baseMessages/sv.js.map +1 -1
  167. package/login/i18n/baseMessages/th.d.ts +1 -0
  168. package/login/i18n/baseMessages/th.js +1 -0
  169. package/login/i18n/baseMessages/th.js.map +1 -1
  170. package/login/i18n/baseMessages/tr.d.ts +1 -0
  171. package/login/i18n/baseMessages/tr.js +1 -0
  172. package/login/i18n/baseMessages/tr.js.map +1 -1
  173. package/login/i18n/baseMessages/uk.d.ts +433 -0
  174. package/login/i18n/baseMessages/uk.js +438 -0
  175. package/login/i18n/baseMessages/uk.js.map +1 -0
  176. package/login/i18n/baseMessages/zh-CN.d.ts +273 -3
  177. package/login/i18n/baseMessages/zh-CN.js +325 -55
  178. package/login/i18n/baseMessages/zh-CN.js.map +1 -1
  179. package/login/i18n/i18n.d.ts +4 -0
  180. package/login/i18n/i18n.js +6 -2
  181. package/login/i18n/i18n.js.map +1 -1
  182. package/login/kcContext/KcContext.d.ts +181 -105
  183. package/login/kcContext/KcContext.js +1 -1
  184. package/login/kcContext/KcContext.js.map +1 -1
  185. package/login/kcContext/createGetKcContext.js +3 -9
  186. package/login/kcContext/createGetKcContext.js.map +1 -1
  187. package/login/kcContext/kcContextMocks.d.ts +1 -1
  188. package/login/kcContext/kcContextMocks.js +92 -198
  189. package/login/kcContext/kcContextMocks.js.map +1 -1
  190. package/login/lib/useDownloadTerms.d.ts +4 -1
  191. package/login/lib/useDownloadTerms.js +9 -4
  192. package/login/lib/useDownloadTerms.js.map +1 -1
  193. package/login/lib/useGetClassName.js +112 -73
  194. package/login/lib/useGetClassName.js.map +1 -1
  195. package/login/lib/useUserProfileForm.d.ts +74 -0
  196. package/login/lib/useUserProfileForm.js +868 -0
  197. package/login/lib/useUserProfileForm.js.map +1 -0
  198. package/login/pages/{UpdateUserProfile.d.ts → Code.d.ts} +2 -2
  199. package/login/pages/Code.js +13 -0
  200. package/login/pages/Code.js.map +1 -0
  201. package/login/pages/DeleteAccountConfirm.d.ts +7 -0
  202. package/login/pages/DeleteAccountConfirm.js +14 -0
  203. package/login/pages/DeleteAccountConfirm.js.map +1 -0
  204. package/login/pages/{RegisterUserProfile.d.ts → DeleteCredential.d.ts} +2 -2
  205. package/login/pages/DeleteCredential.js +14 -0
  206. package/login/pages/DeleteCredential.js.map +1 -0
  207. package/login/pages/Error.js +2 -2
  208. package/login/pages/Error.js.map +1 -1
  209. package/login/pages/FrontchannelLogout.d.ts +7 -0
  210. package/login/pages/FrontchannelLogout.js +14 -0
  211. package/login/pages/FrontchannelLogout.js.map +1 -0
  212. package/login/pages/IdpReviewUserProfile.d.ts +8 -2
  213. package/login/pages/IdpReviewUserProfile.js +3 -4
  214. package/login/pages/IdpReviewUserProfile.js.map +1 -1
  215. package/login/pages/Info.js +14 -1
  216. package/login/pages/Info.js.map +1 -1
  217. package/login/pages/Login.js +24 -38
  218. package/login/pages/Login.js.map +1 -1
  219. package/login/pages/LoginConfigTotp.js +8 -1
  220. package/login/pages/LoginConfigTotp.js.map +1 -1
  221. package/login/pages/{LoginDeviceVerifyUserCode.d.ts → LoginOauth2DeviceVerifyUserCode.d.ts} +1 -1
  222. package/login/pages/{LoginDeviceVerifyUserCode.js → LoginOauth2DeviceVerifyUserCode.js} +2 -2
  223. package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -0
  224. package/login/pages/LoginOauthGrant.js +3 -2
  225. package/login/pages/LoginOauthGrant.js.map +1 -1
  226. package/login/pages/LoginOtp.js +4 -6
  227. package/login/pages/LoginOtp.js.map +1 -1
  228. package/login/pages/LoginPageExpired.js +1 -1
  229. package/login/pages/LoginPageExpired.js.map +1 -1
  230. package/login/pages/LoginPassword.d.ts +1 -1
  231. package/login/pages/LoginPassword.js +18 -11
  232. package/login/pages/LoginPassword.js.map +1 -1
  233. package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +7 -0
  234. package/login/pages/LoginRecoveryAuthnCodeConfig.js +147 -0
  235. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -0
  236. package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +7 -0
  237. package/login/pages/LoginRecoveryAuthnCodeInput.js +14 -0
  238. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -0
  239. package/login/pages/LoginResetOtp.d.ts +7 -0
  240. package/login/pages/LoginResetOtp.js +15 -0
  241. package/login/pages/LoginResetOtp.js.map +1 -0
  242. package/login/pages/LoginResetPassword.js +4 -3
  243. package/login/pages/LoginResetPassword.js.map +1 -1
  244. package/login/pages/LoginUpdatePassword.js +21 -3
  245. package/login/pages/LoginUpdatePassword.js.map +1 -1
  246. package/login/pages/LoginUpdateProfile.d.ts +8 -2
  247. package/login/pages/LoginUpdateProfile.js +11 -5
  248. package/login/pages/LoginUpdateProfile.js.map +1 -1
  249. package/login/pages/LoginUsername.js +11 -35
  250. package/login/pages/LoginUsername.js.map +1 -1
  251. package/login/pages/LoginVerifyEmail.js +1 -1
  252. package/login/pages/LoginVerifyEmail.js.map +1 -1
  253. package/login/pages/LoginX509Info.d.ts +7 -0
  254. package/login/pages/LoginX509Info.js +14 -0
  255. package/login/pages/LoginX509Info.js.map +1 -0
  256. package/login/pages/LogoutConfirm.js +1 -1
  257. package/login/pages/LogoutConfirm.js.map +1 -1
  258. package/login/pages/Register.d.ts +8 -2
  259. package/login/pages/Register.js +26 -4
  260. package/login/pages/Register.js.map +1 -1
  261. package/login/pages/SamlPostForm.js +1 -1
  262. package/login/pages/SamlPostForm.js.map +1 -1
  263. package/login/pages/SelectAuthenticator.js +5 -21
  264. package/login/pages/SelectAuthenticator.js.map +1 -1
  265. package/login/pages/Terms.js +4 -6
  266. package/login/pages/Terms.js.map +1 -1
  267. package/login/pages/UpdateEmail.d.ts +8 -2
  268. package/login/pages/UpdateEmail.js +16 -5
  269. package/login/pages/UpdateEmail.js.map +1 -1
  270. package/login/pages/WebauthnAuthenticate.js +121 -83
  271. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  272. package/login/pages/WebauthnError.d.ts +7 -0
  273. package/login/pages/WebauthnError.js +21 -0
  274. package/login/pages/WebauthnError.js.map +1 -0
  275. package/login/pages/WebauthnRegister.d.ts +7 -0
  276. package/login/pages/WebauthnRegister.js +193 -0
  277. package/login/pages/WebauthnRegister.js.map +1 -0
  278. package/package.json +138 -43
  279. package/src/account/Template.tsx +41 -14
  280. package/src/account/i18n/baseMessages/de.ts +1 -1
  281. package/src/account/i18n/baseMessages/en.ts +2 -0
  282. package/src/account/i18n/baseMessages/es.ts +231 -1
  283. package/src/account/i18n/baseMessages/index.ts +1 -0
  284. package/src/account/i18n/baseMessages/pl.ts +115 -1
  285. package/src/account/i18n/baseMessages/tr.ts +1 -1
  286. package/src/account/i18n/baseMessages/uk.ts +343 -0
  287. package/src/account/i18n/baseMessages/zh-CN.ts +10 -0
  288. package/src/bin/constants.ts +0 -1
  289. package/src/bin/download-builtin-keycloak-theme.ts +14 -1
  290. package/src/bin/keycloakify/buildJars/buildJar.ts +163 -0
  291. package/src/bin/keycloakify/buildJars/buildJars.ts +62 -0
  292. package/src/bin/keycloakify/buildJars/extensionVersions.ts +16 -0
  293. package/src/bin/keycloakify/buildJars/generatePom.ts +86 -0
  294. package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +37 -0
  295. package/src/bin/keycloakify/buildJars/index.ts +1 -0
  296. package/src/bin/keycloakify/buildOptions/UserProvidedBuildOptions.ts +1 -5
  297. package/src/bin/keycloakify/buildOptions/buildOptions.ts +1 -5
  298. package/src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts +1 -1
  299. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +103 -232
  300. package/src/bin/keycloakify/generateFtl/generateFtl.ts +15 -31
  301. package/src/bin/keycloakify/generateFtl/pageId.ts +11 -3
  302. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +4 -8
  303. package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +5 -11
  304. package/src/bin/keycloakify/generateTheme/generateSrcMainResources.ts +267 -0
  305. package/src/bin/keycloakify/generateTheme/generateTheme.ts +22 -309
  306. package/src/bin/keycloakify/generateTheme/generateThemeVariants.ts +50 -0
  307. package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +33 -8
  308. package/src/bin/keycloakify/keycloakify.ts +23 -56
  309. package/src/lib/useGetClassName.ts +2 -2
  310. package/src/login/Fallback.tsx +39 -9
  311. package/src/login/Template.tsx +160 -61
  312. package/src/login/TemplateProps.ts +113 -63
  313. package/src/login/UserProfileFormFields.tsx +750 -0
  314. package/src/login/i18n/baseMessages/ar.ts +3 -0
  315. package/src/login/i18n/baseMessages/ca.ts +1 -0
  316. package/src/login/i18n/baseMessages/cs.ts +3 -0
  317. package/src/login/i18n/baseMessages/da.ts +1 -0
  318. package/src/login/i18n/baseMessages/de.ts +1 -0
  319. package/src/login/i18n/baseMessages/el.ts +1 -0
  320. package/src/login/i18n/baseMessages/en.ts +23 -16
  321. package/src/login/i18n/baseMessages/es.ts +240 -1
  322. package/src/login/i18n/baseMessages/fa.ts +1 -0
  323. package/src/login/i18n/baseMessages/fi.ts +1 -0
  324. package/src/login/i18n/baseMessages/fr.ts +2 -1
  325. package/src/login/i18n/baseMessages/hu.ts +1 -0
  326. package/src/login/i18n/baseMessages/index.ts +1 -0
  327. package/src/login/i18n/baseMessages/it.ts +1 -0
  328. package/src/login/i18n/baseMessages/ja.ts +1 -0
  329. package/src/login/i18n/baseMessages/lt.ts +1 -0
  330. package/src/login/i18n/baseMessages/lv.ts +1 -0
  331. package/src/login/i18n/baseMessages/nl.ts +1 -0
  332. package/src/login/i18n/baseMessages/no.ts +1 -0
  333. package/src/login/i18n/baseMessages/pl.ts +1 -0
  334. package/src/login/i18n/baseMessages/pt-BR.ts +1 -0
  335. package/src/login/i18n/baseMessages/ru.ts +1 -0
  336. package/src/login/i18n/baseMessages/sk.ts +3 -1
  337. package/src/login/i18n/baseMessages/sv.ts +1 -0
  338. package/src/login/i18n/baseMessages/th.ts +1 -0
  339. package/src/login/i18n/baseMessages/tr.ts +1 -0
  340. package/src/login/i18n/baseMessages/uk.ts +439 -0
  341. package/src/login/i18n/baseMessages/zh-CN.ts +325 -55
  342. package/src/login/i18n/i18n.tsx +6 -2
  343. package/src/login/kcContext/KcContext.ts +216 -103
  344. package/src/login/kcContext/createGetKcContext.ts +11 -19
  345. package/src/login/kcContext/kcContextMocks.ts +165 -226
  346. package/src/login/lib/useDownloadTerms.ts +15 -7
  347. package/src/login/lib/useGetClassName.ts +112 -83
  348. package/src/login/lib/useUserProfileForm.tsx +1227 -0
  349. package/src/login/pages/Code.tsx +35 -0
  350. package/src/login/pages/DeleteAccountConfirm.tsx +53 -0
  351. package/src/login/pages/DeleteCredential.tsx +45 -0
  352. package/src/login/pages/Error.tsx +2 -2
  353. package/src/login/pages/FrontchannelLogout.tsx +41 -0
  354. package/src/login/pages/IdpReviewUserProfile.tsx +15 -5
  355. package/src/login/pages/Info.tsx +29 -19
  356. package/src/login/pages/Login.tsx +156 -117
  357. package/src/login/pages/LoginConfigTotp.tsx +26 -1
  358. package/src/login/pages/{LoginDeviceVerifyUserCode.tsx → LoginOauth2DeviceVerifyUserCode.tsx} +3 -1
  359. package/src/login/pages/LoginOauthGrant.tsx +38 -2
  360. package/src/login/pages/LoginOtp.tsx +73 -65
  361. package/src/login/pages/LoginPageExpired.tsx +1 -1
  362. package/src/login/pages/LoginPassword.tsx +77 -28
  363. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +260 -0
  364. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +73 -0
  365. package/src/login/pages/LoginResetOtp.tsx +70 -0
  366. package/src/login/pages/LoginResetPassword.tsx +11 -4
  367. package/src/login/pages/LoginUpdatePassword.tsx +120 -81
  368. package/src/login/pages/LoginUpdateProfile.tsx +41 -115
  369. package/src/login/pages/LoginUsername.tsx +93 -101
  370. package/src/login/pages/LoginVerifyEmail.tsx +14 -8
  371. package/src/login/pages/LoginX509Info.tsx +94 -0
  372. package/src/login/pages/LogoutConfirm.tsx +2 -2
  373. package/src/login/pages/Register.tsx +83 -131
  374. package/src/login/pages/SamlPostForm.tsx +1 -1
  375. package/src/login/pages/SelectAuthenticator.tsx +29 -52
  376. package/src/login/pages/Terms.tsx +4 -7
  377. package/src/login/pages/UpdateEmail.tsx +69 -54
  378. package/src/login/pages/WebauthnAuthenticate.tsx +205 -165
  379. package/src/login/pages/WebauthnError.tsx +66 -0
  380. package/src/login/pages/WebauthnRegister.tsx +285 -0
  381. package/src/tools/formatNumber.ts +48 -0
  382. package/src/tools/useInsertLinkTags.ts +82 -0
  383. package/src/tools/useInsertScriptTags.ts +106 -0
  384. package/src/tools/useSetClassName.ts +21 -0
  385. package/tools/formatNumber.d.ts +1 -0
  386. package/tools/formatNumber.js +37 -0
  387. package/tools/formatNumber.js.map +1 -0
  388. package/tools/useInsertLinkTags.d.ts +7 -0
  389. package/tools/useInsertLinkTags.js +57 -0
  390. package/tools/useInsertLinkTags.js.map +1 -0
  391. package/tools/useInsertScriptTags.d.ts +20 -0
  392. package/tools/useInsertScriptTags.js +75 -0
  393. package/tools/useInsertScriptTags.js.map +1 -0
  394. package/tools/useSetClassName.d.ts +4 -0
  395. package/tools/useSetClassName.js +16 -0
  396. package/tools/useSetClassName.js.map +1 -0
  397. package/vite-plugin/tsconfig.tsbuildinfo +1 -1
  398. package/bin/keycloakify/generatePom.d.ts +0 -12
  399. package/bin/keycloakify/generatePom.js +0 -59
  400. package/bin/keycloakify/generatePom.js.map +0 -1
  401. package/lib/usePrepareTemplate.d.ts +0 -11
  402. package/lib/usePrepareTemplate.js +0 -80
  403. package/lib/usePrepareTemplate.js.map +0 -1
  404. package/login/lib/useFormValidation.d.ts +0 -47
  405. package/login/lib/useFormValidation.js +0 -316
  406. package/login/lib/useFormValidation.js.map +0 -1
  407. package/login/pages/LoginDeviceVerifyUserCode.js.map +0 -1
  408. package/login/pages/RegisterUserProfile.js +0 -18
  409. package/login/pages/RegisterUserProfile.js.map +0 -1
  410. package/login/pages/UpdateUserProfile.js +0 -17
  411. package/login/pages/UpdateUserProfile.js.map +0 -1
  412. package/login/pages/shared/UserProfileFormFields.d.ts +0 -18
  413. package/login/pages/shared/UserProfileFormFields.js +0 -58
  414. package/login/pages/shared/UserProfileFormFields.js.map +0 -1
  415. package/src/bin/keycloakify/generatePom.ts +0 -70
  416. package/src/lib/usePrepareTemplate.ts +0 -113
  417. package/src/login/lib/useFormValidation.tsx +0 -474
  418. package/src/login/pages/RegisterUserProfile.tsx +0 -72
  419. package/src/login/pages/UpdateUserProfile.tsx +0 -82
  420. package/src/login/pages/shared/UserProfileFormFields.tsx +0 -177
  421. package/src/tools/headInsert.ts +0 -73
  422. package/tools/headInsert.d.ts +0 -12
  423. package/tools/headInsert.js +0 -50
  424. package/tools/headInsert.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { clsx } from "../../tools/clsx";
3
3
  import { useGetClassName } from "../../login/lib/useGetClassName";
4
4
  export default function LoginOauthGrant(props) {
@@ -9,6 +9,7 @@ export default function LoginOauthGrant(props) {
9
9
  doUseDefaultCss,
10
10
  classes
11
11
  });
12
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("oauthGrantTitle", client.name ? advancedMsgStr(client.name) : client.clientId) }, { children: _jsxs("div", Object.assign({ id: "kc-oauth", className: "content-area" }, { children: [_jsx("h3", { children: msg("oauthGrantRequest") }), _jsx("ul", { children: oauth.clientScopesRequested.map(clientScope => (_jsx("li", { children: _jsx("span", { children: advancedMsg(clientScope.consentScreenText) }) }, clientScope.consentScreenText))) }), _jsxs("form", Object.assign({ className: "form-actions", action: url.oauthAction, method: "POST" }, { children: [_jsx("input", { type: "hidden", name: "code", value: oauth.code }), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options" }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons" }, { children: _jsxs("div", Object.assign({ className: getClassName("kcFormButtonsWrapperClass") }, { children: [_jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonLargeClass")), name: "accept", id: "kc-login", type: "submit", value: msgStr("doYes") }), _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass")), name: "cancel", id: "kc-cancel", type: "submit", value: msgStr("doNo") })] })) }))] }))] })), _jsx("div", { className: "clearfix" })] })) })));
12
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { bodyClassName: "oauth", headerNode: _jsxs(_Fragment, { children: [client.attributes.logoUri && _jsx("img", { src: client.attributes.logoUri }), _jsx("p", { children: client.name ? msg("oauthGrantTitle", advancedMsgStr(client.name)) : msg("oauthGrantTitle", client.clientId) })] }) }, { children: _jsxs("div", Object.assign({ id: "kc-oauth", className: "content-area" }, { children: [_jsx("h3", { children: msg("oauthGrantRequest") }), _jsx("ul", { children: oauth.clientScopesRequested.map(clientScope => (_jsx("li", { children: _jsxs("span", { children: [advancedMsg(clientScope.consentScreenText), clientScope.dynamicScopeParameter && (_jsxs(_Fragment, { children: [": ", _jsx("b", { children: clientScope.dynamicScopeParameter })] }))] }) }, clientScope.consentScreenText))) }), client.attributes.policyUri ||
13
+ (client.attributes.tosUri && (_jsxs("h3", { children: [client.name ? msg("oauthGrantInformation", advancedMsgStr(client.name)) : msg("oauthGrantInformation", client.clientId), client.attributes.tosUri && (_jsxs(_Fragment, { children: [msg("oauthGrantReview"), _jsx("a", Object.assign({ href: client.attributes.tosUri, target: "_blank" }, { children: msg("oauthGrantTos") }))] })), client.attributes.policyUri && (_jsxs(_Fragment, { children: [msg("oauthGrantReview"), _jsx("a", Object.assign({ href: client.attributes.policyUri, target: "_blank" }, { children: msg("oauthGrantPolicy") }))] }))] }))), _jsxs("form", Object.assign({ className: "form-actions", action: url.oauthAction, method: "POST" }, { children: [_jsx("input", { type: "hidden", name: "code", value: oauth.code }), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options" }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons" }, { children: _jsxs("div", Object.assign({ className: getClassName("kcFormButtonsWrapperClass") }, { children: [_jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonLargeClass")), name: "accept", id: "kc-login", type: "submit", value: msgStr("doYes") }), _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass")), name: "cancel", id: "kc-cancel", type: "submit", value: msgStr("doNo") })] })) }))] }))] })), _jsx("div", { className: "clearfix" })] })) })));
13
14
  }
14
15
  //# sourceMappingURL=LoginOauthGrant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginOauthGrant.js","sourceRoot":"","sources":["../../src/login/pages/LoginOauthGrant.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAA+E;IACnH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAEzC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE1D,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,QAAQ,oBACD,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IACjD,UAAU,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAE/F,6BAAK,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,cAAc,iBACvC,uBAAK,GAAG,CAAC,mBAAmB,CAAC,GAAM,EACnC,uBACK,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAC5C,uBACI,yBAAO,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAQ,IADpD,WAAW,CAAC,iBAAiB,CAEjC,CACR,CAAC,GACD,EAEL,8BAAM,SAAS,EAAC,cAAc,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACjE,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAI,EACtD,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,EAAE,EAAC,iBAAiB,gBACrB,cAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,GAAQ,IAC/D,EAEN,4BAAK,EAAE,EAAC,iBAAiB,gBACrB,6BAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,iBACrD,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GACxB,EACF,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GACvB,KACA,IACJ,KACJ,KACH,EACP,cAAK,SAAS,EAAC,UAAU,GAAO,KAC9B,IACC,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"LoginOauthGrant.js","sourceRoot":"","sources":["../../src/login/pages/LoginOauthGrant.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment } from "react";
2
3
  import { clsx } from "../../tools/clsx";
3
4
  import { useGetClassName } from "../../login/lib/useGetClassName";
4
5
  export default function LoginOtp(props) {
@@ -7,11 +8,8 @@ export default function LoginOtp(props) {
7
8
  doUseDefaultCss,
8
9
  classes
9
10
  });
10
- const { otpLogin, url } = kcContext;
11
+ const { otpLogin, url, messagesPerField } = kcContext;
11
12
  const { msg, msgStr } = i18n;
12
- return (_jsxs(_Fragment, { children: [_jsx("style", { children: `
13
- input[type="radio"]:checked~label.kcSelectOTPListClass{
14
- border: 2px solid #39a5dc;
15
- }` }), _jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map((otpCredential, index) => (_jsxs("div", { children: [_jsx("input", { id: `kc-otp-credential-${index}`, name: "selectedCredentialId", type: "radio", value: otpCredential.id, style: { display: "none" } }), _jsx("label", Object.assign({ htmlFor: `kc-otp-credential-${index}`, className: getClassName("kcSelectOTPListClass") }, { children: _jsxs("div", Object.assign({ className: getClassName("kcSelectOTPListItemClass") }, { children: [_jsx("span", { className: getClassName("kcAuthenticatorOtpCircleClass") }), _jsx("h2", Object.assign({ className: getClassName("kcSelectOTPItemHeadingClass") }, { children: otpCredential.userLabel }))] })) }), otpCredential.id)] }, otpCredential.id))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) }))] }));
13
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayMessage: !messagesPerField.existsError("totp"), headerNode: msg("doLogIn") }, { children: _jsxs("form", Object.assign({ id: "kc-otp-login-form", className: clsx(getClassName("kcFormClass")), action: url.loginAction, method: "post" }, { children: [otpLogin.userOtpCredentials.length > 1 && (_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: otpLogin.userOtpCredentials.map((otpCredential, index) => (_jsxs(Fragment, { children: [_jsx("input", { id: `kc-otp-credential-${index}`, className: getClassName("kcLoginOTPListInputClass"), type: "radio", name: "selectedCredentialId", value: otpCredential.id, defaultChecked: otpCredential.id === otpLogin.selectedCredentialId }), _jsx("label", Object.assign({ htmlFor: `kc-otp-credential-${index}`, className: getClassName("kcLoginOTPListClass"), tabIndex: index }, { children: _jsxs("span", Object.assign({ className: getClassName("kcLoginOTPListItemHeaderClass") }, { children: [_jsx("span", Object.assign({ className: getClassName("kcLoginOTPListItemIconBodyClass") }, { children: _jsx("i", { className: getClassName("kcLoginOTPListItemIconClass"), "aria-hidden": "true" }) })), _jsx("span", Object.assign({ className: getClassName("kcLoginOTPListItemTitleClass") }, { children: otpCredential.userLabel }))] })) }))] }, index))) })) }))), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "otp", className: getClassName("kcLabelClass") }, { children: msg("loginOtpOneTime") })) })), _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx("input", { id: "otp", name: "otp", autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true, "aria-invalid": messagesPerField.existsError("totp") }), messagesPerField.existsError("totp") && (_jsx("span", Object.assign({ id: "input-error-otp-code", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("totp") })))] }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) })));
16
14
  }
17
15
  //# sourceMappingURL=LoginOtp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginOtp.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export default function LoginPageExpired(props) {
3
3
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
4
4
  const { url } = kcContext;
5
5
  const { msg } = i18n;
6
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayMessage: false, headerNode: msg("pageExpiredTitle") }, { children: _jsxs("p", Object.assign({ id: "instruction1", className: "instruction" }, { children: [msg("pageExpiredMsg1"), _jsx("a", Object.assign({ id: "loginRestartLink", href: url.loginRestartFlowUrl }, { children: msg("doClickHere") })), " ", ".", _jsx("br", {}), msg("pageExpiredMsg2"), " ", _jsx("a", Object.assign({ id: "loginContinueLink", href: url.loginAction }, { children: msg("doClickHere") })), " ", "."] })) })));
6
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("pageExpiredTitle") }, { children: _jsxs("p", Object.assign({ id: "instruction1", className: "instruction" }, { children: [msg("pageExpiredMsg1"), _jsx("a", Object.assign({ id: "loginRestartLink", href: url.loginRestartFlowUrl }, { children: msg("doClickHere") })), " ", ".", _jsx("br", {}), msg("pageExpiredMsg2"), " ", _jsx("a", Object.assign({ id: "loginContinueLink", href: url.loginAction }, { children: msg("doClickHere") })), " ", "."] })) })));
7
7
  }
8
8
  //# sourceMappingURL=LoginPageExpired.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPageExpired.js","sourceRoot":"","sources":["../../src/login/pages/LoginPageExpired.tsx"],"names":[],"mappings":";AAIA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAgF;IACrH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBACnH,2BAAG,EAAE,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,iBACvC,GAAG,CAAC,iBAAiB,CAAC,EACvB,0BAAG,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBACjD,GAAG,CAAC,aAAa,CAAC,IACnB,EAAC,GAAG,OACP,cAAM,EACN,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAC5B,0BAAG,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,gBAC1C,GAAG,CAAC,aAAa,CAAC,IACnB,EAAC,GAAG,UAER,IACG,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"LoginPageExpired.js","sourceRoot":"","sources":["../../src/login/pages/LoginPageExpired.tsx"],"names":[],"mappings":";AAIA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAgF;IACrH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,KAAC,QAAQ,oBAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAE,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBAC5F,2BAAG,EAAE,EAAC,cAAc,EAAC,SAAS,EAAC,aAAa,iBACvC,GAAG,CAAC,iBAAiB,CAAC,EACvB,0BAAG,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBACjD,GAAG,CAAC,aAAa,CAAC,IACnB,EAAC,GAAG,OACP,cAAM,EACN,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAC5B,0BAAG,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,gBAC1C,GAAG,CAAC,aAAa,CAAC,IACnB,EAAC,GAAG,UAER,IACG,CACd,CAAC;AACN,CAAC"}
@@ -3,5 +3,5 @@ import type { PageProps } from "../../login/pages/PageProps";
3
3
  import type { KcContext } from "../kcContext";
4
4
  import type { I18n } from "../i18n";
5
5
  export default function LoginPassword(props: PageProps<Extract<KcContext, {
6
- "pageId": "login-password.ftl";
6
+ pageId: "login-password.ftl";
7
7
  }>, I18n>): JSX.Element;
@@ -1,24 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from "react";
2
+ import { useState, useEffect, useReducer } from "react";
3
3
  import { clsx } from "../../tools/clsx";
4
- import { useConstCallback } from "../../tools/useConstCallback";
4
+ import { assert } from "tsafe/assert";
5
5
  import { useGetClassName } from "../../login/lib/useGetClassName";
6
6
  export default function LoginPassword(props) {
7
- var _a;
8
7
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
9
8
  const { getClassName } = useGetClassName({
10
9
  doUseDefaultCss,
11
10
  classes
12
11
  });
13
- const { realm, url, login } = kcContext;
12
+ const { realm, url, messagesPerField } = kcContext;
14
13
  const { msg, msgStr } = i18n;
15
14
  const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
16
- const onSubmit = useConstCallback(e => {
17
- e.preventDefault();
18
- setIsLoginButtonDisabled(true);
19
- const formElement = e.target;
20
- formElement.submit();
21
- });
22
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn") }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: _jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: onSubmit, action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("hr", {}), _jsx("label", Object.assign({ htmlFor: "password", className: getClassName("kcLabelClass") }, { children: msg("password") })), _jsx("input", { tabIndex: 2, id: "password", className: getClassName("kcInputClass"), name: "password", type: "password", autoFocus: true, autoComplete: "on", defaultValue: (_a = login.password) !== null && _a !== void 0 ? _a : "" })] })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), getClassName("kcFormSettingClass")) }, { children: [_jsx("div", { id: "kc-form-options" }), _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: realm.resetPasswordAllowed && (_jsx("span", { children: _jsx("a", Object.assign({ tabIndex: 5, href: url.loginResetCredentialsUrl }, { children: msg("doForgotPassword") })) })) }))] })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormGroupClass") }, { children: _jsx("input", { tabIndex: 4, className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn"), disabled: isLoginButtonDisabled }) }))] })) })) })) })));
15
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("doLogIn"), displayMessage: !messagesPerField.existsError("password") }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: _jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
16
+ setIsLoginButtonDisabled(true);
17
+ return true;
18
+ }, action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), "no-bottom-margin") }, { children: [_jsx("hr", {}), _jsx("label", Object.assign({ htmlFor: "password", className: getClassName("kcLabelClass") }, { children: msg("password") })), _jsx(PasswordWrapper, Object.assign({ getClassName: getClassName, i18n: i18n, passwordInputId: "password" }, { children: _jsx("input", { tabIndex: 2, id: "password", className: getClassName("kcInputClass"), name: "password", type: "password", autoFocus: true, autoComplete: "on", "aria-invalid": messagesPerField.existsError("username", "password") }) })), messagesPerField.existsError("password") && (_jsx("span", Object.assign({ id: "input-error-password", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("password") })))] })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), getClassName("kcFormSettingClass")) }, { children: [_jsx("div", { id: "kc-form-options" }), _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: realm.resetPasswordAllowed && (_jsx("span", { children: _jsx("a", Object.assign({ tabIndex: 5, href: url.loginResetCredentialsUrl }, { children: msg("doForgotPassword") })) })) }))] })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormGroupClass") }, { children: _jsx("input", { tabIndex: 4, className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn"), disabled: isLoginButtonDisabled }) }))] })) })) })) })));
19
+ }
20
+ function PasswordWrapper(props) {
21
+ const { getClassName, i18n, passwordInputId, children } = props;
22
+ const { msgStr } = i18n;
23
+ const [isPasswordRevealed, toggleIsPasswordRevealed] = useReducer((isPasswordRevealed) => !isPasswordRevealed, false);
24
+ useEffect(() => {
25
+ const passwordInputElement = document.getElementById(passwordInputId);
26
+ assert(passwordInputElement instanceof HTMLInputElement);
27
+ passwordInputElement.type = isPasswordRevealed ? "text" : "password";
28
+ }, [isPasswordRevealed]);
29
+ return (_jsxs("div", Object.assign({ className: getClassName("kcInputGroup") }, { children: [children, _jsx("button", Object.assign({ type: "button", className: getClassName("kcFormPasswordVisibilityButtonClass"), "aria-label": msgStr(isPasswordRevealed ? "hidePassword" : "showPassword"), "aria-controls": passwordInputId, onClick: toggleIsPasswordRevealed }, { children: _jsx("i", { className: getClassName(isPasswordRevealed ? "kcFormPasswordVisibilityIconHide" : "kcFormPasswordVisibilityIconShow"), "aria-hidden": true }) }))] })));
23
30
  }
24
31
  //# sourceMappingURL=LoginPassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginPassword.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginPassword.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../login/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function LoginRecoveryAuthnCodeConfig(props: PageProps<Extract<KcContext, {
6
+ pageId: "login-recovery-authn-code-config.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,147 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect } from "react";
3
+ import { clsx } from "../../tools/clsx";
4
+ import { useGetClassName } from "../../login/lib/useGetClassName";
5
+ import { createUseInsertScriptTags } from "../../tools/useInsertScriptTags";
6
+ const { useInsertScriptTags } = createUseInsertScriptTags();
7
+ export default function LoginRecoveryAuthnCodeConfig(props) {
8
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
9
+ const { getClassName } = useGetClassName({
10
+ doUseDefaultCss,
11
+ classes
12
+ });
13
+ const { recoveryAuthnCodesConfigBean, isAppInitiatedAction } = kcContext;
14
+ const { msg, msgStr } = i18n;
15
+ const { insertScriptTags } = useInsertScriptTags({
16
+ "scriptTags": [
17
+ {
18
+ "type": "text/javascript",
19
+ "textContent": `
20
+
21
+ /* copy recovery codes */
22
+ function copyRecoveryCodes() {
23
+ var tmpTextarea = document.createElement("textarea");
24
+ var codes = document.getElementById("kc-recovery-codes-list").getElementsByTagName("li");
25
+ for (i = 0; i < codes.length; i++) {
26
+ tmpTextarea.value = tmpTextarea.value + codes[i].innerText + "\n";
27
+ }
28
+ document.body.appendChild(tmpTextarea);
29
+ tmpTextarea.select();
30
+ document.execCommand("copy");
31
+ document.body.removeChild(tmpTextarea);
32
+ }
33
+
34
+ var copyButton = document.getElementById("copyRecoveryCodes");
35
+ copyButton && copyButton.addEventListener("click", function () {
36
+ copyRecoveryCodes();
37
+ });
38
+
39
+ /* download recovery codes */
40
+ function formatCurrentDateTime() {
41
+ var dt = new Date();
42
+ var options = {
43
+ month: 'long',
44
+ day: 'numeric',
45
+ year: 'numeric',
46
+ hour: 'numeric',
47
+ minute: 'numeric',
48
+ timeZoneName: 'short'
49
+ };
50
+
51
+ return dt.toLocaleString('en-US', options);
52
+ }
53
+
54
+ function parseRecoveryCodeList() {
55
+ var recoveryCodes = document.querySelectorAll(".kc-recovery-codes-list li");
56
+ var recoveryCodeList = "";
57
+
58
+ for (var i = 0; i < recoveryCodes.length; i++) {
59
+ var recoveryCodeLiElement = recoveryCodes[i].innerText;
60
+ recoveryCodeList += recoveryCodeLiElement + "\r\n";
61
+ }
62
+
63
+ return recoveryCodeList;
64
+ }
65
+
66
+ function buildDownloadContent() {
67
+ var recoveryCodeList = parseRecoveryCodeList();
68
+ var dt = new Date();
69
+ var options = {
70
+ month: 'long',
71
+ day: 'numeric',
72
+ year: 'numeric',
73
+ hour: 'numeric',
74
+ minute: 'numeric',
75
+ timeZoneName: 'short'
76
+ };
77
+
78
+ return fileBodyContent =
79
+ "${msgStr("recovery-codes-download-file-header")}\n\n" +
80
+ recoveryCodeList + "\n" +
81
+ "${msgStr("recovery-codes-download-file-description")}\n\n" +
82
+ "${msgStr("recovery-codes-download-file-date")} " + formatCurrentDateTime();
83
+ }
84
+
85
+ function setUpDownloadLinkAndDownload(filename, text) {
86
+ var el = document.createElement('a');
87
+ el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
88
+ el.setAttribute('download', filename);
89
+ el.style.display = 'none';
90
+ document.body.appendChild(el);
91
+ el.click();
92
+ document.body.removeChild(el);
93
+ }
94
+
95
+ function downloadRecoveryCodes() {
96
+ setUpDownloadLinkAndDownload('kc-download-recovery-codes.txt', buildDownloadContent());
97
+ }
98
+
99
+ var downloadButton = document.getElementById("downloadRecoveryCodes");
100
+ downloadButton && downloadButton.addEventListener("click", downloadRecoveryCodes);
101
+
102
+ /* print recovery codes */
103
+ function buildPrintContent() {
104
+ var recoveryCodeListHTML = document.getElementById('kc-recovery-codes-list').innerHTML;
105
+ var styles =
106
+ \`@page { size: auto; margin-top: 0; }
107
+ body { width: 480px; }
108
+ div { list-style-type: none; font-family: monospace }
109
+ p:first-of-type { margin-top: 48px }\`;
110
+
111
+ return printFileContent =
112
+ "<html><style>" + styles + "</style><body>" +
113
+ "<title>kc-download-recovery-codes</title>" +
114
+ "<p>${msgStr("recovery-codes-download-file-header")}</p>" +
115
+ "<div>" + recoveryCodeListHTML + "</div>" +
116
+ "<p>${msgStr("recovery-codes-download-file-description")}</p>" +
117
+ "<p>${msgStr("recovery-codes-download-file-date")} " + formatCurrentDateTime() + "</p>" +
118
+ "</body></html>";
119
+ }
120
+
121
+ function printRecoveryCodes() {
122
+ var w = window.open();
123
+ w.document.write(buildPrintContent());
124
+ w.print();
125
+ w.close();
126
+ }
127
+
128
+ var printButton = document.getElementById("printRecoveryCodes");
129
+ printButton && printButton.addEventListener("click", printRecoveryCodes);
130
+ `
131
+ }
132
+ ]
133
+ });
134
+ useEffect(() => {
135
+ insertScriptTags();
136
+ }, []);
137
+ return (_jsxs(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("recovery-code-config-header") }, { children: [_jsxs("div", Object.assign({ className: clsx("pf-c-alert", "pf-m-warning", "pf-m-inline", getClassName("kcRecoveryCodesWarning")), "aria-label": "Warning alert" }, { children: [_jsx("div", Object.assign({ className: "pf-c-alert__icon" }, { children: _jsx("i", { className: "pficon-warning-triangle-o", "aria-hidden": "true" }) })), _jsxs("h4", Object.assign({ className: "pf-c-alert__title" }, { children: [_jsx("span", Object.assign({ className: "pf-screen-reader" }, { children: "Warning alert:" })), msg("recovery-code-config-warning-title")] })), _jsx("div", Object.assign({ className: "pf-c-alert__description" }, { children: _jsx("p", { children: msg("recovery-code-config-warning-message") }) }))] })), _jsx("ol", Object.assign({ id: "kc-recovery-codes-list", className: getClassName("kcRecoveryCodesList") }, { children: recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList.map((code, index) => (_jsxs("li", { children: [_jsxs("span", { children: [index + 1, ":"] }), " ", code.slice(0, 4), "-", code.slice(4, 8), "-", code.slice(8)] }, index))) })), _jsxs("div", Object.assign({ className: getClassName("kcRecoveryCodesActions") }, { children: [_jsxs("button", Object.assign({ id: "printRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-print", "aria-hidden": "true" }), " ", msg("recovery-codes-print")] })), _jsxs("button", Object.assign({ id: "downloadRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-save", "aria-hidden": "true" }), " ", msg("recovery-codes-download")] })), _jsxs("button", Object.assign({ id: "copyRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-blueprint", "aria-hidden": "true" }), " ", msg("recovery-codes-copy")] }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormOptionsClass") }, { children: [_jsx("input", { className: getClassName("kcCheckInputClass"), type: "checkbox", id: "kcRecoveryCodesConfirmationCheck", name: "kcRecoveryCodesConfirmationCheck", onChange: function () {
138
+ //@ts-expect-error: This is code from the original theme, we trust it.
139
+ document.getElementById("saveRecoveryAuthnCodesBtn").disabled = !this.checked;
140
+ } }), _jsx("label", Object.assign({ htmlFor: "kcRecoveryCodesConfirmationCheck" }, { children: msg("recovery-codes-confirmation-message") }))] })), _jsxs("form", Object.assign({ action: kcContext.url.loginAction, className: getClassName("kcFormGroupClass"), id: "kc-recovery-codes-settings-form", method: "post" }, { children: [_jsx("input", { type: "hidden", name: "generatedRecoveryAuthnCodes", value: recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesAsString }), _jsx("input", { type: "hidden", name: "generatedAt", value: recoveryAuthnCodesConfigBean.generatedAt }), _jsx("input", { type: "hidden", id: "userLabel", name: "userLabel", value: msgStr("recovery-codes-label-default") }), _jsx(LogoutOtherSessions, Object.assign({}, { getClassName, i18n })), isAppInitiatedAction ? (_jsxs(_Fragment, { children: [_jsx("input", { type: "submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonLargeClass")), id: "saveRecoveryAuthnCodesBtn", value: msgStr("recovery-codes-action-complete"), disabled: true }), _jsx("button", Object.assign({ type: "submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass")), id: "cancelRecoveryAuthnCodesBtn", name: "cancel-aia", value: "true" }, { children: msg("recovery-codes-action-cancel") }))] })) : (_jsx("input", { type: "submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), id: "saveRecoveryAuthnCodesBtn", value: msgStr("recovery-codes-action-complete"), disabled: true }))] }))] })));
141
+ }
142
+ function LogoutOtherSessions(props) {
143
+ const { getClassName, i18n } = props;
144
+ const { msg } = i18n;
145
+ return (_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: _jsx("div", Object.assign({ className: "checkbox" }, { children: _jsxs("label", { children: [_jsx("input", { type: "checkbox", id: "logout-sessions", name: "logout-sessions", value: "on", defaultChecked: true }), msg("logoutOtherSessions")] }) })) })) })));
146
+ }
147
+ //# sourceMappingURL=LoginRecoveryAuthnCodeConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginRecoveryAuthnCodeConfig.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../login/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function LoginRecoveryAuthnCodeInput(props: PageProps<Extract<KcContext, {
6
+ pageId: "login-recovery-authn-code-input.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { clsx } from "../../tools/clsx";
3
+ import { useGetClassName } from "../../login/lib/useGetClassName";
4
+ export default function LoginRecoveryAuthnCodeInput(props) {
5
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
6
+ const { getClassName } = useGetClassName({
7
+ doUseDefaultCss,
8
+ classes
9
+ });
10
+ const { url, messagesPerField, recoveryAuthnCodesInputBean } = kcContext;
11
+ const { msg, msgStr } = i18n;
12
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("auth-recovery-code-header"), displayMessage: !messagesPerField.existsError("recoveryCodeInput") }, { children: _jsxs("form", Object.assign({ id: "kc-recovery-code-login-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "recoveryCodeInput", className: getClassName("kcLabelClass") }, { children: msg("auth-recovery-code-prompt", `${recoveryAuthnCodesInputBean.codeNumber}`) })) })), _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx("input", { tabIndex: 1, id: "recoveryCodeInput", name: "recoveryCodeInput", "aria-invalid": messagesPerField.existsError("recoveryCodeInput"), autoComplete: "off", type: "text", className: getClassName("kcInputClass"), autoFocus: true }), messagesPerField.existsError("recoveryCodeInput") && (_jsx("span", Object.assign({ id: "input-error", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("recoveryCodeInput") })))] }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsWrapperClass") }, { children: _jsx("div", { className: getClassName("kcFormOptionsWrapperClass") }) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), name: "login", id: "kc-login", type: "submit", value: msgStr("doLogIn") }) }))] }))] })) })));
13
+ }
14
+ //# sourceMappingURL=LoginRecoveryAuthnCodeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginRecoveryAuthnCodeInput.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAA6F;IAC7I,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,GAAG,SAAS,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,OAAO,CACH,KAAC,QAAQ,oBACD,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IACjD,UAAU,EAAE,GAAG,CAAC,2BAA2B,CAAC,EAC5C,cAAc,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAElE,8BAAM,EAAE,EAAC,6BAA6B,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACjH,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,gBAC/C,8BAAO,OAAO,EAAC,mBAAmB,EAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,gBACrE,GAAG,CAAC,2BAA2B,EAAE,GAAG,2BAA2B,CAAC,UAAU,EAAE,CAAC,IAC1E,IACN,EACN,6BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,iBAC/C,gBACI,QAAQ,EAAE,CAAC,EACX,EAAE,EAAC,mBAAmB,EACtB,IAAI,EAAC,mBAAmB,kBACV,gBAAgB,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAC/D,YAAY,EAAC,KAAK,EAClB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,EACvC,SAAS,SACX,EACD,gBAAgB,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAClD,6BAAM,EAAE,EAAC,aAAa,EAAC,SAAS,EAAE,YAAY,CAAC,0BAA0B,CAAC,eAAY,QAAQ,gBACzF,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,CAAC,IACvC,CACV,KACC,KACJ,EAEN,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,gBAC1E,cAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,GAAI,IAC3D,EACN,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAC1B,IACA,KACJ,KACH,IACA,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { PageProps } from "../../login/pages/PageProps";
3
+ import type { KcContext } from "../kcContext";
4
+ import type { I18n } from "../i18n";
5
+ export default function LoginResetOtp(props: PageProps<Extract<KcContext, {
6
+ pageId: "login-reset-otp.ftl";
7
+ }>, I18n>): JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { clsx } from "../../tools/clsx";
4
+ import { useGetClassName } from "../../login/lib/useGetClassName";
5
+ export default function LoginResetOtp(props) {
6
+ const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
7
+ const { getClassName } = useGetClassName({
8
+ doUseDefaultCss,
9
+ classes
10
+ });
11
+ const { url, messagesPerField, configuredOtpCredentials } = kcContext;
12
+ const { msg, msgStr } = i18n;
13
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayMessage: !messagesPerField.existsError("totp"), headerNode: msg("doLogIn") }, { children: _jsx("form", Object.assign({ id: "kc-otp-reset-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsxs("div", Object.assign({ className: getClassName("kcInfoAreaWrapperClass") }, { children: [_jsx("p", Object.assign({ id: "kc-otp-reset-form-description" }, { children: msg("otp-reset-description") })), configuredOtpCredentials.userOtpCredentials.map((otpCredential, index) => (_jsxs(Fragment, { children: [_jsx("input", { id: `kc-otp-credential-${index}`, className: getClassName("kcLoginOTPListInputClass"), type: "radio", name: "selectedCredentialId", value: otpCredential.id, defaultChecked: otpCredential.id === configuredOtpCredentials.selectedCredentialId }), _jsx("label", Object.assign({ htmlFor: `kc-otp-credential-${index}`, className: getClassName("kcLoginOTPListClass"), tabIndex: index }, { children: _jsxs("span", Object.assign({ className: getClassName("kcLoginOTPListItemHeaderClass") }, { children: [_jsx("span", Object.assign({ className: getClassName("kcLoginOTPListItemIconBodyClass") }, { children: _jsx("i", { className: getClassName("kcLoginOTPListItemIconClass"), "aria-hidden": "true" }) })), _jsx("span", Object.assign({ className: getClassName("kcLoginOTPListItemTitleClass") }, { children: otpCredential.userLabel }))] })) }))] }, otpCredential.id))), _jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { id: "kc-otp-reset-form-submit", className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), type: "submit", value: msgStr("doSubmit") }) })) }))] })) })) })) })));
14
+ }
15
+ //# sourceMappingURL=LoginResetOtp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginResetOtp.js","sourceRoot":"","sources":["../../src/login/pages/LoginResetOtp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAA6E;IAC/G,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAEtE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,OAAO,CACH,KAAC,QAAQ,oBACD,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IACjD,cAAc,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,EACrD,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,gBAE1B,6BAAM,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,gBACvG,4BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,gBAC/C,6BAAK,SAAS,EAAE,YAAY,CAAC,wBAAwB,CAAC,iBAClD,0BAAG,EAAE,EAAC,+BAA+B,gBAAE,GAAG,CAAC,uBAAuB,CAAC,IAAK,EACvE,wBAAwB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CACvE,MAAC,QAAQ,eACL,gBACI,EAAE,EAAE,qBAAqB,KAAK,EAAE,EAChC,SAAS,EAAE,YAAY,CAAC,0BAA0B,CAAC,EACnD,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAE,aAAa,CAAC,EAAE,EACvB,cAAc,EAAE,aAAa,CAAC,EAAE,KAAK,wBAAwB,CAAC,oBAAoB,GACpF,EACF,8BAAO,OAAO,EAAE,qBAAqB,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,gBACzG,8BAAM,SAAS,EAAE,YAAY,CAAC,+BAA+B,CAAC,iBAC1D,6BAAM,SAAS,EAAE,YAAY,CAAC,iCAAiC,CAAC,gBAC5D,YAAG,SAAS,EAAE,YAAY,CAAC,6BAA6B,CAAC,iBAAc,MAAM,GAAK,IAC/E,EACP,6BAAM,SAAS,EAAE,YAAY,CAAC,8BAA8B,CAAC,gBAAG,aAAa,CAAC,SAAS,IAAQ,KAC5F,IACH,KAhBG,aAAa,CAAC,EAAE,CAiBpB,CACd,CAAC,EACF,4BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,gBAC5C,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,gBACI,EAAE,EAAC,0BAA0B,EAC7B,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B,IACA,IACJ,KACJ,IACJ,IACH,IACA,CACd,CAAC;AACN,CAAC"}
@@ -2,17 +2,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { clsx } from "../../tools/clsx";
3
3
  import { useGetClassName } from "../../login/lib/useGetClassName";
4
4
  export default function LoginResetPassword(props) {
5
+ var _a;
5
6
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
6
7
  const { getClassName } = useGetClassName({
7
8
  doUseDefaultCss,
8
9
  classes
9
10
  });
10
- const { url, realm, auth } = kcContext;
11
+ const { url, realm, auth, messagesPerField } = kcContext;
11
12
  const { msg, msgStr } = i18n;
12
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayMessage: false, headerNode: msg("emailForgotTitle"), infoNode: msg("emailInstruction") }, { children: _jsxs("form", Object.assign({ id: "kc-reset-password-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "username", className: getClassName("kcLabelClass") }, { children: !realm.loginWithEmailAllowed
13
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayInfo: true, displayMessage: !messagesPerField.existsError("username"), infoNode: realm.duplicateEmailsAllowed ? msg("emailInstructionUsername") : msg("emailInstruction"), headerNode: msg("emailForgotTitle") }, { children: _jsxs("form", Object.assign({ id: "kc-reset-password-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [_jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "username", className: getClassName("kcLabelClass") }, { children: !realm.loginWithEmailAllowed
13
14
  ? msg("username")
14
15
  : !realm.registrationEmailAsUsername
15
16
  ? msg("usernameOrEmail")
16
- : msg("email") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { type: "text", id: "username", name: "username", className: getClassName("kcInputClass"), autoFocus: true, defaultValue: auth !== undefined && auth.showUsername ? auth.attemptedUsername : undefined }) }))] })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), getClassName("kcFormSettingClass")) }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: _jsx("span", { children: _jsx("a", Object.assign({ href: url.loginUrl }, { children: msg("backToLogin") })) }) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), type: "submit", value: msgStr("doSubmit") }) }))] }))] })) })));
17
+ : msg("email") })) })), _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx("input", { type: "text", id: "username", name: "username", className: getClassName("kcInputClass"), autoFocus: true, defaultValue: (_a = auth.attemptedUsername) !== null && _a !== void 0 ? _a : "", "aria-invalid": messagesPerField.existsError("username") }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error-username", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("username") })))] }))] })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), getClassName("kcFormSettingClass")) }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: _jsx("span", { children: _jsx("a", Object.assign({ href: url.loginUrl }, { children: msg("backToLogin") })) }) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: _jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), type: "submit", value: msgStr("doSubmit") }) }))] }))] })) })));
17
18
  }
18
19
  //# sourceMappingURL=LoginResetPassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginResetPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginResetPassword.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAkF;IACzH,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QACrC,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAEvC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,OAAO,CACH,KAAC,QAAQ,oBACD,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IACjD,cAAc,EAAE,KAAK,EACrB,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC,EACnC,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBAEjC,8BAAM,EAAE,EAAC,wBAAwB,EAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBAC5G,6BAAK,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,iBAC5C,4BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,gBAC/C,8BAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,gBAC5D,CAAC,KAAK,CAAC,qBAAqB;oCACzB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;oCACjB,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B;wCACpC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;wCACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IACd,IACN,EACN,4BAAK,SAAS,EAAE,YAAY,CAAC,qBAAqB,CAAC,gBAC/C,gBACI,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,EACvC,SAAS,QACT,YAAY,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,GAC5F,IACA,KACJ,EACN,6BAAK,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC,iBACtF,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,4BAAK,SAAS,EAAE,YAAY,CAAC,2BAA2B,CAAC,gBACrD,yBACI,0BAAG,IAAI,EAAE,GAAG,CAAC,QAAQ,gBAAG,GAAG,CAAC,aAAa,CAAC,IAAK,GAC5C,IACL,IACJ,EAEN,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,gBACnE,gBACI,SAAS,EAAE,IAAI,CACX,YAAY,CAAC,eAAe,CAAC,EAC7B,YAAY,CAAC,sBAAsB,CAAC,EACpC,YAAY,CAAC,oBAAoB,CAAC,EAClC,YAAY,CAAC,oBAAoB,CAAC,CACrC,EACD,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,GAC3B,IACA,KACJ,KACH,IACA,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"LoginResetPassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginResetPassword.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useReducer } from "react";
2
3
  import { clsx } from "../../tools/clsx";
4
+ import { assert } from "tsafe/assert";
3
5
  import { useGetClassName } from "../../login/lib/useGetClassName";
4
6
  export default function LoginUpdatePassword(props) {
5
7
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
@@ -8,7 +10,23 @@ export default function LoginUpdatePassword(props) {
8
10
  classes
9
11
  });
10
12
  const { msg, msgStr } = i18n;
11
- const { url, messagesPerField, isAppInitiatedAction, username } = kcContext;
12
- return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { headerNode: msg("updatePasswordTitle") }, { children: _jsxs("form", Object.assign({ id: "kc-passwd-update-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "text", id: "username", name: "username", value: username, readOnly: true, autoComplete: "username", style: { display: "none" } }), _jsx("input", { type: "password", id: "password", name: "password", autoComplete: "current-password", style: { display: "none" } }), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), messagesPerField.printIfExists("password", getClassName("kcFormGroupErrorClass"))) }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "password-new", className: getClassName("kcLabelClass") }, { children: msg("passwordNew") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { type: "password", id: "password-new", name: "password-new", autoFocus: true, autoComplete: "new-password", className: getClassName("kcInputClass") }) }))] })), _jsxs("div", Object.assign({ className: clsx(getClassName("kcFormGroupClass"), messagesPerField.printIfExists("password-confirm", getClassName("kcFormGroupErrorClass"))) }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "password-confirm", className: getClassName("kcLabelClass") }, { children: msg("passwordConfirm") })) })), _jsx("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: _jsx("input", { type: "password", id: "password-confirm", name: "password-confirm", autoComplete: "new-password", className: getClassName("kcInputClass") }) }))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: isAppInitiatedAction && (_jsx("div", Object.assign({ className: "checkbox" }, { children: _jsxs("label", { children: [_jsx("input", { type: "checkbox", id: "logout-sessions", name: "logout-sessions", value: "on", checked: true }), msgStr("logoutOtherSessions")] }) }))) })) })), _jsx("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: isAppInitiatedAction ? (_jsxs(_Fragment, { children: [_jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonLargeClass")), type: "submit", defaultValue: msgStr("doSubmit") }), _jsx("button", Object.assign({ className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass")), type: "submit", name: "cancel-aia", value: "true" }, { children: msg("doCancel") }))] })) : (_jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), type: "submit", value: msgStr("doSubmit") })) }))] }))] })) })));
13
+ const { url, messagesPerField, isAppInitiatedAction } = kcContext;
14
+ return (_jsx(Template, Object.assign({}, { kcContext, i18n, doUseDefaultCss, classes }, { displayMessage: !messagesPerField.existsError("password", "password-confirm"), headerNode: msg("updatePasswordTitle") }, { children: _jsxs("form", Object.assign({ id: "kc-passwd-update-form", className: getClassName("kcFormClass"), action: url.loginAction, method: "post" }, { children: [_jsx("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: _jsxs("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "password-new", className: getClassName("kcLabelClass") }, { children: msg("passwordNew") })), _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx(PasswordWrapper, Object.assign({}, { getClassName, i18n }, { passwordInputId: "password-new" }, { children: _jsx("input", { type: "password", id: "password-new", name: "password-new", className: getClassName("kcInputClass"), autoFocus: true, autoComplete: "new-password", "aria-invalid": messagesPerField.existsError("password", "password-confirm") }) })), messagesPerField.existsError("password") && (_jsx("span", Object.assign({ id: "input-error-password", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("password") })))] }))] })) })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx("div", Object.assign({ className: getClassName("kcLabelWrapperClass") }, { children: _jsx("label", Object.assign({ htmlFor: "password-confirm", className: getClassName("kcLabelClass") }, { children: msg("passwordConfirm") })) })), _jsxs("div", Object.assign({ className: getClassName("kcInputWrapperClass") }, { children: [_jsx(PasswordWrapper, Object.assign({}, { getClassName, i18n }, { passwordInputId: "password-confirm" }, { children: _jsx("input", { type: "password", id: "password-confirm", name: "password-confirm", className: getClassName("kcInputClass"), autoFocus: true, autoComplete: "new-password", "aria-invalid": messagesPerField.existsError("password", "password-confirm") }) })), messagesPerField.existsError("password-confirm") && (_jsx("span", Object.assign({ id: "input-error-password-confirm", className: getClassName("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("password-confirm") })))] })), _jsxs("div", Object.assign({ className: getClassName("kcFormGroupClass") }, { children: [_jsx(LogoutOtherSessions, Object.assign({}, { getClassName, i18n })), _jsxs("div", Object.assign({ id: "kc-form-buttons", className: getClassName("kcFormButtonsClass") }, { children: [_jsx("input", { className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonPrimaryClass"), isAppInitiatedAction && getClassName("kcButtonBlockClass"), getClassName("kcButtonLargeClass")), type: "submit", value: msgStr("doSubmit") }), isAppInitiatedAction && (_jsx("button", Object.assign({ className: clsx(getClassName("kcButtonClass"), getClassName("kcButtonDefaultClass"), getClassName("kcButtonLargeClass")), type: "submit", name: "cancel-aia", value: "true" }, { children: msg("doCancel") })))] }))] }))] }))] })) })));
15
+ }
16
+ function LogoutOtherSessions(props) {
17
+ const { getClassName, i18n } = props;
18
+ const { msg } = i18n;
19
+ return (_jsx("div", Object.assign({ id: "kc-form-options", className: getClassName("kcFormOptionsClass") }, { children: _jsx("div", Object.assign({ className: getClassName("kcFormOptionsWrapperClass") }, { children: _jsx("div", Object.assign({ className: "checkbox" }, { children: _jsxs("label", { children: [_jsx("input", { type: "checkbox", id: "logout-sessions", name: "logout-sessions", value: "on", defaultChecked: true }), msg("logoutOtherSessions")] }) })) })) })));
20
+ }
21
+ function PasswordWrapper(props) {
22
+ const { getClassName, i18n, passwordInputId, children } = props;
23
+ const { msgStr } = i18n;
24
+ const [isPasswordRevealed, toggleIsPasswordRevealed] = useReducer((isPasswordRevealed) => !isPasswordRevealed, false);
25
+ useEffect(() => {
26
+ const passwordInputElement = document.getElementById(passwordInputId);
27
+ assert(passwordInputElement instanceof HTMLInputElement);
28
+ passwordInputElement.type = isPasswordRevealed ? "text" : "password";
29
+ }, [isPasswordRevealed]);
30
+ return (_jsxs("div", Object.assign({ className: getClassName("kcInputGroup") }, { children: [children, _jsx("button", Object.assign({ type: "button", className: getClassName("kcFormPasswordVisibilityButtonClass"), "aria-label": msgStr(isPasswordRevealed ? "hidePassword" : "showPassword"), "aria-controls": passwordInputId, onClick: toggleIsPasswordRevealed }, { children: _jsx("i", { className: getClassName(isPasswordRevealed ? "kcFormPasswordVisibilityIconHide" : "kcFormPasswordVisibilityIconShow"), "aria-hidden": true }) }))] })));
13
31
  }
14
32
  //# sourceMappingURL=LoginUpdatePassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginUpdatePassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginUpdatePassword.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginUpdatePassword.js","sourceRoot":"","sources":["../../src/login/pages/LoginUpdatePassword.tsx"],"names":[],"mappings":"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"}