keycloakify 10.0.0-rc.3 → 10.0.0-rc.31

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 (875) hide show
  1. package/PUBLIC_URL.d.ts +1 -1
  2. package/PUBLIC_URL.js +2 -2
  3. package/PUBLIC_URL.js.map +1 -1
  4. package/account/Fallback.d.ts +2 -2
  5. package/account/Fallback.js +3 -0
  6. package/account/Fallback.js.map +1 -1
  7. package/account/{kcContext → KcContext}/KcContext.d.ts +74 -44
  8. package/account/KcContext/KcContext.js.map +1 -0
  9. package/account/KcContext/getKcContextMock.d.ts +22 -0
  10. package/account/KcContext/getKcContextMock.js +28 -0
  11. package/account/KcContext/getKcContextMock.js.map +1 -0
  12. package/account/KcContext/index.d.ts +2 -0
  13. package/account/KcContext/index.js +2 -0
  14. package/account/KcContext/index.js.map +1 -0
  15. package/account/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
  16. package/account/KcContext/kcContextMocks.js +151 -0
  17. package/account/KcContext/kcContextMocks.js.map +1 -0
  18. package/account/Template.d.ts +2 -2
  19. package/account/Template.js +8 -8
  20. package/account/Template.js.map +1 -1
  21. package/account/TemplateProps.d.ts +1 -1
  22. package/account/i18n/baseMessages/ar.d.ts +2 -0
  23. package/account/i18n/baseMessages/ar.js +3 -1
  24. package/account/i18n/baseMessages/ar.js.map +1 -1
  25. package/account/i18n/baseMessages/ca.d.ts +2 -0
  26. package/account/i18n/baseMessages/ca.js +3 -1
  27. package/account/i18n/baseMessages/ca.js.map +1 -1
  28. package/account/i18n/baseMessages/cs.d.ts +2 -0
  29. package/account/i18n/baseMessages/cs.js +3 -1
  30. package/account/i18n/baseMessages/cs.js.map +1 -1
  31. package/account/i18n/baseMessages/da.d.ts +2 -0
  32. package/account/i18n/baseMessages/da.js +3 -1
  33. package/account/i18n/baseMessages/da.js.map +1 -1
  34. package/account/i18n/baseMessages/de.d.ts +2 -0
  35. package/account/i18n/baseMessages/de.js +3 -1
  36. package/account/i18n/baseMessages/de.js.map +1 -1
  37. package/account/i18n/baseMessages/el.d.ts +2 -0
  38. package/account/i18n/baseMessages/el.js +3 -1
  39. package/account/i18n/baseMessages/el.js.map +1 -1
  40. package/account/i18n/baseMessages/en.d.ts +2 -0
  41. package/account/i18n/baseMessages/en.js +3 -1
  42. package/account/i18n/baseMessages/en.js.map +1 -1
  43. package/account/i18n/baseMessages/es.d.ts +2 -0
  44. package/account/i18n/baseMessages/es.js +3 -1
  45. package/account/i18n/baseMessages/es.js.map +1 -1
  46. package/account/i18n/baseMessages/fa.d.ts +2 -0
  47. package/account/i18n/baseMessages/fa.js +3 -1
  48. package/account/i18n/baseMessages/fa.js.map +1 -1
  49. package/account/i18n/baseMessages/fi.d.ts +2 -0
  50. package/account/i18n/baseMessages/fi.js +3 -1
  51. package/account/i18n/baseMessages/fi.js.map +1 -1
  52. package/account/i18n/baseMessages/fr.d.ts +2 -0
  53. package/account/i18n/baseMessages/fr.js +3 -1
  54. package/account/i18n/baseMessages/fr.js.map +1 -1
  55. package/account/i18n/baseMessages/hu.d.ts +2 -0
  56. package/account/i18n/baseMessages/hu.js +3 -1
  57. package/account/i18n/baseMessages/hu.js.map +1 -1
  58. package/account/i18n/baseMessages/index.d.ts +18 -0
  59. package/account/i18n/baseMessages/it.d.ts +2 -0
  60. package/account/i18n/baseMessages/it.js +3 -1
  61. package/account/i18n/baseMessages/it.js.map +1 -1
  62. package/account/i18n/baseMessages/ja.d.ts +2 -0
  63. package/account/i18n/baseMessages/ja.js +3 -1
  64. package/account/i18n/baseMessages/ja.js.map +1 -1
  65. package/account/i18n/baseMessages/lt.d.ts +2 -0
  66. package/account/i18n/baseMessages/lt.js +3 -1
  67. package/account/i18n/baseMessages/lt.js.map +1 -1
  68. package/account/i18n/baseMessages/lv.d.ts +2 -0
  69. package/account/i18n/baseMessages/lv.js +3 -1
  70. package/account/i18n/baseMessages/lv.js.map +1 -1
  71. package/account/i18n/baseMessages/nl.d.ts +2 -0
  72. package/account/i18n/baseMessages/nl.js +3 -1
  73. package/account/i18n/baseMessages/nl.js.map +1 -1
  74. package/account/i18n/baseMessages/no.d.ts +2 -0
  75. package/account/i18n/baseMessages/no.js +3 -1
  76. package/account/i18n/baseMessages/no.js.map +1 -1
  77. package/account/i18n/baseMessages/pl.d.ts +2 -0
  78. package/account/i18n/baseMessages/pl.js +3 -1
  79. package/account/i18n/baseMessages/pl.js.map +1 -1
  80. package/account/i18n/baseMessages/pt-BR.d.ts +2 -0
  81. package/account/i18n/baseMessages/pt-BR.js +3 -1
  82. package/account/i18n/baseMessages/pt-BR.js.map +1 -1
  83. package/account/i18n/baseMessages/ru.d.ts +2 -0
  84. package/account/i18n/baseMessages/ru.js +3 -1
  85. package/account/i18n/baseMessages/ru.js.map +1 -1
  86. package/account/i18n/baseMessages/sk.d.ts +2 -0
  87. package/account/i18n/baseMessages/sk.js +3 -1
  88. package/account/i18n/baseMessages/sk.js.map +1 -1
  89. package/account/i18n/baseMessages/sv.d.ts +2 -0
  90. package/account/i18n/baseMessages/sv.js +3 -1
  91. package/account/i18n/baseMessages/sv.js.map +1 -1
  92. package/account/i18n/baseMessages/th.d.ts +2 -0
  93. package/account/i18n/baseMessages/th.js +3 -1
  94. package/account/i18n/baseMessages/th.js.map +1 -1
  95. package/account/i18n/baseMessages/tr.d.ts +2 -0
  96. package/account/i18n/baseMessages/tr.js +3 -1
  97. package/account/i18n/baseMessages/tr.js.map +1 -1
  98. package/account/i18n/baseMessages/uk.d.ts +2 -0
  99. package/account/i18n/baseMessages/uk.js +3 -1
  100. package/account/i18n/baseMessages/uk.js.map +1 -1
  101. package/account/i18n/baseMessages/zh-CN.d.ts +2 -0
  102. package/account/i18n/baseMessages/zh-CN.js +3 -1
  103. package/account/i18n/baseMessages/zh-CN.js.map +1 -1
  104. package/account/i18n/i18n.d.ts +22 -30
  105. package/account/i18n/i18n.js +45 -49
  106. package/account/i18n/i18n.js.map +1 -1
  107. package/account/i18n/index.d.ts +1 -0
  108. package/account/i18n/index.js +1 -1
  109. package/account/i18n/index.js.map +1 -1
  110. package/account/index.d.ts +3 -6
  111. package/account/index.js +2 -5
  112. package/account/index.js.map +1 -1
  113. package/account/lib/useGetClassName.js +14 -14
  114. package/account/lib/useGetClassName.js.map +1 -1
  115. package/account/pages/Account.d.ts +1 -1
  116. package/account/pages/Account.js +1 -1
  117. package/account/pages/Account.js.map +1 -1
  118. package/account/pages/Applications.d.ts +1 -1
  119. package/account/pages/Applications.js +4 -4
  120. package/account/pages/Applications.js.map +1 -1
  121. package/account/pages/FederatedIdentity.d.ts +7 -0
  122. package/account/pages/FederatedIdentity.js +8 -0
  123. package/account/pages/FederatedIdentity.js.map +1 -0
  124. package/account/pages/Log.d.ts +1 -1
  125. package/account/pages/Log.js +1 -1
  126. package/account/pages/Log.js.map +1 -1
  127. package/account/pages/PageProps.d.ts +4 -4
  128. package/account/pages/Password.d.ts +1 -1
  129. package/account/pages/Password.js +7 -7
  130. package/account/pages/Password.js.map +1 -1
  131. package/account/pages/Sessions.d.ts +1 -1
  132. package/account/pages/Sessions.js +0 -4
  133. package/account/pages/Sessions.js.map +1 -1
  134. package/account/pages/Totp.d.ts +1 -1
  135. package/account/pages/Totp.js +6 -6
  136. package/account/pages/Totp.js.map +1 -1
  137. package/bin/246.index.js +466 -0
  138. package/bin/420.index.js +508 -0
  139. package/bin/509.index.js +438 -0
  140. package/bin/772.index.js +1524 -0
  141. package/bin/main.js +157737 -0
  142. package/bin/{keycloakify/generateFtl/pageId.d.ts → shared/constants.d.ts} +16 -1
  143. package/bin/shared/constants.js +63 -0
  144. package/bin/shared/constants.js.map +1 -0
  145. package/lib/isStorybook.js +2 -1
  146. package/lib/isStorybook.js.map +1 -1
  147. package/lib/useGetClassName.js.map +1 -1
  148. package/login/Fallback.d.ts +2 -2
  149. package/login/Fallback.js.map +1 -1
  150. package/login/{kcContext → KcContext}/KcContext.d.ts +23 -12
  151. package/login/{kcContext → KcContext}/KcContext.js +1 -0
  152. package/login/KcContext/KcContext.js.map +1 -0
  153. package/login/KcContext/getKcContextMock.d.ts +22 -0
  154. package/login/KcContext/getKcContextMock.js +28 -0
  155. package/login/KcContext/getKcContextMock.js.map +1 -0
  156. package/login/KcContext/index.d.ts +2 -0
  157. package/login/KcContext/index.js +2 -0
  158. package/login/KcContext/index.js.map +1 -0
  159. package/login/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
  160. package/login/KcContext/kcContextMocks.js +319 -0
  161. package/login/KcContext/kcContextMocks.js.map +1 -0
  162. package/login/Template.d.ts +2 -2
  163. package/login/Template.js +17 -17
  164. package/login/Template.js.map +1 -1
  165. package/login/TemplateProps.d.ts +1 -1
  166. package/login/UserProfileFormFields.d.ts +1 -1
  167. package/login/UserProfileFormFields.js +51 -95
  168. package/login/UserProfileFormFields.js.map +1 -1
  169. package/login/i18n/baseMessages/ar.d.ts +9 -0
  170. package/login/i18n/baseMessages/ar.js +10 -1
  171. package/login/i18n/baseMessages/ar.js.map +1 -1
  172. package/login/i18n/baseMessages/ca.d.ts +10 -1
  173. package/login/i18n/baseMessages/ca.js +11 -2
  174. package/login/i18n/baseMessages/ca.js.map +1 -1
  175. package/login/i18n/baseMessages/cs.d.ts +9 -0
  176. package/login/i18n/baseMessages/cs.js +10 -1
  177. package/login/i18n/baseMessages/cs.js.map +1 -1
  178. package/login/i18n/baseMessages/da.d.ts +9 -0
  179. package/login/i18n/baseMessages/da.js +10 -1
  180. package/login/i18n/baseMessages/da.js.map +1 -1
  181. package/login/i18n/baseMessages/de.d.ts +9 -0
  182. package/login/i18n/baseMessages/de.js +10 -1
  183. package/login/i18n/baseMessages/de.js.map +1 -1
  184. package/login/i18n/baseMessages/el.d.ts +9 -1
  185. package/login/i18n/baseMessages/el.js +10 -2
  186. package/login/i18n/baseMessages/el.js.map +1 -1
  187. package/login/i18n/baseMessages/en.d.ts +10 -1
  188. package/login/i18n/baseMessages/en.js +11 -2
  189. package/login/i18n/baseMessages/en.js.map +1 -1
  190. package/login/i18n/baseMessages/es.d.ts +10 -1
  191. package/login/i18n/baseMessages/es.js +11 -2
  192. package/login/i18n/baseMessages/es.js.map +1 -1
  193. package/login/i18n/baseMessages/fa.d.ts +9 -1
  194. package/login/i18n/baseMessages/fa.js +10 -2
  195. package/login/i18n/baseMessages/fa.js.map +1 -1
  196. package/login/i18n/baseMessages/fi.d.ts +9 -0
  197. package/login/i18n/baseMessages/fi.js +10 -1
  198. package/login/i18n/baseMessages/fi.js.map +1 -1
  199. package/login/i18n/baseMessages/fr.d.ts +9 -0
  200. package/login/i18n/baseMessages/fr.js +10 -1
  201. package/login/i18n/baseMessages/fr.js.map +1 -1
  202. package/login/i18n/baseMessages/hu.d.ts +10 -1
  203. package/login/i18n/baseMessages/hu.js +11 -2
  204. package/login/i18n/baseMessages/hu.js.map +1 -1
  205. package/login/i18n/baseMessages/index.d.ts +109 -2
  206. package/login/i18n/baseMessages/it.d.ts +9 -0
  207. package/login/i18n/baseMessages/it.js +10 -1
  208. package/login/i18n/baseMessages/it.js.map +1 -1
  209. package/login/i18n/baseMessages/ja.d.ts +9 -0
  210. package/login/i18n/baseMessages/ja.js +10 -1
  211. package/login/i18n/baseMessages/ja.js.map +1 -1
  212. package/login/i18n/baseMessages/lt.d.ts +9 -0
  213. package/login/i18n/baseMessages/lt.js +10 -1
  214. package/login/i18n/baseMessages/lt.js.map +1 -1
  215. package/login/i18n/baseMessages/lv.d.ts +9 -0
  216. package/login/i18n/baseMessages/lv.js +10 -1
  217. package/login/i18n/baseMessages/lv.js.map +1 -1
  218. package/login/i18n/baseMessages/nl.d.ts +9 -0
  219. package/login/i18n/baseMessages/nl.js +10 -1
  220. package/login/i18n/baseMessages/nl.js.map +1 -1
  221. package/login/i18n/baseMessages/no.d.ts +9 -0
  222. package/login/i18n/baseMessages/no.js +10 -1
  223. package/login/i18n/baseMessages/no.js.map +1 -1
  224. package/login/i18n/baseMessages/pl.d.ts +9 -0
  225. package/login/i18n/baseMessages/pl.js +10 -1
  226. package/login/i18n/baseMessages/pl.js.map +1 -1
  227. package/login/i18n/baseMessages/pt-BR.d.ts +9 -0
  228. package/login/i18n/baseMessages/pt-BR.js +10 -1
  229. package/login/i18n/baseMessages/pt-BR.js.map +1 -1
  230. package/login/i18n/baseMessages/ru.d.ts +9 -0
  231. package/login/i18n/baseMessages/ru.js +10 -1
  232. package/login/i18n/baseMessages/ru.js.map +1 -1
  233. package/login/i18n/baseMessages/sk.d.ts +9 -0
  234. package/login/i18n/baseMessages/sk.js +10 -1
  235. package/login/i18n/baseMessages/sk.js.map +1 -1
  236. package/login/i18n/baseMessages/sv.d.ts +9 -0
  237. package/login/i18n/baseMessages/sv.js +10 -1
  238. package/login/i18n/baseMessages/sv.js.map +1 -1
  239. package/login/i18n/baseMessages/th.d.ts +9 -0
  240. package/login/i18n/baseMessages/th.js +10 -1
  241. package/login/i18n/baseMessages/th.js.map +1 -1
  242. package/login/i18n/baseMessages/tr.d.ts +9 -0
  243. package/login/i18n/baseMessages/tr.js +10 -1
  244. package/login/i18n/baseMessages/tr.js.map +1 -1
  245. package/login/i18n/baseMessages/uk.d.ts +9 -0
  246. package/login/i18n/baseMessages/uk.js +10 -1
  247. package/login/i18n/baseMessages/uk.js.map +1 -1
  248. package/login/i18n/baseMessages/zh-CN.d.ts +10 -1
  249. package/login/i18n/baseMessages/zh-CN.js +11 -2
  250. package/login/i18n/baseMessages/zh-CN.js.map +1 -1
  251. package/login/i18n/i18n.d.ts +23 -32
  252. package/login/i18n/i18n.js +56 -53
  253. package/login/i18n/i18n.js.map +1 -1
  254. package/login/i18n/index.d.ts +2 -1
  255. package/login/i18n/index.js +1 -1
  256. package/login/i18n/index.js.map +1 -1
  257. package/login/index.d.ts +4 -7
  258. package/login/index.js +2 -5
  259. package/login/index.js.map +1 -1
  260. package/login/lib/useDownloadTerms.js +13 -20
  261. package/login/lib/useDownloadTerms.js.map +1 -1
  262. package/login/lib/useGetClassName.js +112 -112
  263. package/login/lib/useGetClassName.js.map +1 -1
  264. package/login/lib/useUserProfileForm.d.ts +10 -3
  265. package/login/lib/useUserProfileForm.js +281 -202
  266. package/login/lib/useUserProfileForm.js.map +1 -1
  267. package/login/pages/Code.d.ts +1 -1
  268. package/login/pages/Code.js.map +1 -1
  269. package/login/pages/DeleteAccountConfirm.d.ts +1 -1
  270. package/login/pages/DeleteAccountConfirm.js +5 -1
  271. package/login/pages/DeleteAccountConfirm.js.map +1 -1
  272. package/login/pages/DeleteCredential.d.ts +1 -1
  273. package/login/pages/DeleteCredential.js.map +1 -1
  274. package/login/pages/Error.d.ts +1 -1
  275. package/login/pages/FrontchannelLogout.d.ts +1 -1
  276. package/login/pages/FrontchannelLogout.js +1 -1
  277. package/login/pages/FrontchannelLogout.js.map +1 -1
  278. package/login/pages/IdpReviewUserProfile.d.ts +2 -2
  279. package/login/pages/Info.d.ts +1 -1
  280. package/login/pages/Login.d.ts +1 -1
  281. package/login/pages/Login.js.map +1 -1
  282. package/login/pages/LoginConfigTotp.d.ts +1 -1
  283. package/login/pages/LoginConfigTotp.js +2 -2
  284. package/login/pages/LoginConfigTotp.js.map +1 -1
  285. package/login/pages/LoginIdpLinkConfirm.d.ts +1 -1
  286. package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
  287. package/login/pages/LoginIdpLinkEmail.d.ts +2 -2
  288. package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +2 -2
  289. package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
  290. package/login/pages/LoginOauthGrant.d.ts +2 -2
  291. package/login/pages/LoginOauthGrant.js.map +1 -1
  292. package/login/pages/LoginOtp.d.ts +1 -1
  293. package/login/pages/LoginOtp.js.map +1 -1
  294. package/login/pages/LoginPageExpired.d.ts +1 -1
  295. package/login/pages/LoginPassword.d.ts +1 -1
  296. package/login/pages/LoginPassword.js.map +1 -1
  297. package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -1
  298. package/login/pages/LoginRecoveryAuthnCodeConfig.js +10 -10
  299. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
  300. package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -1
  301. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  302. package/login/pages/LoginResetOtp.d.ts +1 -1
  303. package/login/pages/LoginResetOtp.js.map +1 -1
  304. package/login/pages/LoginResetPassword.d.ts +1 -1
  305. package/login/pages/LoginResetPassword.js.map +1 -1
  306. package/login/pages/LoginUpdatePassword.d.ts +1 -1
  307. package/login/pages/LoginUpdatePassword.js.map +1 -1
  308. package/login/pages/LoginUpdateProfile.d.ts +3 -3
  309. package/login/pages/LoginUsername.d.ts +1 -1
  310. package/login/pages/LoginUsername.js.map +1 -1
  311. package/login/pages/LoginVerifyEmail.d.ts +1 -1
  312. package/login/pages/LoginX509Info.d.ts +1 -1
  313. package/login/pages/LoginX509Info.js.map +1 -1
  314. package/login/pages/LogoutConfirm.d.ts +1 -1
  315. package/login/pages/LogoutConfirm.js.map +1 -1
  316. package/login/pages/PageProps.d.ts +1 -1
  317. package/login/pages/Register.d.ts +2 -2
  318. package/login/pages/Register.js +2 -2
  319. package/login/pages/Register.js.map +1 -1
  320. package/login/pages/SamlPostForm.d.ts +1 -1
  321. package/login/pages/SelectAuthenticator.d.ts +2 -2
  322. package/login/pages/SelectAuthenticator.js.map +1 -1
  323. package/login/pages/Terms.d.ts +1 -1
  324. package/login/pages/Terms.js.map +1 -1
  325. package/login/pages/UpdateEmail.d.ts +1 -1
  326. package/login/pages/UpdateEmail.js.map +1 -1
  327. package/login/pages/WebauthnAuthenticate.d.ts +1 -1
  328. package/login/pages/WebauthnAuthenticate.js +16 -13
  329. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  330. package/login/pages/WebauthnError.d.ts +1 -1
  331. package/login/pages/WebauthnError.js.map +1 -1
  332. package/login/pages/WebauthnRegister.d.ts +1 -1
  333. package/login/pages/WebauthnRegister.js +10 -10
  334. package/login/pages/WebauthnRegister.js.map +1 -1
  335. package/package.json +154 -565
  336. package/src/PUBLIC_URL.ts +5 -2
  337. package/src/account/Fallback.tsx +6 -3
  338. package/src/account/{kcContext → KcContext}/KcContext.ts +94 -48
  339. package/src/account/KcContext/getKcContextMock.ts +82 -0
  340. package/src/account/KcContext/index.ts +2 -0
  341. package/src/account/KcContext/kcContextMocks.ts +199 -0
  342. package/src/account/Template.tsx +10 -12
  343. package/src/account/TemplateProps.ts +5 -2
  344. package/src/account/i18n/baseMessages/ar.ts +3 -1
  345. package/src/account/i18n/baseMessages/ca.ts +3 -1
  346. package/src/account/i18n/baseMessages/cs.ts +3 -1
  347. package/src/account/i18n/baseMessages/da.ts +3 -1
  348. package/src/account/i18n/baseMessages/de.ts +3 -1
  349. package/src/account/i18n/baseMessages/el.ts +3 -1
  350. package/src/account/i18n/baseMessages/en.ts +3 -1
  351. package/src/account/i18n/baseMessages/es.ts +3 -1
  352. package/src/account/i18n/baseMessages/fa.ts +3 -1
  353. package/src/account/i18n/baseMessages/fi.ts +3 -1
  354. package/src/account/i18n/baseMessages/fr.ts +3 -1
  355. package/src/account/i18n/baseMessages/hu.ts +3 -1
  356. package/src/account/i18n/baseMessages/it.ts +3 -1
  357. package/src/account/i18n/baseMessages/ja.ts +3 -1
  358. package/src/account/i18n/baseMessages/lt.ts +3 -1
  359. package/src/account/i18n/baseMessages/lv.ts +3 -1
  360. package/src/account/i18n/baseMessages/nl.ts +3 -1
  361. package/src/account/i18n/baseMessages/no.ts +3 -1
  362. package/src/account/i18n/baseMessages/pl.ts +3 -1
  363. package/src/account/i18n/baseMessages/pt-BR.ts +3 -1
  364. package/src/account/i18n/baseMessages/ru.ts +3 -1
  365. package/src/account/i18n/baseMessages/sk.ts +3 -1
  366. package/src/account/i18n/baseMessages/sv.ts +3 -1
  367. package/src/account/i18n/baseMessages/th.ts +3 -1
  368. package/src/account/i18n/baseMessages/tr.ts +3 -1
  369. package/src/account/i18n/baseMessages/uk.ts +3 -1
  370. package/src/account/i18n/baseMessages/zh-CN.ts +3 -1
  371. package/src/account/i18n/i18n.tsx +77 -63
  372. package/src/account/i18n/index.ts +1 -0
  373. package/src/account/index.ts +3 -9
  374. package/src/account/lib/useGetClassName.ts +15 -14
  375. package/src/account/pages/Account.tsx +3 -3
  376. package/src/account/pages/Applications.tsx +8 -8
  377. package/src/account/pages/FederatedIdentity.tsx +58 -0
  378. package/src/account/pages/Log.tsx +3 -3
  379. package/src/account/pages/PageProps.ts +4 -4
  380. package/src/account/pages/Password.tsx +10 -10
  381. package/src/account/pages/Sessions.tsx +2 -5
  382. package/src/account/pages/Totp.tsx +26 -32
  383. package/src/bin/copy-keycloak-resources-to-public.ts +7 -106
  384. package/src/bin/download-keycloak-default-theme.ts +63 -0
  385. package/src/bin/eject-page.ts +176 -0
  386. package/src/bin/initialize-email-theme.ts +38 -29
  387. package/src/bin/keycloakify/buildJars/buildJar.ts +192 -72
  388. package/src/bin/keycloakify/buildJars/buildJars.ts +41 -23
  389. package/src/bin/keycloakify/buildJars/extensionVersions.ts +2 -1
  390. package/src/bin/keycloakify/buildJars/generatePom.ts +12 -4
  391. package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +73 -21
  392. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +54 -31
  393. package/src/bin/keycloakify/generateFtl/generateFtl.ts +64 -15
  394. package/src/bin/keycloakify/generateFtl/index.ts +0 -1
  395. package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/bringInAccountV1.ts +35 -23
  396. package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/generateMessageProperties.ts +72 -20
  397. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +34 -0
  398. package/src/bin/keycloakify/{generateTheme/generateSrcMainResources.ts → generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts} +134 -87
  399. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +80 -0
  400. package/src/bin/keycloakify/generateSrcMainResources/index.ts +1 -0
  401. package/src/bin/keycloakify/{generateTheme → generateSrcMainResources}/readExtraPageNames.ts +21 -8
  402. package/src/bin/keycloakify/generateSrcMainResources/readFieldNameUsage.ts +83 -0
  403. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +21 -7
  404. package/src/bin/keycloakify/index.ts +0 -7
  405. package/src/bin/keycloakify/keycloakify.ts +77 -70
  406. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +26 -7
  407. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +8 -4
  408. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +7 -4
  409. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +25 -7
  410. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +50 -12
  411. package/src/bin/main.ts +212 -0
  412. package/src/bin/shared/KeycloakVersionRange.ts +9 -0
  413. package/src/bin/shared/buildOptions.ts +310 -0
  414. package/src/bin/{keycloakify/generateFtl/pageId.ts → shared/constants.ts} +31 -1
  415. package/src/bin/shared/copyKeycloakResourcesToPublic.ts +104 -0
  416. package/src/bin/shared/downloadKeycloakDefaultTheme.ts +207 -0
  417. package/src/bin/shared/downloadKeycloakStaticResources.ts +53 -0
  418. package/src/bin/shared/getJarFileBasename.ts +11 -0
  419. package/src/bin/{getThemeSrcDirPath.ts → shared/getThemeSrcDirPath.ts} +6 -3
  420. package/src/bin/shared/metaInfKeycloakThemes.ts +61 -0
  421. package/src/bin/shared/promptKeycloakVersion.ts +125 -0
  422. package/src/bin/start-keycloak/appBuild.ts +129 -0
  423. package/src/bin/start-keycloak/index.ts +1 -0
  424. package/src/bin/start-keycloak/keycloakifyBuild.ts +41 -0
  425. package/src/bin/start-keycloak/myrealm-realm-23.json +2142 -0
  426. package/src/bin/start-keycloak/myrealm-realm-24.json +2318 -0
  427. package/src/bin/start-keycloak/start-keycloak.ts +480 -0
  428. package/src/bin/tools/SemVer.ts +32 -13
  429. package/src/bin/tools/String.prototype.replaceAll.ts +9 -2
  430. package/src/bin/tools/crawl.ts +4 -1
  431. package/src/bin/tools/crc32.ts +42 -24
  432. package/src/bin/tools/downloadAndExtractArchive/downloadAndExtractArchive.ts +262 -0
  433. package/src/bin/tools/downloadAndExtractArchive/fetchProxyOptions.ts +96 -0
  434. package/src/bin/tools/downloadAndExtractArchive/index.ts +1 -0
  435. package/src/bin/tools/extractArchive.ts +140 -0
  436. package/src/bin/tools/fetchProxyOptions.ts +31 -8
  437. package/src/bin/tools/fs.rmSync.ts +4 -4
  438. package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +17 -2
  439. package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +73 -0
  440. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +8 -2
  441. package/src/bin/tools/octokit-addons/listTags.ts +15 -4
  442. package/src/bin/tools/partitionPromiseSettledResults.ts +12 -3
  443. package/src/bin/tools/{readThisNpmProjectVersion.ts → readThisNpmPackageVersion.ts} +6 -2
  444. package/src/bin/tools/transformCodebase.ts +29 -10
  445. package/src/bin/tools/trimIndent.ts +4 -1
  446. package/src/lib/isStorybook.ts +3 -1
  447. package/src/lib/useGetClassName.ts +12 -3
  448. package/src/login/Fallback.tsx +3 -3
  449. package/src/login/{kcContext → KcContext}/KcContext.ts +58 -27
  450. package/src/login/KcContext/getKcContextMock.ts +82 -0
  451. package/src/login/KcContext/index.ts +8 -0
  452. package/src/login/KcContext/kcContextMocks.ts +565 -0
  453. package/src/login/Template.tsx +21 -24
  454. package/src/login/TemplateProps.ts +5 -2
  455. package/src/login/UserProfileFormFields.tsx +73 -126
  456. package/src/login/i18n/baseMessages/ar.ts +10 -1
  457. package/src/login/i18n/baseMessages/ca.ts +11 -2
  458. package/src/login/i18n/baseMessages/cs.ts +10 -1
  459. package/src/login/i18n/baseMessages/da.ts +10 -1
  460. package/src/login/i18n/baseMessages/de.ts +10 -1
  461. package/src/login/i18n/baseMessages/el.ts +10 -2
  462. package/src/login/i18n/baseMessages/en.ts +11 -2
  463. package/src/login/i18n/baseMessages/es.ts +11 -2
  464. package/src/login/i18n/baseMessages/fa.ts +10 -2
  465. package/src/login/i18n/baseMessages/fi.ts +10 -1
  466. package/src/login/i18n/baseMessages/fr.ts +10 -1
  467. package/src/login/i18n/baseMessages/hu.ts +11 -2
  468. package/src/login/i18n/baseMessages/it.ts +10 -1
  469. package/src/login/i18n/baseMessages/ja.ts +10 -1
  470. package/src/login/i18n/baseMessages/lt.ts +10 -1
  471. package/src/login/i18n/baseMessages/lv.ts +10 -1
  472. package/src/login/i18n/baseMessages/nl.ts +10 -1
  473. package/src/login/i18n/baseMessages/no.ts +10 -1
  474. package/src/login/i18n/baseMessages/pl.ts +10 -1
  475. package/src/login/i18n/baseMessages/pt-BR.ts +10 -1
  476. package/src/login/i18n/baseMessages/ru.ts +10 -1
  477. package/src/login/i18n/baseMessages/sk.ts +10 -1
  478. package/src/login/i18n/baseMessages/sv.ts +10 -1
  479. package/src/login/i18n/baseMessages/th.ts +10 -1
  480. package/src/login/i18n/baseMessages/tr.ts +10 -1
  481. package/src/login/i18n/baseMessages/uk.ts +10 -1
  482. package/src/login/i18n/baseMessages/zh-CN.ts +11 -2
  483. package/src/login/i18n/i18n.tsx +98 -68
  484. package/src/login/i18n/index.ts +2 -1
  485. package/src/login/index.ts +4 -10
  486. package/src/login/lib/useDownloadTerms.ts +19 -29
  487. package/src/login/lib/useGetClassName.ts +119 -112
  488. package/src/login/lib/useUserProfileForm.tsx +346 -229
  489. package/src/login/pages/Code.tsx +2 -2
  490. package/src/login/pages/DeleteAccountConfirm.tsx +11 -5
  491. package/src/login/pages/DeleteCredential.tsx +2 -2
  492. package/src/login/pages/Error.tsx +1 -1
  493. package/src/login/pages/FrontchannelLogout.tsx +2 -2
  494. package/src/login/pages/IdpReviewUserProfile.tsx +3 -3
  495. package/src/login/pages/Info.tsx +1 -1
  496. package/src/login/pages/Login.tsx +3 -3
  497. package/src/login/pages/LoginConfigTotp.tsx +4 -5
  498. package/src/login/pages/LoginIdpLinkConfirm.tsx +2 -2
  499. package/src/login/pages/LoginIdpLinkEmail.tsx +2 -2
  500. package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +3 -3
  501. package/src/login/pages/LoginOauthGrant.tsx +3 -3
  502. package/src/login/pages/LoginOtp.tsx +2 -2
  503. package/src/login/pages/LoginPageExpired.tsx +1 -1
  504. package/src/login/pages/LoginPassword.tsx +2 -2
  505. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +12 -13
  506. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +2 -2
  507. package/src/login/pages/LoginResetOtp.tsx +2 -2
  508. package/src/login/pages/LoginResetPassword.tsx +4 -4
  509. package/src/login/pages/LoginUpdatePassword.tsx +2 -2
  510. package/src/login/pages/LoginUpdateProfile.tsx +4 -4
  511. package/src/login/pages/LoginUsername.tsx +4 -4
  512. package/src/login/pages/LoginVerifyEmail.tsx +1 -1
  513. package/src/login/pages/LoginX509Info.tsx +2 -2
  514. package/src/login/pages/LogoutConfirm.tsx +2 -2
  515. package/src/login/pages/PageProps.ts +1 -1
  516. package/src/login/pages/Register.tsx +4 -4
  517. package/src/login/pages/SamlPostForm.tsx +1 -1
  518. package/src/login/pages/SelectAuthenticator.tsx +3 -3
  519. package/src/login/pages/Terms.tsx +2 -2
  520. package/src/login/pages/UpdateEmail.tsx +2 -2
  521. package/src/login/pages/WebauthnAuthenticate.tsx +18 -17
  522. package/src/login/pages/WebauthnError.tsx +2 -2
  523. package/src/login/pages/WebauthnRegister.tsx +12 -13
  524. package/src/tools/Array.prototype.every.ts +4 -1
  525. package/src/tools/ExtractAfterStartingWith.ts +4 -0
  526. package/src/tools/LazyOrNot.ts +3 -1
  527. package/src/tools/Object.fromEntries.ts +23 -0
  528. package/src/tools/StatefulObservable/README.md +16 -0
  529. package/src/tools/StatefulObservable/StatefulObservable.ts +58 -0
  530. package/src/tools/StatefulObservable/hooks/index.ts +2 -0
  531. package/src/tools/StatefulObservable/hooks/useObservable.ts +25 -0
  532. package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +19 -0
  533. package/src/tools/StatefulObservable/index.ts +2 -0
  534. package/src/tools/ValueOf.ts +2 -0
  535. package/src/tools/clsx.ts +7 -1
  536. package/src/tools/deepAssign.ts +57 -19
  537. package/src/tools/formatNumber.ts +4 -1
  538. package/src/tools/structuredCloneButFunctions.ts +24 -0
  539. package/src/tools/useConstCallback.ts +3 -1
  540. package/src/tools/useInsertLinkTags.ts +78 -74
  541. package/src/tools/useInsertScriptTags.ts +69 -73
  542. package/src/tools/useOnFirstMount.ts +18 -0
  543. package/src/tools/useSetClassName.ts +4 -1
  544. package/src/vite-plugin/tsconfig.json +2 -1
  545. package/src/vite-plugin/vite-plugin.ts +64 -52
  546. package/tools/Array.prototype.every.js +2 -1
  547. package/tools/Array.prototype.every.js.map +1 -1
  548. package/tools/ExtractAfterStartingWith.d.ts +1 -0
  549. package/tools/ExtractAfterStartingWith.js +2 -0
  550. package/tools/ExtractAfterStartingWith.js.map +1 -0
  551. package/tools/Object.fromEntries.d.ts +1 -0
  552. package/tools/Object.fromEntries.js +17 -0
  553. package/tools/Object.fromEntries.js.map +1 -0
  554. package/tools/StatefulObservable/StatefulObservable.d.ts +8 -0
  555. package/tools/StatefulObservable/StatefulObservable.js +36 -0
  556. package/tools/StatefulObservable/StatefulObservable.js.map +1 -0
  557. package/tools/StatefulObservable/hooks/index.d.ts +2 -0
  558. package/tools/StatefulObservable/hooks/index.js +3 -0
  559. package/tools/StatefulObservable/hooks/index.js.map +1 -0
  560. package/tools/StatefulObservable/hooks/useObservable.d.ts +8 -0
  561. package/tools/StatefulObservable/hooks/useObservable.js +17 -0
  562. package/tools/StatefulObservable/hooks/useObservable.js.map +1 -0
  563. package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +5 -0
  564. package/tools/StatefulObservable/hooks/useRerenderOnChange.js +14 -0
  565. package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -0
  566. package/tools/StatefulObservable/index.d.ts +2 -0
  567. package/tools/StatefulObservable/index.js +3 -0
  568. package/tools/StatefulObservable/index.js.map +1 -0
  569. package/tools/ValueOf.d.ts +2 -0
  570. package/tools/ValueOf.js +2 -0
  571. package/tools/ValueOf.js.map +1 -0
  572. package/tools/clsx.js.map +1 -1
  573. package/tools/deepAssign.d.ts +1 -0
  574. package/tools/deepAssign.js +41 -16
  575. package/tools/deepAssign.js.map +1 -1
  576. package/tools/formatNumber.js.map +1 -1
  577. package/tools/structuredCloneButFunctions.d.ts +7 -0
  578. package/tools/structuredCloneButFunctions.js +19 -0
  579. package/tools/structuredCloneButFunctions.js.map +1 -0
  580. package/tools/useConstCallback.js.map +1 -1
  581. package/tools/useInsertLinkTags.d.ts +11 -6
  582. package/tools/useInsertLinkTags.js +53 -52
  583. package/tools/useInsertLinkTags.js.map +1 -1
  584. package/tools/useInsertScriptTags.d.ts +15 -6
  585. package/tools/useInsertScriptTags.js +56 -61
  586. package/tools/useInsertScriptTags.js.map +1 -1
  587. package/tools/useOnFirstMount.d.ts +2 -0
  588. package/tools/useOnFirstMount.js +15 -0
  589. package/tools/useOnFirstMount.js.map +1 -0
  590. package/tools/useSetClassName.js.map +1 -1
  591. package/vite-plugin/index.js +52378 -3
  592. package/vite-plugin/vite-plugin.d.ts +1 -2
  593. package/account/kcContext/KcContext.js.map +0 -1
  594. package/account/kcContext/createGetKcContext.d.ts +0 -19
  595. package/account/kcContext/createGetKcContext.js +0 -73
  596. package/account/kcContext/createGetKcContext.js.map +0 -1
  597. package/account/kcContext/getKcContext.d.ts +0 -13
  598. package/account/kcContext/getKcContext.js +0 -13
  599. package/account/kcContext/getKcContext.js.map +0 -1
  600. package/account/kcContext/getKcContextFromWindow.d.ts +0 -8
  601. package/account/kcContext/getKcContextFromWindow.js +0 -5
  602. package/account/kcContext/getKcContextFromWindow.js.map +0 -1
  603. package/account/kcContext/index.d.ts +0 -1
  604. package/account/kcContext/index.js +0 -2
  605. package/account/kcContext/index.js.map +0 -1
  606. package/account/kcContext/kcContextMocks.js +0 -207
  607. package/account/kcContext/kcContextMocks.js.map +0 -1
  608. package/bin/constants.d.ts +0 -10
  609. package/bin/constants.js +0 -13
  610. package/bin/constants.js.map +0 -1
  611. package/bin/copy-keycloak-resources-to-public.d.ts +0 -14
  612. package/bin/copy-keycloak-resources-to-public.js +0 -216
  613. package/bin/copy-keycloak-resources-to-public.js.map +0 -1
  614. package/bin/download-builtin-keycloak-theme.d.ts +0 -10
  615. package/bin/download-builtin-keycloak-theme.js +0 -352
  616. package/bin/download-builtin-keycloak-theme.js.map +0 -1
  617. package/bin/downloadAndUnzip.d.ts +0 -16
  618. package/bin/downloadAndUnzip.js +0 -255
  619. package/bin/downloadAndUnzip.js.map +0 -1
  620. package/bin/eject-keycloak-page.d.ts +0 -2
  621. package/bin/eject-keycloak-page.js +0 -132
  622. package/bin/eject-keycloak-page.js.map +0 -1
  623. package/bin/getThemeSrcDirPath.d.ts +0 -6
  624. package/bin/getThemeSrcDirPath.js +0 -123
  625. package/bin/getThemeSrcDirPath.js.map +0 -1
  626. package/bin/initialize-email-theme.d.ts +0 -2
  627. package/bin/initialize-email-theme.js +0 -121
  628. package/bin/initialize-email-theme.js.map +0 -1
  629. package/bin/keycloakify/buildJars/buildJar.d.ts +0 -14
  630. package/bin/keycloakify/buildJars/buildJar.js +0 -224
  631. package/bin/keycloakify/buildJars/buildJar.js.map +0 -1
  632. package/bin/keycloakify/buildJars/buildJars.d.ts +0 -10
  633. package/bin/keycloakify/buildJars/buildJars.js +0 -95
  634. package/bin/keycloakify/buildJars/buildJars.js.map +0 -1
  635. package/bin/keycloakify/buildJars/extensionVersions.d.ts +0 -12
  636. package/bin/keycloakify/buildJars/extensionVersions.js +0 -7
  637. package/bin/keycloakify/buildJars/extensionVersions.js.map +0 -1
  638. package/bin/keycloakify/buildJars/generatePom.d.ts +0 -13
  639. package/bin/keycloakify/buildJars/generatePom.js +0 -95
  640. package/bin/keycloakify/buildJars/generatePom.js.map +0 -1
  641. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.d.ts +0 -6
  642. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js +0 -35
  643. package/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js.map +0 -1
  644. package/bin/keycloakify/buildJars/index.d.ts +0 -1
  645. package/bin/keycloakify/buildJars/index.js +0 -18
  646. package/bin/keycloakify/buildJars/index.js.map +0 -1
  647. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.d.ts +0 -35
  648. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js +0 -14
  649. package/bin/keycloakify/buildOptions/UserProvidedBuildOptions.js.map +0 -1
  650. package/bin/keycloakify/buildOptions/buildOptions.d.ts +0 -25
  651. package/bin/keycloakify/buildOptions/buildOptions.js +0 -178
  652. package/bin/keycloakify/buildOptions/buildOptions.js.map +0 -1
  653. package/bin/keycloakify/buildOptions/getCacheDirPath.d.ts +0 -5
  654. package/bin/keycloakify/buildOptions/getCacheDirPath.js +0 -22
  655. package/bin/keycloakify/buildOptions/getCacheDirPath.js.map +0 -1
  656. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.d.ts +0 -5
  657. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js +0 -86
  658. package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map +0 -1
  659. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.d.ts +0 -5
  660. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js +0 -26
  661. package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js.map +0 -1
  662. package/bin/keycloakify/buildOptions/index.d.ts +0 -1
  663. package/bin/keycloakify/buildOptions/index.js +0 -18
  664. package/bin/keycloakify/buildOptions/index.js.map +0 -1
  665. package/bin/keycloakify/buildOptions/parsedPackageJson.d.ts +0 -10
  666. package/bin/keycloakify/buildOptions/parsedPackageJson.js +0 -49
  667. package/bin/keycloakify/buildOptions/parsedPackageJson.js.map +0 -1
  668. package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +0 -13
  669. package/bin/keycloakify/buildOptions/resolvedViteConfig.js +0 -77
  670. package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +0 -1
  671. package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +0 -521
  672. package/bin/keycloakify/generateFtl/generateFtl.d.ts +0 -23
  673. package/bin/keycloakify/generateFtl/generateFtl.js +0 -169
  674. package/bin/keycloakify/generateFtl/generateFtl.js.map +0 -1
  675. package/bin/keycloakify/generateFtl/index.d.ts +0 -2
  676. package/bin/keycloakify/generateFtl/index.js +0 -19
  677. package/bin/keycloakify/generateFtl/index.js.map +0 -1
  678. package/bin/keycloakify/generateFtl/pageId.js +0 -41
  679. package/bin/keycloakify/generateFtl/pageId.js.map +0 -1
  680. package/bin/keycloakify/generateStartKeycloakTestingContainer.d.ts +0 -13
  681. package/bin/keycloakify/generateStartKeycloakTestingContainer.js +0 -86
  682. package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +0 -1
  683. package/bin/keycloakify/generateTheme/bringInAccountV1.d.ts +0 -9
  684. package/bin/keycloakify/generateTheme/bringInAccountV1.js +0 -153
  685. package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +0 -1
  686. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -11
  687. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +0 -102
  688. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +0 -1
  689. package/bin/keycloakify/generateTheme/generateMessageProperties.d.ts +0 -8
  690. package/bin/keycloakify/generateTheme/generateMessageProperties.js +0 -271
  691. package/bin/keycloakify/generateTheme/generateMessageProperties.js.map +0 -1
  692. package/bin/keycloakify/generateTheme/generateSrcMainResources.d.ts +0 -21
  693. package/bin/keycloakify/generateTheme/generateSrcMainResources.js +0 -340
  694. package/bin/keycloakify/generateTheme/generateSrcMainResources.js.map +0 -1
  695. package/bin/keycloakify/generateTheme/generateTheme.d.ts +0 -13
  696. package/bin/keycloakify/generateTheme/generateTheme.js +0 -115
  697. package/bin/keycloakify/generateTheme/generateTheme.js.map +0 -1
  698. package/bin/keycloakify/generateTheme/generateThemeVariants.d.ts +0 -5
  699. package/bin/keycloakify/generateTheme/generateThemeVariants.js +0 -67
  700. package/bin/keycloakify/generateTheme/generateThemeVariants.js.map +0 -1
  701. package/bin/keycloakify/generateTheme/index.d.ts +0 -1
  702. package/bin/keycloakify/generateTheme/index.js +0 -18
  703. package/bin/keycloakify/generateTheme/index.js.map +0 -1
  704. package/bin/keycloakify/generateTheme/readExtraPageNames.d.ts +0 -5
  705. package/bin/keycloakify/generateTheme/readExtraPageNames.js +0 -105
  706. package/bin/keycloakify/generateTheme/readExtraPageNames.js.map +0 -1
  707. package/bin/keycloakify/generateTheme/readFieldNameUsage.d.ts +0 -7
  708. package/bin/keycloakify/generateTheme/readFieldNameUsage.js +0 -141
  709. package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +0 -1
  710. package/bin/keycloakify/index.d.ts +0 -2
  711. package/bin/keycloakify/index.js +0 -23
  712. package/bin/keycloakify/index.js.map +0 -1
  713. package/bin/keycloakify/keycloakify.d.ts +0 -1
  714. package/bin/keycloakify/keycloakify.js +0 -167
  715. package/bin/keycloakify/keycloakify.js.map +0 -1
  716. package/bin/keycloakify/replacers/replaceImportsInCssCode.d.ts +0 -15
  717. package/bin/keycloakify/replacers/replaceImportsInCssCode.js +0 -88
  718. package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +0 -1
  719. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts +0 -9
  720. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +0 -38
  721. package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +0 -1
  722. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.d.ts +0 -1
  723. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js +0 -18
  724. package/bin/keycloakify/replacers/replaceImportsInJsCode/index.js.map +0 -1
  725. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.d.ts +0 -12
  726. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js +0 -70
  727. package/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js.map +0 -1
  728. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.d.ts +0 -13
  729. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js +0 -95
  730. package/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js.map +0 -1
  731. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.d.ts +0 -12
  732. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js +0 -103
  733. package/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js.map +0 -1
  734. package/bin/promptKeycloakVersion.d.ts +0 -3
  735. package/bin/promptKeycloakVersion.js +0 -121
  736. package/bin/promptKeycloakVersion.js.map +0 -1
  737. package/bin/tools/OptionalIfCanBeUndefined.d.ts +0 -14
  738. package/bin/tools/OptionalIfCanBeUndefined.js +0 -3
  739. package/bin/tools/OptionalIfCanBeUndefined.js.map +0 -1
  740. package/bin/tools/SemVer.d.ts +0 -26
  741. package/bin/tools/SemVer.js +0 -119
  742. package/bin/tools/SemVer.js.map +0 -1
  743. package/bin/tools/String.prototype.replaceAll.d.ts +0 -1
  744. package/bin/tools/String.prototype.replaceAll.js +0 -29
  745. package/bin/tools/String.prototype.replaceAll.js.map +0 -1
  746. package/bin/tools/crawl.d.ts +0 -5
  747. package/bin/tools/crawl.js +0 -74
  748. package/bin/tools/crawl.js.map +0 -1
  749. package/bin/tools/crc32.d.ts +0 -9
  750. package/bin/tools/crc32.js +0 -64
  751. package/bin/tools/crc32.js.map +0 -1
  752. package/bin/tools/deflate.d.ts +0 -24
  753. package/bin/tools/deflate.js +0 -155
  754. package/bin/tools/deflate.js.map +0 -1
  755. package/bin/tools/fetchProxyOptions.d.ts +0 -5
  756. package/bin/tools/fetchProxyOptions.js +0 -172
  757. package/bin/tools/fetchProxyOptions.js.map +0 -1
  758. package/bin/tools/fs.existsAsync.d.ts +0 -1
  759. package/bin/tools/fs.existsAsync.js +0 -86
  760. package/bin/tools/fs.existsAsync.js.map +0 -1
  761. package/bin/tools/fs.rm.d.ts +0 -8
  762. package/bin/tools/fs.rm.js +0 -151
  763. package/bin/tools/fs.rm.js.map +0 -1
  764. package/bin/tools/fs.rmSync.d.ts +0 -8
  765. package/bin/tools/fs.rmSync.js +0 -58
  766. package/bin/tools/fs.rmSync.js.map +0 -1
  767. package/bin/tools/getAbsoluteAndInOsFormatPath.d.ts +0 -4
  768. package/bin/tools/getAbsoluteAndInOsFormatPath.js +0 -16
  769. package/bin/tools/getAbsoluteAndInOsFormatPath.js.map +0 -1
  770. package/bin/tools/getThisCodebaseRootDirPath.d.ts +0 -1
  771. package/bin/tools/getThisCodebaseRootDirPath.js +0 -43
  772. package/bin/tools/getThisCodebaseRootDirPath.js.map +0 -1
  773. package/bin/tools/isInside.d.ts +0 -4
  774. package/bin/tools/isInside.js +0 -10
  775. package/bin/tools/isInside.js.map +0 -1
  776. package/bin/tools/kebabCaseToSnakeCase.d.ts +0 -1
  777. package/bin/tools/kebabCaseToSnakeCase.js +0 -35
  778. package/bin/tools/kebabCaseToSnakeCase.js.map +0 -1
  779. package/bin/tools/logger.d.ts +0 -12
  780. package/bin/tools/logger.js +0 -23
  781. package/bin/tools/logger.js.map +0 -1
  782. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.d.ts +0 -14
  783. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js +0 -119
  784. package/bin/tools/octokit-addons/getLatestsSemVersionedTag.js.map +0 -1
  785. package/bin/tools/octokit-addons/listTags.d.ts +0 -13
  786. package/bin/tools/octokit-addons/listTags.js +0 -154
  787. package/bin/tools/octokit-addons/listTags.js.map +0 -1
  788. package/bin/tools/partitionPromiseSettledResults.d.ts +0 -2
  789. package/bin/tools/partitionPromiseSettledResults.js +0 -41
  790. package/bin/tools/partitionPromiseSettledResults.js.map +0 -1
  791. package/bin/tools/readThisNpmProjectVersion.d.ts +0 -1
  792. package/bin/tools/readThisNpmProjectVersion.js +0 -37
  793. package/bin/tools/readThisNpmProjectVersion.js.map +0 -1
  794. package/bin/tools/tee.d.ts +0 -3
  795. package/bin/tools/tee.js +0 -37
  796. package/bin/tools/tee.js.map +0 -1
  797. package/bin/tools/transformCodebase.d.ts +0 -20
  798. package/bin/tools/transformCodebase.js +0 -97
  799. package/bin/tools/transformCodebase.js.map +0 -1
  800. package/bin/tools/trimIndent.d.ts +0 -5
  801. package/bin/tools/trimIndent.js +0 -82
  802. package/bin/tools/trimIndent.js.map +0 -1
  803. package/bin/tools/unzip.d.ts +0 -2
  804. package/bin/tools/unzip.js +0 -274
  805. package/bin/tools/unzip.js.map +0 -1
  806. package/index.d.ts +0 -1
  807. package/index.js +0 -2
  808. package/index.js.map +0 -1
  809. package/lib/keycloakJsAdapter.d.ts +0 -51
  810. package/lib/keycloakJsAdapter.js +0 -74
  811. package/lib/keycloakJsAdapter.js.map +0 -1
  812. package/login/kcContext/KcContext.js.map +0 -1
  813. package/login/kcContext/createGetKcContext.d.ts +0 -19
  814. package/login/kcContext/createGetKcContext.js +0 -109
  815. package/login/kcContext/createGetKcContext.js.map +0 -1
  816. package/login/kcContext/getKcContext.d.ts +0 -13
  817. package/login/kcContext/getKcContext.js +0 -13
  818. package/login/kcContext/getKcContext.js.map +0 -1
  819. package/login/kcContext/getKcContextFromWindow.d.ts +0 -8
  820. package/login/kcContext/getKcContextFromWindow.js +0 -5
  821. package/login/kcContext/getKcContextFromWindow.js.map +0 -1
  822. package/login/kcContext/index.d.ts +0 -1
  823. package/login/kcContext/index.js +0 -2
  824. package/login/kcContext/index.js.map +0 -1
  825. package/login/kcContext/kcContextMocks.js +0 -390
  826. package/login/kcContext/kcContextMocks.js.map +0 -1
  827. package/src/account/kcContext/createGetKcContext.ts +0 -108
  828. package/src/account/kcContext/getKcContext.ts +0 -21
  829. package/src/account/kcContext/getKcContextFromWindow.ts +0 -11
  830. package/src/account/kcContext/index.ts +0 -1
  831. package/src/account/kcContext/kcContextMocks.ts +0 -254
  832. package/src/bin/constants.ts +0 -13
  833. package/src/bin/download-builtin-keycloak-theme.ts +0 -290
  834. package/src/bin/downloadAndUnzip.ts +0 -203
  835. package/src/bin/eject-keycloak-page.ts +0 -64
  836. package/src/bin/keycloakify/buildOptions/UserProvidedBuildOptions.ts +0 -21
  837. package/src/bin/keycloakify/buildOptions/buildOptions.ts +0 -189
  838. package/src/bin/keycloakify/buildOptions/getCacheDirPath.ts +0 -25
  839. package/src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts +0 -49
  840. package/src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts +0 -23
  841. package/src/bin/keycloakify/buildOptions/index.ts +0 -1
  842. package/src/bin/keycloakify/buildOptions/parsedPackageJson.ts +0 -32
  843. package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +0 -74
  844. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +0 -49
  845. package/src/bin/keycloakify/generateTheme/generateTheme.ts +0 -44
  846. package/src/bin/keycloakify/generateTheme/generateThemeVariants.ts +0 -50
  847. package/src/bin/keycloakify/generateTheme/index.ts +0 -1
  848. package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +0 -55
  849. package/src/bin/promptKeycloakVersion.ts +0 -49
  850. package/src/bin/tools/logger.ts +0 -27
  851. package/src/bin/tools/unzip.ts +0 -141
  852. package/src/index.ts +0 -1
  853. package/src/lib/keycloakJsAdapter.ts +0 -118
  854. package/src/login/kcContext/createGetKcContext.ts +0 -159
  855. package/src/login/kcContext/getKcContext.ts +0 -21
  856. package/src/login/kcContext/getKcContextFromWindow.ts +0 -11
  857. package/src/login/kcContext/index.ts +0 -1
  858. package/src/login/kcContext/kcContextMocks.ts +0 -631
  859. package/src/tools/AndByDiscriminatingKey.ts +0 -25
  860. package/src/tools/deepClone.ts +0 -17
  861. package/src/tools/memoize.ts +0 -55
  862. package/tools/AndByDiscriminatingKey.d.ts +0 -5
  863. package/tools/AndByDiscriminatingKey.js +0 -2
  864. package/tools/AndByDiscriminatingKey.js.map +0 -1
  865. package/tools/deepClone.d.ts +0 -2
  866. package/tools/deepClone.js +0 -14
  867. package/tools/deepClone.js.map +0 -1
  868. package/tools/memoize.d.ts +0 -7
  869. package/tools/memoize.js +0 -38
  870. package/tools/memoize.js.map +0 -1
  871. package/vite-plugin/index.js.map +0 -1
  872. package/vite-plugin/tsconfig.tsbuildinfo +0 -1
  873. package/vite-plugin/vite-plugin.js +0 -158
  874. package/vite-plugin/vite-plugin.js.map +0 -1
  875. /package/account/{kcContext → KcContext}/KcContext.js +0 -0
@@ -12,22 +12,23 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import "../../tools/Array.prototype.every";
14
14
  import { useMemo, useReducer, useEffect, Fragment } from "react";
15
+ import { assert } from "tsafe/assert";
15
16
  import { id } from "tsafe/id";
17
+ import { structuredCloneButFunctions } from "../../tools/structuredCloneButFunctions";
16
18
  import { useConstCallback } from "../../tools/useConstCallback";
17
19
  import { emailRegexp } from "../../tools/emailRegExp";
18
- import { assert } from "tsafe/assert";
19
20
  import { formatNumber } from "../../tools/formatNumber";
20
- import { createUseInsertScriptTags } from "../../tools/useInsertScriptTags";
21
- const { useInsertScriptTags } = createUseInsertScriptTags();
21
+ import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
22
22
  export function useUserProfileForm(params) {
23
23
  var _a, _b;
24
24
  const { kcContext, i18n, doMakeUserConfirmPassword } = params;
25
25
  const { insertScriptTags } = useInsertScriptTags({
26
- "scriptTags": Object.keys((_b = (_a = kcContext.profile) === null || _a === void 0 ? void 0 : _a.html5DataAnnotations) !== null && _b !== void 0 ? _b : {})
26
+ componentOrHookName: "useUserProfileForm",
27
+ scriptTags: Object.keys((_b = (_a = kcContext.profile) === null || _a === void 0 ? void 0 : _a.html5DataAnnotations) !== null && _b !== void 0 ? _b : {})
27
28
  .filter(key => key !== "kcMultivalued" && key !== "kcNumberFormat") // NOTE: Keycloakify handles it.
28
29
  .map(key => ({
29
- "type": "module",
30
- "src": `${kcContext.url.resourcesPath}/js/${key}.js`
30
+ type: "module",
31
+ src: `${kcContext.url.resourcesPath}/js/${key}.js`
31
32
  }))
32
33
  });
33
34
  useEffect(() => {
@@ -48,7 +49,9 @@ export function useUserProfileForm(params) {
48
49
  const attributes = (() => {
49
50
  var _a;
50
51
  retrocompat_patch: {
51
- if ("profile" in kcContext && "attributes" in kcContext.profile && kcContext.profile.attributes.length !== 0) {
52
+ if ("profile" in kcContext &&
53
+ "attributesByName" in kcContext.profile &&
54
+ Object.keys(kcContext.profile.attributesByName).length !== 0) {
52
55
  break retrocompat_patch;
53
56
  }
54
57
  if ("register" in kcContext && kcContext.register instanceof Object && "formData" in kcContext.register) {
@@ -58,15 +61,15 @@ export function useUserProfileForm(params) {
58
61
  .map(name => {
59
62
  var _a;
60
63
  return id({
61
- "name": name,
62
- "displayName": id(`\${${name}}`),
63
- "required": true,
64
- "value": (_a = kcContext.register.formData[name]) !== null && _a !== void 0 ? _a : "",
65
- "html5DataAnnotations": {},
66
- "readOnly": false,
67
- "validators": {},
68
- "annotations": {},
69
- "autocomplete": (() => {
64
+ name: name,
65
+ displayName: id(`\${${name}}`),
66
+ required: true,
67
+ value: (_a = kcContext.register.formData[name]) !== null && _a !== void 0 ? _a : "",
68
+ html5DataAnnotations: {},
69
+ readOnly: false,
70
+ validators: {},
71
+ annotations: {},
72
+ autocomplete: (() => {
70
73
  switch (name) {
71
74
  case "email":
72
75
  return "email";
@@ -86,15 +89,15 @@ export function useUserProfileForm(params) {
86
89
  .map(name => {
87
90
  var _a;
88
91
  return id({
89
- "name": name,
90
- "displayName": id(`\${${name}}`),
91
- "required": true,
92
- "value": (_a = kcContext.user[name]) !== null && _a !== void 0 ? _a : "",
93
- "html5DataAnnotations": {},
94
- "readOnly": false,
95
- "validators": {},
96
- "annotations": {},
97
- "autocomplete": (() => {
92
+ name: name,
93
+ displayName: id(`\${${name}}`),
94
+ required: true,
95
+ value: (_a = kcContext.user[name]) !== null && _a !== void 0 ? _a : "",
96
+ html5DataAnnotations: {},
97
+ readOnly: false,
98
+ validators: {},
99
+ annotations: {},
100
+ autocomplete: (() => {
98
101
  switch (name) {
99
102
  case "email":
100
103
  return "email";
@@ -111,35 +114,35 @@ export function useUserProfileForm(params) {
111
114
  //NOTE: Handle legacy update-email.ftl
112
115
  return [
113
116
  id({
114
- "name": "email",
115
- "displayName": id(`\${email}`),
116
- "required": true,
117
- "value": (_a = kcContext.email.value) !== null && _a !== void 0 ? _a : "",
118
- "html5DataAnnotations": {},
119
- "readOnly": false,
120
- "validators": {},
121
- "annotations": {},
122
- "autocomplete": "email"
117
+ name: "email",
118
+ displayName: id(`\${email}`),
119
+ required: true,
120
+ value: (_a = kcContext.email.value) !== null && _a !== void 0 ? _a : "",
121
+ html5DataAnnotations: {},
122
+ readOnly: false,
123
+ validators: {},
124
+ annotations: {},
125
+ autocomplete: "email"
123
126
  })
124
127
  ];
125
128
  }
126
129
  assert(false, "Unable to mock user profile from the current kcContext");
127
130
  }
128
- return kcContext.profile.attributes.map(attribute_pre_group_patch => {
131
+ return Object.values(kcContext.profile.attributesByName).map(attribute_pre_group_patch => {
129
132
  if (typeof attribute_pre_group_patch.group === "string" && attribute_pre_group_patch.group !== "") {
130
133
  const _a = attribute_pre_group_patch, { group, groupDisplayHeader, groupDisplayDescription, groupAnnotations } = _a, rest = __rest(_a, ["group", "groupDisplayHeader", "groupDisplayDescription", "groupAnnotations"]);
131
- return id(Object.assign(Object.assign({}, rest), { "group": {
132
- "name": group,
133
- "displayHeader": groupDisplayHeader,
134
- "displayDescription": groupDisplayDescription,
135
- "html5DataAnnotations": {}
134
+ return id(Object.assign(Object.assign({}, rest), { group: {
135
+ name: group,
136
+ displayHeader: groupDisplayHeader,
137
+ displayDescription: groupDisplayDescription,
138
+ html5DataAnnotations: {}
136
139
  } }));
137
140
  }
138
141
  return attribute_pre_group_patch;
139
142
  });
140
143
  })();
141
144
  for (const attribute of attributes) {
142
- syntheticAttributes.push(attribute);
145
+ syntheticAttributes.push(structuredCloneButFunctions(attribute));
143
146
  add_password_and_password_confirm: {
144
147
  if (!kcContext.passwordRequired) {
145
148
  break add_password_and_password_confirm;
@@ -149,22 +152,37 @@ export function useUserProfileForm(params) {
149
152
  // It's either email or username.
150
153
  break add_password_and_password_confirm;
151
154
  }
152
- syntheticAttributes.push(Object.assign({ "name": "password", "displayName": id("${password}"), "required": true, "readOnly": false, "validators": {}, "annotations": {}, "autocomplete": "new-password", "html5DataAnnotations": {} }, { "groupAnnotations": {} }), Object.assign({ "name": "password-confirm", "displayName": id("${passwordConfirm}"), "required": true, "readOnly": false, "validators": {}, "annotations": {}, "html5DataAnnotations": {}, "autocomplete": "new-password" }, { "groupAnnotations": {} }));
155
+ syntheticAttributes.push(Object.assign({ name: "password", displayName: id("${password}"), required: true, readOnly: false, validators: {}, annotations: {}, autocomplete: "new-password", html5DataAnnotations: {} }, { groupAnnotations: {} }), Object.assign({ name: "password-confirm", displayName: id("${passwordConfirm}"), required: true, readOnly: false, validators: {}, annotations: {}, html5DataAnnotations: {}, autocomplete: "new-password" }, { groupAnnotations: {} }));
153
156
  }
154
157
  }
158
+ // NOTE: Consistency patch
159
+ syntheticAttributes.forEach(attribute => {
160
+ var _a, _b, _c;
161
+ if (getIsMultivaluedSingleField({ attribute })) {
162
+ attribute.multivalued = true;
163
+ }
164
+ if (attribute.multivalued) {
165
+ (_a = attribute.values) !== null && _a !== void 0 ? _a : (attribute.values = attribute.value !== undefined ? [attribute.value] : []);
166
+ delete attribute.value;
167
+ }
168
+ else {
169
+ (_b = attribute.value) !== null && _b !== void 0 ? _b : (attribute.value = (_c = attribute.values) === null || _c === void 0 ? void 0 : _c[0]);
170
+ delete attribute.values;
171
+ }
172
+ });
155
173
  return syntheticAttributes;
156
174
  })();
157
175
  const initialFormFieldState = (() => {
158
- var _a, _b, _c;
176
+ var _a, _b;
159
177
  const out = [];
160
178
  for (const attribute of syntheticAttributes) {
161
179
  handle_multi_valued_attribute: {
162
180
  if (!attribute.multivalued) {
163
181
  break handle_multi_valued_attribute;
164
182
  }
165
- const values = (_a = attribute.values) !== null && _a !== void 0 ? _a : [""];
183
+ const values = ((_a = attribute.values) === null || _a === void 0 ? void 0 : _a.length) ? attribute.values : [""];
166
184
  apply_validator_min_range: {
167
- if ((_b = attribute.annotations.inputType) === null || _b === void 0 ? void 0 : _b.startsWith("multiselect")) {
185
+ if (getIsMultivaluedSingleField({ attribute })) {
168
186
  break apply_validator_min_range;
169
187
  }
170
188
  const validator = attribute.validators.multivalued;
@@ -172,7 +190,7 @@ export function useUserProfileForm(params) {
172
190
  break apply_validator_min_range;
173
191
  }
174
192
  const { min: minStr } = validator;
175
- if (minStr === undefined) {
193
+ if (!minStr) {
176
194
  break apply_validator_min_range;
177
195
  }
178
196
  const min = parseInt(`${minStr}`);
@@ -182,42 +200,42 @@ export function useUserProfileForm(params) {
182
200
  }
183
201
  out.push({
184
202
  attribute,
185
- "valueOrValues": values
203
+ valueOrValues: values
186
204
  });
187
205
  continue;
188
206
  }
189
207
  out.push({
190
208
  attribute,
191
- "valueOrValues": (_c = attribute.value) !== null && _c !== void 0 ? _c : ""
209
+ valueOrValues: (_b = attribute.value) !== null && _b !== void 0 ? _b : ""
192
210
  });
193
211
  }
194
212
  return out;
195
213
  })();
196
214
  const initialState = {
197
- "formFieldStates": initialFormFieldState.map(({ attribute, valueOrValues }) => ({
215
+ formFieldStates: initialFormFieldState.map(({ attribute, valueOrValues }) => ({
198
216
  attribute,
199
- "errors": getErrors({
200
- "attributeName": attribute.name,
201
- "formFieldStates": initialFormFieldState
217
+ errors: getErrors({
218
+ attributeName: attribute.name,
219
+ formFieldStates: initialFormFieldState
202
220
  }),
203
- "hasLostFocusAtLeastOnce": valueOrValues instanceof Array ? valueOrValues.map(() => false) : false,
204
- "valueOrValues": valueOrValues
221
+ hasLostFocusAtLeastOnce: valueOrValues instanceof Array && !getIsMultivaluedSingleField({ attribute }) ? valueOrValues.map(() => false) : false,
222
+ valueOrValues: valueOrValues
205
223
  }))
206
224
  };
207
225
  return initialState;
208
226
  }, []);
209
- const [state, dispatchFormAction] = useReducer(function reducer(state, params) {
210
- const formFieldState = state.formFieldStates.find(({ attribute }) => attribute.name === params.name);
227
+ const [state, dispatchFormAction] = useReducer(function reducer(state, formAction) {
228
+ const formFieldState = state.formFieldStates.find(({ attribute }) => attribute.name === formAction.name);
211
229
  assert(formFieldState !== undefined);
212
230
  (() => {
213
231
  var _a;
214
- switch (params.action) {
232
+ switch (formAction.action) {
215
233
  case "update":
216
- formFieldState.valueOrValues = params.valueOrValues;
234
+ formFieldState.valueOrValues = formAction.valueOrValues;
217
235
  apply_formatters: {
218
236
  const { attribute } = formFieldState;
219
237
  const { kcNumberFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
220
- if (kcNumberFormat === undefined) {
238
+ if (!kcNumberFormat) {
221
239
  break apply_formatters;
222
240
  }
223
241
  if (formFieldState.valueOrValues instanceof Array) {
@@ -228,26 +246,26 @@ export function useUserProfileForm(params) {
228
246
  }
229
247
  }
230
248
  formFieldState.errors = getErrors({
231
- "attributeName": params.name,
232
- "formFieldStates": state.formFieldStates
249
+ attributeName: formAction.name,
250
+ formFieldStates: state.formFieldStates
233
251
  });
234
252
  update_password_confirm: {
235
253
  if (doMakeUserConfirmPassword) {
236
254
  break update_password_confirm;
237
255
  }
238
- if (params.name !== "password") {
256
+ if (formAction.name !== "password") {
239
257
  break update_password_confirm;
240
258
  }
241
259
  state = reducer(state, {
242
- "action": "update",
243
- "name": "password-confirm",
244
- "valueOrValues": params.valueOrValues
260
+ action: "update",
261
+ name: "password-confirm",
262
+ valueOrValues: formAction.valueOrValues
245
263
  });
246
264
  }
247
265
  return;
248
266
  case "focus lost":
249
267
  if (formFieldState.hasLostFocusAtLeastOnce instanceof Array) {
250
- const { fieldIndex } = params;
268
+ const { fieldIndex } = formAction;
251
269
  assert(fieldIndex !== undefined);
252
270
  formFieldState.hasLostFocusAtLeastOnce[fieldIndex] = true;
253
271
  return;
@@ -257,12 +275,12 @@ export function useUserProfileForm(params) {
257
275
  }
258
276
  assert(false);
259
277
  })();
260
- return state;
278
+ return Object.assign({}, state);
261
279
  }, initialState);
262
280
  const formState = useMemo(() => ({
263
- "formFieldStates": state.formFieldStates.map((_a) => {
281
+ formFieldStates: state.formFieldStates.map((_a) => {
264
282
  var { errors, hasLostFocusAtLeastOnce: hasLostFocusAtLeastOnceOrArr, attribute } = _a, valueOrValuesWrap = __rest(_a, ["errors", "hasLostFocusAtLeastOnce", "attribute"]);
265
- return (Object.assign({ "displayableErrors": errors.filter(error => {
283
+ return (Object.assign({ displayableErrors: errors.filter(error => {
266
284
  const hasLostFocusAtLeastOnce = typeof hasLostFocusAtLeastOnceOrArr === "boolean"
267
285
  ? hasLostFocusAtLeastOnceOrArr
268
286
  : error.fieldIndex !== undefined
@@ -316,7 +334,7 @@ export function useUserProfileForm(params) {
316
334
  }
317
335
  }), attribute }, valueOrValuesWrap));
318
336
  }),
319
- "isFormSubmittable": state.formFieldStates.every(({ errors }) => errors.length === 0)
337
+ isFormSubmittable: state.formFieldStates.every(({ errors }) => errors.length === 0)
320
338
  }), [state]);
321
339
  return {
322
340
  formState,
@@ -328,7 +346,7 @@ function useGetErrors(params) {
328
346
  const { messagesPerField, passwordPolicies } = kcContext;
329
347
  const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
330
348
  const getErrors = useConstCallback((params) => {
331
- var _a, _b, _c, _d;
349
+ var _a, _b;
332
350
  const { attributeName, formFieldStates } = params;
333
351
  const formFieldState = formFieldStates.find(({ attribute }) => attribute.name === attributeName);
334
352
  assert(formFieldState !== undefined);
@@ -338,7 +356,7 @@ function useGetErrors(params) {
338
356
  let { valueOrValues } = formFieldState;
339
357
  unFormat_number: {
340
358
  const { kcNumberUnFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
341
- if (kcNumberUnFormat === undefined) {
359
+ if (!kcNumberUnFormat) {
342
360
  break unFormat_number;
343
361
  }
344
362
  if (valueOrValues instanceof Array) {
@@ -353,7 +371,7 @@ function useGetErrors(params) {
353
371
  assert(attribute !== undefined);
354
372
  server_side_error: {
355
373
  if (attribute.multivalued) {
356
- const defaultValues = (_a = attribute.values) !== null && _a !== void 0 ? _a : [""];
374
+ const defaultValues = ((_a = attribute.values) === null || _a === void 0 ? void 0 : _a.length) ? attribute.values : [""];
357
375
  assert(valueOrValues instanceof Array);
358
376
  const values = valueOrValues;
359
377
  if (JSON.stringify(defaultValues) !== JSON.stringify(values.slice(0, defaultValues.length))) {
@@ -372,7 +390,7 @@ function useGetErrors(params) {
372
390
  try {
373
391
  doesErrorExist = messagesPerField.existsError(attributeName);
374
392
  }
375
- catch (_e) {
393
+ catch (_c) {
376
394
  break server_side_error;
377
395
  }
378
396
  if (!doesErrorExist) {
@@ -382,10 +400,10 @@ function useGetErrors(params) {
382
400
  return [
383
401
  {
384
402
  errorMessageStr,
385
- "errorMessage": _jsx("span", { children: errorMessageStr }, 0),
386
- "fieldIndex": undefined,
387
- "source": {
388
- "type": "server"
403
+ errorMessage: _jsx("span", { children: errorMessageStr }, 0),
404
+ fieldIndex: undefined,
405
+ source: {
406
+ type: "server"
389
407
  }
390
408
  }
391
409
  ];
@@ -394,7 +412,7 @@ function useGetErrors(params) {
394
412
  if (!attribute.multivalued) {
395
413
  break handle_multi_valued_multi_fields;
396
414
  }
397
- if ((_c = attribute.annotations.inputType) === null || _c === void 0 ? void 0 : _c.startsWith("multiselect")) {
415
+ if (getIsMultivaluedSingleField({ attribute })) {
398
416
  break handle_multi_valued_multi_fields;
399
417
  }
400
418
  assert(valueOrValues instanceof Array);
@@ -403,12 +421,12 @@ function useGetErrors(params) {
403
421
  .map((...[, index]) => {
404
422
  const specificValueErrors = getErrors({
405
423
  attributeName,
406
- "formFieldStates": formFieldStates.map(formFieldState => {
424
+ formFieldStates: formFieldStates.map(formFieldState => {
407
425
  if (formFieldState.attribute.name === attributeName) {
408
426
  assert(formFieldState.valueOrValues instanceof Array);
409
427
  return {
410
- "attribute": Object.assign(Object.assign({}, attribute), { "annotations": Object.assign(Object.assign({}, attribute.annotations), { "inputType": undefined }), "multivalued": false }),
411
- "valueOrValues": formFieldState.valueOrValues[index]
428
+ attribute: Object.assign(Object.assign({}, attribute), { annotations: Object.assign(Object.assign({}, attribute.annotations), { inputType: undefined }), multivalued: false }),
429
+ valueOrValues: formFieldState.valueOrValues[index]
412
430
  };
413
431
  }
414
432
  return formFieldState;
@@ -421,7 +439,7 @@ function useGetErrors(params) {
421
439
  }
422
440
  return true;
423
441
  })
424
- .map((error) => (Object.assign(Object.assign({}, error), { "fieldIndex": index })));
442
+ .map((error) => (Object.assign(Object.assign({}, error), { fieldIndex: index })));
425
443
  })
426
444
  .reduce((acc, errors) => [...acc, ...errors], []);
427
445
  required_field: {
@@ -433,12 +451,12 @@ function useGetErrors(params) {
433
451
  }
434
452
  const msgArgs = ["error-user-attribute-required"];
435
453
  errors.push({
436
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
437
- "errorMessageStr": msgStr(...msgArgs),
438
- "fieldIndex": undefined,
439
- "source": {
440
- "type": "other",
441
- "rule": "requiredField"
454
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
455
+ errorMessageStr: msgStr(...msgArgs),
456
+ fieldIndex: undefined,
457
+ source: {
458
+ type: "other",
459
+ rule: "requiredField"
442
460
  }
443
461
  });
444
462
  }
@@ -448,7 +466,7 @@ function useGetErrors(params) {
448
466
  if (!attribute.multivalued) {
449
467
  break handle_multi_valued_single_field;
450
468
  }
451
- if (!((_d = attribute.annotations.inputType) === null || _d === void 0 ? void 0 : _d.startsWith("multiselect"))) {
469
+ if (!getIsMultivaluedSingleField({ attribute })) {
452
470
  break handle_multi_valued_single_field;
453
471
  }
454
472
  const validatorName = "multivalued";
@@ -457,10 +475,10 @@ function useGetErrors(params) {
457
475
  return [];
458
476
  }
459
477
  const { min: minStr } = validator;
460
- const min = minStr !== undefined ? parseInt(`${minStr}`) : attribute.required ? 1 : 0;
478
+ const min = minStr ? parseInt(`${minStr}`) : attribute.required ? 1 : 0;
461
479
  assert(!isNaN(min));
462
480
  const { max: maxStr } = validator;
463
- const max = maxStr === undefined ? Infinity : parseInt(`${maxStr}`);
481
+ const max = !maxStr ? Infinity : parseInt(`${maxStr}`);
464
482
  assert(!isNaN(max));
465
483
  assert(valueOrValues instanceof Array);
466
484
  const values = valueOrValues;
@@ -470,12 +488,12 @@ function useGetErrors(params) {
470
488
  const msgArgs = ["error-invalid-multivalued-size", `${min}`, `${max}`];
471
489
  return [
472
490
  {
473
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, 0),
474
- "errorMessageStr": msgStr(...msgArgs),
475
- "fieldIndex": undefined,
476
- "source": {
477
- "type": "validator",
478
- "name": validatorName
491
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, 0),
492
+ errorMessageStr: msgStr(...msgArgs),
493
+ fieldIndex: undefined,
494
+ source: {
495
+ type: "validator",
496
+ name: validatorName
479
497
  }
480
498
  }
481
499
  ];
@@ -493,7 +511,7 @@ function useGetErrors(params) {
493
511
  check_password_policy_x: {
494
512
  const policyName = "length";
495
513
  const policy = passwordPolicies[policyName];
496
- if (policy === undefined) {
514
+ if (!policy) {
497
515
  break check_password_policy_x;
498
516
  }
499
517
  const minLength = policy;
@@ -502,19 +520,19 @@ function useGetErrors(params) {
502
520
  }
503
521
  const msgArgs = ["invalidPasswordMinLengthMessage", `${minLength}`];
504
522
  errors.push({
505
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
506
- "errorMessageStr": msgStr(...msgArgs),
507
- "fieldIndex": undefined,
508
- "source": {
509
- "type": "passwordPolicy",
510
- "name": policyName
523
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
524
+ errorMessageStr: msgStr(...msgArgs),
525
+ fieldIndex: undefined,
526
+ source: {
527
+ type: "passwordPolicy",
528
+ name: policyName
511
529
  }
512
530
  });
513
531
  }
514
532
  check_password_policy_x: {
515
533
  const policyName = "digits";
516
534
  const policy = passwordPolicies[policyName];
517
- if (policy === undefined) {
535
+ if (!policy) {
518
536
  break check_password_policy_x;
519
537
  }
520
538
  const minNumberOfDigits = policy;
@@ -523,19 +541,19 @@ function useGetErrors(params) {
523
541
  }
524
542
  const msgArgs = ["invalidPasswordMinDigitsMessage", `${minNumberOfDigits}`];
525
543
  errors.push({
526
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
527
- "errorMessageStr": msgStr(...msgArgs),
528
- "fieldIndex": undefined,
529
- "source": {
530
- "type": "passwordPolicy",
531
- "name": policyName
544
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
545
+ errorMessageStr: msgStr(...msgArgs),
546
+ fieldIndex: undefined,
547
+ source: {
548
+ type: "passwordPolicy",
549
+ name: policyName
532
550
  }
533
551
  });
534
552
  }
535
553
  check_password_policy_x: {
536
554
  const policyName = "lowerCase";
537
555
  const policy = passwordPolicies[policyName];
538
- if (policy === undefined) {
556
+ if (!policy) {
539
557
  break check_password_policy_x;
540
558
  }
541
559
  const minNumberOfLowerCaseChar = policy;
@@ -544,19 +562,19 @@ function useGetErrors(params) {
544
562
  }
545
563
  const msgArgs = ["invalidPasswordMinLowerCaseCharsMessage", `${minNumberOfLowerCaseChar}`];
546
564
  errors.push({
547
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
548
- "errorMessageStr": msgStr(...msgArgs),
549
- "fieldIndex": undefined,
550
- "source": {
551
- "type": "passwordPolicy",
552
- "name": policyName
565
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
566
+ errorMessageStr: msgStr(...msgArgs),
567
+ fieldIndex: undefined,
568
+ source: {
569
+ type: "passwordPolicy",
570
+ name: policyName
553
571
  }
554
572
  });
555
573
  }
556
574
  check_password_policy_x: {
557
575
  const policyName = "upperCase";
558
576
  const policy = passwordPolicies[policyName];
559
- if (policy === undefined) {
577
+ if (!policy) {
560
578
  break check_password_policy_x;
561
579
  }
562
580
  const minNumberOfUpperCaseChar = policy;
@@ -565,19 +583,19 @@ function useGetErrors(params) {
565
583
  }
566
584
  const msgArgs = ["invalidPasswordMinUpperCaseCharsMessage", `${minNumberOfUpperCaseChar}`];
567
585
  errors.push({
568
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
569
- "errorMessageStr": msgStr(...msgArgs),
570
- "fieldIndex": undefined,
571
- "source": {
572
- "type": "passwordPolicy",
573
- "name": policyName
586
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
587
+ errorMessageStr: msgStr(...msgArgs),
588
+ fieldIndex: undefined,
589
+ source: {
590
+ type: "passwordPolicy",
591
+ name: policyName
574
592
  }
575
593
  });
576
594
  }
577
595
  check_password_policy_x: {
578
596
  const policyName = "specialChars";
579
597
  const policy = passwordPolicies[policyName];
580
- if (policy === undefined) {
598
+ if (!policy) {
581
599
  break check_password_policy_x;
582
600
  }
583
601
  const minNumberOfSpecialChar = policy;
@@ -586,12 +604,12 @@ function useGetErrors(params) {
586
604
  }
587
605
  const msgArgs = ["invalidPasswordMinSpecialCharsMessage", `${minNumberOfSpecialChar}`];
588
606
  errors.push({
589
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
590
- "errorMessageStr": msgStr(...msgArgs),
591
- "fieldIndex": undefined,
592
- "source": {
593
- "type": "passwordPolicy",
594
- "name": policyName
607
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
608
+ errorMessageStr: msgStr(...msgArgs),
609
+ fieldIndex: undefined,
610
+ source: {
611
+ type: "passwordPolicy",
612
+ name: policyName
595
613
  }
596
614
  });
597
615
  }
@@ -602,7 +620,7 @@ function useGetErrors(params) {
602
620
  break check_password_policy_x;
603
621
  }
604
622
  const usernameFormFieldState = formFieldStates.find(formFieldState => formFieldState.attribute.name === "username");
605
- if (usernameFormFieldState === undefined) {
623
+ if (!usernameFormFieldState) {
606
624
  break check_password_policy_x;
607
625
  }
608
626
  const usernameValue = (() => {
@@ -611,24 +629,27 @@ function useGetErrors(params) {
611
629
  assert(typeof valueOrValues === "string");
612
630
  unFormat_number: {
613
631
  const { kcNumberUnFormat } = (_a = attribute.html5DataAnnotations) !== null && _a !== void 0 ? _a : {};
614
- if (kcNumberUnFormat === undefined) {
632
+ if (!kcNumberUnFormat) {
615
633
  break unFormat_number;
616
634
  }
617
635
  valueOrValues = formatNumber(valueOrValues, kcNumberUnFormat);
618
636
  }
619
637
  return valueOrValues;
620
638
  })();
639
+ if (usernameValue === "") {
640
+ break check_password_policy_x;
641
+ }
621
642
  if (value !== usernameValue) {
622
643
  break check_password_policy_x;
623
644
  }
624
645
  const msgArgs = ["invalidPasswordNotUsernameMessage"];
625
646
  errors.push({
626
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
627
- "errorMessageStr": msgStr(...msgArgs),
628
- "fieldIndex": undefined,
629
- "source": {
630
- "type": "passwordPolicy",
631
- "name": policyName
647
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
648
+ errorMessageStr: msgStr(...msgArgs),
649
+ fieldIndex: undefined,
650
+ source: {
651
+ type: "passwordPolicy",
652
+ name: policyName
632
653
  }
633
654
  });
634
655
  }
@@ -639,24 +660,27 @@ function useGetErrors(params) {
639
660
  break check_password_policy_x;
640
661
  }
641
662
  const emailFormFieldState = formFieldStates.find(formFieldState => formFieldState.attribute.name === "email");
642
- if (emailFormFieldState === undefined) {
663
+ if (!emailFormFieldState) {
643
664
  break check_password_policy_x;
644
665
  }
645
666
  assert(typeof emailFormFieldState.valueOrValues === "string");
646
667
  {
647
668
  const emailValue = emailFormFieldState.valueOrValues;
669
+ if (emailValue === "") {
670
+ break check_password_policy_x;
671
+ }
648
672
  if (value !== emailValue) {
649
673
  break check_password_policy_x;
650
674
  }
651
675
  }
652
676
  const msgArgs = ["invalidPasswordNotEmailMessage"];
653
677
  errors.push({
654
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
655
- "errorMessageStr": msgStr(...msgArgs),
656
- "fieldIndex": undefined,
657
- "source": {
658
- "type": "passwordPolicy",
659
- "name": policyName
678
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
679
+ errorMessageStr: msgStr(...msgArgs),
680
+ fieldIndex: undefined,
681
+ source: {
682
+ type: "passwordPolicy",
683
+ name: policyName
660
684
  }
661
685
  });
662
686
  }
@@ -676,12 +700,12 @@ function useGetErrors(params) {
676
700
  }
677
701
  const msgArgs = ["invalidPasswordConfirmMessage"];
678
702
  errors.push({
679
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
680
- "errorMessageStr": msgStr(...msgArgs),
681
- "fieldIndex": undefined,
682
- "source": {
683
- "type": "other",
684
- "rule": "passwordConfirmMatchesPassword"
703
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
704
+ errorMessageStr: msgStr(...msgArgs),
705
+ fieldIndex: undefined,
706
+ source: {
707
+ type: "other",
708
+ rule: "passwordConfirmMatchesPassword"
685
709
  }
686
710
  });
687
711
  }
@@ -695,19 +719,19 @@ function useGetErrors(params) {
695
719
  }
696
720
  const msgArgs = ["error-user-attribute-required"];
697
721
  errors.push({
698
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
699
- "errorMessageStr": msgStr(...msgArgs),
700
- "fieldIndex": undefined,
701
- "source": {
702
- "type": "other",
703
- "rule": "requiredField"
722
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
723
+ errorMessageStr: msgStr(...msgArgs),
724
+ fieldIndex: undefined,
725
+ source: {
726
+ type: "other",
727
+ rule: "requiredField"
704
728
  }
705
729
  });
706
730
  }
707
731
  validator_x: {
708
732
  const validatorName = "length";
709
733
  const validator = validators[validatorName];
710
- if (validator === undefined) {
734
+ if (!validator) {
711
735
  break validator_x;
712
736
  }
713
737
  const { "ignore.empty.value": ignoreEmptyValue = false, max, min } = validator;
@@ -715,24 +739,24 @@ function useGetErrors(params) {
715
739
  break validator_x;
716
740
  }
717
741
  const source = {
718
- "type": "validator",
719
- "name": validatorName
742
+ type: "validator",
743
+ name: validatorName
720
744
  };
721
- if (max !== undefined && value.length > parseInt(`${max}`)) {
745
+ if (max && value.length > parseInt(`${max}`)) {
722
746
  const msgArgs = ["error-invalid-length-too-long", `${max}`];
723
747
  errors.push({
724
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
725
- "errorMessageStr": msgStr(...msgArgs),
726
- "fieldIndex": undefined,
748
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
749
+ errorMessageStr: msgStr(...msgArgs),
750
+ fieldIndex: undefined,
727
751
  source
728
752
  });
729
753
  }
730
- if (min !== undefined && value.length < parseInt(`${min}`)) {
754
+ if (min && value.length < parseInt(`${min}`)) {
731
755
  const msgArgs = ["error-invalid-length-too-short", `${min}`];
732
756
  errors.push({
733
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
734
- "errorMessageStr": msgStr(...msgArgs),
735
- "fieldIndex": undefined,
757
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
758
+ errorMessageStr: msgStr(...msgArgs),
759
+ fieldIndex: undefined,
736
760
  source
737
761
  });
738
762
  }
@@ -752,12 +776,12 @@ function useGetErrors(params) {
752
776
  }
753
777
  const msgArgs = [errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id("shouldMatchPattern"), pattern];
754
778
  errors.push({
755
- "errorMessage": _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
756
- "errorMessageStr": advancedMsgStr(...msgArgs),
757
- "fieldIndex": undefined,
758
- "source": {
759
- "type": "validator",
760
- "name": validatorName
779
+ errorMessage: _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
780
+ errorMessageStr: advancedMsgStr(...msgArgs),
781
+ fieldIndex: undefined,
782
+ source: {
783
+ type: "validator",
784
+ name: validatorName
761
785
  }
762
786
  });
763
787
  }
@@ -782,12 +806,12 @@ function useGetErrors(params) {
782
806
  }
783
807
  const msgArgs = [id("invalidEmailMessage")];
784
808
  errors.push({
785
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
786
- "errorMessageStr": msgStr(...msgArgs),
787
- "fieldIndex": undefined,
788
- "source": {
789
- "type": "validator",
790
- "name": validatorName
809
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
810
+ errorMessageStr: msgStr(...msgArgs),
811
+ fieldIndex: undefined,
812
+ source: {
813
+ type: "validator",
814
+ name: validatorName
791
815
  }
792
816
  });
793
817
  }
@@ -803,35 +827,35 @@ function useGetErrors(params) {
803
827
  }
804
828
  const intValue = parseInt(value);
805
829
  const source = {
806
- "type": "validator",
807
- "name": validatorName
830
+ type: "validator",
831
+ name: validatorName
808
832
  };
809
833
  if (isNaN(intValue)) {
810
834
  const msgArgs = ["mustBeAnInteger"];
811
835
  errors.push({
812
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
813
- "errorMessageStr": msgStr(...msgArgs),
814
- "fieldIndex": undefined,
836
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
837
+ errorMessageStr: msgStr(...msgArgs),
838
+ fieldIndex: undefined,
815
839
  source
816
840
  });
817
841
  break validator_x;
818
842
  }
819
- if (max !== undefined && intValue > parseInt(`${max}`)) {
843
+ if (max && intValue > parseInt(`${max}`)) {
820
844
  const msgArgs = ["error-number-out-of-range-too-big", `${max}`];
821
845
  errors.push({
822
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
823
- "errorMessageStr": msgStr(...msgArgs),
824
- "fieldIndex": undefined,
846
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
847
+ errorMessageStr: msgStr(...msgArgs),
848
+ fieldIndex: undefined,
825
849
  source
826
850
  });
827
851
  break validator_x;
828
852
  }
829
- if (min !== undefined && intValue < parseInt(`${min}`)) {
853
+ if (min && intValue < parseInt(`${min}`)) {
830
854
  const msgArgs = ["error-number-out-of-range-too-small", `${min}`];
831
855
  errors.push({
832
- "errorMessage": _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
833
- "errorMessageStr": msgStr(...msgArgs),
834
- "fieldIndex": undefined,
856
+ errorMessage: _jsx(Fragment, { children: msg(...msgArgs) }, `${attributeName}-${errors.length}`),
857
+ errorMessageStr: msgStr(...msgArgs),
858
+ fieldIndex: undefined,
835
859
  source
836
860
  });
837
861
  break validator_x;
@@ -851,12 +875,12 @@ function useGetErrors(params) {
851
875
  }
852
876
  const msgArgs = [id("notAValidOption")];
853
877
  errors.push({
854
- "errorMessage": _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
855
- "errorMessageStr": advancedMsgStr(...msgArgs),
856
- "fieldIndex": undefined,
857
- "source": {
858
- "type": "validator",
859
- "name": validatorName
878
+ errorMessage: _jsx(Fragment, { children: advancedMsg(...msgArgs) }, `${attributeName}-${errors.length}`),
879
+ errorMessageStr: advancedMsgStr(...msgArgs),
880
+ fieldIndex: undefined,
881
+ source: {
882
+ type: "validator",
883
+ name: validatorName
860
884
  }
861
885
  });
862
886
  }
@@ -865,4 +889,59 @@ function useGetErrors(params) {
865
889
  });
866
890
  return { getErrors };
867
891
  }
892
+ function getIsMultivaluedSingleField(params) {
893
+ var _a, _b;
894
+ const { attribute } = params;
895
+ return (_b = (_a = attribute.annotations.inputType) === null || _a === void 0 ? void 0 : _a.startsWith("multiselect")) !== null && _b !== void 0 ? _b : false;
896
+ }
897
+ export function getButtonToDisplayForMultivaluedAttributeField(params) {
898
+ const { attribute, values, fieldIndex } = params;
899
+ const hasRemove = (() => {
900
+ if (values.length === 1) {
901
+ return false;
902
+ }
903
+ const minCount = (() => {
904
+ const { multivalued } = attribute.validators;
905
+ if (multivalued === undefined) {
906
+ return undefined;
907
+ }
908
+ const minStr = multivalued.min;
909
+ if (minStr === undefined) {
910
+ return undefined;
911
+ }
912
+ return parseInt(`${minStr}`);
913
+ })();
914
+ if (minCount === undefined) {
915
+ return true;
916
+ }
917
+ if (values.length === minCount) {
918
+ return false;
919
+ }
920
+ return true;
921
+ })();
922
+ const hasAdd = (() => {
923
+ if (fieldIndex + 1 !== values.length) {
924
+ return false;
925
+ }
926
+ const maxCount = (() => {
927
+ const { multivalued } = attribute.validators;
928
+ if (multivalued === undefined) {
929
+ return undefined;
930
+ }
931
+ const maxStr = multivalued.max;
932
+ if (maxStr === undefined) {
933
+ return undefined;
934
+ }
935
+ return parseInt(`${maxStr}`);
936
+ })();
937
+ if (maxCount === undefined) {
938
+ return false;
939
+ }
940
+ if (values.length === maxCount) {
941
+ return false;
942
+ }
943
+ return true;
944
+ })();
945
+ return { hasRemove, hasAdd };
946
+ }
868
947
  //# sourceMappingURL=useUserProfileForm.js.map