{"version":3,"sources":["webpack://carbonio-login-ui/./assets/carbonio_loginpage.jpg","webpack://carbonio-login-ui/./assets/carbonio_loginpage-retina.jpg","webpack://carbonio-login-ui/./assets/logo-carbonio.png","webpack://carbonio-login-ui/./src/components-v1/modals.jsx","webpack://carbonio-login-ui/./src/components-v1/spinner.jsx","webpack://carbonio-login-ui/./src/components-v1/credentials-form.jsx","webpack://carbonio-login-ui/./src/components-v1/v1-login-manager.jsx","webpack://carbonio-login-ui/./src/services/v1-service.js","webpack://carbonio-login-ui/./src/services/v2-service.js","webpack://carbonio-login-ui/./src/components-v1/change-password-form.jsx","webpack://carbonio-login-ui/./src/components-v1/forget-password.jsx","webpack://carbonio-login-ui/./src/services/forget-password-service.js","webpack://carbonio-login-ui/./src/components-v1/v2-login-manager.jsx","webpack://carbonio-login-ui/./src/components-index/server-not-responding.jsx","webpack://carbonio-login-ui/./src/components-v1/form-selector.jsx","webpack://carbonio-login-ui/./src/services/auth-configuration-service.js","webpack://carbonio-login-ui/./src/components-index/zimbra-form.jsx","webpack://carbonio-login-ui/./assets/play-store.svg","webpack://carbonio-login-ui/./assets/app-store.svg","webpack://carbonio-login-ui/./src/components-v1/page-layout.jsx","webpack://carbonio-login-ui/./src/components-index/use-screen-mode.jsx","webpack://carbonio-login-ui/./src/components-index/use-touch-device.jsx"],"names":["OfflineModal","_ref","open","onClose","_useTranslation","useTranslation","t","_slicedToArray","React","Modal","title","Paragraph","StyledSpinner","styled","displayName","componentId","Spinner","viewBox","className","cx","cy","r","fill","strokeWidth","urlParams","URLSearchParams","window","location","search","CredentialsForm","authError","submitCredentials","configuration","disableInputs","onClickForgetPassword","_ref$loading","loading","_useState","useState","get","_useState2","username","setUsername","_useState3","_useState4","password","setPassword","_useLoginConfigStore","useLoginConfigStore","carbonioDomainName","carbonioFeatureResetPasswordEnabled","submitUserPassword","useCallback","e","preventDefault","usernameModified","has","concat","replace","includes","trim","samlButtonCbk","assign","destinationUrl","samlButton","useMemo","authMethods","Button","type","label","color","disabled","onClick","style","minHeight","clickForgetPassword","domainElement","Tooltip","placement","size","Text","weight","marginTop","maxWidth","onSubmit","width","Row","padding","bottom","Input","defaultValue","onChange","target","value","hasError","autocomplete","backgroundColor","CustomIcon","PasswordInput","overflow","orientation","crossAlignment","top","mainAlignment","textDecorationLine","cursor","V1LoginManager","setLoading","progress","_useState5","_useState6","setAuthError","_useState7","_useState8","snackbarNetworkError","setSnackbarNetworkError","_useState9","_useState10","detailNetworkModal","setDetailNetworkModal","authMethod","user","service","fetch","method","headers","getDeviceModel","deviceId","body","JSON","stringify","auth_method","postV1Login","then","_ref2","_asyncToGenerator","_regeneratorRuntime","_callee","res","_context","prev","next","t0","status","saveCredentials","abrupt","stop","_x","apply","arguments","onCloseCbk","onSnackbarActionCbk","onCloseSnackbarCbk","vertical","Snackbar","actionLabel","onActionClick","autoHideTimeout","postV2Login","_defineProperty","RECOVERY_TOKEN","PASSWORD","submitOtp","id","code","trustDevice","version","unsecure_device","isLoading","setIsLoading","oldPassword","setOldPassword","newPassword","setNewPassword","confirmNewPassword","setConfirmNewPassword","showOldPasswordError","setShowOldPasswordError","errorLabelNewPassword","setErrorLabelNewPassword","_useState11","_useState12","errorLabelConfirmNewPassword","setErrorLabelConfirmNewPassword","onChangeOldPassword","ev","onChangeNewPassword","onChangeConfirmNewPassword","useEffect","submitChangePasswordCb","credentials","Body","ChangePasswordRequest","_jsns","csrfTokenSecured","persistAuthTokenCookie","account","by","_content","prefs","pref","name","submitChangePassword","_payload2","_payload2$Body","_payload2$Body$Fault","_payload2$Body$Fault$","_payload2$Body$Fault$2","_payload3","_payload3$Body","_payload3$Body$Fault","_payload3$Body$Fault$","_payload3$Body$Fault$2","_payload4","_payload4$Body","_payload4$Body$Fault","_payload4$Body$Fault$","_payload4$Body$Fault$2","payload","_payload","_payload$Body","_payload$Body$ChangeP","authTokenArr","authToken","a","currNum","json","sent","ChangePasswordResponse","length","undefined","setCookie","ZM_AUTH_TOKEN","t1","Fault","Detail","Error","Code","INVALID_PASSWORD_ERR_CODE","find","rec","n","BLOCK_COMMON_WORDS_IN_PASSWORD_POLICY","str","BLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY","ZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME","num","ZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME","ZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS","PASSWORD_LOCKED","PASSWORD_RECENTLY_USED_ERR_CODE","err","message","startsWith","height","maxHeight","display","state","setProgress","token","setToken","recoveryEmail","setRecoveryEmail","recoveryEmailError","setRecoveryEmailError","sendTokenError","setSendTokenError","_useState13","_useState14","validationTokenError","setValidationTokenError","_useState15","_useState16","recoveryAttemptsLeft","setRecoveryAttemptsLeft","_useState17","_useState18","validationOTPError","setValidationOTPError","createSnackbar","useContext","SnackbarManagerContext","_useState19","_useState20","otpList","setOtpList","_useState21","_useState22","otpId","setOtpId","_useState23","_useState24","otp","setOtp","_useState25","_useState26","setTrustDevice","toggleTrustDevice","v","onChangeOtp","handleAccountRecoveryError","errorCode","FEATURE_RESET_PASSWORD_DISABLED","CONTACT_ADMIN","onRetrieveRecoveryEmail","RecoverAccountRequest","op","email","channel","getRecoveryAccount","_payload$Body$Recover","RecoverAccountResponse","recoveryAccount","onSendRecoveryToken","getSendRecoveryToken","_ref3","_callee2","_payload3$Body$Recove","rAttemptLeft","_context2","key","hideButton","_x2","validateCommunityToken","recoveryCode","AuthRequest","validateRecoveryToken","_ref4","_callee3","_payload4$Body$AuthRe","_context3","AuthResponse","_x3","validateCarbonioToken","_ref5","_callee4","_payload5","_payload$otp","_payload6","_payload7","_payload7$otp","_context4","map","obj","_x4","onValidateToken","systemType","CARBONIO","submitOtpCb","onProceedWithSession","Trans","i18nKey","defaults","components","bold","values","recovery_email","Container","Select","items","background","defaultSelection","Checkbox","formState","V2LoginManager","loadingCredentials","setLoadingCredentials","loadingOtp","setLoadingOtp","showOtpError","setShowOtpError","setEmail","loadingChangePassword","setLoadingChangePassword","redirected","response","_response$otp","_response$otp2","ChangePasswordForm","ForgetPassword","ServerNotResponding","isOpen","setOpen","FormSelector","domain","setConfiguration","error","setError","setDisableInputs","componentIsMounted","append","getAuthSupported","conf","_objectSpread","maxApiVersion","doAuthLogout","console","log","minApiVersion","NotSupportedVersion","waiting","twoFactor","changePassword","ZimbraForm","generateDeviceId","zimbraLogin","_payload$Body$Fault","_payload$Body$Fault$D","_payload$Body$Fault$D2","_payload$Body$Fault2","_payload$Body$Fault2$","_payload$Body$Fault2$2","Reason","origin","forgetPassword","LoginContainer","withConfig","props","backgroundImage","screenMode","DESKTOP","css","isDefaultBg","backgroundImageRetina","FormContainer","FormWrapper","theme","palette","gray6","regular","DarkReaderListener","setDarkReaderState","ThemeCallbacksContext","darkReaderResultValue","useDarkReaderResultValue","PageLayout","_urlParams$get","hasBackendApi","logo","setLogo","serverError","setServerError","prepareUrlForForward","setDestinationUrl","setDomain","bg","setBg","setIsDefaultBg","setEditedTheme","copyrightBanner","setCopyrightBanner","setDomainName","showModal","setShowModal","showMobileAppModal","setShowMobileAppModal","doNotShowAgain","setDoNotShowAgain","check","MOBILE","TABLET","setScreenMode","handleResize","innerWidth","addEventListener","removeEventListener","useScreenMode","isTouchDevice","setIsTouchDevice","mediaQuery","matchMedia","handleMediaChange","matches","useIsTouchDevice","localStorage","getItem","primaryColor","useGetPrimaryColor","isAdvanced","SetIsAdvanced","isSupportedBrowser","browserName","CHROME","FIREFOX","useLayoutEffect","getLoginConfig","publicUrl","zimbraDomainName","_logo","loginPageBackgroundImage","loginPageLogo","image","logoCarbonio","loginPageSkinLogoUrl","url","loginPageTitle","document","loginPageFavicon","link","querySelector","createElement","rel","href","getElementsByTagName","appendChild","loginPageColorSet","colorSet","primary","et","generateColorSet","secondary","carbonioWebUiTitle","carbonioWebUiFavicon","carbonioWebUiDarkMode","carbonioWebUiDarkLoginBackground","carbonioWebUiDarkLoginLogo","carbonioWebUiLoginBackground","carbonioWebUiLoginLogo","carbonioWebUiDescription","carbonioLogoURL","CARBONIO_LOGO_URL","LinkText","_ref6","to","children","logoHtml","alt","src","marginLeft","marginRight","Padding","wrap","right","Icon","icon","CARBONIO_SUPPORTED_BROWSER_LINK","CARBONIO_CE_SUPPORTED_BROWSER_LINK","Date","getFullYear","customFooter","gap","showCloseIcon","setItem","lineHeight","PLAY_STORE_URL","playStore","APP_STORE_URL","appStore","iconColor"],"mappings":"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","file":"137.js","sourcesContent":["export default __webpack_public_path__ + \"assets/8b90fe7b942c6f389f1ddd01103d3b0e.jpg\";","export default __webpack_public_path__ + \"assets/a2ca34c391de073172d480fe7977954a.jpg\";","export default __webpack_public_path__ + \"assets/c469e23959fd19cc40fbb5e56c083c86.png\";","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useTranslation } from 'react-i18next';\nimport React from 'react';\n\nimport { Modal, Paragraph } from '@zextras/carbonio-design-system';\n\nexport default function OfflineModal({ open, onClose }) {\n\tconst [t] = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('offline', 'You are currently offline, please check your internet connection')}\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\nimport styled from 'styled-components';\n\nconst StyledSpinner = styled.svg`\n\tanimation: rotate 2s linear infinite;\n\tmargin: -25px 0 0 -25px;\n\twidth: 50px;\n\theight: 50px;\n\n\t& .path {\n\t\tstroke: #0000ff;\n\t\tanimation: dash 1.5s ease-in-out infinite;\n\t}\n\n\t@keyframes rotate {\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n\t@keyframes dash {\n\t\t0% {\n\t\t\tstroke-dasharray: 1, 150;\n\t\t\tstroke-dashoffset: 0;\n\t\t}\n\t\t50% {\n\t\t\tstroke-dasharray: 90, 150;\n\t\t\tstroke-dashoffset: -35;\n\t\t}\n\t\t100% {\n\t\t\tstroke-dasharray: 90, 150;\n\t\t\tstroke-dashoffset: -124;\n\t\t}\n\t}\n`;\n\nexport default function Spinner() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState, useMemo } from 'react';\nimport { Button, Input, PasswordInput, Row, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\nimport { useLoginConfigStore } from '../store/login/store';\n\nconst urlParams = new URLSearchParams(window.location.search);\n\nexport default function CredentialsForm({\n\tauthError,\n\tsubmitCredentials,\n\tconfiguration,\n\tdisableInputs,\n\tonClickForgetPassword,\n\tloading = false\n}) {\n\tconst [t] = useTranslation();\n\n\tconst [username, setUsername] = useState(urlParams.get('username') || '');\n\tconst [password, setPassword] = useState('');\n\tconst { carbonioDomainName, carbonioFeatureResetPasswordEnabled } = useLoginConfigStore();\n\n\tconst submitUserPassword = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tif (username && password) {\n\t\t\t\tlet usernameModified = username;\n\t\t\t\tif (urlParams.has('virtualacctdomain')) {\n\t\t\t\t\tusernameModified = `${usernameModified.replace('@', '.')}@${urlParams.get(\n\t\t\t\t\t\t'virtualacctdomain'\n\t\t\t\t\t)}`;\n\t\t\t\t} else if (urlParams.has('customerDomain') && !username.includes('@')) {\n\t\t\t\t\tusernameModified = `${usernameModified.trim()}@${urlParams.get('customerDomain')}`;\n\t\t\t\t}\n\t\t\t\tif (!username.includes('@') && carbonioDomainName) {\n\t\t\t\t\tusernameModified = `${username}@${carbonioDomainName}`;\n\t\t\t\t}\n\t\t\t\tsubmitCredentials(usernameModified, password);\n\t\t\t}\n\t\t},\n\t\t[username, password, carbonioDomainName, submitCredentials]\n\t);\n\n\tconst samlButtonCbk = useCallback(() => {\n\t\twindow.location.assign(\n\t\t\t`/zx/auth/startSamlWorkflow?redirectUrl=${configuration.destinationUrl}`\n\t\t);\n\t}, [configuration]);\n\tconst samlButton = useMemo(() => {\n\t\tif (configuration.authMethods.includes('saml')) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t// used to keep the correct space where or not SAML is shown\n\t\t\t
\n\t\t);\n\t}, [configuration, disableInputs, samlButtonCbk, t]);\n\n\tconst clickForgetPassword = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tonClickForgetPassword();\n\t\t},\n\t\t[onClickForgetPassword]\n\t);\n\n\tconst domainElement = useMemo(() => {\n\t\treturn !username?.includes('@') && carbonioDomainName ? (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t@{carbonioDomainName}\n\t\t\t\t\n\t\t\t\n\t\t) : null;\n\t}, [username, carbonioDomainName]);\n\n\treturn (\n\t\t e.preventDefault()}\n\t\t\tstyle={{ width: '100%' }}\n\t\t\tdata-testid=\"credentials-form\"\n\t\t>\n\t\t\t\n\t\t\t\t setUsername(e.target.value)}\n\t\t\t\t\thasError={!!authError}\n\t\t\t\t\tautocomplete=\"username\"\n\t\t\t\t\tlabel={t('username', 'Username')}\n\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\tCustomIcon={() => domainElement}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t setPassword(e.target.value)}\n\t\t\t\t\thasError={!!authError}\n\t\t\t\t\tautocomplete=\"password\"\n\t\t\t\t\tlabel={t('password', 'Password')}\n\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t{authError ||
}\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{samlButton}\n\t\t\t\n\t\t\t{carbonioFeatureResetPasswordEnabled !== false && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('forget_password', 'Forget Password?')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Row, Snackbar } from '@zextras/carbonio-design-system';\nimport OfflineModal from './modals';\nimport Spinner from './spinner';\nimport CredentialsForm from './credentials-form';\nimport { postV1Login } from '../services/v1-service';\nimport { saveCredentials } from '../utils';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password',\n\tforgetPassword: 'forget-password'\n};\n\nexport default function V1LoginManager({ configuration, disableInputs }) {\n\tconst [t] = useTranslation();\n\n\tconst [loading, setLoading] = useState(false);\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst [progress, setProgress] = useState('credentials');\n\n\tconst [authError, setAuthError] = useState();\n\n\tconst [snackbarNetworkError, setSnackbarNetworkError] = useState(false);\n\tconst [detailNetworkModal, setDetailNetworkModal] = useState(false);\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoading(true);\n\t\t\treturn postV1Login('password', username, password)\n\t\t\t\t.then(async (res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tawait saveCredentials(username, password);\n\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetSnackbarNetworkError(true);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoading(false));\n\t\t},\n\t\t[configuration.destinationUrl, t]\n\t);\n\n\tconst onCloseCbk = useCallback(() => setDetailNetworkModal(false), [setDetailNetworkModal]);\n\tconst onSnackbarActionCbk = useCallback(\n\t\t() => setDetailNetworkModal(true),\n\t\t[setDetailNetworkModal]\n\t);\n\tconst onCloseSnackbarCbk = useCallback(\n\t\t() => setSnackbarNetworkError(false),\n\t\t[setSnackbarNetworkError]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === 'credentials' && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === 'waiting' && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { getDeviceModel, deviceId } from '../utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function postV1Login(authMethod, user, password, service) {\n\treturn fetch('/zx/auth/v1/login', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'webUI',\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tauth_method: authMethod,\n\t\t\tuser,\n\t\t\tpassword\n\t\t})\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { PASSWORD, RECOVERY_TOKEN } from '../constants';\nimport { getDeviceModel, deviceId } from '../utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function postV2Login(authMethod, user, password, service) {\n\treturn fetch('/zx/auth/v2/login', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'WebUI',\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tauth_method: authMethod,\n\t\t\tuser,\n\t\t\t[authMethod === RECOVERY_TOKEN ? RECOVERY_TOKEN : PASSWORD]: password\n\t\t})\n\t});\n}\n\nexport function submitOtp(id, code, trustDevice) {\n\treturn fetch('/zx/auth/v2/otp/validate', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'WebUI',\n\t\t\t'Content-Type': 'application/json',\n\t\t\tversion: '2'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tid,\n\t\t\tcode,\n\t\t\tunsecure_device: !trustDevice\n\t\t})\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { Row, Text, Input, Button, PasswordInput } from '@zextras/carbonio-design-system';\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tZM_AUTH_TOKEN,\n\tZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME,\n\tINVALID_PASSWORD_ERR_CODE,\n\tPASSWORD_RECENTLY_USED_ERR_CODE,\n\tBLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY,\n\tBLOCK_COMMON_WORDS_IN_PASSWORD_POLICY,\n\tPASSWORD_LOCKED,\n\tZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS\n} from '../constants';\nimport { saveCredentials, setCookie } from '../utils';\n\nexport const submitChangePassword = (username, oldPassword, newPassword) => {\n\treturn fetch('/service/soap/ChangePasswordRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tChangePasswordRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\tpersistAuthTokenCookie: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\toldPassword: {\n\t\t\t\t\t\t_content: oldPassword\n\t\t\t\t\t},\n\t\t\t\t\tpassword: {\n\t\t\t\t\t\t_content: newPassword\n\t\t\t\t\t},\n\t\t\t\t\tprefs: [{ pref: { name: 'zimbraPrefMailPollingInterval' } }]\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n};\n\nconst ChangePasswordForm = ({ isLoading, setIsLoading, username, configuration }) => {\n\tconst [t] = useTranslation();\n\n\tconst [oldPassword, setOldPassword] = useState('');\n\tconst [newPassword, setNewPassword] = useState('');\n\tconst [confirmNewPassword, setConfirmNewPassword] = useState('');\n\tconst [showOldPasswordError, setShowOldPasswordError] = useState(false);\n\tconst [errorLabelNewPassword, setErrorLabelNewPassword] = useState(false);\n\tconst [errorLabelConfirmNewPassword, setErrorLabelConfirmNewPassword] = useState('');\n\n\tconst onChangeOldPassword = useCallback(\n\t\t(ev) => setOldPassword(ev.target.value),\n\t\t[setOldPassword]\n\t);\n\tconst onChangeNewPassword = useCallback(\n\t\t(ev) => setNewPassword(ev.target.value),\n\t\t[setNewPassword]\n\t);\n\tconst onChangeConfirmNewPassword = useCallback(\n\t\t(ev) => setConfirmNewPassword(ev.target.value),\n\t\t[setConfirmNewPassword]\n\t);\n\n\tuseEffect(() => {\n\t\tsetErrorLabelNewPassword('');\n\t\tsetErrorLabelConfirmNewPassword('');\n\t}, [newPassword, t]);\n\n\tuseEffect(() => {\n\t\tif (newPassword && confirmNewPassword !== newPassword) {\n\t\t\tsetErrorLabelConfirmNewPassword(\n\t\t\t\tt('changePassword_error_confirmPassword', 'Confirm password not valid')\n\t\t\t);\n\t\t} else {\n\t\t\tsetErrorLabelConfirmNewPassword('');\n\t\t}\n\t}, [confirmNewPassword, newPassword, t]);\n\n\tconst submitChangePasswordCb = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tsetIsLoading(true);\n\t\t\tif (newPassword && confirmNewPassword === newPassword && !errorLabelNewPassword) {\n\t\t\t\tsubmitChangePassword(username, oldPassword, newPassword)\n\t\t\t\t\t.then(async (res) => {\n\t\t\t\t\t\tlet payload;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tpayload = await res.json();\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tpayload = await res;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (res.status === 200) {\n\t\t\t\t\t\t\tconst authTokenArr = payload?.Body?.ChangePasswordResponse?.authToken;\n\t\t\t\t\t\t\tconst authToken =\n\t\t\t\t\t\t\t\tauthTokenArr && authTokenArr.length > 0 ? authTokenArr[0]._content : undefined;\n\t\t\t\t\t\t\tif (authToken) {\n\t\t\t\t\t\t\t\tsetCookie(ZM_AUTH_TOKEN, authToken);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\t\tawait saveCredentials(username, newPassword);\n\t\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tcase 500:\n\t\t\t\t\t\t\t\tif (payload?.Body?.Fault?.Detail?.Error?.Code === INVALID_PASSWORD_ERR_CODE) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tconst { a } = payload.Body.Fault.Detail.Error;\n\t\t\t\t\t\t\t\t\tlet currNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === BLOCK_COMMON_WORDS_IN_PASSWORD_POLICY)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_block_common_words', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Invalid password: password is known to be too common: {{str}}',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { str: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === BLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_block_personal_data', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Invalid password: password contains username or other personal data: {{str}}',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { str: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_maxLength', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Maximum length is {{num}} characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minLength', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Minimum length is {{num}} characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minLowerCaseChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} lowercase characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minNumericChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} numeric characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minPunctuationChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} punctuation characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minUppercaseChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} uppercase characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minDigitsOrPuncs', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Expecting at least {{num}} numeric or punctuation characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if (payload?.Body?.Fault?.Detail?.Error?.Code === PASSWORD_LOCKED) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\tt('changePassword_error_passwordLocked', {\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue: \"Password is locked and can't be changed\"\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\tpayload?.Body?.Fault?.Detail?.Error?.Code === PASSWORD_RECENTLY_USED_ERR_CODE\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\tt('changePassword_error_passwordRecentlyUsed', {\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Password recently used'\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(true);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword('');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\tt('changePassword_error_minLowerCaseChars', {\n\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} lowercase characters',\n\t\t\t\t\t\t\t\t\t\treplace: { num: 6 }\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\tif (err.message.startsWith('authentication failed')) {\n\t\t\t\t\t\t\tsetShowOldPasswordError(true);\n\t\t\t\t\t\t\tsetErrorLabelNewPassword('');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tsetIsLoading(false);\n\t\t},\n\t\t[\n\t\t\tt,\n\t\t\tsetIsLoading,\n\t\t\tnewPassword,\n\t\t\tconfirmNewPassword,\n\t\t\terrorLabelNewPassword,\n\t\t\tusername,\n\t\t\toldPassword,\n\t\t\tconfiguration.destinationUrl\n\t\t]\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('changePassword_title', 'Create a new password')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{showOldPasswordError && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('wrong_password', 'Wrong password, please check data and try again')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{errorLabelNewPassword && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{errorLabelNewPassword}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{errorLabelConfirmNewPassword && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{errorLabelConfirmNewPassword}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ChangePasswordForm;\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useContext, useState } from 'react';\nimport {\n\tRow,\n\tText,\n\tInput,\n\tButton,\n\tContainer,\n\tSnackbarManagerContext,\n\tSelect,\n\tCheckbox\n} from '@zextras/carbonio-design-system';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { map } from 'lodash';\nimport {\n\tgetRecoveryAccount,\n\tgetSendRecoveryToken,\n\tvalidateRecoveryToken\n} from '../services/forget-password-service';\nimport { setCookie } from '../utils';\nimport {\n\tFEATURE_RESET_PASSWORD_DISABLED,\n\tZM_AUTH_TOKEN,\n\tCONTACT_ADMIN,\n\tRECOVERY_TOKEN,\n\tCARBONIO\n} from '../constants';\nimport { postV2Login, submitOtp } from '../services/v2-service';\n\nconst urlParams = new URLSearchParams(window.location.search);\n\nconst state = {\n\tretrieveRecoveryEmail: 'retrieve-recovery-email',\n\tsendRecoveryToken: 'send-recovery-token',\n\tvalidateRecoveryToken: 'validate-recovery-token',\n\tsubmitOtpCode: 'submit-otp-code',\n\tproceedToLoginScreen: 'proceed-to-login-screen'\n};\n\nconst ForgetPassword = ({ configuration, disableInputs }) => {\n\tconst [t] = useTranslation();\n\tconst [username, setUsername] = useState(urlParams.get('username') || '');\n\tconst [progress, setProgress] = useState(state.retrieveRecoveryEmail);\n\tconst [token, setToken] = useState('');\n\tconst [recoveryEmail, setRecoveryEmail] = useState('');\n\tconst [recoveryEmailError, setRecoveryEmailError] = useState('');\n\tconst [sendTokenError, setSendTokenError] = useState('');\n\tconst [validationTokenError, setValidationTokenError] = useState('');\n\tconst [recoveryAttemptsLeft, setRecoveryAttemptsLeft] = useState();\n\tconst [validationOTPError, setValidationOTPError] = useState('');\n\tconst createSnackbar = useContext(SnackbarManagerContext);\n\tconst [otpList, setOtpList] = useState([]);\n\tconst [otpId, setOtpId] = useState('');\n\tconst [otp, setOtp] = useState('');\n\tconst [trustDevice, setTrustDevice] = useState(false);\n\tconst toggleTrustDevice = useCallback(() => setTrustDevice((v) => !v), [setTrustDevice]);\n\tconst onChangeOtp = useCallback(\n\t\t(ev) => {\n\t\t\tsetOtp(ev.target.value);\n\t\t},\n\t\t[setOtp]\n\t);\n\n\tconst handleAccountRecoveryError = useCallback(\n\t\t(errorCode) => {\n\t\t\tswitch (errorCode) {\n\t\t\t\tcase FEATURE_RESET_PASSWORD_DISABLED:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt('password_Reset_feature_disabled', 'Password reset feature is disabled.')\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase CONTACT_ADMIN:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'account_recovery_not_found_or_not_verified',\n\t\t\t\t\t\t\t'Account Recovery is either not found or not verified. Please contact your administrator.'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[t]\n\t);\n\n\tconst onRetrieveRecoveryEmail = useCallback(() => {\n\t\tgetRecoveryAccount(username)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet email;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\temail = payload?.Body?.RecoverAccountResponse?.recoveryAccount;\n\t\t\t\t\t\tsetRecoveryEmail(email);\n\t\t\t\t\t\tsetProgress(state.sendRecoveryToken);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\thandleAccountRecoveryError(payload?.Body?.Fault?.Detail?.Error?.Code);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [handleAccountRecoveryError, t, username]);\n\n\tconst onSendRecoveryToken = useCallback(() => {\n\t\tgetSendRecoveryToken(username)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet rAttemptLeft;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\trAttemptLeft = payload?.Body?.RecoverAccountResponse?.recoveryAttemptsLeft;\n\t\t\t\t\t\tsetRecoveryAttemptsLeft(rAttemptLeft);\n\t\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\t\tkey: 'success',\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\tlabel: t(\n\t\t\t\t\t\t\t\t'recovery_code_send_success',\n\t\t\t\t\t\t\t\t'The Recovery code has been send successfully'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\t\thideButton: true,\n\t\t\t\t\t\t\treplace: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetProgress(state.validateRecoveryToken);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetSendTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetSendTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetSendTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [createSnackbar, t, username]);\n\n\tconst validateCommunityToken = useCallback(() => {\n\t\tvalidateRecoveryToken(username, token)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet authTokenArr;\n\t\t\t\tlet authToken;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\tauthTokenArr = payload?.Body?.AuthResponse?.authToken;\n\t\t\t\t\t\tauthToken =\n\t\t\t\t\t\t\tauthTokenArr && authTokenArr.length > 0 ? authTokenArr[0]._content : undefined;\n\t\t\t\t\t\tif (authToken) {\n\t\t\t\t\t\t\tsetCookie(ZM_AUTH_TOKEN, authToken);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetValidationTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [t, token, username]);\n\n\tconst validateCarbonioToken = useCallback(() => {\n\t\tpostV2Login(RECOVERY_TOKEN, username, token)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\tif (payload?.['2FA'] === true) {\n\t\t\t\t\t\t\tsetOtpList(\n\t\t\t\t\t\t\t\tmap(payload?.otp ?? [], (obj) => ({\n\t\t\t\t\t\t\t\t\tlabel: obj.label,\n\t\t\t\t\t\t\t\t\tvalue: obj.id\n\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetOtpId(payload?.otp?.[0].id);\n\t\t\t\t\t\t\tsetProgress(state.submitOtpCode);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetValidationTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [t, token, username]);\n\n\tconst onValidateToken = useCallback(() => {\n\t\tif (configuration?.systemType === CARBONIO) {\n\t\t\tvalidateCarbonioToken();\n\t\t} else {\n\t\t\tvalidateCommunityToken();\n\t\t}\n\t}, [configuration, validateCarbonioToken, validateCommunityToken]);\n\n\tconst submitOtpCb = useCallback(\n\t\t(e) => {\n\t\t\tsubmitOtp(otpId, otp, trustDevice)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 400:\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\tcase 500:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'something_went_wrong',\n\t\t\t\t\t\t\t\t\t'Something went wrong. Please contact your administrator.'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t},\n\t\t[otpId, otp, trustDevice, t]\n\t);\n\n\tconst onProceedWithSession = useCallback(() => {\n\t\twindow.location.assign('/');\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress !== state.proceedToLoginScreen && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.retrieveRecoveryEmail && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'enter_your_username_to_retrieve_recovery_email',\n\t\t\t\t\t\t\t\t'Please enter your username so we may retrieve the recovery email.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetUsername(e.target.value);\n\t\t\t\t\t\t\t\tsetRecoveryEmailError('');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautocomplete=\"username\"\n\t\t\t\t\t\t\thasError={recoveryEmailError}\n\t\t\t\t\t\t\tlabel={t('username', 'Username')}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t{recoveryEmailError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{recoveryEmailError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'not_have_recovery_email_setup_note',\n\t\t\t\t\t\t\t\t'Don’t have a recovery email setup? Please contact your system administrator for support.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.sendRecoveryToken && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ recovery_email }}?\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ recovery_email: recoveryEmail }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'send_a_recovery_code_notes',\n\t\t\t\t\t\t\t\t'Click on the button below to send a recovery code to that address, use it validate the next request.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{sendTokenError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{sendTokenError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.validateRecoveryToken && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ recovery_email }} and will be valid for 10 minutes. You have {{ recoveryAttemptsLeft }} more attempts. Enter the code in the form below.\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\trecovery_email: recoveryEmail,\n\t\t\t\t\t\t\t\t\trecoveryAttemptsLeft\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setToken(e.target.value)}\n\t\t\t\t\t\t\tautocomplete=\"code\"\n\t\t\t\t\t\t\tlabel={t('code', 'Code')}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t{validationTokenError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{validationTokenError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'resend_code_notes',\n\t\t\t\t\t\t\t\t'Don’t see the code in your inbox? Wait a couple of minutes or check your spam folder. If you still don’t see it please click on \"Resend Code\".'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.submitOtpCode && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ username }}!\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ username }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'we_just_need_one_more_check_before_getting_back_in',\n\t\t\t\t\t\t\t\t'We just need one more check before getting back in.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{validationOTPError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{validationOTPError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.proceedToLoginScreen && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ username }}!\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ username }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'proceed_with_the_login_and_change_your_password',\n\t\t\t\t\t\t\t\t'You can proceed with the login, but remember to also change your password'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\nexport default ForgetPassword;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport function getRecoveryAccount(username) {\n\treturn fetch('/service/soap/RecoverAccountRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tRecoverAccountRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraMail',\n\t\t\t\t\top: 'getRecoveryAccount',\n\t\t\t\t\temail: username,\n\t\t\t\t\tchannel: 'email'\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n\nexport function getSendRecoveryToken(username) {\n\treturn fetch('/service/soap/RecoverAccountRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tRecoverAccountRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraMail',\n\t\t\t\t\top: 'sendRecoveryCode',\n\t\t\t\t\temail: username,\n\t\t\t\t\tchannel: 'email'\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n\nexport function validateRecoveryToken(username, recoveryCode) {\n\treturn fetch('/service/soap/AuthRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tAuthRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\trecoveryCode: {\n\t\t\t\t\t\t_content: recoveryCode\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n","/* eslint-disable import/no-extraneous-dependencies */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport {\n\tButton,\n\tCheckbox,\n\tInput,\n\tRow,\n\tSelect,\n\tSnackbar,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { postV2Login, submitOtp } from '../services/v2-service';\nimport { saveCredentials } from '../utils';\nimport ChangePasswordForm from './change-password-form';\nimport CredentialsForm from './credentials-form';\n\nimport OfflineModal from './modals';\nimport Spinner from './spinner';\nimport ForgetPassword from './forget-password';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password',\n\tforgetPassword: 'forget-password'\n};\n\nexport default function V2LoginManager({ configuration, disableInputs }) {\n\tconst [t] = useTranslation();\n\n\tconst [loadingCredentials, setLoadingCredentials] = useState(false);\n\tconst [loadingOtp, setLoadingOtp] = useState(false);\n\tconst [progress, setProgress] = useState(formState.credentials);\n\n\tconst [authError, setAuthError] = useState(false);\n\tconst [showOtpError, setShowOtpError] = useState(false);\n\n\tconst [otpList, setOtpList] = useState([]);\n\tconst [otpId, setOtpId] = useState('');\n\tconst [otp, setOtp] = useState('');\n\tconst onChangeOtp = useCallback(\n\t\t(ev) => {\n\t\t\tsetOtp(ev.target.value);\n\t\t},\n\t\t[setOtp]\n\t);\n\tconst [trustDevice, setTrustDevice] = useState(false);\n\tconst toggleTrustDevice = useCallback(() => setTrustDevice((v) => !v), [setTrustDevice]);\n\n\tconst [email, setEmail] = useState('');\n\tconst [loadingChangePassword, setLoadingChangePassword] = useState(false);\n\n\tconst [snackbarNetworkError, setSnackbarNetworkError] = useState(false);\n\tconst [detailNetworkModal, setDetailNetworkModal] = useState(false);\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoadingCredentials(true);\n\t\t\treturn postV2Login('password', username, password)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tsetEmail(username);\n\t\t\t\t\t\t\tif (res.redirected) {\n\t\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tres.json().then(async (response) => {\n\t\t\t\t\t\t\t\t\tawait saveCredentials(username, password);\n\t\t\t\t\t\t\t\t\tif (response?.['2FA'] === true) {\n\t\t\t\t\t\t\t\t\t\tsetOtpList(\n\t\t\t\t\t\t\t\t\t\t\tmap(response?.otp ?? [], (obj) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: obj.label,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: obj.id\n\t\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tsetOtpId(response?.otp?.[0].id);\n\t\t\t\t\t\t\t\t\t\tsetProgress(formState.twoFactor);\n\t\t\t\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetSnackbarNetworkError(true);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoadingCredentials(false));\n\t\t},\n\t\t[configuration.destinationUrl, t]\n\t);\n\n\tconst submitOtpCb = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tsetLoadingOtp(true);\n\t\t\tsubmitOtp(otpId, otp, trustDevice)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res.status === 200) {\n\t\t\t\t\t\tif (res.redirected) {\n\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetLoadingOtp(false);\n\t\t\t\t\t\tsetShowOtpError(true);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoadingOtp(false));\n\t\t},\n\t\t[otpId, otp, trustDevice, configuration.destinationUrl]\n\t);\n\n\tconst onCloseCbk = useCallback(() => setDetailNetworkModal(false), [setDetailNetworkModal]);\n\tconst onSnackbarActionCbk = useCallback(\n\t\t() => setDetailNetworkModal(true),\n\t\t[setDetailNetworkModal]\n\t);\n\tconst onCloseSnackbarCbk = useCallback(\n\t\t() => setSnackbarNetworkError(false),\n\t\t[setSnackbarNetworkError]\n\t);\n\n\tconst onClickForgetPassword = useCallback(() => {\n\t\tsetProgress(formState.forgetPassword);\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === formState.credentials && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.waiting && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.twoFactor && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('two_step_authentication', 'Two-Step-Authentication')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{showOtpError &&\n\t\t\t\t\t\t\t\tt('wrong_password', 'Wrong password, please check data and try again')}\n\t\t\t\t\t\t\t{!showOtpError &&
}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{progress === formState.changePassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.forgetPassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Snackbar } from '@zextras/carbonio-design-system';\n\nexport default function ServerNotResponding() {\n\tconst [t] = useTranslation();\n\tconst [isOpen, setOpen] = useState(true);\n\tconst onCloseCbk = useCallback(() => setOpen(false), []);\n\n\treturn (\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState } from 'react';\nimport V1LoginManager from './v1-login-manager';\nimport V2LoginManager from './v2-login-manager';\nimport { getAuthSupported, doAuthLogout } from '../services/auth-configuration-service';\nimport ServerNotResponding from '../components-index/server-not-responding';\nimport NotSupportedVersion from '../components-index/not-supported-version';\n\nexport default function FormSelector({ destinationUrl, domain }) {\n\tconst [configuration, setConfiguration] = useState(null);\n\tconst [error, setError] = useState(false);\n\tconst [disableInputs, setDisableInputs] = useState(true);\n\n\tuseEffect(() => {\n\t\tlet componentIsMounted = true;\n\n\t\tgetAuthSupported(domain)\n\t\t\t.then((res) => {\n\t\t\t\tif (componentIsMounted) {\n\t\t\t\t\tsetConfiguration((conf) => ({\n\t\t\t\t\t\t...conf,\n\t\t\t\t\t\t...res,\n\t\t\t\t\t\tdestinationUrl\n\t\t\t\t\t}));\n\t\t\t\t\tsetDisableInputs(false);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\t// It should never happen, If the server doesn't respond this page will not be loaded\n\t\t\t\tif (componentIsMounted) setError(true);\n\t\t\t});\n\t\treturn () => {\n\t\t\tcomponentIsMounted = false;\n\t\t};\n\t}, [destinationUrl, domain]);\n\n\tuseEffect(() => {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tif (configuration && urlParams.has('loginOp') && urlParams.get('loginOp') === 'logout') {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tdoAuthLogout(configuration).catch(() => console.log('Logout failed'));\n\t\t}\n\t}, [configuration]);\n\n\tif (error) return ;\n\n\tif (configuration === null || !configuration.destinationUrl) return
;\n\n\tif (configuration.maxApiVersion >= 2 && configuration.minApiVersion <= 2)\n\t\treturn ;\n\tif (configuration.maxApiVersion >= 1 && configuration.minApiVersion <= 1)\n\t\treturn ;\n\n\treturn ;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport function getAuthSupported(domain) {\n\tconst urlParams = new URLSearchParams();\n\tif (domain) urlParams.append('domain', domain);\n\treturn fetch(`/zx/auth/supported?${urlParams}`, {\n\t\tmethod: 'GET'\n\t}).then((res) => {\n\t\tif (res.status === 200) return res.json();\n\t\tthrow Error('Notwork Error');\n\t});\n}\n\nexport function doAuthLogout(configuration) {\n\treturn fetch(`/zx/auth/v${configuration.maxApiVersion}/logout`, {\n\t\tmethod: 'GET'\n\t}).then((res) => {\n\t\tif (res.status !== 200) throw Error('Notwork Error');\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useTranslation } from 'react-i18next';\nimport React, { useCallback, useState } from 'react';\n\nimport CredentialsForm from '../components-v1/credentials-form';\nimport ChangePasswordForm from '../components-v1/change-password-form';\nimport ForgetPassword from '../components-v1/forget-password';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password'\n};\n\nconst zimbraLogin = (username, password) => {\n\treturn fetch('/service/soap/AuthRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tAuthRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\tpersistAuthTokenCookie: '1',\n\t\t\t\t\tgenerateDeviceId: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\tpassword: {\n\t\t\t\t\t\t_content: password\n\t\t\t\t\t},\n\t\t\t\t\tprefs: [{ pref: { name: 'zimbraPrefMailPollingInterval' } }]\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n};\n\nexport function ZimbraForm({ destinationUrl }) {\n\tconst { t } = useTranslation();\n\tconst [authError, setAuthError] = useState();\n\tconst [loading, setLoading] = useState(false);\n\tconst [progress, setProgress] = useState(formState.credentials);\n\tconst [loadingChangePassword, setLoadingChangePassword] = useState(false);\n\tconst [loadingCredentials, setLoadingCredentials] = useState(false);\n\tconst [email, setEmail] = useState('');\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoading(true);\n\t\t\tsetLoadingCredentials(true);\n\t\t\treturn zimbraLogin(username, password)\n\t\t\t\t.then(async (res) => {\n\t\t\t\t\tlet payload;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpayload = await res.json();\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tpayload = await res;\n\t\t\t\t\t}\n\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\tsetEmail(username);\n\t\t\t\t\tif (payload?.Body?.Fault) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpayload.Body.Fault?.Detail?.Error?.Code &&\n\t\t\t\t\t\t\tpayload.Body.Fault?.Detail?.Error?.Code === 'account.CHANGE_PASSWORD'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error(payload.Body.Fault.Reason.Text);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\twindow.location.assign(destinationUrl || window.location.origin);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\tcase 500:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\tif (err.message.startsWith('authentication failed'))\n\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\telse setAuthError(err.message);\n\t\t\t\t});\n\t\t},\n\t\t[destinationUrl, t]\n\t);\n\n\tconst onClickForgetPassword = useCallback(() => {\n\t\tsetProgress(formState.forgetPassword);\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === formState.credentials && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.changePassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.forgetPassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","export default __webpack_public_path__ + \"assets/67e4952b6e580669e1ed0c4b5b7c5fe3.svg\";","export default __webpack_public_path__ + \"assets/9a9d55fd81e4fd941cdda13d49a4d5eb.svg\";","/* eslint-disable import/no-extraneous-dependencies */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useLayoutEffect, useState, useContext, useEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n\tCheckbox,\n\tContainer,\n\tModal,\n\tPadding,\n\tRow,\n\tText,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { useTranslation, Trans } from 'react-i18next';\nimport { browserName } from 'react-device-detect';\nimport backgroundImage from '../../assets/carbonio_loginpage.jpg';\nimport backgroundImageRetina from '../../assets/carbonio_loginpage-retina.jpg';\nimport logoCarbonio from '../../assets/logo-carbonio.png';\nimport { getLoginConfig } from '../services/login-page-services';\nimport FormSelector from './form-selector';\nimport ServerNotResponding from '../components-index/server-not-responding';\nimport { ZimbraForm } from '../components-index/zimbra-form';\nimport playStore from '../../assets/play-store.svg';\nimport appStore from '../../assets/app-store.svg';\nimport { generateColorSet, prepareUrlForForward } from '../utils';\nimport { ThemeCallbacksContext } from '../theme-provider/theme-provider';\nimport {\n\tAPP_STORE_URL,\n\tCARBONIO_LOGO_URL,\n\tDESKTOP,\n\tMOBILE,\n\tPLAY_STORE_URL,\n\tCARBONIO_CE_SUPPORTED_BROWSER_LINK,\n\tCARBONIO_SUPPORTED_BROWSER_LINK,\n\tCHROME,\n\tFIREFOX\n} from '../constants';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { useDarkReaderResultValue } from '../dark-mode/use-dark-reader-result-value';\nimport useScreenMode from '../components-index/use-screen-mode';\nimport { useGetPrimaryColor } from '../primary-color/use-get-primary-color';\nimport useIsTouchDevice from '../components-index/use-touch-device';\n\nconst LoginContainer = styled(Container)`\n\tpadding: 0 100px;\n\tbackground: url(${(props) => props.backgroundImage}) no-repeat 75% center/cover;\n\tjustify-content: center;\n\talign-items: flex-start;\n\t${({ screenMode }) =>\n\t\tscreenMode !== DESKTOP &&\n\t\tcss`\n\t\t\tpadding: 0 12px;\n\t\t\talign-items: center;\n\t\t`}\n\t${({ isDefaultBg }) =>\n\t\tisDefaultBg &&\n\t\tcss`\n\t\t\t@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {\n\t\t\t\tbackground: url(${backgroundImageRetina}) no-repeat 75% center/cover;\n\t\t\t}\n\t\t`}\n`;\n\nconst FormContainer = styled.div`\n\tmax-width: 100%;\n\tmax-height: 100vh;\n\tbox-shadow: 0px 0px 20px -7px rgba(0, 0, 0, 0.3);\n`;\n\nconst FormWrapper = styled(Container)`\n\twidth: auto;\n\theight: auto;\n\tbackground-color: ${({ theme }) => theme.palette.gray6.regular};\n\tpadding: 48px 48px 0;\n\twidth: 436px;\n\tmax-width: 100%;\n\tmin-height: 620px;\n\t// height: 100vh;\n\toverflow-y: auto;\n\t${({ screenMode }) =>\n\t\tscreenMode !== DESKTOP &&\n\t\tcss`\n\t\t\tpadding: 20px 20px 0;\n\t\t\twidth: 360px;\n\t\t\tmax-height: 100%;\n\t\t\theight: auto;\n\t\t`}\n`;\n\nfunction DarkReaderListener() {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkReaderState(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, setDarkReaderState]);\n\treturn null;\n}\n\nexport default function PageLayout({ version, hasBackendApi }) {\n\tconst [t] = useTranslation();\n\tconst [logo, setLogo] = useState(null);\n\tconst [serverError, setServerError] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst [destinationUrl, setDestinationUrl] = useState(\n\t\tprepareUrlForForward(urlParams.get('destinationUrl'))\n\t);\n\tconst [domain, setDomain] = useState(urlParams.get('domain') ?? destinationUrl);\n\n\tconst [bg, setBg] = useState(backgroundImage);\n\tconst [isDefaultBg, setIsDefaultBg] = useState(true);\n\tconst [editedTheme, setEditedTheme] = useState({});\n\tconst [copyrightBanner, setCopyrightBanner] = useState('');\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst { setDomainName } = useLoginConfigStore();\n\tconst [showModal, setShowModal] = useState(true);\n\tconst [showMobileAppModal, setShowMobileAppModal] = useState(true);\n\tconst [doNotShowAgain, setDoNotShowAgain] = useState(false);\n\tconst screenMode = useScreenMode();\n\tconst isTouchDevice = useIsTouchDevice();\n\n\tuseEffect(() => {\n\t\tconst storedState = localStorage.getItem('doNotShowMobileAppModal');\n\t\tif (storedState) {\n\t\t\tsetShowMobileAppModal(false);\n\t\t}\n\t}, []);\n\tconst primaryColor = useGetPrimaryColor();\n\tconst [isAdvanced, SetIsAdvanced] = useState(true);\n\tconst isSupportedBrowser = browserName === CHROME || browserName === FIREFOX;\n\n\tuseLayoutEffect(() => {\n\t\tlet componentIsMounted = true;\n\n\t\tif (hasBackendApi) {\n\t\t\tgetLoginConfig(version, domain, domain)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (!destinationUrl) setDestinationUrl(prepareUrlForForward(res.publicUrl));\n\t\t\t\t\tif (!domain) setDomain(res.zimbraDomainName);\n\t\t\t\t\tsetDomainName(res.zimbraDomainName);\n\n\t\t\t\t\tconst _logo = {};\n\n\t\t\t\t\tif (componentIsMounted) {\n\t\t\t\t\t\tif (res.loginPageBackgroundImage) {\n\t\t\t\t\t\t\tsetBg(res.loginPageBackgroundImage);\n\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageLogo) {\n\t\t\t\t\t\t\t_logo.image = res.loginPageLogo;\n\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_logo.image = logoCarbonio;\n\t\t\t\t\t\t\t_logo.width = '221px';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageSkinLogoUrl) {\n\t\t\t\t\t\t\t_logo.url = res.loginPageSkinLogoUrl;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_logo.url = '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageTitle) {\n\t\t\t\t\t\t\tdocument.title = res.loginPageTitle;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.title = t('carbonio_authentication', 'Carbonio Authentication');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageFavicon) {\n\t\t\t\t\t\t\tconst link =\n\t\t\t\t\t\t\t\tdocument.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n\t\t\t\t\t\t\tlink.type = 'image/x-icon';\n\t\t\t\t\t\t\tlink.rel = 'shortcut icon';\n\t\t\t\t\t\t\tlink.href = res.loginPageFavicon;\n\t\t\t\t\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageColorSet) {\n\t\t\t\t\t\t\tconst colorSet = res.loginPageColorSet;\n\t\t\t\t\t\t\tif (colorSet.primary) {\n\t\t\t\t\t\t\t\tsetEditedTheme((et) => ({\n\t\t\t\t\t\t\t\t\t...et,\n\t\t\t\t\t\t\t\t\t'palette.primary': generateColorSet({\n\t\t\t\t\t\t\t\t\t\tregular: `#${colorSet.primary}`\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (colorSet.secondary) {\n\t\t\t\t\t\t\t\tsetEditedTheme((et) => ({\n\t\t\t\t\t\t\t\t\t...et,\n\t\t\t\t\t\t\t\t\t'palette.secondary': generateColorSet({\n\t\t\t\t\t\t\t\t\t\tregular: `#${colorSet.secondary}`\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (version === 3) {\n\t\t\t\t\t\t\tuseLoginConfigStore.setState(res);\n\t\t\t\t\t\t\t// In case of v3 API response\n\t\t\t\t\t\t\tif (res?.carbonioWebUiTitle) {\n\t\t\t\t\t\t\t\tdocument.title = res.carbonioWebUiTitle;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiFavicon) {\n\t\t\t\t\t\t\t\tconst link =\n\t\t\t\t\t\t\t\t\tdocument.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n\t\t\t\t\t\t\t\tlink.type = 'image/x-icon';\n\t\t\t\t\t\t\t\tlink.rel = 'shortcut icon';\n\t\t\t\t\t\t\t\tlink.href = res.carbonioWebUiFavicon;\n\t\t\t\t\t\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkMode) {\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkLoginBackground) {\n\t\t\t\t\t\t\t\t\tsetBg(res.carbonioWebUiDarkLoginBackground);\n\t\t\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkLoginLogo) {\n\t\t\t\t\t\t\t\t\t_logo.image = res.carbonioWebUiDarkLoginLogo;\n\t\t\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiLoginBackground) {\n\t\t\t\t\t\t\t\t\tsetBg(res.carbonioWebUiLoginBackground);\n\t\t\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiLoginLogo) {\n\t\t\t\t\t\t\t\t\t_logo.image = res.carbonioWebUiLoginLogo;\n\t\t\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiDescription) {\n\t\t\t\t\t\t\t\tsetCopyrightBanner(res.carbonioWebUiDescription);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_logo.url = res?.carbonioLogoURL ? res.carbonioLogoURL : CARBONIO_LOGO_URL;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetLogo(_logo);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\t// It should never happen, If the server doesn't respond this page will not be loaded\n\t\t\t\t\tif (componentIsMounted) setServerError(true);\n\t\t\t\t});\n\t\t} else {\n\t\t\tsetLogo({ image: logoCarbonio, width: '221px', url: CARBONIO_LOGO_URL });\n\t\t\tdocument.title = t('carbonio_authentication', 'Carbonio Authentication');\n\t\t\tSetIsAdvanced(false);\n\t\t}\n\n\t\treturn () => {\n\t\t\tcomponentIsMounted = false;\n\t\t};\n\t}, [t, version, domain, destinationUrl, hasBackendApi, setDarkReaderState, setDomainName]);\n\n\tconst LinkText = (props) => {\n\t\tconst { to, children } = props || {};\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t};\n\n\tif (serverError) return ;\n\n\tif (logo) {\n\t\tconst logoHtml = (\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{logo.url ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{logoHtml}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tlogoHtml\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{hasBackendApi ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsupported'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'Having troubles? Try a fully supported browser'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{copyrightBanner ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{copyrightBanner}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCopyright ©\n\t\t\t\t\t\t\t\t\t{` ${new Date().getFullYear()} Zextras, `}\n\t\t\t\t\t\t\t\t\t{t('all_rights_reserved', 'All rights reserved')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{showMobileAppModal && screenMode !== DESKTOP && isTouchDevice && (\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowCloseIcon\n\t\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\t\tif (doNotShowAgain) {\n\t\t\t\t\t\t\t\tlocalStorage.setItem('doNotShowMobileAppModal', JSON.stringify(true));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetShowModal(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t Android and Iphone, download your version using the buttons below!\"\n\t\t\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetDoNotShowAgain(!doNotShowAgain);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n\n\treturn null;\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { DESKTOP, MOBILE, TABLET } from '../constants';\n\nexport default function useScreenMode() {\n\tconst check = useCallback((width) => {\n\t\tif (width < 1280) {\n\t\t\tif (width < 640) {\n\t\t\t\treturn MOBILE;\n\t\t\t}\n\t\t\treturn TABLET;\n\t\t}\n\t\treturn DESKTOP;\n\t}, []);\n\n\tconst [screenMode, setScreenMode] = useState(DESKTOP);\n\n\tuseEffect(() => {\n\t\tconst handleResize = () => {\n\t\t\tsetScreenMode(check(window.innerWidth));\n\t\t};\n\t\thandleResize();\n\t\twindow.addEventListener('resize', handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t};\n\t}, [check]);\n\n\treturn screenMode;\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useState, useEffect } from 'react';\n\nfunction useIsTouchDevice() {\n\tconst [isTouchDevice, setIsTouchDevice] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst mediaQuery = window.matchMedia('(pointer:coarse)');\n\n\t\tconst handleMediaChange = () => {\n\t\t\tsetIsTouchDevice(mediaQuery.matches);\n\t\t};\n\n\t\t// Initial check\n\t\thandleMediaChange();\n\n\t\t// Listen for changes\n\t\tmediaQuery.addEventListener('change', handleMediaChange);\n\n\t\t// Cleanup\n\t\treturn () => {\n\t\t\tmediaQuery.removeEventListener('change', handleMediaChange);\n\t\t};\n\t}, []);\n\n\treturn isTouchDevice;\n}\n\nexport default useIsTouchDevice;\n"],"sourceRoot":""}