"use strict";(self.webpackChunkkeycloakify=self.webpackChunkkeycloakify||[]).push([[3875],{"./dist/login/pages/LoginRecoveryAuthnCodeConfig.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>LoginRecoveryAuthnCodeConfig});__webpack_require__("./node_modules/core-js/modules/es.object.assign.js"),__webpack_require__("./node_modules/core-js/modules/es.array.map.js"),__webpack_require__("./node_modules/core-js/modules/es.array.slice.js");var jsx_runtime=__webpack_require__("./node_modules/react/jsx-runtime.js"),clsx=__webpack_require__("./dist/tools/clsx.js"),lib_kcClsx=__webpack_require__("./dist/login/lib/kcClsx.js"),react=__webpack_require__("./node_modules/react/index.js"),useInsertScriptTags=__webpack_require__("./dist/tools/useInsertScriptTags.js");function LoginRecoveryAuthnCodeConfig(props){var kcContext=props.kcContext,i18n=props.i18n,doUseDefaultCss=props.doUseDefaultCss,Template=props.Template,classes=props.classes,kcClsx=(0,lib_kcClsx.$)({doUseDefaultCss,classes}).kcClsx,recoveryAuthnCodesConfigBean=kcContext.recoveryAuthnCodesConfigBean,isAppInitiatedAction=kcContext.isAppInitiatedAction,msg=i18n.msg,msgStr=i18n.msgStr;return function useScript(params){var olRecoveryCodesListId=params.olRecoveryCodesListId,i18n=params.i18n,msgStr=i18n.msgStr,isFetchingTranslations=i18n.isFetchingTranslations,insertScriptTags=(0,useInsertScriptTags.m)({componentOrHookName:"LoginRecoveryAuthnCodeConfig",scriptTags:[{type:"text/javascript",textContent:function textContent(){return'\n\n /* copy recovery codes */\n function copyRecoveryCodes() {\n var tmpTextarea = document.createElement("textarea");\n var codes = document.querySelectorAll("#'+olRecoveryCodesListId+" li\");\n for (i = 0; i < codes.length; i++) {\n tmpTextarea.value = tmpTextarea.value + codes[i].innerText + \"\\n\";\n }\n document.body.appendChild(tmpTextarea);\n tmpTextarea.select();\n document.execCommand(\"copy\");\n document.body.removeChild(tmpTextarea);\n }\n\n var copyButton = document.getElementById(\"copyRecoveryCodes\");\n copyButton && copyButton.addEventListener(\"click\", function () {\n copyRecoveryCodes();\n });\n\n /* download recovery codes */\n function formatCurrentDateTime() {\n var dt = new Date();\n var options = {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n timeZoneName: 'short'\n };\n\n return dt.toLocaleString('en-US', options);\n }\n\n function parseRecoveryCodeList() {\n var recoveryCodes = document.querySelectorAll(\"#"+olRecoveryCodesListId+" li\");\n var recoveryCodeList = \"\";\n\n for (var i = 0; i < recoveryCodes.length; i++) {\n var recoveryCodeLiElement = recoveryCodes[i].innerText;\n recoveryCodeList += recoveryCodeLiElement + \"\\r\\n\";\n }\n\n return recoveryCodeList;\n }\n\n function buildDownloadContent() {\n var recoveryCodeList = parseRecoveryCodeList();\n var dt = new Date();\n var options = {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n timeZoneName: 'short'\n };\n\n return fileBodyContent =\n "+JSON.stringify(msgStr("recovery-codes-download-file-header"))+' + "\\n\\n" +\n recoveryCodeList + "\\n" +\n '+JSON.stringify(msgStr("recovery-codes-download-file-description"))+' + "\\n\\n" +\n '+JSON.stringify(msgStr("recovery-codes-download-file-date"))+" + \" \" + formatCurrentDateTime();\n }\n\n function setUpDownloadLinkAndDownload(filename, text) {\n var el = document.createElement('a');\n el.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));\n el.setAttribute('download', filename);\n el.style.display = 'none';\n document.body.appendChild(el);\n el.click();\n document.body.removeChild(el);\n }\n\n function downloadRecoveryCodes() {\n setUpDownloadLinkAndDownload('kc-download-recovery-codes.txt', buildDownloadContent());\n }\n\n var downloadButton = document.getElementById(\"downloadRecoveryCodes\");\n downloadButton && downloadButton.addEventListener(\"click\", downloadRecoveryCodes);\n\n /* print recovery codes */\n function buildPrintContent() {\n var recoveryCodeListHTML = document.getElementById('"+olRecoveryCodesListId+'\').innerHTML;\n var styles =\n `@page { size: auto; margin-top: 0; }\n body { width: 480px; }\n div { list-style-type: none; font-family: monospace }\n p:first-of-type { margin-top: 48px }`;\n\n return printFileContent =\n "" +\n "kc-download-recovery-codes" +\n "

" + '+JSON.stringify(msgStr("recovery-codes-download-file-header"))+' + "

" +\n "
" + recoveryCodeListHTML + "
" +\n "

" + '+JSON.stringify(msgStr("recovery-codes-download-file-description"))+' + "

" +\n "

" + '+JSON.stringify(msgStr("recovery-codes-download-file-date"))+' + " " + formatCurrentDateTime() + "

" +\n "";\n }\n\n function printRecoveryCodes() {\n var w = window.open();\n w.document.write(buildPrintContent());\n w.print();\n w.close();\n }\n\n var printButton = document.getElementById("printRecoveryCodes");\n printButton && printButton.addEventListener("click", printRecoveryCodes);\n '}}]}).insertScriptTags;(0,react.useEffect)((function(){isFetchingTranslations||insertScriptTags()}),[isFetchingTranslations])}({olRecoveryCodesListId:"kc-recovery-codes-list",i18n}),(0,jsx_runtime.jsxs)(Template,Object.assign({kcContext,i18n,doUseDefaultCss,classes,headerNode:msg("recovery-code-config-header")},{children:[(0,jsx_runtime.jsxs)("div",Object.assign({className:(0,clsx.W)("pf-c-alert","pf-m-warning","pf-m-inline",kcClsx("kcRecoveryCodesWarning")),"aria-label":"Warning alert"},{children:[(0,jsx_runtime.jsx)("div",Object.assign({className:"pf-c-alert__icon"},{children:(0,jsx_runtime.jsx)("i",{className:"pficon-warning-triangle-o","aria-hidden":"true"})})),(0,jsx_runtime.jsxs)("h4",Object.assign({className:"pf-c-alert__title"},{children:[(0,jsx_runtime.jsx)("span",Object.assign({className:"pf-screen-reader"},{children:"Warning alert:"})),msg("recovery-code-config-warning-title")]})),(0,jsx_runtime.jsx)("div",Object.assign({className:"pf-c-alert__description"},{children:(0,jsx_runtime.jsx)("p",{children:msg("recovery-code-config-warning-message")})}))]})),(0,jsx_runtime.jsx)("ol",Object.assign({id:"kc-recovery-codes-list",className:kcClsx("kcRecoveryCodesList")},{children:recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesList.map((function(code,index){return(0,jsx_runtime.jsxs)("li",{children:[(0,jsx_runtime.jsxs)("span",{children:[index+1,":"]})," ",code.slice(0,4),"-",code.slice(4,8),"-",code.slice(8)]},index)}))})),(0,jsx_runtime.jsxs)("div",Object.assign({className:kcClsx("kcRecoveryCodesActions")},{children:[(0,jsx_runtime.jsxs)("button",Object.assign({id:"printRecoveryCodes",className:(0,clsx.W)("pf-c-button","pf-m-link"),type:"button"},{children:[(0,jsx_runtime.jsx)("i",{className:"pficon-print","aria-hidden":"true"})," ",msg("recovery-codes-print")]})),(0,jsx_runtime.jsxs)("button",Object.assign({id:"downloadRecoveryCodes",className:(0,clsx.W)("pf-c-button","pf-m-link"),type:"button"},{children:[(0,jsx_runtime.jsx)("i",{className:"pficon-save","aria-hidden":"true"})," ",msg("recovery-codes-download")]})),(0,jsx_runtime.jsxs)("button",Object.assign({id:"copyRecoveryCodes",className:(0,clsx.W)("pf-c-button","pf-m-link"),type:"button"},{children:[(0,jsx_runtime.jsx)("i",{className:"pficon-blueprint","aria-hidden":"true"})," ",msg("recovery-codes-copy")]}))]})),(0,jsx_runtime.jsxs)("div",Object.assign({className:kcClsx("kcFormOptionsClass")},{children:[(0,jsx_runtime.jsx)("input",{className:kcClsx("kcCheckInputClass"),type:"checkbox",id:"kcRecoveryCodesConfirmationCheck",name:"kcRecoveryCodesConfirmationCheck",onChange:function onChange(){document.getElementById("saveRecoveryAuthnCodesBtn").disabled=!this.checked}}),(0,jsx_runtime.jsx)("label",Object.assign({htmlFor:"kcRecoveryCodesConfirmationCheck"},{children:msg("recovery-codes-confirmation-message")}))]})),(0,jsx_runtime.jsxs)("form",Object.assign({action:kcContext.url.loginAction,className:kcClsx("kcFormGroupClass"),id:"kc-recovery-codes-settings-form",method:"post"},{children:[(0,jsx_runtime.jsx)("input",{type:"hidden",name:"generatedRecoveryAuthnCodes",value:recoveryAuthnCodesConfigBean.generatedRecoveryAuthnCodesAsString}),(0,jsx_runtime.jsx)("input",{type:"hidden",name:"generatedAt",value:recoveryAuthnCodesConfigBean.generatedAt}),(0,jsx_runtime.jsx)("input",{type:"hidden",id:"userLabel",name:"userLabel",value:msgStr("recovery-codes-label-default")}),(0,jsx_runtime.jsx)(LogoutOtherSessions,{kcClsx,i18n}),isAppInitiatedAction?(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[(0,jsx_runtime.jsx)("input",{type:"submit",className:kcClsx("kcButtonClass","kcButtonPrimaryClass","kcButtonLargeClass"),id:"saveRecoveryAuthnCodesBtn",value:msgStr("recovery-codes-action-complete"),disabled:!0}),(0,jsx_runtime.jsx)("button",Object.assign({type:"submit",className:kcClsx("kcButtonClass","kcButtonDefaultClass","kcButtonLargeClass"),id:"cancelRecoveryAuthnCodesBtn",name:"cancel-aia",value:"true"},{children:msg("recovery-codes-action-cancel")}))]}):(0,jsx_runtime.jsx)("input",{type:"submit",className:kcClsx("kcButtonClass","kcButtonPrimaryClass","kcButtonBlockClass","kcButtonLargeClass"),id:"saveRecoveryAuthnCodesBtn",value:msgStr("recovery-codes-action-complete"),disabled:!0})]}))]}))}function LogoutOtherSessions(props){var kcClsx=props.kcClsx,msg=props.i18n.msg;return(0,jsx_runtime.jsx)("div",Object.assign({id:"kc-form-options",className:kcClsx("kcFormOptionsClass")},{children:(0,jsx_runtime.jsx)("div",Object.assign({className:kcClsx("kcFormOptionsWrapperClass")},{children:(0,jsx_runtime.jsx)("div",Object.assign({className:"checkbox"},{children:(0,jsx_runtime.jsxs)("label",{children:[(0,jsx_runtime.jsx)("input",{type:"checkbox",id:"logout-sessions",name:"logout-sessions",value:"on",defaultChecked:!0}),msg("logoutOtherSessions")]})}))}))}))}}}]);