keycloakify 10.1.0-rc.1 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/PUBLIC_URL.js +2 -2
  2. package/PUBLIC_URL.js.map +1 -1
  3. package/account/KcContext/kcContextMocks.js +3 -3
  4. package/account/KcContext/kcContextMocks.js.map +1 -1
  5. package/bin/193.index.js +198 -62
  6. package/bin/{365.index.js → 20.index.js} +302 -263
  7. package/bin/31.index.js +15 -23
  8. package/bin/{430.index.js → 33.index.js} +579 -4
  9. package/bin/{678.index.js → 36.index.js} +2 -577
  10. package/bin/{440.index.js → 499.index.js} +259 -181
  11. package/bin/526.index.js +3 -784
  12. package/bin/599.index.js +4 -1
  13. package/bin/780.index.js +1 -1
  14. package/bin/{525.index.js → 903.index.js} +4840 -97
  15. package/bin/932.index.js +115 -886
  16. package/bin/main.js +4 -4
  17. package/bin/shared/buildContext.d.ts +0 -2
  18. package/bin/shared/buildContext.js.map +1 -1
  19. package/bin/shared/constants.d.ts +5 -6
  20. package/bin/shared/constants.js +5 -6
  21. package/bin/shared/constants.js.map +1 -1
  22. package/bin/shared/copyKeycloakResourcesToPublic.d.ts +2 -4
  23. package/bin/shared/copyKeycloakResourcesToPublic.js.map +1 -1
  24. package/login/KcContext/KcContext.d.ts +9 -18
  25. package/login/KcContext/KcContext.js.map +1 -1
  26. package/login/KcContext/kcContextMocks.js +6 -10
  27. package/login/KcContext/kcContextMocks.js.map +1 -1
  28. package/login/Template.js +4 -59
  29. package/login/Template.js.map +1 -1
  30. package/login/Template.useStylesAndScripts.d.ts +17 -0
  31. package/login/Template.useStylesAndScripts.js +69 -0
  32. package/login/Template.useStylesAndScripts.js.map +1 -0
  33. package/login/pages/Login.js +1 -1
  34. package/login/pages/Login.js.map +1 -1
  35. package/login/pages/LoginIdpLinkConfirmOverride.js +0 -1
  36. package/login/pages/LoginIdpLinkConfirmOverride.js.map +1 -1
  37. package/login/pages/LoginPasskeysConditionalAuthenticate.js +6 -49
  38. package/login/pages/LoginPasskeysConditionalAuthenticate.js.map +1 -1
  39. package/login/pages/LoginPasskeysConditionalAuthenticate.useScript.d.ts +20 -0
  40. package/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js +49 -0
  41. package/login/pages/LoginPasskeysConditionalAuthenticate.useScript.js.map +1 -0
  42. package/login/pages/LoginRecoveryAuthnCodeConfig.js +4 -126
  43. package/login/pages/LoginRecoveryAuthnCodeConfig.js.map +1 -1
  44. package/login/pages/LoginRecoveryAuthnCodeConfig.useScript.d.ts +9 -0
  45. package/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js +133 -0
  46. package/login/pages/LoginRecoveryAuthnCodeConfig.useScript.js.map +1 -0
  47. package/login/pages/LoginUsername.js +1 -1
  48. package/login/pages/LoginUsername.js.map +1 -1
  49. package/login/pages/Register.js +6 -3
  50. package/login/pages/Register.js.map +1 -1
  51. package/login/pages/WebauthnAuthenticate.js +13 -116
  52. package/login/pages/WebauthnAuthenticate.js.map +1 -1
  53. package/login/pages/WebauthnAuthenticate.useScript.d.ts +21 -0
  54. package/login/pages/WebauthnAuthenticate.useScript.js +41 -0
  55. package/login/pages/WebauthnAuthenticate.useScript.js.map +1 -0
  56. package/login/pages/WebauthnRegister.js +8 -178
  57. package/login/pages/WebauthnRegister.js.map +1 -1
  58. package/login/pages/WebauthnRegister.useScript.d.ts +27 -0
  59. package/login/pages/WebauthnRegister.useScript.js +49 -0
  60. package/login/pages/WebauthnRegister.useScript.js.map +1 -0
  61. package/package.json +125 -15
  62. package/res/account-v1/account.ftl +70 -0
  63. package/res/account-v1/applications.ftl +76 -0
  64. package/res/account-v1/federatedIdentity.ftl +42 -0
  65. package/res/account-v1/log.ftl +35 -0
  66. package/res/account-v1/messages/messages_ar.properties +406 -0
  67. package/res/account-v1/messages/messages_ca.properties +147 -0
  68. package/res/account-v1/messages/messages_cs.properties +171 -0
  69. package/res/account-v1/messages/messages_da.properties +339 -0
  70. package/res/account-v1/messages/messages_de.properties +353 -0
  71. package/res/account-v1/messages/messages_en.properties +404 -0
  72. package/res/account-v1/messages/messages_es.properties +147 -0
  73. package/res/account-v1/messages/messages_fi.properties +400 -0
  74. package/res/account-v1/messages/messages_fr.properties +180 -0
  75. package/res/account-v1/messages/messages_hu.properties +334 -0
  76. package/res/account-v1/messages/messages_it.properties +336 -0
  77. package/res/account-v1/messages/messages_ja.properties +335 -0
  78. package/res/account-v1/messages/messages_lt.properties +154 -0
  79. package/res/account-v1/messages/messages_lv.properties +197 -0
  80. package/res/account-v1/messages/messages_nl.properties +371 -0
  81. package/res/account-v1/messages/messages_no.properties +152 -0
  82. package/res/account-v1/messages/messages_pl.properties +248 -0
  83. package/res/account-v1/messages/messages_pt_BR.properties +349 -0
  84. package/res/account-v1/messages/messages_ru.properties +235 -0
  85. package/res/account-v1/messages/messages_sk.properties +196 -0
  86. package/res/account-v1/messages/messages_sv.properties +150 -0
  87. package/res/account-v1/messages/messages_tr.properties +315 -0
  88. package/res/account-v1/messages/messages_zh_CN.properties +153 -0
  89. package/res/account-v1/password.ftl +59 -0
  90. package/res/account-v1/resource-detail.ftl +277 -0
  91. package/res/account-v1/resources/css/account.css +277 -0
  92. package/res/account-v1/resources/img/icon-sidebar-active.png +0 -0
  93. package/res/account-v1/resources/img/keycloak-logo.png +0 -0
  94. package/res/account-v1/resources/img/logo.png +0 -0
  95. package/res/account-v1/resources/resources-common/img/favicon.ico +0 -0
  96. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css +5 -0
  97. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/css/patternfly.min.css +8 -0
  98. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
  99. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
  100. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
  101. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
  102. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
  103. package/res/account-v1/resources/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
  104. package/res/account-v1/resources.ftl +403 -0
  105. package/res/account-v1/sessions.ftl +44 -0
  106. package/res/account-v1/template.ftl +88 -0
  107. package/res/account-v1/theme.properties +14 -0
  108. package/res/account-v1/totp.ftl +141 -0
  109. package/res/public/.keycloakify/account/css/account.css +277 -0
  110. package/res/public/.keycloakify/account/img/icon-sidebar-active.png +0 -0
  111. package/res/public/.keycloakify/account/img/keycloak-logo.png +0 -0
  112. package/res/public/.keycloakify/account/img/logo.png +0 -0
  113. package/res/public/.keycloakify/account/resources-common/img/favicon.ico +0 -0
  114. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css +5 -0
  115. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/css/patternfly.min.css +8 -0
  116. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
  117. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
  118. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
  119. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
  120. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
  121. package/res/public/.keycloakify/account/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
  122. package/res/public/.keycloakify/login/css/login.css +629 -0
  123. package/res/public/.keycloakify/login/img/feedback-error-arrow-down.png +0 -0
  124. package/res/public/.keycloakify/login/img/feedback-error-sign.png +0 -0
  125. package/res/public/.keycloakify/login/img/feedback-success-arrow-down.png +0 -0
  126. package/res/public/.keycloakify/login/img/feedback-success-sign.png +0 -0
  127. package/res/public/.keycloakify/login/img/feedback-warning-arrow-down.png +0 -0
  128. package/res/public/.keycloakify/login/img/feedback-warning-sign.png +0 -0
  129. package/res/public/.keycloakify/login/img/keycloak-bg.png +0 -0
  130. package/res/public/.keycloakify/login/img/keycloak-logo-text.png +0 -0
  131. package/res/public/.keycloakify/login/img/keycloak-logo.png +0 -0
  132. package/res/public/.keycloakify/login/js/authChecker.js +49 -0
  133. package/res/public/.keycloakify/login/js/common.js +48 -0
  134. package/res/public/.keycloakify/login/js/kcMultivalued.js +106 -0
  135. package/res/public/.keycloakify/login/js/kcNumberFormat.js +21 -0
  136. package/res/public/.keycloakify/login/js/kcNumberUnFormat.js +19 -0
  137. package/res/public/.keycloakify/login/js/menu-button-links.js +315 -0
  138. package/{src/bin/shared/downloadKeycloakDefaultTheme/extra-assets → res/public/.keycloakify/login/js}/passkeysConditionalAuth.js +1 -1
  139. package/res/public/.keycloakify/login/js/passwordVisibility.js +15 -0
  140. package/res/public/.keycloakify/login/js/userProfile.js +71 -0
  141. package/res/public/.keycloakify/login/js/webauthnRegister.js +140 -0
  142. package/res/public/.keycloakify/login/resources-common/img/favicon.ico +0 -0
  143. package/res/public/.keycloakify/login/resources-common/lib/pficon/pficon.css +22 -0
  144. package/res/public/.keycloakify/login/resources-common/lib/pficon/pficon.woff2 +0 -0
  145. package/res/public/.keycloakify/login/resources-common/node_modules/@patternfly/patternfly/patternfly.min.css +2 -0
  146. package/res/public/.keycloakify/login/resources-common/node_modules/jquery/dist/jquery.min.js +2 -0
  147. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/css/patternfly-additions.min.css +5 -0
  148. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/css/patternfly.min.css +8 -0
  149. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Bold-webfont.ttf +0 -0
  150. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Bold-webfont.woff +0 -0
  151. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Bold-webfont.woff2 +0 -0
  152. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Light-webfont.woff2 +0 -0
  153. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Regular-webfont.woff2 +0 -0
  154. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/OpenSans-Semibold-webfont.woff2 +0 -0
  155. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.ttf +0 -0
  156. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/PatternFlyIcons-webfont.woff +0 -0
  157. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/fonts/fontawesome-webfont.woff2 +0 -0
  158. package/res/public/.keycloakify/login/resources-common/node_modules/patternfly/dist/img/bg-login.jpg +0 -0
  159. package/res/public/.keycloakify/login/resources-common/node_modules/rfc4648/lib/rfc4648.js +178 -0
  160. package/src/PUBLIC_URL.ts +5 -3
  161. package/src/account/KcContext/kcContextMocks.ts +3 -3
  162. package/src/bin/copy-keycloak-resources-to-public.ts +1 -1
  163. package/src/bin/initialize-account-theme/initializeAccountTheme_singlePage.ts +4 -1
  164. package/src/bin/initialize-email-theme.ts +28 -8
  165. package/src/bin/keycloakify/buildJars/buildJar.ts +3 -7
  166. package/src/bin/keycloakify/generateFtl/generateFtl.ts +3 -7
  167. package/src/bin/keycloakify/generateResources/generateResourcesForMainTheme.ts +65 -90
  168. package/src/bin/keycloakify/keycloakify.ts +38 -21
  169. package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +2 -2
  170. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/vite.ts +3 -3
  171. package/src/bin/keycloakify/replacers/replaceImportsInJsCode/webpack.ts +3 -3
  172. package/src/bin/shared/buildContext.ts +1 -8
  173. package/src/bin/shared/constants.ts +5 -7
  174. package/src/bin/shared/copyKeycloakResourcesToPublic.ts +30 -40
  175. package/src/bin/start-keycloak/start-keycloak.ts +3 -7
  176. package/src/login/KcContext/KcContext.ts +9 -18
  177. package/src/login/KcContext/kcContextMocks.ts +5 -13
  178. package/src/login/Template.tsx +4 -67
  179. package/src/login/Template.useStylesAndScripts.ts +94 -0
  180. package/src/login/pages/Login.tsx +1 -1
  181. package/src/login/pages/LoginIdpLinkConfirmOverride.tsx +0 -1
  182. package/src/login/pages/LoginPasskeysConditionalAuthenticate.tsx +6 -81
  183. package/src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.tsx +72 -0
  184. package/src/login/pages/LoginRecoveryAuthnCodeConfig.tsx +4 -126
  185. package/src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.tsx +142 -0
  186. package/src/login/pages/LoginUsername.tsx +1 -1
  187. package/src/login/pages/Register.tsx +35 -13
  188. package/src/login/pages/WebauthnAuthenticate.tsx +20 -133
  189. package/src/login/pages/WebauthnAuthenticate.useScript.tsx +64 -0
  190. package/src/login/pages/WebauthnRegister.tsx +8 -195
  191. package/src/login/pages/WebauthnRegister.useScript.tsx +93 -0
  192. package/src/tools/useInsertScriptTags.ts +14 -4
  193. package/src/vite-plugin/vite-plugin.ts +11 -15
  194. package/tools/useInsertScriptTags.d.ts +2 -2
  195. package/tools/useInsertScriptTags.js +8 -2
  196. package/tools/useInsertScriptTags.js.map +1 -1
  197. package/vite-plugin/index.js +3357 -47132
  198. package/bin/697.index.js +0 -4749
  199. package/bin/shared/downloadKeycloakStaticResources.d.ts +0 -9
  200. package/bin/shared/downloadKeycloakStaticResources.js.map +0 -1
  201. package/src/bin/keycloakify/generateResources/bringInAccountV1.ts +0 -89
  202. package/src/bin/shared/downloadKeycloakDefaultTheme/downloadKeycloakDefaultTheme.ts +0 -338
  203. package/src/bin/shared/downloadKeycloakDefaultTheme/index.ts +0 -1
  204. package/src/bin/shared/downloadKeycloakStaticResources.ts +0 -53
  205. /package/{src/bin/shared/downloadKeycloakDefaultTheme/extra-assets → res/public/.keycloakify/login/js}/webauthnAuthenticate.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Template.useStylesAndScripts.js","sourceRoot":"","sources":["../src/login/Template.useStylesAndScripts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAexE,MAAM,EAA8D,CAAC;AACrE,MAAM,EAAkD,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CAAC,MAGnC;IACG,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAE9C,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QAE5C,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,OAAO;SACV;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,uBAAuB,EAAE,GAAG,iBAAiB,CAAC;QAClD,mBAAmB,EAAE,UAAU;QAC/B,KAAK,EAAE,CAAC,eAAe;YACnB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACI,GAAG,GAAG,CAAC,mBAAmB,yDAAyD;gBACnF,GAAG,GAAG,CAAC,mBAAmB,sDAAsD;gBAChF,GAAG,GAAG,CAAC,mBAAmB,gEAAgE;gBAC1F,GAAG,GAAG,CAAC,mBAAmB,wBAAwB;gBAClD,GAAG,GAAG,CAAC,aAAa,gBAAgB;aACvC;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,UAAU;QAC/B,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;oBACxB,OAAO,EAAE;wBACL,OAAO,EAAE,GAAG,GAAG,CAAC,mBAAmB,sCAAsC;qBAC5E;iBACJ,CAAC;aACL;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,GAAG,GAAG,CAAC,aAAa,0BAA0B;aACtD;YACD,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,EAAE,iBAA0B;gBAChC,GAAG;aACN,CAAC,CAAC;YACH;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;+DACkC,GAAG,CAAC,aAAa;;;2BAGrD,GAAG,CAAC,sBAAsB;;iBAEpC;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,uBAAuB,EAAE;YACzB,gBAAgB,EAAE,CAAC;SACtB;IACL,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AACxD,CAAC"}
@@ -13,7 +13,7 @@ export default function Login(props) {
13
13
  const { social, realm, url, usernameHidden, login, auth, registrationDisabled, messagesPerField } = kcContext;
14
14
  const { msg, msgStr } = i18n;
15
15
  const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
16
- return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username", "password"), headerNode: msg("loginAccountTitle"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration-container" }, { children: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), " ", _jsx("a", Object.assign({ tabIndex: 8, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })) })), socialProvidersNode: _jsx(_Fragment, { children: realm.password && social.providers !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", { className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text"), dangerouslySetInnerHTML: { __html: p.displayName } })] })) }, p.alias))) }))] }))) }) }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
16
+ return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username", "password"), headerNode: msg("loginAccountTitle"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration-container" }, { children: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), " ", _jsx("a", Object.assign({ tabIndex: 8, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })) })), socialProvidersNode: _jsx(_Fragment, { children: realm.password && (social === null || social === void 0 ? void 0 : social.providers) !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", { className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text"), dangerouslySetInnerHTML: { __html: p.displayName } })] })) }, p.alias))) }))] }))) }) }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
17
17
  setIsLoginButtonDisabled(true);
18
18
  return true;
19
19
  }, action: url.loginAction, method: "post" }, { children: [!usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: !realm.loginWithEmailAllowed
@@ -1 +1 @@
1
- {"version":3,"file":"Login.js","sourceRoot":"","sources":["../../src/login/pages/Login.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Login.js","sourceRoot":"","sources":["../../src/login/pages/Login.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getKcClsx } from "../../login/lib/kcClsx";
3
- // NOTE: Added with Keycloak 25
4
3
  export default function LoginIdpLinkConfirmOverride(props) {
5
4
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
6
5
  const { kcClsx } = getKcClsx({
@@ -1 +1 @@
1
- {"version":3,"file":"LoginIdpLinkConfirmOverride.js","sourceRoot":"","sources":["../../src/login/pages/LoginIdpLinkConfirmOverride.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,+BAA+B;AAC/B,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAA6F;IAC7I,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAE1C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,yBAAyB,CAAC,gBACtI,8BAAM,EAAE,EAAC,kBAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBAC7D,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAC5B,0BAAG,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBACjD,GAAG,CAAC,aAAa,CAAC,IACnB,EACJ,cAAM,EACN,cAAM,EACN,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,IAAI,EAAC,cAAc,EACnB,EAAE,EAAC,iBAAiB,EACpB,KAAK,EAAC,iBAAiB,gBAEtB,GAAG,CAAC,4BAA4B,EAAE,cAAc,CAAC,IAC7C,KACN,IACA,CACd,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"LoginIdpLinkConfirmOverride.js","sourceRoot":"","sources":["../../src/login/pages/LoginIdpLinkConfirmOverride.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,KAA6F;IAC7I,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAE1C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,KAAC,QAAQ,kBAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,yBAAyB,CAAC,gBACtI,8BAAM,EAAE,EAAC,kBAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBAC7D,GAAG,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAC5B,0BAAG,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,gBACjD,GAAG,CAAC,aAAa,CAAC,IACnB,EACJ,cAAM,EACN,cAAM,EACN,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,IAAI,EAAC,cAAc,EACnB,EAAE,EAAC,iBAAiB,EACpB,KAAK,EAAC,iBAAiB,gBAEtB,GAAG,CAAC,4BAA4B,EAAE,cAAc,CAAC,IAC7C,KACN,IACA,CACd,CAAC;AACN,CAAC"}
@@ -1,58 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, Fragment } from "react";
2
+ import { Fragment } from "react";
3
3
  import { clsx } from "../../tools/clsx";
4
- import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
5
4
  import { getKcClsx } from "../../login/lib/kcClsx";
6
- import { assert } from "../../tools/assert";
7
- // NOTE: From Keycloak 25.0.4
5
+ import { useScript } from "../../login/pages/LoginPasskeysConditionalAuthenticate.useScript";
8
6
  export default function LoginPasskeysConditionalAuthenticate(props) {
9
7
  var _a;
10
8
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
11
- const { messagesPerField, login, url, usernameHidden, shouldDisplayAuthenticators, authenticators, registrationDisabled, realm, isUserIdentified, challenge, userVerification, rpId, createTimeout } = kcContext;
9
+ const { messagesPerField, login, url, usernameHidden, shouldDisplayAuthenticators, authenticators, registrationDisabled, realm } = kcContext;
12
10
  const { msg, msgStr, advancedMsg } = i18n;
13
11
  const { kcClsx } = getKcClsx({
14
12
  doUseDefaultCss,
15
13
  classes
16
14
  });
17
- const { insertScriptTags } = useInsertScriptTags({
18
- componentOrHookName: "LoginRecoveryAuthnCodeConfig",
19
- scriptTags: [
20
- {
21
- type: "module",
22
- textContent: `
23
- import { authenticateByWebAuthn } from "${url.resourcesPath}/js/webauthnAuthenticate.js";
24
- import { initAuthenticate } from "${url.resourcesPath}/js/passkeysConditionalAuth.js";
25
-
26
- const authButton = document.getElementById('authenticateWebAuthnButton');
27
- const input = {
28
- isUserIdentified : ${isUserIdentified},
29
- challenge : '${challenge}',
30
- userVerification : '${userVerification}',
31
- rpId : '${rpId}',
32
- createTimeout : ${createTimeout},
33
- errmsg : "${msgStr("webauthn-unsupported-browser-text")}"
34
- };
35
- authButton.addEventListener("click", () => {
36
- authenticateByWebAuthn(input);
37
- });
38
-
39
- const args = {
40
- isUserIdentified : ${isUserIdentified},
41
- challenge : '${challenge}',
42
- userVerification : '${userVerification}',
43
- rpId : '${rpId}',
44
- createTimeout : ${createTimeout},
45
- errmsg : "${msgStr("passkey-unsupported-browser-text")}"
46
- };
47
-
48
- document.addEventListener("DOMContentLoaded", (event) => initAuthenticate(args));
49
- `
50
- }
51
- ]
52
- });
53
- useEffect(() => {
54
- insertScriptTags();
55
- }, []);
15
+ const authButtonId = "authenticateWebAuthnButton";
16
+ useScript({ authButtonId, kcContext, i18n });
56
17
  return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: msg("passkey-login-title"), infoNode: realm.registrationAllowed &&
57
18
  !registrationDisabled && (_jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: ["$", msg("noAccount"), " ", _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) }))) }, { children: [_jsxs("form", Object.assign({ id: "webauth", action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON" }), _jsx("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData" }), _jsx("input", { type: "hidden", id: "signature", name: "signature" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId" }), _jsx("input", { type: "hidden", id: "userHandle", name: "userHandle" }), _jsx("input", { type: "hidden", id: "error", name: "error" })] })), _jsx("div", Object.assign({ className: kcClsx("kcFormGroupClass"), "no-bottom-margin": "true", style: { marginBottom: 0 } }, { children: authenticators !== undefined && Object.keys(authenticators).length !== 0 && (_jsxs(_Fragment, { children: [_jsx("form", Object.assign({ id: "authn_select", className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsx("input", { type: "hidden", name: "authn_use_chk", readOnly: true, value: authenticator.credentialId }, i))) })), shouldDisplayAuthenticators && (_jsxs(_Fragment, { children: [authenticators.authenticators.length > 1 && (_jsx("p", Object.assign({ className: kcClsx("kcSelectAuthListItemTitle") }, { children: msg("passkey-available-authenticators") }))), _jsx("div", Object.assign({ className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsxs("div", Object.assign({ id: `kc-webauthn-authenticator-item-${i}`, className: kcClsx("kcSelectAuthListItemClass") }, { children: [_jsx("i", { className: clsx((() => {
58
19
  const className = kcClsx(authenticator.transports.iconClass);
@@ -71,10 +32,6 @@ export default function LoginPasskeysConditionalAuthenticate(props) {
71
32
  return true;
72
33
  } }, { children: !usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: msg("passkey-autofill-select") })), _jsx("input", { tabIndex: 1, id: "username", "aria-invalid": messagesPerField.existsError("username"), className: kcClsx("kcInputClass"), name: "username", defaultValue: (_a = login.username) !== null && _a !== void 0 ? _a : "",
73
34
  //autoComplete="username webauthn"
74
- type: "text", autoFocus: true, autoComplete: "off" }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error-username", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("username") })))] }))) }))), _jsx("div", Object.assign({ id: "kc-form-passkey-button", className: kcClsx("kcFormButtonsClass"), style: { display: "none" } }, { children: _jsx("input", { id: "authenticateWebAuthnButton", type: "button", onClick: () => {
75
- assert("doAuthenticate" in window);
76
- assert(typeof window.doAuthenticate === "function");
77
- window.doAuthenticate([], rpId, challenge, typeof isUserIdentified === "boolean" ? isUserIdentified : isUserIdentified === "true", createTimeout, userVerification, msgStr("passkey-unsupported-browser-text"));
78
- }, autoFocus: true, value: msgStr("passkey-doAuthenticate"), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass") }) })), _jsx("div", Object.assign({ id: "kc-form-passkey-button", className: kcClsx("kcFormButtonsClass"), style: { display: "none" } }, { children: _jsx("input", { id: "authenticateWebAuthnButton", type: "button", autoFocus: true, value: msgStr("passkey-doAuthenticate"), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass") }) }))] })) }))] })) }))] })));
35
+ type: "text", autoFocus: true, autoComplete: "off" }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error-username", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("username") })))] }))) }))), _jsx("div", Object.assign({ id: "kc-form-passkey-button", className: kcClsx("kcFormButtonsClass"), style: { display: "none" } }, { children: _jsx("input", { id: authButtonId, type: "button", autoFocus: true, value: msgStr("passkey-doAuthenticate"), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass") }) }))] })) }))] })) }))] })));
79
36
  }
80
37
  //# sourceMappingURL=LoginPasskeysConditionalAuthenticate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPasskeysConditionalAuthenticate.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginPasskeysConditionalAuthenticate.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ type KcContextLike = {
2
+ url: {
3
+ resourcesPath: string;
4
+ };
5
+ isUserIdentified: boolean | "true" | "false";
6
+ challenge: string;
7
+ userVerification: string;
8
+ rpId: string;
9
+ createTimeout: number | string;
10
+ };
11
+ type I18nLike = {
12
+ msgStr: (key: "webauthn-unsupported-browser-text" | "passkey-unsupported-browser-text") => string;
13
+ isFetchingTranslations: boolean;
14
+ };
15
+ export declare function useScript(params: {
16
+ authButtonId: string;
17
+ kcContext: KcContextLike;
18
+ i18n: I18nLike;
19
+ }): void;
20
+ export {};
@@ -0,0 +1,49 @@
1
+ import { useEffect } from "react";
2
+ import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
+ import { assert } from "../../tools/assert";
4
+ assert();
5
+ assert();
6
+ export function useScript(params) {
7
+ const { authButtonId, kcContext, i18n } = params;
8
+ const { url, isUserIdentified, challenge, userVerification, rpId, createTimeout } = kcContext;
9
+ const { msgStr, isFetchingTranslations } = i18n;
10
+ const { insertScriptTags } = useInsertScriptTags({
11
+ componentOrHookName: "LoginRecoveryAuthnCodeConfig",
12
+ scriptTags: [
13
+ {
14
+ type: "module",
15
+ textContent: () => `
16
+ import { authenticateByWebAuthn } from "${url.resourcesPath}/js/webauthnAuthenticate.js";
17
+ import { initAuthenticate } from "${url.resourcesPath}/js/passkeysConditionalAuth.js";
18
+
19
+ const authButton = document.getElementById("${authButtonId}");
20
+ const input = {
21
+ isUserIdentified : ${isUserIdentified},
22
+ challenge : ${JSON.stringify(challenge)},
23
+ userVerification : ${JSON.stringify(userVerification)},
24
+ rpId : ${JSON.stringify(rpId)},
25
+ createTimeout : ${createTimeout}
26
+ };
27
+ authButton.addEventListener("click", () => {
28
+ authenticateByWebAuthn({
29
+ ...input,
30
+ errmsg : ${JSON.stringify(msgStr("webauthn-unsupported-browser-text"))}
31
+ });
32
+ });
33
+
34
+ initAuthenticate({
35
+ ...input,
36
+ errmsg : ${JSON.stringify(msgStr("passkey-unsupported-browser-text"))}
37
+ });
38
+ `
39
+ }
40
+ ]
41
+ });
42
+ useEffect(() => {
43
+ if (isFetchingTranslations) {
44
+ return;
45
+ }
46
+ insertScriptTags();
47
+ }, [isFetchingTranslations]);
48
+ }
49
+ //# sourceMappingURL=LoginPasskeysConditionalAuthenticate.useScript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginPasskeysConditionalAuthenticate.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAclD,MAAM,EAAmG,CAAC;AAC1G,MAAM,EAAuF,CAAC;AAO9F,MAAM,UAAU,SAAS,CAAC,MAA0E;IAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE9F,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,GAAG,EAAE,CAAC;8DAC2B,GAAG,CAAC,aAAa;wDACvB,GAAG,CAAC,aAAa;;kEAEP,YAAY;;6CAEjC,gBAAgB;sCACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;6CAClB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;iCAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;0CACX,aAAa;;;;;uCAKhB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;mCAM/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;;iBAE5E;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect } from "react";
3
2
  import { clsx } from "../../tools/clsx";
4
3
  import { getKcClsx } from "../../login/lib/kcClsx";
5
- import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
4
+ import { useScript } from "../../login/pages/LoginRecoveryAuthnCodeConfig.useScript";
6
5
  export default function LoginRecoveryAuthnCodeConfig(props) {
7
6
  const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
8
7
  const { kcClsx } = getKcClsx({
@@ -11,130 +10,9 @@ export default function LoginRecoveryAuthnCodeConfig(props) {
11
10
  });
12
11
  const { recoveryAuthnCodesConfigBean, isAppInitiatedAction } = kcContext;
13
12
  const { msg, msgStr } = i18n;
14
- const { insertScriptTags } = useInsertScriptTags({
15
- componentOrHookName: "LoginRecoveryAuthnCodeConfig",
16
- scriptTags: [
17
- {
18
- type: "text/javascript",
19
- textContent: `
20
-
21
- /* copy recovery codes */
22
- function copyRecoveryCodes() {
23
- var tmpTextarea = document.createElement("textarea");
24
- var codes = document.getElementById("kc-recovery-codes-list").getElementsByTagName("li");
25
- for (i = 0; i < codes.length; i++) {
26
- tmpTextarea.value = tmpTextarea.value + codes[i].innerText + "\\n";
27
- }
28
- document.body.appendChild(tmpTextarea);
29
- tmpTextarea.select();
30
- document.execCommand("copy");
31
- document.body.removeChild(tmpTextarea);
32
- }
33
-
34
- var copyButton = document.getElementById("copyRecoveryCodes");
35
- copyButton && copyButton.addEventListener("click", function () {
36
- copyRecoveryCodes();
37
- });
38
-
39
- /* download recovery codes */
40
- function formatCurrentDateTime() {
41
- var dt = new Date();
42
- var options = {
43
- month: 'long',
44
- day: 'numeric',
45
- year: 'numeric',
46
- hour: 'numeric',
47
- minute: 'numeric',
48
- timeZoneName: 'short'
49
- };
50
-
51
- return dt.toLocaleString('en-US', options);
52
- }
53
-
54
- function parseRecoveryCodeList() {
55
- var recoveryCodes = document.querySelectorAll(".kc-recovery-codes-list li");
56
- var recoveryCodeList = "";
57
-
58
- for (var i = 0; i < recoveryCodes.length; i++) {
59
- var recoveryCodeLiElement = recoveryCodes[i].innerText;
60
- recoveryCodeList += recoveryCodeLiElement + "\\r\\n";
61
- }
62
-
63
- return recoveryCodeList;
64
- }
65
-
66
- function buildDownloadContent() {
67
- var recoveryCodeList = parseRecoveryCodeList();
68
- var dt = new Date();
69
- var options = {
70
- month: 'long',
71
- day: 'numeric',
72
- year: 'numeric',
73
- hour: 'numeric',
74
- minute: 'numeric',
75
- timeZoneName: 'short'
76
- };
77
-
78
- return fileBodyContent =
79
- "${msgStr("recovery-codes-download-file-header")}\\n\\n" +
80
- recoveryCodeList + "\\n" +
81
- "${msgStr("recovery-codes-download-file-description")}\\n\\n" +
82
- "${msgStr("recovery-codes-download-file-date")} " + formatCurrentDateTime();
83
- }
84
-
85
- function setUpDownloadLinkAndDownload(filename, text) {
86
- var el = document.createElement('a');
87
- el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
88
- el.setAttribute('download', filename);
89
- el.style.display = 'none';
90
- document.body.appendChild(el);
91
- el.click();
92
- document.body.removeChild(el);
93
- }
94
-
95
- function downloadRecoveryCodes() {
96
- setUpDownloadLinkAndDownload('kc-download-recovery-codes.txt', buildDownloadContent());
97
- }
98
-
99
- var downloadButton = document.getElementById("downloadRecoveryCodes");
100
- downloadButton && downloadButton.addEventListener("click", downloadRecoveryCodes);
101
-
102
- /* print recovery codes */
103
- function buildPrintContent() {
104
- var recoveryCodeListHTML = document.getElementById('kc-recovery-codes-list').innerHTML;
105
- var styles =
106
- \`@page { size: auto; margin-top: 0; }
107
- body { width: 480px; }
108
- div { list-style-type: none; font-family: monospace }
109
- p:first-of-type { margin-top: 48px }\`;
110
-
111
- return printFileContent =
112
- "<html><style>" + styles + "</style><body>" +
113
- "<title>kc-download-recovery-codes</title>" +
114
- "<p>${msgStr("recovery-codes-download-file-header")}</p>" +
115
- "<div>" + recoveryCodeListHTML + "</div>" +
116
- "<p>${msgStr("recovery-codes-download-file-description")}</p>" +
117
- "<p>${msgStr("recovery-codes-download-file-date")} " + formatCurrentDateTime() + "</p>" +
118
- "</body></html>";
119
- }
120
-
121
- function printRecoveryCodes() {
122
- var w = window.open();
123
- w.document.write(buildPrintContent());
124
- w.print();
125
- w.close();
126
- }
127
-
128
- var printButton = document.getElementById("printRecoveryCodes");
129
- printButton && printButton.addEventListener("click", printRecoveryCodes);
130
- `
131
- }
132
- ]
133
- });
134
- useEffect(() => {
135
- insertScriptTags();
136
- }, []);
137
- return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: msg("recovery-code-config-header") }, { children: [_jsxs("div", Object.assign({ className: clsx("pf-c-alert", "pf-m-warning", "pf-m-inline", kcClsx("kcRecoveryCodesWarning")), "aria-label": "Warning alert" }, { children: [_jsx("div", Object.assign({ className: "pf-c-alert__icon" }, { children: _jsx("i", { className: "pficon-warning-triangle-o", "aria-hidden": "true" }) })), _jsxs("h4", Object.assign({ className: "pf-c-alert__title" }, { children: [_jsx("span", Object.assign({ className: "pf-screen-reader" }, { children: "Warning alert:" })), msg("recovery-code-config-warning-title")] })), _jsx("div", Object.assign({ className: "pf-c-alert__description" }, { children: _jsx("p", { children: msg("recovery-code-config-warning-message") }) }))] })), _jsx("ol", Object.assign({ id: "kc-recovery-codes-list", className: kcClsx("kcRecoveryCodesList") }, { children: recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList.map((code, index) => (_jsxs("li", { children: [_jsxs("span", { children: [index + 1, ":"] }), " ", code.slice(0, 4), "-", code.slice(4, 8), "-", code.slice(8)] }, index))) })), _jsxs("div", Object.assign({ className: kcClsx("kcRecoveryCodesActions") }, { children: [_jsxs("button", Object.assign({ id: "printRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-print", "aria-hidden": "true" }), " ", msg("recovery-codes-print")] })), _jsxs("button", Object.assign({ id: "downloadRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-save", "aria-hidden": "true" }), " ", msg("recovery-codes-download")] })), _jsxs("button", Object.assign({ id: "copyRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-blueprint", "aria-hidden": "true" }), " ", msg("recovery-codes-copy")] }))] })), _jsxs("div", Object.assign({ className: kcClsx("kcFormOptionsClass") }, { children: [_jsx("input", { className: kcClsx("kcCheckInputClass"), type: "checkbox", id: "kcRecoveryCodesConfirmationCheck", name: "kcRecoveryCodesConfirmationCheck", onChange: function () {
13
+ const olRecoveryCodesListId = "kc-recovery-codes-list";
14
+ useScript({ olRecoveryCodesListId, i18n });
15
+ return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: msg("recovery-code-config-header") }, { children: [_jsxs("div", Object.assign({ className: clsx("pf-c-alert", "pf-m-warning", "pf-m-inline", kcClsx("kcRecoveryCodesWarning")), "aria-label": "Warning alert" }, { children: [_jsx("div", Object.assign({ className: "pf-c-alert__icon" }, { children: _jsx("i", { className: "pficon-warning-triangle-o", "aria-hidden": "true" }) })), _jsxs("h4", Object.assign({ className: "pf-c-alert__title" }, { children: [_jsx("span", Object.assign({ className: "pf-screen-reader" }, { children: "Warning alert:" })), msg("recovery-code-config-warning-title")] })), _jsx("div", Object.assign({ className: "pf-c-alert__description" }, { children: _jsx("p", { children: msg("recovery-code-config-warning-message") }) }))] })), _jsx("ol", Object.assign({ id: olRecoveryCodesListId, className: kcClsx("kcRecoveryCodesList") }, { children: recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList.map((code, index) => (_jsxs("li", { children: [_jsxs("span", { children: [index + 1, ":"] }), " ", code.slice(0, 4), "-", code.slice(4, 8), "-", code.slice(8)] }, index))) })), _jsxs("div", Object.assign({ className: kcClsx("kcRecoveryCodesActions") }, { children: [_jsxs("button", Object.assign({ id: "printRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-print", "aria-hidden": "true" }), " ", msg("recovery-codes-print")] })), _jsxs("button", Object.assign({ id: "downloadRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-save", "aria-hidden": "true" }), " ", msg("recovery-codes-download")] })), _jsxs("button", Object.assign({ id: "copyRecoveryCodes", className: clsx("pf-c-button", "pf-m-link"), type: "button" }, { children: [_jsx("i", { className: "pficon-blueprint", "aria-hidden": "true" }), " ", msg("recovery-codes-copy")] }))] })), _jsxs("div", Object.assign({ className: kcClsx("kcFormOptionsClass") }, { children: [_jsx("input", { className: kcClsx("kcCheckInputClass"), type: "checkbox", id: "kcRecoveryCodesConfirmationCheck", name: "kcRecoveryCodesConfirmationCheck", onChange: function () {
138
16
  //@ts-expect-error: This is code from the original theme, we trust it.
139
17
  document.getElementById("saveRecoveryAuthnCodesBtn").disabled = !this.checked;
140
18
  } }), _jsx("label", Object.assign({ htmlFor: "kcRecoveryCodesConfirmationCheck" }, { children: msg("recovery-codes-confirmation-message") }))] })), _jsxs("form", Object.assign({ action: kcContext.url.loginAction, className: kcClsx("kcFormGroupClass"), id: "kc-recovery-codes-settings-form", method: "post" }, { children: [_jsx("input", { type: "hidden", name: "generatedRecoveryAuthnCodes", value: recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesAsString }), _jsx("input", { type: "hidden", name: "generatedAt", value: recoveryAuthnCodesConfigBean.generatedAt }), _jsx("input", { type: "hidden", id: "userLabel", name: "userLabel", value: msgStr("recovery-codes-label-default") }), _jsx(LogoutOtherSessions, { kcClsx: kcClsx, i18n: i18n }), isAppInitiatedAction ? (_jsxs(_Fragment, { children: [_jsx("input", { type: "submit", className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonLargeClass"), id: "saveRecoveryAuthnCodesBtn", value: msgStr("recovery-codes-action-complete"), disabled: true }), _jsx("button", Object.assign({ type: "submit", className: kcClsx("kcButtonClass", "kcButtonDefaultClass", "kcButtonLargeClass"), id: "cancelRecoveryAuthnCodesBtn", name: "cancel-aia", value: "true" }, { children: msg("recovery-codes-action-cancel") }))] })) : (_jsx("input", { type: "submit", className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass"), id: "saveRecoveryAuthnCodesBtn", value: msgStr("recovery-codes-action-complete"), disabled: true }))] }))] })));
@@ -1 +1 @@
1
- {"version":3,"file":"LoginRecoveryAuthnCodeConfig.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAe,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAK5E,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,KAA8F;IAC/I,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4DE,MAAM,CAAC,qCAAqC,CAAC;;+BAE7C,MAAM,CAAC,0CAA0C,CAAC;+BAClD,MAAM,CAAC,mCAAmC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgCxC,MAAM,CAAC,qCAAqC,CAAC;;kCAE7C,MAAM,CAAC,0CAA0C,CAAC;kCAClD,MAAM,CAAC,mCAAmC,CAAC;;;;;;;;;;;;;iBAa5D;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,GAAG,CAAC,6BAA6B,CAAC,iBAE9C,6BAAK,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,gBAAa,eAAe,iBAC3H,4BAAK,SAAS,EAAC,kBAAkB,gBAC7B,YAAG,SAAS,EAAC,2BAA2B,iBAAa,MAAM,GAAG,IAC5D,EACN,4BAAI,SAAS,EAAC,mBAAmB,iBAC7B,6BAAM,SAAS,EAAC,kBAAkB,oCAAsB,EACvD,GAAG,CAAC,oCAAoC,CAAC,KACzC,EACL,4BAAK,SAAS,EAAC,yBAAyB,gBACpC,sBAAI,GAAG,CAAC,sCAAsC,CAAC,GAAK,IAClD,KACJ,EAEN,2BAAI,EAAE,EAAC,wBAAwB,EAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,gBACnE,4BAA4B,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/E,yBACI,2BAAO,KAAK,GAAG,CAAC,SAAS,OAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KADzE,KAAK,CAET,CACR,CAAC,IACD,EAGL,6BAAK,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,iBAC5C,gCAAQ,EAAE,EAAC,oBAAoB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACtF,YAAG,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,sBAAsB,CAAC,KACzE,EACT,gCAAQ,EAAE,EAAC,uBAAuB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACzF,YAAG,SAAS,EAAC,aAAa,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,yBAAyB,CAAC,KAC3E,EACT,gCAAQ,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACrF,YAAG,SAAS,EAAC,kBAAkB,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,qBAAqB,CAAC,KAC5E,KACP,EAGN,6BAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,iBACxC,gBACI,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtC,IAAI,EAAC,UAAU,EACf,EAAE,EAAC,kCAAkC,EACrC,IAAI,EAAC,kCAAkC,EACvC,QAAQ,EAAE;4BACN,sEAAsE;4BACtE,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;wBAClF,CAAC,GACH,EACF,8BAAO,OAAO,EAAC,kCAAkC,gBAAE,GAAG,CAAC,qCAAqC,CAAC,IAAS,KACpG,EAEN,8BAAM,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,iCAAiC,EAAC,MAAM,EAAC,MAAM,iBAC9H,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,6BAA6B,EAAC,KAAK,EAAE,4BAA4B,CAAC,mCAAmC,GAAI,EACnI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,4BAA4B,CAAC,WAAW,GAAI,EAC3F,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,8BAA8B,CAAC,GAAI,EAEtG,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,EAElD,oBAAoB,CAAC,CAAC,CAAC,CACpB,8BACI,gBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,EAChF,EAAE,EAAC,2BAA2B,EAC9B,KAAK,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAC/C,QAAQ,SACV,EACF,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,EAChF,EAAE,EAAC,6BAA6B,EAChC,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,gBAEX,GAAG,CAAC,8BAA8B,CAAC,IAC/B,IACV,CACN,CAAC,CAAC,CAAC,CACA,gBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,EAAE,EAAC,2BAA2B,EAC9B,KAAK,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAC/C,QAAQ,SACV,CACL,KACE,KACA,CACd,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAqC;IAC9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAC7D,4BAAK,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,gBAC/C,4BAAK,SAAS,EAAC,UAAU,gBACrB,4BACI,gBAAO,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAE,IAAI,GAAI,EACrG,GAAG,CAAC,qBAAqB,CAAC,IACvB,IACN,IACJ,IACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"LoginRecoveryAuthnCodeConfig.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAe,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,gEAAgE,CAAC;AAK3F,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,KAA8F;IAC/I,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;IAEvD,SAAS,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,GAAG,CAAC,6BAA6B,CAAC,iBAE9C,6BAAK,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,gBAAa,eAAe,iBAC3H,4BAAK,SAAS,EAAC,kBAAkB,gBAC7B,YAAG,SAAS,EAAC,2BAA2B,iBAAa,MAAM,GAAG,IAC5D,EACN,4BAAI,SAAS,EAAC,mBAAmB,iBAC7B,6BAAM,SAAS,EAAC,kBAAkB,oCAAsB,EACvD,GAAG,CAAC,oCAAoC,CAAC,KACzC,EACL,4BAAK,SAAS,EAAC,yBAAyB,gBACpC,sBAAI,GAAG,CAAC,sCAAsC,CAAC,GAAK,IAClD,KACJ,EAEN,2BAAI,EAAE,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,gBAClE,4BAA4B,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/E,yBACI,2BAAO,KAAK,GAAG,CAAC,SAAS,OAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KADzE,KAAK,CAET,CACR,CAAC,IACD,EAGL,6BAAK,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,iBAC5C,gCAAQ,EAAE,EAAC,oBAAoB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACtF,YAAG,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,sBAAsB,CAAC,KACzE,EACT,gCAAQ,EAAE,EAAC,uBAAuB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACzF,YAAG,SAAS,EAAC,aAAa,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,yBAAyB,CAAC,KAC3E,EACT,gCAAQ,EAAE,EAAC,mBAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,EAAC,QAAQ,iBACrF,YAAG,SAAS,EAAC,kBAAkB,iBAAa,MAAM,GAAG,OAAE,GAAG,CAAC,qBAAqB,CAAC,KAC5E,KACP,EAGN,6BAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,iBACxC,gBACI,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EACtC,IAAI,EAAC,UAAU,EACf,EAAE,EAAC,kCAAkC,EACrC,IAAI,EAAC,kCAAkC,EACvC,QAAQ,EAAE;4BACN,sEAAsE;4BACtE,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;wBAClF,CAAC,GACH,EACF,8BAAO,OAAO,EAAC,kCAAkC,gBAAE,GAAG,CAAC,qCAAqC,CAAC,IAAS,KACpG,EAEN,8BAAM,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,iCAAiC,EAAC,MAAM,EAAC,MAAM,iBAC9H,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,6BAA6B,EAAC,KAAK,EAAE,4BAA4B,CAAC,mCAAmC,GAAI,EACnI,gBAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,4BAA4B,CAAC,WAAW,GAAI,EAC3F,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,8BAA8B,CAAC,GAAI,EAEtG,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,EAElD,oBAAoB,CAAC,CAAC,CAAC,CACpB,8BACI,gBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,EAChF,EAAE,EAAC,2BAA2B,EAC9B,KAAK,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAC/C,QAAQ,SACV,EACF,+BACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,EAChF,EAAE,EAAC,6BAA6B,EAChC,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,MAAM,gBAEX,GAAG,CAAC,8BAA8B,CAAC,IAC/B,IACV,CACN,CAAC,CAAC,CAAC,CACA,gBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,EACtG,EAAE,EAAC,2BAA2B,EAC9B,KAAK,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAC/C,QAAQ,SACV,CACL,KACE,KACA,CACd,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAqC;IAC9D,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAErB,OAAO,CACH,4BAAK,EAAE,EAAC,iBAAiB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,gBAC7D,4BAAK,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,gBAC/C,4BAAK,SAAS,EAAC,UAAU,gBACrB,4BACI,gBAAO,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,iBAAiB,EAAC,IAAI,EAAC,iBAAiB,EAAC,KAAK,EAAC,IAAI,EAAC,cAAc,EAAE,IAAI,GAAI,EACrG,GAAG,CAAC,qBAAqB,CAAC,IACvB,IACN,IACJ,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,9 @@
1
+ type I18nLike = {
2
+ msgStr: (key: "recovery-codes-download-file-header" | "recovery-codes-download-file-description" | "recovery-codes-download-file-date") => string;
3
+ isFetchingTranslations: boolean;
4
+ };
5
+ export declare function useScript(params: {
6
+ olRecoveryCodesListId: string;
7
+ i18n: I18nLike;
8
+ }): void;
9
+ export {};
@@ -0,0 +1,133 @@
1
+ import { useEffect } from "react";
2
+ import { useInsertScriptTags } from "../../tools/useInsertScriptTags";
3
+ export function useScript(params) {
4
+ const { olRecoveryCodesListId, i18n } = params;
5
+ const { msgStr, isFetchingTranslations } = i18n;
6
+ const { insertScriptTags } = useInsertScriptTags({
7
+ componentOrHookName: "LoginRecoveryAuthnCodeConfig",
8
+ scriptTags: [
9
+ {
10
+ type: "text/javascript",
11
+ textContent: () => `
12
+
13
+ /* copy recovery codes */
14
+ function copyRecoveryCodes() {
15
+ var tmpTextarea = document.createElement("textarea");
16
+ var codes = document.querySelectorAll("#${olRecoveryCodesListId} li");
17
+ for (i = 0; i < codes.length; i++) {
18
+ tmpTextarea.value = tmpTextarea.value + codes[i].innerText + "\\n";
19
+ }
20
+ document.body.appendChild(tmpTextarea);
21
+ tmpTextarea.select();
22
+ document.execCommand("copy");
23
+ document.body.removeChild(tmpTextarea);
24
+ }
25
+
26
+ var copyButton = document.getElementById("copyRecoveryCodes");
27
+ copyButton && copyButton.addEventListener("click", function () {
28
+ copyRecoveryCodes();
29
+ });
30
+
31
+ /* download recovery codes */
32
+ function formatCurrentDateTime() {
33
+ var dt = new Date();
34
+ var options = {
35
+ month: 'long',
36
+ day: 'numeric',
37
+ year: 'numeric',
38
+ hour: 'numeric',
39
+ minute: 'numeric',
40
+ timeZoneName: 'short'
41
+ };
42
+
43
+ return dt.toLocaleString('en-US', options);
44
+ }
45
+
46
+ function parseRecoveryCodeList() {
47
+ var recoveryCodes = document.querySelectorAll("#${olRecoveryCodesListId} li");
48
+ var recoveryCodeList = "";
49
+
50
+ for (var i = 0; i < recoveryCodes.length; i++) {
51
+ var recoveryCodeLiElement = recoveryCodes[i].innerText;
52
+ recoveryCodeList += recoveryCodeLiElement + "\\r\\n";
53
+ }
54
+
55
+ return recoveryCodeList;
56
+ }
57
+
58
+ function buildDownloadContent() {
59
+ var recoveryCodeList = parseRecoveryCodeList();
60
+ var dt = new Date();
61
+ var options = {
62
+ month: 'long',
63
+ day: 'numeric',
64
+ year: 'numeric',
65
+ hour: 'numeric',
66
+ minute: 'numeric',
67
+ timeZoneName: 'short'
68
+ };
69
+
70
+ return fileBodyContent =
71
+ ${JSON.stringify(msgStr("recovery-codes-download-file-header"))} + "\\n\\n" +
72
+ recoveryCodeList + "\\n" +
73
+ ${JSON.stringify(msgStr("recovery-codes-download-file-description"))} + "\\n\\n" +
74
+ ${JSON.stringify(msgStr("recovery-codes-download-file-date"))} + " " + formatCurrentDateTime();
75
+ }
76
+
77
+ function setUpDownloadLinkAndDownload(filename, text) {
78
+ var el = document.createElement('a');
79
+ el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
80
+ el.setAttribute('download', filename);
81
+ el.style.display = 'none';
82
+ document.body.appendChild(el);
83
+ el.click();
84
+ document.body.removeChild(el);
85
+ }
86
+
87
+ function downloadRecoveryCodes() {
88
+ setUpDownloadLinkAndDownload('kc-download-recovery-codes.txt', buildDownloadContent());
89
+ }
90
+
91
+ var downloadButton = document.getElementById("downloadRecoveryCodes");
92
+ downloadButton && downloadButton.addEventListener("click", downloadRecoveryCodes);
93
+
94
+ /* print recovery codes */
95
+ function buildPrintContent() {
96
+ var recoveryCodeListHTML = document.getElementById('${olRecoveryCodesListId}').innerHTML;
97
+ var styles =
98
+ \`@page { size: auto; margin-top: 0; }
99
+ body { width: 480px; }
100
+ div { list-style-type: none; font-family: monospace }
101
+ p:first-of-type { margin-top: 48px }\`;
102
+
103
+ return printFileContent =
104
+ "<html><style>" + styles + "</style><body>" +
105
+ "<title>kc-download-recovery-codes</title>" +
106
+ "<p>" + ${JSON.stringify(msgStr("recovery-codes-download-file-header"))} + "</p>" +
107
+ "<div>" + recoveryCodeListHTML + "</div>" +
108
+ "<p>" + ${JSON.stringify(msgStr("recovery-codes-download-file-description"))} + "</p>" +
109
+ "<p>" + ${JSON.stringify(msgStr("recovery-codes-download-file-date"))} + " " + formatCurrentDateTime() + "</p>" +
110
+ "</body></html>";
111
+ }
112
+
113
+ function printRecoveryCodes() {
114
+ var w = window.open();
115
+ w.document.write(buildPrintContent());
116
+ w.print();
117
+ w.close();
118
+ }
119
+
120
+ var printButton = document.getElementById("printRecoveryCodes");
121
+ printButton && printButton.addEventListener("click", printRecoveryCodes);
122
+ `
123
+ }
124
+ ]
125
+ });
126
+ useEffect(() => {
127
+ if (isFetchingTranslations) {
128
+ return;
129
+ }
130
+ insertScriptTags();
131
+ }, [isFetchingTranslations]);
132
+ }
133
+ //# sourceMappingURL=LoginRecoveryAuthnCodeConfig.useScript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginRecoveryAuthnCodeConfig.useScript.js","sourceRoot":"","sources":["../../src/login/pages/LoginRecoveryAuthnCodeConfig.useScript.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAO5E,MAAM,UAAU,SAAS,CAAC,MAAyD;IAC/E,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAE/C,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IAEhD,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;QAC7C,mBAAmB,EAAE,8BAA8B;QACnD,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,GAAG,EAAE,CAAC;;;;;kEAK+B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA+Bb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;8BAwBjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;8BAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;8BAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;8EAsBX,qBAAqB;;;;;;;;;;sCAU7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;;sCAE7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC;sCAClE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;;;;;;;;;;;;;iBAahF;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,sBAAsB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -12,7 +12,7 @@ export default function LoginUsername(props) {
12
12
  const { social, realm, url, usernameHidden, login, registrationDisabled, messagesPerField } = kcContext;
13
13
  const { msg, msgStr } = i18n;
14
14
  const [isLoginButtonDisabled, setIsLoginButtonDisabled] = useState(false);
15
- return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })), headerNode: msg("doLogIn"), socialProvidersNode: _jsx(_Fragment, { children: realm.password && social.providers !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", Object.assign({ className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text") }, { children: p.displayName }))] })) }, p.alias))) }))] }))) }) }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
15
+ return (_jsx(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, displayMessage: !messagesPerField.existsError("username"), displayInfo: realm.password && realm.registrationAllowed && !registrationDisabled, infoNode: _jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: [msg("noAccount"), _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) })), headerNode: msg("doLogIn"), socialProvidersNode: _jsx(_Fragment, { children: realm.password && (social === null || social === void 0 ? void 0 : social.providers) !== undefined && social.providers.length !== 0 && (_jsxs("div", Object.assign({ id: "kc-social-providers", className: kcClsx("kcFormSocialAccountSectionClass") }, { children: [_jsx("hr", {}), _jsx("h2", { children: msg("identity-provider-login-label") }), _jsx("ul", Object.assign({ className: kcClsx("kcFormSocialAccountListClass", social.providers.length > 3 && "kcFormSocialAccountListGridClass") }, { children: social.providers.map((...[p, , providers]) => (_jsx("li", { children: _jsxs("a", Object.assign({ id: `social-${p.alias}`, className: kcClsx("kcFormSocialAccountListButtonClass", providers.length > 3 && "kcFormSocialAccountGridItem"), type: "button", href: p.loginUrl }, { children: [p.iconClasses && _jsx("i", { className: clsx(kcClsx("kcCommonLogoIdP"), p.iconClasses), "aria-hidden": "true" }), _jsx("span", Object.assign({ className: clsx(kcClsx("kcFormSocialAccountNameClass"), p.iconClasses && "kc-social-icon-text") }, { children: p.displayName }))] })) }, p.alias))) }))] }))) }) }, { children: _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsx("div", Object.assign({ id: "kc-form-wrapper" }, { children: realm.password && (_jsxs("form", Object.assign({ id: "kc-form-login", onSubmit: () => {
16
16
  setIsLoginButtonDisabled(true);
17
17
  return true;
18
18
  }, action: url.loginAction, method: "post" }, { children: [!usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: !realm.loginWithEmailAllowed