{"version":3,"sources":["utils.js","detector.js","node.js","dropdown-menu.js","dropdown-on-hover.js","email-validator.js","form-validation.js","icons.js","navbar-combo.js","navbar-darken-on-scroll.js","navbar-top.js","navbar-vertical.js","popover.js","scrollbar.js","search.js","theme-control.js","toast.js","tooltip.js","treeview.js","vv_api.js","vv_c.js","vv_changeLogoDimensions.js","vv_consentDetails.js","vv_errorDetails.js","vv_forgotpassword.js","vv_loginValidation.js","vv_mfaEnroll.js","vv_mfaVerify.js","vv_mfa_email.js","vv_passwordShowHide.js","vv_registerValidation.js","vv_resetValidation.js","vv_settings.js","vv_settingsdebug.js","vv_support.js","vv_totp.js","vv_utils.js","vv_verify.js","vv_webauthn.js","theme.js"],"names":["docReady","fn","document","readyState","addEventListener","setTimeout","resize","window","isIterableArray","array","Array","isArray","length","camelize","str","text","replace","_","c","toUpperCase","substr","toLowerCase","getData","el","data","JSON","parse","dataset","e","hexToRgb","hexValue","hex","indexOf","substring","shorthandRegex","result","exec","m","r","g","b","parseInt","rgbaColor","color","alpha","getColor","name","dom","documentElement","getComputedStyle","getPropertyValue","trim","getColors","primary","secondary","success","info","warning","danger","light","dark","getSoftColors","getGrays","white","black","hasClass","className","classList","value","includes","addClass","add","getOffset","rect","getBoundingClientRect","scrollLeft","pageXOffset","scrollTop","pageYOffset","top","left","isScrolledIntoView","windowHeight","innerHeight","clientHeight","windowWidth","innerWidth","clientWidth","vertInView","height","horInView","width","breakpoints","xs","sm","md","lg","xl","xxl","getBreakpoint","classes","breakpoint","split","filter","cls","pop","setCookie","expire","expires","Date","setTime","getTime","cookie","toUTCString","getCookie","keyValue","match","decodeURIComponent","getItemFromStore","key","defaultValue","store","localStorage","getItem","setItemToStore","payload","setItem","getStoreSpace","parseFloat","escape","encodeURIComponent","stringify","toFixed","getDates","startDate","endDate","interval","duration","steps","from","v","i","valueOf","getPastDates","days","date","setDate","getDate","getRandomNumber","min","max","Math","floor","random","utils","detectorInit","is","html","querySelector","opera","mobile","firefox","safari","ios","iphone","ipad","ie","edge","chrome","mac","windows","navigator","userAgent","DomNode","constructor","node","isValidNode","removeClass","remove","toggleClass","toggle","contains","attr","setAttribute","removeAttribute","setProp","on","event","cb","dropdownMenuInit","Event","SHOWN_BS_DROPDOWN","HIDDEN_BS_DROPDOWN","Selector","TABLE_RESPONSIVE","DROPDOWN_MENU","querySelectorAll","forEach","table","t","currentTarget","scrollWidth","style","paddingBottom","target","nextElementSibling","dropdownOnHover","navbarArea","dropdownInstance","bootstrap","Dropdown","_element","_menu","parentNode","hide","emailvalidationPattern","emailvalidChars","OneAt","domainvalidationPattern","fqdnvalidationPattern","urlvalidationPattern","validateFQDN","domain","re","RegExp","test","String","validateEmail","email","invalid","reChar","rePattern","reOneAt","validateDomain","validateURL","URL","iconCopiedInit","iconList","getElementById","iconCopiedToast","iconCopiedToastInstance","Toast","tagName","select","setSelectionRange","execCommand","innerHTML","show","navbarComboInit","NAVBAR_VERTICAL","NAVBAR_TOP_COMBO","COLLAPSE","DATA_MOVE_CONTAINER","NAVBAR_NAV","NAVBAR_VERTICAL_DIVIDER","ClassName","FLEX_COLUMN","navbarVertical","navbarTopCombo","moveNavContent","navbarVerticalBreakpoint","navbarTopBreakpoint","navbarCollapse","navbarTopContent","targetID","targetElement","insertAdjacentHTML","navbarNav","moveableContainer","navbarDarkenOnScroll","NAVBAR","NAVBAR_COLLAPSE","NAVBAR_TOGGLER","ClassNames","COLLAPSED","Events","SCROLL","SHOW_BS_COLLAPSE","HIDE_BS_COLLAPSE","HIDDEN_BS_COLLAPSE","DataKey","NAVBAR_DARKEN_ON_SCROLL","navbar","removeNavbarBgClass","toggleThemeClass","theme","getBgClassName","defaultColorName","parent","allColors","colorName","Object","keys","bgClassName","themeController","body","detail","control","colorRgb","backgroundImage","transition","backgroundColor","breakPoint","navbarTopDropShadow","NAVBAR_VERTICAL_CONTENT","NAVBAR_VERTICAL_COLLAPSE","NAVBAR_GLASS_SHADOW","SHOW","navDropShadowFlag","$navbar","$navbarVertical","$navbarVerticalContent","$navbarVerticalCollapse","setDropShadow","$elem","outerWidth","handleNavbarVerticalCollapsed","HTML","NAVBAR_VERTICAL_TOGGLE","CLICK","MOUSE_OVER","MOUSE_LEAVE","NAVBAR_VERTICAL_COLLAPSED","NAVBAR_VERTICAL_COLLAPSED_HOVER","navbarVerticalToggle","navbarVerticalCollapse","blur","isNavbarVerticalCollapsed","CustomEvent","dispatchEvent","popoverInit","popoverTriggerList","slice","call","map","popoverTriggerEl","Popover","scrollbarInit","prototype","OverlayScrollbars","scrollbars","autoHide","autoHideDelay","searchInit","Selectors","SEARCH_DISMISS","DROPDOWN_TOGGLE","SEARCH_BOX","SEARCH_INPUT","SEARCH_TOGGLE","Attribute","ARIA_EXPANDED","FOCUS","SHOW_BS_DROPDOWN","SEARCH_CLOSE","hideSearchSuggestion","searchArea","dropdownMenu","searchAreas","hideAllSearchAreas","input","btnDropdownClose","dropdown","initialDomSetup","element","dataUrlDom","hasDataUrl","inputDataAttributeValue","localStorageValue","type","isChecked","changeTheme","checked","themeControl","clickControl","pageUrl","location","reload","toastInit","toastElList","toastEl","liveToastBtn","liveToast","tooltipInit","tooltipTriggerList","tooltipTriggerEl","Tooltip","trigger","treeviewInit","CHANGE","TREEVIEW_ROW","TREEVIEW","TREEVIEW_LIST","TOGGLE_ELEMENT","INPUT","TREEVIEW_LIST_ITEM","CHILD_SELECTOR","TREEVIEW_BORDER","TREEVIEW_BORDER_TRANSPARENT","COLLAPSE_SHOW","COLLAPSE_HIDDEN","TREEVIEW_ROW_ODD","TREEVIEW_ROW_EVEN","treeviews","makeStriped","treeview","tags","uTags","tag","parentElement","index","options","striped","collapseElementList","collapseListItem","item","wholeRow","createElement","prepend","collapse","collapseId","id","path","childs","parents","unshift","collapseEl","Collapse","inputElement","childInputElements","socialLoginUser","userstate","vv_utils","vv_fetch_state","vvenc","defaultTimeout","socialSignupUser","passwordLoginUser","createMachine","interpret","assign","XState","promiseMachine","initial","states","loading","LOAD_COMPLETE","firstready","entry","actions","context","SUBMIT","PERFORM_ACTION","OVERRIDE","filling","insubmission","VALIDATION_SUCCESS","VALIDATION_FAILURE","valid","override","inaction","ACTION_SUCCESS","ACTION_FAILURE","failed","succeeded","complete","loaded","message","validate","validationFailed","validationSucceeded","performAction","actionFailed","actionSucceeded","final","invokeMachine","error","undefined","invoke","src","onDone","onError","services","validate_service","simpleInvokeMachine","idle","FETCH","IDLE","action_service","fullInvokeMachine","fullLoadingInvokeMachine","init","INIT_COMPLETE","RE_INIT","loading_service","twoStepInvokeMachine","first_data","second_data","FIRST","firstaction","secondaction","SECOND","first_action_service","second_action_service","threeStepInvokeMachine","thrid_data","thirdaction","third_data","THIRD","third_action_service","vv_c","VV_SECRET","VV_CLIENT_ID","VV_AUTHORITY","VV_CALLBACK_URI","VV_POST_LOGOUT_URI","VV_MATOMO_URL","redirectRequest","redirect","changeLogoDimensions","maxWidth","maxHeight","maxAspectRatio","myImage","Image","tenantLogo","radioBtn","elem","radioBtnVal","vsrc","hsrc","onload","myImageAspectRatio","naturalWidth","naturalHeight","defaultMock","consentDetailsInit_onStart","tenant","vv_tenant_data","alertbox","messageMap","profile","oidc","ignoreMap","profileTerms","logAccept","logAcceptMachine","withConfig","logError","showStateErrors","jsonResponse","send","onTransition","state","start","cancel","consent","allow","removedTerms","includesThenPop","push","addToolTip","terms","join","company_name","requestBy","innerText","display","metaEl","metacode","vvjson","atob","claims","Function","output","template","clone","content","cloneNode","span","firstChild","nextSibling","appendChild","tooltipList","errorDetailsInit_onStart","errorMetaEl","errObj","code","urlparams","URLSearchParams","search","querycode","get","errText","loginBtn","loginBtnUrl","href","clientId","searchParams","set","toString","peCont","devmode","dmText","p","params","redirect_url","hdr","val","redirect_url_suggestion","dmCont","forgotPasswordInit","fieldFormMap","support_url","checkValidity","Promise","resolve","reject","makeInvalid","Error","formSubmit","preventDefault","forgotPassword","doForgotPassword","servError","service","form","validationService","clearInputValidation","clearalert","showalert","fields","invalidIds","field","addFormAndMachineServiceChangeAndInputHandlers","AttachAndSendFormEventsToMachineService","resendService","vvModalVerifyCodeForm","vvModalVerifyCodeFeedback","vvModalVerifyCodeUpdateSaveBtn","verificationcodeFieldFormMap","password","clearPasswordFeedback","passwordfeedback","checkVerificationCodeValidity","vvModalVerifyCodeText","confirmPassword","confirmPasswordFeedback","updateVerificationCode","verificationcode","updateVerificationCodeMachine","highlightFields","mfa_required","codeBlock","vvModalVerifyMFACodeForm","vvModalVerifyMFACodeFeedback","vvModalVerifyMFACodeUpdateSaveBtn","verificationMFAcodeFieldFormMap","mfa_code","checkVerificationMFACodeValidity","updateVerificationMFACode","mfaverificationcode","updateVerificationMFACodeMachine","loginValidationInit","submitter","alertText","readInboundQueryResult","showAndResetInboundQueryAlert","loginFormSubmit","currentState","getSnapshot","doPasswordlessLogin","beginReq","provider","requestWebAuthn","doCredLogin","socialFormSubmit","doSocialLogin","getAndSetRememberUser","username","handleLogin","passwordless_override","GenericException","pick","socialform","passwordSection","optionText","fidoSection","passswordLoginBtnSection","allow_passwords","allow_hardware","socialbuttons","allow_social","removeChild","mfaEnrollInit_onStart","totpConfig","pageAlertbox","formAlertbox","totpImg","cancelBtn","verifyBtn","codeInput","rememberChk","appService","emailConfig","verifyTitle","resendBtn","codeInputFeedback","responseToken","emailService","verifyCodeService","selector","hideList","unhide","unhideList","initEnroll","allow_totp_app","allow_totp_email","appVerify","emailVerify","setupMfaEmail","load","enrollReq","getAttribute","update","verifyReq","token","remember_device","generateRes","qrcodeBlob","Blob","image","createObjectURL","mfaVerifyInit_onStart","doVerify","retrySeconds","response","retry_after_seconds","Number","isNaN","passwordShowHideInit","showPassword","showConfirmPassword","showHideSpan","eyeSlashIcon","mainEyeIcon","slashedConfirmEyeIcon","mainConfirmEyeIcon","registerValidationInit","requireTerms","prefillEmail","queryEmail","registerUser","terms_url","privacy_policy_url","registerFormSubmit","doPasswordlessRegister","agreements","doCredRegister","doSocialSignup","handleRegister","registeredGoalId","addTracking","passswordRegisterBtnSection","resetValidationInit","resetUser","confirmpasswordfeedback","setCustomValidity","errorCB","ShowableException","resetFormSubmit","doReset","settingsInit_onStart","passwordAccordion","socialAccordion","fidoAccordion","totpAccordion","profileAlertbox","credAlertbox","profileFieldFormMap","profileEmail","profileName","passwordFieldFormMap","issuerMap","vvPasswordUpdateBtn","vvPasswordAddBtn","vvPasswordRemoveBtn","vvSessionResetBtn","confirmModalBS","Modal","confirmBtn","confirmHandler","handleEvent","cancelHandler","confirmAction","okCB","cancelCB","profileState","socialAlertText","socialAlertType","socialConnectResponse","collapseSocial","getCreds","getProfile","loadData","all","createFidoTable","createSocialTable","createTotpTable","createProfile","dataLoadService","fidoList","cred","socialList","totpList","passwordData","updated_at","toLocaleDateString","vvModalEditAlert","vvModalEdit","vvModalEditForm","vvModalEditHeader","vvModalEditText","vvModalEditFeedback","vvModalEditBtn","modalEditBS","checkCredValidity","nameElement","loadCred","updateCred","updatestate","friendly_name","credService","removeCred","removeCredMachine","resetSession","resetSessionMachine","vvSessionResetForm","toggleCredStatus","status","assignToggle","faIcon","toggleCredMachine","icon","disabled","vvModalPasswordAlert","vvModalPassword","vvModalPasswordForm","vvModalPasswordHeader","vvModalPasswordFeedback","vvModalPasswordUpdateSaveBtn","passwordModalBS","checkPasswordValidity","vvModalPasswordText","updatePassword","updatePasswordMachine","reset","vvModalVerifyCodeAlert","vvModalVerifyCode","vvModalVerifyCodeHeader","vvModalVerifyCodeEmail","verificationcodeModalBS","userNameForm","checkNameValidity","updateName","nameService","userProfileForm","checkEmailValidity","updateEmail","profileService","pending_verification","TableBuilder","pfx","title","build","creds","NAME_INDEX","EDIT_NAME_INDEX","CREATED_AT_INDEX","TOGGLE_INDEX","REMOVE_INDEX","tbody","fragment","createDocumentFragment","td","tdName","tdEditName","tdCreatedAt","tdToggle","tdRemove","tdBuilder","heading6","esLintLittleBitchComplainer","action","actionElement","label","createdAt","created_at","getElementsByTagName","confirmState","removeLink","tbr","addSocial","addSocialMachine","handleSocialRemove","tdSocialEmail","social","tdSocialName","tdSocialIssuer","issuer","every","startsWith","tdSocialCreatedAt","tdSocialRemove","socials","EMAIL_INDEX","ISSUER_INDEX","addGoogleBtn","addMicrosoftBtn","addAppleBtn","addFidoBtn","then","totpModalBS","addTotpBtn","modalBS","modal","pageLoadService","setupTotp","clearAlerts","nodeListToClear","values","AttachShowEventsToClearUI","eventname","nodeListToAddEvents","settingsdebugInit_onStart","checkProfileValidity","updateProfile","getCred","getCredMachine","credId","request","disableCred","disableCredMachine","enableCred","enableCredMachine","supportInit_onStart","emailoption","weboption","supportEmail","supportURL","support_email","req","editModalService","lastBtn","closest","canditates","activeElement","candidate","matches","fixedEncodeURIComponent","strings","sleep","milliseconds","now","currentDate","submitEventHandler","submitResult","stopPropagation","scrollIntoView","behavior","showInnerErrors","defaultmessage","TimeoutException","alertHTML","showErrors","errorBuffer","Timeout","time","controller","AbortController","abort","timeoutMessage","login_creds_invalid","login_email_unverified","signup_username_taken","signup_field_invalid","signup_agreement_missing","reset_field_invalid","domain_name_taken","unavailable","password_invalid","email_unknown","email_unverified","email_unavailable","social_unavailable","resource_conflict","field_invalid","agreement_missing","email_credential_is_social","email_credential_is_password","email_credential_is_webauthn","webauthn_failure","email_code_invalid","token_invalid","service_unavailable","service_failure","system_failure","request_invalid","oidc_failure","oidc_client_invalid","oidc_redirect_invalid","requires_approval","user_disabled","signups_disabled","invalid_tenant","resource_unknown","resource_quota","SessionExpirationException","create","NotFoundException","MetaException","handleJSONRequestErrors","emptyJSON","json","contentType","headers","url","hostname","ok","statusText","buildSpanLinkLookup","nodeList","spantext","segments","ensureAuthState","authstate","beenhere","host","localhost","normalLinks","templateLinks","apply","pageManager","showSessionModal","sessionExpiredModal","handleCustomExceptions","responseAsString","kind","endsWith","arrNames","snippet","vv_fetch","requestBody","responseCB","failCB","responseKind","method","timeout","signal","vv_csrftoken","Accept","fetch","catch","err","generateCSV","csv","obj","k","detectWebAuthnSupport","PublicKeyCredential","isUserVerifyingPlatformAuthenticatorAvailable","available","bufToStr","buf","fromCharCode","Uint8Array","b64Decode","charCodeAt","b64Encode","btoa","b64_to_utf8","utf8_to_b64","unescape","splitAndTrim","urls","validateArrayUrl","urlStrip","Boolean","support","typeof","userAgentData","cookieEnabled","webAuthnSupport","referrer","stack","columnNumber","fileName","lineNumber","successCB","finishCB","finishResponse","formatTime","UTCString","d","currentHour","getHours","inputEls","formInput","handleExport","a","click","goalId","rev","mtmimg","vv_pk_id","x","_rcn","_rck","imgsrc","pathname","verifyInit_onStart","verifyMachine","beginURL","finishURL","beginWebAuthn","requestNavigatorCreds","beginRes","challenge","user","authenticatorSelection","requireResidentKey","userVerification","credentials","publicKey","allowCredentials","finishWebAuthn","credential","clientDataStr","clientDataJSON","clientDataObj","finishReq","rawId","authenticatorData","signature","userHandle","attestationObject","passkeyService","CONFIG","getStartedGoalId","onStartHandler","onstart"],"mappings":"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","file":"theme.js","sourcesContent":["/* -------------------------------------------------------------------------- */\r\n/* Utils */\r\n/* -------------------------------------------------------------------------- */\r\nconst docReady = fn => {\r\n // see if DOM is already available\r\n if (document.readyState === 'loading') {\r\n document.addEventListener('DOMContentLoaded', fn);\r\n } else {\r\n setTimeout(fn, 1);\r\n }\r\n};\r\n\r\nconst resize = fn => window.addEventListener('resize', fn);\r\n\r\nconst isIterableArray = array => Array.isArray(array) && !!array.length;\r\n\r\nconst camelize = str => {\r\n const text = str.replace(/[-_\\s.]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\r\n return `${text.substr(0, 1)\r\n .toLowerCase()}${text.substr(1)}`;\r\n};\r\n\r\nconst getData = (el, data) => {\r\n try {\r\n return JSON.parse(el.dataset[camelize(data)]);\r\n } catch (e) {\r\n return el.dataset[camelize(data)];\r\n }\r\n};\r\n\r\n/* ----------------------------- Colors function ---------------------------- */\r\n\r\nconst hexToRgb = hexValue => {\r\n let hex;\r\n hexValue.indexOf('#') === 0 ? (hex = hexValue.substring(1)) : (hex = hexValue);\r\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\r\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\r\n hex.replace(shorthandRegex, (m, r, g, b) => r + r + g + g + b + b)\r\n );\r\n return result\r\n ? [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)]\r\n : null;\r\n};\r\n\r\nconst rgbaColor = (color = '#fff', alpha = 0.5) => `rgba(${hexToRgb(color)}, ${alpha})`;\r\n\r\n/* --------------------------------- Colors --------------------------------- */\r\n\r\nconst getColor = (name, dom = document.documentElement) =>\r\n getComputedStyle(dom)\r\n .getPropertyValue(`--falcon-${name}`)\r\n .trim();\r\n\r\nconst getColors = dom => ({\r\n primary: getColor('primary', dom),\r\n secondary: getColor('secondary', dom),\r\n success: getColor('success', dom),\r\n info: getColor('info', dom),\r\n warning: getColor('warning', dom),\r\n danger: getColor('danger', dom),\r\n light: getColor('light', dom),\r\n dark: getColor('dark', dom)\r\n});\r\n\r\nconst getSoftColors = dom => ({\r\n primary: getColor('soft-primary', dom),\r\n secondary: getColor('soft-secondary', dom),\r\n success: getColor('soft-success', dom),\r\n info: getColor('soft-info', dom),\r\n warning: getColor('soft-warning', dom),\r\n danger: getColor('soft-danger', dom),\r\n light: getColor('soft-light', dom),\r\n dark: getColor('soft-dark', dom)\r\n});\r\n\r\nconst getGrays = dom => ({\r\n white: getColor('white', dom),\r\n 100: getColor('100', dom),\r\n 200: getColor('200', dom),\r\n 300: getColor('300', dom),\r\n 400: getColor('400', dom),\r\n 500: getColor('500', dom),\r\n 600: getColor('600', dom),\r\n 700: getColor('700', dom),\r\n 800: getColor('800', dom),\r\n 900: getColor('900', dom),\r\n 1000: getColor('1000', dom),\r\n 1100: getColor('1100', dom),\r\n black: getColor('black', dom)\r\n});\r\n\r\nconst hasClass = (el, className) => {\r\n !el && false;\r\n return el.classList.value.includes(className);\r\n};\r\n\r\nconst addClass = (el, className) => {\r\n el.classList.add(className);\r\n};\r\n\r\nconst getOffset = el => {\r\n const rect = el.getBoundingClientRect();\r\n const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\r\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\r\n return {\r\n top: rect.top + scrollTop,\r\n left: rect.left + scrollLeft\r\n };\r\n};\r\n\r\nfunction isScrolledIntoView(el) {\r\n const rect = el.getBoundingClientRect();\r\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\r\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\r\n\r\n const vertInView = rect.top <= windowHeight && rect.top + rect.height >= 0;\r\n const horInView = rect.left <= windowWidth && rect.left + rect.width >= 0;\r\n\r\n return vertInView && horInView;\r\n}\r\n\r\nconst breakpoints = {\r\n xs: 0,\r\n sm: 576,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n xxl: 1540\r\n};\r\n\r\nconst getBreakpoint = el => {\r\n const classes = el && el.classList.value;\r\n let breakpoint;\r\n if (classes) {\r\n breakpoint =\r\n breakpoints[\r\n classes\r\n .split(' ')\r\n .filter(cls => cls.includes('navbar-expand-'))\r\n .pop()\r\n .split('-')\r\n .pop()\r\n ];\r\n }\r\n return breakpoint;\r\n};\r\n\r\n/* --------------------------------- Cookie --------------------------------- */\r\n\r\nconst setCookie = (name, value, expire) => {\r\n const expires = new Date();\r\n expires.setTime(expires.getTime() + expire);\r\n document.cookie = name + '=' + value + ';expires=' + expires.toUTCString();\r\n};\r\n\r\nconst getCookie = name => {\r\n var keyValue = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\r\n return keyValue ? decodeURIComponent(keyValue[2]) : keyValue;\r\n};\r\n\r\n/* ---------------------------------- Store --------------------------------- */\r\n\r\nconst getItemFromStore = (key, defaultValue, store = localStorage) => {\r\n try {\r\n return JSON.parse(store.getItem(key)) || defaultValue;\r\n } catch {\r\n return store.getItem(key) || defaultValue;\r\n }\r\n};\r\n\r\nconst setItemToStore = (key, payload, store = localStorage) => store.setItem(key, payload);\r\nconst getStoreSpace = (store = localStorage) =>\r\n parseFloat((escape(encodeURIComponent(JSON.stringify(store))).length / (1024 * 1024)).toFixed(2));\r\n\r\n/* get Dates between */\r\n\r\nconst getDates = (startDate, endDate, interval = 1000 * 60 * 60 * 24) => {\r\n const duration = endDate - startDate;\r\n const steps = duration / interval;\r\n return Array.from({ length: steps + 1 }, (v, i) => new Date(startDate.valueOf() + interval * i));\r\n};\r\n\r\nconst getPastDates = duration => {\r\n let days;\r\n\r\n switch (duration) {\r\n case 'week':\r\n days = 7;\r\n break;\r\n case 'month':\r\n days = 30;\r\n break;\r\n case 'year':\r\n days = 365;\r\n break;\r\n\r\n default:\r\n days = duration;\r\n }\r\n\r\n const date = new Date();\r\n const endDate = date;\r\n const startDate = new Date(new Date().setDate(date.getDate() - (days - 1)));\r\n return getDates(startDate, endDate);\r\n};\r\n\r\n/* Get Random Number */\r\nconst getRandomNumber = (min, max) => {\r\n return Math.floor(Math.random() * (max - min) + min);\r\n};\r\n\r\nconst utils = {\r\n docReady,\r\n resize,\r\n isIterableArray,\r\n camelize,\r\n getData,\r\n hasClass,\r\n addClass,\r\n hexToRgb,\r\n rgbaColor,\r\n getColor,\r\n getColors,\r\n getSoftColors,\r\n getGrays,\r\n getOffset,\r\n isScrolledIntoView,\r\n getBreakpoint,\r\n setCookie,\r\n getCookie,\r\n getItemFromStore,\r\n setItemToStore,\r\n getStoreSpace,\r\n getDates,\r\n getPastDates,\r\n getRandomNumber\r\n};\r\n\r\nexport default utils;\r\n","import { addClass } from './utils';\r\n/* -------------------------------------------------------------------------- */\r\n/* Detector */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst detectorInit = () => {\r\n const { is } = window;\r\n const html = document.querySelector('html');\r\n\r\n is.opera() && addClass(html, 'opera');\r\n is.mobile() && addClass(html, 'mobile');\r\n is.firefox() && addClass(html, 'firefox');\r\n is.safari() && addClass(html, 'safari');\r\n is.ios() && addClass(html, 'ios');\r\n is.iphone() && addClass(html, 'iphone');\r\n is.ipad() && addClass(html, 'ipad');\r\n is.ie() && addClass(html, 'ie');\r\n is.edge() && addClass(html, 'edge');\r\n is.chrome() && addClass(html, 'chrome');\r\n is.mac() && addClass(html, 'osx');\r\n is.windows() && addClass(html, 'windows');\r\n navigator.userAgent.match('CriOS') && addClass(html, 'chrome');\r\n};\r\n\r\nexport default detectorInit;\r\n","/*-----------------------------------------------\r\n| DomNode\r\n-----------------------------------------------*/\r\nclass DomNode {\r\n constructor(node) {\r\n this.node = node;\r\n }\r\n\r\n addClass(className) {\r\n this.isValidNode() && this.node.classList.add(className);\r\n }\r\n\r\n removeClass(className) {\r\n this.isValidNode() && this.node.classList.remove(className);\r\n }\r\n\r\n toggleClass(className) {\r\n this.isValidNode() && this.node.classList.toggle(className);\r\n }\r\n\r\n hasClass(className) {\r\n this.isValidNode() && this.node.classList.contains(className);\r\n }\r\n\r\n data(key) {\r\n if (this.isValidNode()) {\r\n try {\r\n return JSON.parse(this.node.dataset[this.camelize(key)]);\r\n } catch (e) {\r\n return this.node.dataset[this.camelize(key)];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n attr(name) {\r\n return this.isValidNode() && this.node[name];\r\n }\r\n\r\n setAttribute(name, value) {\r\n this.isValidNode() && this.node.setAttribute(name, value);\r\n }\r\n\r\n removeAttribute(name) {\r\n this.isValidNode() && this.node.removeAttribute(name);\r\n }\r\n\r\n setProp(name, value) {\r\n this.isValidNode() && (this.node[name] = value);\r\n }\r\n\r\n on(event, cb) {\r\n this.isValidNode() && this.node.addEventListener(event, cb);\r\n }\r\n\r\n isValidNode() {\r\n return !!this.node;\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n camelize(str) {\r\n const text = str.replace(/[-_\\s.]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\r\n return `${text.substr(0, 1).toLowerCase()}${text.substr(1)}`;\r\n }\r\n}\r\n\r\nexport default DomNode;\r\n","/*-----------------------------------------------\r\n| Dashboard Table dropdown\r\n-----------------------------------------------*/\r\nconst dropdownMenuInit = () => {\r\n // Only for ios\r\n if (window.is.ios()) {\r\n const Event = {\r\n SHOWN_BS_DROPDOWN: 'shown.bs.dropdown',\r\n HIDDEN_BS_DROPDOWN: 'hidden.bs.dropdown',\r\n };\r\n const Selector = {\r\n TABLE_RESPONSIVE: '.table-responsive',\r\n DROPDOWN_MENU: '.dropdown-menu',\r\n };\r\n document.querySelectorAll(Selector.TABLE_RESPONSIVE).forEach(table => {\r\n table.addEventListener(Event.SHOWN_BS_DROPDOWN, e => {\r\n const t = e.currentTarget;\r\n if (t.scrollWidth > t.clientWidth) {\r\n t.style.paddingBottom = e.target.nextElementSibling.clientHeight + 'px';\r\n }\r\n })\r\n table.addEventListener(Event.HIDDEN_BS_DROPDOWN, e => {\r\n e.currentTarget.style.paddingBottom = '';\r\n })\r\n\r\n })\r\n }\r\n}\r\n\r\n// Reference\r\n// https://github.com/twbs/bootstrap/issues/11037#issuecomment-274870381\r\n\r\nexport default dropdownMenuInit;","/* -------------------------------------------------------------------------- */\r\n/* Open dropdown on hover */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst dropdownOnHover = () => {\r\n const navbarArea = document.querySelector(\"[data-top-nav-dropdowns]\");\r\n\r\n if (navbarArea) {\r\n navbarArea.addEventListener(\"mouseover\", (e) => {\r\n if (\r\n e.target.className.includes(\"dropdown-toggle\") &&\r\n window.innerWidth > 992\r\n ) {\r\n const dropdownInstance = new window.bootstrap.Dropdown(e.target);\r\n \r\n /* eslint-disable no-underscore-dangle */\r\n dropdownInstance._element.classList.add('show')\r\n dropdownInstance._menu.classList.add('show')\r\n dropdownInstance._menu.setAttribute('data-bs-popper', 'none')\r\n \r\n e.target.parentNode.addEventListener(\"mouseleave\", () => {\r\n dropdownInstance.hide();\r\n });\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport default dropdownOnHover;\r\n","//also is set in Variables.pug, these should match\r\nconst emailvalidationPattern = /^.+@[^@]+\\.[^@]+$/;\r\nconst emailvalidChars = /[^A-Za-z0-9\\+\\.@_~-]+/;\r\nconst OneAt = /@{1}/;\r\nconst domainvalidationPattern = /^[\\da-zA-Z][\\da-zA-Z-]+$/;\r\nconst fqdnvalidationPattern = /^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\\.)+[a-zA-Z]{2,63}$/;\r\n// https://stackoverflow.com/questions/11809631/fully-qualified-domain-name-validation - fqdnvalidation patter\r\n// **Note, see EDIT2 and use the JS version with no lookbehind**\r\n//ala https://gist.github.com/dperini/729294 3/9/2022 decided to not use it because I want localhost\r\n//https://mathiasbynens.be/demo/url-regex - picked @stephenhay because it was simple and allowed localhost\r\n//https://css-tricks.com/form-validation-part-1-constraint-validation-html/\r\n/*eslint-disable-next-line*/\r\n//const urlvalidationPattern = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/;\r\nconst urlvalidationPattern = /^https?:\\/\\/[^\\s\\/$.?#].[^\\s]*$/;\r\n\r\n\r\nfunction validateFQDN(domain) {\r\n \r\n /*eslint-disable-next-line*/\r\n const re = new RegExp(fqdnvalidationPattern);\r\n return (domain.length <= 255 && re.test(String(domain)));\r\n}\r\n\r\nfunction validateEmail(email) {\r\n //https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript\r\n /*eslint-disable-next-line*/\r\n //https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/ comment from Bill Weiss\r\n\r\n let invalid = false;\r\n \r\n const reChar = new RegExp(emailvalidChars);\r\n const rePattern = new RegExp(emailvalidationPattern);\r\n const reOneAt = new RegExp(OneAt);\r\n invalid = invalid || (email.length > 320);\r\n invalid = invalid || !rePattern.test(String(email));\r\n invalid = invalid || reChar.test(String(email));\r\n invalid = invalid || !reOneAt.test(String(email));\r\n invalid = invalid || !validateFQDN(email.split(\"@\")[1]);\r\n return !invalid;\r\n}\r\n\r\nfunction validateDomain(domain) {\r\n \r\n /*eslint-disable-next-line*/\r\n const re = new RegExp(domainvalidationPattern);\r\n return (domain.length <= 63 && re.test(String(domain)));\r\n}\r\n\r\n\r\n\r\nfunction validateURL(URL) {\r\n \r\n\r\n /*eslint-disable-next-line*/\r\n const re = new RegExp(urlvalidationPattern);\r\n \r\n return (URL.length <= 2048 && re.test(String(URL)));\r\n}\r\n\r\nexport { validateURL }\r\nexport { validateFQDN }\r\nexport default { validateEmail, validateDomain }\r\n\r\n","/* -------------------------------------------------------------------------- */\r\n/* from-validation */\r\n/* -------------------------------------------------------------------------- */\r\n\r\n// const formValidationInit = () => {\r\n// // Example starter JavaScript for disabling form submissions if there are invalid fields\r\n// \"use strict\";\r\n\r\n// // Fetch all the forms we want to apply custom Bootstrap validation styles to\r\n// var forms = document.querySelectorAll(\".needs-validation\");\r\n\r\n// // Loop over them and prevent submission\r\n// Array.prototype.slice.call(forms).forEach(function (form) {\r\n// form.addEventListener(\r\n// \"submit\",\r\n// function (event) {\r\n// if (!form.checkValidity()) {\r\n// event.preventDefault();\r\n// event.stopPropagation();\r\n// }\r\n// else {\r\n// event.preventDefault();\r\n// event.stopPropagation();\r\n// form.classList.add(\"was-validated\");\r\n// if (form.callFetch) {\r\n// form.callFetch();\r\n// }\r\n// }\r\n// },\r\n// false\r\n// );\r\n// });\r\n// };\r\n\r\n// export default formValidationInit;\r\n","/* -------------------------------------------------------------------------- */\r\n/* Icon copy to clipboard */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst iconCopiedInit = () => {\r\n const iconList = document.getElementById(\"icon-list\");\r\n const iconCopiedToast = document.getElementById(\"icon-copied-toast\");\r\n const iconCopiedToastInstance = new window.bootstrap.Toast(iconCopiedToast);\r\n\r\n if (iconList) {\r\n iconList.addEventListener(\"click\", (e) => {\r\n const el = e.target;\r\n if (el.tagName === \"INPUT\") {\r\n el.select();\r\n el.setSelectionRange(0, 99999);\r\n document.execCommand(\"copy\");\r\n iconCopiedToast.querySelector(\r\n \".toast-body\"\r\n ).innerHTML = `Copied: ${el.value}`;\r\n iconCopiedToastInstance.show();\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport default iconCopiedInit;\r\n","import utils from './utils';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Navbar Combo Layout */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst navbarComboInit = () => {\r\n const Selector = {\r\n NAVBAR_VERTICAL: '.navbar-vertical',\r\n NAVBAR_TOP_COMBO: '[data-navbar-top=\"combo\"]',\r\n COLLAPSE: '.collapse',\r\n DATA_MOVE_CONTAINER: '[data-move-container]',\r\n NAVBAR_NAV: '.navbar-nav',\r\n NAVBAR_VERTICAL_DIVIDER: '.navbar-vertical-divider',\r\n };\r\n\r\n const ClassName = {\r\n FLEX_COLUMN: 'flex-column',\r\n };\r\n\r\n const navbarVertical = document.querySelector(Selector.NAVBAR_VERTICAL);\r\n const navbarTopCombo = document.querySelector(Selector.NAVBAR_TOP_COMBO);\r\n\r\n const moveNavContent = (windowWidth) => {\r\n const navbarVerticalBreakpoint = utils.getBreakpoint(navbarVertical);\r\n const navbarTopBreakpoint = utils.getBreakpoint(navbarTopCombo);\r\n\r\n if (windowWidth < navbarTopBreakpoint) {\r\n const navbarCollapse = navbarTopCombo.querySelector(Selector.COLLAPSE);\r\n const navbarTopContent = navbarCollapse.innerHTML;\r\n\r\n if (navbarTopContent) {\r\n const targetID = utils.getData(navbarTopCombo, 'move-target');\r\n const targetElement = document.querySelector(targetID);\r\n\r\n navbarCollapse.innerHTML = '';\r\n targetElement.insertAdjacentHTML(\r\n 'afterend',\r\n `\r\n
\r\n \r\n ${navbarTopContent}\r\n
\r\n `\r\n );\r\n\r\n if (navbarVerticalBreakpoint < navbarTopBreakpoint) {\r\n const navbarNav = document\r\n .querySelector(Selector.DATA_MOVE_CONTAINER)\r\n .querySelector(Selector.NAVBAR_NAV);\r\n utils.addClass(navbarNav, ClassName.FLEX_COLUMN);\r\n }\r\n }\r\n } else {\r\n const moveableContainer = document.querySelector(\r\n Selector.DATA_MOVE_CONTAINER\r\n );\r\n if (moveableContainer) {\r\n const navbarNav = moveableContainer.querySelector(Selector.NAVBAR_NAV);\r\n utils.hasClass(navbarNav, ClassName.FLEX_COLUMN) &&\r\n navbarNav.classList.remove(ClassName.FLEX_COLUMN);\r\n moveableContainer\r\n .querySelector(Selector.NAVBAR_VERTICAL_DIVIDER)\r\n .remove();\r\n navbarTopCombo.querySelector(Selector.COLLAPSE).innerHTML =\r\n moveableContainer.innerHTML;\r\n moveableContainer.remove();\r\n }\r\n }\r\n };\r\n\r\n moveNavContent(window.innerWidth);\r\n\r\n utils.resize(() => moveNavContent(window.innerWidth));\r\n};\r\n\r\nexport default navbarComboInit;\r\n","import utils from './utils';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Navbar Darken on scroll */\r\n/* -------------------------------------------------------------------------- */\r\nconst navbarDarkenOnScroll = () => {\r\n const Selector = {\r\n NAVBAR: '[data-navbar-darken-on-scroll]',\r\n NAVBAR_COLLAPSE: '.navbar-collapse',\r\n NAVBAR_TOGGLER: '.navbar-toggler',\r\n };\r\n\r\n const ClassNames = {\r\n COLLAPSED: 'collapsed',\r\n };\r\n\r\n const Events = {\r\n SCROLL: 'scroll',\r\n SHOW_BS_COLLAPSE: 'show.bs.collapse',\r\n HIDE_BS_COLLAPSE: 'hide.bs.collapse',\r\n HIDDEN_BS_COLLAPSE: 'hidden.bs.collapse',\r\n };\r\n\r\n const DataKey = {\r\n NAVBAR_DARKEN_ON_SCROLL: 'navbar-darken-on-scroll',\r\n };\r\n\r\n const navbar = document.querySelector(Selector.NAVBAR);\r\n\r\n function removeNavbarBgClass() {\r\n navbar.classList.remove('bg-dark');\r\n navbar.classList.remove('bg-100');\r\n }\r\n\r\n const toggleThemeClass = (theme) => {\r\n if (theme === 'dark') {\r\n navbar.classList.remove('navbar-dark');\r\n navbar.classList.add('navbar-light');\r\n } else {\r\n navbar.classList.remove('navbar-light');\r\n navbar.classList.add('navbar-dark');\r\n }\r\n };\r\n\r\n function getBgClassName(name, defaultColorName) {\r\n const parent = document.documentElement;\r\n const allColors = {\r\n ...utils.getColors(parent),\r\n ...utils.getGrays(parent),\r\n };\r\n\r\n const colorName = Object.keys(allColors).includes(name)\r\n ? name\r\n : defaultColorName;\r\n const color = allColors[colorName];\r\n const bgClassName = `bg-${colorName}`;\r\n return { color, bgClassName };\r\n }\r\n\r\n if (navbar) {\r\n const theme = localStorage.getItem('theme');\r\n let defaultColorName = theme === 'dark' ? '100' : 'dark';\r\n const name = utils.getData(navbar, DataKey.NAVBAR_DARKEN_ON_SCROLL);\r\n\r\n toggleThemeClass(theme);\r\n const themeController = document.body;\r\n themeController.addEventListener(\r\n 'clickControl',\r\n ({ detail: { control, value } }) => {\r\n if (control === 'theme') {\r\n toggleThemeClass(value);\r\n defaultColorName = value === 'dark' ? '100' : 'dark';\r\n if (\r\n navbar.classList.contains('bg-dark') ||\r\n navbar.classList.contains('bg-100')\r\n ) {\r\n removeNavbarBgClass();\r\n navbar.classList.add(\r\n getBgClassName(name, defaultColorName).bgClassName\r\n );\r\n }\r\n }\r\n }\r\n );\r\n\r\n const windowHeight = window.innerHeight;\r\n const html = document.documentElement;\r\n const navbarCollapse = navbar.querySelector(Selector.NAVBAR_COLLAPSE);\r\n const colorRgb = utils.hexToRgb(\r\n getBgClassName(name, defaultColorName).color\r\n );\r\n const { backgroundImage } = window.getComputedStyle(navbar);\r\n const transition = 'background-color 0.35s ease';\r\n\r\n navbar.style.backgroundImage = 'none';\r\n // Change navbar background color on scroll\r\n window.addEventListener(Events.SCROLL, () => {\r\n const { scrollTop } = html;\r\n let alpha = (scrollTop / windowHeight) * 2;\r\n alpha >= 1 && (alpha = 1);\r\n navbar.style.backgroundColor = `rgba(${colorRgb[0]}, ${colorRgb[1]}, ${colorRgb[2]}, ${alpha})`;\r\n navbar.style.backgroundImage =\r\n alpha > 0 || utils.hasClass(navbarCollapse, 'show')\r\n ? backgroundImage\r\n : 'none';\r\n });\r\n\r\n // Toggle bg class on window resize\r\n utils.resize(() => {\r\n const breakPoint = utils.getBreakpoint(navbar);\r\n if (window.innerWidth > breakPoint) {\r\n removeNavbarBgClass();\r\n navbar.style.backgroundImage = html.scrollTop\r\n ? backgroundImage\r\n : 'none';\r\n navbar.style.transition = 'none';\r\n } else if (\r\n !utils.hasClass(\r\n navbar.querySelector(Selector.NAVBAR_TOGGLER),\r\n ClassNames.COLLAPSED\r\n )\r\n ) {\r\n removeNavbarBgClass();\r\n navbar.style.backgroundImage = backgroundImage;\r\n }\r\n\r\n if (window.innerWidth <= breakPoint) {\r\n navbar.style.transition = utils.hasClass(navbarCollapse, 'show')\r\n ? transition\r\n : 'none';\r\n }\r\n });\r\n\r\n navbarCollapse.addEventListener(Events.SHOW_BS_COLLAPSE, () => {\r\n navbar.classList.add(getBgClassName(name, defaultColorName).bgClassName);\r\n navbar.style.backgroundImage = backgroundImage;\r\n navbar.style.transition = transition;\r\n });\r\n\r\n navbarCollapse.addEventListener(Events.HIDE_BS_COLLAPSE, () => {\r\n removeNavbarBgClass();\r\n !html.scrollTop && (navbar.style.backgroundImage = 'none');\r\n });\r\n\r\n navbarCollapse.addEventListener(Events.HIDDEN_BS_COLLAPSE, () => {\r\n navbar.style.transition = 'none';\r\n });\r\n }\r\n};\r\n\r\nexport default navbarDarkenOnScroll;\r\n","import utils from './utils';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Navbar Top */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst navbarTopDropShadow = () => {\r\n const Selector = {\r\n NAVBAR: '.navbar:not(.navbar-vertical)',\r\n NAVBAR_VERTICAL: '.navbar-vertical',\r\n NAVBAR_VERTICAL_CONTENT: '.navbar-vertical-content',\r\n NAVBAR_VERTICAL_COLLAPSE: 'navbarVerticalCollapse',\r\n };\r\n\r\n const ClassNames = {\r\n NAVBAR_GLASS_SHADOW: 'navbar-glass-shadow',\r\n SHOW: 'show',\r\n };\r\n\r\n const Events = {\r\n SCROLL: 'scroll',\r\n SHOW_BS_COLLAPSE: 'show.bs.collapse',\r\n HIDDEN_BS_COLLAPSE: 'hidden.bs.collapse',\r\n };\r\n let navDropShadowFlag = true;\r\n\r\n const $navbar = document.querySelector(Selector.NAVBAR);\r\n const $navbarVertical = document.querySelector(Selector.NAVBAR_VERTICAL);\r\n const $navbarVerticalContent = document.querySelector(\r\n Selector.NAVBAR_VERTICAL_CONTENT\r\n );\r\n const $navbarVerticalCollapse = document.getElementById(\r\n Selector.NAVBAR_VERTICAL_COLLAPSE\r\n );\r\n const html = document.documentElement;\r\n const breakPoint = utils.getBreakpoint($navbarVertical);\r\n const setDropShadow = ($elem) => {\r\n if ($elem.scrollTop > 0 && navDropShadowFlag) {\r\n $navbar && $navbar.classList.add(ClassNames.NAVBAR_GLASS_SHADOW);\r\n } else {\r\n $navbar && $navbar.classList.remove(ClassNames.NAVBAR_GLASS_SHADOW);\r\n }\r\n };\r\n\r\n window.addEventListener(Events.SCROLL, () => {\r\n setDropShadow(html);\r\n });\r\n\r\n if ($navbarVerticalContent) {\r\n $navbarVerticalContent.addEventListener(Events.SCROLL, () => {\r\n if (window.outerWidth < breakPoint) {\r\n navDropShadowFlag = true;\r\n setDropShadow($navbarVerticalContent);\r\n }\r\n });\r\n }\r\n if ($navbarVerticalCollapse) {\r\n $navbarVerticalCollapse.addEventListener(Events.SHOW_BS_COLLAPSE, () => {\r\n if (window.outerWidth < breakPoint) {\r\n navDropShadowFlag = false;\r\n setDropShadow(html);\r\n }\r\n });\r\n }\r\n if ($navbarVerticalCollapse) {\r\n $navbarVerticalCollapse.addEventListener(Events.HIDDEN_BS_COLLAPSE, () => {\r\n if (\r\n utils.hasClass($navbarVerticalCollapse, ClassNames.SHOW) &&\r\n window.outerWidth < breakPoint\r\n ) {\r\n navDropShadowFlag = false;\r\n } else {\r\n navDropShadowFlag = true;\r\n }\r\n setDropShadow(html);\r\n });\r\n }\r\n};\r\n\r\nexport default navbarTopDropShadow;\r\n","import utils from './utils';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Navbar Vertical */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst handleNavbarVerticalCollapsed = () => {\r\n const Selector = {\r\n HTML: 'html',\r\n NAVBAR_VERTICAL_TOGGLE: '.navbar-vertical-toggle',\r\n NAVBAR_VERTICAL_COLLAPSE: '.navbar-vertical .navbar-collapse',\r\n };\r\n\r\n const Events = {\r\n CLICK: 'click',\r\n MOUSE_OVER: 'mouseover',\r\n MOUSE_LEAVE: 'mouseleave',\r\n NAVBAR_VERTICAL_TOGGLE: 'navbar.vertical.toggle',\r\n };\r\n const ClassNames = {\r\n NAVBAR_VERTICAL_COLLAPSED: 'navbar-vertical-collapsed',\r\n NAVBAR_VERTICAL_COLLAPSED_HOVER: 'navbar-vertical-collapsed-hover',\r\n };\r\n const navbarVerticalToggle = document.querySelector(\r\n Selector.NAVBAR_VERTICAL_TOGGLE\r\n );\r\n const html = document.querySelector(Selector.HTML);\r\n const navbarVerticalCollapse = document.querySelector(\r\n Selector.NAVBAR_VERTICAL_COLLAPSE\r\n );\r\n\r\n if (navbarVerticalToggle) {\r\n navbarVerticalToggle.addEventListener(Events.CLICK, (e) => {\r\n navbarVerticalToggle.blur();\r\n html.classList.toggle(ClassNames.NAVBAR_VERTICAL_COLLAPSED);\r\n\r\n // Set collapse state on localStorage\r\n const isNavbarVerticalCollapsed = utils.getItemFromStore(\r\n 'isNavbarVerticalCollapsed'\r\n );\r\n utils.setItemToStore(\r\n 'isNavbarVerticalCollapsed',\r\n !isNavbarVerticalCollapsed\r\n );\r\n\r\n const event = new CustomEvent(Events.NAVBAR_VERTICAL_TOGGLE);\r\n e.currentTarget.dispatchEvent(event);\r\n });\r\n }\r\n if (navbarVerticalCollapse) {\r\n navbarVerticalCollapse.addEventListener(Events.MOUSE_OVER, () => {\r\n if (utils.hasClass(html, ClassNames.NAVBAR_VERTICAL_COLLAPSED)) {\r\n html.classList.add(ClassNames.NAVBAR_VERTICAL_COLLAPSED_HOVER);\r\n }\r\n });\r\n navbarVerticalCollapse.addEventListener(Events.MOUSE_LEAVE, () => {\r\n if (utils.hasClass(html, ClassNames.NAVBAR_VERTICAL_COLLAPSED_HOVER)) {\r\n html.classList.remove(ClassNames.NAVBAR_VERTICAL_COLLAPSED_HOVER);\r\n }\r\n });\r\n }\r\n};\r\n\r\nexport default handleNavbarVerticalCollapsed;\r\n","/* -------------------------------------------------------------------------- */\r\n/* Popover */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst popoverInit = () => {\r\n const popoverTriggerList = [].slice.call(\r\n document.querySelectorAll('[data-bs-toggle=\"popover\"]')\r\n );\r\n popoverTriggerList.map(popoverTriggerEl => {\r\n return new window.bootstrap.Popover(popoverTriggerEl);\r\n });\r\n};\r\n\r\nexport default popoverInit;\r\n","/* -------------------------------------------------------------------------- */\r\n/* Scrollbars */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst scrollbarInit = () => {\r\n Array.prototype.forEach.call(\r\n document.querySelectorAll(\".scrollbar-overlay\"),\r\n (el) => new window.OverlayScrollbars(el, {\r\n scrollbars: {\r\n autoHide: \"leave\",\r\n autoHideDelay: 200\r\n },\r\n })\r\n );\r\n};\r\n\r\nexport default scrollbarInit;\r\n","const searchInit = () => {\r\n const Selectors = {\r\n SEARCH_DISMISS: '[data-bs-dismiss=\"search\"]',\r\n DROPDOWN_TOGGLE: '[data-bs-toggle=\"dropdown\"]',\r\n DROPDOWN_MENU: '.dropdown-menu',\r\n SEARCH_BOX: '.search-box',\r\n SEARCH_INPUT: '.search-input',\r\n SEARCH_TOGGLE: '[data-bs-toggle=\"search\"]',\r\n };\r\n\r\n const ClassName = {\r\n SHOW: 'show',\r\n };\r\n\r\n const Attribute = {\r\n ARIA_EXPANDED: 'aria-expanded',\r\n };\r\n\r\n const Events = {\r\n CLICK: 'click',\r\n FOCUS: 'focus',\r\n SHOW_BS_DROPDOWN: 'show.bs.dropdown',\r\n SEARCH_CLOSE: 'search.close',\r\n };\r\n\r\n const hideSearchSuggestion = searchArea => {\r\n const el = searchArea.querySelector(Selectors.SEARCH_TOGGLE);\r\n const dropdownMenu = searchArea.querySelector(Selectors.DROPDOWN_MENU);\r\n el.setAttribute(Attribute.ARIA_EXPANDED, 'false');\r\n el.classList.remove(ClassName.SHOW);\r\n dropdownMenu.classList.remove(ClassName.SHOW);\r\n };\r\n\r\n const searchAreas = document.querySelectorAll(Selectors.SEARCH_BOX);\r\n\r\n const hideAllSearchAreas = () => {\r\n searchAreas.forEach(hideSearchSuggestion);\r\n };\r\n\r\n searchAreas.forEach(searchArea => {\r\n const input = searchArea.querySelector(Selectors.SEARCH_INPUT);\r\n const btnDropdownClose = searchArea.querySelector(Selectors.SEARCH_DISMISS);\r\n const dropdownMenu = searchArea.querySelector(Selectors.DROPDOWN_MENU);\r\n\r\n if (input) {\r\n input.addEventListener(Events.FOCUS, () => {\r\n hideAllSearchAreas();\r\n const el = searchArea.querySelector(Selectors.SEARCH_TOGGLE);\r\n el.setAttribute(Attribute.ARIA_EXPANDED, 'true');\r\n el.classList.add(ClassName.SHOW);\r\n dropdownMenu.classList.add(ClassName.SHOW);\r\n });\r\n }\r\n\r\n document.addEventListener(Events.CLICK, ({ target }) => {\r\n !searchArea.contains(target) && hideSearchSuggestion(searchArea);\r\n });\r\n\r\n btnDropdownClose &&\r\n btnDropdownClose.addEventListener(Events.CLICK, e => {\r\n hideSearchSuggestion(searchArea);\r\n input.value = '';\r\n const event = new CustomEvent(Events.SEARCH_CLOSE);\r\n e.currentTarget.dispatchEvent(event);\r\n });\r\n });\r\n\r\n document.querySelectorAll(Selectors.DROPDOWN_TOGGLE).forEach(dropdown => {\r\n dropdown.addEventListener(Events.SHOW_BS_DROPDOWN, () => {\r\n hideAllSearchAreas();\r\n });\r\n });\r\n};\r\n\r\nexport default searchInit;\r\n","import { setItemToStore, getData, getItemFromStore } from './utils';\r\nimport DomNode from './node';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Theme Control */\r\n/* -------------------------------------------------------------------------- */\r\n/* eslint-disable no-param-reassign */\r\nconst initialDomSetup = element => {\r\n if (!element) return;\r\n const dataUrlDom = element.querySelector('[data-theme-control = \"navbarPosition\"]');\r\n const hasDataUrl = dataUrlDom ? getData(dataUrlDom, 'page-url') : null;\r\n\r\n element.querySelectorAll('[data-theme-control]').forEach(el => {\r\n const inputDataAttributeValue = getData(el, 'theme-control');\r\n const localStorageValue = getItemFromStore(inputDataAttributeValue);\r\n if (\r\n inputDataAttributeValue === 'navbarStyle' &&\r\n !hasDataUrl &&\r\n getItemFromStore('navbarPosition') === 'top'\r\n ) {\r\n el.setAttribute('disabled', true);\r\n }\r\n if (el.type === 'checkbox') {\r\n if (inputDataAttributeValue === 'theme') {\r\n localStorageValue === 'dark' && el.setAttribute('checked', true);\r\n } else {\r\n localStorageValue && el.setAttribute('checked', true);\r\n }\r\n } else {\r\n const isChecked = localStorageValue === el.value;\r\n isChecked && el.setAttribute('checked', true);\r\n }\r\n });\r\n};\r\n\r\nconst changeTheme = element => {\r\n element.querySelectorAll('[data-theme-control = \"theme\"]').forEach(el => {\r\n const inputDataAttributeValue = getData(el, 'theme-control');\r\n const localStorageValue = getItemFromStore(inputDataAttributeValue);\r\n\r\n if (el.type === 'checkbox') {\r\n localStorageValue === 'dark' ? (el.checked = true) : (el.checked = false);\r\n } else {\r\n localStorageValue === el.value ? (el.checked = true) : (el.checked = false);\r\n }\r\n });\r\n};\r\n\r\nconst themeControl = () => {\r\n const themeController = new DomNode(document.body);\r\n const navbarVertical = document.querySelector('.navbar-vertical');\r\n initialDomSetup(themeController.node);\r\n themeController.on('click', e => {\r\n const target = new DomNode(e.target);\r\n if (target.data('theme-control')) {\r\n const control = target.data('theme-control');\r\n let value = e.target[e.target.type === 'radio' ? 'value' : 'checked'];\r\n if (control === 'theme') {\r\n typeof value === 'boolean' && (value = value ? 'dark' : 'light');\r\n }\r\n setItemToStore(control, value);\r\n switch (control) {\r\n case 'theme': {\r\n document.documentElement.classList[value === 'dark' ? 'add' : 'remove']('dark');\r\n const clickControl = new CustomEvent('clickControl', {\r\n detail: { control, value }\r\n });\r\n e.currentTarget.dispatchEvent(clickControl);\r\n changeTheme(themeController.node);\r\n break;\r\n }\r\n case 'navbarStyle': {\r\n navbarVertical.classList.remove('navbar-card');\r\n navbarVertical.classList.remove('navbar-inverted');\r\n navbarVertical.classList.remove('navbar-vibrant');\r\n if (value !== 'transparent') {\r\n navbarVertical.classList.add(`navbar-${value}`);\r\n }\r\n break;\r\n }\r\n case 'navbarPosition': {\r\n const pageUrl = getData(target.node, 'page-url');\r\n !!pageUrl ? window.location.replace(pageUrl) : window.location.reload();\r\n break;\r\n }\r\n default:\r\n window.location.reload();\r\n }\r\n }\r\n });\r\n};\r\nexport default themeControl;\r\n","/* -------------------------------------------------------------------------- */\r\n/* Toast */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst toastInit = () => {\r\n const toastElList = [].slice.call(document.querySelectorAll('.toast'));\r\n toastElList.map((toastEl) => new window.bootstrap.Toast(toastEl));\r\n\r\n\r\n const liveToastBtn = document.getElementById('liveToastBtn');\r\n\r\n if (liveToastBtn) {\r\n const liveToast = new window.bootstrap.Toast(document.getElementById('liveToast'));\r\n\r\n liveToastBtn.addEventListener('click', () => {\r\n liveToast && liveToast.show();\r\n })\r\n }\r\n};\r\n\r\n\r\nexport default toastInit;\r\n","/* -------------------------------------------------------------------------- */\r\n/* Tooltip */\r\n/* -------------------------------------------------------------------------- */\r\nconst tooltipInit = () => {\r\n const tooltipTriggerList = [].slice.call(\r\n document.querySelectorAll('[data-bs-toggle=\"tooltip\"]')\r\n );\r\n\r\n tooltipTriggerList.map(\r\n (tooltipTriggerEl) => new window.bootstrap.Tooltip(tooltipTriggerEl,{\r\n trigger:'hover'\r\n })\r\n );\r\n};\r\n\r\nexport default tooltipInit;\r\n","/* eslint-disable no-param-reassign */\r\nimport utils from './utils';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Treeview */\r\n/* -------------------------------------------------------------------------- */\r\nconst treeviewInit = () => {\r\n const Events = {\r\n CHANGE: 'change',\r\n SHOW_BS_COLLAPSE: 'show.bs.collapse',\r\n HIDE_BS_COLLAPSE: 'hide.bs.collapse'\r\n };\r\n\r\n const Selector = {\r\n TREEVIEW_ROW:\r\n '.treeview > li > .treeview-row,.treeview-list.collapse-show > li > .treeview-row',\r\n TREEVIEW: '.treeview',\r\n TREEVIEW_LIST: '.treeview-list',\r\n TOGGLE_ELEMENT: \"[data-bs-toggle='collapse']\",\r\n INPUT: 'input',\r\n TREEVIEW_LIST_ITEM: '.treeview-list-item',\r\n CHILD_SELECTOR: ':scope > li > .collapse.collapse-show'\r\n };\r\n\r\n const ClassName = {\r\n TREEVIEW: 'treeview',\r\n TREEVIEW_LIST: 'treeview-list',\r\n TREEVIEW_BORDER: 'treeview-border',\r\n TREEVIEW_BORDER_TRANSPARENT: 'treeview-border-transparent',\r\n COLLAPSE_SHOW: 'collapse-show',\r\n COLLAPSE_HIDDEN: 'collapse-hidden',\r\n TREEVIEW_ROW: 'treeview-row',\r\n TREEVIEW_ROW_ODD: 'treeview-row-odd',\r\n TREEVIEW_ROW_EVEN: 'treeview-row-even'\r\n };\r\n\r\n const treeviews = document.querySelectorAll(Selector.TREEVIEW);\r\n\r\n const makeStriped = treeview => {\r\n const tags = Array.from(treeview.querySelectorAll(Selector.TREEVIEW_ROW));\r\n\r\n const uTags = tags.filter(tag => {\r\n let result = true;\r\n while (tag.parentElement) {\r\n if (tag.parentElement.classList.contains(ClassName.COLLAPSE_HIDDEN)) {\r\n result = false;\r\n break;\r\n }\r\n tag = tag.parentElement;\r\n }\r\n return result;\r\n });\r\n uTags.forEach((tag, index) => {\r\n if (index % 2 === 0) {\r\n tag.classList.add(ClassName.TREEVIEW_ROW_EVEN);\r\n tag.classList.remove(ClassName.TREEVIEW_ROW_ODD);\r\n } else {\r\n tag.classList.add(ClassName.TREEVIEW_ROW_ODD);\r\n tag.classList.remove(ClassName.TREEVIEW_ROW_EVEN);\r\n }\r\n });\r\n };\r\n\r\n if (treeviews.length) {\r\n treeviews.forEach(treeview => {\r\n const options = utils.getData(treeview, 'options');\r\n const striped = options?.striped;\r\n const select = options?.select;\r\n\r\n if (striped) {\r\n makeStriped(treeview);\r\n }\r\n\r\n const collapseElementList = Array.from(treeview.querySelectorAll(Selector.TREEVIEW_LIST));\r\n const collapseListItem = Array.from(treeview.querySelectorAll(Selector.TREEVIEW_LIST_ITEM));\r\n\r\n collapseListItem.forEach(item => {\r\n const wholeRow = document.createElement('div');\r\n wholeRow.setAttribute('class', ClassName.TREEVIEW_ROW);\r\n item.prepend(wholeRow);\r\n });\r\n collapseElementList.forEach(collapse => {\r\n const collapseId = collapse.id;\r\n if (!striped) {\r\n collapse.classList.add(ClassName.TREEVIEW_BORDER);\r\n }\r\n collapse.addEventListener(Events.SHOW_BS_COLLAPSE, e => {\r\n e.target.classList.remove(ClassName.COLLAPSE_HIDDEN);\r\n e.target.classList.add(ClassName.COLLAPSE_SHOW);\r\n if (striped) {\r\n makeStriped(treeview);\r\n } else {\r\n e.path[2].classList.add(ClassName.TREEVIEW_BORDER_TRANSPARENT);\r\n }\r\n });\r\n\r\n collapse.addEventListener(Events.HIDE_BS_COLLAPSE, e => {\r\n e.target.classList.add(ClassName.COLLAPSE_HIDDEN);\r\n e.target.classList.remove(ClassName.COLLAPSE_SHOW);\r\n\r\n if (striped) {\r\n makeStriped(treeview);\r\n } else {\r\n const childs = e.path[2].querySelectorAll(Selector.CHILD_SELECTOR);\r\n if (!e.path[2].classList.contains(ClassName.TREEVIEW) && childs.length === 0) {\r\n e.path[2].classList.remove(ClassName.TREEVIEW_BORDER_TRANSPARENT);\r\n }\r\n }\r\n });\r\n\r\n if (collapse.dataset.show === 'true') {\r\n const parents = [collapse];\r\n while (collapse.parentElement) {\r\n if (collapse.parentElement.classList.contains(ClassName.TREEVIEW_LIST)) {\r\n parents.unshift(collapse.parentElement);\r\n }\r\n collapse = collapse.parentElement;\r\n }\r\n parents.forEach(collapseEl => {\r\n // eslint-disable-next-line no-new\r\n new window.bootstrap.Collapse(collapseEl, {\r\n show: true\r\n });\r\n });\r\n }\r\n\r\n if (select) {\r\n const inputElement = treeview.querySelector(`input[data-target='#${collapseId}']`);\r\n inputElement.addEventListener(Events.CHANGE, e => {\r\n const childInputElements = Array.from(\r\n treeview.querySelector(`#${collapseId}`).querySelectorAll(Selector.INPUT)\r\n );\r\n childInputElements.forEach(input => {\r\n input.checked = e.target.checked;\r\n });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport default treeviewInit;\r\n","import vv_utils from './vv_utils';\nimport {redirectRequest} from \"./vv_c\";\n\nconst socialLoginUser = (userstate) => {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/social/login`, userstate, 'POST', vv_utils.defaultTimeout);\n}\n\nconst socialSignupUser = (userstate) => {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/social/signup`, userstate, 'POST', vv_utils.defaultTimeout);\n}\n\nconst passwordLoginUser = (userstate) => {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/login`, userstate,'POST', vv_utils.defaultTimeout);\n}\n\nconst { createMachine, interpret , assign} = window.XState;\n\nconst promiseMachine = createMachine({\n id: 'promise',\n initial: 'loading',\n states: {\n loading: {\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n }\n },\n firstready: {\n entry: 'loaded',\n on: {\n INPUT: { \n target: 'filling',\n actions: (context, event) => { }\n },\n CHANGE: { \n target: 'filling',\n actions: (context, event) => { }\n },\n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' },\n OVERRIDE: { target: 'override' }\n }\n },\n filling: {\n entry: 'message',\n on: {\n SUBMIT: { target: 'insubmission'},\n OVERRIDE: { target: 'override' }\n }\n },\n insubmission: {\n entry: 'validate',\n on: {\n VALIDATION_SUCCESS: { target: 'valid' },\n VALIDATION_FAILURE: { target: 'invalid'}\n }\n },\n invalid: {\n entry: 'validationFailed',\n on: {\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' },\n OVERRIDE: { target: 'override' }\n }\n },\n valid: {\n entry: 'validationSucceeded',\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n override: {\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n inaction: {\n entry: 'performAction',\n on: {\n ACTION_SUCCESS: { target: 'succeeded' },\n ACTION_FAILURE: { target: 'failed' }\n }\n },\n failed: {\n entry: 'actionFailed',\n on: {\n VALIDATION_FAILURE: { target: 'invalid'},\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' }, \n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n loaded: () => {},\n message: () => {},\n validate: () => {},\n validationFailed: () => {},\n validationSucceeded: () => {},\n performAction: () => {},\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n }\n});\n\nconst invokeMachine = createMachine({\n id: 'invoke',\n initial: 'loading',\n context: {\n error: undefined\n },\n states: {\n loading: {\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n }\n },\n firstready: {\n entry: 'loaded',\n on: {\n INPUT: { \n target: 'filling',\n actions: (context, event) => { }\n },\n CHANGE: { \n target: 'filling',\n actions: (context, event) => { }\n },\n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' },\n OVERRIDE: { target: 'override' }\n }\n },\n filling: {\n entry: 'message',\n on: {\n SUBMIT: { target: 'insubmission'},\n OVERRIDE: { target: 'override' }\n }\n },\n insubmission: {\n invoke: {\n id: 'validate',\n src: 'validate_service',\n onDone: {\n target: 'valid',\n actions: (context, event) => { }\n },\n onError: {\n target: 'invalid',\n actions: assign({ error: (context, event) => event.data })\n }\n }\n },\n invalid: {\n entry: 'validationFailed',\n on: {\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' },\n OVERRIDE: { target: 'override' }\n }\n },\n valid: {\n entry: 'validationSucceeded',\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n override: {\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n inaction: {\n entry: 'performAction',\n on: {\n ACTION_SUCCESS: { target: 'succeeded' },\n ACTION_FAILURE: { target: 'failed' }\n }\n },\n failed: {\n entry: 'actionFailed',\n on: {\n VALIDATION_FAILURE: { target: 'invalid'},\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' }, \n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n loaded: () => {},\n message: () => {},\n validationFailed: () => {},\n validationSucceeded: () => {},\n performAction: () => {},\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n validate_service: () => {},\n }\n}\n);\n\nconst simpleInvokeMachine = createMachine({\n id: 'simpleInvoke',\n initial: 'idle',\n context: {\n data: undefined,\n error: undefined\n },\n states: {\n idle: {\n on: {\n FETCH: { target: 'inaction' }, \n }\n },\n inaction: {\n invoke: {\n id: 'action',\n src: 'action_service',\n onDone: {\n target: 'succeeded',\n actions: assign({\n data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n failed: {\n entry: 'actionFailed',\n on: {\n FETCH: { target: 'inaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n IDLE: { target: 'idle' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n action_service: () =>{},\n }\n}\n);\n\nconst fullInvokeMachine = createMachine({\n id: 'validate_invoke',\n initial: 'loading',\n context: {\n data: undefined,\n error: undefined\n },\n states: {\n loading: {\n entry: 'loading',\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n }\n },\n firstready: {\n entry: 'loaded',\n on: {\n INPUT: { \n target: 'filling',\n actions: (context, event) => { }\n },\n CHANGE: { \n target: 'filling',\n actions: (context, event) => { }\n },\n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' },\n OVERRIDE: { target: 'override' }\n }\n },\n filling: {\n entry: 'message',\n on: {\n SUBMIT: { target: 'insubmission'},\n OVERRIDE: { target: 'override' }\n }\n },\n insubmission: {\n invoke: {\n id: 'validate',\n src: 'validate_service',\n onDone: {\n target: 'valid',\n actions: (context, event) => { }\n },\n onError: {\n target: 'invalid',\n actions: assign({ error: (context, event) => event.data })\n }\n }\n },\n invalid: {\n entry: 'validationFailed',\n on: {\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' },\n OVERRIDE: { target: 'override' }\n //CLOSE: \n //check bootstrap to know what event gets called when a modal closes \n }\n },\n valid: {\n entry: 'validationSucceeded',\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n override: {\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n inaction: {\n invoke: {\n id: 'action',\n src: 'action_service',\n onDone: {\n target: 'succeeded',\n actions: assign({\n data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n failed: {\n entry: 'actionFailed',\n on: {\n VALIDATION_FAILURE: { target: 'invalid'},\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' }, \n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n LOAD_COMPLETE: { target: 'firstready' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n loaded: () => {},\n message: () => {},\n validationFailed: () => {},\n validationSucceeded: () => {},\n performAction: () => {},\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n validate_service: () => {},\n action_service: () =>{},\n }\n}\n);\n\nconst fullLoadingInvokeMachine = createMachine({\n id: 'validate_invoke',\n initial: 'init',\n context: {\n data: undefined,\n error: undefined\n },\n states: {\n init: {\n on: {\n INIT_COMPLETE: { target: 'loading' }, \n }\n }, \n loading: {\n invoke: {\n id: 'loading',\n src: 'loading_service',\n onDone: {\n target: 'firstready',\n actions: assign({\n data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'invalid',\n actions: assign({ error: (context, event) => event.data })\n }\n } \n },\n firstready: {\n entry: 'loaded',\n on: {\n INPUT: { \n target: 'filling',\n actions: (context, event) => { }\n },\n CHANGE: { \n target: 'filling',\n actions: (context, event) => { }\n },\n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' },\n OVERRIDE: { target: 'override' }\n }\n },\n filling: {\n entry: 'message',\n on: {\n SUBMIT: { target: 'insubmission'},\n OVERRIDE: { target: 'override' },\n RE_INIT: {target: 'init'}\n }\n },\n insubmission: {\n invoke: {\n id: 'validate',\n src: 'validate_service',\n onDone: {\n target: 'valid',\n actions: (context, event) => { }\n },\n onError: {\n target: 'invalid',\n actions: assign({ error: (context, event) => event.data })\n }\n }\n },\n invalid: {\n entry: 'validationFailed',\n on: {\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' },\n OVERRIDE: { target: 'override' },\n RE_INIT: {target: 'init'}\n //CLOSE: \n //check bootstrap to know what event gets called when a modal closes \n }\n },\n valid: {\n entry: 'validationSucceeded',\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n override: {\n on: {\n PERFORM_ACTION: { target: 'inaction' }\n }\n },\n inaction: {\n invoke: {\n id: 'action',\n src: 'action_service',\n onDone: {\n target: 'succeeded',\n actions: assign({\n data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n failed: {\n entry: 'actionFailed',\n on: {\n VALIDATION_FAILURE: { target: 'invalid'},\n CHANGE: { target: 'filling' },\n INPUT: { target: 'filling' }, \n SUBMIT: { target: 'insubmission'},\n PERFORM_ACTION: { target: 'inaction' },\n RE_INIT: {target: 'init'}\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n LOAD_COMPLETE: { target: 'firstready' },\n RE_INIT: {target: 'init'}\n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n loaded: () => {},\n message: () => {},\n validationFailed: () => {},\n validationSucceeded: () => {},\n performAction: () => {},\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n loading_service: () => {},\n validate_service: () => {},\n action_service: () =>{},\n }\n}\n);\n\nconst twoStepInvokeMachine = createMachine({\n id: 'twoStepInvoke',\n initial: 'idle',\n context: {\n first_data: undefined,\n second_data: undefined,\n error: undefined\n },\n states: {\n idle: {\n on: {\n FIRST: { target: 'firstaction' }, \n }\n },\n firstaction: {\n invoke: {\n id: 'firstaction',\n src: 'first_action_service',\n onDone: {\n target: 'secondaction',\n actions: assign({\n first_data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n secondaction: {\n invoke: {\n id: 'secondaction',\n src: 'second_action_service',\n onDone: {\n target: 'succeeded',\n actions: assign({\n second_data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n }, \n failed: {\n entry: 'actionFailed',\n on: {\n FIRST: { target: 'firstaction' },\n SECOND: { target: 'secondaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n IDLE: { target: 'idle' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n first_action_service: () =>{},\n second_action_service: () =>{},\n }\n}\n);\n\nconst threeStepInvokeMachine = createMachine({\n id: 'threeStepInvoke',\n initial: 'idle',\n context: {\n first_data: undefined,\n second_data: undefined,\n thrid_data: undefined,\n error: undefined\n },\n states: {\n idle: {\n on: {\n FIRST: { target: 'firstaction' }, \n }\n },\n firstaction: {\n invoke: {\n id: 'firstaction',\n src: 'first_action_service',\n onDone: {\n target: 'secondaction',\n actions: assign({\n first_data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n secondaction: {\n invoke: {\n id: 'secondaction',\n src: 'second_action_service',\n onDone: {\n target: 'thirdaction',\n actions: assign({\n second_data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n },\n thirdaction: {\n invoke: {\n id: 'thirdaction',\n src: 'third_action_service',\n onDone: {\n target: 'succeeded',\n actions: assign({\n third_data: (context, event)=> event.data,\n error: ()=> undefined\n })\n },\n onError: {\n target: 'failed',\n actions: assign({error: (context, event)=> event.data})\n }\n }\n }, \n failed: {\n entry: 'actionFailed',\n on: {\n FIRST: { target: 'firstaction' },\n SECOND: { target: 'secondaction' },\n THIRD: { target: 'thirdaction' }\n }\n },\n succeeded: {\n entry: 'actionSucceeded',\n on: {\n IDLE: { target: 'idle' }, \n },\n },\n complete: {\n entry: 'final',\n type: 'final'\n } \n }\n},\n{\n actions: {\n actionFailed: () => {},\n actionSucceeded: () => {},\n final: () => {},\n },\n services: {\n first_action_service: () =>{},\n second_action_service: () =>{},\n third_action_service: () =>{},\n }\n}\n);\n\n\nexport {threeStepInvokeMachine};\nexport {twoStepInvokeMachine};\nexport {simpleInvokeMachine};\nexport {fullLoadingInvokeMachine};\nexport {fullInvokeMachine};\nexport {interpret};\nexport {passwordLoginUser};\nexport {socialLoginUser};\nexport {socialSignupUser};\n\n","const vv_c = {\r\n VV_SECRET : 'VV_SECRET',\r\n VV_CLIENT_ID : 'VV_CLIENT_ID',\r\n\tVV_AUTHORITY : 'VV_AUTHORITY',\r\n VV_CALLBACK_URI : 'VV_CALLBACK_URI',\r\n VV_POST_LOGOUT_URI : 'VV_POST_LOGOUT_URI',\r\n VV_MATOMO_URL : \"https://vaultvision.matomo.cloud/matomo.php?idsite=2&rec=1\"\r\n}\r\n\r\nconst redirectRequest = {\r\n redirect: 'http://localhost'\r\n}\r\n\r\nexport {redirectRequest};\r\nexport default {vv_c};","/* -------------------------------------------------------------------------- */\n/* Change Logo Dimensions */\n/* -------------------------------------------------------------------------- */\n\nconst changeLogoDimensions = () => {\n let maxWidth = 300;\n let maxHeight = 280;\n let maxAspectRatio = maxWidth / maxHeight;\n let myImage = new Image();\n const tenantLogo = document.querySelector('.horizontal-header-logo');\n if (tenantLogo) {\n\n let radioBtn = document.querySelectorAll('input[name=\"logoPosition\"]');\n radioBtn.forEach((elem) => {\n elem.addEventListener(\"change\", () => {\n \n \n if (document.querySelector(\"input[name='logoPosition']:checked\")) {\n let radioBtnVal = document.querySelector(\"input[name='logoPosition']:checked\").value;\n if(radioBtnVal === \"vertical\") {\n myImage.src = tenantLogo.dataset.vsrc;\n } else {\n myImage.src= tenantLogo.dataset.hsrc;\n }\n\n myImage.onload = () => {\n let myImageAspectRatio = myImage.naturalWidth / myImage.naturalHeight;\n if(myImageAspectRatio > maxAspectRatio) {\n tenantLogo.setAttribute(\"width\", maxWidth > myImage.naturalWidth ? myImage.naturalWidth : maxWidth);\n tenantLogo.removeAttribute(\"height\");\n } else {\n tenantLogo.setAttribute(\"height\", maxHeight > myImage.naturalHeight ? myImage.naturalHeight : maxHeight); \n tenantLogo.removeAttribute(\"width\");\n }\n tenantLogo.src = myImage.src;\n }\n\n } \n });\n })\n }\n\n\n\n\n\n\n let defaultMock = window.localStorage.getItem('enableMock');\n let radioBtn = document.querySelectorAll('input[name=\"enableMock\"]');\n for (let i=0; i < radioBtn.length; i=i+1) {\n if (radioBtn[i].value === defaultMock) { \n radioBtn[i].checked = true;\n }\n }\n radioBtn.forEach((elem) => {\n elem.addEventListener(\"change\", () => {\n if (document.querySelector(\"input[name='enableMock']:checked\")) {\n let radioBtnVal = document.querySelector(\"input[name='enableMock']:checked\").value;\n window.localStorage.setItem('enableMock', radioBtnVal);\n }\n });\n })\n\n\n}\n\nexport default changeLogoDimensions;","import vv_utils from './vv_utils';\nimport { simpleInvokeMachine} from \"./vv_api\";\n\n/*-----------------------------------------------\n| Application Details\n-----------------------------------------------*/\n\n/* eslint-disable max-len*/\n\nconst consentDetailsInit_onStart = () => {\n const { interpret } = window.XState;\n\n const tenant = window.vv_tenant_data;\n const alertbox = document.getElementById('split-alert');\n\n const messageMap = {\n 'email' : 'Access your email address',\n 'profile' : 'View your basic profile',\n 'oidc' : 'Allow logins for this account',\n }\n\n const ignoreMap = [\n \"iss\",\n ]\n\n const profileTerms = [\n \"sub\",\n \"name\",\n \"given_name\",\n \"family_name\",\n \"middle_name\",\n \"nickname\",\n \"preferred_username\",\n \"profile\",\n \"picture\",\n \"website\",\n \"email\",\n \"email_verified\",\n \"gender\",\n \"birthdate\",\n \"zoneinfo\",\n \"locale\",\n \"phone_number\",\n \"phone_number_verified\",\n \"address\",\n \"updated_at\",\n ]\n\n function logAccept(context, event) {\n const userstate = event;\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/consent`, userstate, 'POST');\n }\n\n const logAcceptMachine = interpret(\n simpleInvokeMachine.withConfig({\n actions : {\n actionFailed: (context, event) => {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\n },\n actionSucceeded: (context, event)=> {\n \n let jsonResponse = context.data;\n window.location.assign(jsonResponse.redirect);\n logAcceptMachine.send(\"IDLE\");\n }\n },\n services: {\n //eslint-disable-next-line\n action_service: (context, event) => {return logAccept(context, event)}\n }\n })\n )\n .onTransition((state)=> {})\n .start();\n\n function cancel(){\n let userstate = { 'consent': false };\n logAcceptMachine.send(\"FETCH\", userstate);\n }\n\n function allow(){\n let userstate = { 'consent': true };\n logAcceptMachine.send(\"FETCH\", userstate);\n }\n\n document.getElementById('cancel').addEventListener(\"click\", cancel);\n document.getElementById('allow').addEventListener(\"click\", allow);\n\n\n let removedTerms = []\n function includesThenPop(element) {\n if (profileTerms.includes(element)) {\n removedTerms.push(element);\n return true;\n } else {\n return false;\n }\n }\n\n function addToolTip(element, terms) {\n element.setAttribute(\"data-bs-toggle\", \"tooltip\");\n element.setAttribute(\"data-bs-placement\", \"left\");\n let text = \"Profile data is limited to your: \" + terms.join(\", \");\n element.setAttribute(\"title\", text);\n element.querySelector(\"span\").classList.add(\"text-info\");\n }\n\n if (window.vv_tenant_data.company_name) {\n const requestBy = document.getElementById(\"requestBy\")\n requestBy.innerText = requestBy.innerText + \" \" + window.vv_tenant_data.company_name\n requestBy.classList.remove(\"d-none\")\n }\n\n const display = document.getElementById(\"display\");\n const metaEl = document.getElementById(\"vvjson\");\n let metacode = ['oidc', 'profile', \"email\", 'iss'];\n if (metaEl && metaEl.dataset && metaEl.dataset.vvjson ) {\n try {\n metacode = JSON.parse(atob(metaEl.dataset.vvjson)).claims;\n \n \n } catch (error) {\n // do nothing, use default, no op\n Function.prototype();\n } finally {\n //eslint issue, do a no op to make happy\n Function.prototype();\n }\n }\n\n\n\n let output = document.getElementById('display');\n let template = document.getElementById('displayTemplate');\n\n //filter the ignoremaps out of the metacodes\n metacode = metacode.filter(el => !ignoreMap.includes(el));\n\n //filter the profileTerms out of the metacodes\n metacode = metacode.filter(el => !includesThenPop(el));\n\n //if there are removedTerms, add the 'profile' to the claims if it is not there\n if (removedTerms.length > 0 && !metacode.includes('profile')) {\n metacode.push('profile')\n }\n\n metacode.forEach(element => {\n let clone = template.content.cloneNode(true);\n let span = clone.querySelector(\"span.replaceText\");\n span.innerText = messageMap[element] ? messageMap[element] : \"Access \" + element;\n //add a tooltip if it is the profile element\n if (element === 'profile') {\n addToolTip(clone.firstChild.nextSibling, removedTerms);\n }\n output.appendChild(clone);\n })\n\n let tooltipTriggerList = document.querySelectorAll('[data-bs-toggle=\"tooltip\"]')\n let tooltipList = tooltipTriggerList.forEach(tooltipTriggerEl => new window.bootstrap.Tooltip(tooltipTriggerEl))\n\n}\n\n\nexport default {consentDetailsInit_onStart};\n","import vv_utils from \"./vv_utils\";\n\n/*-----------------------------------------------\n| Application Details\n-----------------------------------------------*/\n\n/* eslint-disable max-len*/\n\nconst errorDetailsInit_onStart = () => {\n const errorMetaEl = document.getElementById(\"vvjson\");\n\n let errObj = {};\n let metacode = \"\";\n if (errorMetaEl && errorMetaEl.dataset && errorMetaEl.dataset.vvjson) {\n try {\n errObj = JSON.parse(atob(errorMetaEl.dataset.vvjson));\n \n metacode = errObj.code;\n }\n catch {\n //do nothing, use the blank default\n }\n }\n\n const urlparams = new URLSearchParams(window.location.search);\n const querycode = urlparams.get(\"code\");\n let errText = \"\";\n\n // favor the metacode\n let code = metacode ? metacode : querycode;\n if (code && vv_utils.messageMap[code]) {\n errText = vv_utils.messageMap[code];\n } else {\n errText = \"Our services are currently unavailable.\";\n }\n\n // if the client_id is currently available, pass it along to\n // the login request.\n const loginBtn = document.getElementById(\"errorLoginButton\");\n const loginBtnUrl = new URL(loginBtn.href);\n const clientId = urlparams.get(\"client_id\");\n if (clientId) {\n loginBtnUrl.searchParams.set(\"client_id\", clientId);\n }\n\n loginBtn.href = loginBtnUrl.toString();\n\n // plain error container is used by default\n const peCont = document.getElementById(\"errordisplay\");\n if (!errObj.devmode) {\n peCont.innerText = errText;\n return;\n }\n peCont.classList.add(\"d-none\")\n\n // show the error display text\n const dmText = document.getElementById(\"devmodeErrorText\");\n dmText.innerText = errText;\n\n // show the error suggestion\n if (metacode === \"oidc_redirect_invalid\") {\n const p = errObj.params\n if (p && p.redirect_url) {\n document.getElementById(\"devmodeErrorSpacer\")\n .classList.remove('d-none');\n const hdr = document.getElementById(\"devmodeErrorCurrentHeader\")\n hdr.innerText = \"Requested Redirect URL:\";\n hdr.classList.remove('d-none');\n\n const val = document.getElementById(\"devmodeErrorCurrentValue\")\n val.innerText = p.redirect_url;\n val.classList.remove('d-none');\n }\n if (p && p.redirect_url_suggestion) {\n document.getElementById(\"devmodeErrorSpacer\")\n .classList.remove('d-none');\n const hdr = document.getElementById(\"devmodeErrorSuggestedHeader\")\n hdr.innerText = \"Fix With Redirect URL:\";\n hdr.classList.remove('d-none');\n\n const val = document.getElementById(\"devmodeErrorSuggestedValue\")\n val.innerText = p.redirect_url_suggestion;\n val.classList.remove('d-none');\n }\n }\n\n // show the error display container\n const dmCont = document.getElementById(\"devmodeContainer\");\n dmCont.classList.remove(\"d-none\");\n}\n\n\nexport default { errorDetailsInit_onStart };\n\n","import vv_utils from './vv_utils';\r\nimport { fullInvokeMachine, simpleInvokeMachine } from \"./vv_api\";\r\nimport validateEmail from './email-validator';\r\n\r\n/*-----------------------------------------------\r\n| Forgot Password\r\n-----------------------------------------------*/\r\n\r\nconst forgotPasswordInit = () => {\r\n\r\n const fieldFormMap = {\r\n \"email\": \"#email\",\r\n }\r\n\r\n const alertbox = document.getElementById(\"split-alert\");\r\n\r\n if (window.vv_tenant_data && window.vv_tenant_data.support_url) {\r\n document.getElementById(\"supportLink\").href = window.vv_tenant_data.support_url;\r\n } else {\r\n document.getElementById(\"supportLink\").classList.add(\"d-none\");\r\n }\r\n\r\n function checkValidity() {\r\n return new Promise((resolve, reject)=>{\r\n let valid = true;\r\n let email = document.getElementById('email');\r\n \r\n if(email.value && validateEmail(email.value) && email.value.length <= 320){\r\n //do nothing bootstrap handles the clearing\r\n } else {\r\n \r\n vv_utils.makeInvalid(email);\r\n valid = false;\r\n }\r\n\r\n if(valid){\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n } \r\n })\r\n }\r\n\r\n function formSubmit(e) {\r\n if (e.preventDefault) e.preventDefault();\r\n }\r\n\r\n const forgotPassword = async (userstate) => {\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/forgot`, userstate, 'POST',vv_utils.defaultTimeout);\r\n }\r\n\r\n function doForgotPassword(servError, service) {\r\n let email = document.getElementById('email').value;\r\n\r\n let userstate = { 'email': email };\r\n return forgotPassword(userstate);\r\n }\r\n\r\n const { interpret } = window.XState;\r\n \r\n const form = document.getElementById(\"forgotPasswordForm\");\r\n \r\n const validationService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n vv_utils.clearInputValidation(form);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n validationService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n if(context.error.fields){\r\n const invalidIds = context.error.fields.map((field) => fieldFormMap[field]);\r\n invalidIds.forEach((id)=>{\r\n vv_utils.makeInvalid(id);\r\n })\r\n }\r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n vv_utils.showalert(\"An email has been sent to you, please enter the 6 digit code from that email below.\", \"primary\", alertbox);\r\n validationService.send(\"LOAD_COMPLETE\");\r\n document.getElementById(\"forgotBlock\").classList.add(\"d-none\");\r\n document.getElementById(\"verifyTitle\").innerText = \"Please check your inbox for the verification code\";\r\n document.getElementById(\"verifyBlock\").classList.remove(\"d-none\");\r\n }\r\n },\r\n services: {\r\n validate_service: (context, event) => checkValidity(context, event),\r\n action_service: (context, event) => {return doForgotPassword(context, event)}\r\n }\r\n })\r\n )\r\n .onTransition((state) => {})\r\n .start();\r\n \r\n //eslint-disable-next-line\r\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(form, validationService, formSubmit);\r\n \r\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input', 'input');\r\n\r\n //After the state machince is fully configured, move out of loading\r\n validationService.send(\"LOAD_COMPLETE\");\r\n\r\n\r\n////Resend\r\n\r\n const resendService = interpret(\r\n\r\n simpleInvokeMachine.withConfig({\r\n actions : {\r\n actionFailed: (context, event) => {\r\n \r\n if(context.error.fields){\r\n const invalidIds = context.error.fields.map((field) => fieldFormMap[field]);\r\n invalidIds.forEach((id)=>{\r\n vv_utils.makeInvalid(id);\r\n })\r\n }\r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\r\n },\r\n actionSucceeded: (context, event)=> {\r\n \r\n document.getElementById(\"verifyTitle\").innerText = \"Please check your inbox for the verification code\";\r\n vv_utils.showalert(\"An email has been re-sent to you, please enter the 6 digit code from that email below.\", \"primary\", alertbox);\r\n resendService.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => {return doForgotPassword(context, event)}\r\n }\r\n })\r\n )\r\n .onTransition((state)=> {})\r\n .start();\r\n\r\n document.getElementById(\"vvModalVerifyCodeResendBtn\").addEventListener('click', (e) => {\r\n e.preventDefault();\r\n document.getElementById(\"verifyTitle\").innerText = \"Re-sending now...\";\r\n resendService.send(\"FETCH\");\r\n })\r\n\r\n////////////////////////////////////////////////\r\n\r\n\r\n //Modal VerificationCode Update\r\n const vvModalVerifyCodeForm = document.getElementById(\"vvModalVerifyCodeForm\");\r\n const vvModalVerifyCodeFeedback = document.getElementById('vvModalVerifyCodeFeedback');\r\n const vvModalVerifyCodeUpdateSaveBtn = document.getElementById('vvModalVerifyCodeUpdateSaveBtn');\r\n\r\n const verificationcodeFieldFormMap = {\r\n 'code': '#verificationcode',\r\n 'password': \"#split-password\"\r\n }\r\n \r\n //This had to be done manually instead of using bootstrap because we\r\n //added a custom 'eye' icon through a container div that did not allow for a \r\n //feedback div directly under the input tag like normal\r\n function clearPasswordFeedback() {\r\n let passwordfeedback = document.getElementById('split-password-feedback');\r\n\r\n passwordfeedback.style.display = 'none';\r\n\r\n let password = document.getElementById('split-password');\r\n password.classList.remove(':valid');\r\n password.classList.remove(':invalid');\r\n\r\n }\r\n\r\n function checkVerificationCodeValidity() {\r\n return new Promise((resolve, reject) => {\r\n \r\n let vvModalVerifyCodeText = document.getElementById(\"verificationcode\");\r\n let valid = true;\r\n\r\n //should be a 6 digit string\r\n //eslint-disable-next-line\r\n vvModalVerifyCodeText.value = vvModalVerifyCodeText.value.replace(/[^\\d]+/g, '');\r\n if (vvModalVerifyCodeText.value && vvModalVerifyCodeText.value.length === 6 && /^\\d+$/.test(vvModalVerifyCodeText.value)) {\r\n //\r\n } else {\r\n valid = false;\r\n vv_utils.makeInvalid(vvModalVerifyCodeText);\r\n }\r\n\r\n let password = document.getElementById('split-password');\r\n let passwordfeedback = document.getElementById('split-password-feedback');\r\n let confirmPassword = document.getElementById('split-confirm-password');\r\n let confirmPasswordFeedback = document.getElementById('split-confirm-password-feedback');\r\n\r\n // eslint-disable-next-line\r\n if (password.value && (password.value.length >= 10) && (password.value.length <= 255)) {\r\n clearPasswordFeedback();\r\n } else {\r\n vv_utils.makeInvalid(password);\r\n passwordfeedback.style.display = 'block';\r\n \r\n valid = false;\r\n }\r\n \r\n\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateVerificationCode(context, event) {\r\n \r\n //in the future pass the verificationcode value through state machine \r\n let verificationcode = document.getElementById('verificationcode').value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/reset`, \r\n { \r\n \"code\": verificationcode,\r\n \"email\": document.getElementById('email').value,\r\n \"password\": document.getElementById('split-password').value,\r\n \"send\": false,\r\n }, \"POST\");\r\n }\r\n\r\n const updateVerificationCodeMachine = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //\r\n vv_utils.clearInputValidation(vvModalVerifyCodeForm);\r\n vv_utils.clearalert(alertbox);\r\n clearPasswordFeedback();\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n updateVerificationCodeMachine.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => { \r\n if (context.error && context.error.fields) {\r\n vv_utils.highlightFields(context.error.fields, verificationcodeFieldFormMap);\r\n }\r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\r\n vv_utils.clearalert(alertbox);\r\n clearPasswordFeedback(); \r\n if (context.data.redirect) {\r\n window.location.assign(context.data.redirect);\r\n return;\r\n }\r\n if (context.data.mfa_required) {\r\n const codeBlock = document.getElementById(\"verifyBlock\");\r\n codeBlock.classList.add(\"d-none\");\r\n document.getElementById(\"verifyMFABlock\").classList.remove(\"d-none\");\r\n } else {\r\n vv_utils.showalert(\"Password reset succeeded, now redirecting you to our login page.\", \"primary\", alertbox);\r\n setTimeout( () => {window.location.assign(\"/login\")} , 3000); \r\n }\r\n\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n validate_service: (context, event) => checkVerificationCodeValidity(context, event),\r\n action_service: (context, event) => updateVerificationCode(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n //eslint-disable-next-line\r\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyCodeForm, updateVerificationCodeMachine, 'input', 'input');\r\n //eslint-disable-next-line\r\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalVerifyCodeForm, updateVerificationCodeMachine, formSubmit);\r\n\r\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\r\n\r\n vvModalVerifyCodeUpdateSaveBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n updateVerificationCodeMachine.send(\"SUBMIT\");\r\n })\r\n\r\n////////////////////////////////////////////////\r\n\r\n\r\n //MFA VerificationMFACode Update\r\n const vvModalVerifyMFACodeForm = document.getElementById(\"vvModalVerifyMFACodeForm\");\r\n const vvModalVerifyMFACodeFeedback = document.getElementById('vvModalVerifyMFACodeFeedback');\r\n const vvModalVerifyMFACodeUpdateSaveBtn = document.getElementById('vvModalVerifyMFACodeUpdateSaveBtn');\r\n\r\n const verificationMFAcodeFieldFormMap = {\r\n 'mfa_code': '#mfaverificationcode'\r\n }\r\n \r\n\r\n\r\n function checkVerificationMFACodeValidity() {\r\n return new Promise((resolve, reject) => {\r\n let vvModalVerifyCodeText = document.getElementById(\"mfaverificationcode\");\r\n let valid = true;\r\n\r\n //should be a 6 digit string\r\n //eslint-disable-next-line\r\n vvModalVerifyCodeText.value = vvModalVerifyCodeText.value.replace(/[^\\d]+/g, '');\r\n if (vvModalVerifyCodeText.value && vvModalVerifyCodeText.value.length === 6 && /^\\d+$/.test(vvModalVerifyCodeText.value)) {\r\n //\r\n } else {\r\n valid = false;\r\n vv_utils.makeInvalid(vvModalVerifyCodeText);\r\n }\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateVerificationMFACode(context, event) {\r\n \r\n //in the future pass the mfaverificationcode value through state machine \r\n let mfaverificationcode = document.getElementById('mfaverificationcode').value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/reset`, \r\n { \r\n \"code\": document.getElementById('verificationcode').value,\r\n \"mfa_code\": mfaverificationcode,\r\n \"email\": document.getElementById('email').value,\r\n \"password\": document.getElementById('split-password').value,\r\n \"send\": false,\r\n }, \"POST\");\r\n }\r\n\r\n const updateVerificationMFACodeMachine = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //\r\n vv_utils.clearInputValidation(vvModalVerifyMFACodeForm);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n updateVerificationMFACodeMachine.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n \r\n\r\n if (context.error && context.error.fields) { \r\n vv_utils.highlightFields(context.error.fields, verificationMFAcodeFieldFormMap);\r\n }\r\n\r\n \r\n if (context.error) {\r\n vv_utils.logError(context.error);\r\n \r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n }\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n updateVerificationMFACodeMachine.send(\"LOAD_COMPLETE\");\r\n if (context.data.redirect) {\r\n window.location.assign(context.data.redirect);\r\n return;\r\n }\r\n vv_utils.showalert(\"Password reset succeeded, now redirecting you to our login page.\", \"primary\", alertbox);\r\n setTimeout( () => {window.location.assign(\"/login\")} , 3000);\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n validate_service: (context, event) => checkVerificationMFACodeValidity(context, event),\r\n action_service: (context, event) => updateVerificationMFACode(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n //eslint-disable-next-line\r\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyMFACodeForm, updateVerificationMFACodeMachine, 'input', 'input');\r\n //eslint-disable-next-line\r\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalVerifyMFACodeForm, updateVerificationMFACodeMachine, formSubmit);\r\n\r\n updateVerificationMFACodeMachine.send(\"LOAD_COMPLETE\");\r\n\r\n vvModalVerifyMFACodeUpdateSaveBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n updateVerificationMFACodeMachine.send(\"SUBMIT\");\r\n })\r\n\r\n\r\n\r\n\r\n\r\n//temp onload\r\n\r\n}\r\n\r\nexport default {forgotPasswordInit};\r\n","import vv_utils from './vv_utils';\nimport { fullInvokeMachine, passwordLoginUser, socialLoginUser } from './vv_api';\nimport validateEmail from './email-validator';\nimport {redirectRequest} from \"./vv_c\";\nimport requestWebAuthn from './vv_webauthn';\n\n/* eslint-disable no-param-reassign */\n\nconst loginValidationInit = () => {\n const tenant = window.vv_tenant_data;\n \n const fieldFormMap = {\n \"email\": \"#split-login-email\",\n \"password\": \"#split-login-password\"\n }\n\n //TODO find a better way to share this between submit event and the perfom action call\n let submitter = { 'value':'', 'form': {} };\n\n const alertbox = document.getElementById('split-alert');\n\n const form = document.getElementById('login-form');\n\n //InboundAlerts\n let alertText = \"\";\n\n function readInboundQueryResult() {\n //Inbound query string codes \n const urlparams = new URLSearchParams(window.location.search);\n const code = urlparams.get('error');\n\n //some error with OIDC, display error\n if (code) {\n if (code && vv_utils.messageMap[code]) {\n alertText = vv_utils.messageMap[code];\n } else {\n alertText = \"There was an unexpected error adding the social identity\";\n }\n }\n }\n\n function showAndResetInboundQueryAlert() {\n if (alertText) {\n vv_utils.showalert(alertText, \"danger\", alertbox);\n }\n alertText = \"\";\n }\n\n\n //This had to be done manually instead of using bootstrap because we\n //added a custom 'eye' icon through a container div that did not allow for a\n //feedback div directly under the input tag like normal\n function clearPasswordFeedback() {\n let passwordfeedback = document.getElementById('login-password-feedback');\n //passwordfeedback.classList.remove(':invalid');\n //passwordfeedback.classList.remove(':valid');\n passwordfeedback.style.display = 'none';\n }\n\n function checkValidity() {\n return new Promise(function(resolve, reject){\n form.classList.remove(\"was-validated\");\n\n if (submitter.value === 'vv' || submitter.value === 'passwordless') {\n //do nothing\n } else if (submitter.value === 'google' || submitter.value === 'microsoft' || submitter.value === 'microsoftError') {\n return true;\n } else {\n throw new Error('invalid submitter');\n }\n let valid = true;\n let email = document.getElementById('split-login-email');\n let password = document.getElementById('split-login-password');\n let passwordfeedback = document.getElementById('login-password-feedback');\n\n if (email.value && validateEmail(email.value) && email.value.length <= 320) {\n //do nothing bootstrap handles the clearing\n } else {\n \n vv_utils.makeInvalid(email);\n valid = false;\n }\n \n \n\n // if(password.value === \"\" && window.vv_tenant_data.allow_hardware){\n // submitter.value = 'passwordless';\n // } \n\n \n if(password.value !== \"\" && submitter.value === 'passwordless'){\n passwordfeedback.innerText = \"password must be blank to use a passkey\"; \n vv_utils.makeInvalid(password);\n passwordfeedback.style.display = 'block';\n valid = false;\n }\n\n\n if(submitter.value === 'vv'){\n //a blank password can also be accepted\n if (password.value === \"\" || password.value.length <= 255) {\n clearPasswordFeedback();\n } else {\n vv_utils.makeInvalid(password);\n passwordfeedback.innerText = \"Please enter a valid password\"; \n passwordfeedback.style.display = 'block';\n \n valid = false;\n }\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n //TODO figure out a better way to grab the submitter of which form was clicked\n function loginFormSubmit(e, service) {\n if (e.preventDefault) e.preventDefault();\n \n \n \n let currentState = service.getSnapshot().value;\n \n\n //note safari does not support e.submitter but we use a polyfill\n if (e.submitter) {\n submitter.value = String(e.submitter.value);\n submitter.form.id = String(e.submitter.form.id);\n }\n //hopefully for the safari case we rely on the button click event\n\n\n if (currentState && (currentState.toLowerCase() === 'invalid' || currentState.toLowerCase() === 'failed' )){\n return \"input\";\n }\n return \"\"; \n }\n\n /*eslint-disable no-inner-declarations*/\n function doPasswordlessLogin(context, event){\n \n let email = document.getElementById('split-login-email').value;\n if (document.getElementById('split-checkbox').checked) {\n window.localStorage.setItem('login_username', email);\n window.localStorage.setItem('login_method', 'passwordless');\n } else {\n window.localStorage.setItem('login_username', '');\n window.localStorage.setItem('login_method', '');\n }\n\n const beginReq = {\n 'provider': submitter.value,\n 'email': email\n }\n return requestWebAuthn(beginReq, \"login\", alertbox);\n }\n\n /*eslint-enable no-inner-declarations*/\n function doCredLogin() {\n let password = document.getElementById('split-login-password').value;\n let email = document.getElementById('split-login-email').value;\n\n if (document.getElementById('split-checkbox').checked) {\n window.localStorage.setItem('login_username', email);\n window.localStorage.setItem('login_method', '');\n } else {\n window.localStorage.setItem('login_username', '');\n window.localStorage.setItem('login_method', '');\n }\n\n let userstate = {\n 'email': email,\n 'password': password,\n 'provider': submitter.value\n };\n return passwordLoginUser(userstate)\n }\n\n //TODO figure out a better way to grab the submitter of which form was clicked\n function socialFormSubmit(e) {\n if (e.preventDefault) e.preventDefault();\n //note safari does not support e.submitter but we use a polyfill\n if (e.submitter) {\n submitter.value = String(e.submitter.value);\n submitter.form.id = String(e.submitter.form.id);\n }\n //hopefully for the safari case we rely on the button click event\n }\n\n function doSocialLogin(servError, service) {\n let userstate = {\n 'email': '',\n 'password': '',\n 'provider': submitter.value\n };\n return socialLoginUser(userstate)\n }\n\n //Process the Remember check box and set the values if the are in local storage\n function getAndSetRememberUser() {\n let username = window.localStorage.getItem('login_username');\n if (username && validateEmail(username)) {\n \n document.getElementById('split-login-email').value = username;\n document.getElementById('split-checkbox').checked = true;\n }\n }\n\n function handleLogin (){\n \n \n let password = document.getElementById('split-login-password').value;\n // create an override so that if the submitter is still vv but there is no password then assume\n // the user meant to do passwordless\n let passwordless_override = submitter.value === \"vv\" && password === \"\";\n\n if (submitter.form.id === 'login-form' && submitter.value === \"vv\" && password !== \"\") {\n return doCredLogin();\n } else if (submitter.form.id === 'social-form') {\n return doSocialLogin();\n } else if(submitter.form.id === 'login-form' && (submitter.value === \"passwordless\" || passwordless_override) ){\n return doPasswordlessLogin()\n } else {\n throw new vv_utils.GenericException(\"invalid submitter\");\n }\n }\n\n const { interpret } = window.XState;\n\n if (form && form !== null) {\n const validationService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loading: () => {\n readInboundQueryResult();\n }, \n loaded: () => {\n getAndSetRememberUser();\n showAndResetInboundQueryAlert();\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(form);\n vv_utils.clearalert(alertbox);\n clearPasswordFeedback();\n },\n validationFailed: () => {\n vv_utils.showalert('There are validation errors, fix fields highlighted in red and submit again.', 'danger', alertbox);\n },\n validationSucceeded: () => {\n validationService.send('PERFORM_ACTION');\n },\n actionFailed: (context, event) => {\n if(context.error.fields){\n const invalidIds = context.error.fields.map((field) => fieldFormMap[field]);\n invalidIds.forEach((id)=>{\n vv_utils.makeInvalid(id);\n })\n }\n \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\n },\n actionSucceeded: (context, event)=> {\n \n const jsonResponse = window._.pick(context.data , Object.keys(redirectRequest));\n window.location.assign(jsonResponse.redirect);\n validationService.send(\"LOAD_COMPLETE\");\n }\n },\n services: {\n validate_service: (context, event) => checkValidity(context, event),\n //eslint-disable-next-line\n action_service: (context, event) => {return handleLogin(context, event)}\n }\n })\n )\n .onTransition((state) => {})\n .start();\n\n //eslint-disable-next-line\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(form, validationService, loginFormSubmit);\n\n //We only need to attach this submit event manually to enable the social form\n const socialform = document.getElementById('social-form');\n if (socialform) {\n socialform.addEventListener('submit', (event) => {\n socialFormSubmit(event);\n validationService.send('OVERRIDE');\n validationService.send('PERFORM_ACTION');\n });\n }\n \n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input[type=\"checkbox\"]', 'change');\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input[type=\"radio\"]', 'change');\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input', 'input');\n\n // //set an eventhandler for the submit buttons to capture which was clicked\n // let nodeListToAddEvents = document.querySelectorAll('button[vv-trigger=\"submit\"]');\n // if (nodeListToAddEvents && nodeListToAddEvents.length > 0 ) {\n // Object.values(nodeListToAddEvents).forEach(function(node) {\n // \n // node.addEventListener('click', (event) => {\n // if (node.value && node.closest(\"form\")) {\n // submitter.value = String(node.value);\n // submitter.form.id = String(node.closest(\"form\").id);\n // // if(node.value === \"passwordless\"){\n // // const password = document.getElementById('split-login-password');\n // // password.value = \"\";\n // // clearPasswordFeedback();\n // // password.classList.remove('is-invalid') \n // // }\n // } else {\n // submitter.value = 'vv';\n // submitter.form.id = 'login-form';\n // }\n // \n // \n // node.closest(\"form\").submit();\n // })\n // })\n // }\n\n\n const passwordSection = document.getElementById(\"loginPasswordSection\");\n const optionText = document.getElementById(\"loginOptionText\");\n const fidoSection = document.getElementById(\"fidoSection\")\n const passswordLoginBtnSection = document.getElementById(\"btn-password-login-section\");\n\n if(!window.vv_tenant_data.allow_passwords && !window.vv_tenant_data.allow_hardware){\n optionText.classList.add(\"d-none\");\n fidoSection.classList.add(\"d-none\");\n passwordSection.classList.add(\"d-none\");\n passswordLoginBtnSection.classList.add(\"d-none\");\n }\n \n if(tenant.allow_passwords && !tenant.allow_hardware){\n optionText.classList.add(\"d-none\")\n fidoSection.classList.add(\"d-none\")\n }\n\n if(!tenant.allow_passwords && tenant.allow_hardware) {\n optionText.classList.add(\"d-none\")\n passwordSection.classList.add(\"d-none\")\n passswordLoginBtnSection.classList.add(\"d-none\")\n fidoSection.classList.add(\"d-none\")\n }\n\n const socialbuttons = document.getElementById(\"socialbuttons\");\n if (socialbuttons) {\n if (window.vv_tenant_data.allow_social) {\n socialbuttons.classList.remove('d-none');\n } else {\n socialbuttons.parentElement.removeChild(socialbuttons);\n }\n }\n\n //After the state machince is fully configured, move out of loading\n validationService.send('LOAD_COMPLETE');\n }\n\n};\n\nexport default loginValidationInit;\n\n//testing info\n//document.querySelector(\"button[name='microsoft']\").value = 'microsoftError';\n","import vv_utils from './vv_utils';\nimport { fullLoadingInvokeMachine } from \"./vv_api\";\nimport setupMfaEmail from './vv_mfa_email';\n\nconst mfaEnrollInit_onStart = (el) => {\n\n const totpConfig = {\n pageAlertbox: document.getElementById(\"add-totp-alert\"),\n formAlertbox: document.getElementById(\"add-totp-alert\"),\n totpImg: document.getElementById('vv-modal-add-totp-img'),\n cancelBtn: null,\n verifyBtn: document.getElementById('vv-modal-add-totp-verify'),\n codeInput: document.getElementById('vv-modal-add-totp-code'),\n rememberChk: document.getElementById('totp_remember_app'),\n form: document.getElementById('vv-modal-add-totp-form'),\n appService: {}\n }\n \n const emailConfig = {\n pageAlertbox: document.getElementById(\"add-totp-email-alert\"),\n formAlertbox: document.getElementById(\"add-totp-email-alert\"),\n verifyTitle: document.getElementById('verifyTitle'),\n cancelBtn: null,\n verifyBtn: document.getElementById('vvModalVerifyCodeUpdateSaveBtn'),\n resendBtn: document.getElementById('vvModalVerifyCodeResendBtn'),\n codeInput: document.getElementById('verificationcode'),\n codeInputFeedback: document.getElementById('vvModalVerifyCodeFeedback'),\n responseToken: \"\",\n rememberChk: document.getElementById('totp_remember_email'),\n form: document.getElementById('vvModalVerifyCodeForm'),\n emailService: {},\n verifyCodeService: {}\n }\n\n const fieldFormMap = {\n 'code': '#vv-modal-add-totp-code',\n }\n \n function checkValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let valid = true;\n \n totpConfig.codeInput.value = totpConfig.codeInput.value.replace(/[^\\d]+/g, '');\n\n if (totpConfig.codeInput.value.length === 6 && /^\\d+$/.test(totpConfig.codeInput.value)) {\n //\n } else {\n vv_utils.makeInvalid(totpConfig.codeInput);\n valid = false;\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function hide(selector) {\n let hideList = document.querySelectorAll(selector);\n for (let i = 0; i < hideList.length; i=i+1) {\n hideList[i].classList.add(\"d-none\");\n } \n }\n\n function unhide(selector) {\n let unhideList = document.querySelectorAll(selector);\n for (let i = 0; i < unhideList.length; i=i+1) {\n unhideList[i].classList.remove(\"d-none\");\n } \n }\n\n function initEnroll() {\n let allow_totp_app = false;\n let allow_totp_email = false;\n\n let unhideList = {};\n let hideList = {};\n\n if (window.vv_tenant_data.allow_totp_app) {\n allow_totp_app=true;\n } else {\n allow_totp_app=false;\n }\n\n if (window.vv_tenant_data.allow_totp_email) {\n allow_totp_email=true;\n } else {\n allow_totp_email=false;\n }\n\n if (allow_totp_email && allow_totp_app) {\n unhide('.show-on-both');\n \n const appVerify = document.getElementById('app-verify');\n const emailVerify = document.getElementById('email-verify');\n\n appVerify.addEventListener('click', (event) => {\n totpConfig.appService.send(\"INIT_COMPLETE\");\n hide('.show-on-both, .show-on-email');\n unhide('.show-on-app');\n })\n emailVerify.addEventListener('click', (event) => {\n setupMfaEmail(emailConfig);\n emailConfig.emailService.send(\"INIT_COMPLETE\");\n hide('.show-on-both, .show-on-app');\n unhide('.show-on-email');\n })\n\n } else if (allow_totp_email && !allow_totp_app) {\n setupMfaEmail(emailConfig);\n emailConfig.emailService.send(\"INIT_COMPLETE\");\n unhide('.show-on-email');\n } else if (!allow_totp_email && allow_totp_app) {\n totpConfig.appService.send(\"INIT_COMPLETE\");\n unhide('.show-on-app');\n }\n\n }\n\n function load(context, event) {\n\n \n\n const enrollReq = {\n }\n\n //don't make the call if it has already been loaded\n if (!totpConfig.codeInput.getAttribute(\"data-token\")) {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/mfa/totp/app/enroll`, enrollReq);\n }\n return Promise.resolve({});\n }\n\n function update(context, event) {\n\n const verifyReq = {\n \"token\": totpConfig.codeInput.getAttribute(\"data-token\"),\n \"remember_device\": totpConfig.rememberChk.checked,\n \"code\": totpConfig.codeInput.value,\n }\n\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/mfa/totp/app/verify`, verifyReq);\n }\n\n const { interpret } = window.XState;\n totpConfig.appService = interpret(\n fullLoadingInvokeMachine.withConfig({\n actions: {\n loaded: (context, event) => {\n \n \n \n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n if (!totpConfig.codeInput.getAttribute(\"data-token\")) {\n let generateRes = context.data;\n const qrcodeBlob = new Blob([generateRes.image], { type: 'image/svg+xml' });\n totpConfig.totpImg.src = URL.createObjectURL(qrcodeBlob);\n \n totpConfig.codeInput.setAttribute(\"data-token\", generateRes.token)\n }\n totpConfig.codeInput.value = \"\";\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", totpConfig.formAlertbox);\n },\n validationSucceeded: (context, event) => {\n \n \n \n totpConfig.appService.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n \n //TODO make this for cred object not password\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, fieldFormMap);\n }\n\n if (context.error) {\n if (context.error.code === 'totp_failure') {\n vv_utils.showStateErrors(\"Incorrect TOTP code\", {}, totpConfig.formAlertbox);\n } else { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, totpConfig.formAlertbox);\n }\n }\n },\n actionSucceeded: (context, event) => {\n \n totpConfig.appService.send(\"RE_INIT\");\n totpConfig.appService.send(\"INIT_COMPLETE\");\n\n if (context.data.redirect) {\n window.location.assign(context.data.redirect);\n return;\n } else {\n vv_utils.showalert(\"Invalid response from verification.\", \"danger\", totpConfig.formAlertbox);\n return;\n }\n\n }\n },\n services: {\n loading_service: (context, event) => load(context, event),\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => update(context, event)\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(totpConfig.form, totpConfig.appService, 'input[type=\"checkbox\"]', 'change');\n vv_utils.AttachAndSendFormEventsToMachineService(totpConfig.form, totpConfig.appService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(totpConfig.form, totpConfig.appService, (e)=>{if (e.preventDefault) e.preventDefault()});\n\n/* totpConfig.verifyBtn.addEventListener('click', (e) => {\n editModalService.send(\"SUBMIT\");\n });*/\n\n \n\n//////////////////////////////////////////////////////////////////////////////////// \n initEnroll();\n\n}\n\n","import vv_utils from './vv_utils';\nimport { fullInvokeMachine, simpleInvokeMachine } from \"./vv_api\";\nimport setupMfaEmail from './vv_mfa_email';\n\nconst mfaVerifyInit_onStart = (el) => {\n \n\n const totpConfig = {\n pageAlertbox: document.getElementById(\"add-totp-alert\"),\n formAlertbox: document.getElementById(\"add-totp-alert\"),\n totpImg: null,\n cancelBtn: null,\n verifyBtn: document.getElementById('vv-modal-add-totp-verify'),\n codeInput: document.getElementById('vv-modal-add-totp-code'),\n rememberChk: document.getElementById('totp_remember_app'),\n form: document.getElementById('vv-modal-add-totp-form'),\n appService: {}\n }\n \n const emailConfig = {\n pageAlertbox: document.getElementById(\"add-totp-email-alert\"),\n formAlertbox: document.getElementById(\"add-totp-email-alert\"),\n verifyTitle: document.getElementById('verifyTitle'),\n cancelBtn: null,\n verifyBtn: document.getElementById('vvModalVerifyCodeUpdateSaveBtn'),\n resendBtn: document.getElementById('vvModalVerifyCodeResendBtn'),\n codeInput: document.getElementById('verificationcode'),\n codeInputFeedback: document.getElementById('vvModalVerifyCodeFeedback'),\n responseToken: \"\",\n rememberChk: document.getElementById('totp_remember_email'),\n form: document.getElementById('vvModalVerifyCodeForm'),\n emailService: {},\n verifyCodeService: {}\n }\n\n const fieldFormMap = {\n 'code': '#vv-modal-add-totp-code',\n }\n\n function checkValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let valid = true;\n \n totpConfig.codeInput.value = totpConfig.codeInput.value.replace(/[^\\d]+/g, '');\n\n if (totpConfig.codeInput.value.length === 6 && /^\\d+$/.test(totpConfig.codeInput.value)) {\n //\n } else {\n vv_utils.makeInvalid(totpConfig.codeInput);\n valid = false;\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function hide(selector) {\n let hideList = document.querySelectorAll(selector);\n for (let i = 0; i < hideList.length; i=i+1) {\n hideList[i].classList.add(\"d-none\");\n } \n }\n\n function unhide(selector) {\n let unhideList = document.querySelectorAll(selector);\n for (let i = 0; i < unhideList.length; i=i+1) {\n unhideList[i].classList.remove(\"d-none\");\n } \n }\n\n function initEnroll() {\n let allow_totp_app = false;\n let allow_totp_email = false;\n\n let unhideList = {};\n let hideList = {};\n\n if (window.vv_tenant_data.allow_totp_app) {\n allow_totp_app=true;\n } else {\n allow_totp_app=false;\n }\n\n if (window.vv_tenant_data.allow_totp_email) {\n allow_totp_email=true;\n } else {\n allow_totp_email=false;\n }\n\n if (allow_totp_email && allow_totp_app) {\n unhide('.show-on-both');\n \n const appVerify = document.getElementById('app-verify');\n const emailVerify = document.getElementById('email-verify');\n\n appVerify.addEventListener('click', (event) => {\n totpConfig.appService.send(\"LOAD_COMPLETE\");\n hide('.show-on-both, .show-on-email');\n unhide('.show-on-app');\n })\n emailVerify.addEventListener('click', (event) => {\n setupMfaEmail(emailConfig);\n emailConfig.emailService.send(\"INIT_COMPLETE\");\n hide('.show-on-both, .show-on-app');\n unhide('.show-on-email');\n })\n\n } else if (allow_totp_email && !allow_totp_app) {\n setupMfaEmail(emailConfig);\n emailConfig.emailService.send(\"INIT_COMPLETE\");\n unhide('.show-on-email');\n } else if (!allow_totp_email && allow_totp_app) {\n totpConfig.appService.send(\"LOAD_COMPLETE\");\n unhide('.show-on-app');\n }\n\n }\n\n function update(context, event) {\n\n const verifyReq = {\n \"remember_device\": totpConfig.rememberChk.checked,\n \"code\": totpConfig.codeInput.value,\n }\n\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/mfa/totp/app/verify`, verifyReq);\n }\n\n const { interpret } = window.XState;\n totpConfig.appService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: (context, event) => {\n \n \n \n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", totpConfig.formAlertbox);\n },\n validationSucceeded: (context, event) => {\n \n \n \n totpConfig.appService.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n \n //TODO make this for cred object not password\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, fieldFormMap);\n }\n if (context.error.code === 'totp_failure') {\n vv_utils.showStateErrors(\"Incorrect TOTP code\", {}, totpConfig.formAlertbox);\n } else { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, totpConfig.formAlertbox);\n }\n },\n actionSucceeded: (context, event) => {\n \n totpConfig.appService.send(\"LOAD_COMPLETE\");\n\n if (context.data.redirect) {\n window.location.assign(context.data.redirect);\n return;\n } else {\n vv_utils.showalert(\"Invalid response from verification.\", \"danger\", totpConfig.formAlertbox);\n return;\n }\n\n }\n },\n services: {\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => update(context, event)\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(totpConfig.form, totpConfig.appService, 'input[type=\"checkbox\"]', 'change');\n vv_utils.AttachAndSendFormEventsToMachineService(totpConfig.form, totpConfig.appService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(totpConfig.form, totpConfig.appService, (e)=>{if (e.preventDefault) e.preventDefault()});\n\n/* totpConfig.verifyBtn.addEventListener('click', (e) => {\n totpConfig.appService.send(\"SUBMIT\");\n });*/\n\n\n initEnroll();\n}\n","import vv_utils from './vv_utils';\r\nimport {simpleInvokeMachine, fullInvokeMachine } from \"./vv_api\";\r\n\r\nfunction setupMfaEmail(emailConfig) {\r\n///////////////////////////////////////\r\n\r\n/* \r\n const emailConfig = {\r\n pageAlertbox: document.getElementById(\"add-totp-email-alert\"),\r\n formAlertbox: document.getElementById(\"add-totp-email-alert\"),\r\n verifyTitle: document.getElementById('verifyTitle'),\r\n cancelBtn: null,\r\n verifyBtn: document.getElementById('vvModalVerifyCodeUpdateSaveBtn'),\r\n resendBtn: document.getElementById('vvModalVerifyCodeResendBtn'),\r\n codeInput: document.getElementById('verificationcode'),\r\n codeInputFeedback: document.getElementById('vvModalVerifyCodeFeedback'),\r\n responseToken: \"\",\r\n rememberChk: document.getElementById('totp_remember_email'),\r\n form: document.getElementById('vvModalVerifyCodeForm'),\r\n emailService: {},\r\n verifyCodeService: {}\r\n }\r\n*/\r\n\r\n const fieldFormMap = {\r\n 'code': '#' + emailConfig.codeInput.id,\r\n }\r\n ///////////////////////////\r\n\r\n\r\n function doVerify() {\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/mfa/totp/email/send`, \r\n { \r\n \"send\": true,\r\n }, \"POST\");\r\n }\r\n\r\n const { interpret } = window.XState; \r\n emailConfig.emailService = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions : {\r\n actionFailed: (context, event) => {\r\n \r\n if (context.error && (context.error.code==='request_invalid' || context.error.code==='request_rate_limit')) {\r\n let retrySeconds = \"10\";\r\n if (context.error.response && context.error.response.retry_after_seconds && !Number.isNaN(parseInt(context.error.response.retry_after_seconds, 10))) {\r\n retrySeconds = context.error.response.retry_after_seconds;\r\n }\r\n vv_utils.showStateErrors(`The email send request can not be processed so soon, please wait ${retrySeconds} seconds and try again.`, {}, emailConfig.formAlertbox);\r\n } else {\r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , emailConfig.formAlertbox);\r\n }\r\n },\r\n actionSucceeded: (context, event)=> {\r\n \r\n emailConfig.verifyTitle.innerText = \"Please check your inbox for the verification code\";\r\n let jsonResponse = context.data;\r\n if (jsonResponse.token) {\r\n emailConfig.responseToken = jsonResponse.token;\r\n }\r\n vv_utils.clearalert(emailConfig.formAlertbox);\r\n\r\n if (jsonResponse.redirect) {\r\n vv_utils.showalert(\"Account verification succeeded, now redirecting you to our home application.\", \"primary\", emailConfig.formAlertbox);\r\n setTimeout( () => {window.location.assign(jsonResponse.redirect)} , 3000);\r\n }\r\n emailConfig.emailService.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => {return doVerify(context, event)}\r\n }\r\n })\r\n )\r\n .onTransition((state)=> {})\r\n .start();\r\n\r\n emailConfig.emailService.send(\"FETCH\");\r\n\r\n emailConfig.resendBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n emailConfig.verifyTitle.innerText = \"Re-sending now...\";\r\n emailConfig.emailService.send(\"FETCH\");\r\n })\r\n\r\n\r\n //Modal VerificationCode Update\r\n const vvModalVerifyCodeForm = emailConfig.form;\r\n const vvModalVerifyCodeFeedback = emailConfig.codeInputFeedback;\r\n const vvModalVerifyCodeUpdateSaveBtn = emailConfig.verifyBtn;\r\n\r\n const verificationcodeFieldFormMap = fieldFormMap;\r\n \r\n function checkVerificationCodeValidity() {\r\n return new Promise((resolve, reject) => {\r\n \r\n let vvModalVerifyCodeText = emailConfig.codeInput;\r\n let valid = true;\r\n\r\n //should be a 6 digit string\r\n //eslint-disable-next-line\r\n vvModalVerifyCodeText.value = vvModalVerifyCodeText.value.replace(/[^\\d]+/g, '');\r\n if (vvModalVerifyCodeText.value && vvModalVerifyCodeText.value.length === 6 && /^\\d+$/.test(vvModalVerifyCodeText.value)) {\r\n //\r\n } else {\r\n valid = false;\r\n vv_utils.makeInvalid(vvModalVerifyCodeText);\r\n }\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateVerificationCode(context, event) {\r\n \r\n //in the future pass the verificationcode value through state machine \r\n let verificationcode = emailConfig.codeInput.value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/mfa/totp/email/verify`, \r\n { \r\n \"code\": verificationcode,\r\n \"token\": emailConfig.responseToken ? emailConfig.responseToken : \"\",\r\n \"remember_device\": emailConfig.rememberChk.checked,\r\n }, \"POST\");\r\n }\r\n\r\n emailConfig.verifyCodeService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //\r\n vv_utils.clearInputValidation(vvModalVerifyCodeForm);\r\n vv_utils.clearalert(emailConfig.formAlertbox);\r\n\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", emailConfig.formAlertbox);\r\n },\r\n validationSucceeded: () => {\r\n emailConfig.verifyCodeService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n if (context.error && context.error.fields) { \r\n vv_utils.highlightFields(context.error.fields, verificationcodeFieldFormMap);\r\n }\r\n if (context.error) { \r\n \r\n vv_utils.logError(context.error);\r\n \r\n if (context.error.code === 'totp_failure') {\r\n vv_utils.showStateErrors(\"Incorrect TOTP code\", {}, emailConfig.formAlertbox);\r\n } else {\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, emailConfig.formAlertbox);\r\n }\r\n }\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n if (context.data.redirect) {\r\n window.location.assign(context.data.redirect);\r\n return;\r\n } \r\n vv_utils.showalert(\"Updated successfully.\", \"primary\", emailConfig.formAlertbox);\r\n //add a tiny delay to allow clears before modal showing\r\n setTimeout(function () {\r\n emailConfig.verifyCodeService.send(\"LOAD_COMPLETE\");\r\n }, 2000);\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n validate_service: (context, event) => checkVerificationCodeValidity(context, event),\r\n action_service: (context, event) => updateVerificationCode(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n //eslint-disable-next-line\r\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyCodeForm, emailConfig.verifyCodeService, 'input', 'input');\r\n //eslint-disable-next-line\r\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalVerifyCodeForm, emailConfig.verifyCodeService, (e)=>{if (e.preventDefault) e.preventDefault()});\r\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyCodeForm, emailConfig.verifyCodeService, 'input[type=\"checkbox\"]', 'change');\r\n\r\n emailConfig.verifyCodeService.send(\"LOAD_COMPLETE\");\r\n\r\n vvModalVerifyCodeUpdateSaveBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n emailConfig.verifyCodeService.send(\"SUBMIT\");\r\n })\r\n\r\n ///////////////////////////\r\n\r\n}","/* -------------------------------------------------------------------------- */\n/* Password Show hide */\n/* -------------------------------------------------------------------------- */\n\nconst passwordShowHideInit = async () => {\n let showPassword = true;\n let showConfirmPassword = true;\n showPassword === !showPassword;\n showConfirmPassword === !showConfirmPassword;\n\n const showHideSpan = document.querySelectorAll(\".show-hide-span\");\n if (showHideSpan) {\n showHideSpan.forEach((element, i) => {\n element.addEventListener(\"click\", () => {\n //password\n const eyeSlashIcon = document.querySelector('.eye-slash-icon');\n const mainEyeIcon = document.querySelector('.main-eye-icon');\n\n //confirmPassword slashedConfirmEyeIcon is the slashed eye icon and mainConfirmEyeIcon is the unslashed eye icon\n const slashedConfirmEyeIcon = document.querySelector('.show-confirm-password');\n const mainConfirmEyeIcon = document.querySelector('.hide-confirm-password');\n\n if (showPassword && i === 0) {\n if (document.getElementById('split-login-password')) {\n document.getElementById('split-login-password').type = 'text'\n } else {\n document.getElementById('split-password').type = 'text'\n }\n\n //remove slash svg \n eyeSlashIcon.classList.add('d-none');\n //show eye svg\n mainEyeIcon.classList.remove('d-none');\n\n // showHideIcon.classList.remove('fa-eye-slash')\n // showHideIcon.classList.add('fa-eye')\n showPassword = false;\n } else if (!showPassword && i === 0) {\n if (document.getElementById('split-login-password')) {\n document.getElementById('split-login-password').type = 'password';\n } else {\n document.getElementById('split-password').type = 'password';\n }\n\n //remove eye svg\n mainEyeIcon.classList.add('d-none');\n //show slash svg\n eyeSlashIcon.classList.remove('d-none');\n // showHideIcon.classList.remove('fa-eye')\n // showHideIcon.classList.add('fa-eye-slash')\n showPassword = true;\n } else if (showConfirmPassword && i === 1) {\n document.getElementById('split-confirm-password').type = 'text';\n\n slashedConfirmEyeIcon.classList.add('d-none');\n\n mainConfirmEyeIcon.classList.remove('d-none');\n\n // showHideConfirmPassword.classList.remove('fa-eye-slash')\n // showHideConfirmPassword.classList.add('fa-eye')\n showConfirmPassword = false;\n } else if (!showConfirmPassword && i === 1) {\n document.getElementById('split-confirm-password').type = 'password';\n\n //hide eye icon\n mainConfirmEyeIcon.classList.add('d-none');\n // show slashed icon\n slashedConfirmEyeIcon.classList.remove('d-none');\n\n // showHideConfirmPassword.classList.remove('fa-eye')\n // showHideConfirmPassword.classList.add('fa-eye-slash')\n showConfirmPassword = true;\n }\n\n }, true)\n })\n }\n};\n\n\nexport default passwordShowHideInit;\n","/* -------------------------------------------------------------------------- */\n/* Register Validation */\n/* -------------------------------------------------------------------------- */\nimport vv_utils from './vv_utils';\nimport { fullInvokeMachine, socialSignupUser } from \"./vv_api\";\nimport validateEmail from './email-validator';\nimport {redirectRequest} from \"./vv_c\";\nimport requestWebAuthn from './vv_webauthn';\n\n/* eslint-disable no-param-reassign */\n\nconst registerValidationInit = () => {\n\n //TODO find a better way to share this between submit event and the perfom action call\n let submitter = { 'value':'', 'form': {} };\n const requireTerms=false;\n\n const fieldFormMap = {\n \"email\": \"#split-email\",\n \"password\": \"#split-password\"\n }\n\n const alertbox = document.getElementById(\"split-alert\");\n\n\n function prefillEmail() {\n const urlparams = new URLSearchParams(window.location.search);\n const queryEmail = urlparams.get('email');\n if (queryEmail && validateEmail(queryEmail)) {\n document.getElementById('split-email').value = queryEmail;\n }\n }\n\n /* eslint-disable */\n /*\n This is a bit unique because it does a redirect on the normal happy path\n Example input\n let userstate = { 'username': email, 'password': password, 'provider': submitter.value, 'profile': {'email': email, 'name': name} };\n */\n /* eslint-enable */\n const registerUser = (userstate) => {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/signup`, userstate, 'POST', vv_utils.defaultTimeout);\n }\n\n //InboundAlerts\n let alertText = \"\";\n\n function readInboundQueryResult() {\n //Inbound query string codes \n const urlparams = new URLSearchParams(window.location.search);\n const code = urlparams.get('error');\n\n //some error with OIDC, display error\n if (code) {\n if (code && vv_utils.messageMap[code]) {\n alertText = vv_utils.messageMap[code];\n } else {\n alertText = \"There was an unexpected error adding the social identity\";\n }\n }\n }\n\n function showAndResetInboundQueryAlert() {\n if (alertText) {\n vv_utils.showalert(alertText, \"danger\", alertbox);\n }\n alertText = \"\";\n }\n \n //This had to be done manually instead of using bootstrap because we\n //added a custom 'eye' icon through a container div that did not allow for a \n //feedback div directly under the input tag like normal\n function clearPasswordFeedback() {\n let passwordfeedback = document.getElementById('split-password-feedback');\n\n passwordfeedback.style.display = 'none';\n \n\n // let confirmPassword = document.getElementById('split-confirm-password');\n //confirmPassword.classList.remove(':valid');\n //confirmPassword.classList.remove(':invalid');\n //confirmPassword.classList.remove('is-invalid');\n // confirmPassword.setCustomValidity('');\n\n\n // let password = document.getElementById('split-password');\n // password.classList.remove(':valid');\n // password.classList.remove(':invalid');\n\n }\n\n\n \n let form = document.getElementById(\"register-form\");\n\n function checkValidity () {\n return new Promise(function(resolve, reject){\n let valid = true;\n form.classList.remove(\"was-validated\");\n //const name = document.getElementById('split-name');\n const email = document.getElementById('split-email')\n const password = document.getElementById('split-password');\n const passwordfeedback = document.getElementById('split-password-feedback');\n const terms = document.getElementById('cover-register-checkbox');\n\n \n\n/* if (name.value && (name.value.length <= 255)) {\n //do nothing bootstrap handles the clearing\n } else {\n \n vv_utils.makeInvalid(name);\n valid = false;\n }*/\n if(email.value && validateEmail(email.value) && (email.value.length <= 320)) {\n //do nothing bootstrap handles the clearing\n } else {\n \n vv_utils.makeInvalid(email);\n valid = false;\n }\n\n // if(password.value === \"\" && window.vv_tenant_data.allow_hardware){\n // submitter.value = 'passwordless';\n // }\n\n if(password.value !== \"\" && submitter.value === 'passwordless'){\n passwordfeedback.innerText = \"password must be blank to use a passkey\"; \n vv_utils.makeInvalid(password);\n passwordfeedback.style.display = 'block';\n valid = false;\n }\n\n if(submitter.value === 'vv'){\n if (password.value === \"\") {\n //do nothing, a blank password can be fine we will assume it is passwordless\n }\n else if (password.value && (password.value.length >= 10) && (password.value.length <= 255)) {\n clearPasswordFeedback();\n } else {\n vv_utils.makeInvalid(password);\n passwordfeedback.innerText = 'Please enter a valid password between 10 and 255 characters';\n passwordfeedback.style.display = 'block';\n \n valid = false;\n }\n }\n if (requireTerms) {\n if (window.vv_tenant_data.terms_url || window.vv_tenant_data.privacy_policy_url) {\n if (terms.checked) {\n //do nothing bootstrap handles the clearing\n } else {\n vv_utils.makeInvalid(terms)\n \n valid = false;\n }\n }\n }\n \n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n\n\n function registerFormSubmit(e, service){\n if (e.preventDefault) e.preventDefault();\n let currentState = service.getSnapshot().value;\n \n\n //note safari does not support e.submitter but we use a polyfill\n if (e.submitter) {\n submitter.value = String(e.submitter.value);\n submitter.form.id = String(e.submitter.form.id);\n }\n // //hopefully for the safari case we rely on the button click event\n \n\n if (currentState && (currentState.toLowerCase() === 'invalid' || currentState.toLowerCase() === 'failed' )){\n return \"input\";\n } \n return \"\";\n }\n\n function doPasswordlessRegister(servError, service){\n let email = document.getElementById('split-email').value;\n //let name = document.getElementById('split-name').value;\n let terms = [];\n\n if (document.getElementById('cover-register-checkbox') && \n document.getElementById('cover-register-checkbox').checked && \n window.vv_tenant_data.terms_url) {\n terms.push(\"terms\");\n }\n if (document.getElementById('cover-register-checkbox') && \n document.getElementById('cover-register-checkbox').checked && \n window.vv_tenant_data.privacy_policy_url) {\n terms.push(\"privacy\");\n }\n\n const beginReq = {\n 'name' : email.split(\"@\")[0],\n 'email': email,\n 'agreements': requireTerms ? terms : [\"terms\", \"privacy\"]\n }\n return requestWebAuthn(beginReq, \"register\", alertbox);\n }\n\n function doCredRegister(servError, service) {\n //let name = document.getElementById('split-name').value;\n let email = document.getElementById('split-email').value;\n let password = document.getElementById('split-password').value;\n let terms = [];\n\n if (document.getElementById('cover-register-checkbox') && \n document.getElementById('cover-register-checkbox').checked && \n window.vv_tenant_data.terms_url) {\n terms.push(\"terms\");\n }\n if (document.getElementById('cover-register-checkbox') && \n document.getElementById('cover-register-checkbox').checked && \n window.vv_tenant_data.privacy_policy_url) {\n terms.push(\"privacy\");\n }\n\n // eslint-disable-next-line\n let userstate = {\n 'email': email,\n 'password': password,\n 'provider': submitter.value,\n 'agreements': requireTerms ? terms : [\"terms\", \"privacy\"],\n 'profile': { 'name': \"\"}\n };\n return registerUser(userstate)\n }\n\n //TODO figure out a better way to grab the submitter of which form was clicked\n function socialFormSubmit(e) {\n if (e.preventDefault) e.preventDefault();\n //note safari does not support e.submitter but we use a polyfill\n if (e.submitter) {\n submitter.value = String(e.submitter.value);\n submitter.form.id = String(e.submitter.form.id);\n }\n //hopefully for the safari case we rely on the button click event\n }\n\n function doSocialSignup(context, event) {\n let userstate = { 'email': '', 'password': '', 'provider': submitter.value };\n return socialSignupUser(userstate);\n }\n\n const { interpret } = window.XState;\n\n function handleRegister (){\n \n \n\n let password = document.getElementById('split-password').value;\n // create an override so that if the submitter is still vv but there is no password then assume\n // the user meant to do passwordless\n let passwordless_override = submitter.value === \"vv\" && password === \"\";\n\n\n if (submitter.form.id === 'register-form' && submitter.value === 'vv' && password !== \"\") {\n return doCredRegister();\n } else if (submitter.form.id === 'social-form') {\n return doSocialSignup();\n } else if (submitter.form.id === 'register-form' && (submitter.value === 'passwordless' || passwordless_override) ){\n return doPasswordlessRegister();\n\n } else {\n throw new vv_utils.GenericException(\"invalid submitter\");\n }\n }\n\n if (form && form !== null) {\n const validationService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loading: () => {\n readInboundQueryResult();\n }, \n loaded: () => {\n prefillEmail();\n showAndResetInboundQueryAlert();\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(form);\n vv_utils.clearalert(alertbox);\n clearPasswordFeedback();\n },\n validationFailed: (context, event) => {\n \n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\n },\n validationSucceeded: () => {\n validationService.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n if(context.error.fields){\n const invalidIds = context.error.fields.map((field) => fieldFormMap[field]);\n invalidIds.forEach((id)=>{\n vv_utils.makeInvalid(id);\n })\n }\n \n if (context.error.code && ( context.error.code === \"email_credential_is_password\" \n || context.error.code === \"email_credential_is_social\"\n || context.error.code === \"email_unknown\")) {\n //do nothing, these aren't worth logging\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\n } else if (context.error.code && ( context.error.code === \"requires_approval\")) {\n vv_utils.showalert(\"Registration is submitted, and is now pending approval.\", \"primary\", alertbox);\n } else {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\n }\n \n },\n //eslint-disable-next-line\n actionSucceeded: (context, event)=> {\n \n const registeredGoalId = \"2\";\n vv_utils.addTracking(registeredGoalId, \"\");\n //delay for 1 second the redirect call so that tracking can happen\n setTimeout(() => {\n const jsonResponse = window._.pick(context.data , Object.keys(redirectRequest));\n window.location.assign(jsonResponse.redirect);\n }, \"1000\")\n validationService.send(\"LOAD_COMPLETE\");\n \n }\n },\n services: {\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => {return handleRegister(context, event)}\n }\n })\n )\n .onTransition((state) => {})\n .start();\n\n //eslint-disable-next-line\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(form, validationService, registerFormSubmit);\n\n //We only need to attach this submit event manually to enable the social form\n const socialform = document.getElementById(\"social-form\");\n if (socialform) {\n socialform.addEventListener('submit', (event) => {\n socialFormSubmit(event);\n validationService.send(\"OVERRIDE\");\n validationService.send(\"PERFORM_ACTION\");\n });\n }\n\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input[type=\"checkbox\"]', 'change');\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input', 'input');\n \n // //set an eventhandler for the submit buttons to capture which was clicked\n // let nodeListToAddEvents = document.querySelectorAll('button[type=\"submit\"]');\n // if (nodeListToAddEvents && nodeListToAddEvents.length > 0 ) {\n // Object.values(nodeListToAddEvents).forEach(function(node) {\n // \n // node.addEventListener('click', (event) => {\n // if (node.value && node.form) {\n // submitter.value = String(node.value);\n // submitter.form.id = String(node.form.id);\n // // if(node.value === \"passwordless\"){\n // // const password = document.getElementById('split-password');\n // // clearPasswordFeedback();\n // // password.classList.remove(\"is-invalid\");\n // // }\n // } else {\n // submitter.value = 'vv';\n // submitter.form.id = 'register-form';\n // }\n // \n // })\n // })\n // }\n\n const passwordSection = document.getElementById(\"registerPasswordSection\") \n const optionText = document.getElementById(\"registerOptionText\");\n const fidoSection = document.getElementById(\"fidoSection\");\n const passswordRegisterBtnSection = document.getElementById(\"btn-password-register-section\");\n\n if(!window.vv_tenant_data.allow_passwords && !window.vv_tenant_data.allow_hardware){\n optionText.classList.add(\"d-none\");\n fidoSection.classList.add(\"d-none\");\n passwordSection.classList.add(\"d-none\");\n passswordRegisterBtnSection.classList.add(\"d-none\");\n }\n\n if(!window.vv_tenant_data.allow_passwords && window.vv_tenant_data.allow_hardware) {\n optionText.classList.add(\"d-none\")\n passwordSection.classList.add(\"d-none\")\n }\n\n if(window.vv_tenant_data.allow_passwords && !window.vv_tenant_data.allow_hardware){\n optionText.classList.add(\"d-none\")\n fidoSection.classList.add(\"d-none\");\n }\n\n const socialbuttons = document.getElementById(\"socialbuttons\");\n if (socialbuttons) {\n if (window.vv_tenant_data.allow_social) {\n socialbuttons.classList.remove('d-none');\n } else {\n socialbuttons.parentElement.removeChild(socialbuttons);\n }\n }\n\n //After the state machince is fully configured, move out of loading\n validationService.send(\"LOAD_COMPLETE\");\n }\n}\n\nexport default registerValidationInit;\n","/* -------------------------------------------------------------------------- */\n/* Reset Validation */\n/* -------------------------------------------------------------------------- */\nimport vv_utils from './vv_utils';\nimport { fullInvokeMachine } from \"./vv_api\";\nimport {redirectRequest} from \"./vv_c\";\n\nconst resetValidationInit = () => {\n const fieldFormMap = {\n \"password\": \"#split-password\",\n }\n\n const alertbox = document.getElementById(\"split-alert\");\n\n const urlparams = new URLSearchParams(window.location.search);\n const token = urlparams.get('token');\n\n /* eslint-disable */\n /*\n This is a bit unique because it does a redirect on the normal happy path\n Example input\n let userstate = { 'username': email, 'password': password, 'provider': submitter.value, 'profile': {'email': email, 'name': name} };\n */\n /* eslint-enable */\n const resetUser = (userstate) => {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/auth/password/reset`, userstate, 'POST', vv_utils.defaultTimeout);\n }\n \n //This had to be done manually instead of using bootstrap because we\n //added a custom 'eye' icon through a container div that did not allow for a \n //feedback div directly under the input tag like normal\n function clearPasswordFeedback() {\n let passwordfeedback = document.getElementById('split-password-feedback');\n\n passwordfeedback.style.display = 'none';\n\n let confirmpasswordfeedback = document.getElementById('split-confirm-password-feedback');\n\n confirmpasswordfeedback.style.display = 'none';\n \n\n let confirmPassword = document.getElementById('split-confirm-password');\n //confirmPassword.classList.remove(':valid');\n //confirmPassword.classList.remove(':invalid');\n //confirmPassword.classList.remove('is-invalid');\n confirmPassword.setCustomValidity('');\n\n\n let password = document.getElementById('split-password');\n password.classList.remove(':valid');\n password.classList.remove(':invalid');\n\n }\n\n function checkValidity(errorCB){\n return new Promise((resolve, reject)=>{\n let valid = true;\n let password = document.getElementById('split-password');\n let passwordfeedback = document.getElementById('split-password-feedback');\n let confirmPassword = document.getElementById('split-confirm-password');\n let confirmPasswordFeedback = document.getElementById('split-confirm-password-feedback');\n\n // eslint-disable-next-line\n if (password.value && confirmPassword.value && ( password.value === confirmPassword.value) && (password.value.length >= 10) && (password.value.length <= 255)) {\n clearPasswordFeedback();\n } else {\n vv_utils.makeInvalid(password);\n vv_utils.makeInvalid(confirmPassword);\n if (!(password.value === confirmPassword.value)) {\n //custome rules for confirm means we need to also set :invalid on the field \n //and not just the feedback\n //confirmPassword.classList.remove(':valid');\n //confirmPassword.classList.remove('is-valid');\n\n confirmPassword.setCustomValidity('invalid');\n\n confirmPasswordFeedback.style.display = 'block';\n confirmPasswordFeedback.innerText = \"Password and confirm password do not match\";\n \n }\n else {\n // see the comments above clearPasswordFeedback\n\n passwordfeedback.style.display = 'block';\n //passwordfeedback.innerText = \"Please enter a valid password\";\n \n }\n \n valid = false;\n }\n \n if (token === '' || !token){\n valid = false;\n }\n\n if(valid){\n return resolve(\"valid\");\n } else {\n if(token === '' || !token){\n throw new vv_utils.ShowableException(\"Invaild token, try to copy and paste the link again.\");\n } else {\n return reject(new Error('not valid'));\n }\n }\n })\n }\n\n function resetFormSubmit(e){\n if (e.preventDefault) e.preventDefault();\n }\n\n function doReset(context, event) {\n let password = document.getElementById('split-password').value;\n \n // eslint-disable-next-line\n let userstate = { 'password': password, 'token': token };\n return resetUser(userstate);\n }\n\n const { interpret } = window.XState;\n\n const form = document.getElementById(\"reset-form\");\n if (form && form !== null) {\n const validationService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: () => {\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(form);\n vv_utils.clearalert(alertbox);\n clearPasswordFeedback();\n },\n validationFailed: (context, event) => {\n \n vv_utils.showStateErrors(\"There are validation errors, fix fields highlighted in red and submit again.\", context.error , alertbox);\n },\n validationSucceeded: () => {\n validationService.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n \n if(context.error.fields){\n const invalidIds = context.error.fields.map((field) => fieldFormMap[field]);\n invalidIds.forEach((id)=>{\n vv_utils.makeInvalid(id);\n })\n }\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\n },\n //eslint-disable-next-line\n actionSucceeded: (context, event) => {\n const jsonResponse = window._.pick(context.data , Object.keys(redirectRequest));\n window.location.assign(jsonResponse.redirect);\n validationService.send(\"LOAD_COMPLETE\");\n }\n },\n services: {\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => {return doReset(context, event)}\n }\n })\n )\n .onTransition((state) => {})\n .start();\n \n //eslint-disable-next-line\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(form, validationService, resetFormSubmit);\n\n vv_utils.AttachAndSendFormEventsToMachineService(form, validationService, 'input', 'input');\n \n //After the state machince is fully configured, move out of loading\n validationService.send(\"LOAD_COMPLETE\");\n }\n\n}\n\nexport default resetValidationInit;\n","import vv_utils from './vv_utils';\nimport { simpleInvokeMachine, fullInvokeMachine, fullLoadingInvokeMachine } from \"./vv_api\";\nimport validateEmail from './email-validator';\nimport requestWebAuthn from './vv_webauthn';\nimport setupTotp from './vv_totp';\nimport { redirectRequest } from './vv_c';\n\nconst settingsInit_onStart = () => {\n const tenant = window.vv_tenant_data;\n\n //Accordions\n const passwordAccordion = document.getElementById(\"password-accordion\");\n const socialAccordion = document.getElementById(\"social-accordion\");\n const fidoAccordion = document.getElementById(\"fido-accordion\");\n const totpAccordion = document.getElementById(\"totp-accordion\");\n\n const { interpret } = window.XState;\n\n //Alertboxs\n const profileAlertbox = document.getElementById(\"profile-alert\");\n const credAlertbox = document.getElementById(\"credAlert\");\n\n //FieldMaps\n const profileFieldFormMap = {\n 'profileEmail': '#profileEmail',\n 'profileName': '#profileName'\n }\n\n const passwordFieldFormMap = {\n 'password': '#password',\n }\n\n const verificationcodeFieldFormMap = {\n 'code': '#verificationcode',\n }\n\n const issuerMap = {\n 'https://accounts.google.com': 'Google',\n 'https://login.microsoftonline.com': 'Microsoft',\n 'https://appleid.apple.com': 'Apple'\n }\n\n //used as a catch-all to allow button elements to submit a form without the ACTION\n function formSubmit(e) {\n if (e.preventDefault) e.preventDefault();\n }\n\n //Buttons\n const vvPasswordUpdateBtn = document.getElementById(\"vvPasswordUpdateBtn\");\n const vvPasswordAddBtn = document.getElementById(\"vvPasswordAddBtn\");\n const vvPasswordRemoveBtn = document.getElementById(\"vvPasswordRemoveBtn\");\n const vvSessionResetBtn = document.getElementById(\"session-reset-btn\");\n\n ///////////////////////////\n\n //shared confirmation modal\n const confirmModalBS = new window.bootstrap.Modal(document.getElementById(\"vv-confirm-modal\"), {});\n const confirmBtn = document.getElementById(\"confirmModalBtn\");\n\n //objects that implement 'Event', meaning they have a handleEvent method\n //this is assigned later dynamically\n let confirmHandler = {\n handleEvent(event) { }\n }\n let cancelHandler = {\n handleEvent(event) { }\n }\n\n confirmBtn.addEventListener(\"click\", confirmHandler);\n document.getElementById(\"close-confirm\").addEventListener(\"click\", cancelHandler);\n\n function confirmAction(id, type, okCB, cancelCB) {\n \n \n \n if (type === \"fido-enable\") {\n document.getElementById(\"confirmText\").innerText = \"Are you sure you want to enable this credential?\";\n } else if (type === \"fido-disable\") {\n document.getElementById(\"confirmText\").innerText = \"Are you sure you want to disable this credential?\";\n } else if (type === \"totp-enable\") {\n document.getElementById(\"confirmText\").innerText = \"Are you sure you want to enable this Authenticator?\";\n } else if (type === \"totp-disable\") {\n document.getElementById(\"confirmText\").innerText = \"Are you sure you want to disable this Authenticator?\";\n } else if (type === \"session-reset\") {\n document.getElementById(\"confirmText\").innerText = \"Would you like to reset your current login sessions? NOTE: This will log you out now. Other devices may still have local sessions that will logout after expiration.\";\n } else if (type === \"email\") {\n document.getElementById(\"confirmText\").innerText = `Are you sure you want to update this email to ${id} ?`;\n } else {\n document.getElementById(\"confirmText\").innerText = \"Are you sure you want to delete this credential?\";\n }\n\n confirmBtn.setAttribute(\"data-submission-type\", type);\n confirmBtn.setAttribute(\"data-id\", id);\n //eslint-disable-next-line\n confirmHandler.handleEvent = function (event) { okCB(event); confirmModalBS.hide(); };\n //eslint-disable-next-line\n cancelHandler.handleEvent = function (event) { cancelCB(event); confirmModalBS.hide(); };\n\n confirmModalBS.show();\n }\n\n ///////////////////////////\n\n //Load Data Service\n let profileState = {};\n let socialAlertText = \"\";\n let socialAlertType = \"\";\n\n function readInboundQueryResult() {\n //Inbound query string codes \n const urlparams = new URLSearchParams(window.location.search);\n const code = urlparams.get('error');\n const socialConnectResponse = urlparams.get('social_connect');\n\n //open accordion if there is a social_connect Repsonse\n if (socialConnectResponse) {\n const collapseSocial = document.getElementById('collapseSocial')\n //const bsCollapse = new window.bootstrap.Collapse(socialAccordion);\n collapseSocial.classList.add(\"show\");\n\n //some error with OIDC, display error and open social accordion\n if (socialConnectResponse.toLowerCase() === 'error') {\n\n if (code && vv_utils.messageMap[code]) {\n socialAlertText = vv_utils.messageMap[code];\n } else {\n socialAlertText = \"There was an unexpected error adding the social identity\";\n }\n socialAlertType = \"danger\";\n\n } else if (socialConnectResponse.toLowerCase() === 'success') {\n //Normal flow, display a success on the social alert and open accordion\n socialAlertText = \"The social identity was added successfully\";\n socialAlertType = \"primary\";\n\n } else {\n vv_utils.logError(new Error(\"Unknown social_connect: \" + socialConnectResponse));\n }\n }\n }\n\n function showAndResetInboundQueryAlert() {\n if (socialAlertText && socialAlertType) {\n vv_utils.showalert(socialAlertText, socialAlertType, credAlertbox);\n }\n socialAlertText = \"\";\n socialAlertType = \"\";\n }\n\n function checkValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let valid = true;\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function getCreds(context, event) {\n \n //return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials?error=social3`, {}, 'GET', vv_utils.defaultTimeout);\n //return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials?error=social`, {}, 'GET',vv_utils.defaultTimeout);\n //return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials?error=none`, {}, 'GET',vv_utils.defaultTimeout);\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials`, {}, 'GET',vv_utils.defaultTimeout);\n }\n\n function getProfile(context, event) {\n \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/profile`, {}, 'GET', vv_utils.defaultTimeout);\n }\n\n function loadData(context, event) {\n showAndResetInboundQueryAlert();\n return Promise.all([getCreds(context, event), getProfile(context, event)]);\n }\n\n //this is assigned later\n let createFidoTable = () => { }\n let createSocialTable = () => { }\n let createTotpTable = () => { }\n\n\n function createProfile(data) {\n document.getElementById(\"profileName\").value = data.name ? data.name : \"\" ;\n document.getElementById(\"profileEmail\").value = data.email;\n }\n\n const dataLoadService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loading: () => {\n readInboundQueryResult();\n },\n loaded: () => {\n \n },\n message: (context, event) => {\n //vv_utils.clearInputValidation(form);\n vv_utils.clearalert(profileAlertbox);\n vv_utils.clearalert(credAlertbox);\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", profileAlertbox);\n },\n validationSucceeded: () => {\n dataLoadService.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, profileAlertbox);\n },\n actionSucceeded: (context, event) => {\n const jsonResponse = context.data;\n profileState = jsonResponse[1] ? jsonResponse[1] : {};\n //eslint-disable-next-line\n let fidoList = jsonResponse[0].data ? jsonResponse[0].data.filter((cred) => cred.type === \"v1auth.WebauthnCredential\") : [];\n let socialList = jsonResponse[0].data ? jsonResponse[0].data.filter((cred) => cred.type === \"v1auth.SocialCredential\") : [];\n let totpList = jsonResponse[0].data ? jsonResponse[0].data.filter((cred) => cred.type === \"v1auth.TotpCredential\") : [];\n \n \n \n //eslint-disable-next-line\n let passwordData = jsonResponse[0].data ? jsonResponse[0].data.filter((cred) => cred.type === \"v1auth.PasswordCredential\") : [];\n\n if (passwordData[0] && passwordData[0].id.toLowerCase() === \"password\") {\n document.getElementById(\"password-updated-at\").innerText = new Date(passwordData[0].updated_at).toLocaleDateString();\n document.querySelector(\".password-add-section\").classList.add(\"d-none\");\n document.getElementById(\"password-type\").innerText = \"Password last updated on:\";\n document.querySelector(\"#vvPasswordUpdateBtn\").classList.remove(\"d-none\");\n document.querySelector(\"#vvPasswordRemoveBtn\").classList.remove(\"d-none\");\n } else {\n document.querySelector(\".password-add-section\").classList.remove(\"d-none\");\n document.getElementById(\"password-type\").innerText = \"No password registerd, click 'New' to set a password\";\n document.getElementById(\"password-updated-at\").innerText = \"\";\n document.querySelector(\"#vvPasswordUpdateBtn\").classList.add(\"d-none\");\n document.querySelector(\"#vvPasswordRemoveBtn\").classList.add(\"d-none\");\n }\n createSocialTable(socialList);\n createFidoTable(fidoList);\n createTotpTable(totpList);\n createProfile(jsonResponse[1] ? jsonResponse[1] : {});\n dataLoadService.send(\"LOAD_COMPLETE\");\n }\n },\n services: {\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => { return loadData(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n dataLoadService.send(\"LOAD_COMPLETE\");\n dataLoadService.send(\"SUBMIT\");\n\n ///////////////////////////\n\n //ModalEdit - FIDO rename\n const vvModalEditAlert = document.getElementById(\"vvModalEditAlert\");\n const vvModalEdit = document.getElementById(\"vvModalEdit\");\n const vvModalEditForm = document.getElementById(\"vvModalEditForm\");\n const vvModalEditHeader = document.getElementById(\"vvModalEditHeader\");\n const vvModalEditText = document.getElementById(\"vvModalEditText\");\n const vvModalEditFeedback = document.getElementById(\"vvModalEditFeedback\");\n const vvModalEditBtn = document.getElementById(\"vvModalEditBtn\");\n\n let modalEditBS = new window.bootstrap.Modal(document.getElementById(\"vvModalEdit\"), {});\n\n //FIDO rename\n function checkCredValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let valid = true;\n\n \n \n \n \n let nameElement = document.getElementById(\"vvModalEditText\");\n if (nameElement.value.length <= 255) {\n //\n } else {\n vv_utils.makeInvalid(nameElement);\n valid = false;\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function loadCred(context, event) {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}`, {}, 'GET', vv_utils.defaultTimeout);\n }\n\n function updateCred(context, event) {\n \n \n \n \n let updatestate = context.data;\n updatestate.friendly_name = document.getElementById(\"vvModalEditText\").value;\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}`, updatestate, 'POST', vv_utils.defaultTimeout);\n }\n\n const credService = interpret(\n fullLoadingInvokeMachine.withConfig({\n actions: {\n loaded: (context, event) => {\n \n document.getElementById(\"vvModalEditText\").value = context.data.friendly_name ? context.data.friendly_name : \"\";\n vv_utils.clearInputValidation(vvModalEditForm);\n vv_utils.clearalert(vvModalEditAlert);\n vv_utils.clearalert(credAlertbox);\n },\n message: (context, event) => {\n vv_utils.clearInputValidation(vvModalEditForm);\n vv_utils.clearalert(vvModalEditAlert);\n vv_utils.clearalert(credAlertbox);\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", vvModalEditAlert);\n },\n validationSucceeded: (context, event) => {\n \n \n \n credService.send(\"PERFORM_ACTION\", { \"id\": context.data.id, });\n },\n actionFailed: (context, event) => {\n \n //TODO make this for cred object not password\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, passwordFieldFormMap);\n }\n if (context.error) { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, vvModalEditAlert);\n }\n },\n actionSucceeded: (context, event) => {\n vv_utils.showalert(\"Updated successfully.\", \"primary\", credAlertbox);\n modalEditBS.hide();\n \n //add a tiny delay to allow save to finish before modal showing\n dataLoadService.send(\"SUBMIT\");\n credService.send(\"RE_INIT\");\n }\n },\n services: {\n loading_service: (context, event) => loadCred(context, event),\n validate_service: (context, event) => checkCredValidity(context, event),\n action_service: (context, event) => { return updateCred(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalEditForm, credService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalEditForm, credService, formSubmit);\n\n vvModalEdit.addEventListener('hidden.bs.modal', function (event) {\n credService.send(\"RE_INIT\");\n })\n\n\n\n ///////////////////////////\n\n //Credential Delete\n function removeCred(context, event) {\n \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}`, {}, \"DELETE\");\n }\n\n const removeCredMachine = interpret(\n simpleInvokeMachine.withConfig({\n actions: {\n actionFailed: (context, event) => {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, credAlertbox);\n confirmModalBS.hide();\n removeCredMachine.send(\"IDLE\");\n },\n actionSucceeded: (context, event) => {\n \n let jsonResponse = context.data;\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\n confirmModalBS.hide();\n vv_utils.showalert(\"Removed successfully.\", \"primary\", credAlertbox);\n removeCredMachine.send(\"IDLE\");\n \n dataLoadService.send(\"SUBMIT\");\n }\n },\n services: {\n //eslint-disable-next-line\n action_service: (context, event) => { return removeCred(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n ///////////////////////////\n\n //Reset Session\n function resetSession(context, event) {\n \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/sessions/clear`, {}, \"POST\");\n }\n\n const resetSessionMachine = interpret(\n simpleInvokeMachine.withConfig({\n actions: {\n actionFailed: (context, event) => {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, credAlertbox);\n confirmModalBS.hide();\n resetSessionMachine.send(\"IDLE\");\n },\n actionSucceeded: (context, event) => {\n \n let jsonResponse = context.data;\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\n confirmModalBS.hide();\n resetSessionMachine.send(\"IDLE\");\n vv_utils.showalert(\"Session reset succeeded, now redirecting you to our login page.\", \"primary\", credAlertbox);\n setTimeout( () => {window.location.assign(\"/login\")} , 3000); \n \n }\n },\n services: {\n //eslint-disable-next-line\n action_service: (context, event) => { return resetSession(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n \n vvSessionResetBtn.addEventListener('click', () => {\n let id = \"session-reset\";\n confirmAction(id, \"session-reset\", (e) => {\n resetSessionMachine.send('FETCH', { 'id': id });\n }, (e) => { });\n })\n\n const vvSessionResetForm = document.getElementById(\"session-reset-form\");\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvSessionResetForm, resetSessionMachine, formSubmit);\n ///////////////////////////\n\n\n //Cred disable/enable toggle - FIDO\n function toggleCredStatus(context, event) {\n \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}/${event.status}`, {}, \"POST\");\n }\n\n function assignToggle(faIcon, on) {\n \n \n if (on) {\n //faIcon.setAttribute(\"data-icon\", \"toggle-on\");\n faIcon.classList.remove(\"rotate-180\");\n faIcon.classList.add(\"text-primary\");\n } else {\n //faIcon.setAttribute(\"data-icon\", \"toggle-off\");\n faIcon.classList.add(\"rotate-180\");\n faIcon.classList.remove(\"text-primary\");\n faIcon.setAttribute(\"data-icon\", \"toggle-off\");\n }\n }\n\n const toggleCredMachine = interpret(\n simpleInvokeMachine.withConfig({\n actions: {\n actionFailed: (context, event) => {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, credAlertbox);\n },\n actionSucceeded: (context, event) => {\n \n let selector = 'span.fa-toggle[data-fido-id=\"' + context.data.id + '\"]';\n let icon = fidoAccordion.querySelectorAll(selector);\n \n \n \n \n \n \n assignToggle(icon[0].querySelector(\"svg\"), !context.data.disabled);\n let jsonResponse = context.data;\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\n vv_utils.showalert(\"Updated successfully.\", \"primary\", credAlertbox);\n toggleCredMachine.send(\"IDLE\");\n }\n },\n services: {\n //eslint-disable-next-line\n action_service: (context, event) => { return toggleCredStatus(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n // function toggle(event) {\n // const id = event.currentTarget.getAttribute('data-fido-id');\n // let faIcon = event.currentTarget.getElementsByTagName(\"svg\")[0];\n // let on = !faIcon.classList.contains(\"rotate-180\");\n // \n // confirmAction(id, on ? \"fido-disable\" : \"fido-enable\", (e) => {\n // \n // \n // if (on) {\n // toggleCredMachine.send(\"FETCH\", { 'id': id, status: 'disable' });\n // } else {\n // toggleCredMachine.send(\"FETCH\", { 'id': id, status: 'enable' });\n // }\n // }, (e) => { });\n // }\n\n ///////////////////////////\n\n //Modal Password Update\n const vvModalPasswordAlert = document.getElementById('vvModalPasswordAlert');\n const vvModalPassword = document.getElementById(\"vvModalPassword\");\n const vvModalPasswordForm = document.getElementById(\"vvModalPasswordForm\");\n const vvModalPasswordHeader = document.getElementById('vvModalPasswordHeader');\n const vvModalPasswordFeedback = document.getElementById('vvModalPasswordFeedback');\n const vvModalPasswordUpdateSaveBtn = document.getElementById('vvModalPasswordUpdateSaveBtn');\n\n const passwordModalBS = new window.bootstrap.Modal(document.getElementById('vvModalPassword'), {});\n\n //This had to be done manually instead of using bootstrap because we\n //added a custom 'eye' icon through a container div that did not allow for a \n //feedback div directly under the input tag like normal\n function clearPasswordFeedback() {\n vvModalPasswordFeedback.style.display = 'none';\n }\n\n function checkPasswordValidity() {\n return new Promise((resolve, reject) => {\n \n let vvModalPasswordText = document.getElementById(\"split-password\");\n let valid = true;\n\n //eslint-disable-next-line\n if (vvModalPasswordText.value && vvModalPasswordText.value.length >= 10 && vvModalPasswordText.value.length <= 255) {\n //\n } else {\n valid = false;\n vvModalPasswordFeedback.style.display = \"block\";\n vv_utils.makeInvalid(vvModalPasswordText);\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function updatePassword(context, event) {\n \n //in the future pass the password value through state machine \n let password = document.getElementById('split-password').value;\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/password/update`, { \"password\": password }, \"POST\");\n }\n\n const updatePasswordMachine = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: () => {\n \n vv_utils.clearalert(vvModalPasswordAlert);\n vv_utils.clearalert(credAlertbox);\n },\n message: (context, event) => {\n //\n vv_utils.clearInputValidation(vvModalPasswordForm);\n clearPasswordFeedback();\n vv_utils.clearalert(vvModalPasswordAlert);\n vv_utils.clearalert(credAlertbox);\n //vvModalPasswordFeedback.style.display = \"none\";\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", vvModalPasswordAlert);\n },\n validationSucceeded: () => {\n updatePasswordMachine.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, passwordFieldFormMap);\n }\n if (context.error) { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, vvModalPasswordAlert);\n }\n },\n actionSucceeded: (context, event) => { \n passwordModalBS.hide();\n dataLoadService.send(\"SUBMIT\");\n //add a tiny delay to allow clears before modal showing\n setTimeout(function () {\n updatePasswordMachine.send(\"LOAD_COMPLETE\");\n }, 2000);\n //add a tiny delay to allow the alert box to show before prompting confirm\n setTimeout(function () {\n confirmAction(\"session-reset\", \"session-reset\", (e) => {\n resetSessionMachine.send('FETCH', { 'id': \"session-reset\" });\n }, (e) => { });\n }, 1100); \n\n //show the success alert after the confirm modal is launched\n vv_utils.showalert(\"Updated successfully.\", \"primary\", credAlertbox);\n }\n },\n services: {\n //eslint-disable-next-line\n validate_service: (context, event) => checkPasswordValidity(context, event),\n action_service: (context, event) => updatePassword(context, event)\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n //eslint-disable-next-line\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalPasswordForm, updatePasswordMachine, 'input', 'input');\n //eslint-disable-next-line\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalPasswordForm, updatePasswordMachine, formSubmit);\n\n updatePasswordMachine.send(\"LOAD_COMPLETE\");\n\n vvModalPassword.addEventListener('hidden.bs.modal', function (event) {\n //add a tiny delay to allow clears before modal showing\n setTimeout(function () {\n updatePasswordMachine.send(\"CHANGE\");\n vvModalPasswordForm.reset();\n }, 2000);\n })\n\n vvModalPasswordUpdateSaveBtn.addEventListener('click', (e) => {\n e.preventDefault();\n updatePasswordMachine.send(\"SUBMIT\");\n })\n\n vvPasswordUpdateBtn.addEventListener('click', () => {\n vvModalPasswordHeader.innerText = \"Update Password\";\n vvModalPasswordUpdateSaveBtn.innerText = \"Update\";\n passwordModalBS.show();\n })\n\n vvPasswordRemoveBtn.addEventListener('click', () => {\n let id = \"password\";\n confirmAction(id, \"password\", (e) => {\n removeCredMachine.send('FETCH', { 'id': id });\n }, (e) => { });\n })\n\n vvPasswordAddBtn.addEventListener('click', () => {\n passwordModalBS.show();\n })\n\n\n ///////////////////////////\n\n\n //Modal VerificationCode Update\n const vvModalVerifyCodeAlert = document.getElementById('vvModalVerifyCodeAlert');\n const vvModalVerifyCode = document.getElementById(\"vvModalVerifyCode\");\n const vvModalVerifyCodeForm = document.getElementById(\"vvModalVerifyCodeForm\");\n const vvModalVerifyCodeHeader = document.getElementById('vvModalVerifyCodeHeader');\n const vvModalVerifyCodeFeedback = document.getElementById('vvModalVerifyCodeFeedback');\n const vvModalVerifyCodeUpdateSaveBtn = document.getElementById('vvModalVerifyCodeUpdateSaveBtn');\n const vvModalVerifyCodeEmail = document.getElementById('vvModalVerifyCodeEmail');\n\n const verificationcodeModalBS = new window.bootstrap.Modal(document.getElementById('vvModalVerifyCode'), {});\n\n function checkVerificationCodeValidity() {\n return new Promise((resolve, reject) => {\n \n let vvModalVerifyCodeText = document.getElementById(\"verificationcode\");\n let valid = true;\n\n //should be a 6 digit string\n //eslint-disable-next-line\n vvModalVerifyCodeText.value = vvModalVerifyCodeText.value.replace(/[^\\d]+/g, '');\n if (vvModalVerifyCodeText.value && vvModalVerifyCodeText.value.length === 6 && /^\\d+$/.test(vvModalVerifyCodeText.value)) {\n //\n } else {\n valid = false;\n vv_utils.makeInvalid(vvModalVerifyCodeText);\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function updateVerificationCode(context, event) {\n \n //in the future pass the verificationcode value through state machine \n let verificationcode = document.getElementById('verificationcode').value;\n let profileEmail = document.getElementById(\"profileEmail\").value;\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/email/update`, \n { \n \"code\": verificationcode, \n \"send\": false, \n \"email\": profileEmail,\n }, \"POST\");\n }\n\n const updateVerificationCodeMachine = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: () => {\n \n vv_utils.clearalert(vvModalVerifyCodeAlert);\n vv_utils.clearalert(credAlertbox);\n vv_utils.clearalert(profileAlertbox);\n },\n message: (context, event) => {\n //\n vv_utils.clearInputValidation(vvModalVerifyCodeForm);\n vv_utils.clearalert(vvModalVerifyCodeAlert);\n vv_utils.clearalert(credAlertbox);\n vv_utils.clearalert(profileAlertbox);\n //vvModalVerifyCodeFeedback.style.display = \"none\";\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", vvModalVerifyCodeAlert);\n },\n validationSucceeded: () => {\n updateVerificationCodeMachine.send(\"PERFORM_ACTION\");\n },\n actionFailed: (context, event) => {\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, verificationcodeFieldFormMap);\n }\n if (context.error) { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, vvModalVerifyCodeAlert);\n }\n },\n actionSucceeded: (context, event) => {\n vv_utils.showalert(\"Updated successfully.\", \"primary\", profileAlertbox);\n verificationcodeModalBS.hide();\n dataLoadService.send(\"SUBMIT\");\n //add a tiny delay to allow clears before modal showing\n setTimeout(function () {\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\n }, 2000);\n }\n },\n services: {\n //eslint-disable-next-line\n validate_service: (context, event) => checkVerificationCodeValidity(context, event),\n action_service: (context, event) => updateVerificationCode(context, event)\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n //eslint-disable-next-line\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyCodeForm, updateVerificationCodeMachine, 'input', 'input');\n //eslint-disable-next-line\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalVerifyCodeForm, updateVerificationCodeMachine, formSubmit);\n\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\n\n vvModalVerifyCode.addEventListener('hidden.bs.modal', function (event) {\n //add a tiny delay to allow clears before modal showing\n setTimeout(function () {\n updateVerificationCodeMachine.send(\"CHANGE\");\n vvModalVerifyCodeForm.reset();\n }, 2000);\n })\n\n vvModalVerifyCode.addEventListener('show.bs.modal', function (event) {\n vvModalVerifyCodeEmail.innerText = document.getElementById(\"profileEmail\").value;\n })\n\n vvModalVerifyCodeUpdateSaveBtn.addEventListener('click', (e) => {\n e.preventDefault();\n updateVerificationCodeMachine.send(\"SUBMIT\");\n })\n\n ///////////////////////////\n\n\n //Name (named as profile)\n const userNameForm = document.getElementById(\"user-name-form\");\n\n function checkNameValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let profileName = document.getElementById(\"profileName\");\n let valid = true;\n if (profileName.value && (profileName.value.length <= 255)) {\n //\n } else {\n valid = false;\n vv_utils.makeInvalid(profileName);\n }\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function updateName(context, event) {\n \n let profileName = document.getElementById(\"profileName\");\n profileState.name = profileName.value;\n //eslist-disable-next-line\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/profile`, profileState, 'POST', vv_utils.defaultTimeout);\n }\n\n const nameService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: () => {\n \n },\n message: (context, event) => {\n vv_utils.clearInputValidation(userNameForm);\n vv_utils.clearalert(profileAlertbox);\n //needed for if user clicks into field after another action on a cred\n vv_utils.clearalert(credAlertbox);\n },\n validationFailed: (context, event) => {\n \n \n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", profileAlertbox);\n },\n validationSucceeded: (context, event) => {\n \n \n //if was canceled go back to load_complete\n if (event.data === 'valid') {\n nameService.send(\"PERFORM_ACTION\");\n } else {\n \n nameService.send(\"LOAD_COMPLETE\");\n }\n },\n actionFailed: (context, event) => {\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, profileFieldFormMap);\n }\n if (context.error) { \n \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, profileAlertbox);\n }\n },\n actionSucceeded: (context, event) => {\n vv_utils.showalert(\"Updated successfully.\", \"primary\", profileAlertbox);\n nameService.send(\"LOAD_COMPLETE\");\n }\n },\n services: {\n validate_service: (context, event) => {\n //needed for when a prior cred action was done\n vv_utils.clearalert(credAlertbox);\n return checkNameValidity(context, event);\n },\n action_service: (context, event) => {\n return updateName(context, event);\n }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(userNameForm, nameService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(userNameForm, nameService, formSubmit);\n\n nameService.send(\"LOAD_COMPLETE\");\n\n ///////////////////////////\n\n //Email (named as profile)\n const userProfileForm = document.getElementById(\"user-profile-form\");\n\n\n function checkEmailValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let profileEmail = document.getElementById(\"profileEmail\");\n let valid = true;\n if (validateEmail(profileEmail.value)) {\n //\n } else {\n valid = false;\n vv_utils.makeInvalid(profileEmail);\n }\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function updateEmail(context, event) {\n \n let profileEmail = document.getElementById(\"profileEmail\");\n //eslist-disable-next-line\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/email/update`, { \"email\": profileEmail.value, \"send\":true }, 'POST', vv_utils.defaultTimeout);\n }\n\n const profileService = interpret(\n fullInvokeMachine.withConfig({\n actions: {\n loaded: () => {\n \n },\n message: (context, event) => {\n vv_utils.clearInputValidation(userProfileForm);\n vv_utils.clearalert(profileAlertbox);\n //needed for if user clicks into field after another action on a cred\n vv_utils.clearalert(credAlertbox);\n },\n validationFailed: (context, event) => {\n \n \n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", profileAlertbox);\n },\n validationSucceeded: (context, event) => {\n \n \n //if was canceled go back to load_complete\n if (event.data === 'valid') {\n profileService.send(\"PERFORM_ACTION\");\n } else {\n \n profileService.send(\"LOAD_COMPLETE\");\n }\n },\n actionFailed: (context, event) => {\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, profileFieldFormMap);\n }\n if (context.error) { \n \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, profileAlertbox);\n }\n },\n actionSucceeded: (context, event) => {\n if (context.data && context.data.pending_verification) {\n verificationcodeModalBS.show();\n //vv_utils.showalert(\"The update is now pending verification of your new email address. Check your inbox for the confirmation instructions.\", \"info\", profileAlertbox);\n } else {\n vv_utils.showalert(\"Updated successfully.\", \"primary\", profileAlertbox);\n }\n profileService.send(\"LOAD_COMPLETE\");\n }\n },\n services: {\n validate_service: (context, event) => {\n //needed for when a prior cred action was done\n vv_utils.clearalert(credAlertbox);\n return checkEmailValidity(context, event);\n },\n action_service: (context, event) => {\n return updateEmail(context, event);\n }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(userProfileForm, profileService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(userProfileForm, profileService, formSubmit);\n\n profileService.send(\"LOAD_COMPLETE\");\n\n\n\n ///////////////////////////\n\n class TableBuilder {\n constructor(pfx, title) {\n this.pfx = pfx;\n this.title = title;\n }\n\n build(creds) {\n \n const NAME_INDEX = 0;\n const EDIT_NAME_INDEX = 1;\n const CREATED_AT_INDEX = 2;\n const TOGGLE_INDEX = 3;\n const REMOVE_INDEX = 4;\n\n let tbody = document.getElementById(this.pfx + \"-body\");\n let fragment = document.createDocumentFragment();\n if (creds.length > 0) {\n creds.forEach((cred, index) => {\n let template = document.getElementById(this.pfx + \"-template\");\n \n let clone = template.content.cloneNode(true);\n let td = clone.querySelectorAll(\"td\");\n this.tdName(td[NAME_INDEX], cred);\n this.tdEditName(td[EDIT_NAME_INDEX], cred);\n this.tdCreatedAt(td[CREATED_AT_INDEX], cred);\n this.tdToggle(td[TOGGLE_INDEX], cred);\n this.tdRemove(td[REMOVE_INDEX], cred, index);\n fragment.appendChild(clone);\n })\n } else {\n let tdBuilder = document.createElement(\"td\");\n tdBuilder.classList.add(\"px-1\");\n let heading6 = document.createElement(\"h6\");\n heading6.classList.add(\"m-0\");\n heading6.classList.add(\"fs--1\");\n heading6.innerText = \"No \" + this.title + \"s registered\";\n tdBuilder.appendChild(heading6);\n fragment.appendChild(tdBuilder);\n }\n //TODO: look into doing a replace\n tbody.innerHTML = \"\";\n tbody.appendChild(fragment);\n }\n\n tdName(name, cred) {\n const esLintLittleBitchComplainer = this.pfx;\n if (cred.friendly_name) {\n name.querySelector('h6').innerText = cred.friendly_name;\n }\n }\n\n tdEditName(action, cred) {\n const actionElement = action.querySelector(\".fa-edit-name\");\n actionElement.setAttribute(\"data-\" + this.pfx + \"-id\", `${cred.id}`);\n\n const pfx = this.pfx;\n const title = this.title;\n actionElement.addEventListener(\"click\", (event) => {\n let id = event.currentTarget.getAttribute(\"data-\" + pfx + \"-id\");\n\n credService.send(\"INIT_COMPLETE\", { \"id\": id });\n vvModalEditHeader.innerText = \"Rename \" + title;\n let label = vvModalEdit.querySelectorAll('[for=\"vvModalEditText\"]');\n label[0].innerText = title + \" name\";\n vvModalEditFeedback.innerText = \"You must use a valid name smaller than 255\";\n vvModalEditBtn.innerText = \"Update\";\n credService.send(\"CHANGE\", { \"id\": id });\n //add a tiny delay to allow clears before modal showing\n setTimeout(function () {\n modalEditBS.show();\n }, 350);\n vvModalEditBtn.addEventListener(\"click\", (e) => {\n credService.send(\"SUBMIT\", { \"id\": id, \"name\": vvModalEditText.value });\n });\n });\n }\n\n tdCreatedAt(createdAt, cred) {\n\n const esLintLittleBitchComplainer = this.pfx;\n\n /* eslint-disable-next-line no-param-reassign */\n createdAt.querySelector('h6').innerText = new Date(cred.created_at).toLocaleDateString();\n }\n\n tdToggle(status, cred) {\n let icon = status.querySelector('.fa-toggle');\n icon.setAttribute(\"data-\" + this.pfx + \"-id\", `${cred.id}`);\n assignToggle(icon.querySelector(\"svg\"), !cred.disabled);\n\n const pfx = this.pfx;\n icon.addEventListener(\"click\", (event) => {\n const id = event.currentTarget.getAttribute(\"data-\" + pfx + \"-id\");\n let faIcon = event.currentTarget.getElementsByTagName(\"svg\")[0];\n let on = !faIcon.classList.contains(\"rotate-180\");\n \n\n const confirmState = on ? pfx + \"-disable\" : pfx + \"-enable\"\n confirmAction(id, confirmState, (e) => {\n \n \n if (on) {\n toggleCredMachine.send(\"FETCH\", { 'id': id, status: 'disable' });\n } else {\n toggleCredMachine.send(\"FETCH\", { 'id': id, status: 'enable' });\n }\n }, (e) => { });\n });\n }\n\n tdRemove(action, cred) {\n const removeLink = action.querySelector(\".fa-trash\");\n removeLink.setAttribute(\"data-\" + this.pfx + \"-id\", `${cred.id}`);\n\n const pfx = this.pfx;\n removeLink.addEventListener(\"click\", (event) => {\n let id = event.currentTarget.getAttribute(\"data-\" + pfx + \"-id\");\n confirmAction(id, pfx, (e) => {\n removeCredMachine.send('FETCH', { 'id': id });\n }, (e) => { });\n return;\n });\n }\n }\n\n createTotpTable = (creds) => {\n const tbr = new TableBuilder(\"totp\", \"Authenticator\");\n tbr.build(creds);\n }\n\n createFidoTable = (creds) => {\n const tbr = new TableBuilder(\"fido\", \"FIDO key\");\n tbr.build(creds);\n }\n\n //social\n function addSocial(context, event) {\n \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/social/connect`, { \"provider\": event.provider }, \"POST\");\n }\n\n const addSocialMachine = interpret(\n simpleInvokeMachine.withConfig({\n actions: {\n actionFailed: (context, event) => {\n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, profileAlertbox);\n },\n actionSucceeded: (context, event) => {\n \n const jsonResponse = window._.pick(context.data, Object.keys(redirectRequest));\n window.location.assign(jsonResponse.redirect);\n addSocialMachine.send(\"IDLE\");\n }\n },\n services: {\n //eslint-disable-next-line\n action_service: (context, event) => { return addSocial(context, event) }\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n\n function handleSocialRemove(event) {\n let id = event.currentTarget.getAttribute('data-social-id');\n confirmAction(id, \"social\", (e) => {\n removeCredMachine.send('FETCH', { 'id': id });\n }, (e) => { });\n\n return;\n }\n\n function tdSocialEmail(email, social) {\n if (social.claims && social.claims.email) {\n /* eslint-disable-next-line no-param-reassign */\n email.querySelector('h6').innerText = social.claims.email.replace(\"@\", \"\\r\\n@\");\n }\n }\n function tdSocialName(name, social) {\n if (social.claims && social.claims.name) {\n /* eslint-disable-next-line no-param-reassign */\n name.querySelector('h6').innerText = social.claims.name;\n }\n }\n function tdSocialIssuer(issuer, social) {\n Object.keys(issuerMap).every(function (key) {\n if (social.issuer.startsWith(key)) {\n /* eslint-disable-next-line no-param-reassign */\n issuer.querySelector('h6').innerText = issuerMap[key];\n //return false to make every break;\n return false;\n }\n //return false to make every continue;\n return true;\n });\n }\n function tdSocialCreatedAt(createdAt, social) {\n /* eslint-disable-next-line no-param-reassign */\n createdAt.querySelector('h6').innerText = new Date(social.created_at).toLocaleDateString();\n }\n\n function tdSocialRemove(action, social) {\n const removeLink = action.querySelector(\".fa-trash\");\n\n removeLink.setAttribute(\"data-social-id\", `${social.id}`);\n removeLink.addEventListener(\"click\", handleSocialRemove);\n }\n\n createSocialTable = (socials) => {\n\n const EMAIL_INDEX = 0;\n const NAME_INDEX = 1;\n const ISSUER_INDEX = 2;\n const CREATED_AT_INDEX = 3;\n const REMOVE_INDEX = 4;\n\n let tbody = document.getElementById(\"social-body\");\n let fragment = document.createDocumentFragment();\n if (socials.length > 0) {\n socials.forEach((social, index) => {\n let template = document.getElementById(\"social-template\");\n let clone = template.content.cloneNode(true);\n let td = clone.querySelectorAll(\"td\");\n\n tdSocialEmail(td[EMAIL_INDEX], social);\n tdSocialName(td[NAME_INDEX], social);\n tdSocialIssuer(td[ISSUER_INDEX], social);\n tdSocialCreatedAt(td[CREATED_AT_INDEX], social);\n tdSocialRemove(td[REMOVE_INDEX], social);\n fragment.appendChild(clone);\n })\n } else {\n let tdBuilder = document.createElement(\"td\");\n tdBuilder.classList.add(\"px-1\");\n let heading6 = document.createElement(\"h6\");\n heading6.classList.add(\"m-0\");\n heading6.classList.add(\"fs--1\");\n heading6.innerText = \"No Social Identities Registered\";\n tdBuilder.appendChild(heading6);\n fragment.appendChild(tdBuilder);\n }\n tbody.innerHTML = \"\";\n tbody.appendChild(fragment);\n }\n\n ///////////////////////////\n\n // handles accordion show for social, fido and password\n if (tenant.allow_hardware) {\n fidoAccordion.classList.remove('d-none');\n }\n\n if (tenant.allow_social) {\n socialAccordion.classList.remove('d-none');\n }\n\n if (tenant.allow_passwords) {\n passwordAccordion.classList.remove('d-none');\n }\n\n if (tenant.allow_totp_app) {\n totpAccordion.classList.remove('d-none');\n }\n\n ///////////////////////////\n\n let addGoogleBtn = document.getElementById('add-google-btn');\n\n addGoogleBtn.addEventListener('click', (e) => {\n addSocialMachine.send(\"FETCH\", { \"provider\": \"google\" });\n })\n\n let addMicrosoftBtn = document.getElementById('add-microsoft-btn');\n\n addMicrosoftBtn.addEventListener('click', (e) => {\n e.preventDefault();\n addSocialMachine.send(\"FETCH\", { \"provider\": \"microsoft\" });\n })\n\n\n let addAppleBtn = document.getElementById('add-apple-btn');\n\n addAppleBtn.addEventListener('click', (e) => {\n e.preventDefault();\n addSocialMachine.send(\"FETCH\", { \"provider\": \"apple\" });\n })\n\n let addFidoBtn = document.getElementById('add-fido-btn');\n addFidoBtn.addEventListener('click', (e) => {\n e.preventDefault();\n requestWebAuthn({}, \"register\", credAlertbox)\n .then((context) => {\n \n dataLoadService.send(\"SUBMIT\");\n });\n });\n\n const totpModalBS = new window.bootstrap.Modal(\n document.getElementById('vv-modal-add-totp'), {});\n let addTotpBtn = document.getElementById('add-totp-btn');\n addTotpBtn.addEventListener('click', (e) => {\n //e.preventDefault();\n\n const totpConfig = {\n pageAlertbox: credAlertbox,\n formAlertbox: document.getElementById('add-totp-alert'),\n modalBS: totpModalBS,\n modal: document.getElementById('vv-modal-add-totp'),\n totpImg: document.getElementById('vv-modal-add-totp-img'),\n cancelBtn: document.getElementById('vv-modal-add-totp-cancel'),\n verifyBtn: document.getElementById('vv-modal-add-totp-verify'),\n codeInput: document.getElementById('vv-modal-add-totp-code'),\n form: document.getElementById('vv-modal-add-totp-form'),\n pageLoadService: dataLoadService\n }\n setupTotp(totpConfig);\n\n });\n\n function clearAlerts(selector) {\n let nodeListToClear = document.querySelectorAll(selector);\n if (nodeListToClear && nodeListToClear.length > 0) {\n Object.values(nodeListToClear).forEach(function (node) {\n vv_utils.clearalert(node);\n })\n }\n }\n\n function AttachShowEventsToClearUI(selector, eventname) {\n let nodeListToAddEvents = document.querySelectorAll(selector);\n if (nodeListToAddEvents && nodeListToAddEvents.length > 0) {\n Object.values(nodeListToAddEvents).forEach(function (node) {\n node.addEventListener(eventname, (event) => {\n clearAlerts(\".alert\");\n })\n })\n }\n }\n\n //Event Clear Listeners - Modals and Accordions\n AttachShowEventsToClearUI(\".modal\", \"show.bs.modal\");\n AttachShowEventsToClearUI(\".accordion\", \"show.bs.collapse\");\n AttachShowEventsToClearUI(\".accordion\", \"hide.bs.collapse\");\n\n\n /////////////////////////// \n}\n\nexport default { settingsInit_onStart };","import vv_utils from './vv_utils';\r\nimport { simpleInvokeMachine, fullInvokeMachine } from \"./vv_api\";\r\nimport validateEmail from './email-validator';\r\nimport requestWebAuthn from './vv_webauthn';\r\n\r\n/*-----------------------------------------------\r\n| User Settings Like Credentials and Profile\r\n-----------------------------------------------*/\r\n\r\n\r\n/*-----------------------------------------------\r\n| API Routes\r\n\r\n// profile\r\nrt.GET(\"/v1/settings/profile\"\r\nrt.POST(\"/v1/settings/profile\",\r\nrt.POST(\"/v1/settings/email/update\",\r\n\r\n// credential management\r\nrt.GET(\"/v1/settings/credentials\",\r\nrt.GET(\"/v1/settings/credentials/:credential\",\r\nrt.POST(\"/v1/settings/credentials/:credential\",\r\nrt.DELETE(\"/v1/settings/credentials/:credential\",\r\n\r\n//FIDO\r\n// enable/disable is only for FIDO\r\nrt.POST(\"/v1/settings/credentials/:credential/enable\",\r\nrt.POST(\"/v1/settings/credentials/:credential/disable\",\r\nrt.POST(\"/v1/settings/webauthn/begin\",\r\nrt.POST(\"/v1/settings/webauthn/finish\",\r\n\r\n//Social\r\nrt.POST(\"/v1/settings/social/connect\",\r\n\r\n//Password\r\nrt.POST(\"/v1/settings/password/update\",\r\n-----------------------------------------------*/\r\n\r\n\r\nconst settingsdebugInit_onStart = () => {\r\n\r\n const alertbox = document.getElementById(\"split-alert\");\r\n\r\n const { interpret } = window.XState;\r\n\r\n function checkValidity(context, event) {\r\n return new Promise((resolve, reject) => {\r\n \r\n let valid = true;\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function getCreds(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials`, {}, 'GET', vv_utils.defaultTimeout);\r\n }\r\n\r\n\r\n function getProfile(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/profile`, {}, 'GET', vv_utils.defaultTimeout);\r\n }\r\n\r\n function loadData(context, event) {\r\n return Promise.all([getCreds(context, event), getProfile(context, event)]);\r\n }\r\n\r\n const validationService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //vv_utils.clearInputValidation(form);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n validationService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n document.getElementById(\"profile\").innerText = JSON.stringify(context.data[1], null, 2);\r\n document.getElementById(\"credentials\").innerText = JSON.stringify(context.data[0], null, 2);\r\n validationService.send(\"LOAD_COMPLETE\");\r\n }\r\n },\r\n services: {\r\n validate_service: (context, event) => checkValidity(context, event),\r\n action_service: (context, event) => { return loadData(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n validationService.send(\"LOAD_COMPLETE\");\r\n\r\n document.getElementById(\"loadProfile\").addEventListener(\"click\", e => {\r\n validationService.send(\"SUBMIT\");\r\n });\r\n\r\n ///////////////////////////////////\r\n\r\n\r\n function checkEmailValidity(context, event) {\r\n return new Promise((resolve, reject) => {\r\n \r\n let valid = true;\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateEmail(context, event) {\r\n \r\n let email = document.getElementById(\"new-email\").value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/email/update`, { \"email\": email }, 'POST', vv_utils.defaultTimeout);\r\n }\r\n\r\n const emailService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //vv_utils.clearInputValidation(form);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n emailService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n document.getElementById(\"profile\").innerText = JSON.stringify(context, null, 2);\r\n if (context.data && context.data.pending_verification) {\r\n vv_utils.showalert(\"The update is now pending verification of your new email address. Check your inbox for the confirmation instructions.\", \"info\", alertbox);\r\n }\r\n emailService.send(\"LOAD_COMPLETE\");\r\n }\r\n },\r\n services: {\r\n validate_service: (context, event) => checkEmailValidity(context, event),\r\n action_service: (context, event) => updateEmail(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n emailService.send(\"LOAD_COMPLETE\");\r\n\r\n document.getElementById(\"updateEmail\").addEventListener(\"click\", e => {\r\n emailService.send(\"SUBMIT\");\r\n });\r\n\r\n ///////////////////////////////////\r\n\r\n\r\n function checkProfileValidity(context, event) {\r\n return new Promise((resolve, reject) => {\r\n \r\n let valid = true;\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateProfile(context, event) {\r\n \r\n let profile = document.getElementById(\"new-profile\").value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/profile`, JSON.parse(profile), 'POST', vv_utils.defaultTimeout);\r\n }\r\n\r\n const profileService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //vv_utils.clearInputValidation(form);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n profileService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n document.getElementById(\"profile\").innerText = JSON.stringify(context, null, 2);\r\n if (context.data && context.data.pending_verification) {\r\n vv_utils.showalert(\"The update is now pending verification of your new email address. Check your inbox for the confirmation instructions.\", \"info\", alertbox);\r\n }\r\n profileService.send(\"LOAD_COMPLETE\");\r\n }\r\n },\r\n services: {\r\n validate_service: (context, event) => checkProfileValidity(context, event),\r\n action_service: (context, event) => updateProfile(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n profileService.send(\"LOAD_COMPLETE\");\r\n\r\n document.getElementById(\"updateProfile\").addEventListener(\"click\", e => {\r\n profileService.send(\"SUBMIT\");\r\n });\r\n\r\n ///////////////////////////////////\r\n\r\n\r\n function checkCredValidity(context, event) {\r\n return new Promise((resolve, reject) => {\r\n \r\n let valid = true;\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateCred(context, event) {\r\n \r\n let cred = JSON.parse(document.getElementById(\"new-cred-name\").value);\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${cred.id}`, cred, 'POST', vv_utils.defaultTimeout);\r\n }\r\n\r\n const credService = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //vv_utils.clearInputValidation(form);\r\n vv_utils.clearalert(alertbox);\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n credService.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n \r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n document.getElementById(\"credentials\").innerText = JSON.stringify(context, null, 2);\r\n credService.send(\"LOAD_COMPLETE\");\r\n }\r\n },\r\n services: {\r\n validate_service: (context, event) => checkCredValidity(context, event),\r\n action_service: (context, event) => updateCred(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n credService.send(\"LOAD_COMPLETE\");\r\n\r\n document.getElementById(\"updateCred\").addEventListener(\"click\", e => {\r\n credService.send(\"SUBMIT\");\r\n });\r\n\r\n\r\n /////////////////////////////////////////////////\r\n\r\n document.getElementById(\"signupFido\").addEventListener(\"click\", e => {\r\n requestWebAuthn({}, \"register\", alertbox)\r\n .then((context) => {\r\n document.getElementById(\"passkeyFirst\").innerText = JSON.stringify(context, null, 2);\r\n });\r\n });\r\n\r\n /////////////////////////\r\n\r\n function getCred(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}`, {}, \"GET\");\r\n }\r\n\r\n const getCredMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"credDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n getCredMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return getCred(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"getCredDetail\").addEventListener(\"click\", e => {\r\n let credId = document.getElementById(\"cred-id\").value;\r\n let request = { \"id\": credId };\r\n getCredMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n function removeCred(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}`, {}, \"DELETE\");\r\n }\r\n\r\n const removeCredMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"credDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n removeCredMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return removeCred(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"removeCredDetail\").addEventListener(\"click\", e => {\r\n let credId = document.getElementById(\"cred-id\").value;\r\n let request = { \"id\": credId };\r\n removeCredMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n function disableCred(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}/disable`, {}, \"POST\");\r\n }\r\n\r\n const disableCredMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"credDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n disableCredMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return disableCred(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"disableCredDetail\").addEventListener(\"click\", e => {\r\n let credId = document.getElementById(\"cred-id\").value;\r\n let request = { \"id\": credId };\r\n disableCredMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n\r\n function enableCred(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/credentials/${event.id}/enable`, {}, \"POST\");\r\n }\r\n\r\n const enableCredMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"credDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n enableCredMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return enableCred(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"enableCredDetail\").addEventListener(\"click\", e => {\r\n let credId = document.getElementById(\"cred-id\").value;\r\n let request = { \"id\": credId };\r\n enableCredMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n function addSocial(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/social/connect`, { \"provider\": event.provider }, \"POST\");\r\n }\r\n\r\n const addSocialMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"credDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n addSocialMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return addSocial(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"addSocialMS\").addEventListener(\"click\", e => {\r\n let request = { \"provider\": \"microsoft\" };\r\n addSocialMachine.send(\"FETCH\", request);\r\n });\r\n\r\n\r\n document.getElementById(\"addSocialGoogle\").addEventListener(\"click\", e => {\r\n let request = { \"provider\": \"google\" };\r\n addSocialMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n function updatePassword(context, event) {\r\n \r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/password/update`, { \"password\": event.password }, \"POST\");\r\n }\r\n\r\n const updatePasswordMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n vv_utils.logError(context.error);\r\n //vv_utils.loading(false);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n //vv_utils.loading(false);\r\n let jsonResponse = context.data;\r\n let cred = jsonResponse.data ? [...jsonResponse.data] : [];\r\n document.getElementById(\"passwordDetail\").innerText = JSON.stringify(context.data, null, 2);\r\n updatePasswordMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => { return updatePassword(context, event) }\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n\r\n document.getElementById(\"updatePassword\").addEventListener(\"click\", e => {\r\n let password = document.getElementById(\"password\").value;\r\n let request = { \"password\": password };\r\n updatePasswordMachine.send(\"FETCH\", request);\r\n });\r\n\r\n //////////////////\r\n\r\n};\r\nexport default { settingsdebugInit_onStart };\r\n","import vv_utils from './vv_utils';\n\n/*-----------------------------------------------\n| Application Details\n-----------------------------------------------*/\n\n/* eslint-disable max-len*/\n\nconst supportInit_onStart = () => {\n\n const emailoption = document.getElementById(\"emailoption\");\n const weboption = document.getElementById(\"weboption\");\n const supportEmail = document.getElementById(\"supportEmail\");\n const supportURL = document.getElementById(\"supportURL\");\n\n if (window.vv_tenant_data.support_url) {\n weboption.classList.remove('d-none');\n supportURL.innerText = window.vv_tenant_data.support_url;\n supportURL.href = window.vv_tenant_data.support_url;\n }\n\n if (window.vv_tenant_data.support_email) {\n emailoption.classList.remove('d-none');\n supportEmail.innerText = window.vv_tenant_data.support_email;\n } \n}\n\n\nexport default {supportInit_onStart};\n","import vv_utils from './vv_utils';\nimport { fullLoadingInvokeMachine } from \"./vv_api\";\n\nfunction setupTotp(totpConfig) {\n\n///////////////////////////////////////\n\n/* const totpConfig = {\n pageAlertbox: credAlertbox,\n formAlertbox: credAlertbox,\n modal: totpModalBS,\n totpImg: document.getElementById('vv-modal-add-totp-img'),\n cancelBtn: document.getElementById('vv-modal-add-totp-cancel'),\n verifyBtn: document.getElementById('vv-modal-add-totp-verify'),\n codeInput: document.getElementById('vv-modal-add-totp-code'),\n form: document.getElementById('vv-modal-add-totp-form'),\n pageLoadService: dataLoadService\n }*/\n\n const fieldFormMap = {\n 'code': '#vv-modal-add-totp-code',\n }\n ///////////////////////////\n\n function checkValidity(context, event) {\n return new Promise((resolve, reject) => {\n \n let valid = true;\n\n \n \n \n \n \n totpConfig.codeInput.value = totpConfig.codeInput.value.replace(/[^\\d]+/g, '');\n\n if (totpConfig.codeInput.value.length === 6 && /^\\d+$/.test(totpConfig.codeInput.value)) {\n //\n } else {\n vv_utils.makeInvalid(totpConfig.codeInput);\n valid = false;\n }\n\n if (valid) {\n return resolve(\"valid\");\n } else {\n return reject(new Error('not valid'));\n }\n })\n }\n\n function load(context, event) {\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/totp/generate`, context.data);\n }\n\n function update(context, event) {\n \n \n \n \n const req = {\n \"token\": totpConfig.codeInput.getAttribute(\"data-token\"),\n \"code\": totpConfig.codeInput.value,\n } \n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/totp/verify`, req);\n }\n\n const { interpret } = window.XState;\n const editModalService = interpret(\n fullLoadingInvokeMachine.withConfig({\n actions: {\n loaded: (context, event) => {\n \n \n\n \n \n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n let generateRes = context.data;\n const qrcodeBlob = new Blob([generateRes.image], { type: 'image/svg+xml' });\n totpConfig.totpImg.src = URL.createObjectURL(qrcodeBlob);\n totpConfig.codeInput.value = \"\";\n totpConfig.codeInput.setAttribute(\"data-token\", generateRes.token)\n totpConfig.modalBS.show(); \n },\n message: (context, event) => {\n vv_utils.clearInputValidation(totpConfig.form);\n vv_utils.clearalert(totpConfig.formAlertbox);\n vv_utils.clearalert(totpConfig.pageAlertbox);\n },\n validationFailed: () => {\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", totpConfig.formAlertbox);\n },\n validationSucceeded: (context, event) => {\n \n \n \n editModalService.send(\"PERFORM_ACTION\", { \"id\": context.data.id, });\n },\n actionFailed: (context, event) => {\n \n //TODO make this for cred object not password\n if (context.error && context.error.fields) { \n vv_utils.highlightFields(context.error.fields, fieldFormMap);\n }\n if (context.error) { \n vv_utils.logError(context.error);\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, totpConfig.formAlertbox);\n }\n },\n actionSucceeded: (context, event) => {\n vv_utils.showalert(\"Updated successfully.\", \"primary\", totpConfig.formAlertbox);\n totpConfig.modalBS.hide();\n \n //add a tiny delay to allow save to finish before modal showing\n totpConfig.pageLoadService.send(\"SUBMIT\");\n editModalService.send(\"RE_INIT\");\n }\n },\n services: {\n loading_service: (context, event) => load(context, event),\n validate_service: (context, event) => checkValidity(context, event),\n action_service: (context, event) => update(context, event)\n }\n })\n )\n .onTransition((state) => { })\n .start();\n\n vv_utils.AttachAndSendFormEventsToMachineService(totpConfig.form, editModalService, 'input', 'input');\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(totpConfig.form, editModalService, (e)=>{if (e.preventDefault) e.preventDefault()});\n\n \n \n totpConfig.modal.addEventListener('hidden.bs.modal', function (event) {\n editModalService.send(\"RE_INIT\");\n })\n\n\n totpConfig.verifyBtn.addEventListener('click', (e) => {\n editModalService.send(\"PERFORM_ACTION\");\n });\n\n editModalService.send(\"INIT_COMPLETE\");\n////////////////////////////////////////// \n\n};","import { validateURL } from \"./email-validator\";\r\nimport vv_c from \"./vv_c\";\r\nimport { getCookie, getData } from './utils';\r\n\r\n///////////Polyfill for event submitter\r\n//https://stackoverflow.com/questions/2066162/how-can-i-get-the-button-that-caused-the-submit-from-the-form-submit-event\r\n/* eslint-disable */\r\n!function () {\r\n var lastBtn = null\r\n document.addEventListener('click', function (e) {\r\n if (!e.target.closest) return;\r\n lastBtn = e.target.closest('button, input[type=submit]');\r\n }, true);\r\n document.addEventListener('submit', function (e) {\r\n if ('submitter' in e) return;\r\n var canditates = [document.activeElement, lastBtn];\r\n lastBtn = null;\r\n for (var i = 0; i < canditates.length; i=i+1) {\r\n var candidate = canditates[i];\r\n if (!candidate) continue;\r\n if (!candidate.form) continue;\r\n if (!candidate.matches('button, input[type=button], input[type=image]')) continue;\r\n e.submitter = candidate;\r\n return;\r\n }\r\n e.submitter = e.target.querySelector('button, input[type=button], input[type=image]')\r\n }, true);\r\n}();\r\n/* eslint-enable */\r\n\r\nfunction fixedEncodeURIComponent(str) {\r\n return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\\*/g, \"%2A\");\r\n}\r\n\r\nconst vvenc = (strings, ...values) => {\r\n let result = strings.map((str, i) => str + (fixedEncodeURIComponent(values[i] ?? \"\")));\r\n return result.join(\"\");\r\n}\r\n\r\nfunction sleep(milliseconds) {\r\n const date = Date.now();\r\n let currentDate = null;\r\n do {\r\n currentDate = Date.now();\r\n } while (currentDate - date < milliseconds);\r\n}\r\n//This adds the right event handlers for a normal input form for change and input\r\nfunction addFormAndMachineServiceChangeAndInputHandlers(form, service, submitEventHandler) {\r\n form.addEventListener('change', (event) => {\r\n service.send(\"CHANGE\");\r\n })\r\n form.addEventListener('submit', (event) => {\r\n let submitResult = submitEventHandler(event, service);\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (form.classList.contains(\"needs-validation\")) {\r\n form.classList.add(\"was-validated\");\r\n }\r\n if (submitResult && typeof submitResult === 'string' && submitResult.toLowerCase() === 'input') {\r\n service.send(\"INPUT\");\r\n } else {\r\n service.send(\"SUBMIT\");\r\n }\r\n })\r\n}\r\n\r\n\r\n//For large forms this makes it easy to bind a bunch of fields to events using selectors\r\nfunction AttachAndSendFormEventsToMachineService(form, service, selector, eventname) {\r\n let nodeListToAddEvents = form.querySelectorAll(selector);\r\n if (nodeListToAddEvents && nodeListToAddEvents.length > 0) {\r\n Object.values(nodeListToAddEvents).forEach(function (node) {\r\n node.addEventListener(eventname, (event) => {\r\n service.send(event.type.toUpperCase());\r\n })\r\n })\r\n }\r\n}\r\n\r\n/* eslint-disable no-param-reassign */\r\nconst clearalert = (alertbox) => {\r\n alertbox.innerText = \"\";\r\n alertbox.classList.remove('show');\r\n alertbox.classList.add('hide');\r\n}\r\n/* eslint-enable no-param-reassign */\r\n\r\n/* eslint-disable no-param-reassign */\r\n//TODO figure out how to make this more dynamic (to support more style classes)\r\nconst showalert = (message, type, alertbox) => {\r\n alertbox.innerHTML = message;\r\n\r\n if (type === 'primary') {\r\n alertbox.classList.remove('alert-warning');\r\n alertbox.classList.remove('alert-danger');\r\n alertbox.classList.add('alert-primary');\r\n }\r\n else if (type === 'warning') {\r\n alertbox.classList.remove('alert-primary');\r\n alertbox.classList.remove('alert-danger');\r\n alertbox.classList.add('alert-warning');\r\n }\r\n else if (type === 'danger') {\r\n alertbox.classList.remove('alert-primary');\r\n alertbox.classList.remove('alert-warning');\r\n alertbox.classList.add('alert-danger');\r\n }\r\n alertbox.classList.remove('hide');\r\n alertbox.classList.add('show');\r\n alertbox.scrollIntoView({ behavior: 'smooth' });\r\n}\r\n/* eslint-enable no-param-reassign */\r\n\r\n/* eslint-enable no-param-reassign */\r\nfunction showInnerErrors(defaultmessage, error, alertbox) {\r\n //eslint-disable-next-line\r\n if (error && (error instanceof ShowableException || error instanceof TimeoutException)) {\r\n //eslint-disable-next-line\r\n const template = document.getElementById('spanLinkLookup');\r\n const alertHTML = template ? template.content.getElementById(error.code) : null;\r\n if (error.code && alertHTML) {\r\n showalert(alertHTML.innerHTML, 'danger', alertbox);\r\n } else {\r\n showalert(error.message, 'danger', alertbox);\r\n }\r\n } else {\r\n showalert(defaultmessage, \"danger\", alertbox);\r\n }\r\n}\r\n\r\n\r\n/* eslint-disable no-param-reassign */\r\nfunction showErrors(defaultmessage, errorCB, alertbox) {\r\n let error = errorCB.errorBuffer;\r\n showInnerErrors(defaultmessage, error, alertbox);\r\n}\r\n/* eslint-enable no-param-reassign */\r\n\r\n/* eslint-enable no-param-reassign */\r\nfunction showStateErrors(defaultmessage, error, alertbox) {\r\n showInnerErrors(defaultmessage, error, alertbox);\r\n}\r\n\r\n//Used to get a client side time in a fetch call\r\nconst Timeout = (time) => {\r\n let controller = new AbortController();\r\n setTimeout(() => controller.abort(), time * 1000);\r\n return controller;\r\n}\r\n\r\nconst defaultTimeout = 5;\r\n\r\nconst timeoutMessage = \"The request timed out, please check your network connection.\";\r\n\r\n//also add to variables.pug\r\nconst messageMap = {\r\n \"101\": timeoutMessage,\r\n\r\n \"login_creds_invalid\": \"Wrong email or password.\",\r\n \"login_email_unverified\": [\"The email address for this account is still unverified, \", \"verify now.\"],\r\n \"signup_username_taken\": \"That username is taken, please use another unique name.\",\r\n \"signup_field_invalid\": \"The {{field}} is invalid.\",\r\n \"signup_agreement_missing\" : \"The terms of service and privacy policy must be agreed to.\",\r\n \"reset_field_invalid\" : \"The {{field}} is invalid.\",\r\n \"domain_name_taken\" : \"That name is taken, please choose another.\",\r\n \"unavailable\": \"Our services are unavailable, check our twitter feed for udpates.\",\r\n \"password_invalid\": \"Wrong email or password.\",\r\n \"email_unknown\": \"Wrong email or password.\",\r\n \"email_unverified\": [\"The email address for this account is still unverified, \", \"verify now.\"],\r\n \"email_unavailable\": \"That email or account is taken, please use a different email or social account.\",\r\n \"social_unavailable\": \"That account is taken, please use a different social account.\",\r\n \"resource_conflict\": \"That account is taken, please use a different email or social account.\",\r\n \"field_invalid\": \"The {{field}} is invalid.\",\r\n \"agreement_missing\": \"The terms of service and/or privacy policy must be agreed to.\",\r\n \"email_credential_is_social\": \"That email address was already used by a social login (Google, Facebook, etc.), use the social login buttons below.\",\r\n \"email_credential_is_password\": \"That email address was already used with a password login.\",\r\n \"email_credential_is_webauthn\": \"That email address was already used by a Passkey login (hardware FIDO token, etc.), use the Passkey button below.\",\r\n \"webauthn_failure\": \"That security key is invalid for that account.\",\r\n \"email_code_invalid\": \"That code is invalid.\",\r\n \"token_invalid\": \"That token is invalid and could not be verified.\",\r\n \"service_unavailable\": \"Our services are currently unavailable.\",\r\n \"service_failure\": \"Our services are currently unavailable.\",\r\n \"system_failure\": \"Our services are currently unavailable.\",\r\n \"request_invalid\": \"That request was invalid and could not be processed.\",\r\n\r\n \"oidc_failure\": \"Our services are currently unavailable.\",\r\n \"oidc_client_invalid\": \"Client ID is invalid.\",\r\n \"oidc_redirect_invalid\": \"Client redirect URL is invalid.\",\r\n \"requires_approval\": \"Registration is submitted, and is now pending approval.\",\r\n \"user_disabled\": \"Account is not approved for access yet.\",\r\n \"signups_disabled\": \"That account does not exist, and new accounts can not be added this way, please use a different account that is already registered.\",\r\n \"invalid_tenant\" : \"That tenant id is invalid.\",\r\n \"resource_unknown\" : \"The requested resource was not found.\",\r\n \"resource_quota\": \"Unable to create, your quota for this plan is full\",\r\n}\r\n\r\nfunction SessionExpirationException(message) {\r\n this.message = message;\r\n}\r\nSessionExpirationException.prototype = new Error();\r\n\r\nfunction ShowableException(message) {\r\n this.message = message;\r\n}\r\nShowableException.prototype = new Error();\r\n\r\nfunction TimeoutException(message) {\r\n this.message = message;\r\n}\r\nTimeoutException.prototype = Object.create(Error.prototype);\r\n\r\nfunction NotFoundException(message) {\r\n this.message = message;\r\n}\r\nNotFoundException.prototype = new Error();\r\n\r\nfunction GenericException(message) {\r\n this.message = message;\r\n}\r\nGenericException.prototype = new Error();\r\n\r\nfunction MetaException(code, message, fields, response) {\r\n let error;\r\n switch (code) {\r\n\r\n case '101':\r\n error = new TimeoutException(timeoutMessage);\r\n this.prototype = Object.create(TimeoutException.prototype);\r\n break;\r\n //break - uncommet if return removed;\r\n case 'field_invalid':\r\n error = new ShowableException(message);\r\n if (fields.length > 0) {\r\n error.fields = fields;\r\n }\r\n this.prototype = Object.create(ShowableException.prototype);\r\n break;\r\n //break - uncomment if return removed;\r\n case 'password_invalid':\r\n case 'email_unknown':\r\n case 'email_unverified':\r\n case 'email_unavailable':\r\n case 'social_unavailable':\r\n case 'resource_conflict':\r\n case 'agreement_missing':\r\n case 'email_credential_is_social':\r\n case 'email_credential_is_password':\r\n case 'email_credential_is_webauthn':\r\n case 'webauthn_failure':\r\n case 'token_invalid':\r\n case 'service_unavailable':\r\n case 'service_failure':\r\n case 'system_failure':\r\n case 'request_invalid':\r\n case 'email_code_invalid':\r\n case 'requires_approval':\r\n case 'user_disabled':\r\n case 'signups_disabled':\r\n case 'login_creds_invalid':\r\n case 'login_email_unverified':\r\n case 'signup_username_taken':\r\n case 'signup_field_invalid':\r\n case 'signup_agreement_missing':\r\n case 'domain_name_taken':\r\n case 'resource_quota':\r\n error = new ShowableException(message);\r\n this.prototype = Object.create(ShowableException.prototype);\r\n break;\r\n //break - uncommet if return removed;\r\n case 'resource_unknown':\r\n error = new NotFoundException(message);\r\n this.prototype = Object.create(NotFoundException.prototype);\r\n break;\r\n //break - uncommet if return removed;\r\n default:\r\n error = new GenericException(message);\r\n this.prototype = Object.create(GenericException.prototype);\r\n break;\r\n }\r\n\r\n error.response=response;\r\n error.code = code;\r\n return error;\r\n}\r\n/*\r\nUsed as the first .then for fetch calls to parse out HTTP errors\r\nand to get them to our global JS error tracker\r\nBasic tiering of error parsing goes like:\r\n- Is the response even JSON, if yes than try to get info about it\r\n- For JSON, see if it is our 'Kind-Error' of JSON with a top level Kind element\r\n- If it is not Kind JSON then try to get info from HTTP Codes and Body elements\r\n\r\n-For all NON JSON, Skip the 'Kind-Error' and go straight to HTTP Code and Body elements\r\n*/\r\nconst handleJSONRequestErrors = (response) => {\r\n const emptyJSON = {}; emptyJSON.json = ()=>{return {}};\r\n \r\n \r\n //check for a non JSON Content-Type\r\n\r\n let contentType = response.headers.get('Content-Type');\r\n //just return if the contentType is what we expect,\r\n //the rest of the fetch then post json can now parse\r\n if (contentType && contentType.startsWith('application/json')) {\r\n //now check the 404 and 401 types\r\n if (response.status === 401) {\r\n //check if it is relative or going back to the same domain as the window\r\n if (response.url.startsWith(\"/\") || response.url.includes(window.location.hostname)) {\r\n throw new SessionExpirationException('Session Expired');\r\n } else {\r\n throw new Error('Access Unauthorized - 401');\r\n }\r\n } else if (response.status === 404) {\r\n //check if it is relative or going back to the same domain as the window\r\n if (response.url.startsWith(\"/\") || response.url.includes(window.location.hostname)) {\r\n //do nothing, this will be handled as part of the handleCustomExceptions\r\n } else {\r\n throw new Error('Access Unauthorized - 404');\r\n }\r\n }\r\n return response;\r\n } else {\r\n //now we know it was not json let's check HTTP codes\r\n //first check if it is a known no content and retun an empty JSON object\r\n if (response.status===\"204\" || response.status===204) {\r\n return emptyJSON;\r\n }\r\n else if (!response.ok) {\r\n throw new Error(\"Unusable response data from: \" + response.url + \" status code: \" + response.status + \" statusText: \" + response.statusText);\r\n } else {\r\n //the request is okay, maybe it is a suitable content type that can still be parsed\r\n // eslint-disable-next-line\r\n if ((contentType.slice(0, 5) === 'text/') || (contentType.slice === 'application/javascript') || (contentType.slice === 'application/ld+json')) {\r\n if (JSON.parse(response.text())) {\r\n return response;\r\n }\r\n else {\r\n // eslint-disable-next-line\r\n throw new Error(\"JSON response data from: \" + response.url + \" was unparseable, contentType: \" + contentType + \" status code: \" + response.status);\r\n }\r\n } else {\r\n // eslint-disable-next-line\r\n throw new Error(\"Response data from: \" + response.url + \" was wrong contentType, expected application/json, got contentType: \" + contentType + \" status code: \" + response.status);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\nconst buildSpanLinkLookup = () => {\r\n //now append that authstate to any links that have the appendAuthState class assigned\r\n let template = document.getElementById('spanLinkLookup');\r\n let nodeList = template ? template.content.querySelectorAll('span.spanLinkLookup') : null;\r\n if (nodeList && nodeList.length > 0) {\r\n Object.values(nodeList).forEach(function (node) {\r\n //now insert the looks based on position of template placeholders\r\n let spantext = node.innerHTML;\r\n let segments = spantext.split('{{$s}}');\r\n let message = messageMap[node.getAttribute('id')]\r\n //makes sure any strings are turned in Arrays because we are going to match their length\r\n if (!Array.isArray(message)) {\r\n message = [message];\r\n }\r\n //match the sizes of the arrays, message needs to be one less to fill in\r\n // all the elements in segements\r\n while ((message.length) < segments.length - 1) {\r\n message.push(\"\");\r\n }\r\n //now make sure segments wasn't short\r\n while ((segments.length - 1) < message.length) {\r\n segments.push(\"\");\r\n }\r\n //now finger weave the 2 arrays together with message going inside the segments,\r\n //the last element has nothing added because we are finger weaving a small into larger\r\n let output = segments.map((element, index) => {\r\n if (index + 1 === segments.length) {\r\n return element;\r\n } else {\r\n return element + message[index];\r\n }\r\n })\r\n //eslint-disable-next-line no-param-reassign\r\n node.innerHTML = output.join('');\r\n\r\n })\r\n }\r\n\r\n}\r\n\r\nconst ensureAuthState = () => {\r\n const urlparams = new URLSearchParams(window.location.search);\r\n const authstate = urlparams.get('authstate');\r\n const beenhere = urlparams.get('beenhere');\r\n const host = window.location.hostname;\r\n const localhost = host.indexOf('localhost') || host.indexOf('127.0.0.1') || host.indexOf('::1');\r\n //try a quick redirect if we got here somehow without authstate, but only do it once\r\n if ((!authstate && !beenhere && !localhost)) {\r\n window.location.replace(\"/?beenhere=1\");\r\n }\r\n\r\n if (authstate) {\r\n //now append that authstate to any links that have the appendAuthState class assigned\r\n let normalLinks = document.querySelectorAll('a.appendAuthState');\r\n let template = document.getElementById('spanLinkLookup');\r\n let templateLinks = template ? template.content.querySelectorAll('a.appendAuthState') : null;\r\n\r\n let nodeList = [];\r\n //eslint-disable-next-line prefer-spread\r\n nodeList.push.apply(nodeList, normalLinks);\r\n //eslint-disable-next-line prefer-spread\r\n nodeList.push.apply(nodeList, templateLinks);\r\n \r\n if (nodeList && nodeList.length > 0) {\r\n Object.values(nodeList).forEach(function (node) {\r\n \r\n let href = node.getAttribute('href');\r\n if (!href.includes('authstate=')) {\r\n if (href.includes('?')) {\r\n href = href + \"&authstate=\" + authstate;\r\n } else {\r\n href = href + \"?authstate=\" + authstate;\r\n }\r\n node.setAttribute('href', href);\r\n }\r\n })\r\n }\r\n }\r\n\r\n return authstate;\r\n}\r\n\r\nconst pageManager = {\r\n 'authstate': null\r\n}\r\n\r\nfunction showSessionModal() {\r\n var sessionExpiredModal = new window.bootstrap.Modal(document.getElementById('staticBackdrop'));\r\n sessionExpiredModal.toggle();\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n buildSpanLinkLookup();\r\n pageManager.authstate = ensureAuthState();\r\n});\r\n\r\nfunction handleCustomExceptions(response) {\r\n // check if this is a custom Error, order matters because customs ARE Errors as well\r\n // and need to be checked first\r\n // inputs could be either existing errors or reponse calls with error kind.\r\n //Do the best to translate\r\n\r\n \r\n \r\n if ((response instanceof TimeoutException) ||\r\n (response instanceof NotFoundException) ||\r\n (response instanceof ShowableException) ||\r\n (response instanceof GenericException)) {\r\n //don't do anything, the expection is already good re-throw\r\n throw response\r\n }\r\n\r\n if (response instanceof SessionExpirationException) {\r\n //show the session timeout modal\r\n showSessionModal();\r\n throw response\r\n }\r\n\r\n // check if this is a basic Error that we know is safe to show the user based on it's message\r\n if (response instanceof Error) {\r\n switch (response.message) {\r\n //this is a known timeout\r\n case 'DOMException: Aborted':\r\n throw new TimeoutException(timeoutMessage);\r\n case 'AbortError: Aborted':\r\n throw new TimeoutException(timeoutMessage);\r\n case 'Aborted':\r\n throw new TimeoutException(timeoutMessage);\r\n default:\r\n throw response;\r\n }\r\n }\r\n\r\n //check for a 204 - no content but no error\r\n if (response.status === 204) {\r\n return;\r\n }\r\n\r\n // now try to figure out custom Error kinds and map to the right exception\r\n const responseAsString = JSON.stringify(response);\r\n if (!responseAsString) {\r\n throw new GenericException(\"Did not get a Kind-Response-Error, got response as undefined on stringify\");\r\n }\r\n\r\n if ((response.kind && (response.kind.toLowerCase() === 'error' || response.kind.toLowerCase().endsWith('error'))) ||\r\n (response.type && (response.type.toLowerCase() === 'error' || response.type.toLowerCase().endsWith('error')))\r\n ) {\r\n //check if there is a redirect before assigning a code\r\n if (response.redirect) {\r\n window.location.assign(response.redirect);\r\n return;\r\n }\r\n let code = response.code ? String(response.code) : \"0\";\r\n let message = '';\r\n let fields = [];\r\n\r\n if (response.message) {\r\n message = messageMap[code] ? messageMap[code] : response.message;\r\n } else {\r\n message = messageMap[code] ? messageMap[code] : code;\r\n }\r\n\r\n //replace field names if needed\r\n if (message.includes(\"{{field}}\") && response.fields) {\r\n let arrNames = [];\r\n response.fields.forEach((field) => {\r\n arrNames.push(field.name);\r\n fields.push(field.name);\r\n })\r\n message = message.replace(\"{{field}}\", arrNames.join(\", \"));\r\n }\r\n\r\n throw new MetaException(code, message, fields, response);\r\n }\r\n else {\r\n // eslint-disable-next-line\r\n const snippet = responseAsString.slice(0, responseAsString.length > 200 ? 200 : responseAsString.length);\r\n throw new GenericException(\"Did not get a Kind-Response-Error, got: \" + snippet);\r\n }\r\n\r\n}\r\n\r\n//timeout is in seconds\r\n// eslint-disable-next-line max-len\r\nconst vv_fetch = async (URL, requestBody, responseCB, failCB, responseKind, method = 'POST', timeout = defaultTimeout) => {\r\n const options = {\r\n signal: Timeout(timeout).signal,\r\n method: method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-VaultVision-CSRF-Nonce': window.vv_csrftoken,\r\n 'Accept': 'application/json',\r\n },\r\n }\r\n if (!method || typeof method !== 'string' || (method.toUpperCase() !== 'GET' && method.toUpperCase() !== 'HEAD')) {\r\n options['body'] = JSON.stringify(requestBody);\r\n }\r\n\r\n await fetch(URL, options)\r\n .then(handleJSONRequestErrors)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then((jsonResponse) => {\r\n \r\n if ((jsonResponse.kind && (jsonResponse.kind.toLowerCase() === 'error' || jsonResponse.kind.toLowerCase().endsWith('error'))) ||\r\n (jsonResponse.type && (jsonResponse.type.toLowerCase() === 'error' || jsonResponse.type.toLowerCase().endsWith('error')))\r\n ) {\r\n \r\n handleCustomExceptions(jsonResponse);\r\n }\r\n else {\r\n responseCB(jsonResponse);\r\n return;\r\n }\r\n })\r\n .catch(error => {\r\n //on last chance to handle a known custom error\r\n handleCustomExceptions(error);\r\n throw error;\r\n })\r\n .catch(function (err) {\r\n failCB(err);\r\n });\r\n}\r\n\r\nconst vv_fetch_state = (URL, requestBody, method = \"POST\", timeout = defaultTimeout) => {\r\n const options = {\r\n signal: Timeout(timeout).signal,\r\n method: method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-VaultVision-CSRF-Nonce': window.vv_csrftoken,\r\n 'Accept': 'application/json',\r\n },\r\n }\r\n if (!method || typeof method !== 'string' || (method.toUpperCase() !== 'GET' && method.toUpperCase() !== 'HEAD')) {\r\n options['body'] = JSON.stringify(requestBody);\r\n }\r\n\r\n return fetch(URL, options)\r\n .then(handleJSONRequestErrors)\r\n .then(response => response.json())\r\n .then((jsonResponse) => {\r\n if ((jsonResponse.kind && (jsonResponse.kind.toLowerCase() === 'error' || jsonResponse.kind.toLowerCase().endsWith('error'))) ||\r\n (jsonResponse.type && (jsonResponse.type.toLowerCase() === 'error' || jsonResponse.type.toLowerCase().endsWith('error')))\r\n ) {\r\n \r\n handleCustomExceptions(jsonResponse);\r\n }\r\n \r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n \r\n //on last chance to handle a known custom error\r\n handleCustomExceptions(error);\r\n throw error;\r\n });\r\n}\r\n\r\n\r\nfunction generateCSV(array) {\r\n \r\n var keys = Object.keys(array[0]);\r\n var csv = keys.join(\"\\,\") + \"\\n\";\r\n array.forEach(function (obj) {\r\n csv += keys.map(k => {\r\n if (typeof obj[k] === \"object\" && obj[k] !== null) {\r\n let value = `\"${Object.values(obj[k]).join(\",\")}\"`;\r\n return value;\r\n }\r\n return obj[k];\r\n }).join(\"\\,\") + \"\\n\";\r\n });\r\n return csv;\r\n}\r\n\r\nfunction detectWebAuthnSupport() {\r\n return new Promise((resolve, reject) => {\r\n\r\n if (window.PublicKeyCredential) {\r\n window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()\r\n .then((available) => {\r\n if (available) {\r\n resolve(\"platform supported\");\r\n } else {\r\n resolve(\"supported but no platform\");\r\n }\r\n })\r\n .catch((err) => reject(new Error('not supported')));\r\n } else {\r\n reject(new Error('not supported'));\r\n }\r\n\r\n })\r\n}\r\n\r\n\r\nfunction bufToStr(buf) {\r\n return String.fromCharCode.apply(null, new Uint8Array(buf));\r\n}\r\n\r\n//used for webauthn\r\nfunction b64Decode(value) {\r\n const v = value.replace(/-/g, '+').replace(/_/g, '/');\r\n return Uint8Array.from(atob(v), c => c.charCodeAt(0));\r\n}\r\n\r\nfunction b64Encode(value) {\r\n return btoa(String.fromCharCode.apply(null, new Uint8Array(value)))\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\")\r\n .replace(/=/g, \"\");\r\n}\r\n\r\n//used for normal UTF-8 strings\r\nfunction b64_to_utf8(str) {\r\n return decodeURIComponent(escape(window.atob(str)));\r\n}\r\nfunction utf8_to_b64(str) {\r\n return window.btoa(unescape(encodeURIComponent(str)));\r\n}\r\n\r\nfunction splitAndTrim(urls) {\r\n return urls.split(/[\\,\\t\\n]/).map((url) => url.trim());\r\n}\r\n\r\nfunction validateArrayUrl(urlStrip) {\r\n //split the array on comma, tab, and newline\r\n let urls = urlStrip.split(/[\\,\\t\\n]/);\r\n //map the array through validation to get an array of trues and falses\r\n let checked = urls.map((url) => validateURL(url.trim()));\r\n //return false if there is even one false\r\n return checked.every(Boolean);\r\n}\r\n\r\n\r\nasync function logError(error) {\r\n\r\n let support = await detectWebAuthnSupport();\r\n\r\n let userstate = { 'location': window.location.href, 'message': '', 'data': {} };\r\n userstate.data.typeof = typeof (error);\r\n userstate.data.userAgent = window.navigator.userAgent;\r\n userstate.data.userAgentData = JSON.stringify(window.navigator.userAgentData);\r\n userstate.data.cookieEnabled = JSON.stringify(window.navigator.cookieEnabled);\r\n userstate.data.webAuthnSupport = support;\r\n userstate.data.referrer = document.referrer;\r\n\r\n if (error) {\r\n if (error.message) {\r\n userstate.message = String(error.message);\r\n }\r\n if (error.stack) {\r\n userstate.data.stack = String(error.stack);\r\n }\r\n if (error.columnNumber) {\r\n userstate.data.columnNumber = String(error.columnNumber);\r\n }\r\n if (error.fileName) {\r\n userstate.data.fileName = String(error.fileName);\r\n }\r\n if (error.lineNumber) {\r\n userstate.data.lineNumber = String(error.lineNumber);\r\n }\r\n if (error.name) {\r\n userstate.data.name = String(error.name);\r\n }\r\n if (error.code) {\r\n userstate.data.code = String(error.code);\r\n }\r\n }\r\n\r\n function successCB(response) {\r\n }\r\n\r\n function finishCB(finishResponse) {\r\n }\r\n\r\n vv_fetch(vvenc`/v1/report`, userstate, successCB, finishCB, 'remove', 'POST');\r\n}\r\n\r\n\r\nfunction formatTime(UTCString) {\r\n var d = new Date(UTCString);\r\n var currentHour = d.getHours();\r\n}\r\n\r\nfunction makeInvalid(name){\r\n let fields = null;\r\n if(typeof(name) === \"string\"){\r\n fields = document.querySelectorAll(name);\r\n for (let i=0; i < fields.length; i=i+1) {\r\n fields[i].classList.remove('is-valid');\r\n fields[i].classList.add('is-invalid');\r\n if (fields[i].form) {\r\n fields[i].form.classList.remove('was-validated');\r\n }\r\n }\r\n } else if (name) {\r\n fields = name;\r\n fields.classList.remove(\"is-valid\");\r\n fields.classList.add(\"is-invalid\");\r\n \r\n //fields.form.classList.remove(\"was-validated\");\r\n }\r\n}\r\n\r\nfunction clearInputValidation(form) {\r\n form.classList.remove(\"was-validated\");\r\n let inputEls = form.querySelectorAll(\".is-invalid\");\r\n //removes .is-invalid class\r\n inputEls.forEach(formInput => {\r\n formInput.classList.remove('is-invalid');\r\n })\r\n inputEls = form.querySelectorAll(\".is-valid\");\r\n //removes .is-valid class\r\n inputEls.forEach(formInput => {\r\n formInput.classList.remove('is-valid');\r\n })\r\n}\r\n\r\nfunction handleExport (data){\r\n if(data.length > 0){\r\n const csv = generateCSV(data);\r\n const a = document.createElement(\"a\");\r\n a.href = URL.createObjectURL(new Blob([csv], { type: \"text/csv\" }));\r\n a.setAttribute(\"download\", `vv-${Date.now()}.csv`);\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a); \r\n }\r\n} \r\nfunction addTracking(goalId, rev) {\r\n let mtmimg = document.getElementById('mtmimg');\r\n if (mtmimg && window.location.host.toLowerCase() === 'auth.vaultvision.com') {\r\n let vv_pk_id = document.cookie.split('; ').filter(x => x.startsWith(\"_pk_id\"));\r\n //[\"_pk_id.1.1fff=518558de9068b852.1659981196.\"]\r\n //want \"518558de9068b852\"\r\n if (vv_pk_id && vv_pk_id.length > 0 && vv_pk_id[0].includes(\"=\")) {\r\n vv_pk_id = decodeURIComponent(vv_pk_id[0].split(\"=\")[1]).split(\".\")[0];\r\n } //else leave as is and let it log \r\n\r\n /* eslint-disable no-underscore-dangle */\r\n let _rcn = \"\";\r\n let _rck = \"\";\r\n\r\n try {\r\n _rcn = b64_to_utf8(getCookie(\"_rcn\"));\r\n _rck = b64_to_utf8(getCookie(\"_rck\"));\r\n } catch {\r\n //no catch, just means cookie is corrupt\r\n }\r\n\r\n let imgsrc = vv_c.VV_MATOMO_URL + \"&action_name=\"\r\n + fixedEncodeURIComponent(window.location.pathname.toLowerCase());\r\n if (vv_pk_id) {\r\n imgsrc = imgsrc + \"&_id=\" + fixedEncodeURIComponent(String(vv_pk_id));\r\n }\r\n if (_rcn) {\r\n imgsrc = imgsrc + \"&_rcn=\" + fixedEncodeURIComponent(String(_rcn));\r\n }\r\n if (_rck) {\r\n imgsrc = imgsrc + \"&_rck=\" + fixedEncodeURIComponent(String(_rck));\r\n }\r\n if (goalId) {\r\n imgsrc = imgsrc + \"&idgoal=\" + fixedEncodeURIComponent(String(goalId));\r\n }\r\n //check float\r\n if (rev && !Number.isNaN(rev) && parseFloat(rev) < 100000) {\r\n imgsrc = imgsrc + \"&revenue=\" + fixedEncodeURIComponent(String(rev));\r\n }\r\n mtmimg.src = imgsrc;\r\n /* eslint-enable no-underscore-dangle */\r\n }\r\n\r\n\r\n}\r\n\r\nfunction highlightFields(fields, fieldFormMap) {\r\n //fields is an array\r\n // ['require_mfa', 'privacy_policy_version', 'handle_if_missing']\r\n if (fields && fields.length > 0) {\r\n const invalidIds = fields.map((field) => {\r\n return fieldFormMap[field]; \r\n });\r\n if (invalidIds && invalidIds.length > 0) {\r\n invalidIds.forEach((id) => {\r\n makeInvalid(id);\r\n })\r\n }\r\n }\r\n}\r\nconst vv_utils = {\r\n addFormAndMachineServiceChangeAndInputHandlers,\r\n clearalert,\r\n showalert,\r\n showErrors,\r\n AttachAndSendFormEventsToMachineService,\r\n handleJSONRequestErrors,\r\n Timeout,\r\n defaultTimeout,\r\n messageMap,\r\n ShowableException,\r\n TimeoutException,\r\n NotFoundException,\r\n GenericException,\r\n MetaException,\r\n buildSpanLinkLookup,\r\n ensureAuthState,\r\n pageManager,\r\n handleCustomExceptions,\r\n vv_fetch,\r\n detectWebAuthnSupport,\r\n bufToStr,\r\n b64Decode,\r\n b64Encode,\r\n b64_to_utf8,\r\n utf8_to_b64,\r\n fixedEncodeURIComponent,\r\n vvenc,\r\n splitAndTrim,\r\n validateArrayUrl,\r\n generateCSV,\r\n logError,\r\n makeInvalid,\r\n clearInputValidation,\r\n addTracking,\r\n vv_fetch_state,\r\n showStateErrors,\r\n highlightFields\r\n};\r\n\r\nexport default vv_utils;\r\n","import vv_utils from './vv_utils';\r\nimport {simpleInvokeMachine, fullInvokeMachine} from \"./vv_api\";\r\n\r\n/*-----------------------------------------------\r\n| Verify Account\r\n-----------------------------------------------*/\r\n\r\nconst verifyInit_onStart = () => {\r\n\r\n const alertbox = document.getElementById(\"split-alert\");\r\n const { interpret } = window.XState;\r\n\r\n //used as a catch-all to allow button elements to submit a form without the ACTION\r\n function formSubmit(e) {\r\n if (e.preventDefault) e.preventDefault();\r\n }\r\n\r\n function doVerify() {\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/email/verify`, \r\n { \r\n \"send\": true,\r\n }, \"POST\");\r\n }\r\n\r\n const verifyMachine = interpret(\r\n simpleInvokeMachine.withConfig({\r\n actions : {\r\n actionFailed: (context, event) => {\r\n \r\n if (context.error && (context.error.code==='request_invalid' || context.error.code==='request_rate_limit')) {\r\n let retrySeconds = \"10\";\r\n if (context.error.response && context.error.response.retry_after_seconds && !Number.isNaN(parseInt(context.error.response.retry_after_seconds, 10))) {\r\n retrySeconds = context.error.response.retry_after_seconds;\r\n }\r\n vv_utils.showStateErrors(`The email send request can not be processed so soon, please wait ${retrySeconds} seconds and try again.`, {}, alertbox);\r\n } else {\r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error , alertbox);\r\n }\r\n\r\n },\r\n actionSucceeded: (context, event)=> {\r\n \r\n document.getElementById(\"verifyTitle\").innerText = \"Please check your inbox for the verification code\";\r\n let jsonResponse = context.data;\r\n vv_utils.clearalert(alertbox);\r\n\r\n if (jsonResponse.redirect) {\r\n vv_utils.showalert(\"Account verification succeeded, now redirecting you to our home application.\", \"primary\", alertbox);\r\n setTimeout( () => {window.location.assign(jsonResponse.redirect)} , 3000);\r\n }\r\n verifyMachine.send(\"IDLE\");\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n action_service: (context, event) => {return doVerify(context, event)}\r\n }\r\n })\r\n )\r\n .onTransition((state)=> {})\r\n .start();\r\n\r\n verifyMachine.send(\"FETCH\");\r\n\r\n document.getElementById(\"vvModalVerifyCodeResendBtn\").addEventListener('click', (e) => {\r\n e.preventDefault();\r\n document.getElementById(\"verifyTitle\").innerText = \"Re-sending now...\";\r\n verifyMachine.send(\"FETCH\");\r\n })\r\n\r\n\r\n //Modal VerificationCode Update\r\n const vvModalVerifyCodeForm = document.getElementById(\"vvModalVerifyCodeForm\");\r\n const vvModalVerifyCodeFeedback = document.getElementById('vvModalVerifyCodeFeedback');\r\n const vvModalVerifyCodeUpdateSaveBtn = document.getElementById('vvModalVerifyCodeUpdateSaveBtn');\r\n\r\n const verificationcodeFieldFormMap = {\r\n 'code': '#verificationcode',\r\n }\r\n \r\n\r\n function checkVerificationCodeValidity() {\r\n return new Promise((resolve, reject) => {\r\n \r\n let vvModalVerifyCodeText = document.getElementById(\"verificationcode\");\r\n let valid = true;\r\n\r\n //should be a 6 digit string\r\n //eslint-disable-next-line\r\n vvModalVerifyCodeText.value = vvModalVerifyCodeText.value.replace(/[^\\d]+/g, '');\r\n if (vvModalVerifyCodeText.value && vvModalVerifyCodeText.value.length === 6 && /^\\d+$/.test(vvModalVerifyCodeText.value)) {\r\n //\r\n } else {\r\n valid = false;\r\n vv_utils.makeInvalid(vvModalVerifyCodeText);\r\n }\r\n\r\n if (valid) {\r\n return resolve(\"valid\");\r\n } else {\r\n return reject(new Error('not valid'));\r\n }\r\n })\r\n }\r\n\r\n function updateVerificationCode(context, event) {\r\n \r\n //in the future pass the verificationcode value through state machine \r\n let verificationcode = document.getElementById('verificationcode').value;\r\n return vv_utils.vv_fetch_state(vv_utils.vvenc`/v1/settings/email/verify`, \r\n { \r\n \"code\": verificationcode, \r\n \"send\": false,\r\n }, \"POST\");\r\n }\r\n\r\n const updateVerificationCodeMachine = interpret(\r\n fullInvokeMachine.withConfig({\r\n actions: {\r\n loaded: () => {\r\n \r\n },\r\n message: (context, event) => {\r\n //\r\n vv_utils.clearInputValidation(vvModalVerifyCodeForm);\r\n vv_utils.clearalert(alertbox);\r\n\r\n },\r\n validationFailed: () => {\r\n vv_utils.showalert(\"There are validation errors, fix fields highlighted in red and submit again.\", \"danger\", alertbox);\r\n },\r\n validationSucceeded: () => {\r\n updateVerificationCodeMachine.send(\"PERFORM_ACTION\");\r\n },\r\n actionFailed: (context, event) => {\r\n if (context.error && context.error.fields) { \r\n vv_utils.highlightFields(context.error.fields, verificationcodeFieldFormMap);\r\n }\r\n if (context.error) { \r\n \r\n vv_utils.logError(context.error);\r\n \r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n }\r\n },\r\n actionSucceeded: (context, event) => {\r\n \r\n if (context.data.redirect) {\r\n window.location.assign(context.data.redirect);\r\n return;\r\n } \r\n vv_utils.showalert(\"Updated successfully.\", \"primary\", alertbox);\r\n //add a tiny delay to allow clears before modal showing\r\n setTimeout(function () {\r\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\r\n }, 2000);\r\n }\r\n },\r\n services: {\r\n //eslint-disable-next-line\r\n validate_service: (context, event) => checkVerificationCodeValidity(context, event),\r\n action_service: (context, event) => updateVerificationCode(context, event)\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n\r\n //eslint-disable-next-line\r\n vv_utils.AttachAndSendFormEventsToMachineService(vvModalVerifyCodeForm, updateVerificationCodeMachine, 'input', 'input');\r\n //eslint-disable-next-line\r\n vv_utils.addFormAndMachineServiceChangeAndInputHandlers(vvModalVerifyCodeForm, updateVerificationCodeMachine, formSubmit);\r\n\r\n updateVerificationCodeMachine.send(\"LOAD_COMPLETE\");\r\n\r\n vvModalVerifyCodeUpdateSaveBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n updateVerificationCodeMachine.send(\"SUBMIT\");\r\n })\r\n\r\n ///////////////////////////\r\n\r\n}\r\n\r\nexport default {verifyInit_onStart};\r\n","import vv_utils from './vv_utils';\r\nimport { threeStepInvokeMachine } from \"./vv_api\";\r\n/* Register New\r\nconst req = {\r\n 'name' : name,\r\n 'email': email,\r\n 'agreements': terms\r\n}\r\n*/\r\n/* Login New\r\nconst req = {\r\n 'provider': submitter.value,\r\n 'email': email\r\n}\r\n*/\r\nasync function requestWebAuthn(req, type, alertbox) {\r\n\r\n let support = await vv_utils.detectWebAuthnSupport();\r\n if(support==='not supported') {\r\n throw new vv_utils.ShowableException(\"WebAuthn is not supported in this browser.\");\r\n }\r\n\r\n const { interpret } = window.XState;\r\n\r\n let beginURL = `/v1/auth/webauthn/signup/begin`;\r\n let finishURL = `/v1/auth/webauthn/signup/finish`;\r\n if (JSON.stringify(req) === '{}' && type === \"register\") {\r\n beginURL = \"/v1/settings/webauthn/begin\";\r\n finishURL = \"/v1/settings/webauthn/finish\";\r\n } else if (type === \"login\") {\r\n beginURL = \"/v1/auth/webauthn/login/begin\";\r\n finishURL = \"/v1/auth/webauthn/login/finish\";\r\n }\r\n\r\n function beginWebAuthn(context, event) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n resolve(vv_utils.vv_fetch_state(beginURL, req));\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n }\r\n\r\n function requestNavigatorCreds(context, event) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n \r\n let beginRes = Object.assign({}, context.first_data);\r\n beginRes.options.challenge = vv_utils.b64Decode(beginRes.options.challenge);\r\n if (type === \"register\") {\r\n beginRes.options.user.id = vv_utils.b64Decode(beginRes.options.user.id);\r\n if (navigator.userAgent.toLowerCase().includes(\"android\")) {\r\n beginRes.options.authenticatorSelection.requireResidentKey = false;\r\n beginRes.options.authenticatorSelection.userVerification = \"discouraged\";\r\n //delete beginRes.options.authenticatorSelection.userVerification;\r\n }\r\n \r\n resolve(\r\n navigator.credentials.create({\r\n publicKey: beginRes.options\r\n })\r\n );\r\n } else {\r\n beginRes.options.allowCredentials.forEach(function (v) {\r\n //eslint-disable-next-line no-param-reassign\r\n v.id = vv_utils.b64Decode(v.id);\r\n });\r\n if (navigator.userAgent.toLowerCase().includes(\"android\")) {\r\n beginRes.options.userVerification = \"discouraged\";\r\n }\r\n \r\n resolve(\r\n navigator.credentials.get({\r\n publicKey: beginRes.options\r\n })\r\n );\r\n }\r\n\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n }\r\n\r\n\r\n /* eslint-disable max-len */\r\n function finishWebAuthn(context, event) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n \r\n const credential = context.second_data;\r\n var clientDataStr = vv_utils.bufToStr(credential.response.clientDataJSON);\r\n var clientDataObj = JSON.parse(clientDataStr);\r\n\r\n \r\n \r\n\r\n const finishReq = {\r\n token: context.first_data.token,\r\n credential: {\r\n type: credential.type,\r\n id: credential.id,\r\n rawId: vv_utils.b64Encode(new Uint8Array(credential.rawId)),\r\n response: {\r\n clientDataJSON: vv_utils.b64Encode(\r\n new Uint8Array(credential.response.clientDataJSON)),\r\n },\r\n },\r\n }\r\n if (type === \"login\") {\r\n finishReq.email = req.email;\r\n finishReq.credential.response.authenticatorData = vv_utils.b64Encode(credential.response.authenticatorData);\r\n finishReq.credential.response.signature = vv_utils.b64Encode(new Uint8Array(credential.response.signature));\r\n finishReq.credential.response.userHandle = vv_utils.b64Encode(new Uint8Array(credential.response.userHandle));\r\n } else {\r\n finishReq.credential.response.attestationObject = vv_utils.b64Encode(new Uint8Array(credential.response.attestationObject));\r\n }\r\n \r\n resolve(vv_utils.vv_fetch_state(finishURL, finishReq));\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n\r\n }\r\n /* eslint-enable max-len */\r\n\r\n return new Promise((resolve, reject) => {\r\n /* eslint-disable max-len */\r\n const passkeyService = interpret(\r\n threeStepInvokeMachine.withConfig({\r\n actions: {\r\n actionFailed: (context, event) => {\r\n \r\n vv_utils.logError(context.error);\r\n vv_utils.showStateErrors(\"There was an unexpected error\", context.error, alertbox);\r\n reject(context.error);\r\n },\r\n actionSucceeded: (context, event) => {\r\n resolve(context.third_data);\r\n }\r\n },\r\n services: {\r\n first_action_service: (context, event) => beginWebAuthn(context, event),\r\n second_action_service: (context, event) => requestNavigatorCreds(context, event),\r\n third_action_service: (context, event) => finishWebAuthn(context, event),\r\n }\r\n })\r\n )\r\n .onTransition((state) => { })\r\n .start();\r\n /* eslint-enable max-len */\r\n\r\n passkeyService.send(\"FIRST\", req);\r\n });\r\n\r\n\r\n}","/* -------------------------------------------------------------------------- */\r\n/* Version: %%GULP_INJECT_VERSION%% */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nimport { docReady, getCookie } from './utils';\r\n// import setTenantData from './vv_setTenantData';\r\n// docReady(setTenantData);\r\n//import handleNavbarVerticalCollapsed from './navbar-vertical';\r\nimport detectorInit from './detector';\r\nimport tooltipInit from './tooltip';\r\nimport popoverInit from './popover';\r\n//import navbarTopDropShadow from './navbar-top';\r\nimport toastInit from './toast';\r\n//import formValidationInit from './form-validation';\r\n//import navbarDarkenOnScroll from './navbar-darken-on-scroll';\r\n//import navbarComboInit from './navbar-combo';\r\n//import searchInit from './search';\r\nimport themeControl from './theme-control';\r\nimport dropdownOnHover from './dropdown-on-hover';\r\nimport scrollbarInit from './scrollbar';\r\nimport iconCopiedInit from './icons';\r\nimport dropdownMenuInit from './dropdown-menu';\r\n//import treeviewInit from './treeview';\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* VV Theme Imports */\r\n/* -------------------------------------------------------------------------- */\r\nimport vv_utils from './vv_utils';\r\nimport passwordShowHideInit from './vv_passwordShowHide';\r\nimport changeLogoDimensions from './vv_changeLogoDimensions';\r\nimport registerValidationInit from './vv_registerValidation';\r\nimport resetValidationInit from './vv_resetValidation';\r\nimport forgotPasswordInit from './vv_forgotpassword';\r\nimport loginValidationInit from './vv_loginValidation';\r\nimport { verifyInit, verifyInit_onStart } from './vv_verify';\r\nimport {errorDetailsInit_onStart} from \"./vv_errorDetails\";\r\nimport {consentDetailsInit_onStart} from \"./vv_consentDetails\";\r\nimport {supportInit_onStart} from \"./vv_support\";\r\nimport {settingsInit_onStart} from \"./vv_settings\";\r\nimport {mfaEnrollInit_onStart} from \"./vv_mfaEnroll\";\r\nimport {mfaVerifyInit_onStart} from \"./vv_mfaVerify\";\r\nimport {settingsdebugInit_onStart} from \"./vv_settingsdebug\";\r\n\r\nimport vv_c from \"./vv_c\";\r\n\r\nconst CONFIG = {\r\n isNavbarVerticalCollapsed: false,\r\n theme: 'light',\r\n // isRTL: false,\r\n // isFluid: false,\r\n // navbarStyle: 'transparent',\r\n // navbarPosition: 'vertical'\r\n};\r\n\r\nObject.keys(CONFIG).forEach(key => {\r\n if (localStorage.getItem(key) === null) {\r\n localStorage.setItem(key, CONFIG[key]);\r\n }\r\n});\r\n\r\nif (!!JSON.parse(localStorage.getItem('isNavbarVerticalCollapsed'))) {\r\n document.documentElement.classList.add('navbar-vertical-collapsed');\r\n}\r\n\r\nif (localStorage.getItem('theme') === 'dark') {\r\n document.documentElement.classList.add('dark');\r\n}\r\n\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* Theme Initialization */\r\n/* -------------------------------------------------------------------------- */\r\ndocReady(detectorInit);\r\n//docReady(handleNavbarVerticalCollapsed);\r\n//docReady(navbarTopDropShadow);\r\ndocReady(tooltipInit);\r\ndocReady(popoverInit);\r\ndocReady(toastInit);\r\n//docReady(formValidationInit);\r\n//docReady(navbarDarkenOnScroll);\r\n//docReady(navbarComboInit);\r\n//docReady(searchInit);\r\ndocReady(themeControl);\r\ndocReady(dropdownOnHover);\r\ndocReady(scrollbarInit);\r\ndocReady(iconCopiedInit);\r\ndocReady(dropdownMenuInit);\r\n//docReady(treeviewInit);\r\n/* -------------------------------------------------------------------------- */\r\n/* VV Theme Initialization */\r\n/* -------------------------------------------------------------------------- */\r\ndocReady(passwordShowHideInit);\r\ndocReady(changeLogoDimensions);\r\n\r\ndocReady( () => {\r\n \r\n const urlparams = new URLSearchParams(window.location.search);\r\n const action = urlparams.get(\"vv_action\");\r\n const getStartedGoalId = \"1\";\r\n if (action && action === \"register\") {\r\n vv_utils.addTracking(getStartedGoalId, \"\");\r\n } else {\r\n vv_utils.addTracking(\"\", \"\");\r\n }\r\n});\r\n\r\n\r\ndocReady( () => {\r\n window.addEventListener(\"error\", function (e) {\r\n if (JSON.stringify(e) !== '{\"isTrusted\":true}') {\r\n \r\n \r\n vv_utils.logError(e.error);\r\n }\r\n return false;\r\n });\r\n\r\n window.onStartHandler = {\r\n \"verifyInit_onStart\" : verifyInit_onStart,\r\n \"supportInit_onStart\" : supportInit_onStart,\r\n \"errorDetailsInit_onStart\": errorDetailsInit_onStart,\r\n \"consentDetailsInit_onStart\": consentDetailsInit_onStart,\r\n \"registerValidationInit\":registerValidationInit,\r\n \"resetValidationInit\": resetValidationInit,\r\n \"forgotPasswordInit\": forgotPasswordInit,\r\n \"loginValidationInit\": loginValidationInit,\r\n \"mfaEnrollInit_onStart\": mfaEnrollInit_onStart,\r\n \"mfaVerifyInit_onStart\": mfaVerifyInit_onStart,\r\n \"settingsInit_onStart\": settingsInit_onStart,\r\n \"settingsdebugInit_onStart\": settingsdebugInit_onStart\r\n }\r\n});\r\n\r\ndocReady( () => {\r\n let onstart = document.getElementById('onstart');\r\n\r\n if (onstart && onstart.dataset && onstart.dataset.onstart) {\r\n window.onStartHandler[onstart.dataset.onstart]();\r\n }\r\n});\r\n"]}