keycloakify 10.0.0-rc.9 → 10.0.0-rc.91

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 (820) hide show
  1. package/PUBLIC_URL.d.ts +1 -1
  2. package/PUBLIC_URL.js +3 -3
  3. package/PUBLIC_URL.js.map +1 -1
  4. package/README.md +2 -3
  5. package/account/DefaultPage.d.ts +5 -0
  6. package/account/{Fallback.js → DefaultPage.js} +3 -3
  7. package/account/DefaultPage.js.map +1 -0
  8. package/account/{kcContext → KcContext}/KcContext.d.ts +13 -0
  9. package/account/KcContext/KcContext.js.map +1 -0
  10. package/account/KcContext/getKcContextMock.d.ts +24 -0
  11. package/account/KcContext/getKcContextMock.js +28 -0
  12. package/account/KcContext/getKcContextMock.js.map +1 -0
  13. package/account/KcContext/index.d.ts +2 -0
  14. package/account/KcContext/index.js +2 -0
  15. package/account/KcContext/index.js.map +1 -0
  16. package/account/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
  17. package/account/KcContext/kcContextMocks.js +143 -0
  18. package/account/KcContext/kcContextMocks.js.map +1 -0
  19. package/account/Template.d.ts +2 -2
  20. package/account/Template.js +12 -12
  21. package/account/Template.js.map +1 -1
  22. package/account/TemplateProps.d.ts +3 -5
  23. package/account/i18n/baseMessages/ar.d.ts +2 -0
  24. package/account/i18n/baseMessages/ar.js +3 -1
  25. package/account/i18n/baseMessages/ar.js.map +1 -1
  26. package/account/i18n/baseMessages/ca.d.ts +2 -0
  27. package/account/i18n/baseMessages/ca.js +3 -1
  28. package/account/i18n/baseMessages/ca.js.map +1 -1
  29. package/account/i18n/baseMessages/cs.d.ts +2 -0
  30. package/account/i18n/baseMessages/cs.js +3 -1
  31. package/account/i18n/baseMessages/cs.js.map +1 -1
  32. package/account/i18n/baseMessages/da.d.ts +2 -0
  33. package/account/i18n/baseMessages/da.js +3 -1
  34. package/account/i18n/baseMessages/da.js.map +1 -1
  35. package/account/i18n/baseMessages/de.d.ts +2 -0
  36. package/account/i18n/baseMessages/de.js +3 -1
  37. package/account/i18n/baseMessages/de.js.map +1 -1
  38. package/account/i18n/baseMessages/el.d.ts +2 -0
  39. package/account/i18n/baseMessages/el.js +3 -1
  40. package/account/i18n/baseMessages/el.js.map +1 -1
  41. package/account/i18n/baseMessages/en.d.ts +2 -0
  42. package/account/i18n/baseMessages/en.js +3 -1
  43. package/account/i18n/baseMessages/en.js.map +1 -1
  44. package/account/i18n/baseMessages/es.d.ts +2 -0
  45. package/account/i18n/baseMessages/es.js +3 -1
  46. package/account/i18n/baseMessages/es.js.map +1 -1
  47. package/account/i18n/baseMessages/fa.d.ts +2 -0
  48. package/account/i18n/baseMessages/fa.js +3 -1
  49. package/account/i18n/baseMessages/fa.js.map +1 -1
  50. package/account/i18n/baseMessages/fi.d.ts +2 -0
  51. package/account/i18n/baseMessages/fi.js +3 -1
  52. package/account/i18n/baseMessages/fi.js.map +1 -1
  53. package/account/i18n/baseMessages/fr.d.ts +2 -0
  54. package/account/i18n/baseMessages/fr.js +3 -1
  55. package/account/i18n/baseMessages/fr.js.map +1 -1
  56. package/account/i18n/baseMessages/hu.d.ts +2 -0
  57. package/account/i18n/baseMessages/hu.js +3 -1
  58. package/account/i18n/baseMessages/hu.js.map +1 -1
  59. package/account/i18n/baseMessages/index.d.ts +18 -0
  60. package/account/i18n/baseMessages/index.js.map +1 -1
  61. package/account/i18n/baseMessages/it.d.ts +2 -0
  62. package/account/i18n/baseMessages/it.js +3 -1
  63. package/account/i18n/baseMessages/it.js.map +1 -1
  64. package/account/i18n/baseMessages/ja.d.ts +2 -0
  65. package/account/i18n/baseMessages/ja.js +3 -1
  66. package/account/i18n/baseMessages/ja.js.map +1 -1
  67. package/account/i18n/baseMessages/lt.d.ts +2 -0
  68. package/account/i18n/baseMessages/lt.js +3 -1
  69. package/account/i18n/baseMessages/lt.js.map +1 -1
  70. package/account/i18n/baseMessages/lv.d.ts +2 -0
  71. package/account/i18n/baseMessages/lv.js +3 -1
  72. package/account/i18n/baseMessages/lv.js.map +1 -1
  73. package/account/i18n/baseMessages/nl.d.ts +2 -0
  74. package/account/i18n/baseMessages/nl.js +3 -1
  75. package/account/i18n/baseMessages/nl.js.map +1 -1
  76. package/account/i18n/baseMessages/no.d.ts +2 -0
  77. package/account/i18n/baseMessages/no.js +3 -1
  78. package/account/i18n/baseMessages/no.js.map +1 -1
  79. package/account/i18n/baseMessages/pl.d.ts +2 -0
  80. package/account/i18n/baseMessages/pl.js +3 -1
  81. package/account/i18n/baseMessages/pl.js.map +1 -1
  82. package/account/i18n/baseMessages/pt-BR.d.ts +2 -0
  83. package/account/i18n/baseMessages/pt-BR.js +3 -1
  84. package/account/i18n/baseMessages/pt-BR.js.map +1 -1
  85. package/account/i18n/baseMessages/ru.d.ts +2 -0
  86. package/account/i18n/baseMessages/ru.js +3 -1
  87. package/account/i18n/baseMessages/ru.js.map +1 -1
  88. package/account/i18n/baseMessages/sk.d.ts +2 -0
  89. package/account/i18n/baseMessages/sk.js +3 -1
  90. package/account/i18n/baseMessages/sk.js.map +1 -1
  91. package/account/i18n/baseMessages/sv.d.ts +2 -0
  92. package/account/i18n/baseMessages/sv.js +3 -1
  93. package/account/i18n/baseMessages/sv.js.map +1 -1
  94. package/account/i18n/baseMessages/th.d.ts +2 -0
  95. package/account/i18n/baseMessages/th.js +3 -1
  96. package/account/i18n/baseMessages/th.js.map +1 -1
  97. package/account/i18n/baseMessages/tr.d.ts +2 -0
  98. package/account/i18n/baseMessages/tr.js +3 -1
  99. package/account/i18n/baseMessages/tr.js.map +1 -1
  100. package/account/i18n/baseMessages/uk.d.ts +2 -0
  101. package/account/i18n/baseMessages/uk.js +3 -1
  102. package/account/i18n/baseMessages/uk.js.map +1 -1
  103. package/account/i18n/baseMessages/zh-CN.d.ts +2 -0
  104. package/account/i18n/baseMessages/zh-CN.js +3 -1
  105. package/account/i18n/baseMessages/zh-CN.js.map +1 -1
  106. package/account/i18n/i18n.d.ts +34 -36
  107. package/account/i18n/i18n.js +117 -98
  108. package/account/i18n/i18n.js.map +1 -1
  109. package/account/i18n/index.d.ts +4 -1
  110. package/account/i18n/index.js +1 -1
  111. package/account/i18n/index.js.map +1 -1
  112. package/account/i18n/useI18n.d.ts +13 -0
  113. package/account/i18n/useI18n.js +26 -0
  114. package/account/i18n/useI18n.js.map +1 -0
  115. package/account/index.d.ts +3 -7
  116. package/account/index.js +1 -5
  117. package/account/index.js.map +1 -1
  118. package/account/lib/kcClsx.d.ts +9 -0
  119. package/account/lib/kcClsx.js +19 -0
  120. package/account/lib/kcClsx.js.map +1 -0
  121. package/account/pages/Account.d.ts +1 -1
  122. package/account/pages/Account.js +7 -6
  123. package/account/pages/Account.js.map +1 -1
  124. package/account/pages/Applications.d.ts +1 -1
  125. package/account/pages/Applications.js +7 -8
  126. package/account/pages/Applications.js.map +1 -1
  127. package/account/pages/FederatedIdentity.d.ts +3 -3
  128. package/account/pages/FederatedIdentity.js +1 -1
  129. package/account/pages/FederatedIdentity.js.map +1 -1
  130. package/account/pages/Log.d.ts +1 -1
  131. package/account/pages/Log.js +3 -3
  132. package/account/pages/Log.js.map +1 -1
  133. package/account/pages/PageProps.d.ts +4 -6
  134. package/account/pages/Password.d.ts +1 -1
  135. package/account/pages/Password.js +16 -13
  136. package/account/pages/Password.js.map +1 -1
  137. package/account/pages/Sessions.d.ts +1 -1
  138. package/account/pages/Sessions.js +3 -4
  139. package/account/pages/Sessions.js.map +1 -1
  140. package/account/pages/Totp.d.ts +1 -1
  141. package/account/pages/Totp.js +5 -10
  142. package/account/pages/Totp.js.map +1 -1
  143. package/bin/180.index.js +4664 -0
  144. package/bin/193.index.js +160 -0
  145. package/bin/266.index.js +806 -0
  146. package/bin/304.index.js +1108 -0
  147. package/bin/31.index.js +801 -0
  148. package/bin/36.index.js +9980 -0
  149. package/bin/430.index.js +1349 -0
  150. package/bin/440.index.js +1466 -0
  151. package/bin/453.index.js +769 -0
  152. package/bin/456.index.js +6200 -0
  153. package/bin/490.index.js +75195 -0
  154. package/bin/525.index.js +41826 -0
  155. package/bin/526.index.js +986 -0
  156. package/bin/538.index.js +108 -0
  157. package/bin/720.index.js +243 -0
  158. package/bin/877.index.js +275 -0
  159. package/bin/893.index.js +712 -0
  160. package/bin/932.index.js +269 -0
  161. package/bin/97.index.js +676 -0
  162. package/bin/main.js +7675 -141754
  163. package/bin/shared/KeycloakVersionRange.d.ts +5 -0
  164. package/bin/shared/KeycloakVersionRange.js.map +1 -0
  165. package/bin/shared/buildContext.d.ts +74 -0
  166. package/bin/shared/buildContext.js.map +1 -0
  167. package/bin/shared/constants.d.ts +18 -0
  168. package/bin/shared/constants.js +59 -0
  169. package/bin/shared/constants.js.map +1 -0
  170. package/bin/shared/copyKeycloakResourcesToPublic.d.ts +8 -0
  171. package/bin/shared/copyKeycloakResourcesToPublic.js.map +1 -0
  172. package/bin/shared/downloadKeycloakDefaultTheme.d.ts +11 -0
  173. package/bin/shared/downloadKeycloakDefaultTheme.js.map +1 -0
  174. package/bin/shared/downloadKeycloakStaticResources.d.ts +9 -0
  175. package/bin/shared/downloadKeycloakStaticResources.js.map +1 -0
  176. package/bin/shared/generateKcGenTs.d.ts +12 -0
  177. package/bin/shared/generateKcGenTs.js.map +1 -0
  178. package/bin/shared/metaInfKeycloakThemes.d.ts +13 -0
  179. package/bin/shared/metaInfKeycloakThemes.js.map +1 -0
  180. package/bin/shared/promptKeycloakVersion.d.ts +7 -0
  181. package/bin/shared/promptKeycloakVersion.js.map +1 -0
  182. package/lib/BASE_URL.js.map +1 -1
  183. package/lib/getKcClsx.d.ts +11 -0
  184. package/lib/getKcClsx.js +55 -0
  185. package/lib/getKcClsx.js.map +1 -0
  186. package/login/{Fallback.d.ts → DefaultPage.d.ts} +7 -6
  187. package/login/{Fallback.js → DefaultPage.js} +2 -2
  188. package/login/DefaultPage.js.map +1 -0
  189. package/login/{kcContext → KcContext}/KcContext.d.ts +36 -17
  190. package/login/KcContext/KcContext.js.map +1 -0
  191. package/login/KcContext/getKcContextMock.d.ts +24 -0
  192. package/login/KcContext/getKcContextMock.js +28 -0
  193. package/login/KcContext/getKcContextMock.js.map +1 -0
  194. package/login/KcContext/index.d.ts +2 -0
  195. package/login/KcContext/index.js +2 -0
  196. package/login/KcContext/index.js.map +1 -0
  197. package/login/{kcContext → KcContext}/kcContextMocks.d.ts +1 -1
  198. package/login/KcContext/kcContextMocks.js +334 -0
  199. package/login/KcContext/kcContextMocks.js.map +1 -0
  200. package/login/Template.d.ts +2 -2
  201. package/login/Template.js +23 -23
  202. package/login/Template.js.map +1 -1
  203. package/login/TemplateProps.d.ts +3 -5
  204. package/login/UserProfileFormFields.d.ts +3 -20
  205. package/login/UserProfileFormFields.js +78 -122
  206. package/login/UserProfileFormFields.js.map +1 -1
  207. package/login/UserProfileFormFieldsProps.d.ts +24 -0
  208. package/login/UserProfileFormFieldsProps.js +2 -0
  209. package/login/UserProfileFormFieldsProps.js.map +1 -0
  210. package/login/i18n/baseMessages/ar.d.ts +9 -0
  211. package/login/i18n/baseMessages/ar.js +11 -2
  212. package/login/i18n/baseMessages/ar.js.map +1 -1
  213. package/login/i18n/baseMessages/ca.d.ts +10 -1
  214. package/login/i18n/baseMessages/ca.js +12 -3
  215. package/login/i18n/baseMessages/ca.js.map +1 -1
  216. package/login/i18n/baseMessages/cs.d.ts +9 -0
  217. package/login/i18n/baseMessages/cs.js +11 -2
  218. package/login/i18n/baseMessages/cs.js.map +1 -1
  219. package/login/i18n/baseMessages/da.d.ts +9 -0
  220. package/login/i18n/baseMessages/da.js +11 -2
  221. package/login/i18n/baseMessages/da.js.map +1 -1
  222. package/login/i18n/baseMessages/de.d.ts +9 -0
  223. package/login/i18n/baseMessages/de.js +11 -2
  224. package/login/i18n/baseMessages/de.js.map +1 -1
  225. package/login/i18n/baseMessages/el.d.ts +9 -1
  226. package/login/i18n/baseMessages/el.js +11 -3
  227. package/login/i18n/baseMessages/el.js.map +1 -1
  228. package/login/i18n/baseMessages/en.d.ts +10 -1
  229. package/login/i18n/baseMessages/en.js +12 -3
  230. package/login/i18n/baseMessages/en.js.map +1 -1
  231. package/login/i18n/baseMessages/es.d.ts +10 -1
  232. package/login/i18n/baseMessages/es.js +12 -3
  233. package/login/i18n/baseMessages/es.js.map +1 -1
  234. package/login/i18n/baseMessages/fa.d.ts +9 -1
  235. package/login/i18n/baseMessages/fa.js +11 -3
  236. package/login/i18n/baseMessages/fa.js.map +1 -1
  237. package/login/i18n/baseMessages/fi.d.ts +9 -0
  238. package/login/i18n/baseMessages/fi.js +11 -2
  239. package/login/i18n/baseMessages/fi.js.map +1 -1
  240. package/login/i18n/baseMessages/fr.d.ts +9 -0
  241. package/login/i18n/baseMessages/fr.js +11 -2
  242. package/login/i18n/baseMessages/fr.js.map +1 -1
  243. package/login/i18n/baseMessages/hu.d.ts +10 -1
  244. package/login/i18n/baseMessages/hu.js +12 -3
  245. package/login/i18n/baseMessages/hu.js.map +1 -1
  246. package/login/i18n/baseMessages/index.d.ts +109 -2
  247. package/login/i18n/baseMessages/index.js.map +1 -1
  248. package/login/i18n/baseMessages/it.d.ts +9 -0
  249. package/login/i18n/baseMessages/it.js +11 -2
  250. package/login/i18n/baseMessages/it.js.map +1 -1
  251. package/login/i18n/baseMessages/ja.d.ts +9 -0
  252. package/login/i18n/baseMessages/ja.js +11 -2
  253. package/login/i18n/baseMessages/ja.js.map +1 -1
  254. package/login/i18n/baseMessages/lt.d.ts +9 -0
  255. package/login/i18n/baseMessages/lt.js +11 -2
  256. package/login/i18n/baseMessages/lt.js.map +1 -1
  257. package/login/i18n/baseMessages/lv.d.ts +9 -0
  258. package/login/i18n/baseMessages/lv.js +11 -2
  259. package/login/i18n/baseMessages/lv.js.map +1 -1
  260. package/login/i18n/baseMessages/nl.d.ts +9 -0
  261. package/login/i18n/baseMessages/nl.js +11 -2
  262. package/login/i18n/baseMessages/nl.js.map +1 -1
  263. package/login/i18n/baseMessages/no.d.ts +9 -0
  264. package/login/i18n/baseMessages/no.js +11 -2
  265. package/login/i18n/baseMessages/no.js.map +1 -1
  266. package/login/i18n/baseMessages/pl.d.ts +9 -0
  267. package/login/i18n/baseMessages/pl.js +11 -2
  268. package/login/i18n/baseMessages/pl.js.map +1 -1
  269. package/login/i18n/baseMessages/pt-BR.d.ts +9 -0
  270. package/login/i18n/baseMessages/pt-BR.js +11 -2
  271. package/login/i18n/baseMessages/pt-BR.js.map +1 -1
  272. package/login/i18n/baseMessages/ru.d.ts +9 -0
  273. package/login/i18n/baseMessages/ru.js +11 -2
  274. package/login/i18n/baseMessages/ru.js.map +1 -1
  275. package/login/i18n/baseMessages/sk.d.ts +9 -0
  276. package/login/i18n/baseMessages/sk.js +11 -2
  277. package/login/i18n/baseMessages/sk.js.map +1 -1
  278. package/login/i18n/baseMessages/sv.d.ts +9 -0
  279. package/login/i18n/baseMessages/sv.js +11 -2
  280. package/login/i18n/baseMessages/sv.js.map +1 -1
  281. package/login/i18n/baseMessages/th.d.ts +9 -0
  282. package/login/i18n/baseMessages/th.js +11 -2
  283. package/login/i18n/baseMessages/th.js.map +1 -1
  284. package/login/i18n/baseMessages/tr.d.ts +9 -0
  285. package/login/i18n/baseMessages/tr.js +11 -2
  286. package/login/i18n/baseMessages/tr.js.map +1 -1
  287. package/login/i18n/baseMessages/uk.d.ts +9 -0
  288. package/login/i18n/baseMessages/uk.js +11 -2
  289. package/login/i18n/baseMessages/uk.js.map +1 -1
  290. package/login/i18n/baseMessages/zh-CN.d.ts +10 -1
  291. package/login/i18n/baseMessages/zh-CN.js +12 -3
  292. package/login/i18n/baseMessages/zh-CN.js.map +1 -1
  293. package/login/i18n/i18n.d.ts +38 -38
  294. package/login/i18n/i18n.js +133 -100
  295. package/login/i18n/i18n.js.map +1 -1
  296. package/login/i18n/index.d.ts +4 -1
  297. package/login/i18n/index.js +1 -1
  298. package/login/i18n/index.js.map +1 -1
  299. package/login/i18n/useI18n.d.ts +13 -0
  300. package/login/i18n/useI18n.js +26 -0
  301. package/login/i18n/useI18n.js.map +1 -0
  302. package/login/index.d.ts +3 -8
  303. package/login/index.js +1 -6
  304. package/login/index.js.map +1 -1
  305. package/login/lib/kcClsx.d.ts +9 -0
  306. package/login/lib/kcClsx.js +130 -0
  307. package/login/lib/kcClsx.js.map +1 -0
  308. package/login/lib/useUserProfileForm.d.ts +20 -8
  309. package/login/lib/useUserProfileForm.js +402 -295
  310. package/login/lib/useUserProfileForm.js.map +1 -1
  311. package/login/pages/Code.d.ts +1 -1
  312. package/login/pages/Code.js +3 -3
  313. package/login/pages/Code.js.map +1 -1
  314. package/login/pages/DeleteAccountConfirm.d.ts +1 -1
  315. package/login/pages/DeleteAccountConfirm.js +7 -4
  316. package/login/pages/DeleteAccountConfirm.js.map +1 -1
  317. package/login/pages/DeleteCredential.d.ts +1 -1
  318. package/login/pages/DeleteCredential.js +3 -4
  319. package/login/pages/DeleteCredential.js.map +1 -1
  320. package/login/pages/Error.d.ts +1 -1
  321. package/login/pages/Error.js +1 -1
  322. package/login/pages/Error.js.map +1 -1
  323. package/login/pages/FrontchannelLogout.d.ts +1 -1
  324. package/login/pages/FrontchannelLogout.js +1 -1
  325. package/login/pages/FrontchannelLogout.js.map +1 -1
  326. package/login/pages/IdpReviewUserProfile.d.ts +4 -3
  327. package/login/pages/IdpReviewUserProfile.js +4 -5
  328. package/login/pages/IdpReviewUserProfile.js.map +1 -1
  329. package/login/pages/Info.d.ts +1 -1
  330. package/login/pages/Info.js +5 -7
  331. package/login/pages/Info.js.map +1 -1
  332. package/login/pages/Login.d.ts +1 -1
  333. package/login/pages/Login.js +8 -8
  334. package/login/pages/Login.js.map +1 -1
  335. package/login/pages/LoginConfigTotp.d.ts +1 -1
  336. package/login/pages/LoginConfigTotp.js +6 -7
  337. package/login/pages/LoginConfigTotp.js.map +1 -1
  338. package/login/pages/LoginIdpLinkConfirm.d.ts +1 -1
  339. package/login/pages/LoginIdpLinkConfirm.js +3 -4
  340. package/login/pages/LoginIdpLinkConfirm.js.map +1 -1
  341. package/login/pages/LoginIdpLinkEmail.d.ts +2 -2
  342. package/login/pages/LoginIdpLinkEmail.js +1 -1
  343. package/login/pages/LoginIdpLinkEmail.js.map +1 -1
  344. package/login/pages/LoginOauth2DeviceVerifyUserCode.d.ts +3 -3
  345. package/login/pages/LoginOauth2DeviceVerifyUserCode.js +3 -4
  346. package/login/pages/LoginOauth2DeviceVerifyUserCode.js.map +1 -1
  347. package/login/pages/LoginOauthGrant.d.ts +3 -3
  348. package/login/pages/LoginOauthGrant.js +4 -5
  349. package/login/pages/LoginOauthGrant.js.map +1 -1
  350. package/login/pages/LoginOtp.d.ts +1 -1
  351. package/login/pages/LoginOtp.js +3 -4
  352. package/login/pages/LoginOtp.js.map +1 -1
  353. package/login/pages/LoginPageExpired.d.ts +1 -1
  354. package/login/pages/LoginPageExpired.js +1 -1
  355. package/login/pages/LoginPageExpired.js.map +1 -1
  356. package/login/pages/LoginPassword.d.ts +1 -1
  357. package/login/pages/LoginPassword.js +7 -7
  358. package/login/pages/LoginPassword.js.map +1 -1
  359. package/login/pages/LoginRecoveryAuthnCodeConfig.d.ts +1 -1
  360. package/login/pages/LoginRecoveryAuthnCodeConfig.js +16 -16
  361. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
  362. package/login/pages/LoginRecoveryAuthnCodeInput.d.ts +1 -1
  363. package/login/pages/LoginRecoveryAuthnCodeInput.js +3 -4
  364. package/login/pages/LoginRecoveryAuthnCodeInput.js.map +1 -1
  365. package/login/pages/LoginResetOtp.d.ts +1 -1
  366. package/login/pages/LoginResetOtp.js +3 -4
  367. package/login/pages/LoginResetOtp.js.map +1 -1
  368. package/login/pages/LoginResetPassword.d.ts +1 -1
  369. package/login/pages/LoginResetPassword.js +4 -5
  370. package/login/pages/LoginResetPassword.js.map +1 -1
  371. package/login/pages/LoginUpdatePassword.d.ts +1 -1
  372. package/login/pages/LoginUpdatePassword.js +8 -9
  373. package/login/pages/LoginUpdatePassword.js.map +1 -1
  374. package/login/pages/LoginUpdateProfile.d.ts +4 -3
  375. package/login/pages/LoginUpdateProfile.js +5 -9
  376. package/login/pages/LoginUpdateProfile.js.map +1 -1
  377. package/login/pages/LoginUsername.d.ts +1 -1
  378. package/login/pages/LoginUsername.js +5 -5
  379. package/login/pages/LoginUsername.js.map +1 -1
  380. package/login/pages/LoginVerifyEmail.d.ts +1 -1
  381. package/login/pages/LoginVerifyEmail.js +1 -1
  382. package/login/pages/LoginVerifyEmail.js.map +1 -1
  383. package/login/pages/LoginX509Info.d.ts +1 -1
  384. package/login/pages/LoginX509Info.js +3 -4
  385. package/login/pages/LoginX509Info.js.map +1 -1
  386. package/login/pages/LogoutConfirm.d.ts +1 -1
  387. package/login/pages/LogoutConfirm.js +3 -4
  388. package/login/pages/LogoutConfirm.js.map +1 -1
  389. package/login/pages/PageProps.d.ts +3 -5
  390. package/login/pages/Register.d.ts +4 -3
  391. package/login/pages/Register.js +6 -19
  392. package/login/pages/Register.js.map +1 -1
  393. package/login/pages/SamlPostForm.d.ts +1 -1
  394. package/login/pages/SamlPostForm.js +1 -1
  395. package/login/pages/SamlPostForm.js.map +1 -1
  396. package/login/pages/SelectAuthenticator.d.ts +2 -2
  397. package/login/pages/SelectAuthenticator.js +3 -7
  398. package/login/pages/SelectAuthenticator.js.map +1 -1
  399. package/login/pages/Terms.d.ts +2 -2
  400. package/login/pages/Terms.js +3 -10
  401. package/login/pages/Terms.js.map +1 -1
  402. package/login/pages/UpdateEmail.d.ts +3 -2
  403. package/login/pages/UpdateEmail.js +6 -10
  404. package/login/pages/UpdateEmail.js.map +1 -1
  405. package/login/pages/WebauthnAuthenticate.d.ts +1 -1
  406. package/login/pages/WebauthnAuthenticate.js +25 -22
  407. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  408. package/login/pages/WebauthnError.d.ts +1 -1
  409. package/login/pages/WebauthnError.js +4 -5
  410. package/login/pages/WebauthnError.js.map +1 -1
  411. package/login/pages/WebauthnRegister.d.ts +1 -1
  412. package/login/pages/WebauthnRegister.js +16 -17
  413. package/login/pages/WebauthnRegister.js.map +1 -1
  414. package/package.json +427 -326
  415. package/src/PUBLIC_URL.ts +3 -3
  416. package/src/account/{Fallback.tsx → DefaultPage.tsx} +5 -5
  417. package/src/account/{kcContext → KcContext}/KcContext.ts +24 -2
  418. package/src/account/KcContext/getKcContextMock.ts +69 -0
  419. package/src/account/KcContext/index.ts +2 -0
  420. package/src/account/KcContext/kcContextMocks.ts +190 -0
  421. package/src/account/Template.tsx +14 -16
  422. package/src/account/TemplateProps.ts +4 -5
  423. package/src/account/i18n/baseMessages/ar.ts +3 -1
  424. package/src/account/i18n/baseMessages/ca.ts +3 -1
  425. package/src/account/i18n/baseMessages/cs.ts +3 -1
  426. package/src/account/i18n/baseMessages/da.ts +3 -1
  427. package/src/account/i18n/baseMessages/de.ts +3 -1
  428. package/src/account/i18n/baseMessages/el.ts +3 -1
  429. package/src/account/i18n/baseMessages/en.ts +3 -1
  430. package/src/account/i18n/baseMessages/es.ts +3 -1
  431. package/src/account/i18n/baseMessages/fa.ts +3 -1
  432. package/src/account/i18n/baseMessages/fi.ts +3 -1
  433. package/src/account/i18n/baseMessages/fr.ts +3 -1
  434. package/src/account/i18n/baseMessages/hu.ts +3 -1
  435. package/src/account/i18n/baseMessages/it.ts +3 -1
  436. package/src/account/i18n/baseMessages/ja.ts +3 -1
  437. package/src/account/i18n/baseMessages/lt.ts +3 -1
  438. package/src/account/i18n/baseMessages/lv.ts +3 -1
  439. package/src/account/i18n/baseMessages/nl.ts +3 -1
  440. package/src/account/i18n/baseMessages/no.ts +3 -1
  441. package/src/account/i18n/baseMessages/pl.ts +3 -1
  442. package/src/account/i18n/baseMessages/pt-BR.ts +3 -1
  443. package/src/account/i18n/baseMessages/ru.ts +3 -1
  444. package/src/account/i18n/baseMessages/sk.ts +3 -1
  445. package/src/account/i18n/baseMessages/sv.ts +3 -1
  446. package/src/account/i18n/baseMessages/th.ts +3 -1
  447. package/src/account/i18n/baseMessages/tr.ts +3 -1
  448. package/src/account/i18n/baseMessages/uk.ts +3 -1
  449. package/src/account/i18n/baseMessages/zh-CN.ts +3 -1
  450. package/src/account/i18n/i18n.tsx +202 -144
  451. package/src/account/i18n/index.ts +4 -1
  452. package/src/account/i18n/useI18n.ts +44 -0
  453. package/src/account/index.ts +3 -10
  454. package/src/account/lib/kcClsx.ts +25 -0
  455. package/src/account/pages/Account.tsx +12 -18
  456. package/src/account/pages/Applications.tsx +8 -9
  457. package/src/account/pages/FederatedIdentity.tsx +3 -3
  458. package/src/account/pages/Log.tsx +5 -5
  459. package/src/account/pages/PageProps.ts +4 -6
  460. package/src/account/pages/Password.tsx +17 -19
  461. package/src/account/pages/Sessions.tsx +5 -6
  462. package/src/account/pages/Totp.tsx +18 -38
  463. package/src/bin/add-story.ts +104 -0
  464. package/src/bin/copy-keycloak-resources-to-public.ts +3 -6
  465. package/src/bin/eject-page.ts +256 -0
  466. package/src/bin/initialize-email-theme.ts +30 -26
  467. package/src/bin/keycloakify/buildJars/buildJar.ts +138 -77
  468. package/src/bin/keycloakify/buildJars/buildJars.ts +35 -31
  469. package/src/bin/keycloakify/buildJars/extensionVersions.ts +3 -2
  470. package/src/bin/keycloakify/buildJars/generatePom.ts +19 -11
  471. package/src/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.ts +42 -10
  472. package/src/bin/keycloakify/generateFtl/generateFtl.ts +74 -48
  473. package/src/bin/keycloakify/generateFtl/{ftl_object_to_js_code_declaring_an_object.ftl → kcContextDeclarationTemplate.ftl} +233 -194
  474. package/src/bin/keycloakify/generateResources/bringInAccountV1.ts +89 -0
  475. package/src/bin/keycloakify/generateResources/generateMessageProperties.ts +192 -0
  476. package/src/bin/keycloakify/generateResources/generateResources.ts +42 -0
  477. package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +300 -0
  478. package/src/bin/keycloakify/generateResources/generateResourcesForThemeVariant.ts +70 -0
  479. package/src/bin/keycloakify/generateResources/index.ts +1 -0
  480. package/src/bin/keycloakify/{generateSrcMainResources → generateResources}/readExtraPageNames.ts +21 -7
  481. package/src/bin/keycloakify/generateResources/readFieldNameUsage.ts +91 -0
  482. package/src/bin/keycloakify/keycloakify.ts +50 -16
  483. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +42 -46
  484. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.ts +15 -12
  485. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +31 -16
  486. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +53 -18
  487. package/src/bin/main.ts +96 -44
  488. package/src/bin/shared/KeycloakVersionRange.ts +4 -2
  489. package/src/bin/shared/buildContext.ts +866 -0
  490. package/src/bin/shared/constants.ts +10 -4
  491. package/src/bin/shared/copyKeycloakResourcesToPublic.ts +32 -21
  492. package/src/bin/shared/downloadKeycloakDefaultTheme.ts +276 -0
  493. package/src/bin/shared/downloadKeycloakStaticResources.ts +30 -26
  494. package/src/bin/shared/generateKcGenTs.ts +68 -0
  495. package/src/bin/shared/metaInfKeycloakThemes.ts +25 -19
  496. package/src/bin/shared/promptKeycloakVersion.ts +39 -15
  497. package/src/bin/start-keycloak/appBuild.ts +169 -0
  498. package/src/bin/start-keycloak/index.ts +1 -0
  499. package/src/bin/start-keycloak/keycloakifyBuild.ts +40 -0
  500. package/src/bin/start-keycloak/myrealm-realm-18.json +2155 -0
  501. package/src/bin/start-keycloak/myrealm-realm-19.json +2186 -0
  502. package/src/bin/start-keycloak/myrealm-realm-20.json +2197 -0
  503. package/src/bin/start-keycloak/myrealm-realm-21.json +2201 -0
  504. package/src/bin/start-keycloak/myrealm-realm-23.json +2155 -0
  505. package/src/bin/start-keycloak/myrealm-realm-24.json +2318 -0
  506. package/src/bin/start-keycloak/myrealm-realm-25.json +2400 -0
  507. package/src/bin/start-keycloak/start-keycloak.ts +451 -0
  508. package/src/bin/tools/SemVer.ts +32 -13
  509. package/src/bin/tools/String.prototype.replaceAll.ts +9 -2
  510. package/src/bin/tools/crawl.ts +4 -1
  511. package/src/bin/tools/crc32.ts +42 -24
  512. package/src/bin/tools/downloadAndExtractArchive.ts +254 -0
  513. package/src/bin/tools/escapeStringForPropertiesFile.ts +64 -0
  514. package/src/bin/tools/extractArchive.ts +140 -0
  515. package/src/bin/tools/fetchProxyOptions.ts +76 -53
  516. package/src/bin/tools/getAbsoluteAndInOsFormatPath.ts +10 -2
  517. package/src/bin/tools/octokit-addons/getLatestsSemVersionedTag.ts +8 -2
  518. package/src/bin/tools/octokit-addons/listTags.ts +15 -4
  519. package/src/bin/tools/partitionPromiseSettledResults.ts +12 -3
  520. package/src/bin/tools/readThisNpmPackageVersion.ts +5 -1
  521. package/src/bin/tools/transformCodebase.ts +29 -10
  522. package/src/bin/tools/trimIndent.ts +4 -1
  523. package/src/bin/tsconfig.json +4 -3
  524. package/src/bin/update-kc-gen.ts +13 -0
  525. package/src/lib/getKcClsx.ts +89 -0
  526. package/src/login/{Fallback.tsx → DefaultPage.tsx} +7 -6
  527. package/src/login/{kcContext → KcContext}/KcContext.ts +58 -30
  528. package/src/login/KcContext/getKcContextMock.ts +69 -0
  529. package/src/login/KcContext/index.ts +8 -0
  530. package/src/login/KcContext/kcContextMocks.ts +583 -0
  531. package/src/login/Template.tsx +54 -57
  532. package/src/login/TemplateProps.ts +3 -6
  533. package/src/login/UserProfileFormFields.tsx +125 -210
  534. package/src/login/UserProfileFormFieldsProps.tsx +22 -0
  535. package/src/login/i18n/baseMessages/ar.ts +11 -2
  536. package/src/login/i18n/baseMessages/ca.ts +12 -3
  537. package/src/login/i18n/baseMessages/cs.ts +11 -2
  538. package/src/login/i18n/baseMessages/da.ts +11 -2
  539. package/src/login/i18n/baseMessages/de.ts +11 -2
  540. package/src/login/i18n/baseMessages/el.ts +11 -3
  541. package/src/login/i18n/baseMessages/en.ts +12 -3
  542. package/src/login/i18n/baseMessages/es.ts +12 -3
  543. package/src/login/i18n/baseMessages/fa.ts +11 -3
  544. package/src/login/i18n/baseMessages/fi.ts +11 -2
  545. package/src/login/i18n/baseMessages/fr.ts +11 -2
  546. package/src/login/i18n/baseMessages/hu.ts +12 -3
  547. package/src/login/i18n/baseMessages/it.ts +11 -2
  548. package/src/login/i18n/baseMessages/ja.ts +11 -2
  549. package/src/login/i18n/baseMessages/lt.ts +11 -2
  550. package/src/login/i18n/baseMessages/lv.ts +11 -2
  551. package/src/login/i18n/baseMessages/nl.ts +11 -2
  552. package/src/login/i18n/baseMessages/no.ts +11 -2
  553. package/src/login/i18n/baseMessages/pl.ts +11 -2
  554. package/src/login/i18n/baseMessages/pt-BR.ts +11 -2
  555. package/src/login/i18n/baseMessages/ru.ts +11 -2
  556. package/src/login/i18n/baseMessages/sk.ts +11 -2
  557. package/src/login/i18n/baseMessages/sv.ts +11 -2
  558. package/src/login/i18n/baseMessages/th.ts +11 -2
  559. package/src/login/i18n/baseMessages/tr.ts +11 -2
  560. package/src/login/i18n/baseMessages/uk.ts +11 -2
  561. package/src/login/i18n/baseMessages/zh-CN.ts +12 -3
  562. package/src/login/i18n/i18n.tsx +232 -145
  563. package/src/login/i18n/index.ts +4 -1
  564. package/src/login/i18n/useI18n.ts +44 -0
  565. package/src/login/index.ts +3 -11
  566. package/src/login/lib/kcClsx.ts +143 -0
  567. package/src/login/lib/useUserProfileForm.tsx +480 -351
  568. package/src/login/pages/Code.tsx +8 -5
  569. package/src/login/pages/DeleteAccountConfirm.tsx +15 -10
  570. package/src/login/pages/DeleteCredential.tsx +9 -7
  571. package/src/login/pages/Error.tsx +9 -2
  572. package/src/login/pages/FrontchannelLogout.tsx +6 -3
  573. package/src/login/pages/IdpReviewUserProfile.tsx +20 -21
  574. package/src/login/pages/Info.tsx +5 -8
  575. package/src/login/pages/Login.tsx +35 -54
  576. package/src/login/pages/LoginConfigTotp.tsx +35 -39
  577. package/src/login/pages/LoginIdpLinkConfirm.tsx +7 -18
  578. package/src/login/pages/LoginIdpLinkEmail.tsx +9 -3
  579. package/src/login/pages/LoginOauth2DeviceVerifyUserCode.tsx +24 -23
  580. package/src/login/pages/LoginOauthGrant.tsx +14 -20
  581. package/src/login/pages/LoginOtp.tsx +27 -30
  582. package/src/login/pages/LoginPageExpired.tsx +2 -2
  583. package/src/login/pages/LoginPassword.tsx +22 -32
  584. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +34 -34
  585. package/src/login/pages/LoginRecoveryAuthnCodeInput.tsx +19 -22
  586. package/src/login/pages/LoginResetOtp.tsx +19 -22
  587. package/src/login/pages/LoginResetPassword.tsx +21 -24
  588. package/src/login/pages/LoginUpdatePassword.tsx +41 -51
  589. package/src/login/pages/LoginUpdateProfile.tsx +32 -30
  590. package/src/login/pages/LoginUsername.tsx +23 -34
  591. package/src/login/pages/LoginVerifyEmail.tsx +5 -2
  592. package/src/login/pages/LoginX509Info.tsx +24 -33
  593. package/src/login/pages/LogoutConfirm.tsx +8 -14
  594. package/src/login/pages/PageProps.ts +3 -5
  595. package/src/login/pages/Register.tsx +37 -59
  596. package/src/login/pages/SamlPostForm.tsx +2 -2
  597. package/src/login/pages/SelectAuthenticator.tsx +23 -24
  598. package/src/login/pages/Terms.tsx +14 -24
  599. package/src/login/pages/UpdateEmail.tsx +30 -33
  600. package/src/login/pages/WebauthnAuthenticate.tsx +40 -44
  601. package/src/login/pages/WebauthnError.tsx +15 -19
  602. package/src/login/pages/WebauthnRegister.tsx +28 -37
  603. package/src/tools/Array.prototype.every.ts +4 -1
  604. package/src/tools/ExtractAfterStartingWith.ts +4 -0
  605. package/src/tools/LazyOrNot.ts +3 -1
  606. package/src/tools/Object.fromEntries.ts +23 -0
  607. package/src/tools/StatefulObservable/README.md +16 -0
  608. package/src/tools/StatefulObservable/StatefulObservable.ts +58 -0
  609. package/src/tools/StatefulObservable/hooks/index.ts +2 -0
  610. package/src/tools/StatefulObservable/hooks/useObservable.ts +25 -0
  611. package/src/tools/StatefulObservable/hooks/useRerenderOnChange.ts +19 -0
  612. package/src/tools/StatefulObservable/index.ts +2 -0
  613. package/src/tools/ValueOf.ts +2 -0
  614. package/src/tools/clsx.ts +6 -42
  615. package/src/tools/clsx_withTransform.ts +55 -0
  616. package/src/tools/deepAssign.ts +57 -19
  617. package/src/tools/formatNumber.ts +7 -3
  618. package/src/tools/structuredCloneButFunctions.ts +24 -0
  619. package/src/tools/useConstCallback.ts +3 -1
  620. package/src/tools/useInsertLinkTags.ts +78 -74
  621. package/src/tools/useInsertScriptTags.ts +69 -73
  622. package/src/tools/useOnFirstMount.ts +18 -0
  623. package/src/tools/useSetClassName.ts +4 -1
  624. package/src/vite-plugin/vite-plugin.ts +73 -37
  625. package/stories/account/pages/Account.stories.tsx +18 -0
  626. package/stories/account/pages/FederatedIdentity.stories.tsx +38 -0
  627. package/stories/account/pages/Log.stories.tsx +356 -0
  628. package/stories/account/pages/Password.stories.tsx +28 -0
  629. package/stories/account/pages/Sessions.stories.tsx +59 -0
  630. package/stories/account/pages/Totp.stories.tsx +182 -0
  631. package/stories/login/pages/Code.stories.tsx +18 -0
  632. package/stories/login/pages/DeleteAccountConfirm.stories.tsx +18 -0
  633. package/stories/login/pages/DeleteCredential.stories.tsx +18 -0
  634. package/stories/login/pages/Error.stories.tsx +28 -0
  635. package/stories/login/pages/FrontchannelLogout.stories.tsx +18 -0
  636. package/stories/login/pages/IdpReviewUserProfile.stories.tsx +18 -0
  637. package/stories/login/pages/Info.stories.tsx +52 -0
  638. package/stories/login/pages/Login.stories.tsx +221 -0
  639. package/stories/login/pages/LoginConfigTotp.stories.tsx +43 -0
  640. package/stories/login/pages/LoginDeviceVerifyUserCode.stories.tsx +18 -0
  641. package/stories/login/pages/LoginIdpLinkConfirm.stories.tsx +18 -0
  642. package/stories/login/pages/LoginIdpLinkEmail.stories.tsx +18 -0
  643. package/stories/login/pages/LoginOauth2DeviceVerifyUserCode.stories.tsx +18 -0
  644. package/stories/login/pages/LoginOauthGrant.stories.tsx +18 -0
  645. package/stories/login/pages/LoginOtp.stories.tsx +18 -0
  646. package/stories/login/pages/LoginPageExpired.stories.tsx +18 -0
  647. package/stories/login/pages/LoginPassword.stories.tsx +18 -0
  648. package/stories/login/pages/LoginRecoveryAuthnCodeConfig.stories.tsx +18 -0
  649. package/stories/login/pages/LoginRecoveryAuthnCodeInput.stories.tsx +18 -0
  650. package/stories/login/pages/LoginResetOtp.stories.tsx +18 -0
  651. package/stories/login/pages/LoginResetPassword.stories.tsx +31 -0
  652. package/stories/login/pages/LoginUpdatePassword.stories.tsx +18 -0
  653. package/stories/login/pages/LoginUpdateProfile.stories.tsx +18 -0
  654. package/stories/login/pages/LoginUsername.stories.tsx +31 -0
  655. package/stories/login/pages/LoginVerifyEmail.stories.tsx +30 -0
  656. package/stories/login/pages/LoginX509Info.stories.tsx +18 -0
  657. package/stories/login/pages/LogoutConfirm.stories.tsx +18 -0
  658. package/stories/login/pages/Register.stories.tsx +135 -0
  659. package/stories/login/pages/SamlPostForm.stories.tsx +18 -0
  660. package/stories/login/pages/SelectAuthenticator.stories.tsx +43 -0
  661. package/stories/login/pages/Terms.stories.tsx +43 -0
  662. package/stories/login/pages/UpdateEmail.stories.tsx +18 -0
  663. package/stories/login/pages/WebauthnAuthenticate.stories.tsx +18 -0
  664. package/stories/login/pages/WebauthnError.stories.tsx +18 -0
  665. package/stories/login/pages/WebauthnRegister.stories.tsx +18 -0
  666. package/tools/Array.prototype.every.js +2 -1
  667. package/tools/Array.prototype.every.js.map +1 -1
  668. package/tools/ExtractAfterStartingWith.d.ts +1 -0
  669. package/tools/ExtractAfterStartingWith.js +2 -0
  670. package/tools/ExtractAfterStartingWith.js.map +1 -0
  671. package/tools/HTMLElement.prototype.prepend.js.map +1 -1
  672. package/tools/Object.fromEntries.d.ts +1 -0
  673. package/tools/Object.fromEntries.js +17 -0
  674. package/tools/Object.fromEntries.js.map +1 -0
  675. package/tools/StatefulObservable/StatefulObservable.d.ts +8 -0
  676. package/tools/StatefulObservable/StatefulObservable.js +36 -0
  677. package/tools/StatefulObservable/StatefulObservable.js.map +1 -0
  678. package/tools/StatefulObservable/hooks/index.d.ts +2 -0
  679. package/tools/StatefulObservable/hooks/index.js +3 -0
  680. package/tools/StatefulObservable/hooks/index.js.map +1 -0
  681. package/tools/StatefulObservable/hooks/useObservable.d.ts +8 -0
  682. package/tools/StatefulObservable/hooks/useObservable.js +17 -0
  683. package/tools/StatefulObservable/hooks/useObservable.js.map +1 -0
  684. package/tools/StatefulObservable/hooks/useRerenderOnChange.d.ts +5 -0
  685. package/tools/StatefulObservable/hooks/useRerenderOnChange.js +14 -0
  686. package/tools/StatefulObservable/hooks/useRerenderOnChange.js.map +1 -0
  687. package/tools/StatefulObservable/index.d.ts +2 -0
  688. package/tools/StatefulObservable/index.js +3 -0
  689. package/tools/StatefulObservable/index.js.map +1 -0
  690. package/tools/ValueOf.d.ts +2 -0
  691. package/tools/ValueOf.js +2 -0
  692. package/tools/ValueOf.js.map +1 -0
  693. package/tools/clsx.d.ts +3 -2
  694. package/tools/clsx.js +5 -41
  695. package/tools/clsx.js.map +1 -1
  696. package/tools/clsx_withTransform.d.ts +5 -0
  697. package/tools/clsx_withTransform.js +43 -0
  698. package/tools/clsx_withTransform.js.map +1 -0
  699. package/tools/deepAssign.d.ts +1 -0
  700. package/tools/deepAssign.js +41 -16
  701. package/tools/deepAssign.js.map +1 -1
  702. package/tools/formatNumber.js +2 -1
  703. package/tools/formatNumber.js.map +1 -1
  704. package/tools/structuredCloneButFunctions.d.ts +7 -0
  705. package/tools/structuredCloneButFunctions.js +19 -0
  706. package/tools/structuredCloneButFunctions.js.map +1 -0
  707. package/tools/useConstCallback.js.map +1 -1
  708. package/tools/useInsertLinkTags.d.ts +11 -6
  709. package/tools/useInsertLinkTags.js +53 -52
  710. package/tools/useInsertLinkTags.js.map +1 -1
  711. package/tools/useInsertScriptTags.d.ts +15 -6
  712. package/tools/useInsertScriptTags.js +56 -61
  713. package/tools/useInsertScriptTags.js.map +1 -1
  714. package/tools/useOnFirstMount.d.ts +2 -0
  715. package/tools/useOnFirstMount.js +15 -0
  716. package/tools/useOnFirstMount.js.map +1 -0
  717. package/tools/useSetClassName.js.map +1 -1
  718. package/vite-plugin/index.d.ts +1 -0
  719. package/vite-plugin/index.js +53373 -0
  720. package/vite-plugin/vite-plugin.d.ts +5 -0
  721. package/account/Fallback.d.ts +0 -5
  722. package/account/Fallback.js.map +0 -1
  723. package/account/kcContext/KcContext.js.map +0 -1
  724. package/account/kcContext/createGetKcContext.d.ts +0 -19
  725. package/account/kcContext/createGetKcContext.js +0 -73
  726. package/account/kcContext/createGetKcContext.js.map +0 -1
  727. package/account/kcContext/getKcContext.d.ts +0 -13
  728. package/account/kcContext/getKcContext.js +0 -13
  729. package/account/kcContext/getKcContext.js.map +0 -1
  730. package/account/kcContext/getKcContextFromWindow.d.ts +0 -8
  731. package/account/kcContext/getKcContextFromWindow.js +0 -5
  732. package/account/kcContext/getKcContextFromWindow.js.map +0 -1
  733. package/account/kcContext/index.d.ts +0 -1
  734. package/account/kcContext/index.js +0 -2
  735. package/account/kcContext/index.js.map +0 -1
  736. package/account/kcContext/kcContextMocks.js +0 -215
  737. package/account/kcContext/kcContextMocks.js.map +0 -1
  738. package/account/lib/useGetClassName.d.ts +0 -7
  739. package/account/lib/useGetClassName.js +0 -19
  740. package/account/lib/useGetClassName.js.map +0 -1
  741. package/lib/isStorybook.d.ts +0 -1
  742. package/lib/isStorybook.js +0 -2
  743. package/lib/isStorybook.js.map +0 -1
  744. package/lib/useGetClassName.d.ts +0 -10
  745. package/lib/useGetClassName.js +0 -14
  746. package/lib/useGetClassName.js.map +0 -1
  747. package/login/Fallback.js.map +0 -1
  748. package/login/kcContext/KcContext.js.map +0 -1
  749. package/login/kcContext/createGetKcContext.d.ts +0 -19
  750. package/login/kcContext/createGetKcContext.js +0 -109
  751. package/login/kcContext/createGetKcContext.js.map +0 -1
  752. package/login/kcContext/getKcContext.d.ts +0 -13
  753. package/login/kcContext/getKcContext.js +0 -13
  754. package/login/kcContext/getKcContext.js.map +0 -1
  755. package/login/kcContext/getKcContextFromWindow.d.ts +0 -8
  756. package/login/kcContext/getKcContextFromWindow.js +0 -5
  757. package/login/kcContext/getKcContextFromWindow.js.map +0 -1
  758. package/login/kcContext/index.d.ts +0 -1
  759. package/login/kcContext/index.js +0 -2
  760. package/login/kcContext/index.js.map +0 -1
  761. package/login/kcContext/kcContextMocks.js +0 -390
  762. package/login/kcContext/kcContextMocks.js.map +0 -1
  763. package/login/lib/useDownloadTerms.d.ts +0 -17
  764. package/login/lib/useDownloadTerms.js +0 -32
  765. package/login/lib/useDownloadTerms.js.map +0 -1
  766. package/login/lib/useGetClassName.d.ts +0 -7
  767. package/login/lib/useGetClassName.js +0 -130
  768. package/login/lib/useGetClassName.js.map +0 -1
  769. package/src/account/kcContext/createGetKcContext.ts +0 -108
  770. package/src/account/kcContext/getKcContext.ts +0 -21
  771. package/src/account/kcContext/getKcContextFromWindow.ts +0 -11
  772. package/src/account/kcContext/index.ts +0 -1
  773. package/src/account/kcContext/kcContextMocks.ts +0 -260
  774. package/src/account/lib/useGetClassName.ts +0 -20
  775. package/src/bin/download-builtin-keycloak-theme.ts +0 -30
  776. package/src/bin/eject-keycloak-page.ts +0 -126
  777. package/src/bin/keycloakify/generateSrcMainResources/bringInAccountV1.ts +0 -79
  778. package/src/bin/keycloakify/generateSrcMainResources/generateMessageProperties.ts +0 -179
  779. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResources.ts +0 -32
  780. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForMainTheme.ts +0 -261
  781. package/src/bin/keycloakify/generateSrcMainResources/generateSrcMainResourcesForThemeVariant.ts +0 -56
  782. package/src/bin/keycloakify/generateSrcMainResources/index.ts +0 -1
  783. package/src/bin/keycloakify/generateSrcMainResources/readFieldNameUsage.ts +0 -56
  784. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +0 -60
  785. package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +0 -24
  786. package/src/bin/shared/buildOptions.ts +0 -277
  787. package/src/bin/shared/downloadAndUnzip.ts +0 -203
  788. package/src/bin/shared/downloadBuiltinKeycloakTheme.ts +0 -264
  789. package/src/bin/shared/getJarFileBasename.ts +0 -9
  790. package/src/bin/shared/getThemeSrcDirPath.ts +0 -47
  791. package/src/bin/start-keycloak.ts +0 -236
  792. package/src/bin/tools/getNpmWorkspaceRootDirPath.ts +0 -27
  793. package/src/bin/tools/unzip.ts +0 -141
  794. package/src/lib/isStorybook.ts +0 -1
  795. package/src/lib/useGetClassName.ts +0 -18
  796. package/src/login/kcContext/createGetKcContext.ts +0 -159
  797. package/src/login/kcContext/getKcContext.ts +0 -21
  798. package/src/login/kcContext/getKcContextFromWindow.ts +0 -11
  799. package/src/login/kcContext/index.ts +0 -1
  800. package/src/login/kcContext/kcContextMocks.ts +0 -630
  801. package/src/login/lib/useDownloadTerms.ts +0 -57
  802. package/src/login/lib/useGetClassName.ts +0 -132
  803. package/src/tools/AndByDiscriminatingKey.ts +0 -25
  804. package/src/tools/Markdown.ts +0 -3
  805. package/src/tools/deepClone.ts +0 -17
  806. package/src/tools/memoize.ts +0 -55
  807. package/tools/AndByDiscriminatingKey.d.ts +0 -5
  808. package/tools/AndByDiscriminatingKey.js +0 -2
  809. package/tools/AndByDiscriminatingKey.js.map +0 -1
  810. package/tools/Markdown.d.ts +0 -2
  811. package/tools/Markdown.js +0 -3
  812. package/tools/Markdown.js.map +0 -1
  813. package/tools/deepClone.d.ts +0 -2
  814. package/tools/deepClone.js +0 -14
  815. package/tools/deepClone.js.map +0 -1
  816. package/tools/memoize.d.ts +0 -7
  817. package/tools/memoize.js +0 -38
  818. package/tools/memoize.js.map +0 -1
  819. /package/account/{kcContext → KcContext}/KcContext.js +0 -0
  820. /package/login/{kcContext → KcContext}/KcContext.js +0 -0
@@ -0,0 +1,1466 @@
1
+ "use strict";
2
+ exports.id = 440;
3
+ exports.ids = [440];
4
+ exports.modules = {
5
+
6
+ /***/ 73817:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "k": () => (/* binding */ generateMessageProperties)
11
+ /* harmony export */ });
12
+ /* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(173);
13
+ /* harmony import */ var _tools_crawl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73036);
14
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71017);
15
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__);
16
+ /* harmony import */ var tsafe_symToStr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(47986);
17
+ /* harmony import */ var recast__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48128);
18
+ /* harmony import */ var _babel_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(85026);
19
+ /* harmony import */ var _babel_generator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92332);
20
+ /* harmony import */ var _babel_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7912);
21
+ /* harmony import */ var _babel_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_types__WEBPACK_IMPORTED_MODULE_7__);
22
+ /* harmony import */ var _tools_escapeStringForPropertiesFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(27190);
23
+ /* harmony import */ var _tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58822);
24
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(57147);
25
+ /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_9__);
26
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(88078);
27
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(tsafe_assert__WEBPACK_IMPORTED_MODULE_10__);
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ function generateMessageProperties(params) {
41
+ const { themeSrcDirPath, themeType } = params;
42
+ const baseMessagesDirPath = (0,path__WEBPACK_IMPORTED_MODULE_2__.join)((0,_tools_getThisCodebaseRootDirPath__WEBPACK_IMPORTED_MODULE_8__/* .getThisCodebaseRootDirPath */ .e)(), "src", themeType, "i18n", "baseMessages");
43
+ const baseMessageBundle = Object.fromEntries(fs__WEBPACK_IMPORTED_MODULE_9__.readdirSync(baseMessagesDirPath)
44
+ .filter(baseName => baseName !== "index.ts")
45
+ .map(basename => ({
46
+ languageTag: basename.replace(/\.ts$/, ""),
47
+ filePath: (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(baseMessagesDirPath, basename)
48
+ }))
49
+ .map(({ languageTag, filePath }) => {
50
+ const lines = fs__WEBPACK_IMPORTED_MODULE_9__.readFileSync(filePath)
51
+ .toString("utf8")
52
+ .split(/\r?\n/);
53
+ let messagesJson = "{";
54
+ let isInDeclaration = false;
55
+ for (const line of lines) {
56
+ if (!isInDeclaration) {
57
+ if (line.startsWith("const messages")) {
58
+ isInDeclaration = true;
59
+ }
60
+ continue;
61
+ }
62
+ if (line.startsWith("}")) {
63
+ messagesJson += "}";
64
+ break;
65
+ }
66
+ messagesJson += line;
67
+ }
68
+ const messages = JSON.parse(messagesJson);
69
+ return [languageTag, messages];
70
+ }));
71
+ const { i18nTsFilePath } = (() => {
72
+ let files = (0,_tools_crawl__WEBPACK_IMPORTED_MODULE_1__/* .crawl */ .J)({
73
+ dirPath: (0,path__WEBPACK_IMPORTED_MODULE_2__.join)(themeSrcDirPath, themeType),
74
+ returnedPathsType: "absolute"
75
+ });
76
+ files = files.filter(file => {
77
+ const regex = /\.(js|ts|tsx)$/;
78
+ return regex.test(file);
79
+ });
80
+ files = files.sort((a, b) => {
81
+ const regex = /\.i18n\.(ts|js|tsx)$/;
82
+ const aIsI18nFile = regex.test(a);
83
+ const bIsI18nFile = regex.test(b);
84
+ return aIsI18nFile === bIsI18nFile ? 0 : aIsI18nFile ? -1 : 1;
85
+ });
86
+ files = files.sort((a, b) => a.length - b.length);
87
+ files = files.filter(file => fs__WEBPACK_IMPORTED_MODULE_9__.readFileSync(file).toString("utf8").includes("createUseI18n("));
88
+ const i18nTsFilePath = files[0];
89
+ return { i18nTsFilePath };
90
+ })();
91
+ const messageBundle = (() => {
92
+ if (i18nTsFilePath === undefined) {
93
+ return undefined;
94
+ }
95
+ const root = recast__WEBPACK_IMPORTED_MODULE_4__/* .parse */ .Qc(fs__WEBPACK_IMPORTED_MODULE_9__.readFileSync(i18nTsFilePath).toString("utf8"), {
96
+ parser: {
97
+ parse: (code) => _babel_parser__WEBPACK_IMPORTED_MODULE_5__/* .parse */ .Qc(code, {
98
+ sourceType: "module",
99
+ plugins: ["typescript"]
100
+ }),
101
+ generator: _babel_generator__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .ZP,
102
+ types: _babel_types__WEBPACK_IMPORTED_MODULE_7__
103
+ }
104
+ });
105
+ let messageBundleDeclarationTsCode = undefined;
106
+ recast__WEBPACK_IMPORTED_MODULE_4__/* .visit */ .Vn(root, {
107
+ visitCallExpression: function (path) {
108
+ if (path.node.callee.type === "Identifier" &&
109
+ path.node.callee.name === "createUseI18n") {
110
+ messageBundleDeclarationTsCode = (0,_babel_generator__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .ZP)(path.node.arguments[0]).code;
111
+ return false;
112
+ }
113
+ this.traverse(path);
114
+ }
115
+ });
116
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_10__.assert)(messageBundleDeclarationTsCode !== undefined);
117
+ let messageBundle = {};
118
+ try {
119
+ eval(`${(0,tsafe_symToStr__WEBPACK_IMPORTED_MODULE_3__/* .symToStr */ .r)({ messageBundle })} = ${messageBundleDeclarationTsCode}`);
120
+ }
121
+ catch (_a) {
122
+ console.warn([
123
+ "WARNING: Make sure the messageBundle your provided as argument of createUseI18n can be statically evaluated.",
124
+ "This is important because we need to put your i18n messages in messages_*.properties files",
125
+ "or they won't be available server side.",
126
+ "\n",
127
+ "The following code could not be evaluated:",
128
+ "\n",
129
+ messageBundleDeclarationTsCode
130
+ ].join(" "));
131
+ }
132
+ return messageBundle;
133
+ })();
134
+ const mergedMessageBundle = Object.fromEntries(Object.entries(baseMessageBundle).map(([languageTag, messages]) => {
135
+ var _a, _b, _c;
136
+ return [
137
+ languageTag,
138
+ Object.assign(Object.assign({}, messages), (messageBundle === undefined
139
+ ? {}
140
+ : (_c = (_b = (_a = messageBundle[languageTag]) !== null && _a !== void 0 ? _a : messageBundle[_shared_constants__WEBPACK_IMPORTED_MODULE_0__/* .fallbackLanguageTag */ .sj]) !== null && _b !== void 0 ? _b : messageBundle[Object.keys(messageBundle)[0]]) !== null && _c !== void 0 ? _c : {}))
141
+ ];
142
+ }));
143
+ const messageProperties = Object.entries(mergedMessageBundle).map(([languageTag, messages]) => ({
144
+ languageTag,
145
+ propertiesFileSource: [
146
+ "",
147
+ ...(themeType !== "account" ? ["parent=base"] : []),
148
+ ...Object.entries(messages).map(([key, value]) => `${key}=${(0,_tools_escapeStringForPropertiesFile__WEBPACK_IMPORTED_MODULE_11__/* .escapeStringForPropertiesFile */ .y)(value)}`),
149
+ ""
150
+ ].join("\n")
151
+ }));
152
+ return messageProperties;
153
+ }
154
+ //# sourceMappingURL=generateMessageProperties.js.map
155
+
156
+ /***/ }),
157
+
158
+ /***/ 46440:
159
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
160
+
161
+ // ESM COMPAT FLAG
162
+ __webpack_require__.r(__webpack_exports__);
163
+
164
+ // EXPORTS
165
+ __webpack_require__.d(__webpack_exports__, {
166
+ "command": () => (/* reexport */ command)
167
+ });
168
+
169
+ // EXTERNAL MODULE: ./node_modules/tsafe/assert.js
170
+ var assert = __webpack_require__(88078);
171
+ // EXTERNAL MODULE: ./dist/bin/tools/transformCodebase.js
172
+ var transformCodebase = __webpack_require__(60332);
173
+ // EXTERNAL MODULE: external "fs"
174
+ var external_fs_ = __webpack_require__(57147);
175
+ var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_);
176
+ // EXTERNAL MODULE: external "path"
177
+ var external_path_ = __webpack_require__(71017);
178
+ // EXTERNAL MODULE: ./dist/bin/shared/constants.js
179
+ var constants = __webpack_require__(173);
180
+ ;// CONCATENATED MODULE: ./dist/bin/tools/String.prototype.replaceAll.js
181
+ function replaceAll(string, searchValue, replaceValue) {
182
+ if (string.replaceAll !== undefined) {
183
+ return string.replaceAll(searchValue, replaceValue);
184
+ }
185
+ // If the searchValue is a string
186
+ if (typeof searchValue === "string") {
187
+ // Escape special characters in the string to be used in a regex
188
+ var escapedSearchValue = searchValue.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
189
+ var regex = new RegExp(escapedSearchValue, "g");
190
+ return string.replace(regex, replaceValue);
191
+ }
192
+ // If the searchValue is a global RegExp, use it directly
193
+ if (searchValue instanceof RegExp && searchValue.global) {
194
+ return string.replace(searchValue, replaceValue);
195
+ }
196
+ // If the searchValue is a non-global RegExp, throw an error
197
+ if (searchValue instanceof RegExp) {
198
+ throw new TypeError("replaceAll must be called with a global RegExp");
199
+ }
200
+ // Convert searchValue to string if it's not a string or RegExp
201
+ var searchString = String(searchValue);
202
+ var regexFromString = new RegExp(searchString.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g");
203
+ return string.replace(regexFromString, replaceValue);
204
+ }
205
+ //# sourceMappingURL=String.prototype.replaceAll.js.map
206
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/replacers/replaceImportsInJsCode/vite.js
207
+
208
+
209
+
210
+
211
+ (0,assert.assert)();
212
+ function replaceImportsInJsCode_vite(params) {
213
+ const { jsCode, buildContext, basenameOfAssetsFiles, systemType = external_path_.sep === "/" ? "posix" : "win32" } = params;
214
+ const { relative: pathRelative, sep: pathSep } = external_path_[systemType];
215
+ let fixedJsCode = jsCode;
216
+ replace_base_javacript_import: {
217
+ if (buildContext.urlPathname === undefined) {
218
+ break replace_base_javacript_import;
219
+ }
220
+ // Optimization
221
+ if (!jsCode.includes(buildContext.urlPathname)) {
222
+ break replace_base_javacript_import;
223
+ }
224
+ // Replace `Hv=function(e){return"/abcde12345/"+e}` by `Hv=function(e){return"/"+e}`
225
+ fixedJsCode = fixedJsCode.replace(new RegExp(`([\\w\\$][\\w\\d\\$]*)=function\\(([\\w\\$][\\w\\d\\$]*)\\)\\{return"${replaceAll(buildContext.urlPathname, "/", "\\/")}"\\+\\2\\}`, "g"), (...[, funcName, paramName]) => `${funcName}=function(${paramName}){return"/"+${paramName}}`);
226
+ }
227
+ replace_javascript_relatives_import_paths: {
228
+ // Example: "assets/ or "foo/bar/"
229
+ const staticDir = (() => {
230
+ let out = pathRelative(buildContext.projectBuildDirPath, buildContext.assetsDirPath);
231
+ out = replaceAll(out, pathSep, "/") + "/";
232
+ if (out === "/") {
233
+ throw new Error(`The assetsDirPath must be a subdirectory of projectBuildDirPath`);
234
+ }
235
+ return out;
236
+ })();
237
+ // Optimization
238
+ if (!jsCode.includes(staticDir)) {
239
+ break replace_javascript_relatives_import_paths;
240
+ }
241
+ basenameOfAssetsFiles
242
+ .map(basenameOfAssetsFile => `${staticDir}${basenameOfAssetsFile}`)
243
+ .forEach(relativePathOfAssetFile => {
244
+ var _a;
245
+ fixedJsCode = replaceAll(fixedJsCode, `"${relativePathOfAssetFile}"`, `(window.kcContext.url.resourcesPath.substring(1) + "/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}/${relativePathOfAssetFile}")`);
246
+ fixedJsCode = replaceAll(fixedJsCode, `"${(_a = buildContext.urlPathname) !== null && _a !== void 0 ? _a : "/"}${relativePathOfAssetFile}"`, `(window.kcContext.url.resourcesPath + "/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}/${relativePathOfAssetFile}")`);
247
+ });
248
+ }
249
+ return { fixedJsCode };
250
+ }
251
+ //# sourceMappingURL=vite.js.map
252
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.js
253
+
254
+
255
+
256
+
257
+ (0,assert.assert)();
258
+ function replaceImportsInJsCode_webpack(params) {
259
+ const { jsCode, buildContext, systemType = external_path_.sep === "/" ? "posix" : "win32" } = params;
260
+ const { relative: pathRelative, sep: pathSep } = external_path_[systemType];
261
+ let fixedJsCode = jsCode;
262
+ if (buildContext.urlPathname !== undefined) {
263
+ // "__esModule",{value:!0})},n.p="/foo-bar/",function(){if("undefined" -> ... n.p="/" ...
264
+ fixedJsCode = fixedJsCode.replace(new RegExp(`,([a-zA-Z]\\.[a-zA-Z])="${replaceAll(buildContext.urlPathname, "/", "\\/")}",`, "g"), (...[, assignTo]) => `,${assignTo}="/",`);
265
+ }
266
+ // Example: "static/ or "foo/bar/"
267
+ const staticDir = (() => {
268
+ let out = pathRelative(buildContext.projectBuildDirPath, buildContext.assetsDirPath);
269
+ out = replaceAll(out, pathSep, "/") + "/";
270
+ if (out === "/") {
271
+ throw new Error(`The assetsDirPath must be a subdirectory of projectBuildDirPath`);
272
+ }
273
+ return out;
274
+ })();
275
+ const getReplaceArgs = (language) => [
276
+ new RegExp(`([a-zA-Z_]+)\\.([a-zA-Z]+)=(function\\(([a-z]+)\\){return|([a-z]+)=>)"${staticDir.replace(/\//g, "\\/")}${language}\\/"`, "g"),
277
+ (...[, n, u, matchedFunction, eForFunction]) => {
278
+ const isArrowFunction = matchedFunction.includes("=>");
279
+ const e = isArrowFunction
280
+ ? matchedFunction.replace("=>", "").trim()
281
+ : eForFunction;
282
+ return `
283
+ ${n}[(function(){
284
+ var pd = Object.getOwnPropertyDescriptor(${n}, "p");
285
+ if( pd === undefined || pd.configurable ){
286
+ Object.defineProperty(${n}, "p", {
287
+ get: function() { return window.kcContext.url.resourcesPath; },
288
+ set: function() {}
289
+ });
290
+ }
291
+ return "${u}";
292
+ })()] = ${isArrowFunction ? `${e} =>` : `function(${e}) { return `} "/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}/${staticDir}${language}/"`
293
+ .replace(/\s+/g, " ")
294
+ .trim();
295
+ }
296
+ ];
297
+ fixedJsCode = fixedJsCode
298
+ .replace(...getReplaceArgs("js"))
299
+ .replace(...getReplaceArgs("css"))
300
+ .replace(new RegExp(`[a-zA-Z]+\\.[a-zA-Z]+\\+"${staticDir.replace(/\//g, "\\/")}`, "g"), `window.kcContext.url.resourcesPath + "/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}/${staticDir}`);
301
+ return { fixedJsCode };
302
+ }
303
+ //# sourceMappingURL=webpack.js.map
304
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/replacers/replaceImportsInJsCode/replaceImportsInJsCode.js
305
+
306
+
307
+
308
+
309
+ (0,assert.assert)();
310
+ function replaceImportsInJsCode(params) {
311
+ const { jsCode, buildContext } = params;
312
+ const { fixedJsCode } = (() => {
313
+ switch (buildContext.bundler.type) {
314
+ case "vite":
315
+ return replaceImportsInJsCode_vite({
316
+ jsCode,
317
+ buildContext,
318
+ basenameOfAssetsFiles: readAssetsDirSync({
319
+ assetsDirPath: params.buildContext.assetsDirPath
320
+ })
321
+ });
322
+ case "webpack":
323
+ return replaceImportsInJsCode_webpack({
324
+ jsCode,
325
+ buildContext
326
+ });
327
+ }
328
+ })();
329
+ return { fixedJsCode };
330
+ }
331
+ const { readAssetsDirSync } = (() => {
332
+ let cache = undefined;
333
+ function readAssetsDirSync(params) {
334
+ const { assetsDirPath } = params;
335
+ if (cache !== undefined && cache.assetsDirPath === assetsDirPath) {
336
+ return cache.basenameOfAssetsFiles;
337
+ }
338
+ const basenameOfAssetsFiles = external_fs_.readdirSync(assetsDirPath);
339
+ cache = {
340
+ assetsDirPath,
341
+ basenameOfAssetsFiles
342
+ };
343
+ return basenameOfAssetsFiles;
344
+ }
345
+ return { readAssetsDirSync };
346
+ })();
347
+ //# sourceMappingURL=replaceImportsInJsCode.js.map
348
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/replacers/replaceImportsInJsCode/index.js
349
+
350
+ //# sourceMappingURL=index.js.map
351
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/replacers/replaceImportsInCssCode.js
352
+
353
+
354
+
355
+ (0,assert.assert)();
356
+ function replaceImportsInCssCode(params) {
357
+ const { cssCode, cssFileRelativeDirPath, buildContext } = params;
358
+ const fixedCssCode = cssCode.replace(/url\(["']?(\/[^/][^)"']+)["']?\)/g, (match, assetFileAbsoluteUrlPathname) => {
359
+ if (buildContext.urlPathname !== undefined) {
360
+ if (!assetFileAbsoluteUrlPathname.startsWith(buildContext.urlPathname)) {
361
+ // NOTE: Should never happen
362
+ return match;
363
+ }
364
+ assetFileAbsoluteUrlPathname = assetFileAbsoluteUrlPathname.replace(buildContext.urlPathname, "/");
365
+ }
366
+ inline_style_in_html: {
367
+ if (cssFileRelativeDirPath !== undefined) {
368
+ break inline_style_in_html;
369
+ }
370
+ return `url(\${url.resourcesPath}/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}${assetFileAbsoluteUrlPathname})`;
371
+ }
372
+ const assetFileRelativeUrlPathname = external_path_.posix.relative(cssFileRelativeDirPath.replace(/\\/g, "/"), assetFileAbsoluteUrlPathname.replace(/^\//, ""));
373
+ return `url(${assetFileRelativeUrlPathname})`;
374
+ });
375
+ return { fixedCssCode };
376
+ }
377
+ //# sourceMappingURL=replaceImportsInCssCode.js.map
378
+ // EXTERNAL MODULE: ./node_modules/cheerio/lib/esm/index.js + 76 modules
379
+ var esm = __webpack_require__(87182);
380
+ // EXTERNAL MODULE: ./dist/bin/tools/getThisCodebaseRootDirPath.js
381
+ var getThisCodebaseRootDirPath = __webpack_require__(58822);
382
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateFtl/generateFtl.js
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+ (0,assert.assert)();
392
+ function generateFtlFilesCodeFactory(params) {
393
+ var _a;
394
+ const { themeName, indexHtmlCode, buildContext, keycloakifyVersion, themeType, fieldNames } = params;
395
+ const $ = esm/* default.load */.ZP.load(indexHtmlCode);
396
+ fix_imports_statements: {
397
+ $("script:not([src])").each((...[, element]) => {
398
+ const jsCode = $(element).html();
399
+ (0,assert.assert)(jsCode !== null);
400
+ const { fixedJsCode } = replaceImportsInJsCode({
401
+ jsCode,
402
+ buildContext
403
+ });
404
+ $(element).text(fixedJsCode);
405
+ });
406
+ $("style").each((...[, element]) => {
407
+ const cssCode = $(element).html();
408
+ (0,assert.assert)(cssCode !== null);
409
+ const { fixedCssCode } = replaceImportsInCssCode({
410
+ cssCode,
411
+ cssFileRelativeDirPath: undefined,
412
+ buildContext
413
+ });
414
+ $(element).text(fixedCssCode);
415
+ });
416
+ [
417
+ ["link", "href"],
418
+ ["script", "src"]
419
+ ].forEach(([selector, attrName]) => $(selector).each((...[, element]) => {
420
+ var _a;
421
+ const href = $(element).attr(attrName);
422
+ if (href === undefined) {
423
+ return;
424
+ }
425
+ $(element).attr(attrName, href.replace(new RegExp(`^${((_a = buildContext.urlPathname) !== null && _a !== void 0 ? _a : "/").replace(/\//g, "\\/")}`), `\${url.resourcesPath}/${constants/* basenameOfTheKeycloakifyResourcesDir */.M}/`));
426
+ }));
427
+ }
428
+ //FTL is no valid html, we can't insert with cheerio, we put placeholder for injecting later.
429
+ const kcContextDeclarationTemplateFtl = external_fs_.readFileSync((0,external_path_.join)((0,getThisCodebaseRootDirPath/* getThisCodebaseRootDirPath */.e)(), "src", "bin", "keycloakify", "generateFtl", "kcContextDeclarationTemplate.ftl"))
430
+ .toString("utf8")
431
+ .replace("FIELD_NAMES_eKsIY4ZsZ4xeM", fieldNames.map(name => `"${name}"`).join(", "))
432
+ .replace("KEYCLOAKIFY_VERSION_xEdKd3xEdr", keycloakifyVersion)
433
+ .replace("KEYCLOAKIFY_THEME_VERSION_sIgKd3xEdr3dx", buildContext.themeVersion)
434
+ .replace("KEYCLOAKIFY_THEME_TYPE_dExKd3xEdr", themeType)
435
+ .replace("KEYCLOAKIFY_THEME_NAME_cXxKd3xEer", themeName)
436
+ .replace("RESOURCES_COMMON_cLsLsMrtDkpVv", constants/* resources_common */.z0)
437
+ .replace("USER_DEFINED_EXCLUSIONS_eKsaY4ZsZ4eMr2", (_a = buildContext.kcContextExclusionsFtlCode) !== null && _a !== void 0 ? _a : "");
438
+ const ftlObjectToJsCodeDeclaringAnObjectPlaceholder = '{ "x": "vIdLqMeOed9sdLdIdOxdK0d" }';
439
+ $("head").prepend(`<script>\n${ftlObjectToJsCodeDeclaringAnObjectPlaceholder}\n</script>`);
440
+ // Remove part of the document marked as ignored.
441
+ {
442
+ const startTags = $('meta[name="keycloakify-ignore-start"]');
443
+ startTags.each((...[, startTag]) => {
444
+ const $startTag = $(startTag);
445
+ const $endTag = $startTag
446
+ .nextAll('meta[name="keycloakify-ignore-end"]')
447
+ .first();
448
+ if ($endTag.length) {
449
+ let currentNode = $startTag.next();
450
+ while (currentNode.length && !currentNode.is($endTag)) {
451
+ currentNode.remove();
452
+ currentNode = $startTag.next();
453
+ }
454
+ $startTag.remove();
455
+ $endTag.remove();
456
+ }
457
+ });
458
+ }
459
+ const partiallyFixedIndexHtmlCode = $.html();
460
+ function generateFtlFilesCode(params) {
461
+ const { pageId } = params;
462
+ const $ = esm/* default.load */.ZP.load(partiallyFixedIndexHtmlCode);
463
+ let ftlCode = $.html();
464
+ Object.entries({
465
+ [ftlObjectToJsCodeDeclaringAnObjectPlaceholder]: kcContextDeclarationTemplateFtl,
466
+ PAGE_ID_xIgLsPgGId9D8e: pageId
467
+ }).map(([searchValue, replaceValue]) => (ftlCode = ftlCode.replace(searchValue, replaceValue)));
468
+ return { ftlCode };
469
+ }
470
+ return { generateFtlFilesCode };
471
+ }
472
+ //# sourceMappingURL=generateFtl.js.map
473
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateFtl/index.js
474
+
475
+ //# sourceMappingURL=index.js.map
476
+ // EXTERNAL MODULE: ./dist/bin/shared/downloadKeycloakStaticResources.js
477
+ var downloadKeycloakStaticResources = __webpack_require__(62190);
478
+ // EXTERNAL MODULE: ./dist/bin/tools/crawl.js
479
+ var crawl = __webpack_require__(73036);
480
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/readFieldNameUsage.js
481
+
482
+
483
+
484
+
485
+ /** Assumes the theme type exists */
486
+ function readFieldNameUsage(params) {
487
+ const { themeSrcDirPath, themeType } = params;
488
+ // NOTE: We pre-populate with the synthetic user attributes defined in useUserProfileForm (can't be parsed automatically)
489
+ const fieldNames = new Set([
490
+ "firstName",
491
+ "lastName",
492
+ "email",
493
+ "username",
494
+ "password",
495
+ "password-confirm"
496
+ ]);
497
+ for (const srcDirPath of [
498
+ (0,external_path_.join)((0,getThisCodebaseRootDirPath/* getThisCodebaseRootDirPath */.e)(), "src", themeType),
499
+ (0,external_path_.join)(themeSrcDirPath, themeType)
500
+ ]) {
501
+ const filePaths = (0,crawl/* crawl */.J)({
502
+ dirPath: srcDirPath,
503
+ returnedPathsType: "absolute"
504
+ }).filter(filePath => /\.(ts|tsx|js|jsx)$/.test(filePath));
505
+ for (const filePath of filePaths) {
506
+ const rawSourceFile = external_fs_.readFileSync(filePath).toString("utf8");
507
+ if (!rawSourceFile.includes("messagesPerField")) {
508
+ continue;
509
+ }
510
+ for (const functionName of [
511
+ "printIfExists",
512
+ "existsError",
513
+ "get",
514
+ "exists",
515
+ "getFirstError"
516
+ ]) {
517
+ if (!rawSourceFile.includes(functionName)) {
518
+ continue;
519
+ }
520
+ try {
521
+ rawSourceFile
522
+ .split(functionName)
523
+ .filter(part => part.startsWith("("))
524
+ .map(part => {
525
+ let [p1] = part.split(")");
526
+ p1 = p1.slice(1);
527
+ return p1;
528
+ })
529
+ .map(part => {
530
+ return part
531
+ .split(",")
532
+ .map(a => a.trim())
533
+ .filter((...[, i]) => functionName !== "printIfExists" ? true : i === 0)
534
+ .filter(a => a.startsWith('"') ||
535
+ a.startsWith("'") ||
536
+ a.startsWith("`"))
537
+ .filter(a => a.endsWith('"') ||
538
+ a.endsWith("'") ||
539
+ a.endsWith("`"))
540
+ .map(a => a.slice(1).slice(0, -1));
541
+ })
542
+ .flat()
543
+ .forEach(fieldName => fieldNames.add(fieldName));
544
+ }
545
+ catch (_a) { }
546
+ }
547
+ }
548
+ }
549
+ return Array.from(fieldNames);
550
+ }
551
+ //# sourceMappingURL=readFieldNameUsage.js.map
552
+ // EXTERNAL MODULE: ./node_modules/tsafe/id.js
553
+ var id = __webpack_require__(43047);
554
+ // EXTERNAL MODULE: ./node_modules/evt/tools/reducers/removeDuplicates.js
555
+ var removeDuplicates = __webpack_require__(78300);
556
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/readExtraPageNames.js
557
+
558
+
559
+
560
+
561
+
562
+
563
+ function readExtraPagesNames(params) {
564
+ const { themeSrcDirPath, themeType } = params;
565
+ const filePaths = (0,crawl/* crawl */.J)({
566
+ dirPath: (0,external_path_.join)(themeSrcDirPath, themeType),
567
+ returnedPathsType: "absolute"
568
+ }).filter(filePath => /\.(ts|tsx|js|jsx)$/.test(filePath));
569
+ const candidateFilePaths = filePaths.filter(filePath => /[kK]cContext\.[^.]+$/.test(filePath));
570
+ if (candidateFilePaths.length === 0) {
571
+ candidateFilePaths.push(...filePaths);
572
+ }
573
+ const extraPages = [];
574
+ for (const candidateFilPath of candidateFilePaths) {
575
+ const rawSourceFile = external_fs_.readFileSync(candidateFilPath).toString("utf8");
576
+ extraPages.push(...Array.from(rawSourceFile.matchAll(/["']?pageId["']?\s*:\s*["']([^.]+.ftl)["']/g), m => m[1]));
577
+ }
578
+ return extraPages.reduce(...(0,removeDuplicates.removeDuplicates)()).filter(pageId => {
579
+ switch (themeType) {
580
+ case "account":
581
+ return !(0,id.id)(constants/* accountThemePageIds */.UX).includes(pageId);
582
+ case "login":
583
+ return !(0,id.id)(constants/* loginThemePageIds */.MN).includes(pageId);
584
+ }
585
+ });
586
+ }
587
+ //# sourceMappingURL=readExtraPageNames.js.map
588
+ // EXTERNAL MODULE: ./dist/bin/keycloakify/generateResources/generateMessageProperties.js
589
+ var generateMessageProperties = __webpack_require__(73817);
590
+ // EXTERNAL MODULE: ./dist/bin/shared/downloadKeycloakDefaultTheme.js + 1 modules
591
+ var downloadKeycloakDefaultTheme = __webpack_require__(77741);
592
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/bringInAccountV1.js
593
+
594
+
595
+
596
+
597
+
598
+
599
+ (0,assert.assert)();
600
+ async function bringInAccountV1(params) {
601
+ const { resourcesDirPath, buildContext } = params;
602
+ const { defaultThemeDirPath } = await (0,downloadKeycloakDefaultTheme/* downloadKeycloakDefaultTheme */.x)({
603
+ keycloakVersion: constants/* lastKeycloakVersionWithAccountV1 */.v$,
604
+ buildContext
605
+ });
606
+ const accountV1DirPath = (0,external_path_.join)(resourcesDirPath, "theme", constants/* accountV1ThemeName */.y_, "account");
607
+ (0,transformCodebase/* transformCodebase */.N)({
608
+ srcDirPath: (0,external_path_.join)(defaultThemeDirPath, "base", "account"),
609
+ destDirPath: accountV1DirPath
610
+ });
611
+ (0,transformCodebase/* transformCodebase */.N)({
612
+ srcDirPath: (0,external_path_.join)(defaultThemeDirPath, "keycloak", "account", "resources"),
613
+ destDirPath: (0,external_path_.join)(accountV1DirPath, "resources")
614
+ });
615
+ (0,transformCodebase/* transformCodebase */.N)({
616
+ srcDirPath: (0,external_path_.join)(defaultThemeDirPath, "keycloak", "common", "resources"),
617
+ destDirPath: (0,external_path_.join)(accountV1DirPath, "resources", constants/* resources_common */.z0)
618
+ });
619
+ external_fs_.writeFileSync((0,external_path_.join)(accountV1DirPath, "theme.properties"), Buffer.from([
620
+ "accountResourceProvider=account-v1",
621
+ "",
622
+ "locales=ar,ca,cs,da,de,en,es,fr,fi,hu,it,ja,lt,nl,no,pl,pt-BR,ru,sk,sv,tr,zh-CN",
623
+ "",
624
+ "styles=" +
625
+ [
626
+ "css/account.css",
627
+ "img/icon-sidebar-active.png",
628
+ "img/logo.png",
629
+ ...[
630
+ "patternfly.min.css",
631
+ "patternfly-additions.min.css",
632
+ "patternfly-additions.min.css"
633
+ ].map(fileBasename => `${constants/* resources_common */.z0}/node_modules/patternfly/dist/css/${fileBasename}`)
634
+ ].join(" "),
635
+ "",
636
+ "##### css classes for form buttons",
637
+ "# main class used for all buttons",
638
+ "kcButtonClass=btn",
639
+ "# classes defining priority of the button - primary or default (there is typically only one priority button for the form)",
640
+ "kcButtonPrimaryClass=btn-primary",
641
+ "kcButtonDefaultClass=btn-default",
642
+ "# classes defining size of the button",
643
+ "kcButtonLargeClass=btn-lg",
644
+ ""
645
+ ].join("\n"), "utf8"));
646
+ }
647
+ //# sourceMappingURL=bringInAccountV1.js.map
648
+ // EXTERNAL MODULE: ./dist/bin/tools/fs.rmSync.js
649
+ var fs_rmSync = __webpack_require__(89693);
650
+ // EXTERNAL MODULE: ./dist/bin/tools/readThisNpmPackageVersion.js
651
+ var readThisNpmPackageVersion = __webpack_require__(64795);
652
+ ;// CONCATENATED MODULE: ./dist/bin/shared/metaInfKeycloakThemes.js
653
+
654
+
655
+ function writeMetaInfKeycloakThemes(params) {
656
+ const { resourcesDirPath, getNewMetaInfKeycloakTheme } = params;
657
+ const filePath = (0,external_path_.join)(resourcesDirPath, "META-INF", "keycloak-themes.json");
658
+ const currentMetaInfKeycloakTheme = !external_fs_.existsSync(filePath)
659
+ ? undefined
660
+ : JSON.parse(external_fs_.readFileSync(filePath).toString("utf8"));
661
+ const newMetaInfKeycloakThemes = getNewMetaInfKeycloakTheme({
662
+ metaInfKeycloakTheme: currentMetaInfKeycloakTheme
663
+ });
664
+ {
665
+ const dirPath = (0,external_path_.dirname)(filePath);
666
+ if (!external_fs_.existsSync(dirPath)) {
667
+ external_fs_.mkdirSync(dirPath, { recursive: true });
668
+ }
669
+ }
670
+ external_fs_.writeFileSync(filePath, Buffer.from(JSON.stringify(newMetaInfKeycloakThemes, null, 2), "utf8"));
671
+ }
672
+ //# sourceMappingURL=metaInfKeycloakThemes.js.map
673
+ // EXTERNAL MODULE: ./node_modules/tsafe/objectEntries.js
674
+ var objectEntries = __webpack_require__(39612);
675
+ // EXTERNAL MODULE: ./dist/bin/tools/escapeStringForPropertiesFile.js
676
+ var escapeStringForPropertiesFile = __webpack_require__(27190);
677
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/generateResourcesForMainTheme.js
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+ (0,assert.assert)();
697
+ async function generateResourcesForMainTheme(params) {
698
+ var _a;
699
+ const { themeName, resourcesDirPath, buildContext } = params;
700
+ const getThemeTypeDirPath = (params) => {
701
+ const { themeType } = params;
702
+ return (0,external_path_.join)(resourcesDirPath, "theme", themeName, themeType);
703
+ };
704
+ for (const themeType of ["login", "account"]) {
705
+ if (!buildContext.recordIsImplementedByThemeType[themeType]) {
706
+ continue;
707
+ }
708
+ const themeTypeDirPath = getThemeTypeDirPath({ themeType });
709
+ apply_replacers_and_move_to_theme_resources: {
710
+ const destDirPath = (0,external_path_.join)(themeTypeDirPath, "resources", constants/* basenameOfTheKeycloakifyResourcesDir */.M);
711
+ // NOTE: Prevent accumulation of files in the assets dir, as names are hashed they pile up.
712
+ (0,fs_rmSync/* rmSync */.a)(destDirPath, { recursive: true, force: true });
713
+ if (themeType === "account" &&
714
+ buildContext.recordIsImplementedByThemeType.login) {
715
+ // NOTE: We prevent doing it twice, it has been done for the login theme.
716
+ (0,transformCodebase/* transformCodebase */.N)({
717
+ srcDirPath: (0,external_path_.join)(getThemeTypeDirPath({
718
+ themeType: "login"
719
+ }), "resources", constants/* basenameOfTheKeycloakifyResourcesDir */.M),
720
+ destDirPath
721
+ });
722
+ break apply_replacers_and_move_to_theme_resources;
723
+ }
724
+ {
725
+ const dirPath = (0,external_path_.join)(buildContext.projectBuildDirPath, constants/* keycloak_resources */.N$);
726
+ if (external_fs_.existsSync(dirPath)) {
727
+ (0,assert.assert)(buildContext.bundler.type === "webpack");
728
+ throw new Error([
729
+ `Keycloakify build error: The ${constants/* keycloak_resources */.N$} directory shouldn't exist in your build directory.`,
730
+ `(${(0,external_path_.relative)(process.cwd(), dirPath)}).\n`,
731
+ `Theses assets are only required for local development with Storybook.",
732
+ "Please remove this directory as an additional step of your command.\n`,
733
+ `For example: \`"build": "... && rimraf ${(0,external_path_.relative)(buildContext.projectDirPath, dirPath)}"\``
734
+ ].join(" "));
735
+ }
736
+ }
737
+ (0,transformCodebase/* transformCodebase */.N)({
738
+ srcDirPath: buildContext.projectBuildDirPath,
739
+ destDirPath,
740
+ transformSourceCode: ({ filePath, fileRelativePath, sourceCode }) => {
741
+ if (filePath.endsWith(".css")) {
742
+ const { fixedCssCode } = replaceImportsInCssCode({
743
+ cssCode: sourceCode.toString("utf8"),
744
+ cssFileRelativeDirPath: (0,external_path_.dirname)(fileRelativePath),
745
+ buildContext
746
+ });
747
+ return {
748
+ modifiedSourceCode: Buffer.from(fixedCssCode, "utf8")
749
+ };
750
+ }
751
+ if (filePath.endsWith(".js")) {
752
+ const { fixedJsCode } = replaceImportsInJsCode({
753
+ jsCode: sourceCode.toString("utf8"),
754
+ buildContext
755
+ });
756
+ return {
757
+ modifiedSourceCode: Buffer.from(fixedJsCode, "utf8")
758
+ };
759
+ }
760
+ return { modifiedSourceCode: sourceCode };
761
+ }
762
+ });
763
+ }
764
+ const { generateFtlFilesCode } = generateFtlFilesCodeFactory({
765
+ themeName,
766
+ indexHtmlCode: external_fs_.readFileSync((0,external_path_.join)(buildContext.projectBuildDirPath, "index.html"))
767
+ .toString("utf8"),
768
+ buildContext,
769
+ keycloakifyVersion: (0,readThisNpmPackageVersion/* readThisNpmPackageVersion */.K)(),
770
+ themeType,
771
+ fieldNames: readFieldNameUsage({
772
+ themeSrcDirPath: buildContext.themeSrcDirPath,
773
+ themeType
774
+ })
775
+ });
776
+ [
777
+ ...(() => {
778
+ switch (themeType) {
779
+ case "login":
780
+ return constants/* loginThemePageIds */.MN;
781
+ case "account":
782
+ return constants/* accountThemePageIds */.UX;
783
+ }
784
+ })(),
785
+ ...readExtraPagesNames({
786
+ themeType,
787
+ themeSrcDirPath: buildContext.themeSrcDirPath
788
+ })
789
+ ].forEach(pageId => {
790
+ const { ftlCode } = generateFtlFilesCode({ pageId });
791
+ external_fs_.writeFileSync((0,external_path_.join)(themeTypeDirPath, pageId), Buffer.from(ftlCode, "utf8"));
792
+ });
793
+ (0,generateMessageProperties/* generateMessageProperties */.k)({
794
+ themeSrcDirPath: buildContext.themeSrcDirPath,
795
+ themeType
796
+ }).forEach(({ languageTag, propertiesFileSource }) => {
797
+ const messagesDirPath = (0,external_path_.join)(themeTypeDirPath, "messages");
798
+ external_fs_.mkdirSync((0,external_path_.join)(themeTypeDirPath, "messages"), {
799
+ recursive: true
800
+ });
801
+ const propertiesFilePath = (0,external_path_.join)(messagesDirPath, `messages_${languageTag}.properties`);
802
+ external_fs_.writeFileSync(propertiesFilePath, Buffer.from(propertiesFileSource, "utf8"));
803
+ });
804
+ await (0,downloadKeycloakStaticResources/* downloadKeycloakStaticResources */.p)({
805
+ keycloakVersion: (() => {
806
+ switch (themeType) {
807
+ case "account":
808
+ return constants/* lastKeycloakVersionWithAccountV1 */.v$;
809
+ case "login":
810
+ return buildContext.loginThemeResourcesFromKeycloakVersion;
811
+ }
812
+ })(),
813
+ themeDirPath: (0,external_path_.resolve)((0,external_path_.join)(themeTypeDirPath, "..")),
814
+ themeType,
815
+ buildContext
816
+ });
817
+ external_fs_.writeFileSync((0,external_path_.join)(themeTypeDirPath, "theme.properties"), Buffer.from([
818
+ `parent=${(() => {
819
+ switch (themeType) {
820
+ case "account":
821
+ return constants/* accountV1ThemeName */.y_;
822
+ case "login":
823
+ return "keycloak";
824
+ }
825
+ (0,assert.assert)(false);
826
+ })()}`,
827
+ ...((_a = buildContext.extraThemeProperties) !== null && _a !== void 0 ? _a : []),
828
+ ...buildContext.environmentVariables.map(({ name, default: defaultValue }) => `${name}=\${env.${name}:${(0,escapeStringForPropertiesFile/* escapeStringForPropertiesFile */.y)(defaultValue)}}`)
829
+ ].join("\n\n"), "utf8"));
830
+ }
831
+ email: {
832
+ if (!buildContext.recordIsImplementedByThemeType.email) {
833
+ break email;
834
+ }
835
+ const emailThemeSrcDirPath = (0,external_path_.join)(buildContext.themeSrcDirPath, "email");
836
+ (0,transformCodebase/* transformCodebase */.N)({
837
+ srcDirPath: emailThemeSrcDirPath,
838
+ destDirPath: getThemeTypeDirPath({ themeType: "email" })
839
+ });
840
+ }
841
+ if (buildContext.recordIsImplementedByThemeType.account) {
842
+ await bringInAccountV1({
843
+ resourcesDirPath,
844
+ buildContext
845
+ });
846
+ }
847
+ {
848
+ const metaInfKeycloakThemes = { themes: [] };
849
+ metaInfKeycloakThemes.themes.push({
850
+ name: themeName,
851
+ types: (0,objectEntries.objectEntries)(buildContext.recordIsImplementedByThemeType)
852
+ .filter(([, isImplemented]) => isImplemented)
853
+ .map(([themeType]) => themeType)
854
+ });
855
+ if (buildContext.recordIsImplementedByThemeType.account) {
856
+ metaInfKeycloakThemes.themes.push({
857
+ name: constants/* accountV1ThemeName */.y_,
858
+ types: ["account"]
859
+ });
860
+ }
861
+ writeMetaInfKeycloakThemes({
862
+ resourcesDirPath,
863
+ getNewMetaInfKeycloakTheme: () => metaInfKeycloakThemes
864
+ });
865
+ }
866
+ }
867
+ //# sourceMappingURL=generateResourcesForMainTheme.js.map
868
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/generateResourcesForThemeVariant.js
869
+
870
+
871
+
872
+
873
+ (0,assert.assert)();
874
+ function generateResourcesForThemeVariant(params) {
875
+ const { resourcesDirPath, themeName, themeVariantName } = params;
876
+ const mainThemeDirPath = (0,external_path_.join)(resourcesDirPath, "theme", themeName);
877
+ (0,transformCodebase/* transformCodebase */.N)({
878
+ srcDirPath: mainThemeDirPath,
879
+ destDirPath: (0,external_path_.join)(mainThemeDirPath, "..", themeVariantName),
880
+ transformSourceCode: ({ fileRelativePath, sourceCode }) => {
881
+ if ((0,external_path_.extname)(fileRelativePath) === ".ftl" &&
882
+ fileRelativePath.split(external_path_.sep).length === 2) {
883
+ const modifiedSourceCode = Buffer.from(Buffer.from(sourceCode)
884
+ .toString("utf-8")
885
+ .replace(`kcContext.themeName = "${themeName}";`, `kcContext.themeName = "${themeVariantName}";`), "utf8");
886
+ (0,assert.assert)(Buffer.compare(modifiedSourceCode, sourceCode) !== 0);
887
+ return { modifiedSourceCode };
888
+ }
889
+ return { modifiedSourceCode: sourceCode };
890
+ }
891
+ });
892
+ writeMetaInfKeycloakThemes({
893
+ resourcesDirPath,
894
+ getNewMetaInfKeycloakTheme: ({ metaInfKeycloakTheme }) => {
895
+ (0,assert.assert)(metaInfKeycloakTheme !== undefined);
896
+ const newMetaInfKeycloakTheme = metaInfKeycloakTheme;
897
+ newMetaInfKeycloakTheme.themes.push({
898
+ name: themeVariantName,
899
+ types: (() => {
900
+ const theme = newMetaInfKeycloakTheme.themes.find(({ name }) => name === themeName);
901
+ (0,assert.assert)(theme !== undefined);
902
+ return theme.types;
903
+ })()
904
+ });
905
+ return newMetaInfKeycloakTheme;
906
+ }
907
+ });
908
+ }
909
+ //# sourceMappingURL=generateResourcesForThemeVariant.js.map
910
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/generateResources.js
911
+
912
+
913
+
914
+
915
+
916
+ (0,assert.assert)();
917
+ async function generateResources(params) {
918
+ const { resourcesDirPath, buildContext } = params;
919
+ const [themeName, ...themeVariantNames] = buildContext.themeNames;
920
+ if (external_fs_default().existsSync(resourcesDirPath)) {
921
+ (0,fs_rmSync/* rmSync */.a)(resourcesDirPath, { recursive: true });
922
+ }
923
+ await generateResourcesForMainTheme({
924
+ resourcesDirPath,
925
+ themeName,
926
+ buildContext
927
+ });
928
+ for (const themeVariantName of themeVariantNames) {
929
+ generateResourcesForThemeVariant({
930
+ resourcesDirPath,
931
+ themeName,
932
+ themeVariantName
933
+ });
934
+ }
935
+ }
936
+ //# sourceMappingURL=generateResources.js.map
937
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/generateResources/index.js
938
+
939
+ //# sourceMappingURL=index.js.map
940
+ // EXTERNAL MODULE: external "child_process"
941
+ var external_child_process_ = __webpack_require__(32081);
942
+ var external_child_process_default = /*#__PURE__*/__webpack_require__.n(external_child_process_);
943
+ // EXTERNAL MODULE: ./dist/bin/shared/buildContext.js + 1 modules
944
+ var shared_buildContext = __webpack_require__(56031);
945
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/extensionVersions.js
946
+ // NOTE: v0.5 is a dummy version.
947
+ const keycloakAccountV1Versions = [null, "0.3", "0.4", "0.6"];
948
+ const keycloakThemeAdditionalInfoExtensionVersions = [null, "1.1.5"];
949
+ //# sourceMappingURL=extensionVersions.js.map
950
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/getKeycloakVersionRangeForJar.js
951
+
952
+ function getKeycloakVersionRangeForJar(params) {
953
+ const { keycloakAccountV1Version, keycloakThemeAdditionalInfoExtensionVersion, doesImplementAccountTheme } = params;
954
+ if (doesImplementAccountTheme) {
955
+ const keycloakVersionRange = (() => {
956
+ switch (keycloakAccountV1Version) {
957
+ case null:
958
+ switch (keycloakThemeAdditionalInfoExtensionVersion) {
959
+ case null:
960
+ return "21-and-below";
961
+ case "1.1.5":
962
+ return undefined;
963
+ }
964
+ (0,assert.assert)(false);
965
+ case "0.3":
966
+ switch (keycloakThemeAdditionalInfoExtensionVersion) {
967
+ case null:
968
+ return undefined;
969
+ case "1.1.5":
970
+ return "23";
971
+ }
972
+ (0,assert.assert)(false);
973
+ case "0.4":
974
+ switch (keycloakThemeAdditionalInfoExtensionVersion) {
975
+ case null:
976
+ return undefined;
977
+ case "1.1.5":
978
+ return "24";
979
+ }
980
+ (0,assert.assert)(false);
981
+ case "0.6":
982
+ switch (keycloakThemeAdditionalInfoExtensionVersion) {
983
+ case null:
984
+ return undefined;
985
+ case "1.1.5":
986
+ return "25-and-above";
987
+ }
988
+ }
989
+ (0,assert.assert)(false);
990
+ })();
991
+ (0,assert.assert)();
992
+ return keycloakVersionRange;
993
+ }
994
+ else {
995
+ const keycloakVersionRange = (() => {
996
+ if (keycloakAccountV1Version !== null) {
997
+ return undefined;
998
+ }
999
+ switch (keycloakThemeAdditionalInfoExtensionVersion) {
1000
+ case null:
1001
+ return "21-and-below";
1002
+ case "1.1.5":
1003
+ return "22-and-above";
1004
+ }
1005
+ (0,assert.assert)(false);
1006
+ })();
1007
+ (0,assert.assert)();
1008
+ return keycloakVersionRange;
1009
+ }
1010
+ }
1011
+ //# sourceMappingURL=getKeycloakVersionRangeForJar.js.map
1012
+ // EXTERNAL MODULE: external "fs/promises"
1013
+ var promises_ = __webpack_require__(73292);
1014
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/generatePom.js
1015
+
1016
+ (0,assert.assert)();
1017
+ function generatePom(params) {
1018
+ const { keycloakAccountV1Version, keycloakThemeAdditionalInfoExtensionVersion, buildContext } = params;
1019
+ const { pomFileCode } = (function generatePomFileCode() {
1020
+ const pomFileCode = [
1021
+ `<?xml version="1.0"?>`,
1022
+ `<project xmlns="http://maven.apache.org/POM/4.0.0"`,
1023
+ ` xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"`,
1024
+ ` xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">`,
1025
+ ` <modelVersion>4.0.0</modelVersion>`,
1026
+ ` <groupId>${buildContext.groupId}</groupId>`,
1027
+ ` <artifactId>${buildContext.artifactId}</artifactId>`,
1028
+ ` <version>${buildContext.themeVersion}</version>`,
1029
+ ` <name>${buildContext.artifactId}</name>`,
1030
+ ` <description />`,
1031
+ ` <packaging>jar</packaging>`,
1032
+ ` <properties>`,
1033
+ ` <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>`,
1034
+ ` </properties>`,
1035
+ ...(keycloakAccountV1Version !== null ||
1036
+ keycloakThemeAdditionalInfoExtensionVersion !== null
1037
+ ? [
1038
+ ` <build>`,
1039
+ ` <plugins>`,
1040
+ ` <plugin>`,
1041
+ ` <groupId>org.apache.maven.plugins</groupId>`,
1042
+ ` <artifactId>maven-shade-plugin</artifactId>`,
1043
+ ` <version>3.5.1</version>`,
1044
+ ` <executions>`,
1045
+ ` <execution>`,
1046
+ ` <phase>package</phase>`,
1047
+ ` <goals>`,
1048
+ ` <goal>shade</goal>`,
1049
+ ` </goals>`,
1050
+ ` </execution>`,
1051
+ ` </executions>`,
1052
+ ` </plugin>`,
1053
+ ` </plugins>`,
1054
+ ` </build>`,
1055
+ ` <dependencies>`,
1056
+ ...(keycloakAccountV1Version !== null
1057
+ ? [
1058
+ ` <dependency>`,
1059
+ ` <groupId>io.phasetwo.keycloak</groupId>`,
1060
+ ` <artifactId>keycloak-account-v1</artifactId>`,
1061
+ ` <version>${keycloakAccountV1Version}</version>`,
1062
+ ` </dependency>`
1063
+ ]
1064
+ : []),
1065
+ ...(keycloakThemeAdditionalInfoExtensionVersion !== null
1066
+ ? [
1067
+ ` <dependency>`,
1068
+ ` <groupId>dev.jcputney</groupId>`,
1069
+ ` <artifactId>keycloak-theme-additional-info-extension</artifactId>`,
1070
+ ` <version>${keycloakThemeAdditionalInfoExtensionVersion}</version>`,
1071
+ ` </dependency>`
1072
+ ]
1073
+ : []),
1074
+ ` </dependencies>`
1075
+ ]
1076
+ : []),
1077
+ `</project>`
1078
+ ].join("\n");
1079
+ return { pomFileCode };
1080
+ })();
1081
+ return { pomFileCode };
1082
+ }
1083
+ //# sourceMappingURL=generatePom.js.map
1084
+ // EXTERNAL MODULE: ./dist/bin/tools/isInside.js
1085
+ var isInside = __webpack_require__(90665);
1086
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/buildJar.js
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+ (0,assert.assert)();
1099
+ async function buildJar(params) {
1100
+ const { jarFileBasename, keycloakAccountV1Version, keycloakThemeAdditionalInfoExtensionVersion, resourcesDirPath, buildContext } = params;
1101
+ const keycloakifyBuildTmpDirPath = (0,external_path_.join)(buildContext.cacheDirPath, jarFileBasename.replace(".jar", ""));
1102
+ (0,fs_rmSync/* rmSync */.a)(keycloakifyBuildTmpDirPath, { recursive: true, force: true });
1103
+ const tmpResourcesDirPath = (0,external_path_.join)(keycloakifyBuildTmpDirPath, "src", "main", "resources");
1104
+ (0,transformCodebase/* transformCodebase */.N)({
1105
+ srcDirPath: resourcesDirPath,
1106
+ destDirPath: tmpResourcesDirPath,
1107
+ transformSourceCode: keycloakAccountV1Version !== null
1108
+ ? undefined
1109
+ : (params) => {
1110
+ const { fileRelativePath, sourceCode } = params;
1111
+ if ((0,isInside/* isInside */.V)({
1112
+ dirPath: (0,external_path_.join)("theme", constants/* accountV1ThemeName */.y_),
1113
+ filePath: fileRelativePath
1114
+ })) {
1115
+ return undefined;
1116
+ }
1117
+ for (const themeName of buildContext.themeNames) {
1118
+ if (fileRelativePath ===
1119
+ (0,external_path_.join)("theme", themeName, "account", "theme.properties")) {
1120
+ const modifiedSourceCode = Buffer.from(sourceCode
1121
+ .toString("utf8")
1122
+ .replace(`parent=${constants/* accountV1ThemeName */.y_}`, "parent=keycloak"), "utf8");
1123
+ (0,assert.assert)(Buffer.compare(modifiedSourceCode, sourceCode) !== 0);
1124
+ return { modifiedSourceCode };
1125
+ }
1126
+ }
1127
+ return { modifiedSourceCode: sourceCode };
1128
+ }
1129
+ });
1130
+ if (keycloakAccountV1Version === null) {
1131
+ writeMetaInfKeycloakThemes({
1132
+ resourcesDirPath: tmpResourcesDirPath,
1133
+ getNewMetaInfKeycloakTheme: ({ metaInfKeycloakTheme }) => {
1134
+ (0,assert.assert)(metaInfKeycloakTheme !== undefined);
1135
+ metaInfKeycloakTheme.themes = metaInfKeycloakTheme.themes.filter(({ name }) => name !== constants/* accountV1ThemeName */.y_);
1136
+ return metaInfKeycloakTheme;
1137
+ }
1138
+ });
1139
+ }
1140
+ route_legacy_pages: {
1141
+ // NOTE: If there's no account theme there is no special target for keycloak 24 and up so we create
1142
+ // the pages anyway. If there is an account pages, since we know that account-v1 is only support keycloak
1143
+ // 24 in version 0.4 and up, we can safely break the route for legacy pages.
1144
+ const doBreak = (() => {
1145
+ switch (keycloakAccountV1Version) {
1146
+ case null:
1147
+ return false;
1148
+ case "0.3":
1149
+ return false;
1150
+ default:
1151
+ return true;
1152
+ }
1153
+ })();
1154
+ if (doBreak) {
1155
+ break route_legacy_pages;
1156
+ }
1157
+ ["register.ftl", "login-update-profile.ftl"].forEach(pageId => buildContext.themeNames.map(themeName => {
1158
+ const ftlFilePath = (0,external_path_.join)(keycloakifyBuildTmpDirPath, "src", "main", "resources", "theme", themeName, "login", pageId);
1159
+ const ftlFileContent = (0,external_fs_.readFileSync)(ftlFilePath).toString("utf8");
1160
+ const realPageId = (() => {
1161
+ switch (pageId) {
1162
+ case "register.ftl":
1163
+ return "register-user-profile.ftl";
1164
+ case "login-update-profile.ftl":
1165
+ return "update-user-profile.ftl";
1166
+ }
1167
+ (0,assert.assert)(false);
1168
+ })();
1169
+ const modifiedFtlFileContent = ftlFileContent.replace(`kcContext.pageId = "\${pageId}";`, `kcContext.pageId = "${pageId}"; kcContext.realPageId = "${realPageId}";`);
1170
+ (0,assert.assert)(modifiedFtlFileContent !== ftlFileContent);
1171
+ promises_.writeFile((0,external_path_.join)((0,external_path_.dirname)(ftlFilePath), realPageId), Buffer.from(modifiedFtlFileContent, "utf8"));
1172
+ }));
1173
+ }
1174
+ {
1175
+ const { pomFileCode } = generatePom({
1176
+ buildContext,
1177
+ keycloakAccountV1Version,
1178
+ keycloakThemeAdditionalInfoExtensionVersion
1179
+ });
1180
+ await promises_.writeFile((0,external_path_.join)(keycloakifyBuildTmpDirPath, "pom.xml"), Buffer.from(pomFileCode, "utf8"));
1181
+ }
1182
+ await new Promise((resolve, reject) => external_child_process_default().exec(`mvn clean install -Dmaven.repo.local=${(0,external_path_.join)(keycloakifyBuildTmpDirPath, ".m2")}`, { cwd: keycloakifyBuildTmpDirPath }, error => {
1183
+ if (error !== null) {
1184
+ console.error(`Build jar failed: ${JSON.stringify({
1185
+ jarFileBasename,
1186
+ keycloakAccountV1Version,
1187
+ keycloakThemeAdditionalInfoExtensionVersion
1188
+ }, null, 2)}`);
1189
+ reject(error);
1190
+ return;
1191
+ }
1192
+ resolve();
1193
+ }));
1194
+ await promises_.rename((0,external_path_.join)(keycloakifyBuildTmpDirPath, "target", `${buildContext.artifactId}-${buildContext.themeVersion}.jar`), (0,external_path_.join)(buildContext.keycloakifyBuildDirPath, jarFileBasename));
1195
+ (0,fs_rmSync/* rmSync */.a)(keycloakifyBuildTmpDirPath, { recursive: true });
1196
+ }
1197
+ //# sourceMappingURL=buildJar.js.map
1198
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/buildJars.js
1199
+
1200
+
1201
+
1202
+
1203
+ (0,assert.assert)();
1204
+ async function buildJars(params) {
1205
+ const { resourcesDirPath, buildContext } = params;
1206
+ const doesImplementAccountTheme = buildContext.recordIsImplementedByThemeType.account;
1207
+ await Promise.all(keycloakAccountV1Versions.map(keycloakAccountV1Version => keycloakThemeAdditionalInfoExtensionVersions.map(keycloakThemeAdditionalInfoExtensionVersion => {
1208
+ const keycloakVersionRange = getKeycloakVersionRangeForJar({
1209
+ doesImplementAccountTheme,
1210
+ keycloakAccountV1Version,
1211
+ keycloakThemeAdditionalInfoExtensionVersion
1212
+ });
1213
+ if (keycloakVersionRange === undefined) {
1214
+ return undefined;
1215
+ }
1216
+ const jarTarget = buildContext.jarTargets.find(jarTarget => jarTarget.keycloakVersionRange === keycloakVersionRange);
1217
+ if (jarTarget === undefined) {
1218
+ return undefined;
1219
+ }
1220
+ const { jarFileBasename } = jarTarget;
1221
+ return buildJar({
1222
+ jarFileBasename,
1223
+ keycloakAccountV1Version,
1224
+ keycloakThemeAdditionalInfoExtensionVersion,
1225
+ resourcesDirPath,
1226
+ buildContext
1227
+ });
1228
+ }))
1229
+ .flat());
1230
+ }
1231
+ //# sourceMappingURL=buildJars.js.map
1232
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/buildJars/index.js
1233
+
1234
+ //# sourceMappingURL=index.js.map
1235
+ // EXTERNAL MODULE: ./node_modules/chalk/source/index.js
1236
+ var source = __webpack_require__(78818);
1237
+ var source_default = /*#__PURE__*/__webpack_require__.n(source);
1238
+ // EXTERNAL MODULE: external "os"
1239
+ var external_os_ = __webpack_require__(22037);
1240
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/keycloakify.js
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+ async function command(params) {
1253
+ exit_if_maven_not_installed: {
1254
+ let commandOutput = undefined;
1255
+ try {
1256
+ commandOutput = external_child_process_.execSync("mvn --version", {
1257
+ stdio: ["ignore", "pipe", "ignore"]
1258
+ });
1259
+ }
1260
+ catch (_a) { }
1261
+ if (commandOutput === null || commandOutput === void 0 ? void 0 : commandOutput.toString("utf8").includes("Apache Maven")) {
1262
+ break exit_if_maven_not_installed;
1263
+ }
1264
+ const installationCommand = (() => {
1265
+ switch (external_os_.platform()) {
1266
+ case "darwin":
1267
+ return "brew install mvn";
1268
+ case "win32":
1269
+ return "choco install mvn";
1270
+ case "linux":
1271
+ default:
1272
+ return "sudo apt-get install mvn";
1273
+ }
1274
+ })();
1275
+ console.log(`${source_default().red("Apache Maven required.")} Install it with \`${source_default().bold(installationCommand)}\` (for example)`);
1276
+ process.exit(1);
1277
+ }
1278
+ const { cliCommandOptions } = params;
1279
+ const buildContext = (0,shared_buildContext/* getBuildContext */.s)({ cliCommandOptions });
1280
+ console.log([
1281
+ source_default().cyan(`keycloakify v${(0,readThisNpmPackageVersion/* readThisNpmPackageVersion */.K)()}`),
1282
+ source_default().green(`Building the keycloak theme in .${external_path_.sep}${(0,external_path_.relative)(process.cwd(), buildContext.keycloakifyBuildDirPath)} ...`)
1283
+ ].join(" "));
1284
+ const startTime = Date.now();
1285
+ {
1286
+ if (!external_fs_.existsSync(buildContext.keycloakifyBuildDirPath)) {
1287
+ external_fs_.mkdirSync(buildContext.keycloakifyBuildDirPath, {
1288
+ recursive: true
1289
+ });
1290
+ }
1291
+ external_fs_.writeFileSync((0,external_path_.join)(buildContext.keycloakifyBuildDirPath, ".gitignore"), Buffer.from("*", "utf8"));
1292
+ }
1293
+ const resourcesDirPath = (0,external_path_.join)(buildContext.keycloakifyBuildDirPath, "resources");
1294
+ await generateResources({
1295
+ resourcesDirPath,
1296
+ buildContext
1297
+ });
1298
+ run_post_build_script: {
1299
+ if (buildContext.bundler.type !== "vite") {
1300
+ break run_post_build_script;
1301
+ }
1302
+ external_child_process_.execSync("npx vite", {
1303
+ cwd: buildContext.projectDirPath,
1304
+ env: Object.assign(Object.assign({}, process.env), { [constants/* vitePluginSubScriptEnvNames.runPostBuildScript */.fe.runPostBuildScript]: JSON.stringify({
1305
+ resourcesDirPath,
1306
+ buildContext
1307
+ }) })
1308
+ });
1309
+ }
1310
+ await buildJars({
1311
+ resourcesDirPath,
1312
+ buildContext
1313
+ });
1314
+ (0,fs_rmSync/* rmSync */.a)(resourcesDirPath, { recursive: true });
1315
+ console.log(source_default().green(`✓ keycloak theme built in ${((Date.now() - startTime) / 1000).toFixed(2)}s`));
1316
+ }
1317
+ //# sourceMappingURL=keycloakify.js.map
1318
+ ;// CONCATENATED MODULE: ./dist/bin/keycloakify/index.js
1319
+
1320
+ //# sourceMappingURL=index.js.map
1321
+
1322
+ /***/ }),
1323
+
1324
+ /***/ 62190:
1325
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1326
+
1327
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1328
+ /* harmony export */ "p": () => (/* binding */ downloadKeycloakStaticResources)
1329
+ /* harmony export */ });
1330
+ /* harmony import */ var _tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60332);
1331
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71017);
1332
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);
1333
+ /* harmony import */ var _downloadKeycloakDefaultTheme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77741);
1334
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(173);
1335
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(88078);
1336
+ /* harmony import */ var tsafe_assert__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(tsafe_assert__WEBPACK_IMPORTED_MODULE_4__);
1337
+ /* harmony import */ var _tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(43765);
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+ (0,tsafe_assert__WEBPACK_IMPORTED_MODULE_4__.assert)();
1345
+ async function downloadKeycloakStaticResources(params) {
1346
+ const { themeType, themeDirPath, keycloakVersion, buildContext } = params;
1347
+ const { defaultThemeDirPath } = await (0,_downloadKeycloakDefaultTheme__WEBPACK_IMPORTED_MODULE_2__/* .downloadKeycloakDefaultTheme */ .x)({
1348
+ keycloakVersion,
1349
+ buildContext
1350
+ });
1351
+ const resourcesDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(themeDirPath, themeType, "resources");
1352
+ repatriate_base_resources: {
1353
+ const srcDirPath = (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "base", themeType, "resources");
1354
+ if (!(await (0,_tools_fs_existsAsync__WEBPACK_IMPORTED_MODULE_5__/* .existsAsync */ .o)(srcDirPath))) {
1355
+ break repatriate_base_resources;
1356
+ }
1357
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
1358
+ srcDirPath,
1359
+ destDirPath: resourcesDirPath
1360
+ });
1361
+ }
1362
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
1363
+ srcDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "keycloak", themeType, "resources"),
1364
+ destDirPath: resourcesDirPath
1365
+ });
1366
+ (0,_tools_transformCodebase__WEBPACK_IMPORTED_MODULE_0__/* .transformCodebase */ .N)({
1367
+ srcDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(defaultThemeDirPath, "keycloak", "common", "resources"),
1368
+ destDirPath: (0,path__WEBPACK_IMPORTED_MODULE_1__.join)(resourcesDirPath, _constants__WEBPACK_IMPORTED_MODULE_3__/* .resources_common */ .z0)
1369
+ });
1370
+ }
1371
+ //# sourceMappingURL=downloadKeycloakStaticResources.js.map
1372
+
1373
+ /***/ }),
1374
+
1375
+ /***/ 27190:
1376
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1377
+
1378
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1379
+ /* harmony export */ "y": () => (/* binding */ escapeStringForPropertiesFile)
1380
+ /* harmony export */ });
1381
+ // Convert a JavaScript string to UTF-16 encoding
1382
+ function toUTF16(codePoint) {
1383
+ if (codePoint <= 0xffff) {
1384
+ // BMP character
1385
+ return "\\u" + codePoint.toString(16).padStart(4, "0");
1386
+ }
1387
+ else {
1388
+ // Non-BMP character
1389
+ codePoint -= 0x10000;
1390
+ let highSurrogate = (codePoint >> 10) + 0xd800;
1391
+ let lowSurrogate = (codePoint % 0x400) + 0xdc00;
1392
+ return ("\\u" +
1393
+ highSurrogate.toString(16).padStart(4, "0") +
1394
+ "\\u" +
1395
+ lowSurrogate.toString(16).padStart(4, "0"));
1396
+ }
1397
+ }
1398
+ // Escapes special characters for use in a .properties file
1399
+ function escapeStringForPropertiesFile(str) {
1400
+ let escapedStr = "";
1401
+ for (const char of [...str]) {
1402
+ const codePoint = char.codePointAt(0);
1403
+ if (!codePoint)
1404
+ continue;
1405
+ switch (char) {
1406
+ case "\n":
1407
+ escapedStr += "\\n";
1408
+ break;
1409
+ case "\r":
1410
+ escapedStr += "\\r";
1411
+ break;
1412
+ case "\t":
1413
+ escapedStr += "\\t";
1414
+ break;
1415
+ case "\\":
1416
+ escapedStr += "\\\\";
1417
+ break;
1418
+ case ":":
1419
+ escapedStr += "\\:";
1420
+ break;
1421
+ case "=":
1422
+ escapedStr += "\\=";
1423
+ break;
1424
+ case "#":
1425
+ escapedStr += "\\#";
1426
+ break;
1427
+ case "!":
1428
+ escapedStr += "\\!";
1429
+ break;
1430
+ case "'":
1431
+ escapedStr += "''";
1432
+ break;
1433
+ default:
1434
+ if (codePoint > 0x7f) {
1435
+ escapedStr += toUTF16(codePoint); // Non-ASCII characters
1436
+ }
1437
+ else {
1438
+ escapedStr += char; // ASCII character needs no escape
1439
+ }
1440
+ }
1441
+ }
1442
+ return escapedStr;
1443
+ }
1444
+ //# sourceMappingURL=escapeStringForPropertiesFile.js.map
1445
+
1446
+ /***/ }),
1447
+
1448
+ /***/ 90665:
1449
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1450
+
1451
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1452
+ /* harmony export */ "V": () => (/* binding */ isInside)
1453
+ /* harmony export */ });
1454
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71017);
1455
+ /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);
1456
+
1457
+ function isInside(params) {
1458
+ const { dirPath, filePath } = params;
1459
+ return !(0,path__WEBPACK_IMPORTED_MODULE_0__.relative)(dirPath, filePath).startsWith("..");
1460
+ }
1461
+ //# sourceMappingURL=isInside.js.map
1462
+
1463
+ /***/ })
1464
+
1465
+ };
1466
+ ;