keycloakify 10.0.0-rc.7 → 10.0.0-rc.70

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